Archiv verlassen und diese Seite im Standarddesign anzeigen : Grundsätzliches zu KI und NN
Nebirosh
12.12.2003, 16:08
Nachdem das forum nun um den begriff KI erweitert wurde und ich mich ja bereit erklärt habe hier ein wenig als supporter einzuspringen ein paar grundsätzliche dinge zu dem Begriff KI bzw. was sie bewirkt und kann
Jedes höhere lebewesen ( ein regenwurm z.B. ) verfügt über intelligenz. seine intelligenz besteht nicht darin etwa werkzeuge zu erfinden oder feuer zu machen, sondern zu wissen wann er an die oberfläche kommen kann ( nach einem regenguss ) oder nicht. vopm prinzip her ist ein roboter der ein hindernis erkennen kann zurücksetzt und das hindernis umgeht schon in irgend einer form intelligent. die meisten menschen verstehen unter KI so etwas wie den terminator C3PO oder R2D2. um eine KI sinnvoll einzusetzen muss man sich zunächst gedanken darüber machen welches grundlegende wissen sie benötigt um die aufgabe für die sie konzipiert wurde zu bewältigen. man spricht in diesem fall auch von expertenwissen. mit anderen worten eine KI kann das wetter vorhersagen, grob gesproche aber nicht 1 und 1 addieren weil ihr dazu das wissen fehlt. hier die vorgehensweise der möglichkeit eine omnipotente KI zu erschaffen würde momentan den rahmen sprengen. ich werde jedoch versuchen hin und wieder gedankenansätze und verschiedene algorithmen die mit den begriffen KI und NN in bezug stehen hier einzufügen.
Hi
Interessanter Beitrag!
Allerdings ist ein Ausweichen von einem Hinderniss ja keine Intelligenz, es ist ja vom entwikler so programmiert worden!
Intelligent wäre es, wenn er sich das hindernis merkt und garnicht mehr anfährt!
Das wäre aber dann auch vom Entwickler so einprogrammiert!
Für mich ist KI eher sowas wie sich eigene Problemlösungen auszudenken etc.
Nebirosh
14.12.2003, 05:06
Damit eine KI probleme löst muss sie über ein einprogrammiertes wissen verfügen, eine hierfür geeignete software ist z.B. Prolog. Wie eingehend beschrieben ist diese KI dann aber lediglich in der lage auf einem teilbereich eine gültige problemlösung zu geben. sicherlich kann man das verhalten eines Roboters so programmieren, ich denke meine aussage wurde missverstanden. ich bin nicht von einer logischen programmierung ausgegangen, sondern von einer eigenständigen lösung des problems, "verhalten bei kollision" ( denkbar als implementation eines neuronalen netzwerkes wobei die verschiedenen möglichkeiten ( setze zurück , drehe dich nach rechst etc.) als ausgabeschicht des netzwerkes fungieren )
Diese ansätze oder auch progamme sind allerdings nicht auf microprozessoren oder controllern implementierbar und bedürfen schon erheblicher computerpower, um in einem adequaten zeitrahmen zu einem ergebnis zu führen.
Allgemein ist in meinen augen der begriff KI sehr weitläufig definiert, einige forscher auf diesem gebiet halten das verhalten eines regenwurm durchaus für intelligent und konnten nachweisen das er dieses verhalten erlernt, wer sagt denn das man bestimmtes verhalten eines autonomen roboters von vornherein fest programmieren muss oder sollte. Ein programmiertes verhalten zeigt schnell den erfolg des programmierers, kann jedoch auf nicht vorhersehbare ereignisse meist nur unzulänglich oder garnicht reagieren ( verrauschte sensordaten etc )
Ich halte einen Roboter schon ab dem Zeitpunkt für intelligent wenn er aufgrund von Sensoren ausweicht, selbst wenn es nur Mikroschalter wären. Vorprogrammiert ist zwar das Verhalten auf Sensordaten aber nicht wo und wann er auf welche Hindernisse stösst.
Ich denke hier fängt nämlich schon die KI an. Große Neuronale Netze machen auch nicht viel mehr, nur für den Menschen sind die Entscheidungen manchmal schwerer zu durchschauen.
Im übrigen müsste man kleinere neuronale Netze schon problemlos in einem Mikrocontroller unterbringen können
Andi
Hallo,
sehr interessantes Thema. Ich möchte mal einige grundlegende und in meinen Augen wichtige Details ergänzen.
Grundsätzlich kann man das Verhalten eines Roboters (nachfolgend verwende ich mal den weiter gefassten Begriff "Agent", siehe Multiagentensysteme etc) in zwei Gruppen einteilen.
Da gibt es einmal die reaktiven Agenten, die sozusagen reflexartig auf Wahrnehmungen ihrer Umwelt reagieren. Rein reaktive Agenten sind nicht zielgerichtet, das heißt, sie planen ihr Verhalten nicht in irgendeiner Form. Auf Sensoreingaben wird mit relativ einfachen Bedingungs-Aktionsregeln reagiert. Bestimmte Wahrnehmungen lösen also bestimmte Verhaltensweisen aus. Beispiele für reaktives Verhalten bei Robotern sind die typischen "Fahre in der Gegend herum und drehe dich von Hindernissen weg" -Programme. Auch Insekten, wie Bienen oder Termiten werden als reaktive Agenten gesehen. Hier wird aber schon deutlich, dass viele einfache reaktive Agenten zusammen erstaunliche Leistungen vollbringen können. Stichwort Schwarm-Intelligenz, swarm-intelligence.
Dieses reflexbasierte Verhalten lässt sich sehr gut mit der von Rodney Brooks vorgeschlagenen subsumption-Technik programmieren.
Im Gegensatz zu reaktiven Agenten haben kognitive Agenten eine relativ genaue Repräsentation ihrer Umwelt, haben (wie schon von anderen angesprochen) eine gewisse Wissensbasis (Expertenwissen) und sind in der Lage, ihr Verhalten explizit zu planen, um ein vorgegebenes Ziel zu erfüllen. Aufgrund ihrer Wissensbasis können kognitive Agenten Schlußfolgerungen aus Aktionen und Situationen ziehen und damit die Auswirkungen ihres Handelns vorhersehen.
Natürlich gibt es viele Übergangsformen zwischen beiden Gruppen. Der klassische "Heimroboter" wird eher der ersten Gruppe zuzuordnen sein, da das wirkliche "Planen" von Aktionen doch recht aufwendig ist.
Wenn man so lapidar von Intelligenz oder KI redet, stellt man sich meist einen kognitiven Agenten vor, der sich ganz menschenähnlich und vernünftig verhält. Dieser Ansatz ist nur einer von vielen möglichen Definitionen für den Begriff "KI". Eine allgemeingültige Definition von KI gibt es garnicht.
Soweit erstmal meine Gedanken zum Thema. Ich würde mich freuen, wenn über diese Bereiche KI, Neuronale Netze usw. noch viel mehr diskutiert werden würde.
Grüße,
zefram
Hallo Zefram,
interessanter Beitrag. Nur sollte man bei der Diskussion Intelligent, künstlich intelligent, bewusst, menschenähnlich und gerade auch vernünftig streng voneinander unterscheiden. Das eine muss nicht unbedingt mit dem anderen zusammenhängen.
Gute Überlegungen stellt da z.B. der Herr Lem in seinen Schriften an.
Gruß Odlanir
Ja das Thema ist schon sehr interessant. Wobei mir mal der Gast erklären müsste wo der Unterschied zwischen künstlich Intelligent und Intelligent wirklich ist? Gibt es da wirklich einen Unterschied? Oder ist nicht der Mensch im Grunde auch nur ein Expertensystem mit einem besonders großem Weltwissen?
Und was ist Wissen und Intelligenz genau? Ist ein Schachprogramm das selbst die besten menschlichen Schachspieler schlägt, intelligent? Viele würden spontan sagen das dies ein intelligentes Programm sein muß. Dabei wird gerade in der Schachprogrammierung gut demonstriert wie einfach doch eigentlich der Algorithmus ist und wie schnell so etwas für intelligent gehalten wird. Etwas verkürzt dargestellt, macht ein Schachprogramm nicht mehr als alle eine große Anzahl von denkbaren Zügen/Stellungen auszuprobieren. Eigentlich eine sehr primitive Methode. Stellt Euch mal vor ein Koch würde alle Zutaten die er findet einfach wild kombinieren und schauen welche Kombination schmeckt bzw. welches man überlebt :-)
Diese doch recht primitive Methode nennt sich „Brute Force“ Algorithmus. Diese Methode wird im übrigen von vielen Programmen genutzt die viele als intelligent bezeichnen würden. Wer das genaue vorgehen von solchen Programmen kennt, wird eigentlich weniger von KI sprechen, auch wenn die Ergebnisse solcher Programme oft nicht mehr so leicht vorhersehbar sind.. Vielleicht wird man irgendwann die Funktion des menschlichen Gehirnes soweit durchleuchtet haben das man da auch nicht mehr von KI bzw. Intelligenz reden kann. Oder man muß dann denn Begriff wieder ganz neu definieren.
Gruß Frank
Nebirosh
15.12.2003, 23:09
Der thread füllt sich ja relativ schnell.
mal etwas zu einem satz von frank "Vielleicht wird man irgendwann die Funktion des menschlichen Gehirnes soweit durchleuchtet haben das man da auch nicht mehr von KI bzw. Intelligenz reden kann. Oder man muß dann denn Begriff wieder ganz neu definieren. "
wenn man sich neuronale netzwerke anschaut wird dieser versuch immer wieder gestartet, mit welchem ausgang müssen wir abwarten. für alle interessenten, schaut euch mal den SNNS ( stuttgarter neuronale netzwerk simulator ) an.
Hallo Leute ich beschäftige mich mit diesem thema schon etwas länger.
weil ich gerne einen roboter mit lernfähig bauene würde. Und ich muss sagen das alles was ich bis jetzt lesen und erfahren konnte immer wieder
auf das selb probelm stösst. Ich kann lernen und erhalte eine menge an daten. diese menge wird allso immer grösser damit das system immer langsamer. Also bitte wie programmiert man vergessen ? denn auch wir (die mensch) vergesssen viel. und nur so sind wir in der lange weiter zu lernen.
Ich möchte in der Diskussion gerne auch auch einen interessanten Artikel aufmerksam machen http://lexi-tv.de/lexikon/thema.asp?InhaltID=704&Seite=1
http://lexi-tv.de/pix/Begriffstextbild/704_397_Haupt.jpg
Ist es wirklich das vergessen das dem Mensch das weiterlernen ermöglicht oder ist es vielmehr die Eigenschaft das man sein Wissen korrigiert und Dinge die sich als falsch, weniger wichtig herausgestellt haben eine niedrigere Priorität bekommen. Letzlich so niedrig bis man es "vergessen" nennen kann.
Wenn ich es richtig sehe, dann ist das ja im neuronalen Netz nicht viel anders. Die Speicherkapazität ist da ja von Anfang an vorgegeben und wächst eigentlich nicht mehr während des lernens. Es werden nur die Vernüpfungen, die Prioritäten ständig aktuallisiert. Dinge die sich während des Lernens mehrfach als falsch erweisen werden doch quasi auch vergessen. Oder sehe ich das falsch, ich bin kein Experte in Bezug auf das neuronale Netz.
Gruß Frank
Hallo Leute ich beschäftige mich mit diesem thema schon etwas länger.
weil ich gerne einen roboter mit lernfähig bauene würde. Und ich muss sagen das alles was ich bis jetzt lesen und erfahren konnte immer wieder
auf das selb probelm stösst. Ich kann lernen und erhalte eine menge an daten. diese menge wird allso immer grösser damit das system immer langsamer. Also bitte wie programmiert man vergessen ? denn auch wir (die mensch) vergesssen viel. und nur so sind wir in der lange weiter zu lernen.
Hallo Gast,
Lernen heißt doch nicht Datensammeln. Ein Roboter sollte aber vielleicht beides können. Als Beispiel für eine Datensammlung wäre den zurückgelegten Weg zu kartographieren, mit Hindernissen etc. Ein Beispiel für Lernen ist sicher komplexer. Da müßten sich mehrere Lösungen für ein Problem anbieten, die erst mal alle gleichwertig sind. Wenn dann eine Lösung schneller zum Ziel führt als eine andere, ändern sich die Wertigkeiten der Lösungen. Das heißt aber nicht, daß die andern Lösungen "vergessen" werden können. In einer anderen Situation ist möglicher Weise eine andere Lösung besser, obwohl die Situation nur geringfügig anders ist, als die erste. Was man dann zusätzlich speichern muß sind nicht dauernd neue Lösungen, sondern neue Wichtungen der Lösungen untereinander, und zusätzlich die Parameter der Situation. Wenn dann die Zahl der Situationen zu groß wird, müssen sie in Gruppen gegliedert werden, auf die ein Lösungsansatz paßt. Wir lernen ja auch nicht das überqueren jeder Kreuzung neu...
Ist aber ein interessantes Thema
Gruß
Torsten
Nebirosh
16.12.2003, 15:47
Lernen bedeutet nicht nur das Sammeln von Fakten und Daten. Natürlich könnte man ein Neuronales Netzwerk erstellen das von der seiner größe her daten sammeln könnte, um damit seine umwelt weitesgehend zu verstehen. in der praxis geht man jedoch einen anderen weg, und zwar hin zum minimalismus. je weniger einzelen Neuronen ein netzwerk hat ( hier sind die neuronen der verdeckten schichten gemeint ) umso schneller bilden sich die verknüpfungsmuster. ansich ein logsicher vorgang, je mehr neuronen verhanden sind, umso mehr werden eingabe und ausgabe schichten direkt miteinander verknüpft. aber wie Frank denke ich auch, das "vergessen " ansich nichts anderes ist als eine art von weniger gewichtung. Mit anderen Worten je öfter wir über etwas nachdenken umso mehr gewicht bekommt die " speicherung " dieses sachverhaltes.
P.S. ich hoffe man kann meinen teilweise wirren gedankengängen einigermaßen folgen.
Nebirosh
16.12.2003, 16:01
zu dem artikel auf der lexi-tv page. ich denke mal wir sind hier alle derart realistisch uns nicht mit der erschaffung von einer absoluten KI auseinander setzen zu wollen. in meinen augen ist dies im moment noch reine utopie. Ich sehe die mitglieder dieses forums als enthusiasten, größere oder kleinere kinder die ihren spieltrieb auf ein besonderes teilgebiet der technik verlagert haben. wobei natürlich aus durchaus nutzbringe dinge hierraus entstehen können wie zum beispiel ein staubsaugender roboter oder mal ein wenig weiter gedacht ein roboter der einem sonntags morgens das frühstück bringt. ich denke für alle von uns ist der traum einen roboter zu bauen der alles kann, lernfähig ist und auf neue ihm unbekannte umgebungen oder situationen "richtig" ( im menschlichen sinne richtig ) reagieren kann, das größte. doch seien wir realistisch um einen humanoiden roboter zu bauen der das kann fehlt uns zum größten teil das know how, das geld , die labore und ein hochrangiger stab von mitarbeitern. aber eines muss ich wirklich sagen, ich hätte nicht damit gerechnet das dieser teil des forum so schnell eine so schöne und interessante wenngleich auch teilweise kontroverse diskussion hervorbringt.
macht bitte weiter so
Nebirosh
16.12.2003, 16:07
und noch einmal.
ich würde mich freuen wenn ihr eure gedankenansätze, mögen sie euch auch noch so wirr oder unwichtig erscheinen zu posten. ich denke dabei nicht an irgend einen quelltext für eine bestimmte plattform sondern einfach eure ideen, vermutungen, ansätze um einen roboter ein wenig intelligent zu machen
Ich möchte Anmerken das ich nun für den Themenbereich KI eine eigene Link-Kategorie angelegt habe. Wäre schön wenn der ein oder andere ergänzende Links dort eintragen könnte.
Habt ihr in den News den Artikel über den neuen Roboter von Sony gelesen? Der Roboter der laufen kann. Ist dieser intelligent? Der technisch weniger interessierte wird vermutlich sofort sagen das dieses nix mit Intelligenz zu tun hat. Ist vermutlich auch so. Aber der technische und softwaremäßige Aufwand um sowas hin zu bekommen ist sicher erheblich. Viele Sensoren müssen abgefragt und koordiniert werden. Im Prinzip muß der Roboter ja auch viele Entscheidungen treffen damit er das Gleichgewicht in jeder Situation halten kann.
Auf jeden Fall ist die Technik sehr komplex. Dagegen ist der schon erwähnte Schachcomputer eigentlich einfach aufgebaut. Daran erkennt man auch das Kompexität wohl in keinem Verhältnis zur "wahrgenommenen Intelligenz" steckt.
Gruß Frank
Ich denke das Laufen des Sony Roboters nicht viel mit intelligenz zu tun hat, den wollte der Roboter überhaubt laufen? Gibt es überhaubt den Willen des Roboters? Es wurde ihn doch nur gesagt wenn du einen schritt nach dem anderen machtst kommt du voran er hat nicht allein die Entscheidung getroffen zu laufen und er hat auch nicht selbst rausgefunden wie es geht, es musste Programmiert werden. Ohne das Programm hätte er nix getan er hätte nichtmal versucht etwas zu machen. Also denk ich nicht das dieser intelligent ist. Er verbessert sich ja auch nicht im laufen, im Grunde haben Roboter keine Gedanken und überlegungen sie üben nur Reflexe aus. Ich denke es wird noch lange dauern bis es eine "Richtige" KI gibt und es wird wohl noch länger dauern bis sich alle geeinigt haben das es ne KI ist. :mrgreen:
Aber ich werd noch nen bisschen über das Thema nachdenken
MFG Stitch
Hi,
es geht ja beim Thema "Künstliche Intelligenz" nicht darum, Robotern soetwas wie einen freien Willen einzuhauchen. Es gibt Philosophen, die bezweifeln, dass der Mensch selbst einen freien Willen hat...
Die Frage ist also nicht, ob der Roboter laufen "will". Interessanter ist schon, ob der Roboter lernfähig ist, also zum Beispiel seine Bewegungsabläufe selbständig optimieren kann. Interessant wäre auch folgendes Szenario: Der Roboter kennt seine Posiotion in einem Koordinatensystem. Er bekommt den Auftrag "bringe mir Gegensatnd A". Der Roboter muß jetzt planen, wie er den Auftrag erfüllen kann. Genau _das_ bezeichnet man ebenfalls als intelligent.
Eine Möglichkeit für dieses Planen ist das Aufstellen von Tupeln der Form (Vorbedingung, Aktion, Ergebnis). Für jede Aktion gibt es also eine Reihe von Vorbedingungen, die dem Roboter (dem "Agenten") bekannt sind, und eine Reihe von Resultaten. Zum Beispiel:
(Gegenstand A in Reichweite UND Hand leer, Greife Gegenstand A, A in Hand UND Hand nicht leer)
Klar, damit A gegriffen werden kann, muß er erstmal in Reichweite sein. Nach dem Greifen ist A in der Hand und die Hand nicht mehr leer.
Das eigentliche Planen sieht nun so aus:
Gegeben ist ein Zielzustand und der momentane (Start-) Zustand.
Prüfe, ob eine Bedingung des Zielzustandes momentan nicht erfüllt ist.
Nimm eine nichterfüllte Bedingung. Finde eine Aktion, die diese Bedingung als Resultat hat.
Prüfe, welche Vorbedingungen der Aktion nicht erfüllt sind. Setze diese als neuen Zwischen-Zielzustand.
usw.
Diesen Algorithmus bezeichnet man als Rückwärtsplanen, da man sich quasi vom Zielzustand zum Startzustand zurück plant. Das Problem an der Sache: Der Agent braucht eine sehr genaue Wahrnehmung und Repräsentation seiner Umwelt (was ich im Beitrag weiter oben zu Kognitive Agenten geschrieben hatte).
Ich weiß nicht, in wie weit derartige Projekte mit dem vorgestellten Bot geplant sind. Jedenfalls gibt es doch einige Bestrebungen in diese Richtung, Stichpunkt Haushaltshilfe (glaube zum Beispiel an der Uni in Karlsruhe).
Mit "Gedanken" oder "Überlegungen" oder gar einem "Willen" hat das aber alles nix zu tun. Solange nicht geklärt ist, wie diese "Mechanismen" beim Menschen "funktionieren", sollte man tunlichst vermeiden, diese Begriffe in eine KI Diskussion einzubringen. Es sei denn, man will den Rest des Tages mit einer philosophischen Diskussion zubringen :)
Außerdem: "Künstiche Intelligenz ist das perpetuum mobile der Informatik" ;)
In diesem Sinne schonmal schöne Feiertage,
zefram
Mit "Gedanken" oder "Überlegungen" oder gar einem "Willen", ja das sind vergleichende Begriffe die wirklich nicht verwendet werden können.
Ich kann mir durchaus vorstellen das man sehr komplexe mathematische Rechenvorgänge auch als eine Art "Gedanken", "Überlegungen" betrachten kann. Oft sagt der Schachspieler: Der Rechner überlegt noch! Nur wenige sagen der Rechner rechnet noch.
Sowas wie "freien Willen" wird es bei Rechnern nie geben. Ist der freie Wille wirklich so frei oder liegen diesem nicht auch logische Entscheidungen zu Grunde. Vielleicht sind die nur zu komplex um das zu erkennen. Aber das ist ein Feld wo es sicherlich unterschiedliche Ansichten gibt.
Gruß Frank
Solange nicht geklärt ist, wie diese "Mechanismen" beim Menschen "funktionieren", sollte man tunlichst vermeiden, diese Begriffe in eine KI Diskussion einzubringen.
Wie war das noch:
Wenn das Gehirn des Menschen so einfach wäre, dass wir es
verstehen könnten, dann wären wir so dumm, dass wir es doch nicht verstehen....
Was anderes: In unserem Gehirn sind es doch auch nur biochemische Vorgänge die ablaufen. Wenn man diese ganz genau im Rechner simulieren könnte, wäre das Programm dann intelligent oder hätte es gar einen Willen ??
MfG Kjion
Kennt ihr COG?
Der ist für mich intelligent!
Zum Beispiel beobachtet er die Umgebung und lernt von ihr.
Er hat zum Beispiel von den Menschen gelernt, wie er seinen Kopf drehen muß, um ein Objekt optimal im Bildmittelpunkt zu haben.
Für mich beginnt intelligenz wenn ein Programm/Roboter einen neuen Lösungsweg entwickeln kann, der nicht von dem Programmierer vorgegeben wurde.
Ein ganz wichtiger Punkt dafür ist eine Art Gedächtnis, sodass man aus seinen Handlungen lernen kann. Dafür muss man aber feststellen können, ob das was gemacht wurde gut oder schelcht war .... und das ist sehr schwierig ....
Ich denke auch das COG schon intelligent ist.
Ach ja, andere Frage. Ist ein Insekt intelligent ??
MfG Kjion
Hmm, ich würde Insekten nicht als intelligent bezeichnen. Insekten handeln rein reaktiv, also aufgrund von Reflexen.
Wenn man sich Bienenstöcke oder Termitenhügel mit ihren ausgeklügelten Strukturen anschaut, kann man schon auf die Idee kommen, die Insekten seien intelligent. Trotzdem hat keine Biene und keine Termite eine genaue Vorstellung davon, wie der Bau auszusehen hat oder so. Das gleiche gilt auch für all die anderen Verhaltensweisen.
Gut zu diesem Thema passt übrigens das Buch "Vehikel - Experimente mit kybernetischen Wesen" von Valentin Braitenberg. Wäre ein schönes Weihnachtsgeschenk gewesen :)
Braitenberg entwickelt dort in 14 Schritten recht intelligent anmutende Wesen, die aber rein reflexbasiert sind. Hauptaussage des Buches ist wohl, dass die Synthese von Verhaltensweisen einfacher ist, als die Analyse. Das heißt, es ist viel einfacher, eine komplexe Verhaltensweise aus einfachen Reflexbausteinen zusammenzusetzen, als beim Betrachten des fertigen Wesens aus seinem Verhalten die einzelnen Reflexe zu erkennen. Das ist auch der Grund, warum manche Verhaltensweise von sehr einfachen Tieren oft großes Staunen hervorruft, obwohl nur eine Handvoll einfacher Reflexe dahinterstecken.
Was anderes: In unserem Gehirn sind es doch auch nur biochemische Vorgänge die ablaufen. Wenn man diese ganz genau im Rechner simulieren könnte, wäre das Programm dann intelligent oder hätte es gar einen Willen ??
Wenn man das alles 1:1 simulieren kann und auch die Struktur deines Gehirns 1:1 übernehmen kann, müsste dieses Programm auch genauso intelligent sein wie du und auch einen freien Willen haben, wie du.
Wieviele Gehirnzellen hat der Mensch? Mit wievielen anderen Zellen ist eine Zelle im Durchschnitt verbunden? Welchen Speicherplatz braucht man, um diese Struktur abzubilden? Das könnte ein Problem werden :)
Weihnachtliche Grüße,
zefram
Wieviele Gehirnzellen hat der Mensch? Mit wievielen anderen Zellen ist eine Zelle im Durchschnitt verbunden? Welchen Speicherplatz braucht man, um diese Struktur abzubilden? Das könnte ein Problem werden
War auch ein mehr theoretischer Gedankengang. Das das in nächster Zeit nicht möglich sein wird ist schon klar. Allerdings bedeutet das, dass ( zumindest theoretisch ) auch Maschinen eine Art Willen haben können, oder ??
Ich hab letztens einen Film zu Laufrobotern gesehen. Darin hieß es, dass Insekten eine prärationale Intelligenz besitzen. Diese in Teilen auf Maschinen zu übertragen ist auch schon gelungen. Allerdings haben diese Maschinen noch keine Ahnung von dem was sie tun und vor allem warum sie es tun.
es ist viel einfacher, eine komplexe Verhaltensweise aus einfachen Reflexbausteinen zusammenzusetzen
Daher kommt es ja auch, dass viele Leute die von Robotern keine Ahnung haben, selbst ganz einfache Roboter die von einem simplen "Wenn..., dann.... " Programm gesteuert werden als intelligent bezeichnen. Einfach daher weil dort verschiedene "Reflexe" ( wenn man es in dem Fall so nennen will ) sich überlagern und so der Roboter ein von außen nicht sofort erkennbares Verhalten an den Tag legt....
MfG Kjion
Ich glaube nicht, daß man über exakte Definitionen festlegen kann, ob eine Maschine oder ein Lebewesen intelligent ist. Sicher kann eine Fliege sich nicht rühmen, ihre Taten sorgfältig zu planen, was ein kleiner Schachroboter vielleicht schon ganz gut kann. Aber die Fliege kann etwas für ihr Leben viel wichtigeres: sie kann in den meisten Situationen blitzschnell die Informationen aus ihrer Umwelt verarbeiten, die notwendig sind, um zu entscheiden ab wann es besser ist zu fliehen und wohin. Sie entscheidet nämlich dabei, welche der vielen Informationen, die ihr ihre Augen liefern, wichtig sind und beachtet werden müssen, und welche nicht. Für mich ist die Fähigkeit diese Unterscheidung zu tun ein Ziel, was man anstreben sollte, wenn man künstliche Strukturen schafft, die "intelligent" sein sollen. Nicht das "Allesbeherrschen", sondern die Selektion dessen, was wichtig ist und was nicht. Um genau zu sein: Bei vielen menschen vermisse ich diese Fähigkeit auch...
Gruß
Torsten
EIn Schachcomputer mit Fliegenhirn müsste somit dem Menschen schon sehr nahe kommen :-)
sie kann in den meisten Situationen blitzschnell die Informationen aus ihrer Umwelt verarbeiten, die notwendig sind, um zu entscheiden ab wann es besser ist zu fliehen und wohin. Sie entscheidet nämlich dabei, welche der vielen Informationen, die ihr ihre Augen liefern, wichtig sind und beachtet werden müssen, und welche nicht.
Die Fliege nimmt einfach Bewegungen war. Sobald die Geschwindigkeit einer wahrgenommenen Bewegung größer ist als ein Grenzwert, wird das Verhalten "Flucht" ausgelöst. Das Verhalten ist also ein einfacher Reflex, die Fliege muß da nicht erst großartig entscheiden was zu tun ist.
Ich hab auch mal gelesen, dass sich Fliegen (im Flug) tendentiell in die Richtung drehen, in der die stärkste Bewegung wahrgenommen wird. Da sie beim Durchfliegen eines (an sich statischen) Zimmers immer Bewegung wahrnehmen wird (weil ja das Zimmer an ihr vorbeizieht), dreht die Fliege auf den ihr am nächsten gelegenen Gegenstand zu. Die Kopplung von Bewegungsgeschwindigkeit und Flugwinkel ist dann noch nach dem Blickwinkel gewichtet (also wie weit seitlich befindet sich das Objekt) und sogar richtungsabhängig. So dreht die Fliege stärker zu einem Gegenstand (einer Bewegung) hin, der von vorn nach hinten durch ihr Gesichtsfeld wandert, als zu einen der von hinten kommt.
Dieses Verhalten ist natürlich noch mit verschiedenen anderen überlagert, so dass sich in der Summe ein ziemlich komplexes Verhaltensmuster ergibt.
Grüße,
zefram
Hallo Nartürlich würde, so denke ich, hier in diesem Forum jedem die Mittel fehlen sei es Finaziell sowie Materiell. So ein Kompletx system wie das Menschliche gehirn zu erfroschen bzw. Nachzu bauen. Aber vielleicht ist das genau auch das Problem. Jeder hier versuch durch vergleiche zu beschreiben was Intelliegt ist. Ich möchte gerne mal folgenden Punkt in das Thema einbringen. Da es eigendlich mein ansatz bei dem Roboter sein soll. Ich möchte nicht etwas nach bauen oder Kopieren wie hier zu beispiel die Fliege sondern was eintwas eigenes schaffen. Ich weiß das der Ansatz ziemlich radikal klingt. Aber wenn wir versuchen würden nicht was nach zubauen sonder etwas entwickeln zu lassen dann denke währe der Erfolg greifbarer. Also nicht das Ziel vor augen sondern der Weg. Ich möchte auf die Anmerkung auf meinen letzten Beitrag von wegen vergessen noch etwas nach tragen. Ja natrürlich ist vergessen nicht das primäre Problem sondern die Prioriät der jeweiligen Information. aber auch das nach bewerten der Information benötig rechnen Zeit und ist abhängig von der Menge an information. Also müsste der Roboter auch schlafen oder ? den auch der Mensch oder Tiere haben Ruhephasen. Und der Mensch Träumt um Informationen zu verarbeiten.
Noch was ganz anders aber auch zu Thema ich würde gerne zu diesem Thema ein Software Projekt anfangen auf Basis PC mit Datenbank und...
Gibt es hier vielleiht jemand der Lust auf ein gemeinschafts Projekt hätte
Gruß Numberfive
Hi NumberFive,
ich weiss nicht bei was es in Deinem Software-Projekt geht. Vielleicht fängst Du einfach mal einen neuen Thread an und beschreibst dein Projekt. Andere können sich ja dann an dem Thread beteiligen. Vielleicht sollte ich auch ein spezielles Forum für Projekte / Tutoriale etc. einrichten, was meint ihr? Macht natürlich nur Sinn wenn sich dann auch mehrere Leute beteiligen.
Übrigens in der aktuellen PC-Professionell Nr. 2 Januar 2004 gibt es einen interessanten Bericht über intelligente Roboter. Vielleicht schaut der ein oder andere mal rein. Dort rechnet man in 51-100 Jahren mit einem Roboter der menschenähnliche Intelligenz besitzt.
Gruß Frank
Hallo Frank mit dem Lesen des Artikles muß
ich noch ein Bischen wareten den der ist noch nicht online
und nur für eine Artikel werde ich sie mir nicht kaufen.
Noch dazu wo sie bestimmt noch nicht am Kiosk gibt du hast sicher ein Abo. Das mit dem Forum finde ich eine Gute Idee ich würde meine Idee
dann dort mal etwas genauer beschreiben. Mal sehen was die anderen
meinen.
Gruß Numberfive
Nachtrag:
Meine Hp ist www.mine-robo.de
Da steht ein bisschen was
Numberfive
X1-Alpha
02.01.2004, 19:27
Hey Leute nur so als anregung.
Wie kann man einem roboter ein räumliches gefühl geben, woher weiss er das er jetzt an dem punkt im rau ist an dem er jetzt sein soll.
Es würde doch eigentlich schon genügen wenn man dem Roboter sagen so0ll zu welchen Koordinaten er fahren muss. Doch woher weiss er dass dort diese Koordinaten sind. Nach meinen Vorstellungen könnte man das nur Realisieren wenn man dem Roboter feste Bezugspunkte gibt. Oder wie wärs mit GPS ??(noch verrückter);-))
GPS ist für Indoor Navigation zu ungenau. Eine Möglichkeit wäre die Positionsbestimmung über Baken zu realisieren.
Oder aber, aufwendiger : Der Roboter zeichnet eine Karte der Umgebung. Über Odometrie bestimmt er seine ungefähre Position mit einem bestimmen Fehler. Wenn er in Bereiche kommt die schon kennt, vergleicht er seine Sensordaten mit den aus der Karte errechneten und gleicht so wieder seine Position ab bzw. verringert den Fehler der Odometriedaten.
So will ich es auf jeden Fall probieren wenn ich mit meinem Laufroboter fertig bin.... wird aber noch ein klein wenig dauern ;)
MfG Kjion
Hallo,
das mit dem GPS ist sehr aufwändig und teuer und wie Kjion schon schrieb zuungenau würde es aber nich möglich sein so die Räume wieder
zu erkennen damit die Richtige "Karte geladen wird". Den ich denke über die Senordaten einen Raum wieder zu erkennen wird zu abgehoben. denn
ohne Position ist es mit sicherheit unmöglich den Raum zuerkenn besonders wenn sich in der Räumlichkeit was ändert. Ausdem sollte sich der roboter sowohl draussen wie drinnen zu recht finden. Also bleibt doch nur eine Kombination oder hat jeman eine besser Idee ?
Gruß Numberfive
In Innenräumen kann man GPS vergessen. Man bekommt keinen Empfang von den Satelliten. ( Laut einer Aussage eines Freundes von mir der sich mal so einen seriellen Empfänger gekauft hat und damit ein bißchen rumprobiert hat )
Draußen wird wird GPS dann schon wieder interessanter.
Den ich denke über die Senordaten einen Raum wieder zu erkennen wird zu abgehoben. denn ohne Position ist es mit sicherheit unmöglich den Raum zuerkenn besonders wenn sich in der Räumlichkeit was ändert.
Sich ändernde Räumlichkeiten sind sowieso eklig. Aber wenn man seine Ungefähre Position über Odometrie bestimmen kann, dann sollte es eigentlich möglich sein das ganze über die Sensordaten und die Karte wieder abzugleichen....
Was verstehts du unter draußen ?? Straßen oder "Wildniss ;) ". Draußen funktioniert die oben beschriebene Methode vermutlich nicht mehr.
Sowieso müssten Karten für draußen und drinnen unterschiedlich aufgebaut sein, da man draußen nie von gleich bleibenden Objekten ausgehen kann. Vielmehr müsste die Karte nur ungefähre Informationen zur groben Richtung enthalten.
MfG Kjion
Hallo,
von was ich träume währe das der Bot m Sontag Bröchen holen kann bei becker. Aber hier liegt die betohnung auf träumen. Mit draussen mein ich schon die Strasse wie das freie gelände. Aber im Moment träume war scheilich einfach zu viel.
Gruß Numberfive
Euer Chatbot zeigt in der Tat einige Grundzüge von künstlicher Intelligenz. Er kannte sogar den Wettbewerb RoboKing. Ein gutes Beispiel dafür wie man mit "realtiv einfachen Mitteln" den Eindruck von Intelligenz vermitteln kann.
Gratulation an die Programmierer. Ich habe gelesen das dies die Programmierer vom AliceBot programmiert haben. Die sind in dem Bereich meines Wissens führend.
cu Sascha
Wer ein Buch lesen wollte:
Ich empfehle "Geist im Netz" von Manfred Spitzer. ist zwar eigendlich psyschlogisch/psyschatrisch hat mir aber beim Begriff neuronales Netzwerk die Augen geöffnet.
Der Begriff der Intelligenz ergibt sich für mich aus vielen Einzel-Ereignissen ein neues "Programm" abstrahiert das sich mit veränderter Ereigniss-Umwelt anpasst. und das ist eine Grundeigenschaft von Neuronalen-Netzwerken. Die Frage an den Konstrukteur ist wie er sowas nutzen kann und wie er das anstellt.
Als wirklich gutes Buch zum Thema KI würde ich eher
"Bauplan für eine Seele" von Professor Dörner empfehlen. Da geht es eigentlich um die Simulation der menschlichen Psyche aber in Konsequenz bastelt er Kapitel für Kapitel ein Maschine die Stück für Stück tatsächlich immer intelligenteres Verhalten an den Tag legt.
Aber: Das "Basteln" der Maschine ist nur virtuell. Als Programm hat er diese Maschine zwar tatsächlich gebastelt, aber nicht als realen Roboter.
_Grobi_
Gast Multi
23.11.2005, 13:49
Was passiert, wenn 2 Roboter, Computer
aus e i n e r Produktion mit der s e l b e n Software etc. stammen, die auch noch "selbstlernend" programmiert sind... wenn diese "aufeinander losgelassen".
Bilden sie unterschiedliche Strukturen aus? Obwohl sie praktisch "identisch" sind (waren)?
Gruss
Mulit 2005
Hi
Wissenschaftler wollen doch immer wieder Roboter bauen, die Gefühle, Lust, Langeweile, Angst, ect. haben.
Darüber habe ich mal nachgedacht:
Wenn ein Roboter Gefühle, Angst, ect. zeigen soll, muss der Programmierer ihm bestimmte Normen einprogrammieren (Wie bei The Sims), wie Interessen, Hemmschwellen, ect..
Nach diesen Normen folgen dann die Gefühle, die der Roboter sozusagen zuordnet.
Wenn ich mich recht entsinne brauchst du dazu ersteinmal Heringssandwitches :-) http://www.schokokeks.org/%7Ejoh/portfolio/index.php?action=data/gob.inc
Ob ich einen emotionalen Staubsauger will bin ich mir aber nicht so sicher, ich finde das klingt grässlich
Aber mal im Ernst:
Dass ein Robotor nicht "wirklich" intelligent sein kann ist ja klar. Dazu bräuchte er eine hohe Abstraktionsebene, wir sehen ja auch eine Tasse Tee nicht als rundes Objekt, warm in 0,23 m Entfernung...
Und sowas ist ja kaum umsetzbar.
Was mich aber interresieren würde: Ihr kennt doch sicher die Indiana Jones - Adventures von Lucas Arts. Wenn ja, werdet ihr euch auch an die recht dümmlichen Dialoge erinnern, die man da führen musste.
Wenn man sowas "besser" machen wollte, so dass man sich nicht immer im Kreis dreht - wie kann man das geschickt machen, ausser einen Riesenbaum aufzuspannen? Optimum wäre wenn einem Charakter dann nur noch verschiedene Satzmuster und "Informationen" zugeordnet werden müssten.
Das wäre dann ziemlich intelligent...
Madgyver
24.11.2005, 20:35
Aber mal im Ernst:
Dass ein Robotor nicht "wirklich" intelligent sein kann ist ja klar. Dazu bräuchte er eine hohe Abstraktionsebene, wir sehen ja auch eine Tasse Tee nicht als rundes Objekt, warm in 0,23 m Entfernung...
Und sowas ist ja kaum umsetzbar.
Das ist so nicht ganz richtig. NNs zeichnen sich gerade dazu aus Abstrakt operieren zu können. Das Problem ist nur den verarbeitungsalgorythmus zu entwickeln und die Mechanismen in der Natur richtig zu verstehen.
Ausserdem lässt sich sowas sehr schwer Debuggen....
Ofenrohr
01.12.2005, 16:51
hallo,
ich hab mich in letzter zeit ein wenig mit nn befasst und denke ein wenig anders als die meisten hier:
der maßstab nach der die intellegenz von robotern/lebewesen beurteilt wird, ist meiner meinung nach schlecht, wenn man ein "intellegentes" wesen schaffen will.
außerdem ist es schwer intellegenz zu beurteilen.
ein ansatz währe beispielsweise zu sagen, das die entwicklung eines eigenen bewustseins also eines "ICH" intellegent ist. mit diesem ansatz könnte man den menschen als relativ intellegent bezeichnen, da es fraglich ist, ob er dieses "ICH" ebenfalls entwickelt hätte, wenn er das einzige lebewesen in einer leeren welt währe.
eine "intellegenz" also ein Ich benötigt meiner meinung nach andere. wenn man z.b. eine intellegenz (intellegent bezieht sich auf das "eigene" bewusstsein) erschaffen will, kann man sicherlich mit vorgefertigten reflexen dafür sorgen, dass es anmutet, als würde sie fühlen, denken oder etwas in der art.
an sich ist das auch der richtige weg. allerdings denke ich, das man diesen grundsatz an instinkten nicht so direkt und dominant mitliefern sollte. viel ehr sollte es das ziel sein, eine intellegenz zu schaffen, die mit anderen intellegenzen in einer umwelt interagiert und sich selbstständig seinem umfeld anpasst.
theoretisch müsste es doch ausreichen, wenn man das wesen dazu zwingt, sich zu verändern. mit zwingen meine ich, letztlich es dazu zu bringen etwas zu "wollen". wenn man diesen zwang jetzt auf die unterste ebne setzt, sollte überleben der wichtigste punkt sein. denn wenn ein wesen überleben will, ist man meiner meinung nach schon am ziel.
aber auch hier sollte man überleben nicht mit dem menschen oder irgentetwas anderem komplexen in verbindung bringen. es sollte ehr darum gehen, dem neuronalen netz die möglichkeit zu geben sich selbst zu verbessern.
dieser überlebenswille könnte z.b. von der umwelt abhängig gemacht werden. man gibt also informationen über den "körper" des wesens an das neuronale netz und gibt dann einen minimalen satz an "gefühlen" vor: gut und schlecht. (vergleichbar mit glück und schmerz)
um eine intellegenz zu beschreiben ist es am besten, wenn man die absolut abstrakte variante wählt, da es ansonsten schnell abhängigkeiten gibt, die ein unangenehm hohes maß an implementierung fordern.
wenn bienen nicht intelligent sind, weil sie eine folge von reflexen sind, dann ist ein mensch auch nicht intelligent, weil der auch eine folge von reflexen ist.
(hatte ich grad in biologie: die menschliche nervenzelle kann nur reize inform von impulsen bzw elektrischem strom übertragen. im menschliechen gehirn ist eine unglaublich hohe anzahl an nervenzellen zu finden, die alle untereinander verknüpft sind und somit ein riesiges netzwerk bilden, das letztlich nur mit wahr und falsch arbeitet)
soviel mal zur theorie...
um mal ein beispiel zur umsetzung zu nennen:
man könnte sich ein programm schreiben, das in der lage ist einfache neuronale netze zu berechnen. dieses programm könnte man dann so gestalten, das man es in clustern über netzwerke wie dem internet oder lan zusammenschließen kann (man könnte es auch so schreiben, dass es nur einen teil eines neuronalen netzes berechnet, weil das netz relativ groß sein kann)
anschließend könnte man das programm z.b. um eine simple (zweidimensionale) umweltssimulation erweitern, welche informationen von der umwelt an das neuronale netz weiterleitet. selbstverständlich müsste dann auch die ausgabe vom neuronalen netz an die umweltssimulation geleitet werden.
und wenn man das ganze noch auf die spitze treiben will kann man natrülich auchncoh etwas in der art von dna hinzufügen. und am besten noch mehrere rassen. (oder man lässt alles bei einem sehr simplen lebewesen beginnen und schaut zu, was sich so entwickelt)
das währe eine umsetzung für den pc, die theoretisch sogar schon heute umgesetzt werden könnte, wenn man ein vernünftiges programm schriebe, welches per internet einen großen cluster bildet.
eine andere möglichkeit währe zum beispiel einen roboter zu bauen, der über und über mit sensorgen bedeckt ist. und ihn dann an den rechner anschließt, auf dem die simulation von einem nn läuft. ODER man baut sich aus PIC controlern was zusammen... (ob das funktioniert, kann ich wirklich nicht sagen)
so, genug geschrieben...
mfg ofenrohr
gast1234
02.12.2005, 09:52
man könnte sich ein programm schreiben, das in der lage ist einfache neuronale netze zu berechnen. dieses programm könnte man dann so gestalten, das man es in clustern über netzwerke wie dem internet oder lan zusammenschließen kann (man könnte es auch so schreiben, dass es nur einen teil eines neuronalen netzes berechnet, weil das netz relativ groß sein kann)
An welche Art "einfachen Netze" hast Du denn gedacht und auf welche Weise sollen diese denn zusammenarbeiten, also welches mathematische Model peilst du an?
Die Problematik ist doch nicht "viel hilft viel", sondern die Interaktion zwischen den Zellen.Wenn du einen gescheiten selbstlernenden Algorithmus entwickelt hast und deni Speicher oder die Rechenkapazität nicht ausreicht, dann kannst Du Dir immernoch Gedanken über die Verteilung von Rechenrecourcen machen.
mfg
Ofenrohr
02.12.2005, 14:29
ich habe bisher noch gar nichts geschrieben....
allerdings denke ich, dass man letztendlich einen algorithmus braucht, der immer teile des netzes verbessert.
also nicht wie bei backprobagation (oder wie das heißt) eine epoche ein durchlauf, sondern stark verteiltes "verbessern" der zellen.
das problem liegt darin, das ein rechner eben nicht in der lage ist parallel dinge zu verarbeiten. folglich braucht es viele rechner, die mitarbeiten.
und je mehr rechenleistung vorhanden ist, desto schneller werden auch ergebnisse da sein. es muss ja nichts in echtzeit geschehen. somit währe es zwar auch mit einem rechner möglich derartige berechnungen durchzuführen, allerdings währe es auch genauso sinnlos.
zudem denke ich, das die individuen unbedingt eine annehmbare "umwelt" brauchen, da es nicht nur um die interaktion der zellen geht, sondern auch um die interaktion der lebewesen.
ich kann zwar relativ gut im programmieren, aber ich habe grad erst angefangen mit neuronalen netzen zu beschäftigen.
und meine grundidee muss ich auchnoch für mindestens 1-2 monate überdenken. sprich: n paar bücher zum thema lesen und ein paar neuronale netze schreiben.
mal sehn, was dann ist... aber z.z. hab ich ncoh anderes zu tun.
mfg ofenrohr
und meine grundidee muss ich auchnoch für mindestens 1-2 monate überdenken. sprich: n paar bücher zum thema lesen
Ja, dann lies bitte "Theorie der Neuronalen Netze" von Rojas, Springer Verlag.
Deinen Ideen kann ich bisher nicht viel Konkretes entnehmen.
Madgyver
02.12.2005, 18:45
ich habe bisher noch gar nichts geschrieben....
Dann solltest du schleunigst anfangen, Praxiserfahrung ist nicht von Nachteil...
allerdings denke ich, dass man letztendlich einen algorithmus braucht, der immer teile des netzes verbessert.
also nicht wie bei backprobagation (oder wie das heißt) eine epoche ein durchlauf, sondern stark verteiltes "verbessern" der zellen.
Backpropagation...
Was soll das aber bringen? Was ist der Konkrete Vorteil? BP Netze sind im Vergleich zu anderen Netzen sehr robust und schnell..
das problem liegt darin, das ein rechner eben nicht in der lage ist parallel dinge zu verarbeiten. folglich braucht es viele rechner, die mitarbeiten.
und je mehr rechenleistung vorhanden ist, desto schneller werden auch ergebnisse da sein. es muss ja nichts in echtzeit geschehen. somit währe es zwar auch mit einem rechner möglich derartige berechnungen durchzuführen, allerdings währe es auch genauso sinnlos.
Nope. Rechenleistung allein reicht nicht. Je größer ein Netz wird und je komplexer der Algorythmus desto mehr Daten müssen von einem Prozessor zum anderen transferiert werden.
Wenn du dir wegen sowas sorgen machst, beschäftige dich mit Pipelining und hardware orientiertes Programmieren, das beschleunigt die Berechnung extrem.
zudem denke ich, das die individuen unbedingt eine annehmbare "umwelt" brauchen, da es nicht nur um die interaktion der zellen geht, sondern auch um die interaktion der lebewesen.
Naja, es sind kaum richig funktionierende Modelle eines Cortex, die alle auf Grundlage simpler Taxis funktionieren. Ich denke die Teile des Systems sind noch sehr weit entfernt in der Summe ein Lebewesen zu bilden.
ich kann zwar relativ gut im programmieren, aber ich habe grad erst angefangen mit neuronalen netzen zu beschäftigen.
und meine grundidee muss ich auchnoch für mindestens 1-2 monate überdenken. sprich: n paar bücher zum thema lesen und ein paar neuronale netze schreiben.
mal sehn, was dann ist... aber z.z. hab ich ncoh anderes zu tun.
mfg ofenrohr
Vergiss nicht "SImulation von Neuronalen Netzen" von Zell, Addison-wesley verlag.
Ofenrohr
02.12.2005, 20:08
Was soll das aber bringen? Was ist der Konkrete Vorteil? BP Netze sind im Vergleich zu anderen Netzen sehr robust und schnell..
der konkrete vorteil eines eigenen netztyps ist, dass parallelverarbeitung möglich ist. wenn das netz sich nicht in einem verbessert, sondern immer in kleinen teilbereichen, ist zwar der eigentliche aufbau immernoch backpropagation, aber mit der möglichkeit von verteiltem rechnen und einer minimierung der zu übertragenden datenmenge. außerdem
mal zum punkt hardwareorientiertes programmieren.
ich selbst habe wirklich fast keine ahnung von selbstbau hardware. aber theoretisch könnte man doch mit einem PIC Controlter ein modul basteln, das eben genau diese zellen simuliert und backpropagation macht. man könnte das modul so gestalten, das man es zu einem großen zusammenstecken kann und mit dem pc verbinden kann. den könnte man dann z.b. als verbindungsstelle zwischen den einzelnen zusammengesteckten modulen nutzen.
danke für die buch tips... bald ist weihnachten. meine eltern werden sich freuen, das mir dochnoch ein geschenk einfällt.
Deinen Ideen kann ich bisher nicht viel Konkretes entnehmen.
Idee: Neuronales Netz basierend auf verteiltem rechnen mit backpropagation ähnlichem verbesserungsalgorithmus verbunden mit einer einfachen umweltsimulation, in der viele eigenständige neuronale netze miteinander interagieren, um zu "leben".
mfg ofenrohr
Madgyver
02.12.2005, 20:17
der konkrete vorteil eines eigenen netztyps ist, dass parallelverarbeitung möglich ist. wenn das netz sich nicht in einem verbessert, sondern immer in kleinen teilbereichen, ist zwar der eigentliche aufbau immernoch backpropagation, aber mit der möglichkeit von verteiltem rechnen und einer minimierung der zu übertragenden datenmenge. außerdem
mal zum punkt hardwareorientiertes programmieren.
ich selbst habe wirklich fast keine ahnung von selbstbau hardware. aber theoretisch könnte man doch mit einem PIC Controlter ein modul basteln, das eben genau diese zellen simuliert und backpropagation macht. man könnte das modul so gestalten, das man es zu einem großen zusammenstecken kann und mit dem pc verbinden kann. den könnte man dann z.b. als verbindungsstelle zwischen den einzelnen zusammengesteckten modulen nutzen.
Versteh mich nicht falsch, ich meine du gibst zu nicht besonders viel ahnung oder erfahrung davon zu haben (was auch nicht schlimm ist) aber für jemanden der sich etwas darin auskennt, hört es sich so an:"Warum benutzt man bei der Nasa noch Raketen? Mit ner riesengroßen Steinschleuder gehts doch auch".
Gut, die Idee die du hast, ist ja vom prinzip her nicht falsch. Nur etwas naiv.
Tip: zeichne dir mal ganz genau auf, wieviel Speicher du für einen "kleinen Bereich" des Netzes mit allen Knoten und so brauchst (kein Quellcode, nur die Daten der Knoten) und rechne mal dann aus, wieviele Daten du zwischen den Rechnern oder µCs transferrieren muss und was man mit einfachen Mittel hinkriegt. Du wirst eher den Nobelpreis dafür kriegen eine effizienteres Datenprotokoll entwickelt zu haben als ein solches Netz zu bauen.
Deine "idee" / Vision eines NNs könnte z.B. ein Necognitron sein, das kommt deiner beschreibung recht nahe. Es ist nur so aufwendig, dass man die stärksten Rechenzentren der Welt braucht um es zu simulieren.
Ofenrohr
02.12.2005, 20:38
wie gesagt: ich hab wirklich keine ahnung in sachen realisierung von hardwareprogrammen.
die effizienz des datenmodells soll dadurch erreicht werden, das der eigentliche neuronale netz sich nur als ganz vielen kleinen zusammensetzt.
wenn man also mit viel arbeit etwas derartiges fertigbringt, ist es theoretisch möglich im internen Netzwerk (gute übertragung) etwas in der art zu machen.
aber ich muss erstmal noch ganz viel grübeln...
mfg ofenrohr
Madgyver
02.12.2005, 20:57
Das Problem ist, dass die Hardware anforderung riesig werden. Denn die Netze müssen ja untereinander kommunizieren, sonst weiß das eine Netz nicht was da andere macht und dann ist es essig mit der KI.
Ich hoffe du siehst ein, dass der Kommunikationsaufwand zischen den Netzen immer größer wird, da die Protokolle immer komplexer werden müssen und Beim BP muss ja zurücg gerechnet werden und dann brauchen einzelne Module totsicher die Daten von anderen Modulen. die dann hin und her geschoben werden müssen. Bei einem integrierten System ist wiederum der sequentielle verarbeitung der Flaschenhals.
So oder so, man benötigt eine gänzliche neue Prozessor technick um sowas zu realisieren und da beißen sich Leute die Stiftzähne und Plomben aus die sowas Hauptberuflich machen. Ein indiz dafür das es nicht ganz so leicht ist...
Ofenrohr
02.12.2005, 22:09
das ziel bei meiner idee soll ja gerade sein, das bp selbstständig durchgeführt wird und nicht extra daten angefordert werden müssen.
z.b. so: ein netz bekommt einen input (zwangsmäßig) und verarbeitet den. die zellen leiten das weiter. und wenn sich die situation insgesammt verschlechtet (berechnet sich aus schmerz/bedürfnissen, wie hunger/durst) wird eben das ans netz gesendet, das sich daraufhin selbstständig verbessert. letztlich soll nur ein wert übertragen werden, die situation. wenn die situation gut ist, wird das netz versuchen diese noch zu verbessern und somit sich durchgehend allein entwickeln.
mfg ofenrohr
Madgyver
02.12.2005, 22:33
das ziel bei meiner idee soll ja gerade sein, das bp selbstständig durchgeführt wird und nicht extra daten angefordert werden müssen.
mfg ofenrohr
Mir ist immer noch nicht klar wie das gehen soll. Hast du dich mit dem Algorythmus etwas näher beschäftigt? Da MUSS man Daten anfordern.
Ansonsten ist das so als sollte man den Flächeninhalt eines Kreises mit Radius r berechnen, und ich sag dir nicht wie groß der radius ist.
Ofenrohr
03.12.2005, 12:10
mit extra daten anfordern meine ich: dem kleinen netz wird von der verwaltung mitgeteilt, dass es schlechte ergebnisse liefert. daraufhin sieht es sich an, wie es zurzeit gewichtet ist und verändert sich ohne weitere daten anzufordern in eine andere richtung, die vorher bessere ergebnisse geliefert hat, ohne weite daten von anderen netzen anzufordern.
so in etwa stelle ich mir das vor.
mfg ofenrohr
In der Tat brauchst du noch weitere Daten, BP muss ja trainiert werden. Das bedeutet du brauchst auch ein "Wunschausgabevektor" und an diesem orientiert sich die Verbesserung. Einfach zu sagen: "er hatt Hunger - das ist schlecht", reicht hier leider nicht. Abstrakt gesehen, müßtest du ihm sagen, was er denn in dieser Situation machen soll, so daß er in einer leicht ähnlichen Situation, wenn also der neue Eingabevektor dem trainierten ähnlich ist im Vergleich zur Trainingsmenge, sich für dieses antrainierte Verhalten entscheidet. Und wie du dein Verhalten(Essen, schlafen....) in reelwertigen oder binären Ausgabevektoren kodierst, wird auch eine spannende Frage. Dann musst du die Abstraktionsebene dabei sehr hoch ansetzen und es wird wohl auch nicht mehr rauskommen, als hättest du gleich if(Hunger)iß; geschrieben.
Also mach erstmal ein kleines BP Beispiel um ein Gefühl dazu zu bekommen. Die Mathematik ist auch nicht unmöglich zu verstehen, selbst wenn man es sich selber beibringen muß.
Gast1234
Ofenrohr
03.12.2005, 15:26
die wunschvektoren soll sich das netz selber aus den vorigen ergebnissen zusammenbauen.
es wird also testweise ein ausgabevektor versucht und dann wird nachgesehn, was dabei rauskommt. wenn es schlecht war, soll es sich zu einem vorigen modell teilweise "zurück" entwickeln.
es soll letzlich also der wunschvektor generiert werden, denn denn der steht nicht wirklich fest. es gibt ja ausschließlich das relativ abstrakte ziel zu überleben. der rückmeldewert setzt sich praktisch aus den umwelteinflüssen wie schmerz hunger oder durst zusammen.
die gewünschten ausgabevektoren müssen selbst generiert werden, da das ziel nicht direkt bestimmbar ist, wie es z.b. bei dem erkennen von mustern ist.
mfg ofenrohr
Madgyver
03.12.2005, 16:05
Was du beschreibst, ist eine art Fuzzy logik. Naja, wenn du dich näher damit beschäftigst, wirst du die Probleme deiner Lösungsversuche erkennen. Vielleicht könnte es funktionieren, Aber mit BP wird es nicht gehen.
Am besten du infomierst dich über 4-5 Algorhytmen, dann siehst du was möglich ist und wie man manches macht.
Mit BP geht das nicht was du vorhast, nicht mal Ansatzweise nen andere ALgo wäre zu überlegen. Einer mit sog. "bestärkendem Lernen"
(Hehe.. hab ständig das Bild vo augen, das ein Netz einen Vektor ausgibt, und so lange nen Schlag AUf die Nuss kriecht bis der Vektor passt.)
Ofenrohr
03.12.2005, 18:57
(Hehe.. hab ständig das Bild vo augen, das ein Netz einen Vektor ausgibt, und so lange nen Schlag AUf die Nuss kriecht bis der Vektor passt.)
in meiner vorstellung variiert die schlagstärke :D
wie gesagt, ich werde mich in den nächsten monaten genau damit befassen. mal sehn, was dabei rauskommt.
zurzeit lese ich das buch: "Neuronale Netze" von Robert Callan. Finde es ganz gut, weil es relativ einfach erklärt ist.
mfg ofenrohr
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.