Start · Sprachen · PHP · Referenz · fann_get_rprop_delta_min

fann_get_rprop_delta_min

Funktion

Gibt die minimale Schrittweite (Delta-Min) des RPROP-Trainingsalgorithmus für ein neuronales Netz zurück.

Kategorie: misc

Signatur

fann_get_rprop_delta_min(resource $ann): float

Beschreibung

fann_get_rprop_delta_min liest den aktuell konfigurierten Mindestwert für die Schrittweite (delta min) des RPROP-Algorithmus (Resilient Backpropagation) aus einem neuronalen Netz aus. Der RPROP-Algorithmus passt die Gewichte eines neuronalen Netzes iterativ an, indem er individuelle Schrittweiten pro Gewicht verwendet, die sich nach dem Vorzeichen des Gradienten richten.

Die minimale Schrittweite verhindert, dass die Schrittweite eines Gewichts auf null sinkt, was den Lernprozess vollständig blockieren würde. Liegt der berechnete Deltawert unter diesem Mindestwert, wird stattdessen delta_min als untere Schranke verwendet.

Der Standardwert beträgt typischerweise 0.0 (kein Minimum erzwungen). Für viele Anwendungsfälle reicht der Standard aus; in bestimmten Trainingsszenarien kann jedoch ein leicht positiver Mindestwert (z. B. 1e-9) stabiles Konvergenzverhalten fördern. Der Wert kann mit fann_set_rprop_delta_min angepasst werden.

Diese Funktion ist Teil der FANN-Extension (Fast Artificial Neural Network Library) für PHP und erfordert, dass diese Extension installiert und aktiviert ist.

Parameter

Name Typ Default Beschreibung
$ann Pflicht resource Eine gültige FANN-Netz-Ressource, die zuvor mit Funktionen wie fann_create_standard oder fann_create_from_file erzeugt wurde.

Rückgabewert

Typ
float
Beschreibung
Gibt die aktuell eingestellte minimale Schrittweite (delta_min) des RPROP-Algorithmus als Gleitkommazahl zurück. Im Fehlerfall (z. B. ungültige Ressource) wird false zurückgegeben.

Beispiele

Minimale RPROP-Schrittweite auslesen

<?php
// Neuronales Netz erstellen: 2 Eingaben, 1 versteckte Schicht mit 3 Neuronen, 1 Ausgabe
$ann = fann_create_standard(3, 2, 3, 1);

if ($ann) {
    $delta_min = fann_get_rprop_delta_min($ann);
    echo "Aktuelle RPROP Delta-Min: " . $delta_min . PHP_EOL;

    // Mindestwert anpassen
    fann_set_rprop_delta_min($ann, 1.0e-9);
    echo "Neue RPROP Delta-Min: " . fann_get_rprop_delta_min($ann) . PHP_EOL;

    fann_destroy($ann);
} else {
    echo "Fehler beim Erstellen des neuronalen Netzes." . PHP_EOL;
}
?>
Aktuelle RPROP Delta-Min: 0 Neue RPROP Delta-Min: 1.0E-9

RPROP-Parameter vor dem Training protokollieren

<?php
$ann = fann_create_from_file('mein_netz.net');

if ($ann) {
    echo "RPROP-Konfiguration:" . PHP_EOL;
    echo "  Delta-Min : " . fann_get_rprop_delta_min($ann) . PHP_EOL;
    echo "  Delta-Max : " . fann_get_rprop_delta_max($ann) . PHP_EOL;
    echo "  Delta-Zero: " . fann_get_rprop_delta_zero($ann) . PHP_EOL;

    fann_destroy($ann);
}
?>
RPROP-Konfiguration: Delta-Min : 0 Delta-Max : 50 Delta-Zero: 0.1

// Wichtig · Fallstricke

Erfordert die FANN-Extension: Diese Funktion ist nur verfügbar, wenn die PHP-FANN-Extension installiert ist (pecl install fann). Sie ist nicht Bestandteil der PHP-Standardbibliothek.

Der RPROP-Algorithmus ist nur relevant, wenn als Trainingsalgorithmus FANN_TRAIN_RPROP gewählt wurde. Bei anderen Algorithmen (z. B. FANN_TRAIN_BACKPROP) hat delta_min keinen Effekt.

Ein Wert von 0.0 bedeutet, dass keine untere Schranke für die Schrittweite erzwungen wird, was in der Praxis selten problematisch ist. Sehr kleine positive Werte können helfen, numerische Instabilitäten bei extrem kleinen Gradienten zu vermeiden.