My Artificial Intelligence



  • @oser sagte in My Artificial Intelligence:

    @SeppJ Das ist keine Esoterik, sondern so tickt der Mensch wirklich.

    Solange du keinen konkreten Anwendungsfall findest und implementierst ist das was du aktuell hast wirklich nur Esotherik. Und davon nicht mal besonders viel.

    Ich habe in meiner Diplomarbeit anhand eines biologisch plausiblen neuronalen Netzes die Bilderkennung im Gehirn symbolisch ( 5x5 Pixel monochrom 😃 ) nachvollzogen ( soweit eben damals der Wissensstand war ). Das war ein konkreter Anwendungsfall, der mich viele Monate Schweiß und die Uni-Rechner viele KWh Strom gekostet hat.

    Du hast etwas um einen möglichen Anwendungsfall drumherum gebaut. Da ist total toll, hilft aber nicht weiter. Wäre es ein 100.000 Zeilen Framework, was einem möglichen Benutzer quasi alles an Arbeit abnimmt ( z.B. Bildverabeitung, Sprachverarbeitung ), könnte man reden, aber du hast eigentlich nur eine leere Hülle gebastelt und ohne die Vision, was daraus werden kann, bleibt es eine leere Hülle. Mit Philosophie hat das auch nichts zu tun. Abgesehen davon ist AI derzeit sehr rechenlastig, d.h. mit Java hast du da die falschen Bausteine ausgewählt. 😃



  • Also ich will mich hier auch mal zu Wort melden, weil ich den Ansatz gar nicht schlecht finde.

    Man könnte z.b. ein neuronales Netz zur Bilderkennung nutzen, dessen Output-Layer einen "nachher-Wert" zurückgibt, und die Aktion, die den "vorher-Wert" generiert, wäre die Generierung eines Bildes.

    Konkretes Beispiel: wir haben ein nicht zu grobes Pixelraster, welches das Format darstellt, mit dem intern gearbeitet wird.
    Das Netzwerk für Bilderkennung kann ein solches Bild als Input erkennen und kann über ein einzelnes Neuron (das Output-Layer) einen Wahrheitswert zurückgeben, der repräsentiert, ob das Netz das in dem Bild erkennt, was es eben per vorherigem Training fähig ist zu erkennen - z.b. einen Frosch.
    Das Netz, das für die Generierung des "vorher-Wertes" zuständig ist, wird nun ständig Bilder generieren, sie dem Netz zur Froscherkennung zu fressen geben und sie mit dem Wahrheitswert abgleichen, das dessen output-Neuron ausspuckt.
    Wenn das Netz, das den "vorher-Wert" (also Bilder) generiert, nun auch noch fähig ist, seine Bilder sinvoll anzugleichen, damit die Wahrscheinlichkeit für eine positive Rückmeldung vom anderen Netz größer wird, könnte man so einem neuronalen Netz beibringen, Frösche zu malen.

    Und das wäre zumindest sehr lustig.

    Problematisch könnte noch werden, dass das Training sehr lange dauern kann, gerade wenn die generierten Bilder relativ groß sind.


  • Administrator

    @oser sagte in My Artificial Intelligence:

    @hustbaer Dass du das so siehst, liegt eher daran, weil es auf einer sehr abstrakten Ebene läuft. Das kann schon fast alles, was es können muss. Weil die menschliche Intelligenz funktioniert auf psychologischer Ebene auch nicht anders, als dass Erkenntnisse abgeschätzt werden und ob der daraus resultierende "Nachher-Zustand" dem persönlichen Ziel entspricht.

    Sag das mal den Leuten vom Blue Brain Project. Wenn es doch nur so einfach wäre, dann könnte man die Investitionen in Milliardenhöhen sein lassen 🙂

    Künstliche Intelligenz oder auch spezifischer maschinelles Lernen sind sehr interessante Fachgebiete. Aber befasse dich doch mit der Theorie. Oder probier halt deine "Lösung" zum Laufen zu bringen und was sinnvolles damit bewerkstelligen. Aber sei nicht überrascht, wenn deine Resultate nicht so super sein werden. Es ist ja nicht so, als ob man sowas nicht ganz am Anfang auch probiert hat. Oder andere solche Ansätze nicht schon zig Male probiert haben. Es ist leider (oder zum Glück?) etwas komplexer da oben.



  • @Joshuah sagte in My Artificial Intelligence:

    Also ich will mich hier auch mal zu Wort melden, weil ich den Ansatz gar nicht schlecht finde.

    Der Ansatz ist aktuell 587 Zeilen lang... Das ist nix. Das ist weder ein Ansatz noch irgendwas greifbares.



  • @hustbaer Ab nächster Woche habe ich wieder etwas mehr Zeit. Dann werde ich mir eine Implementierung ausdenken und demonstrieren, wie damit Probleme gelöst werden können.



  • @It0101 Ich baue das alles modular auf, d.h. alles in kleinen Schritten. Und ich bin mir sicher, dass die Idee trotz wenig Code Erfolg bei der Implentierung haben wird. (siehe KISS-Prinzip). (Über)nächste Woche, wenn ich wieder etwas mehr Zeit habe, kann ich es auch vorstellen. Ich melde mich jedenfalls.



  • Überlege dir mal einen Anwendungsfall, konstruiere das komplett durch und stelle es dann noch mal vor. Dann wird das deutlich aussagekräftiger sein als jetzt.



  • @It0101 sagte in My Artificial Intelligence:

    Abgesehen davon ist AI derzeit sehr rechenlastig, d.h. mit Java hast du da die falschen Bausteine ausgewählt.

    Naja, Java hängt aus irgendwelchen Gründen der Ruf an, langsam zu sein. Die Frage ist nur, ob man in einer anderen Sprache relevant viel schneller ist. Vor allem: man nimmt doch sowieso für Neuronale Netze Grafikkarten zum Rechnen, da diese vielfach schneller sind. Und auch in Java geht das, ein Beispiel ist http://www.jcuda.org/ (gibt bestimmt noch mehr)



  • @wob sagte in My Artificial Intelligence:

    Naja, Java hängt aus irgendwelchen Gründen der Ruf an, langsam zu sein.

    Da gibts schon viele Gründe. Ich befasse mich in der Arbeit sehr viel mit Optimierungen. Abgesehen von sprach/frameworkspezifischen Gründen und der typischen Herangehensweise in C++/Java, hat man in C++ einfach viel mehr Kontrolle.



  • @Mechanics sagte in My Artificial Intelligence:

    Abgesehen von sprach/frameworkspezifischen Gründen und der typischen Herangehensweise in C++/Java, hat man in C++ einfach viel mehr Kontrolle.

    Die Typen, die über Performance von Programmen streiten, die in verschiedenen Sprachen geschrieben sind, sind meist die, die es schaffen, selbst in C oder C++ grottenlangsamen Code zu schreiben weil sie von Tuten und Blasen keine Ahnung haben.



  • Ja. Für die meisten Optimierungen bei uns muss man nicht mal was besonderes machen, sondern schlechten Code vernünftig schreiben.


  • Gesperrt

    @oser sagte in My Artificial Intelligence:

    Wenn ihr wollt, könnt ihr mal reinschauen und über eine Rückmeldung würde ich mich freuen.

    Die Variable 'entry' in VectorLogic.java, Zeile 45, ist IMHO überflüssig. Mach einfach: cloned[i] ^= true;
    Hat den selben Effekt.



  • @Mechanics sagte in My Artificial Intelligence:

    Ja. Für die meisten Optimierungen bei uns muss man nicht mal was besonderes machen, sondern schlechten Code vernünftig schreiben.

    Und vor allem vorher nachdenken, bevor man die Finger über die Tastatur fliegen lässt 😉
    Aber ich gebe euch recht: Ein mittelmäßiger C++-Programmierer wird vermutlich unperformanteren Code schreiben als ein guter Java-Programmierer. Aber wenn man es "wirklich wissen will", hat man mit C++ einfach Mittel und Wege um die CPU richtig glühen zu lassen, ganz einfach weil man näher am Blech ist und weil es vielseitige Optimierungsmöglichkeiten gibt.



  • @It0101 Am Blech? *scnr*



  • Ich werde das Projekt definitiv noch fortsetzen, aber habe momentan keine Zeit dafür.



  • Ungeachtet des hier vorgestellten Projekts, würde ich den Begriff »Künstliche Intelligent« vermeiden, weil es ehrlich gesagt absurd ist. Ein paar nette Algorithmen und Datenbanken sind einfach wie alles andere auch, nur Berechnungen. Unser Verstand aber unterliegt keinen Berechnungen. Intelligentes Verhalten ist ein bisschen mehr als das; Bewusstsein erst recht!



  • @p53 sagte in My Artificial Intelligence:

    Unser Verstand aber unterliegt keinen Berechnungen. Intelligentes Verhalten ist ein bisschen mehr als das; Bewusstsein erst recht!

    Aber es ist nichts übernatürliches. Es ist nur Biologie und somit Physik. Es hat jedenfalls noch kein Neurochirurg eine Seele gefunden. Abgesehen davon wird der Begriff "Künstliche Intelligenz" inflationär verwendet, für alles was nicht mit Grundschulmathe erschlagen werden kann. Insofern spricht auch hier nichts dagegen.



  • @It0101 Ich meinte eher, "Künstliche Intelligenz" als bloßer Titel ist ziemlich nichtssagend, was auch daran erkennbar ist, das mehrere Leute hier zu Beginn fragten, was das Programm eigentlich für einen Nutzen hat.
    (und zum Rest: Ich sehe Intelligenz durchaus als etwas, was die Wissenschaft gegenwärtig nicht erklären kann. Es gibt noch nichtmal eine allgemeine Definition davon, wie soll dann erst ein „intelligentes“ Programm möglich sein?!
    Mittlerweile wird sogar anerkannt, dass es nicht „die“ Intelligenz gibt, sondern verschiedenste Formen wie Emotionale Intelligenz, Geschicklichkeit, Intuition etc. Wenn bei Spielen von KI die Rede ist, weiß man zumindest, dass damit das Simulieren von menschlichen Spielern gemeint ist.)



  • Als "Künstliche Intelligenz" sehe ich derzeit vor allem neuronale Netze und alles was in der Kategorie sonst noch existiert. Der Begriff wird aber derzeit leider für alles mögliche verwendet.

    Ich sehe Intelligenz als etwas was man NOCH nicht genau erklären kann, weil das Gehirn unser komplexestes Organ ist. Auch nur deswegen. Es gibt aus meiner Sicht nichts übersinnliches daran und erst recht keine Seele. Alles reine Physik. Wir sind im Grunde auch nichts anderes als ein Roboter, der über ein paar sehr fortschrittliche Möglichkeiten der Wahrnehmung ( Selbstwahrnehmung ) verfügt. Wir sind "nur" ein Set von Regelkreisen auf zwei Beinen 😉



  • Dieses Weltbild nennt sich Mechanizismus und ist mittlerweile hinfällig, spätestens seit der Quantenphysik. Du kannst dich gerne als „Regelkreisen auf zwei Beinen“ sehen, wirst dabei aber nie in der Lage sein, zu erkennen, dass es noch mehr als das gibt, was das Leben ausmacht (Selbstorganisation der DNS, zielgerichtetes Wachstum, Fernwirkungen etc...)
    Die Frage ist, ob echte „künstliche Intelligenz“ überhaupt ohne die Merkmale des Lebens möglich ist?! Und dann ist da noch immer das Problem, was überhaupt „intelligent“ sein soll? Irgendwelche Bilder zu erkennen, oder in einem IQ-Test lustige Kästchen mit passenden Formen auszufüllen, prüfen lediglich einen wahllosen Aspekt, den wir nur als „intelligent“ ansehen. Afrikanische Ureinwohner würden nach unseren IQ-Tests als geistig Behinderte gelten, aber sie sind in der Lage, in einer widrigen Umgebung zu überlegen, wo unser Einer schon nach kürzester Zeit sterben würde. Tier besitzen ebenfalls Intelligenz, aber so gut wie kein Tier auch Bewusstsein, nämlich zB sich selbst im Spiegel erkennen zu können. Das sind alles Dinge, die man berücksichtigen muss, wenn man wirklich die Absicht hat, echte „Künstliche Intelligenz“ zu erschaffen. Grundproblem ist hier nämlich dann, dass jedes Programm irgendwann zu Ende sein muss, um ausgeführt zu werden.


Anmelden zum Antworten