Thema: Delphi Neuronales Netz

Einzelnen Beitrag anzeigen

AmonAddy
(Gast)

n/a Beiträge
 
#7

AW: Neuronales Netz

  Alt 19. Mai 2021, 18:33
Was sind denn "die Daten"? Die Property "Ausgabewert"? Da musst Du ja nur in einer Schleife das Neuronenarray durchgehen und für das aktuelle Element den "Ausgabewert" auslesen.
Ja, die Daten bekommt ein einzelnes Neuron aus der Property "Ausgabewert" mehrerer vorangegangener Neuronen. Meine Schierigkeit (ich kann mir das alles schlecht vorstellen) besteht im Aufbau des Netzes:

Wenn ich das Programm starte, wird das Netz angelegt. Die Neuronen sind dann in einem Array of TNeuron gespeichert (wie in den Schichten). Ich suche jetzt eine effiziente Möglichkeit, sowohl Neuronen als auch Verbindungen zu definieren. Denn die Ausgabe unterscheidet sich auch noch je nachdem, ob die Verb. erregend oder hemmend ist. Ich müsste also den weitergegebenen Daten neben ihrem Wert (0 oder 1) auch noch die Erregung der Verbindung beifügen. Allerdings können ja die Verbindungen unterschiedlich sein: Wenn mein Netz jetzt grundlegend so aussieht:
Code:
A  C
B  D
Dann sind A und B jeweils mit C und D verbunden. Nun kann aber die Verbindung AC erregend, und AD hemmend sein und abhängig davon unterscheidet sich die Ausgabe. Und mir fällt kein Weg ein, diese Erregung mit dem eigentlichen Wert unter einen Hut zu bringen, zumal sich die Neuronenanzahl je Schicht auch immer unterscheiden kann.


Also, du kannst zwar ein TArray<TNeuron> oder TList<TNeuron> in jedes Neuron einfügen, welche die Quelle der Daten sind,

aber andersrum ist es bestimmt auch nett, also ein Array/Liste mit den Neuronen, welche Daten erhalten,
denn dann kannst beim Durchgehen die Daten von dort weitergeben, wo du grade bist, anstatt sie abzuholen.



Empfehlen würde ich in jedem Neuron auch je einen Speicher für alten Wert und neuen Wert, da du dann beim Durchgehen der Neuronen so mit dem alten/vorhergehenden Werten rechnen kannst.
Wie könnte man dieses Abholen/Weitergeben am besten umsetzen?
  Mit Zitat antworten Zitat