My Artificial Intelligence


  • Mod

    @oser sagte in My Artificial Intelligence:

    @SeppJ Das ist keine Esoterik, sondern so tickt der Mensch wirklich. Oder willst du mir sagen, dass du nicht aufgrund von gemachten Erfahrungen deine Entscheidungen triffst?

    Und wo bleibt dies bei dir? Das ist ein philosophischer Aufsatz, kein erkennbares Modell, keine Anwendung, kein Ergebnis.

    Andererseits könnte ich dich auch fragen, was du unter Wissenschaft verstehst.

    Das, was im Wörterbuch steht. Geht oft mit den Dingen oben einher.

    Und Informatik ist es definitiv, sonst würde ich ja nichts programmieren.

    Informatik hat mit Programmieren so viel zu tun wie Mathematik mit Rechnen....



  • @SeppJ sagte in My Artificial Intelligence:

    Informatik hat mit Programmieren so viel zu tun wie Mathematik mit Rechnen....

    aber ohne informatik kein programm bzw. ohne mathematik keine rechnung, oder?


  • Mod

    @Wade1234 sagte in My Artificial Intelligence:

    @SeppJ sagte in My Artificial Intelligence:

    Informatik hat mit Programmieren so viel zu tun wie Mathematik mit Rechnen....

    aber ohne informatik kein programm bzw. ohne mathematik keine rechnung, oder?

    Nun, ich habe nicht gesagt, dass sie gar nichts miteinander zu tun hätten 🙂



  • @oser Du hast hier ein Modell beschreiben, von dem du behauptest dass es tolle Dinge "können kann" um es mal so zu formulieren. Glaubt dir aber keiner. Manche (ich auch), sind sogar so weit gegangen zu behaupten dass sie glauben dass das Modell ganz sicher nichts interessantes können kann. Aber darum geht's erstmal nicht.

    Denk dir einfach dass wir alle nur geschrieben hätten "ich glaube das erstmal nicht" (statt sinngemäss "kann nicht funktionieren"). Der Ball ist jetzt bei dir. Du behauptest dass es funktioniert, also bist du quasi in der Bringschuld. Beweise dass es geht. Schreib eine Implementierung die mit deinem Modell ein nicht-triviales Problem löst. Wenn du das demonstrieren kannst, wird die Reaktion hier vermutlich ganz anders aussehen.

    Oder lass es, auch voll OK. Dann darfst du dich aber nicht wundern wenn es weiterhin keinen interessiert und wir weiterhin nicht glauben dass das Modell irgendeinen Wert hat.



  • @SeppJ sagte in My Artificial Intelligence:

    Nun, ich habe nicht gesagt, dass sie gar nichts miteinander zu tun hätten 🙂

    naja ich wollte darauf hinaus, dass man zum programmieren doch erst einmal informatik bzw. zum rechnen erst einmal mathematik betreiben muss. also unabhängig davon, ob das genannte programm etwas taugt (ich habe es mir leider nicht ansehen können und wahrscheinlich hätte ich da auch nicht die ahnung von), werden da doch bestimmt informationen bzw. daten verarbeitet und man muss sich gedanken machen, wie das passieren soll.


  • Mod

    @Wade1234 sagte in My Artificial Intelligence:

    @SeppJ sagte in My Artificial Intelligence:

    Nun, ich habe nicht gesagt, dass sie gar nichts miteinander zu tun hätten 🙂

    naja ich wollte darauf hinaus, dass man zum programmieren doch erst einmal informatik bzw. zum rechnen erst einmal mathematik betreiben muss. also unabhängig davon, ob das genannte programm etwas taugt (ich habe es mir leider nicht ansehen können und wahrscheinlich hätte ich da auch nicht die ahnung von), werden da doch bestimmt informationen bzw. daten verarbeitet und man muss sich gedanken machen, wie das passieren soll.

    Naja, das sieht mir hier aber eher nach reinem Handwerk aus. Der Burgerwender bei McDonald's ist halt doch nicht wirklich ein Koch, auch wenn es technisch gesehen "kochen" ist. Das ist ja gerade ein Teil meiner Kritik, dass hier nicht wirklich erkennbar ist, dass über "Information" oder "Daten" oder das Zusammenwirken derselben nachgedacht wurde. Einfach nur eine Menge Zutaten in einen Topf geworfen und umgerührt, um bei der Kochanalogie zu bleiben.



  • @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*


Anmelden zum Antworten