Hab ihn wieder gefunden: The Golem Project
(-> Download -> Golem 2.45)
Schauts euch mal an, ist wirklich interessant
Druckbare Version
Hab ihn wieder gefunden: The Golem Project
(-> Download -> Golem 2.45)
Schauts euch mal an, ist wirklich interessant
Wer macht denn sowas? Das wäre wie "ich schreibe ein Programm und schaue nach, was es kann." Diese Aussage macht für mich wenig Sinn.Zitat:
Zitat von Nebirosh
Neuronale Netze und alle anderen KI-Ansätze sind keine Hexerei und keine Multifunktionstools mit denen ich alle Probleme lösen kann, im Gegenteil.
Die Netztopologie muß genau an das Problem angepasst sein. Das Netz muß trtainiert werden. Am Ende steht eine Struktur, die genau die definierte Aufgabe lösen kann, aber nicht mehr.
Wenn ich mein Problem und dessen Lösung mathematisch exakt oder hinreichend genähert beschreiben kann, brauche ich kein NN oder genetische Algorithmen oder sonstwas. Das kann mir als Programmierer zwar Spaß machen, effizient ist es aber nicht.
Immer dann, wenn die Überführung eines Problemes in ein mathematisches Modell zu schwierig oder zu unflexibel ist, kann ich über einen KI-Ansatz nachdenken, vorher macht es einfach keinen Sinn.
Genauso sinnlos finde ich den ständigen Vergleich von NN mit dem menschlichen Gehirn. Es ist ja nun nicht so, daß man ein Gehirn züchtet, irgendwo hinlegt und dann ist es von selbst intelligent (bloß weil es ein Gehirn ist und Gehirne sonst auch immer intelligent sind). Abgesehen von der geschilderten mangelhaften Umsetzbarkeit auf heutigen Computern gibt es viel grundsätzlichere Probleme. In jedem Gehirn stecken einige Millionen Jahre Evolution sowie die individuelle Entwicklung vom Fötus bis zum (mehr oder weniger) ausgewachsenem Menschen (dazu gehören auch die verschiedenen sensorischen Reize). Man kann nicht erwarten, auch nur ansatzweise irgendwas vergleichbar komplexes zu erreichen in dem man die bloße Verschaltungsstruktur (NN) schafft und sonst nix weiter tut. Einer Maschine "das Denken" beibringen gleich garnicht.
Ich möchte hier mal Derek Partridge zitieren, der das Problem sehr treffend beschreibt (zwar angewendet auf die Bildverarbeitung, aber trotzdem zutreffend):
"Imagine you've been asleep for a long time, a very long time. I'm not talking abtout the average Sunday-morning lay in; the length of time that I'm asking you to consider is something more like a million years. Now, that's a long sleep. ... Now, imagine further thate you're just coming round to consciousness after this long snooze. The world that you used to inhabit has long since vanished; you are surfacing in a totally alien environment. Nothing looks at all familiar. There is nothing you can relate to: no obvious people, no cosy couch, no chairs, no recognizable room. At that moment, just as you are about to scream and conk out again, an array of 1000x1000 black and white squares floods your visual system, and you are asked what you can recognize in the image."
hallo
ich habe damal eine dumme frage
ich dachte immer das neuronale netzwerk physikalisch gebaut sind und nicht programmiert sind, als das die die hardware sind...
stimmt das nicht
was genau ist ein neuronales netzwerk?
hat data nicht auch so eins?
Hallo Leute
Auch ich bin frisch dabei. Es geht darum ein NN aufzubauen, aber ich weiss gar nicht, worauf es dabai ankommt. was zu beachten ist. Theorie ist keine Frage, ahbe sogar meine Pruefung in NN gemacht, aber praktisch ein NN aufzubauen, da weiss ich gar nicht, wo ich anfangen soll.
Zunächst habe ich meine Eingangsparameter für die bestehende Problematik bestimmt. und das sind nicht gerade wenige. Ich weiss auch, was ich als Ausgang benötige, aber ich weiss nicht worauf ich achten muss, wenn ich das NN aufbauen moechte. Wieviele Layer ich benoetige, welche Funktion (Akticierungsfunktion) fuer welches Neuron, wovon das abhängig ist?!
Zunächst habe ich mir gedacht mit dem Simulator anzufangen, bevor ich implementierungsaufwand in die Aufgabe stecke. Somit kommt halt die Frage auf, Wieviele Neronen benötige ich, wieviele hidden Layer sind noetig, wievile Neuronen in einem Layer gebraucht werden, welche Aktivierungsfunktionen muessen oder sollten eingesetzt werden.
Kann mir jemand sagen, wie ich vorgehen sollte oder könnte?? Gibt es Literaturen oder Internet siden, die einen diebezueglich aufklaeren??
habe ebenso versucht denn SNNS unter WIn XP zu installieren, doch das hat auch nicht geklappt. Gibt es Installationshinweise zu SNNS oder wuerdet ihr mir einen anderen Simulator empfehlen.
Bei dieser Aufgabe handelt es sich um ein Projekt, deshalb sollte der Simulator auch stabil laufen.
Waere euch sehr dankbar, wenn ihr mir etwas weiterhelfen könntet, denn bislang hatte ich nichts mit NN/ KI zu tun gehabt, obwohl es mich schon immer interessiert hat.
Grüsse Skoopy
Zuerst solltest Du Dir mal die Frage stellen, welches Problem gelöst werden soll. Je nach Problemstellung (Regelung, Mustererkennung, Klassifikation, Clusterung) kommen verschiedenen Typen von Netzen in Frage.
Die Programmierung ist nicht allzu schwer, da findest Du jede Menge Sourcecode im Netz. U.A in der ltilib (gibts auf sourceforge).
Ein Feld der KI wurde hier noch nicht angesprochen. (Aufjedenfall habe ich es beim diagonallesen dieses Threads nicht gesehen) Die Wegfindung.
Ich würde nie ein NN zum Suchen auf einem endlichen/unendlichen (un-)gerichteten Graphen benutzen. Da gibt es bessere Algorithmen, die Teils in KI Büchern, Teils in Büchern für Algorithmen zu finden sind.
Stichworte sind da wohl: Greedy, Dijkstra und A* (sprich A-Stern oder engl. A-Star).
Stimmt. Erwähnenswert ist sicher, dass (derzeit) für manche Probleme kNNs nicht gut funktionieren.
Hallo allerseits
erst einmal Merci an ogni42 für deine Antwort. Und zwar handelt es sich hierbei eher um eine Reglung.
Das ganze soll im Bereich der Werkstofftechnik laufen. Man kann sich vorstellen ich habe ein Material X mit einer beliebigen chemischen Zusammensetzung. Dieses Material soll angelassen werden, um eine bestimmte Festigkeit zu erreichen. Aufgrund des produktionstechnischen Vorlebens des Materials können trotz identischer chem. Zusammensetzung unterschiedliche Festigkeiten entstehen. Jetzt geht es darum, die Anlasstemperatur zu bestimmen.
Ich hoffe ich konnte euch mein Problem etwas näher bringen und hoffe auch, dass ein paar hinweise und Ideen von euch bekomme. Ich brauch unbedingt unterstützung, weil ich ganz neu auf diesem Gebiet bin
Danke vorab von
skoopy
Hallo leute,
wie ich sehe, kann mir wohl keiner weiterhelfen, daher möchte ich euch um Infomaterialien bitten. Welche Bücher oder Internetseiten könnten mir beim Aufbau eines NN weiterhelfen?
gruesse
skoopy
Hallo skoopy,
ich hatte einfach mal einen Simulator runtergeladen und rumprobiert: Je nach Menge der Eingangsneuronen und Komplexität der Aufgabe sollte die Größe des Netzes angepasst werden, d.h. für eine simple AND-Lösung reichen direkte Verlinkungen der Eingangs-/Ausgangneuronen. Wenn das Netz zu groß ist, lernt es Deine angelegten Muster auswendig und hat keine Ahnung, wie es bei neuen Mustern reagieren soll.
Abhängig davon, wie viele verschiedene Muster Du zum Trainieren anlegst und wie viele Ein-/Ausgangswerte Du hast, kannst Du mit ein wenig rumprobieren herausbekommen, wie viele Neuronen in wie vielen Schichten Sinn machen. Die Anzahl der Links wird dann irgendwann auch mal eine Frage Deiner Hardware...
Mit SNNS bin ich nicht klargekommen, ich hab mit Membrain rumprobiert, ich glaub, das gibts hier unter Downloads.
Hoffe, ich konnte Dir ein klein bischen weiterhelfen.
Gruß,
Gutzufuss2005
Bücher:
Zell: Simulation Neuronaler Netze
Haykin: Neural Networks
Es gibt noch etliche Andere. Auch das Buch von PaulRoja ist sehr gut. Das Buch von Zell ist schon älteren Datums aber immer noch sehr empfehelenswert für den Einstieg. Gute Mathekenntnisse muss man bei allen mitbringen.
Es gibt einige C/C++ Bibliotheken, in denen schon kNNs implementiert sind. U.a. in der ltilib (gibts auf sourceforge).
Hallo skoopy,
dein Problem läßt sich wahrscheinlich am besten mit einem Feed-Forward Netz lösen. Ich würde mit einer versteckten (Hidden) Schicht anfangen.
Deine Eingangsparameter sollten auf den Bereich 0..1 bzw. -1..1 normiert sein, je nachdem, ob sie nur positiv oder auch negativ sein können.
Im ersteren Fall empfehle ich eine logistische Übertragungsfunktion, im zweiten Fall tangens hyperbolicus.
Schwieriger ist da schon die Kodierung des Netz-Ausgangs, ich weiß nicht, ob da ein Neuron reicht (für die Anlasstemperatur).
Hast Du schon Datensätze zum Trainieren? Kannst sie mir gerne mal schicken, dann kann ich Dir vielleicht etwas Support damit geben (ich bin der Autor des neuronale Netze Simulators MemBrain)
http://www.membrain-nn.de
Grüße,
Friggle
(Thomas Jetter)
Hallo Leute
erst einmal danke fuer die Tipps. Bislang habe ich es geschafft den javaNNS zum laufen zu bringen, das war easy. Was auf jedenfall nicht eintretten soll ist was Gast geschrieben hat: "Wenn das Netz zu groß ist, lernt es Deine angelegten Muster auswendig und hat keine Ahnung, wie es bei neuen Mustern reagieren soll." Das NN soll mit nicht bekanntet Datensätzen was anfangen können. Also nichts auswendig gelerntes.
Friggle ich werde mal versuchen auch deinen Simulator zum laufen zu bringen.
So wie ich mir das ganze erarbeitet habe, habe ich momentan 24 Eingangsparameter, wobei man diese zu 7Grruppen gruppieren kann. Für den Ausgang benötige ich 2 Ausgangsparameter (Anlasstemperatur T und Anlasszeit t). Beide müssen bestimmt werden.
Trainigsdaten habe ich auch. Da mir ne ganze Datenbank zur Verfügung steht, muss ich noch die entsprechenden Daten zusammentragen. Dann kann ich sie dir zukommenlassen.
Also habe ich euch richtig verstanden: Der Aufbau eines NN entsteht durch probieren?? stehen hier keine Gesetzmaessigkeiten hinter?
gruss skoopy
Es gibt Netztypen, die ihre Topologie selbständig finden. S. Zell, da ist das erklärt.
Wenn Du ein FF-Netz mit einem Backprop (oder verwandten) Training verwenden willst, kannst Du mit der Größe der verdeckten Schicht experimentieren. Da Du 7 Gruppen hast, könntest Du mit 7 oder 14 Neuronen in der verdeckten Schicht beginnen.
Sollten die Parameter zwischen den Gruppen voneinander unabhängig sein, ist es vielleicht besser mehrere einzelne Netze zu Trainieren (also max 7) und dann deren Ausgabe auf ein weiteres Netz zu geben, dass die Ausgaben generiert. Es könnte sein, dass die Generalisierungsfähigkeit dadurch verbessert wird. Auf jeden Fall sinkt die zum Training erforderliche Rechenleistung, da die Gewichtsmatrizen erheblich kleiner werden.
Hallo Leute
Kann mir jemand sagen, wovon die Aktivierungsfunktionen abhängig sind?? Wie erkenne ich welche Aktivierungsfunktion eingesetzt werden soll??
Eine Weitere Frage: Ich habe zwar 4 Ausgänge (TA1, TA2, tA1, tA2) dabei sind TA2 und tA2 von TA1 und tA1 abhängig. Kann ich TA1und tA1 jeweils mit TA2 und tA2 verbinden, obwohl beide als Ausgaenge gelten?
gruss
skoopy
Wenn die Abhängigkeiten bekannt sind, ist es einfacher, die im Nachhinein zu berechnen. Damit vereinfachen sich die Netztopologie und das Training, der Berechnungsaufwand sinkt.
Hallo alle zusammen, zur Eingagsfrage bzgl. echter KI:
Bereits vor einigen Jahren gab es mal einen Bericht über ein Projekt namens Cyc (www.cyc.com), welches als das letzte vielversprechende Projekt auf dem Gebiet der künstlichen Intelligenz (KI) bezeichnet wurde.
Cyc kann man m.E. als wirklich echte KI bezeichnen!
@McCrown
jop und es gibt eine open soure version... opencyc http://sourceforge.net/projects/open...4.zip/download