AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Neuronale Netze ???

Ein Thema von Dannyboy · begonnen am 4. Sep 2003 · letzter Beitrag vom 17. Okt 2023
Antwort Antwort
Seite 5 von 8   « Erste     345 67     Letzte »    
Hackbart

Registriert seit: 12. Jan 2004
Ort: Ankh Morpork
6 Beiträge
 
#41

Re: Neuronale Netze ???

  Alt 20. Jan 2004, 11:58
Danke für die Antwort! Noch einmal eine Frage. Ich beschäftige mich zur Zeit mit einem bestimmten genetischen Allgorithmus, welcher einen Therm sucht, aus welcher man eine selbst eingegebene Zahl erechnen kann. z.B. 1+2+3*2 für 12. Die Chromosomen dabei stelle ich aus den (4- Stelligen) Binärwerten dar Operanden dar. Nun ist ein genetischer Allgorithmus nicht gerade der schnellste, deshalb möchte ich ihn auf folgende Art und weise erweitern:
Es werden Zwar immer neue Chromosomen gebildet, doch "die besten", welche am nächsten am Ergebnis dran sind, werden nicht gelöscht sondern gespeichert. Auch diese unterinander "vermehren" sich und danch wird neugeordnet. Die besten aus den neu Erzeugten und den schon gepeicherten Chromosomen werden wieder gespeichert und die "schlechten" fallen raus. Es fallen immer so viele raus, wie neu in die "best of" aufgenommen werden.
Kann man diese Modifikation nicht auch als NN realisieren? Wenn ja, wie müsste ich da ran gehen?

2) Wie müsste ein NN aussehen, wenn ein Bild (Aus Pannels/ Shapes zusammengesetz) abgetasten werden soll auf den dort gezeichneten Buchstaben/ Zahl?
ES GIBT KEINE GERECHTIGKEIT, ES GIBT NUR MICH
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#42

Re: Neuronale Netze ???

  Alt 20. Jan 2004, 14:51
Hi Hackbart,

1.) ich kenne solche Genetischen Algorithmen zur Formelfindung nur als Algos. die Formel finden sollen zu sehr vielen Eingabe- zu Ausgabevariablen. D.h. man kennt bestimmte Eingabeparamter wie Alter,Familienstand,finanzielles Einkommen, finanzielle Sicherheit, beantragter Kredit usw. verschiedener Personen der Vergangenheit und als Ausgabeparamter ob und wie diese Personen ihren Kredit in der gegenwart abgezahlt haben. Der Gen. Algorithmus versucht nun eine allgemeingültige Formel zu finden. Nungut, ich will darauf hinaus das in deinem Beispiel ein geneterischer Algorithmus ein viel zu überdimensioniertes Instrument ist. Mit einer einfachen linearen Analyse findet man sehr schnell entsprechende Lösungen. Zb. 12=12 oder 12=2*6 oder 12=1*12 usw. Ich vermute mal das deine jetzige Implementation enorm schnell solche trivialen Lösungen produziert.
Desweiteren ist es wichtig zu wissen was das Genom im Unterschied zu den Chromosomen ist. In deinem Falle besteht ein Individuum nur aus einem Chromosom=Formel und diese wierderum aus mehreren Genomen=zweigliedrigen Formelteile und diese wiederum aus mehreren Gene=Konstanten oder Operatoren. Das bedeutet das es keinen Sinn macht Chromosomen separat qualitativ zu bewerten. Normalerweise würde in einem Mehrfach-Chromosomen-Individuum ganze Chromosomenpaare untereinander zwischen den Individuuen oder eben bei geschlechtlicher Vererbung zwichen den Kindern ausgetauscht. Dies auf Genom-Ebene zu machen ist sinnlos. Auf Genebene wirkt am besten die Mutation = zufällige "Bit"-Änderungen. D.h. es gibt zwei wesentliche Triebkräfte die die Evolution vorrantreiben. 1. leichte Mutation auf Genebene und 2. nach der Selektion die Vererbung von Chromosomenmixturen an die Nachfahren der besten Individuuen. Die Selektion und die Gencodierung sind der einzigste Punkt an denen wir als Programmierer die Vorgaben=Zielrichtung der Evolution festlegen. Die Festlegung was ein gültiges Chromosom per Definition ist bestimmt auch die Korrektheit und Funktionsfähigkeit des Individuums nachdem es als Kind mit einem neuen Mix von Eltern-Chromosomen erzeugt wurde. D.h. die Chromosomen-Definition hat die Aufgabe möglichst Genketten untereinander zu kombinieren die auch sinnvoll sind, so daß das Individuum auch "lebenfähig" wird. Die einzelnen Genome auf diesem Chromosom sollen sicherstellen das die logische Struktur eines Chromosomes korrekt aus Genen zusammengesetz wird. In deinem Falle würden also die Genome sicherstellen das sich eine Formel aus abwechselnden Zahlen und Operatoren ergeben kann. Erst bei den Genen, also den Konstanten und Operatoren, wird eine Zufälige Bitänderung relevant. D.h. egel welche Bits in den Genen geändert wird, auf Grund der logischen Struktur nach Genomen->Chromosomen entsteht auf einem Chromosom immer eine funktionsfähige Formel.

Sollte denoch eine untaugliche Formel entstehen so wird diese NICHT durch spezielle Algorithmen ausgesiebt. Dazu ist ebenfalls nur die Selektions-Funktion zuständig. D.h. ein nicht überlebensfähiges Individuum, weil kaputte Chromosomen, wird einfach mit einer Fitness von NULL bewertet. Dadurch stirbt es in der nächsten Generation ganz von selber aus. Somit wird eine nicht funktionsfähige Formel am stärksten bestraft = mit dem Tode. Am Ende enthält unser Individuum-Pool nfast nur noch gültige Formeln. D.h. die Selektierungs-Funktion bewertet jedes Individuum abhängig davon ob es eine gültige Formel ist und wenn ja wie gut diese Formel an das Ziel herankommt. Danach werden alle Individuuen einer geschlechtlichen Fortpflanzung entsprechend ihrer Fitness unterzogen. D.h. man erzeugt die nächste Generation aus Individduen als Kinder der aktuell stärksten Individuuen. Anschließend wird ein sogenanntes Crossover auf die Chromosomen der neuen Generation angewendet. Dabei vertauscht man meistens innerhalb der Individuen ganze Chromosomen oder Genome untereinander. Abschließend wird noch eine Mutation an ca. 3% der Gene durch Bitänderungen durchgeführt. Nun wird erneut auf diese Generation die Selelktion durchgeführt usw. usw.

Im Grunde würdest du also keinerlei Neuronale Netzwerke usw. benötigen. Ich kenne auch keinen solchen Anwendungsfall wie du ihn beschreibst. Das einzigste was ich in diesem Zusammenhang weis ist das man NN's benutzt um die Evolutionsparamater = Mutationsrate, Vermehrungsrate usw. abhänig von der Stagnation der Evolution zu setzen. D.h. das Neuronale Netzwerk übernimmt die Aufgabe des Menschen indem es die Evolution abhänig von ihrer Wachstumsrate steuert.

Umgekehrt gibt es aber genetische Algortihmen die die Netzwerkstruktur von großen neuronalen Netzen optimieren sollen. D.h. die Aufgabe der gen. Algos. ist es möglichst Netzwerke zu finden mit wenig Neuronen und Verbindungen.

2.) Für OCR Systeme gibt es viele spezialisierte Netzwerke, zB. Hopefield Netzwerke. Im Normalfalle wird erstmal eine Sensorische Schicht definiert. Diese ist eine Matrix von Bildaktiven Sensoren. Dazu wird man technisch gesehen jedes Bild erstmal auf die Pixelgröße dieser Sensor-Matrix reduzieren. Nun wird diese Matrix nach bestimmten Regeln abgetastet. D.h. man reduziert zB. bei einer Matrix von 16x16 Pixeln auf zB. 32 oder 64 Inputs. Diese Inputs sind dann die Inpoutneuronen des Netzwerkes. Man macht diese Reduktion damit ein netzwerk eben nicht mit zB. 256 Inputs für eine 16x16 Matrix arbeiten muß. Dadurch wird das Netzwerk enorm beschleunigt da nun die "komplette" Bildinformation nur auf 32 oder 64 Inputs gemappt wird. Bei größeren Matrizen wird das noch deutlicher. Eine 1024x1024 Matrix hat 1 Mega Pixel, aber bei der H+V+D Abtastung eben "nur" 1024+1024+2047 Inputneuronen. Bei solch riesigen Matrizen lohnt selbst die H+V+D Abtastung nicht mehr da das Netzwerk einfach zu gigantisch wird. Ich habe dann immer mit einer Kombination per Fast Fourier Tranformation der Bilddaten gearbeitet.

Man sieht also das bei der Bilderkennung per NN's das Postprocessing der Bildinformationen sehr wichtig ist.

Ich persönlich habe mit mehreren solchen Matrix Typen für die OCR rumgespielt. Die besten Resultate erzielte ich wenn die Matrix horizontal, vertikal und diagonal in einer Richtung abgetatstet wurde. Desweiteren wurden die Sensoren der Matrix im Mittelpunkt der Matrix stärker verstärkt als die Randsensoren. Dies entspräche unserem Auge mit seinem hochaktiven Sehnerv. Wenn du also weitergehende Fragen hast dann frag einfach.

Gruß Hagen
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#43

Re: Neuronale Netze ???

  Alt 20. Jan 2004, 15:09
Übrigens, dein gen. Algorithmus wäre mit entspechenden Randbedingungen ein idealer Faktorizations-Algorithmus. Gegeben ist eine sehr sehr große Zahl die in zwei bis drei Konstanten per Multiplikation und einer Addition zerlegt werden soll. Die Konstanten selber müssen mindestens zweimal kleiner als die große Zahl sein. Wird damit ein Individuum mit Z=X*Y+U erzeugt wobei U=0 ist, so hat man die große Zahl Z in zwei Teiler zerlegt.

Gruß Hagen
  Mit Zitat antworten Zitat
Benutzerbild von flomei
flomei

Registriert seit: 17. Jan 2003
Ort: Schieder-Schwalenberg
2.094 Beiträge
 
Delphi 2005 Personal
 
#44

Re: Neuronale Netze ???

  Alt 7. Feb 2004, 23:07
Ich find das Thema durchaus interessant...
Heute war ich bei Jugend-Forscht und wir haben richtig schlecht abgeschnitten mit unserem Physik-Projekt...
Deshalb habe ich mir vorgenommen nächstes Jahr etwas im Bereich Informatik/Mathematik zu machen...
Dabei dachte ich an Neuronale Netze weil das ja noch ein wirklich unberührtes Thema ist. Ist zwar extrem kompliziert aber ich habe ja noch ein Jahr Zeit...
Wie fange ich am Besten mit dem Erlernen der Grundlagen von NN an?

Danke im Vorraus!

MfG Florian
Florian Meier
... ist raus.
Vielen Dank für die Zeit mit euch!
http://www.flomei.de -- http://www.md5hash.de
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#45

Re: Neuronale Netze ???

  Alt 9. Feb 2004, 00:15
Zitat:
Wie fange ich am Besten mit dem Erlernen der Grundlagen von NN an?
Puh, am besten nimmste dir 3-4 Tage Zeit und sammelst alles was im Netz dazu zu finden ist. Es gibt gute Einsteiger-Sites in deutsch die zwar einen oberflächlichen aber dennoch guten Einstieg bieten. Weiter gehts dann mit den meisten englischen Pages der Universitäten ua. die dann aber auch schon viel tiefer in die Technik eindringen. Du wirst dabei auch auf einige freie Software stoßen. Interessant sind dann auch schon die verschiedenen PDF's und PostScript's, die du benötigen wirst wenn du auf dem derzeitigen aktuellen Stand der Forschungen kommen willst.

Bücher solltest du mal bei Amazon versuchen.

Gruß Hagen
  Mit Zitat antworten Zitat
Benutzerbild von flomei
flomei

Registriert seit: 17. Jan 2003
Ort: Schieder-Schwalenberg
2.094 Beiträge
 
Delphi 2005 Personal
 
#46

Re: Neuronale Netze ???

  Alt 9. Feb 2004, 00:44
Vielen Dank für die Info... Ich hab ja noch rund 1 Jahr Zeit...

Mal sehen was ich so finde. Hast du da vielleicht ein paar sehr gute Einsteiger-Links oder soll ich mich erst durch alle Google-Ergebnisse quälen?

Danke!

MfG Florian
Florian Meier
... ist raus.
Vielen Dank für die Zeit mit euch!
http://www.flomei.de -- http://www.md5hash.de
  Mit Zitat antworten Zitat
Nicodius

Registriert seit: 25. Apr 2003
Ort: Graz
2.234 Beiträge
 
Delphi 2006 Architect
 
#47

Re: Neuronale Netze ???

  Alt 12. Nov 2004, 18:49
hab da noch einen sehr interessanten link ( bin jetzt auf den post hier gestoßen) da ich mich seit ein paar monaten schon über das thema informiere

hier isser
Nico Müller
  Mit Zitat antworten Zitat
pajofego

Registriert seit: 6. Okt 2004
103 Beiträge
 
#48

Re: Neuronale Netze ???

  Alt 20. Dez 2004, 16:27
Zitat von negaH:

Ein interessantes Projekt wäre für mich eine eigene Suchmaschine. Im Laufe der letzten 2 Jahre musste ich leider feststellen das die heutigen Internet-Suchmaschinen immer weniger für mich relevante Resultate bringen. Es werden immer häufiger irgendwelche virtuell-kommerzielle Links gefunden die auf eBay oder andere Suchmaschinen verweisen. Immer seltener findet man die echt guten privaten Homepages von wirklich interessierten Menschen. Das kann NICHT daran liegen das das Verhältniss von guten privaten Homepages zu kommerziellen Homepages verschoben wurde. Es liegt eher am pushen kommerzieller Pages. Öfters lege ich KEINEN Wert darauf sehr schnell Resultate zu bekommen. D.h. ein Such-Robot der über 1-2 Tage hinweg eine einzigste Suche ausführt, aber dabei WIRKLICH relevante Pages findet ist mir lieber, als Google mit seinen 10.000 Links auf eBay o.ä. Alleine schon der Fakt das man heute die echten kommerziellen Seiten der Hersteller nicht mehr so einfach findet ist schmerzhaft. Nun die Aufgabe des NN's wäre es die schnelle Entscheidung zu treffen ob eine anvisierte Hompage kommerzieller oder informeller Natur ist. Am besten sollte das NN nur auf Grund des Index-HTML's erkennen ob sich eine Suche auf der Hompage überhaupt lohnt. Das NN klassifiziert also den Internet-Spam-Müll !

Praktisch gesehen könnte das so funktionieren: Eine Software stellt Anfragen an Google oder MetaGear. Deren HTML's werden zerlegt und jede Seite per NN analysiert. Die Aufgabe der Software besteht also darin den Intenet-Spam-Müll raus zu filtern. Aus einem Resultat von zB. 10.000 Links bleiben dann 2-3 Kategorien übrig, wie Private Hompages, echte kommerzielle Firmen und Spam-Müll.

Gruß Hagen
Ooooooh...dieses Problem finde ich höchstinteressant. Ich plage mich ebenfalls damit rum teilweise nichts vernünftiges zu finden. Ohne programierähnliche Fähigkeiten wie "Suchbegriff" -ebay -amazon -billiger komme ich schon gar nicht mehr aus!

Meine Frage, hast du diesbzgl. etwas in letzter gemacht oder waren dies nur Gedankenspiele deinerseits?

Gruss pajofego
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#49

Re: Neuronale Netze ???

  Alt 20. Dez 2004, 18:30
Nein, in Bezug auf die Klassifizierung von HTML's habe ich nichts getan. Aber ein ähnliches Projekt das eine beliebige Datei klassifizieren soll habe ich umgesetzt. Dabei wird das NN mit einer Datenbank von vorklassifizierten, sprich handausgewählten, Dateien trainiert. Bei meinen Tests waren das alle Dateien auf eine Festplatte. Diese hatte ich manuell per Handanalyse in einen Katalog einsortiert und das Netzwerk daraufhin traniert. Der Test der Fähigkeiten des Netzwerkes wurde mithilfe der Dateien einer anderen Festplatte durchgeführt. Die Trefferquote lag dabei bei circa 92%.

Die WEB-basierte Idee ist natürlich um einiges schwieriger umzusetzen. Man benötigt erstmal einen HTTP Browser um den Links von Google etc. folgen zu können und die entsprechenden Seiten zu laden. Dann muß man alle HTML Formatierung, Java Scripte usw. aus den geladenen Seiten ausfiltern und dann die verbleibenden Informationen geeignet so umwandeln das sie einen kompakten Input für ein NN darstellen.

Soweit so gut, bleibt noch das Problem wie man das Netzwerk traniert, sprich woher man die Traningsdaten bekommt. Denn nur wenn die Auswahl der Trainingsdaten entsprechend groß, abwechslungsreich und exakt klassifiziert ist, kann das Netzwerk auch sinnvoll lernen.

Gruß Hagen
  Mit Zitat antworten Zitat
Kernel32.DLL
(Gast)

n/a Beiträge
 
#50

Re: Neuronale Netze ???

  Alt 20. Dez 2004, 20:43
Ich muss gestehen, dass ich sämtliche Posts "nur" Überflogen hab' und daher nicht hundertpro sicher sein kann, dass diese Frage nicht schon gestellt wurde:

Wäre es nicht reintheoretisch möglich,in deinem Testprogramm noch eine Netzwerkfähigkeit zu implementieren? Ähm, jetzt darfst du mich nicht falsch verstehen, ich dachte mehr an das Nutzen der Rechner in einem Netzwerk. So könnte man doch sicherlich die Rechenzeit des neuronalen Netzes verkürzen, wenn zwei oder mehr Computer gleichzeitig arbeiten könnten...

3..2..1.. Da war's meins!!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 5 von 8   « Erste     345 67     Letzte »    


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 05:45 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