News Googles „Self Driving Car“ lernt Städtefahrten

e-Laurin schrieb:
Der klingt nämlich nach: "Ich habe keine Ahnung, was da auf der Straße liegt, also ignoriere ich es und fahre weiter wie gehabt."
Wenn ich was nicht weiß, kann ich kein Wissen herzaubern. Trotzdem muss ich handeln. Und dann ist man wie schon erwähnt vorsichtig. Vorsicht heißt langsam fahren, herantasten um klarere Informationen zu bekommen. Eben den Sensoren ermöglichen klarer zu "sehen". Oder eben den Fleck zu umfahren.
Das ist nicht das gleiche wie ignorieren.

e-Laurin schrieb:
Ui, das ist aber eine ganz schwierige Sache. Wem soll der Computer vertrauen: Seinen Sensoren oder seiner Datenbank? Diese Frage ist gar nicht so einfach zu beantworten.
Was steht in der Datenbank? Description Logic-Regeln/OWL?
Dafür hat man natürlich Metaregeln die das entscheiden. Die können wieder trainiert werden, je nach Kontext/Situation werden sich die Metaregeln unterscheiden. Einige Metaregeln führen zu komplexen Unterfragen die seitens der KI erforscht werden müssen und hohe Abstraktionsfähigkeit benötigen. Üblicherweise sind es aber Regel wie "Nimmt Sensor Testsignal richtig wahr und gab es vorher keine Anzeichen für Fehler, dann vertraue den Daten weiter obwohl sie ungewöhnlich sind". "Steht sehr viel auf dem Spiel, sei immer vorsichtig". Etc.

Welche Regeln sinnvoll sind muss man entweder anhand der Szenarien durchdenken oder trainieren lassen.
Es ist wirklich nicht so kompliziert vom theoretischen Standpunkt her, eher arbeitsaufwändig.


e-Laurin schrieb:
Genau das kann man mit Bayes'schen Netzen machen.
Ein semantisches Netz mit einer ALC-Sprache mit probabilistischer Erweiterung (mein Prof. hat zu letzterem seine Doktorarbeit geschrieben) wäre eine weitere Möglichkeit.
Ob man genau das mit BN oder probabilistischen ALC-Sprache (anscheinend im wesentlichen Description Logic) bin ich mir nicht so sicher. Ich dachte da eher an eine expliziten Ansatz und nicht einer der viele Sachen impliziert und fusioniert verwendet wo man nicht mehr einfach herausfinden kann was jetzt was beeinflusst hat, und was jetzt letztendlich der Grund für einer Priorisierung/Entscheidung war.
Das Problem bei solchen Ansätzen ist die Informationsexplosion der Beschreibungen/Modelle. Die sind selten kurz und knapp und vorallem nicht mehr nachvollziehbar. Es bleibt im wesentlichen eine black box und ein fragiler Mechanismus der mehr versteckt als er erklärt.

e-Laurin schrieb:
Wenn du eine KI haben willst, die nur so gut wie der Mensch ist, wozu braucht man dann die KI? Man will doch ein System haben, das besser als der Mensch ist.
Z.B. um nicht selbst Auto fahren zu müssen ;) Aber auch um den Menschen zu verstehen, Modelle zu entwickeln, zu übersetzen, Lernsystem zu implementieren.
Wovon du sprichst hört sich eher wie theoretische Informatik, Verifikation, Beweisen von Grenzen etc. an. KI die in einer echten Welt situiert ist ist viel ungenauer. Der Punkt ist: man plant nicht endlos vorraus, dadurch reduziert sich das Problem immens und dann korrigiert man dynamisch mit neuen Daten. Extrapolation über größere Zeiträume mit dem Wunsch optimale Lösungen zu finden bringt wenig, da das ganze schnell divergiert. Alleine schon wegen mangelnder Sensorpräzision sind selbst exakte Modelle nur begrenzt anwendbar. Kennt man auch aus der Physik. Nur unter extrem kontrollierten Bedingungen funktioniert das. Daher, stetiges Nachmessen/Sensordaten verwenden ist unerlässlich wenn man in einer echten Welt agiert.
 
Zuletzt bearbeitet:
Quonux schrieb:
Wieder narrow-AI, die KI "versteht" nichts, ist kein wunder dass es auf Heutigen Tisch-Taschenrechner Systemen schnell ist.
Es ging mir um ein Beispiel, wie sehr ordentliche Implementierung und Algorithmen ein Erkennungsverfahren beschleuningen können. Nicht um eine Beispiel für eine verstehende KI.
 
denglisch schrieb:
Wenn ich was nicht weiß, kann ich kein Wissen herzaubern. Trotzdem muss ich handeln. Und dann ist man wie schon erwähnt vorsichtig. Vorsicht heißt langsam fahren, herantasten um klarere Informationen zu bekommen. Eben den Sensoren ermöglichen klarer zu "sehen". Oder eben den Fleck zu umfahren.
Das ist nicht das gleiche wie ignorieren.
Ok, also gehst du von der closed world assumption aus. (= alles, was ich nicht beantworten kann, ist falsch, zB "Ist der Weg frei?" -> "Keine Ahnung, die Sensoren geben nix her." -> closed world assumption -> "Nein, der Weg ist nicht frei.")
Hm ja, den Weg halte ich für gut. Wenn der Computer mal nicht weiter weiß, aktiviert er dann per default die Bremsen (oder wie die Reaktion auch immer aussehen soll).


denglisch schrieb:
Was steht in der Datenbank? Description Logic-Regeln/OWL?
Das lasse ich offen. Ich weiß nicht, welche Form der Wissensrepräsention(en) für einen Autopilot geeignet ist. Eine vermutlich polyhierachisch geordnete Liste von Regeln ist garantiert drin.


denglisch schrieb:
Üblicherweise sind es aber Regel wie "Nimmt Sensor Testsignal richtig wahr und gab es vorher keine Anzeichen für Fehler, dann vertraue den Daten weiter obwohl sie ungewöhnlich sind". "Steht sehr viel auf dem Spiel, sei immer vorsichtig". Etc.
Ich nehme mal an, die Regelbeispiele hast du dir gerade aus den Finger gezogen und nicht genau durchdacht. Die erste Regel würde nämlich dafür sorgen, dass der Computer die Sensoren nie anzweifelt. Und die zweite sollte eigentlich daueraktiv sein. ;)
Ich verstehe aber, was du damit sagen willst.


denglisch schrieb:
Welche Regeln sinnvoll sind muss man entweder anhand der Szenarien durchdenken oder trainieren lassen.
Das hatten wir schon mal. Dieses System kommt mit unbekannten Situationen nicht gut klar, da sie sich nicht unbedingt in diesen Regeln wiederfinden lassen.



denglisch schrieb:
probabilistischen ALC-Sprache (anscheinend im wesentlichen Description Logic)
Ja, es ist eine Beschreibungssprache. Ich hatte es mir so gedacht, dass die Sensordaten in Beschreibungen transformiert werden und dadurch eine einfachen Abgleich mit der Wissensbasis zulassen. Die Sensordaten haben dazu einen Wahrscheinlichkeitswert, der Auskunft gibt, wie weit man den Daten trauen kann.


denglisch schrieb:
Ich dachte da eher an eine expliziten Ansatz und nicht einer der viele Sachen impliziert und fusioniert verwendet wo man nicht mehr einfach herausfinden kann was jetzt was beeinflusst hat, und was jetzt letztendlich der Grund für einer Priorisierung/Entscheidung war.
Das Problem bei solchen Ansätzen ist die Informationsexplosion der Beschreibungen/Modelle. Die sind selten kurz und knapp und vorallem nicht mehr nachvollziehbar. Es bleibt im wesentlichen eine black box und ein fragiler Mechanismus der mehr versteckt als er erklärt.
Das schöne am semantischen Netz ist, dass man sich die Assoziationsfolge, die zu einem Ergebnis führten, problemlos ansehen kann. Semantische Netze sind oft als Graphendatenbank realisiert (relational geht natürlich auch), die Beschreibungslogiken sind dann eigentlich nur das Werkzeug, einen Pfad von Knoten zu Knoten zu finden.
Das System erlaubt einem auch, an vielen Stellen zu drehen, es genauer einzustellen bzw. es einstellen zu lassen (per Lernalgorithmus).


denglisch schrieb:
Wovon du sprichst hört sich eher wie theoretische Informatik, Verifikation, Beweisen von Grenzen etc. an.
Ich halte das für wichtig, da sich die Grenzen der KI innerhalb der Grenzen eines Computer befinden müssen. Ich halte das sogar für den einzigen Weg, um sicherzustellen, dass ein Computer in der Lage ist, ein KI-Programm wie vorgesehen ausführen zu können. (zB Echtzeit-Anforderung, Ressourcen-Management, etc.)
Auch wird es rechtlich von Belang sein. Sollte es mal einen Unfall geben, dann steht man ziemlich schlecht da, wenn man sagen muss, dass das Steuerprogramm in dem und dem Extremfall nicht wie vorgesehen funktioniert.


denglisch schrieb:
KI die in einer echten Welt situiert ist ist viel ungenauer. Der Punkt ist: man plant nicht endlos vorraus, dadurch reduziert sich das Problem immens und dann korrigiert man dynamisch mit neuen Daten. Extrapolation über größere Zeiträume mit dem Wunsch optimale Lösungen zu finden bringt wenig, da das ganze schnell divergiert. Alleine schon wegen mangelnder Sensorpräzision sind selbst exakte Modelle nur begrenzt anwendbar. Kennt man auch aus der Physik. Nur unter extrem kontrollierten Bedingungen funktioniert das. Daher, stetiges Nachmessen/Sensordaten verwenden ist unerlässlich wenn man in einer echten Welt agiert.
Jepp, das kenne ich. Ich bin in einem Projekt, an dem ich an einem autonomen Segelboot programmiere. Ok, es ist kein Auto und die Zielstellung unterscheidet sich zum Teil extrem, viele Probleme sind aber gleich. Die Sensoren sind ungenau, die Daten nur mit Vorsicht zu genießen, die Ressourcen sind begrenzt usw. Die Kunst ist es, die Exaktheit des Rechners mit der Ungenauigkeit der Welt zu verbinden.
Na gut ok, meistens bastelt man nur rum, um die Über- und Unterreaktionen des Systems auf irgendeine intelligente Art und Weise zu berichtigen.
 
Zuletzt bearbeitet:
e-Laurin schrieb:
Üblicherweise sind es aber Regel wie "Nimmt Sensor Testsignal richtig wahr und gab es vorher keine Anzeichen für Fehler, dann vertraue den Daten weiter obwohl sie ungewöhnlich sind". "Steht sehr viel auf dem Spiel, sei immer vorsichtig". Etc.

Die erste Regel würde nämlich dafür sorgen, dass der Computer die Sensoren nie anzweifelt. Und die zweite sollte eigentlich daueraktiv sein. ;)
Ich verstehe aber, was du damit sagen willst.
Es waren keine formal logischen Regeln, aber keine sinnlosen oder frei erfundenen ;)
Ich finde es zeigt gut den Unterschied zwischen einer kompakten aber unvollständiger Erklärung und einer formal korrekten Aussage die wegen der vielen Details und Ausnahmen im Endeffekt wenig erklärt.
Echte KI sollte mit solchen "ungenauen" Aussagen zurechtkommen.

Die erste Regel: Die Daten werden natürlich angezweifelt, und zwar wenn es vorher Anzeichen für Fehler gab. Und das wird festgestellt indem mit bekanntem Sensorwerten (unter gewissen Umständen) verglichen wird und man feststellt "Daten sind ungewöhnlich". Bei dem noch konkreteren Fall des Testsignal hat man ja auch einen sehr genau bekannten Wert/Verlauf, und kann daher testen wie gut der Sensor dieses Signal wiedergibt. Wie lange in die Vergangenheit "vorher" schaut muss man noch festlegen. Ich sehe in der ursprünglichen Formulierung keinen direkten Fehler.

Korrekter sollte die zweite Regel lauten: "Steht sehr viel auf dem Spiel, sei besonders vorsichtig." Man hat immer gewisse Unsicherheiten (Sensordaten, Vorhersagen, usw.), aber wenn die Situation besonders kritisch ist, dann muss man kleine Zweifel deutlich stärker gewichten. Beim einem Roboter ist nicht jede Situation kritisch, nicht jeder Fehler verursacht Schaden oder ist lebensgefährlich (z.B Serviette fallen lassen... ja, auch da kann man konstruierte Gegenbeispiele finden, aber das geht immer und würde jegliche Handlung oder Fehler verbieten, denn für nichts gibt es 100% Sicherheit). Beim autonomen Fahren sind mehr Situationen kritisch, weswegen ich "immer" schrieb. Einen gewissen Zweifel muss man aber akzeptieren, da man sonst niemals eine Entscheidung treffen kann und immer stehen bleibt.


Das hatten wir schon mal. Dieses System kommt mit unbekannten Situationen nicht gut klar, da sie sich nicht unbedingt in diesen Regeln wiederfinden lassen.
Regeln beschreiben immer einen Kontext indem sie angewandt werden und die dann zu erwartenden Folgen. Ist der Kontext und die Folgenvorhersage klar genug beschrieben, kann man auch Abweichungen feststellen, sprich Unbekanntes feststellen. Nichts anderes tut man in der Forschung.
Man weiß also dass die Situation unbekannt ist, und kann nach ähnlichen Situationen suchen, kreativ werden, oder eine Standardreaktion anwenden die möglichst sicher ist, auch bei unbekannten Situationen. Ob das schon implementiert wird oder nicht ist ja egal. Es ist machbar ohne das ganze System zu ändern.

Das schöne am semantischen Netz ist, dass man sich die Assoziationsfolge, die zu einem Ergebnis führten, problemlos ansehen kann.
Die Pfade können aber sehr lang werden. Besser wäre es die wesentlichen Aspekte/die Grundideen herauszufinden und darzustellen. Genauso wie ein mathematischer Beweis explizit und korrekt geführt sehr lang sein kann, auch wenn seine Grundidee relativ kurz ist.

Für eine zusammenfassende Darstellung braucht es unscharfe Konzepte/Bausteine die das Prinzip plausibel und kurz repräsentieren. Häufig ist das aber nicht nur eine Teilmenge der Regeln die in einer Ableitung angewandt wurden, sondern eine neue kompakte Fassung aus einer anderen Perspektive.

Daher funktionieren semantische Netze (oder Bayes' Netze) alleine nicht: die einen nehmen vorgegebene Konzepte an, die anderen (Bayes) fügen dem noch neue Konzepte hinzu, aber nur als "hidden nodes" die wie bei NN, keine klare Bedeutung haben.

Ein Pfad ist ein "Beweis" aber keine Erklärung.
 
Zuletzt bearbeitet:
Zurück
Oben