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 6 von 7   « Erste     456 7      
pajofego

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

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
 
#2

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
 
#3

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
Benutzerbild von negaH
negaH

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

Re: Neuronale Netze ???

  Alt 20. Dez 2004, 21:07
Das Neuronale Netz müsste dann auf diese Rechner verteilt werden. Angenommen man verteilt Schicht für Schicht, sprich Layer für Layer auf die einzelnen Rechner, dann könnte der 1. Rechner mit Layer 1 anfangen zu rechnen. Der 2. Rechner müsste nun auf den Rechner 1 warten da dessen Output des Layers jader Input des 2. Rechners wäre. Der 3. Rechner müsste auf den 1. dann 2. Rechner warten usw. usw.
Allerdings nachdem der 1. Rechner fertig ist kann er schon mit den nächsten Daten weitermachen und so entsteht eine Art Pipeline so wie in modernen CPU's. Tatsächlich gibt es auf parallelen Neuronalen Netzen in Hardware die gleichen Probleme wie mit Piplines in modernen CPU's. Denn zB. das Recurrent Cascade Network, wie oben angewendet, hat Recurrente Verknüpfungen der Neuronen zu deren Vorgänger Neuronen. Anders ausgedrückt der Output eines Neuronsin Layer 3. kann als Input eines Neurons in Layer 1. dienen. Nun muß der Rechner der Layer 1. berechnet also wiederum auf das Resultat des Rechners 3. für Layer 3. warten. Dieser Rechner kann aber erst sein Resultat liefern wenn Rechner 2. = Layer 2. fertig ist.

Nun, leider sind es aber die Recurrenten Netze die sozusagen ein Gedächtnis besitzen, eben auf Grund der Recurrenten Links. Und erst die Fähigkeit eines Gedächnisses ermöglicht das Lernen von sequentiellen Abfolgen und Mustern. Als Beispiel: ein Netzwerk soll das Morsealphabeth lernen. Dabei gibt es nur EINEN Input in das netzund über diesen kommt der Morsecode als sequentielle Folge rein. An den Ausgängen des Netzwerkes sollen diedekodierten Buchstaben anliegen. Solche Traningsaufgaben lassen sich nur mit Recurrenten Netzwerken umsetzen. Die meisten interessanten Probleme sind sequentieller Natur und bedürfern somit Recurrenter Netzwerke.

Leider lassen sich solche Netze nicht parallelisieren

Man kann versuchen das Problem zu parallelisieren, und das läuft darauf hinaus das das Problem in Teilprobleme zerlegt wird. Für jedes Teilproblem ein eigenes Netzwerk das dann natürlich auf einem eigenen Rechner laufen würde. Nur, das bringt nicht viel Denn die finale Laufzeit eines Netzwerkes ist enorm schnell im Vergleich zur Trainingsphase. Das was das Netzwerk so langsam macht ist also nicht die Forward Propagation sondern das Training auf ein Problem.

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

n/a Beiträge
 
#5

Re: Neuronale Netze ???

  Alt 20. Dez 2004, 21:15
Hm.. Ok, ich denke, dass habe ich kapiert. Schad' drum. Wäre sicher interessant gewesen.
  Mit Zitat antworten Zitat
pajofego

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

Re: Neuronale Netze ???

  Alt 22. Dez 2004, 11:25
Zitat von negaH:
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%.
Interessant, wird es demnächst ein Programm zum Testen dafür geben?

Zitat von negaH:
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.
Ja stimme ich dir zu, ist ein bischen aufwendig, aber denoch machbar.

Zitat von negaH:
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
Genau das war auch die Motivation meiner Ursprungsfrage. Wie und mit welchen Daten soll man ein NN trainieren, damit es weiss was wichtig oder unwichtig bzw. Spam ist. Sollte dahingehend deinerseits noch Interesse bestehen könnten wir unter deiner Schirmherrschaft eine Art Brainstorming Thread starten zur Klärung der Frage: Mit welchen Inputs ein NN passable Resultate beim Suchen Informationsrelevanter Seiten liefern kann?

Gruss pajofego
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

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

Re: Neuronale Netze ???

  Alt 22. Dez 2004, 12:08
Die richtigen Trainingsdaten, tja das ist die Frage.

Wir geben dem Netzwerk einen beliebigen Input und dazu gleichzeitig die richtige Antwort die wir von ihm erwarten. Der Rest, sprich "sich" darüber "Gedanken" zu machen "was" nun "wie" zusammengehört ist die Aufgabe des Netzwerkes, das wollen WIR garnicht wissen Nur eines soll das Netzwerk aber richtig machen, es soll zu einem Input oder ähnlichem Input eine vorgegebene oder ähnlich vorgegebene Antwort liefern. Wichtig dabei ist aber das wir eben nicht wie Eltern jeden klitzkleinen Scheiß dem Netz vorplappern wollen, sondern mit möglichst wenigen oder unvollständigen Inputs soll das Netzwerk eine passable Antwort liefern. Wie, das ist uns im Grunde schnuppe.

Denoch, wenn wir schlechte Eltern sind, und einmal Hü das anderemal Hot sagen, sprich sich logisch widersprechende Trainingsangaben machen dann kann das Netz nicht lernen. Auch wenn der Zusammenhang zwischen Input und Output zu komplex für das Netzwerk ist oder das Netzwerk garnicht darauf ausgelegt ist wird es nicht in der Lage sein zu lernen.

D.h. wir müssen uns doch wiederum auch Gedanken machen wie das Netzwerk was lernt, damit es funktionieren kann.
Allerdings eben nur im Grob-Theoretischen und nicht bis zum letzten kleinen Schritt und Neuron.

Ausgehend vom HTML wissen wir
- es muß meßbare Unterschiede geben zwischen Spam und wichtigen Seiten
- denoch ist HTML eben HTML und alle Seiten folgen den gleichen Regeln
- wir wissen aber definitiv nicht ob die meßbare Varianz der HTMLs zwischen Spams und wichtigen Seiten logisch ist, d.h. gibt es immer wiederkehrende Muster in Spams die sie von wichtigen Seiten unterscheiden, oder sind die Programmierer der Spams so clever und abwechslungsreich in ihrem HTML Code das es keine Möglichkeit gibt, selbst für Menschen nicht, deren Spam HTMLs von wichtigen Seiten zu unterscheiden.

Der letzte Punkt ist aber die schönste Motivation beim Thema. Denn solche Probleme sind es in denen uns das Netzwerk wirklich überraschen kann, und aus unserer Sicht fast schon intelligent reagiert. Das liegt daran das die Informationsflut uns Menschen überlastet und so die kleinen Unterscheidungsmerkmale nicht auffallen. Dem Netzwerk entgingen solche Unterschiede aber nicht und es reagiert mit einer sauberen Lösung die wir nicht so erwartet haben.

Nun, die Trainingsdaten beim HTML Problem sind das wichtigste. Man benötigte eine ziemlich große aber gewichte Auswahl von schlechten und wichtigen HTML Seiten. Diese Auswahl muß mindestens zweimal vorhanden sein, sprich man benötigt zwei Test-Kataloge. Mit dem einen Katalog wird das Netzwerk trainiert mit dem zweiten wird dessen Voraussage verifiziert. Das wäre der letze Schritt nachdem man die Probleme der Aufbereitung der HTML Seiten, deren Filterung, des Browsens gelösst hätte.

Gruß Hagen
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

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

Re: Neuronale Netze ???

  Alt 22. Dez 2004, 12:31
Achso, damit du keine falsche Vorstellungen hast:

Das Netzwerk soll nicht nach Informationen suchen, das übernimmt Google oder jede andere Suchmaschine. Es soll lernen so wie WIR die gefundenen Resulate nach UNSEREM Geschmack zu unterscheiden, nach wichtig und unwichtig. Es soll also nach Möglichkeit die Seiten selbständig so klassifizieren wie wir es getan hätten. Das Ziel ist es also Zeit zu sparen da das Netzwerk rund um die Uhr tausende von Seiten abarbeiten kann, so als wenn wir das machen müssten.

Dies impliziert also auch das das Netzwerk sich unserem "Geschmack" anpasst, das jeder für sich das Netzwerk persönlich trainieren muß.

Das Netzwerk sucht also nicht nach Informationen, sondern filtert eine Google Suche indem es dem Link folgt und diese HTML Seiten für uns klassifiziert und in Kataloge einordnet.

Wie könnte das gehen ?
Als erstes mal müsste man das HTML Format genauer untersuchen. Sprich wie kann man das HTML so vorfiltern das es eine gewichte Abschätzung liefert über prozentuale Anteile von Headern, Bildern, Verlinkungen, Texten, welche Sprache enthält der Text, Java Scripten usw. usw. Dieser Output wäre schon ein Input für das Netzwerk. Zb. die blöden Conrad-Elektronik Verlinkungs-Seiten die auf jedes Suchwort reagieren, immer andere URL's benutzen und denoch alle bei Conrad landen, ließen sich damit schon ausfiltern. Denn alle diese Seiten haben eine überdurchschnittliche Link-Anzahl. Oder Porno Seiten haben eine überdurchschnittlich hohe Anzahl von Bildern.

Danach könnte man noch die verbleibenden Textuellen Informationen dem Netz zuführen. Man müsste den Text aber vorher Klassifizieren. Vorstellbar wäre das indem man Wörterbücher benutzt, für Deutsch, Englisch usw. und nun die Häufigkeit der übereinstimmenden Wörter zu jedem Wörterbuch berechnet. Man könnte also auch Wörterbücher mit verbotenen Wörtern oder mit gesuchten Wörtern aufbauen und so die verlinkten HTML's untersuchen.

Es wäre auch möglich eine "Spektralanalyse" über die verbleibenden Texte oder Bilder durchzuführen. D.h. per Fourier Transformation wird sozusagen eine Frequenzspektrum über die Daten erzeugt. Vorteil dabei ist das man so beliebig große Datenmengen auf eine kleine Datenmenge mit fester Größe (z.B. 128 Doubles) reduzieren kann. Diese 128 Werte werden ebenfalls dem Netzwerk zugeführt.

Gruß Hagen
  Mit Zitat antworten Zitat
trasher

Registriert seit: 17. Mai 2008
3 Beiträge
 
#9

Re: Neuronale Netze ???

  Alt 20. Mai 2008, 21:52
Ist es eigtl. möglich so etwas wie eine Buchstaben Erkennung oder allgemein die Erkennung von bestimmten Zeichen auch ohne ein neuronales Netz zu realisieren und trotzdem gute Ergebnisse dadurch zu erzielen? Der Source mit über 2000 Zeilen wirkt schon etwas abschreckend, vor allem da es sich dabei um ein doch recht simples Beispiel handelt.
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Neuronale Netze ???

  Alt 20. Mai 2008, 21:56
Natürlich sollte das gehen.
Du must halt alles selber programmieren. Das ist ja gerade das interessante an einem Neuronalen Netz, dass es anlernbar ist und die Unterscheidungsfunktion mit der die zu erkennenden Muster im Geamtensuchraum unterteilt werden können wird durch das Netz erstellt. Aber du kannst so eine Klassifizierung natürlich auch selber schreiben und nicht automatisch erstellen lassen.

Gruss
Thorsten
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 6 von 7   « Erste     456 7      


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 22:58 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