Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Neuronale Netze - Erklärung für 'nen 13-Jährigen gesucht :D (https://www.delphipraxis.net/99854-neuronale-netze-erklaerung-fuer-nen-13-jaehrigen-gesucht-d.html)

Namenloser 18. Sep 2007 18:30


Neuronale Netze - Erklärung für 'nen 13-Jährigen gesucht :D
 
Hallo,

dieser Thread hat mir im Endeffekt den letzten Anstoß für diesen Thread hier gegeben. Ich finde neuronale Netze schon länger sehr interessant, aber leider weiß ich weder, wie diese funktionieren, noch wofür man diese benutzen kann. Neulich stand ein Artikel über Strategiespiele in der c't, wo neuronale Netze zwar in etwa erklärt wurden, aber verstanden habe ich davon nichts. :( (Sanft ansteigende Funktion exp(), Eingangs-, Ausgangs und Zwischenschicht, je mehr Neuronen in der Zwischenschicht desto besser... HÄ???)
Ich habe kein konkretes Projekt oder so, und cih brauch das auch nicht für die Schule, es interessiert mich eifnach :D

Ich weiß, dass das sicher kein einfaches Thema ist, aber könnte mir das vielleicht trotzdem jemand erklären (versuechn)? :gruebel:

DGL-luke 18. Sep 2007 18:37

Re: Neuronale Netze - Erklärung für 'nen 13-Jährigen gesucht
 
im prinzip ist ein neuronales netz ganz einfach.

es ist sogar ganz einfach zu coden:

Delphi-Quellcode:
TNeuron = class
  Input, Output: array of TNeuron;
  InputThreshold, OutputSignal: Byte;
end;
Sobald die Summe der Input-Signale den InputThreshold übersteigt, gibt das Neuron ein Signal der Stärke OutputSignal an alle Output-Neuronen.

Man legt nun ein Netzwerk von neuronen an, wobei es jeweils eine anzahl von roh-input neuronen, die groß genug ist, um alle möglichen (gewollten) eingangssignale aufzunehmen, und eine anzahl von roh-output neuronen gibt, die dann das ergebnis ausgeben.

Dann nimmt man eine große Anzahl von trainingsdatensätzen, in denen der gegebene input und das gewollte ergebnis eingetragen sind.

Damit muss das neuronale netz so trainiert werden, dass die Verbindungen und Reizschwellen so eingestellt sind, dass zu jedem eingabedatensatz möglichst genau der richtige ausgansdatensatz herauskommt.

In so einem neuronalen netz kann es natürlich auch feedback loops geben.

Im Prinzip also recht trivial, in der Umsetzung aber recht komplex.

negaH kennt sich da glaube ich besser aus und hat auch schon einmal selber eins gebaut.

menschjens 18. Sep 2007 19:39

Re: Neuronale Netze - Erklärung für 'nen 13-Jährigen gesucht
 
Hm... 13 Jahre... Bist in der 7. Klasse oder? Hattet ihr denn in Mathe schon Funktionen? Ich glaube, die kommen erst in der 8. Klasse...
Weiß ja nicht, ob du dich trotzdem schon ein wenig damit auskennst. Falls ja, könnte ich dir das Gröbste erklären. Falls nicht, fehlen mir so zu sagen die Worte... ;)

Vielleicht erst mal so viel:

In ein künstliches Neuron schickt man einige Zahlen rein (Aufgabe) und es berechnet daraus ein Ergebnis (Lösung).
Wie man von den hineingeschickten Zahlen auf das RICHTIGE Ergebnis kommt, weißt aber nur du. Das Neuron rechnet zwar, hat aber keine Ahnung.

Stell dir vor, du möchtest dieses Neuron jetzt trainieren, so dass es für bestimmte Aufgaben jeweils die ein bestimmtes Ergebnis herausbekommt. Das Neuron ist aber noch recht dumm, die Berechnungsformel im Neuron liefert zwar irgend welche Ergebnisse, aber die sind so gut wie immer falsch.

Du (als Trainer des Neurons) hast aber den Vorteil, dass du für jede Aufgabe die richtige Lösung kennst. Und mit einem bischen Mathematik kannst du folgendes machen:

1. Du gibst dem Neuron eine Aufgabe (Zahlen rein).
2. Das Neuron berechnet mit seiner eingebauten Formel ein Ergebnis.
3. Du vergleichst das Ergebnis des Neurons mit dem dir bekannten (richtigen) Ergebnis.
4. Du veränderst die im Neuron eingebaute Formel ein kleines bisschen, so dass das Ergebnis nächstes Mal besser wird.
5. Du fängst wieder bei 1. an (sinnvollerweise mit anderen Aufgaben im Wechsel, denn nur eine Aufgabe wär ja langweilig)

Nach und nach wird also die Formel im Neuron verändert. Und zwar so lange, bis dir die Ergebnisse des Neurons gut genug sind.

Torpedo 18. Sep 2007 20:37

Re: Neuronale Netze - Erklärung für 'nen 13-Jährigen gesucht
 
@menschjens
Wie werden diese Funktionen denn verändert? Einfach die Koeffizienten ein bisschen erhöhen? (zum Beispiel)

Ich habe keine Ahnung wie so ein NN funktioniert und ich kann mir auch nicht vorstellen, wie eine Funktion eine Lösung hervorbingen kann, die nicht nur zufällig stimmt. :pale:

Zum Beispiel ein NN, das Buchstaben (A-Z,a-b) von Ziffern (0-9) unterscheiden soll.
Ich würde da jetzt als totaler Neuling 8 Neuronen erstellen (für jedes Bit eines). Wenn der Ausgang der Neuronen mehr als 70% "positiv" ist, dann würde ich die Eingabe als Zahl ansehen. Wäre das theoretisch richtig?

Aber was wäre dann ein Beispiel für so eine Funktion?
f(x) = a*x+b (wobei x entweder 1 oder 0 sein kann)
Wahrscheinlich sind die Funktionen viel komplexer, oder?

HERMES 18. Sep 2007 21:09

Re: Neuronale Netze - Erklärung für 'nen 13-Jährigen gesucht
 
Zitat:

Zitat von Torpedo
@menschjens
Wie werden diese Funktionen denn verändert? Einfach die Koeffizienten ein bisschen erhöhen? (zum Beispiel)

Es werden die sowohl Schwellwerte als auch die Gewichtungen der einzelnen Neuronen und Verbindungen verändert.

Zitat:

Zitat von Torpedo
Zum Beispiel ein NN, das Buchstaben (A-Z,a-b) von Ziffern (0-9) unterscheiden soll.
Ich würde da jetzt als totaler Neuling 8 Neuronen erstellen (für jedes Bit eines). Wenn der Ausgang der Neuronen mehr als 70% "positiv" ist, dann würde ich die Eingabe als Zahl ansehen. Wäre das theoretisch richtig?

Wenn du eine solche Klassifizierungsaufgabe hast, ist ein Binäres Perzeptron wohl am geeignetsten. Ein Perzeptron ist ein geschichtetes NN ohne Rückkoplung. Du kannst die Engabe sowohl Binär realisieren, als auch direkt, du hast nur ein Eingangsneuron, dessen Ausgangswert gleich dem ASCII Wert deines Zeichens ist (ich vermute mal, dass du ASCII Code als eingabe verwenden willst). Dann hast du ein Ausgabeneuron, das erregt ist wenn deine Eingabe ein Buchstabe und das nicht erregt ist, falls es eine Zahl ist - oder anders rum.

Zitat:

Zitat von Torpedo
Aber was wäre dann ein Beispiel für so eine Funktion?
f(x) = a*x+b (wobei x entweder 1 oder 0 sein kann)
Wahrscheinlich sind die Funktionen viel komplexer, oder?

Du kannst mit NNs alle berechenbaren Funktionen Berechnen.

Namenloser 18. Sep 2007 21:34

Re: Neuronale Netze - Erklärung für 'nen 13-Jährigen gesucht
 
Hallo,

ich bin grad nur kurz da und ahbe erstmal alles überflogen. Ich les mir das morgen nochmal genauer durch.

Btw: Ich bin in der achten Klasse und wir haben gerade (lineare) Funktionen. (Das ist mal wieder sowas von leicht :roll:. Nur verrechne ich mich immer xD)

DGL-luke 18. Sep 2007 23:03

Re: Neuronale Netze - Erklärung für 'nen 13-Jährigen gesucht
 
Es gibt übrigens sogar nen Counter-Strike-Bot, der mit neuronalen Netzen arbeitet... wurde irgendwie für ne Facharbeit oder so geschrieben... ich glaub der joebot war das.

Der ist auch ziemlich gut. Kriegt halt als Input die Spielerpositionen und die Kartendaten, und als output kommt bewegen/drehen/schießen raus.

der entwickelt sogar taktik, also z.B. sich zurückziehen.

Hatte mir da auch mal die Dokumentation dazu durchgelesen... sollte sich im internet noch finden lassen.

stoxx 18. Sep 2007 23:09

Re: Neuronale Netze - Erklärung für 'nen 13-Jährigen gesucht
 
eventuell da:

http://www.neuronalesnetz.de/

Namenloser 19. Sep 2007 14:58

Re: Neuronale Netze - Erklärung für 'nen 13-Jährigen gesucht
 
Hallo, danke für den Link!

Also ich habe das jetzt soweit verstanden: es gibt Eingabe-Neuronen, die die Werte an die Neuronen aus der Zwischenschicht übergeben. Dieser Wert wird dann noch mit der Wichtigkeit beider Neuronen multipliziert. Die Neuronen aus der Zwischenschicht sind eigentlich nichts anderes als Funktionen, die nach bestimmten Formeln aus einem X-Wert einen Y-Wert (Die Ausgabe) berechnet. Das Ergebnis wird dann an Ausgabe-Neuronen übermittelt, die wiederum den Wert als Eingabe an die nächste Zwischenschicht schicken, oder?

Aber wie kann so ein Netzwerk "lernen" und wie findet man die richtigen Formeln fpr die Neuronen heraus? Ich habe gelesen, für das "Lernen" wird eine Änderung der Gewichtung einzelner Neuronen durchgeführt. Nach welchen Kriterien geschieht das? Woher weiß ein neuronales Netz, welche Gewichtungen es anpassen muss, wenn das Ergebnis nicht mit der Vorgabe übereinstimmt? :gruebel:

Könnte jemand vielleciht ein möglichst simples Beispiel für ein neuronales Netz posten? Bis jetzt ist das alles sehr theoretisch, ich hätte gerne mal etwas "zum anfassen", was ich besser nachvollziehen kann.

negaH 19. Sep 2007 15:14

Re: Neuronale Netze - Erklärung für 'nen 13-Jährigen gesucht
 
Ganz einfach

Du als Kind möchtest spielen gehen. Deine Eltern möchten das du lernst das entweder

- du nicht spielen darfst
- oder du spielen darfst

im 1. Falle versuchtst du spielen zu gehen und bekommst einen Schlag ins Gesicht, das schmerzt, oder du hälst dich an die Ausgangssperre und bekommst Schokolade, das belohnt.

im 2. Fall versuchst du spielen zu gehen und bekommst ein Stückchen Schokolade, das belohnt, oder du gehst nicht spielen und wirst von deinen Eltern rausgeprügelt, das schmerzt.

So ähnlich werden auch neuronale Netze trainiert. Man legt dem Netz verschiedene Input-Möglichkeiten vor und zu jeder dieser Inputs gleichermaßen den gewünschten Output den wir als Lehrer von ihm erwarten. Das Netzwerk wird nun während des Trainings seine Units langsam so anpassen das die richtigen Outputs erzeugt werden wenn bestimmte Inputs anliegen.

In beiden Fälle passt sich das Netzwerk/Kind also den Gegebenheiten adaptiv an.

Das wird meistens durch Backpropagation erledigt, also quasi das Rückwärts-Korregieren ausgehend von den Outputs über die hidden Units zur Inputschicht. Es ist ein geführtes Lernen, also mit einem Trainer der bestimmt was man wie erlernen soll.
Entscheidend dabei ist das der Lehrer bei kausal zusammenhängenden zu erlernden Sachverhalten diese logische Kausalität nicht mißachtet, sprich sich widersprechende Dinge trainiren möchte, sprich einmal Hü und einmal Hot verlangt zu erlernen.

Das passiert auf im Grunde einfache Weise. Es sieht einen Input und berechnet vorwärts den Output auf Grund der aktuellen Units. Dann wird festgestellt wie weit sich der berechnete Output des Netzes sich vom vorgegebenen Outout des Trainers unterscheidet, man beechnet also einen Fehlerwert. Mit hilfe dieses Fehlerwertes werden nun rückwärts alle Units angepasst. Also ein stark falscher Output, hoher Fehlerwert, führt da zu ds bei der Backpropagation die davorliegenden Units stärker in die Gegenrichtung angepasst werden, bzw. genauergesagt werden die Gewichtungen der Verbindungen zwischen den Units angepasst. Quasi die Nervenstränge wie in unserem Hirn (mal so geagt, auch wenn dieser Vergleich unzulässig ist).

Es gibt aber auch Netzwerke die ganz anders arbeiten, zb. Kohonen & SOM. Diese abstrahieren aus einer Menge von Inputdaten eine Matrix aus Gemeinsamkeiten die sich in allen Inputdaten finden lassen und das ist dann der Output.

Gruß Hagen

HERMES 19. Sep 2007 15:17

Re: Neuronale Netze - Erklärung für 'nen 13-Jährigen gesucht
 
Als Ausgabeneuronen werden eigentlich nur die "letzten" bezeichnet, also die die ihre erregung nicht mehr an ein anderes Neuron weitergeben.

Das mit dem lernen ist leider nicht so einfach. Schon für ein einfaches Perzeptron benötigt man nicht ganz triviale Mathematik. Um die Gewichtungen zu optimieren wird idr. das Gradienten(abstiegs)verfahren iterativ eingesetzt, bis das Ergebnis gut genug ist. Allerdings klappt das bei einem einfachen Perzetron wiederum nur wenn der Lösungsraum linear separierbar ist (für binäre Neuronen).

Lösungsraum linear separierbar bedeutet in etwa, dass man eine Grenze ziehen kann, und alles was links davon ist eine Ausgabe und alles rechts davon die andere Ausgabe.

menschjens 20. Sep 2007 20:20

Re: Neuronale Netze - Erklärung für 'nen 13-Jährigen gesucht
 
@ NamenLozer und Torpedo
Habe leider erst heute mal wieder Zeit gefunden, hier vorbei zu surfen. Sind ja schon etliche Antworten gekommen. Gibt also kaum noch was zu ergänzen, oder?

Vielleicht noch, dass man in die Neuronen gern die Sigmoidfunktion reinpackt. Sie lautet:

Delphi-Quellcode:
   Result := 1 / (1 + exp(-x/t))
wobei x die Summe aller gewichteten Eingangssignale eines Neurons ist.

Man nimmt sie deshalb so gerne, weil sie im ganzen Definitionsbereich monoton wachsend und stetig und differenzierbar ist.
Dadurch lässt sich bei der Rückwärtsrechnung mathematisch recht einfach berechnen, wie die Synapsengewichte verändert werden müssen, damit das Ergebnis besser wird. Außerdem hat sie als Ergebnis immer einen Wert zwischen 0 und 1

Vernetzt man nun viele dieser Neuronen z.B. in 3 Schichten (E, V und A), dann sieht die Vorwärts-Reizleitung in einem solchen Netz also für die Strecke von den Eingabeneuronen zu den verdeckten Neuronen so aus:

Delphi-Quellcode:
  for V := 1 to MaxV do
  begin
    SummeV[V] := 0;
  end;
  for V := 1 to MaxV do
  begin
    for E := 0 to MaxE do // hinter dem Index E=0 verbirgt sich RE[0]=-1 und GEV[0,V]=Biaswert des Neurons Nr.V
    begin
      SummeV[V] := SummeV[V] + GEV[E,V] * RE[E];
    end;
  end;

  for V := 1 to MaxV do
  begin
    RV[V] := sig(SummeV[V]);
  end;
GEV sind die Synapsengewichte (und Biaswerte), RE die Reizwerte der Eingabeneuronen, RV die Reizwerte der verdeckten Neuronen.
In der nächsten Schicht (zu den Ausgabeneuronen) dann analog.

Bei der Rückwärtsrechnung werden dann die Synapsengewichte GEV bzw GVA entsprechend der aufgetretenen Abweichung zum Sollergebnis angepasst. Hier multipliziert man aber noch einen Lernfaktor 0 < LF < 1 mit rein. Schließlich bringt dich dein Lehrer ja auch nicht gleich bei jedem Fehler um, sondern geht sie Sache etwas geduldiger an. ;o)
Die Formeln hierfür führen aber wohl hier zu weit...

negaH 20. Sep 2007 21:50

Re: Neuronale Netze - Erklärung für 'nen 13-Jährigen gesucht
 
Hi, lese dir das mal durch http://www.delphipraxis.net/internal...ect.php?t=9450

Dort findest du auch eine fetige NN Komponente von mir mit Sourcen und Beispiel.

Diese demonstriert auch das die Sigmoid Funktion eben nich die einzigste Aktivierungsfunktion ist. Diese wird sehr oft nur für die Input&Output Schicht benutzt. Für die Hidden Units haben sich andere Aktivierungsfuntionen bewährt. Besonderts wenn man Bipolare Unit benutzt sind die Sigmoid Funktionen nicht die beste Wahl.

Um es dem Designer solcher Netze einfacher zu machen, sprich die Wahl der Aktivierungsfunktionen, die Wahl ob Unipolar oder Bipolar, die Wahl der Anzahl der Hidden Units und Layer, die Verküpfungen dieser Units untereinander usw. usw. habe ich ein Cascade Correlation Network implementiert. Das hat den Vorteil das der Designer nur die Input&Output definieren muß und der Rest baut sich das Netzwerk quasi beim Training selber auf. Es wächst quasi von selbst so lange bis es das Trainingsziel erreicht hat. Es entscheidet auch selbstständig welche Aktivierungsfunktionen für die Units am besten geeignet sind, und es versucht selbsständig die Verknüpungen der Unit zu optimieren. Dabei wird das QuickProp Verfahren für die Backpropagation benutzt und der gesamte Trainingsprocesss läuft per Backtracking ab.

Gut, der einzigste Hacken dabei ist das man schon ein bischen Fachwissen benötigt um diese Komponente mit all ihren Einstellungsmöglichkeiten zu verstehen und benutzen zu können. Ist leider immer so bei solchen Dingen.

Gruß Hagen

Namenloser 23. Sep 2007 18:28

Re: Neuronale Netze - Erklärung für 'nen 13-Jährigen gesucht
 
Wow, wirklich faszinierend, was das Programm leistet (großes Dankeschön an Hagen!) :thumb:

Auf jeden Fall habe ich jetzt eins verstanden: das Prinzip ist simpel, aber die Umsetzung ist kompliziert :/. Momentan fehlt mir wohl für vieles einfach noch das mathematische Verständnis, oder mein geist ist einfach zu beschränkt dafür :mrgreen:.

Ich werde mir aber Hagens Komponente wohl noch einmal genauer anschauen und (wenn möglich) einige in dem Programm nicht genutzte Funktionen rauskürzen, um mehr Übersicht zu bekommen. Die Informationen auf neuronalesnetz.de werde ich mir sicher auch noch einmal anschauen, und versuchen sie zu verstehen. Außerdem könnnte ich auch noch meine Mathelehrerin ein paar sachen fragen, die hat imo sogar eine Diplomarbeit über neuronale Netze geschrieben.

Also, wenn ich weiter bin bzw. eine Frage habe, werde ich mich sicher nochmal hier melden!

Btw: Wie viel Liter Kaffee hast du für die Unit eigentlich gebraucht? :freak:

everdream 14. Nov 2007 20:15

Re: Neuronale Netze - Erklärung für 'nen 13-Jährigen gesucht
 
Auch auf die Gefahr hin, dass ich jetzt gehauen werde, aber kann man ein neuronales netz für ein sehr einfaches Projekt nicht auch durch wenige arrays simulieren? das wäre meiner meinung nach ein sehr einfacher weg...

Schorschi5566 14. Jul 2015 21:46

AW: Neuronale Netze - Erklärung für 'nen 13-Jährigen gesucht :D
 
Servus DP,

ist schon acht Jahre her, dass hier was zum Thema gepostet wurde, aber ich mach's mal trotzdem. :)

Ich suche nach einer Art Mustererkennung in Bildern. Beispielsweise Farben oder Formen.

Wäre sowas mit neuronalen Netzen denkbar?

Beispiel: Es gibt Bilder, die immer einen roten Kreis ähnlicher Größe haben, aber an unterschiedlichen Positionen.

Könnte ein neuronales Netz diese Ähnlichkeiten erkennen und von Bildern unterscheiden, die keinen roten Kreis haben?

Kann man sowas mit Hagens Komponente realisieren?

Mein Ansatz wäre die Bilder zu vereinfachen, was die Pixelanzahl angeht (Skalieren auf eine bestimmte Größe) und dann für jedes Pixel ein "Neuron" zu erzeugen. Dann würde ich das Netz mit bekannten Bildern trainieren (falschen und richtigen).
Ist das zu naiv gedacht oder könnte das gehen?

Bin dankbar für alle Hinweise. ;)


Viele Grüße,
Uwe

frankyboy1974 15. Jul 2015 08:53

AW: Neuronale Netze - Erklärung für 'nen 13-Jährigen gesucht :D
 
Hallo,

grundsätzlich kann man neuronale Netze sicherlich zur Mustererkennung benutzen. Ob man das Tool von Hagen, dafür verwenden könnte, kann ich nicht sagen. War mir etwas zu Umfangreich, um dies zu beurteilen.
Wenn man mir die Aufgabe stellen würde, zu überprüfen ob ein Kreis bestimmter Farbe sich innerhalb einer Grafik befindet, würde ich dies einfach brutal durchprobieren. Oder anders formuliert, ich suche innerhalb meines Array aus Pixel den gewünschten Farbwert. Das ist mein Ausgangspunkt. Jetzt probiere ich jeden beliebigen (bis zu einen Maxaimalwert) Radius aus, berechne daraus die anderen Pixelkoordinaten meines gedachten Kreises und überprüfe diese auf den Ursprungsfarbwert. Wäre relativ einfach zu programmieren und müsste wahrscheinlich auch ausreichend schnell durchlaufen.

mfg

frank

Caps 15. Jul 2015 11:13

AW: Neuronale Netze - Erklärung für 'nen 13-Jährigen gesucht :D
 
Wenn es um bekannte geometrische Figuren geht, bietet sich die Hough-Transformation an.

lg Caps

hanvas 15. Jul 2015 11:45

AW: Neuronale Netze - Erklärung für 'nen 13-Jährigen gesucht :D
 
Zitat:

Zitat von Schorschi5566 (Beitrag 1308684)

Ich suche nach einer Art Mustererkennung in Bildern. Beispielsweise Farben oder Formen.

Wäre sowas mit neuronalen Netzen denkbar?

Natürlich kann man so etwas mit neuronalen Netzen machen.

Aber bei speziellen Problemen gibt es bessere und oft auch einfachere (im Sinne von einfacher zu Verstehen, nicht im Sinne von einfacher zu implementieren) Lösungen

Zitat:

Zitat von Schorschi5566 (Beitrag 1308684)

Beispiel: Es gibt Bilder, die immer einen roten Kreis ähnlicher Größe haben, aber an unterschiedlichen Positionen.

Könnte ein neuronales Netz diese Ähnlichkeiten erkennen und von Bildern unterscheiden, die keinen roten Kreis haben?

Die Stärken von neuralen Netzwerken liegen darin das diese eine gewisse Abstraktionsfähigkeit haben. Mit anderen Worten, wenn Dein Ausgangsmaterial verrauscht ist und viele Bildstörungen hat die mit "normalen" Methoden der Bildbearbeitung nicht in den Griff zu bekommen sind (man kann sehr viel Bildstörungen in den Griff bekommen) dann wären neuronale Netzwerke tatsächlich eine gute Wahl, auch dann wenn es mal rote Kreise, mal orange Ellipsen und ab und zu Rechtecke mit abgerundeten Ecken sind könnte ein neuronales Netz durchaus erkennen.

Wenn Du hingegen saubere unverrauschte Bilder hast dann ist deine Frage tatsächlich nur die ist "hat roten Kreis", dann hast Du ein gutes Beispiel dafür das andere Lösungen unter Umständen besser geeignet sind.

Am zuverlässigsten wäre dann dein Problem gelöst wenn Du deine Bilder mit Hilfe der Hough-Transformation analysierst. (https://de.wikipedia.org/wiki/Hough-Transformation). Die (generalisierte) Hough - Transformation wäre auch in der Lage beliebige Formen zu finden so lange diese mathematisch beschreibbar sind.

Du bekämst als Ergebnis eine Liste mit Kreisen bei denen Du dann nur noch testen müsstest ob diese tatsächlich rot sind. Eine fast fertige Implementierung findest Du in den Beispielen zu https://github.com/Laex/Delphi-OpenCV.

Zitat:

Zitat von Schorschi5566 (Beitrag 1308684)
Kann man sowas mit Hagens Komponente realisieren?

Mein Ansatz wäre die Bilder zu vereinfachen, was die Pixelanzahl angeht (Skalieren auf eine bestimmte Größe) und dann für jedes Pixel ein "Neuron" zu erzeugen. Dann würde ich das Netz mit bekannten Bildern trainieren (falschen und richtigen).
Ist das zu naiv gedacht oder könnte das gehen?

Prinzipell wäre das schon möglich. Aber es kommt wirklich auf die ganz konkrete Frage an um sagen zu können welche Architektur die geeignetste wäre.

cu Ha-Jö

Schorschi5566 15. Jul 2015 15:22

AW: Neuronale Netze - Erklärung für 'nen 13-Jährigen gesucht :D
 
Hallo DP,

vielen Dank für Eure Antworten. Das bringt mich schonmal weiter. Ich werde mir die Links mal ansehen.

Es können unterschiedlichste Formen und Farben sein, der rote Kreis war nur als Beispiel gewählt.



Viele Grüße,
Uwe


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:28 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz