Signatur
Beschreibung
fann_get_bias_array() liefert ein numerisches Array, dessen Elemente die Anzahl der Bias-Neuronen in jeder einzelnen Schicht (Layer) des gegebenen neuronalen Netzes angeben. Der Index entspricht dabei der Schichtnummer, beginnend bei 0 für den Eingabe-Layer.
Bias-Neuronen sind spezielle Neuronen, die immer den Wert 1 ausgeben und so als konstanter Offset für die Aktivierungsfunktion der nachfolgenden Schicht wirken. Sie ermöglichen es dem Netz, die Aktivierungsschwelle unabhängig von den Eingaben zu verschieben und verbessern damit die Lernfähigkeit des Modells.
Diese Funktion ist besonders nützlich, wenn man die interne Struktur eines bestehenden FANN-Netzwerks analysieren oder dokumentieren möchte, etwa beim Debuggen oder beim Vergleich verschiedener Netzwerk-Architekturen. Sie gehört zur FANN-Erweiterung (Fast Artificial Neural Network Library) für PHP.
Typischerweise hat jede Schicht außer dem Ausgabe-Layer genau ein Bias-Neuron. Das genaue Verhalten hängt jedoch davon ab, wie das Netzwerk erstellt wurde (z. B. mit fann_create_standard() oder fann_create_sparse()).
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $ann Pflicht | resource | Eine gültige FANN-Netzwerk-Ressource, wie sie von Funktionen wie fann_create_standard(), fann_create_sparse() oder fann_create_from_file() zurückgegeben wird. |
Rückgabewert
false zurück, wenn die Ressource ungültig ist.Beispiele
Bias-Neuronen eines Standard-Netzwerks ausgeben
<?php
// Erstelle ein einfaches Standard-Netzwerk: 3 Eingaben, 4 versteckte Neuronen, 2 Ausgaben
$ann = fann_create_standard(3, 3, 4, 2);
if ($ann) {
$biasArray = fann_get_bias_array($ann);
echo "Bias-Neuronen je Schicht:\n";
foreach ($biasArray as $layer => $biasCount) {
echo "Schicht $layer: $biasCount Bias-Neuron(en)\n";
}
fann_destroy($ann);
} else {
echo "Fehler beim Erstellen des Netzwerks.\n";
}
Netzwerkstruktur analysieren und mit Neuronen-Anzahl vergleichen
<?php
// Lade ein gespeichertes Netzwerk und analysiere die Struktur
$ann = fann_create_standard(4, 2, 5, 3, 1);
if ($ann) {
$neuronArray = fann_get_neuron_array($ann);
$biasArray = fann_get_bias_array($ann);
echo "Schicht | Neuronen gesamt | davon Bias\n";
echo str_repeat("-", 40) . "\n";
foreach ($neuronArray as $layer => $neuronCount) {
$bias = isset($biasArray[$layer]) ? $biasArray[$layer] : 0;
printf(" %3d | %3d | %3d\n", $layer, $neuronCount, $bias);
}
fann_destroy($ann);
}
// Wichtig · Fallstricke
Voraussetzung: Die FANN-Erweiterung muss installiert und aktiviert sein (extension=fann in der php.ini). Sie ist nicht im PHP-Kern enthalten und muss über PECL installiert werden.
Der Ausgabe-Layer (letzter Index) enthält in der Regel kein Bias-Neuron (Wert 0), da Bias-Neuronen nur auf nachfolgende Schichten wirken und der Ausgabe-Layer keine nachfolgende Schicht besitzt.
Bei ungültigem $ann-Handle gibt die Funktion false zurück. Es empfiehlt sich daher, den Rückgabewert mit === false zu prüfen, bevor das Array weiterverarbeitet wird.