Start · Sprachen · PHP · Referenz · fann_get_cascade_activation_steepnesses

fann_get_cascade_activation_steepnesses

Funktion

Gibt das Array der Aktivierungssteilheiten zurück, die beim Cascade-Correlation-Training verwendet werden.

Kategorie: misc

Signatur

fann_get_cascade_activation_steepnesses(resource $ann): array|false

Beschreibung

fann_get_cascade_activation_steepnesses liefert die aktuell konfigurierten Aktivierungssteilheiten (Steepness-Werte), die während des Cascade-Correlation-Trainings für Kandidaten-Neuronen eingesetzt werden. Diese Steilheiten bestimmen, wie stark die jeweilige Aktivierungsfunktion auf ihre Eingaben reagiert.

Beim Cascade-Correlation-Verfahren werden neue Neuronen aus einem Pool von Kandidaten ausgewählt. Jeder Kandidat wird mit verschiedenen Kombinationen aus Aktivierungsfunktionen und Steilheitswerten trainiert. Je mehr unterschiedliche Steilheitswerte angegeben sind, desto größer ist der Suchraum für die optimale Netzwerkerweiterung – allerdings steigt damit auch der Trainingsaufwand.

Die Funktion eignet sich zur Inspektion der aktuellen Netzwerk-Konfiguration sowie zur Dokumentation und zum Debugging von FANN-Netzwerken. Um die Steilheiten zu ändern, verwendet man fann_set_cascade_activation_steepnesses.

  • Typische Standardwerte sind [0.25, 0.5, 0.75, 1.0].
  • Werte nahe 0 erzeugen flachere, Werte nahe 1 steilere Aktivierungskurven.

Parameter

Name Typ Default Beschreibung
$ann Pflicht resource Eine gültige FANN-Netzwerk-Ressource, erzeugt z. B. mit fann_create_standard.

Rückgabewert

Typ
array|false
Beschreibung
Gibt ein numerisch indiziertes Array mit den konfigurierten Aktivierungssteilheiten (Fließkommazahlen) zurück, oder false im Fehlerfall (z. B. ungültige Ressource).

Beispiele

Aktuelle Aktivierungssteilheiten auslesen

<?php
// FANN-Netzwerk erstellen
$ann = fann_create_standard(3, 2, 3, 1);

if ($ann) {
    // Aktuelle Steilheiten ausgeben
    $steepnesses = fann_get_cascade_activation_steepnesses($ann);
    if ($steepnesses !== false) {
        echo "Aktivierungssteilheiten:" . PHP_EOL;
        foreach ($steepnesses as $index => $value) {
            echo "  [{$index}] => {$value}" . PHP_EOL;
        }
    } else {
        echo "Fehler beim Abrufen der Steilheiten." . PHP_EOL;
    }
    fann_destroy($ann);
}
Aktivierungssteilheiten: [0] => 0.25 [1] => 0.5 [2] => 0.75 [3] => 1

Steilheiten setzen und anschließend auslesen

<?php
$ann = fann_create_standard(3, 2, 4, 1);

if ($ann) {
    // Eigene Steilheiten definieren
    $neueSteilheiten = [0.5, 1.0, 1.5];
    fann_set_cascade_activation_steepnesses($ann, $neueSteilheiten);

    // Zur Kontrolle wieder auslesen
    $steepnesses = fann_get_cascade_activation_steepnesses($ann);
    if ($steepnesses !== false) {
        echo "Gesetzte Steilheiten: " . implode(', ', $steepnesses) . PHP_EOL;
    }
    fann_destroy($ann);
}
Gesetzte Steilheiten: 0.5, 1, 1.5

// Wichtig · Fallstricke

Diese Funktion ist nur verfügbar, wenn die FANN-Erweiterung installiert und aktiviert ist. Ab PHP 8.0 wird die FANN-Erweiterung nicht mehr aktiv gepflegt; prüfen Sie die Kompatibilität mit Ihrer PHP-Version.

Eine zu große Anzahl von Steilheitswerten in Kombination mit vielen Aktivierungsfunktionen kann das Cascade-Training erheblich verlangsamen, da jede Kombination für jeden Kandidaten evaluiert wird.