AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Neuronales Netz

Ein Thema von AmonAddy · begonnen am 19. Mai 2021 · letzter Beitrag vom 26. Mai 2021
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.361 Beiträge
 
Delphi 12 Athens
 
#1

AW: Neuronales Netz

  Alt 19. Mai 2021, 17:58
Noch eine Liste/Array mit den Verbindungen

entweder in jedes Neuron
oder eine gemeinsame Liste mit den NeuronPaaren
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (19. Mai 2021 um 18:00 Uhr)
  Mit Zitat antworten Zitat
AmonAddy
(Gast)

n/a Beiträge
 
#2

AW: Neuronales Netz

  Alt 19. Mai 2021, 18:06
Okay, aber wie könnte man dann die Daten weitergeben? Wenn zb Neuron X seine Daten aus 5 vorhergehenden bezieht, dann wären in dem Array diese Neuronen genannt (ich ordne sie zur Laufzeit alle in einem Array an), aber wie kommt X an an die Daten?
  Mit Zitat antworten Zitat
Frickler

Registriert seit: 6. Mär 2007
Ort: Osnabrück
624 Beiträge
 
Delphi XE6 Enterprise
 
#3

AW: Neuronales Netz

  Alt 19. Mai 2021, 18:13
Okay, aber wie könnte man dann die Daten weitergeben? Wenn zb Neuron X seine Daten aus 5 vorhergehenden bezieht, dann wären in dem Array diese Neuronen genannt (ich ordne sie zur Laufzeit alle in einem Array an), aber wie kommt X an an die Daten?
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.
  Mit Zitat antworten Zitat
AmonAddy
(Gast)

n/a Beiträge
 
#4

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
Jens01

Registriert seit: 14. Apr 2009
673 Beiträge
 
#5

AW: Neuronales Netz

  Alt 20. Mai 2021, 11:15
So vor anderthalb Jahren habe ich mal so ein KI-System mit RPROP geschrieben und wollte es auch immer veröffentlich. Tja noch nicht geschafft.
Ich habe für die Verbindungen eine Klasse TVerbindung geschaffen. Dort waren u.a. die 2 angebundenen Neuronen, eine Verbindungsnummer und das Gewicht enthalten.
Die Verbindungen habe ich in eine Liste gepackt.
(ich hoffe, ich erinnere mich richtig )

Das ist noch mein alter Ansatz mit FANN (aber mit grafischer Darstellung)
https://github.com/Jens01/NewFann
Achtung: Bin kein Informatiker sondern komme vom Bau.

Geändert von Jens01 (20. Mai 2021 um 11:19 Uhr)
  Mit Zitat antworten Zitat
AmonAddy
(Gast)

n/a Beiträge
 
#6

AW: Neuronales Netz

  Alt 24. Mai 2021, 11:00
Vielen Dank! Mit dem Ansatz habe ich es hinbekommen.
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
3.039 Beiträge
 
Delphi 12 Athens
 
#7

AW: Neuronales Netz

  Alt 24. Mai 2021, 20:05
So vor anderthalb Jahren habe ich mal so ein KI-System mit RPROP geschrieben und wollte es auch immer veröffentlich. Tja noch nicht geschafft.
Was würde noch zu einer Veröffentlichung fehlen?
  Mit Zitat antworten Zitat
Jens01

Registriert seit: 14. Apr 2009
673 Beiträge
 
#8

AW: Neuronales Netz

  Alt 25. Mai 2021, 11:33
Zitat:
Was würde noch zu einer Veröffentlichung fehlen?
Zeit!?

Aber bitte nicht denken, dass das ein riesiges Projekt ist. Brutto vllt je 1500 Zeilen pro 2 Units.
Man muss sich aber sehr lange einarbeiten und die Problematik aufarbeiten, um sie zu programmieren.
RPROP ist etwas komplizierter als dies normale Backpropagation, dafür wesentlich effektiver. RPROP wird auch von Tensorflow genutzt.
(so, ein kleiner Ausflug in die Arbeit...)

P.S.: Vllt nehme ist dies mal zum Anlass für die Veröffentlichung.
Achtung: Bin kein Informatiker sondern komme vom Bau.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.361 Beiträge
 
Delphi 12 Athens
 
#9

AW: Neuronales Netz

  Alt 19. Mai 2021, 18:18
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.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
hstreicher

Registriert seit: 21. Nov 2009
223 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#10

AW: Neuronales Netz

  Alt 19. Mai 2021, 18:26
Hier mal eine Videoserie zu Neural Netzwerken mit Delphi

https://chapmanworld.com/2017/09/20/...tworks-part-1/

mfg Hannes
  Mit Zitat antworten Zitat
Antwort Antwort

 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz