Überlegung: Sprachlichbegabte Computer

Übersicht Sonstiges Smalltalk

Gehe zu Seite Zurück  1, 2, 3

Neue Antwort erstellen

Alfadur

BeitragDo, Apr 08, 2010 17:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Tja, da gibts ein ganzes Buch von...

http://www.amazon.de/Grundlage...pd_sim_b_5

Besonders empfehlen kann ich die Rezension am Ende der Seite Smile (da hatte mal jemand Humor)
A Cray is the only computer that runs an endless loop in less than four hours.

Firstdeathmaker

BeitragDo, Apr 08, 2010 20:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich hatte letztes Semester Künstliche Intelligenz. Die Idee eine starke KI (so nennen die Wissenschaftler eine wirklich universelle künstliche Intelligenz) zu bauen, ist nicht neu, allerdings in den 90ern aus der Mode gekommen, da das Problem einfach darin liegt, dass wir nicht exponentielle Rechner bauen können (mit Quantenrechnern ging das vielleicht). Man ist also dazu übergegangen, spezielle KI's zu entwerfen, die halt genau auf eine Aufgabe zugeschnitten sind. Z.b. Spracherkennung / Bilderkennung. Ein weiteres Problem ist, dass wir ja noch nicht einmal wirklich wissen, wie das menschliche Gehirn funktioniert. Etwas nachzubauen, das wir nicht verstehen, ist glaube ich von Anfang an zum scheitern verurteilt. Das ist so, als wenn jemand der keine Ahnung von KI hat plötzlich beschließt, die ultimative KI zu programmieren, und das auch noch mit BMax Wink (nicht böse gemeint).

Das was man bisher so aktuell macht, sind Support-Vector-Machines. Diese passen sich wesentlich besser an als neuronale Netze. Sie sind allerdings auch viel komplizierter. Mit denen kann man nach ein bisschen Training schon extrem gute Erkennungsraten bei Schrifterkennung hinbekommen (also besser als es ein normaler Mensch könnte).



Also wie gesagt, um eine starke KI zu programmieren, sollte man wissen wie das Denken überhaupt funktioniert.
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon
Gewinner des BCC #57 User posted image

Thunder

BeitragDo, Apr 08, 2010 20:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Da du es erwähnst: Möglicherweise wäre es interessant in diesem Thread auch die Meinung darüber zu vergleichen, welche Programmiersprache gewählt werden sollte. Diese gibt die Voraussetzungen - daher sollte es die erste Entscheidung sein, oder?
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit

Alfadur

BeitragDo, Apr 08, 2010 21:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du mit Grammatiken rumspielen willst, probier mal: http://home.arcor.de/bjoern-beutel/malaga/
oder such mal nach JSLIM, das ist so in etwa das gleiche, nur neuer...





...wobei das alles schon fertige Systeme sind, JSLIM ist in Java programmiert. Ich denke aber die Wahl der Programmiersprache ist relativ egal, mache sind eben besser geeignet als andere, möglich ists möglicherwiese mit jeder...
A Cray is the only computer that runs an endless loop in less than four hours.

x-pressive

BeitragFr, Apr 09, 2010 1:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Ein interessantes Thema, zu dem ich mir auch schon viele Gedanken gemacht habe -wahrscheinlich deshalb, weil es ja irgendwo der Traum jedes Coders ist, wirkliches "Leben" zu erschaffen. Allerdings ist das nur eine Illusion.

Es ist eigentlich definitiv nicht möglich, eine Maschine zu bauen, die menschlich IST. Alles, was man tun könnte, ist diese wie einen Menschen WIRKEN zu lassen -also den Anschein zu erwecken. Und auch das nur in einigen ganz klein umrissenen Bereichen. Meiner Meinung nach ist das Höchste, was man Zustande bringen könnte, ein Programm das in etwa den Verstand eines 2-4 jährigen Kindes simuliert (simuliert, nicht entspricht). Zu mehr wird es nicht reichen.

Wie müsste so ein Programm sich verhalten bzw. in welche "Teile" kann man menschliches Verhalten zerlegen?

1. Kreativität
Kreativ sein heisst, aus vorgegebenen Dingen selbstständig etwas neues zu machen. Das Programm muss selbstständig alles gesammelte Input auf alle erdenklichen Weisen miteinander kombinieren und verknüpfen und selbst prüfen können, ob die Synthese daraus auch Sinn ergibt.

2. Wissen
Das Programm müsste Unmengen von Informationen speichern. Dazu bräuchte es nicht nur eine Datenbank, sondern auch eine recht enorme. Selbst das Wissen eines 2,3-jährigen Kindes ist schon grösser, als man denkt. Stellt euch mal vor, wie komplex eine Datenbank sein müsste, die jedes Detail, jeden Gegenstand, jedes Bild, jede Form, jede Farbe speichert, die ein Kind aufgenommen hat -und zu jedem dieser Details müsste das Programm dann noch folgendes speichern:

3. Gefühl
Auf den einfachsten Nenner reduziert sind Emotionen eigentlich nur zwei Gefühle: Zuneigung und Abneigung. Zu allem, was man erlebt, fragt man sich: tut mir das gut, oder schadet es mir? Demzufolge wird das Erlebte damit verknüpft und kategorisiert. Und erst die Verknüpfung von Wissen mit Emotionen macht dann den individuellen Charakter aus. Denn der eine Mensch verabscheut aufgrund seiner Erfahrung dies, der andere etwas anderes. Dieser Unterschied in dem, was wir mögen oder nicht mögen, macht den Unterschied zwischen uns aus. Und woher kommt dieser Unterschied?

4. Erfahrung / Umfeld / Prägung
Jeder Mensch ist das Produkt seines Umfeldes, also der Leute um ihn herum, der Erfahrungen, die er vom ersten Augenblick an macht. Damit ein KI-Programm also wirklich individuell werden kann, muss es von haus aus jeweils ganz eigen auf Eindrücke reagieren. Wie schafft man das? Da gäbe es zwei Möglichkeiten:

a) Durch programmierte "Gene" -je nachdem, welche Gene ein Programm hat, reagiert es eben anders, hat bereits angeborene Vorlieben und Abneigungen.

b) Ein Leherer -jemand setzt sich hin und bringt dem Programm unermüdlich bei, was gut ist, und was schlecht. Auf diese Weise wird das Programm zum Spiegelbild seines Lerhmeisters, des Menschen, der ihn füttert.

Natürlich gehen auch beide Varianten.

Und dann:
So, und das ganze reicht dann gerade mal dazu, eine Amöbe halbwegs realistisch auf dem Bildschirm agieren zu lassen. Was nämlich noch fehlt, ist Sprechvermögen. Allein das ist schon einer der schwierigsten Punkte. Ein Programm, das auch noch die Grammatik richtig anwendet, ist für sich alleine schon eine Herausforderung, an der sich sogar Spezialisten, die automatisierte Übersetzungsprogramme entwickeln, immer noch die Zähne ausbeissen.

Die Lösung wäre hier, das man sich für dieses Programm eine eigene, vereinfachte Sprache einfallen lässt. So, wie man beispielsweise im Labor mit Gorillas per Zeichensprache oder einfachen Icons kommuniziert. Aber das ist langweilig und würde keinen lange vor dem Bildschirm halten.

Also so viel zu den "hohen Zielen" -im Grund wäre es viel einfacher, nur ein kleines, knuddeliges Tamagotchi zu coden, das halt halbwegs intelligent wirkt. Das gab es auch schon mal -die Viecher konnte man im Internet kaufen oder so und jedes hatte einen eigenen "Gen-Code", mit dem es zum Leben erweckt werden konnte. Dieser Gen-Code war dann auch gleich der angeborene Charakter des Viechs. Ich weiss nicht mehr, wie die hiessen, aber ich denke, das wäre ein Ziel, das evtl. halbwegs realistisch wäre.


P.S.
Die Programmiersprache ist eher zweitrangig, aber um eine Datenbank kommt man bei einer wirklich lernfähigen KI eigentlich kaum herum. Alles andere ist dann halt "nur" Tamagotchi-Niveau (man hat ein paar wenige Parameter und spielt halt damit herum).
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL

Thunder

BeitragSa, Mai 08, 2010 18:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Diskussion ist zwar schon länger her, aber ich habe gerade das hier gefunden: http://www.nice-technologies.de/2009/

Hat mich ehrlich gesagt ziemlich ins Staunen gebracht.
Die Informationen die von der Seite kommen sind unter http://www.nice-technologies.de/2009/?page_id=7 einsehbar. Sie haben anscheinend eine spezielle Programmiersprache (genau: Computersprache) entwickelt, die auf deutscher Grammatik basiert.
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit

ComNik

BeitragSa, Mai 08, 2010 19:29
Antworten mit Zitat
Benutzer-Profile anzeigen
@Problem mit dem Verstehen von Sätzen:

"Nachts liege ich auf meiner Decke."

Jetzt schreib mal eine K.I (ohne den Satz natürlich vorher zu kennen Rolling Eyes ), die mir sagen kann ob ich schwerelos an meiner Zimmerdecke hänge oder ob ich auf meinem Bett liege. Selbst aus einer riesigen Datenbank von allem möglichem Wissen kannst du nur herausfiltern, dass es zwei Bedeutungen für Decke gibt. Das Problem kannst du tatsächlich durch Verbindungen lösen. Du verbindest "einfach" die Aktion "liegen" mit allen Dingen auf denen man normalerweise liegt. Abgesehen vom Speicherverbrauch ist das ganze noch nichtmal wirklich intelligent: Angenommen der Beispielsatz kommt vom Astronauten im All, der darüber klagt, dass seine Schnallen am Bett lose sind und er sich regelmässig an der Schiffdecke wiederfindet Rolling Eyes

Das klingt vllt weit hergeholt, soll aber nur dem verdeutlichen dienen...

Größeres Problem (war mal ein Wettbewerb vom Palm Gründer, Preisgeld 10000$):

Der Computer kriegt zwei beliebige Bilder, einzige Bedingung: Auf dem einen ist eine Katze, auf dem anderen ein Hund.

Aufgabe an das Programm: 0 zurück wenn Bild 1 eine Katze zeigt, 1 wenn Bild 2 eine Katze zeigt.

Da bist du aber am werkeln...

--------

Versuch erstmal (z.B an einem Spiel) eine intelligenzsimulierende K.I für ein geschlossenes System (dein Spiel...). Geschlossene Systeme haben den immensen Vorteil, das alle Informationen irgendwie abrufbar sind und es nur eine begrenzte Anzahl an Aktionsmöglichkeiten gibt. Du sparst unglaublichen Rechenaufwand:

Beispiel Shooter:
Spieler tötet eine Wache. Die andere Wache bemerkt die Leiche, sucht nach Spieler. Ganz banal, erwartet man in jedem modernen Vollpreisspiel.

In einem offenen System, sähe die nötige Berechnung so aus:
-> Scanne die ganze Umwelt, die von momentaner Position aus sichtbar ist
-> Identifiziere jedes Objekt
-> für jedes identifizierte Objekt:
-> Testen ob relevant
-> Als Kamerad identifizieren (nicht IF fraction =, sondern z.B anhand der Anzugfarbe!..)
-> bemerken, dass es nicht normal ist wie der da liegt (versuch das mal als Computer)
-> oh..., Reaktion

Wenn das Frame berechnet ist, hat der Spieler inzwischen seinen Abschluss gemacht und eine Familie gegründet...


In einem geschlossenen System braucht man ein paar Millisekunden:
-> Wache stirbt
-> Tote Wache löst Event aus, Event beinhaltet Position, Angriffsrichtung, weis der Geier...
-> Kamerad empfängt, eilt hin, schaut in Angriffsrichtung
-> Für alle Objekte im Spiel (an dieser Stelle kann man sehr viel optimieren, ist nur ein Beispiel...)
-> IF Objekt == Spieler - Reaktion

Fazit: Ein intelligentes Programm zu schreiben wird dich nach zwei Tagen frusten. Lass es, schreib vllt ein Spiel mit robuster, schwerer K.I, da biste schon gut dabei (:

lg
ComNik
WIP: Vorx.Engine

Gehe zu Seite Zurück  1, 2, 3

Neue Antwort erstellen


Übersicht Sonstiges Smalltalk

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group