Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Neurale Netze und genectic algorithmen. (https://www.delphipraxis.net/195723-neurale-netze-und-genectic-algorithmen.html)

Mavarik 20. Mär 2018 12:10


Neurale Netze und genectic algorithmen.
 
Hallo Zusammen.

In meinem letzten Blogpost habe ich einen Drei Zeiler zu diesen Thema geschrieben. (Eigentlich ohne Inhalt - nur 2 Links) als Info.

Interessanterweise hat dieses Posting die All-Time Zugriffszahlen gesprengt.

Daher meine Frage:

Beschäftigt sich sonst noch jemand mit diesem Thema?

Grüsse

Mavarik :coder:

sh17 20. Mär 2018 12:22

AW: Neurale Netze und genectic algorithmen.
 
Generelles Interesse ist auf jeden Fall da.

//Edit den Blogpost kenne ich allerdings nicht, hättest Du den noch?

hstreicher 20. Mär 2018 12:32

AW: Neurale Netze und genectic algorithmen.
 
hier auch

Jumpy 20. Mär 2018 12:34

AW: Neurale Netze und genectic algorithmen.
 
Einfach auf MeinBlog klicken

Mavarik 20. Mär 2018 12:36

AW: Neurale Netze und genectic algorithmen.
 
:stupid: OK!

Meinen Blog findest Du im Footer...

Aber meine Frage war nicht - hat jemand Interesse ( gerne Fragen an mich ) - sondern, ob noch jemand so etwas programmiert?

Mavarik

sh17 20. Mär 2018 12:49

AW: Neurale Netze und genectic algorithmen.
 
Zitat:

Zitat von Mavarik (Beitrag 1396767)
Aber meine Frage war nicht - hat jemand Interesse ( gerne Fragen an mich ) - sondern, ob noch jemand so etwas programmiert?

:lol: wäre auch zu schön gewesen

Mavarik 20. Mär 2018 12:58

AW: Neurale Netze und genectic algorithmen.
 
Zitat:

Zitat von sh17 (Beitrag 1396770)
:lol: wäre auch zu schön gewesen

hmm

Zitat:

Zitat von Mavarik (Beitrag 1396767)
hat jemand Interesse ( gerne Fragen an mich )

Was wäre schön?

sh17 20. Mär 2018 13:22

AW: Neurale Netze und genectic algorithmen.
 
Ich meinte, dass wir Interesse bekunden und Du uns schon was zeigen kannst, das wäre schön gewesen. Viel hab ich noch nicht gemacht, als dass ich was beisteuern könnte.

Außer Links

https://github.com/Laex/Delphi-Artif...etwork-Library

mensch72 20. Mär 2018 13:37

AW: Neurale Netze und genectic algorithmen.
 
..."sondern, ob noch jemand so etwas programmiert?"...
- wörtlich gesehen programmiere ich selbst kein neuronales Netz, aber ich wende sowas an und habe Erfahrung in der Nutzung freier wie kommerzieller NN-Pakete
- real wichtiger ist des Wissens um die sinnvollen Einzatz-Grenzen wo NN, vieles geht mit SupportVectorMaschinen oder CoreVectorMaschinen mindestens gleich gut aber stabiler und vor allem schneller
- genetische Algos für automatisierte Finden von möglichst immer besseren Varianten durch Ableitung per durch Selektion&Auslese bewerteter sich aus zufälliger Kombination von vorherigen TeilVarianten plus etwas zufälliger neuer VarianantenTeil(Mutation)... jo das funktioniert von PersonalEinsatzplanzng über Stundenpläne, bis zur Steuerung Materialzuschnitt/Materialabfüllung
- in BigData und im Finanzbereich findet man kaum noch reine NN Anwendungen, zu klein der schmale Grat zwischen guten Ergebnissen und guter Langzeitstabilität, zu groß die parmanente Gefahr der Überopimierung

Deine Frage hat schonmal jemand sowas programmiert ist halt sehr allgemein... eventuell solltest du etwas genauer werden in welche Richtung dein Interesse mit welcher Zielstellung da geht.

Letztendlich basiert im Finanzbereich unsere Software "nur" auf der geschickten Kombination von festen Regelwerken und eben solchen selbstanpassenden Zeug, um möglichst schnell aus Ist,Soll und History eine möglichst gute Klassifizierung der aktuellen Situation bis zur automatisierten Kurzzeit-Prognose zu errechnen. Genauer kann ich da allgemein kaum mehr zu sagen;)
Wir machen soweit möglich alles in Delphi, setzen aber auch teil etwas C/C++ "Fremd"Source per DLL ein

Jens01 20. Mär 2018 13:45

AW: Neurale Netze und genectic algorithmen.
 
http://www.hadv.de/de/main/index.html
https://github.com/hartmutdavid/TensorFlow4Delphi

-> Hier gibt es auch noch jemand, der aus dem deutschsprachigen Bereich daran arbeitet.

Ich selbst bin daran schon interessiert, es fehlt aber die Zeit und das richtige Informationsmaterial für den Einstieg.

Mavarik 20. Mär 2018 13:52

AW: Neurale Netze und genectic algorithmen.
 
Zitat:

Zitat von mensch72 (Beitrag 1396775)
Deine Frage hat schonmal jemand sowas programmiert ist halt sehr allgemein... eventuell solltest du etwas genauer werden in welche Richtung dein Interesse mit welcher Zielstellung da geht.

Ich war einfach nur verwundert, dass diese Thema alle bisherigen Themen getoppt hat. Daher meine Vermutung, dass entweder sich viele damit beschäftigen oder sich gerne mehr damit beschäftigen / einarbeiten würden.

Daher meine Frage...

ConstantGardener 20. Mär 2018 14:30

AW: Neurale Netze und genectic algorithmen.
 
....ich hatte deinen BlogPost auch gelesen. Das Thema ist schon spannend und wird immer interessanter. Im Bereich Genetische Algo's habe ich auch schon einiges gemacht (Optimierung von Flächenbelegungen bei gleichzeitiger Gewinnmaximierung und Einhaltung der Arbeitskapazitäten usw.).
Die Herausforderung ist hier halt immer das richtige Verfahren für den Anwendungszweck zu wählen.

Du hattest ja geschrieben, dass du das ins FDK bringen willst. Die Frage ist natürlich immer wie allgemein man das umsetzen kann und dann noch performant ist.
Es gibt bei MitovSoftware und RiverSoft schon fertige Compos. Hast du damit schon mal experimentiert?

cu cg

jus 20. Mär 2018 15:15

AW: Neurale Netze und genectic algorithmen.
 
Ist zwar schon eine Weile her, aber hatte damals meine Diplomarbeit über ganzzahlige Optimierung bei Aktien unter anderen mit genetischen Algorithmen geschrieben. Den genetischen Algoritmus hatte ich mit Delphi implementiert. Ich schließe mich auch der Meinung an, dass es immer auf die Anwendung darauf ankommt, welches Tool man einsetzt. Aber vermutlich muß man aber zuerst das Tool gut verstehen, damit man weiß für was man es sinnvoll einsetzen kann. :wink:

lg,
jus

Michael II 20. Mär 2018 15:18

AW: Neurale Netze und genectic algorithmen.
 
Von microsoft ist da einiges in der Pipeline:

In diesem Zusammenhang fand ich den Windows Developer Day (März 2018) sehr spannend. Für die Berechnungen kann man neben der CPU, offenbar auch GPU und VPU nutzen.

Ich hoffe, dass man diese Dinge bald von Delphi aus ansprechen kann. Hat da jemand bereits Erfahrungen gesammelt?

Es wäre es sicher interessant, einmal mit einem Delphipraxis Team bei einem Wettbewerb von kaggle mitzumachen.

Mavarik 20. Mär 2018 16:41

AW: Neurale Netze und genectic algorithmen.
 
Zitat:

Zitat von ConstantGardener (Beitrag 1396781)
Du hattest ja geschrieben, dass du das ins FDK bringen willst. Die Frage ist natürlich immer wie allgemein man das umsetzen kann und dann noch performant ist.
Es gibt bei MitovSoftware und RiverSoft schon fertige Compos. Hast du damit schon mal experimentiert?

Ich habe mir keine anderen Komponenten angesehen, nur mal eine für Zeichenerkennung mit Delphi 6.

Es gibt sicherlich auch hunderte Komponten/API's oder was auch immer die viel besser sind...

Aber ich hab es gerne einfach, daher habe ich auch einen Wrapper für JSON und REST Service geschrieben und so ein Request/Datenverarbeitung in einer Zeile zu erledigen...

Daher auch hier ganz einfach und wenn man es selber mal getippt hat - versteht man es auch besser.

Delphi-Quellcode:
  ICanNeuralNet = Interface
    ['{5BDC1430-6823-4667-8DBC-C80E6363A208}']
    Procedure FeedForward(Const AInputValues : TNetValueList);
    Procedure BackProp(Const ATargetValues : TNetValueList);
    Function GetResults : TNetValueList;
    Procedure SaveToStream(S : TStream);
    Procedure LoadFromStream(S : TStream);
    Function AverageError : double;
    Function CrossOver(AOtherParent : ICanNeuralNet) : ICanNeuralNet;
    Function Mutate(APercentRate,AWeightChange : Double) : ICanNeuralNet;
    Function LayerData : TNetLayer;
  end;
Dann Einfach...

Delphi-Quellcode:
Var
  myNet : ICanNeuralNet;
begin
  myNet := TNeuralNet.Construct([9,10,10,2]); // Input,hidden,hidden,output
end;
CrossOver und Mutate hab ich auch implementiert... (Wie ist halt momentan noch fixed)

Aber für das "normale" Lernen geht es halt auch und zwar so (wie im Video) XOR Gatter!

Delphi-Quellcode:
 
FNet := TNeuralNet.Construct([2,4,1]);

  for i:=0 to 10000 do
    begin
      FNet.FeedForward([0.0,0.0]);
      FNet.BackProp([0]);
      FNet.FeedForward([1.0,1.0]);
      FNet.BackProp([0]);
      FNet.FeedForward([0.0,1.0]);
      FNet.BackProp([1]);
      FNet.FeedForward([1.0,0.0]);
      FNet.BackProp([1]);
      FNet.FeedForward([0.0,0.0]);
      if korrect then
        begin
          Memo1.Lines.Add(I.ToString+' need');
          Memo1.Lines.Add('Error : '+FNet.AverageError.tostring);
          break;
        end;
    end;
Fertig läuft...

Das war eigentlich auch nur mal so für "zwischen durch" um mal den Kopf frei zu bekommen...

Mavarik :coder:

ConstantGardener 20. Mär 2018 18:07

AW: Neurale Netze und genectic algorithmen.
 
@Mavarik: Was machst du mit dem CrossOver und Mutate in einem Neuronalen Netz? Willst du die Struktur automatisch über einen GA generieren lassen? Das wäre natürlich cool, und würde den Kopf frei machen! :-D

Mavarik 20. Mär 2018 18:29

AW: Neurale Netze und genectic algorithmen.
 
Zitat:

Zitat von ConstantGardener (Beitrag 1396809)
@Mavarik: Was machst du mit dem CrossOver und Mutate in einem Neuronalen Netz? Willst du die Struktur automatisch über einen GA generieren lassen? Das wäre natürlich cool, und würde den Kopf frei machen! :-D

Naja..

Neurale Netzt können z.B. durch Backpropagation lernen...
Der andere Ansatz ist die Genetic schiene...

Kreaturen 1-N haben als "Brain" ein Neural Netz, also muss hier das Crossover und Mutation Zeug auch angelegt werden.

Mavarik

ConstantGardener 20. Mär 2018 18:50

AW: Neurale Netze und genectic algorithmen.
 
... na dann bin ich mal gespannt. Halt uns auf dem Laufenden!

KodeZwerg 20. Mär 2018 19:15

AW: Neurale Netze und genectic algorithmen.
 
Zitat:

Zitat von Michael II (Beitrag 1396788)
.....GPU...... Hat da jemand bereits Erfahrungen gesammelt?

Mit meiner Eigenen Grafikkarte (NVIDIA) per Cuda ja, bei Alpha-Tests mit fremd Rechnern war mein Code Katastrophal, weswegen ich es nicht weiter verfolgt hatte.
Liegt allerdings schon sehr sehr viele Jahre zurück, wenn ich Glück habe finde ich noch den Code.

Rollo62 21. Mär 2018 07:13

AW: Neurale Netze und genectic algorithmen.
 
NN sind ja schon seit zig Jahren bekannt, habe mich aktuell nicht damit beschäftigt.
Interessant wäre die Frage was sie da von damals zu heute so Alles geändert hat,
bis auf Tiefe der Hiddenlayer und generell mehr Neuronen und Rechenleistung ?

Es gibt ja glaube ich ganz neue Ansätze wie man Neuronen simulieren sollte aus der Medizin.
Interessant ist halt immer was Google & Co. so machen, die sind ja ganz weit vorne.
Ist ein simples Standard NN von vor 20 Jahren noch zeitgemäß ?

Wichtig wäre mir auch das es in der GPU läuft, um damit z.B. Echtzeit Objekterkennung ala
Yolo-Algorithmus hinbekommt.

Das Thema ist sehr interessant und wird wohl noch interessanter werden demnächst.
Da ist es gut mal auf dem Laufenden zu bleiben.

Rollo

stahli 21. Mär 2018 12:39

AW: Neurale Netze und genectic algorithmen.
 
Ich hatte mir mal einige Videos zu dem Thema zusammengesucht.
Das hier fand ich eine ganz spannende Demo-Anwendung. https://www.youtube.com/playlist?lis...pWVBmS_BCN_T7-

Für das intelligente Verhalten von Objekten sind NN aber vermutlich nicht der richtige Ansatz. Ich habe aber dazu nichts weiter gefunden.
Gab es da nicht mal ein Projekt mit einer Lock, die in einer Umwelt überleben musste und sich entsprechend nach und nach angepasst hat?

Rollo62 21. Mär 2018 13:32

AW: Neurale Netze und genectic algorithmen.
 
Hier und hier sind vielleicht aktuelle Infos und etwas Historie zu NN.
Es sieht Alles recht bekannt aus, und ich denke auch die Sigmoid Funktion ist nicht gerade neu.

Wahrscheinlich ist der wirkliche Durchbruch bei NN der, das mittlerweile einfach nur die Rechenleistung (GPU) und die Masse an Trainingsdaten exponentiell gestiegen sind.
Ich vermute mal in Blaue das die Trainingsdaten einen erheblichen Unterschied in der Qualität machen.

Ansonsten sehe ich kaum einen großen Unterschied zur Theorie von 1985, oder übersehe ich da was ?

Rollo

Mavarik 28. Mär 2018 15:44

AW: Neurale Netze und genectic algorithmen.
 
Zitat:

Zitat von stahli (Beitrag 1396868)
Für das intelligente Verhalten von Objekten sind NN aber vermutlich nicht der richtige Ansatz.

Ich denke das kommt auf das Problem an. Die ganzen Creatur-Demos die man auf Youtube findet, funktionieren schon recht nett - wie es aussieht.

Bei der Walkern/Hüpfern sieht es schon anders aus... Der Zufallsfaktor macht es etwas schwieriger.

Bei komplexen Dingen reicht ein CrossOver mit Mutation wie ich feststellen musste nicht aus. Da ein komplexes System halt nicht durch Zufall besser wird. Hier fehlt eindeutig ein Lernfaktor.

Sowie ich wieder etwas Zeit übrig haben, werden ich mich dem aber nochmal annehmen.

Mavarik


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:15 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 by Thomas Breitkreuz