Der Durchbruch - Erzeugung künstlicher allgemeiner Intelligenz



  • MoonKnightTL schrieb:

    Also, das Laufen könnte man z.B. unterteilen in Hinstellen und loslaufen. Hinstellen z.B. in Hüfte hochbewegen und Rumpf hochbewegen.
    Bewertete wird das ganze im Hauptprogramm. Bei Hüfte hochbewegen werden z.B. die Koordinaten der Hüfte gegenüber dem Boden verglichen und je nachdem der Roboter belohnt oder nicht. Belohnt wird, indem eine Funktion der Klasse aufgerufen wird, die die Kompetitoren verwaltet. Diese Funktion schaut dann, welche Kompetitoren aktiv sind und erhöht deren Lebensenergie.

    ist alles immer noch sehr schwammig. ich vermute einfach mal, dass du vereinfachend bereits den idealen menschlichen gang kennst und dem computer einfach beibringen willst, dass er exakt diesen Gang nachmacht. Auch wenn man das simpel ausprogrammieren könnte. Aber so sind deine Spezifikationen.

    Okay, nhmen wir mal an, ein GA lernt das. Und du lernst exakt alle Teile eines Schrittes. Dann macht dein Roboter einen Schritt, und wenn du ihm sagst, er soll einen weiteren Schritt machen, kippt er um. Oops, der GA hat halt nicht exakt gelernt, wie ein Schritt geht, sondern nur eine annähernd gute Approximation. Du hast ihm also nie beigebracht, dass man beim Laufen die Fehler die man macht, korrigieren muss.

    Also lernst du für 100 Schritte.
    Oops, nun kippt dein Roboter nach 200 Schritten um, weil der GA nur für 100 Schritte stabil bleiben musste. Also lernst du für 200 Schritte und...ja, irgendwann kippt er immer um. Das Phänomen heißt Fehlerfortpflanzung. Die Lösung wäre, den Roboter continuierlich laufen zu lassen und dabei upzudaten, aber das kann ein GA nunmal nicht, du brauchst immer mehrere Generationen und die alte Generation muss irgendwann sterben.

    Also, sogar unter der Idealbedingung, dass du die optimale Lösung bereits kennst, kannst du mit einem GA das Problem nicht stabil lernen. Zumindest nicht _so_ . Also, neuer Versuch.

    //dit
    Ich bin in meiner BA durch diese Hölle mit einer ES und einem FF-Netz gegangen. Hier der klägliche Versuch einer Renn-Ki:

    http://www.youtube.com/watch?v=dKumRBOK6qA

    man beachte die mickrige Maximalgeschwindigkeit auf der Geraden.



  • Jemand hatte geschrieben, das Laufen lernen muss man nicht in Schrittte unterteilen. Damit hat er recht. Es war auch nur ein Beispiel.
    Zu den Malbolge-Programmen. Ja, wenn das erlernen dieser nicht in kleineren Schritten unterteilt werden kann, muss man halt anders vorgehen, und zwar so. Du wirst nicht einer GP direkt Malbolge beibringen. Du bringst ja schließlich auch keinem neugeborenen Menschen Malbolge bei. Sondern der Mensch lernt erst in der Schule das REchnen, dann das Lösen von komplizierteren Aufgaben und im Studium schließlich lernt er ggf. Malbolge kennen und wie man damit umzugehen hat. Und genauso musst du das eben dann auch meiner permanent-GP beibringen. Dann lernt sie auch Malbolge.



  • Also, wer hat Lust, mitzumachen?!



  • MoonKnightTL schrieb:

    Also, wer hat Lust, mitzumachen?!

    Stell doch zuerst einmal ein grobes Konzept auf, wie
    das Programm gegliedert sein soll.

    0x0ERROR



  • du sprichst im Titel von "allgemeiner Intelligenz". es wurde in mehreren Beiträgen schon darauf hingewiesen, daß du den Suchraum näher spezifizieren mußt. oder allgemeiner ausgedrückt, du mußt erst mal die Aufgabenstellung genauer beschreiben

    der Begriff Intelligenz wird in verschiedenen Bereichen der Wissenschaft und des täglichen Lebens sehr unterschiedlich definiert. z.B. sagt der Ausbilder: "der Lehrling A ist intelligent, der Lehrling B nicht." vom wissenschaftlichen Standpunkt aus betrachtet sind beides vernunftbegabte Lebewesen. der Ausbilder sagt aber: "nein, Lehrling B ist dumm, der ist nicht intelligent, das kann ich ihnen auch schriftlich geben"

    in Philosophie, Psychologie, Informatik usw. gibt es sehr unterschiedliche Definitionen von Intelligenz, und innerhalb der jeweiligen Wissenschaften auch noch mal unterschiedliche Strömungen. in der Informatik spricht man von KI und meint damit Software, die besser an wechselnde Bedingungen anpassbar ist als hart codierte Software. das hat mit Intelligenz im Sinne vom menschlichen Denken aber wenig zu tun. meiner Meinung nach sollte man das besser beschreiben als "künstliche Schlauheit", in dem Sinne, daß diese Software Probleme lösen kann, die schlaue Tiere auch lösen können. die Fortbewegung mit dem eigenen Körper ist z.B. eine Eigenschaft, die auch weniger schlaue Tiere beherrschen. besonders schlaue Tiere können noch ganz andere Probleme bewältigen. in Abgrenzung davon sollte man den Begriff "Intelligenz" nur für Problemlösen im sinne vom menschlichen Denken verwenden, also grob gesagt solche Sachen, die auch die schauesten Tiere nicht können

    für den Begriff "Intelligenz" gibt es verschiedene Definitionen. alle diese Definitionen sind schwammig. trotzdem muß man für sich selber eine solche Definition erst mal aufstellen, damit die Richtung klar ist, in die man gehen möchte

    nur mal zwei Beispiele für Sachen, die Menschen aufgrund ihrer Intelligenz beherrschen, aber nicht die schlauesten Tiere:
    - Werkzeuggebrauch (abgesehen vom Hämmern auf Früchten)
    - Kommunikation in einer natürlichen Sprache



  • MoonKnightTL schrieb:

    Jemand hatte geschrieben, das Laufen lernen muss man nicht in Schrittte unterteilen.

    schade, das du nichtmal bis zur Hälfte gelesen hast. Egal wann dus toppst, du hast mit deineer Methode ein Stabilitätsproblem.

    Und mal so ein Tipp: echte Intelligenz, wie : ein kleines Menschenbaby, braucht niemanden, der ihm einfachste Aufgaben in kleine Schritte unterteilt. Die lernt das Selbst, was zu welcher Teilaufgabe gehört.

    Warum fängst du nicht mal damit an, die Literatur zum Thema maschinnlernen der letzten 30 Jahre durchzuwühlen? Sind ja nur so 10000+ Publikationen, wo Leute mit wesentlich mehr Ahnung als du, alle deine Ideen schon ausprobiert und verworfen haben. Vielleicht siehst du dann irgendwann, wo die echten Probleme liegen.



  • otze schrieb:

    MoonKnightTL schrieb:

    Jemand hatte geschrieben, das Laufen lernen muss man nicht in Schrittte unterteilen.

    schade, das du nichtmal bis zur Hälfte gelesen hast. Egal wann dus toppst, du hast mit deineer Methode ein Stabilitätsproblem.

    Nein, bei genauer Betrachtung wirst du feststellen, das sich der Mensch auch nicht anders verhält. Egal zu welchem Verhalten du ihn erziehst, sobald die Erfordernis dazu nicht mehr gegeben ist und genug Zeit verstreicht, wird er damit wieder aufhören, wenn es ihm nicht einen Vorteil bringt. Dedr Mensch muss aber laufen, um seine täglichen Aufgaben zu erfüllen. D.h. die Erfordernis ist ständig gegeben. Sonst kommt er nicht in die Küche um sich ein Brot zu schmieren. Dann hat er Hungeer und die Kompetitoren in seinem Hirn verlieren an Lebensenergie. Dass du normale GP nur zu einer bestimmten anzahl Schritte erziehenkaanst mag sein, aber desahbl hab ich ja auch die idee einer permanent-GP ins Spiel gebracht, die solange weiterläuft, wie die Fortbewegung belohnt wird. Also erstmal lernt sie die Fortbewegung und dann konvergieren die Fehler (also Umkippen und so) gegen Null.



  • MoonKnightTL: Wenn dich das Thema KI wirklich interessiert, dann lies doch einmal ein bisschen Anfängerliteratur zum Thema; dir fehlt es einfach hinten und vorne an Grundlagen.

    Warum zieht KI eigentlich so unglaublich viele Leute an, die dann Threads wie diesen produzieren? Waren nicht früher mal MMORPGs und Ego-Shooter die ultimative Anstelle für Anfänger? 🙂



  • MoonKnightTL schrieb:

    Ich habe ein Konzept entwickelt zur Erzeugung künstlicher allgemeiner Intelligenz und möchte es euch im Folgenden vorstellen. Dabei bedienen wir uns genetischer Programmierung.
    ...
    Bitte schreibt mir, was ihr davon haltet.

    Intelligenz bedeutet auf jeden Fall eigenständiges Lernen und das ist hier nicht gegeben.

    Echte künstliche Intelligenz wird es wohl erst geben, wenn man in der Lage ist,
    ein Gehirn bzw. einen Menschen künstlich zu erschaffen.



  • MoonKnightTL schrieb:

    Nein, bei genauer Betrachtung wirst du feststellen, das sich der Mensch auch nicht anders verhält.

    Jetzt hast du vielleicht etwas mehr als bis zur hälfte gelesen, aber noch immer nicht die Hälfte verstanden.

    MoonKnightTL schrieb:

    aber desahbl hab ich ja auch die idee einer permanent-GP ins Spiel gebracht, die solange weiterläuft, wie die Fortbewegung belohnt wird.

    die Ideen haben kann jeder, ein funktioneirende Implementation...ach, ich überlass dir den Spaß damit zu scheitern :).

    Und nur mal so: wenn du eine Episode niemals abbrichst, bevorteilst du sehr langsame gegenüber schnellen Läufern. Denn langsam laufen ist kein Problem, ein Schlurfschritt der niemals das Massenzentrum über das sichere Standbein hinaus verlagert ist trivial. Aber echter menschlicher Gang ist eher mit einem konstanten Fallen zu vergleichen, weswegen Kinder eine ganze Weile brauchen, um einen echten Gang zu erlernen.

    Das heißt der langsame schlurfer wird überleben und die instabilen Faller - die aber gute Ansätze für schnellere Gangformen liefern - sterben weg. Dein Schlurfer wird nun aber die nachfolgenden Generationen immer beeinflussen, weil sein Genom immer lustig rein selektiert wird. Schlussendlich hält er deinen ganzen Lernfortschritt auf.

    //edit ganz schrecklich Rechtschreibung nochmal korrigiert.



  • otze schrieb:

    Das heißt der langsame schlurfer wird überleben und die instabilen Faller - die aber gute Ansätze für schnellere Gangformen liefern - sterben weg. Dein Schlurfer wird nun aber die nachfolgenden Generationen immer beeinflussen, weil sein Genom immer lustig rein selektiert wird. Schlussendlich hält er deinen ganzen Lernfortschritt auf.

    Das macht ja nichts. So funktioniert Evolution 😉 Irgendwann kriegt der Schlurfer im Rahmen der Fortpflanzung eine supertolle Mutation, seine doofen Kumpels sterben den Darwinschen Tod und er joggt den Ironman. Ist doch völlig in Ordnung wenn eine Population auch mal 1000 Generationen versaubeutelt. Guck dir mal die Affen die an, wie das aussieht, wenn die auf dem Boden rumlaufen... 😉



  • It0101 schrieb:

    Das macht ja nichts. So funktioniert Evolution 😉 Irgendwann kriegt der Schlurfer im Rahmen der Fortpflanzung eine supertolle Mutation, seine doofen Kumpels sterben den Darwinschen Tod und er joggt den Ironman. Ist doch völlig in Ordnung wenn eine Population auch mal 1000 Generationen versaubeutelt. Guck dir mal die Affen die an, wie das aussieht, wenn die auf dem Boden rumlaufen... 😉

    wenn man rein nach dem Laufen selektiert, dann wird man aber nie wirklich über den Schlurfer hinauskommen. Es fehlt der Grund, schneller laufen zu müssen. Aber lass einen Schlurfer gegen andere wettlaufen. Wer zu langsam ist, fliegt ebenfalls raus, egal wie perfekt er sonst unterwegs ist. So hat man den passenden Selektionsdruck



  • Jap, so siehts aus. Nur sind wir da immernoch meilenweit von humanoider Intelligenz entfernt, die der TE ja erreichen will. Er lernt hier immer ein spezielles Thema, nur die Stärke der Intelligenz ist es ja, sich an die meisten äußeren Einflüsse anpassen zu können.



  • man muss aber klein Anfangen. Und diese Gedankenspiele zeigen wirklich, wo bei GAs der Knackpunkt ist. Es reicht nicht einfach zu sageen "ich benutze einen GA". Die wirkliche Kunst ist, die Evaluierung der Individuen richtig hinzukriegen.

    Im Zusammenhang mit diesr KI Simulation haben wir an einem Wetbewerb zum automatischen Tuning dieser Autos gearbeitet. Und nun...was soll ich sagen? Wir haben nicht eingereicht, weil wir die Evalution nicht richtig hingekriegt haben (wir hatten einen systemtischen periodischen Bias drin, der einfach damit zu erklären ist, dass wir niht exakt messen konnten, wie lang eine Runde ist...unter den Bedingungen kann man GA vergessen)


Anmelden zum Antworten