Wie gesagt, du weichst meiner Meinung nach der Frage aus – siehe unten.
seeker hat geschrieben: ↑29. Jan 2018, 01:21
Das Google-Auto hat in den USA ich glaube 3 Millionen km zurückgelegt, ohne dass so eine Situation eingetreten wäre.
Die Frage ist, wie sich ein Auto in einer konkreten Situation konkret verhalten soll – nicht, ob diese Situation schon einmal eingetreten ist oder nicht. Sie kann prinzipiell eintreten, daher muss man sich dieser Frage stellen und sie beantworten.
seeker hat geschrieben: ↑29. Jan 2018, 01:21
Oder denkst du, dass die autonomen Fahrzeuge nicht erlaubt werden, weil wir an der Stelle vor unlösbaren ethischen Problemen stehen?
Auch das ist ein Problem, darauf hatte ich bereits hingewiesen:
Die erste Frage ist, ob wir autonomes Fahren nicht zulassen sollen, solange die Frage der Bewertung von Menschenleben und die entsprechende Implementierung nicht abschließend geklärt sind. Die zweite Frage lautet, ob wir autonomes Fahren dennoch zulassen, weil wir wissen, dass wir so deutlich mehr Menschenleben retten – und damit jedoch zwingend irgendeine Vorgabe zur Bewertung erlassen müssen. Und falls letzteres mit ja beantwortet wird, sind wir wieder bei der Frage nach der konkreten Bewertungsregel.
seeker hat geschrieben: ↑29. Jan 2018, 01:21
tomS hat geschrieben: ↑28. Jan 2018, 22:07
Ich habe den Pseudocode oben hingeschrieben. Er besagt, dass bei physikalisch nicht vermeidbarer Kollision ein Ziel gewählt wird. Wie lautet dafür deine Bewertungs- bzw. Sortierfunktion?
Da kommt es zunächst einmal darauf an, was das Auto mit seinen Sensoren überhaupt erkennen und unterscheiden kann und wie gut. Perfekt wird das nie sein.
Nein, das ist nicht die Frage.
Der Punkt ist nicht, dass man evtl. aus der Nummer rauskommt, weil die Präzision (noch) nicht ausreichend ist – die Frage ist vielmehr , wie man vorgeht, wenn die Erkennung präzise genug ist – was heute schon absehbar ist.
Das ist das, was ich meine, wenn ich behaupte, du weichst der Frage aus. Es geht nicht darum, die Fragestellung aufzuweichen oder Möglichkeiten in Abrede zu stellen, die Experten in naher Zukunft als realistisch ansehen, sondern es geht darum, die konkret gestellte Frage konkret zu beantworten.
seeker hat geschrieben: ↑29. Jan 2018, 01:21
Ich würde das Programm eben nicht so programmieren, dass ein Ziel gewählt wird, sondern dass im Gegenteil Hindernissen und Menschen ausgewichen wird: Die Programmierung sagt dem Auto dann also nicht, wo es hinfahren soll, sondern, wo es
nicht hinfahren soll, wo es dann hinfährt ist das was übrigbleibt.
Das ist aber im Sinne eines Algorithmus vollständig äquivalent zu meinem Code.
Potentielle Ziele einschließlich aller Lücken werden erfasst, und es wird das Ziel mit dem geringsten Wert ausgewählt. Es ist egal, wie du das umgangssprachlich formulierst, es können Situationen auftreten, in denen ausschließlich lebende potentielle Ziele existieren, zwischen denen auszuwählen ist.
Und was bitte bedeutet …
seeker hat geschrieben: ↑29. Jan 2018, 01:21
… die Programmierung sagt dem Auto dann also nicht, wo es hinfahren soll, sondern, wo es
nicht hinfahren soll, wo es dann hinfährt ist das was übrigbleibt.
Autonomes Fahren bedeutet nun mal, dass die Programmierung dem Auto explizit sagt, wohin es fahren soll. Wer sonst sollte das tun?
seeker hat geschrieben: ↑29. Jan 2018, 01:21
Natürlich muss die KI dann manchmal auch entscheiden, wenn sie nicht allen Hindernissen ausweichen kann, welchen Hindernissen bevorzugt auszuweichen ist - falls sie überhaupt leistungsfähig genug ist das einsortieren zu können. Das Ergebnis ist in der Oma-Kind-Situation u.U. dasselbe, aber die Programmierung ist eine andere:
Die Programmierung besagt dann, dass bei physikalisch nicht vermeidbarer Kollision ein Ziel gewählt wird, dem bevorzugt auszuweichen ist, sie besagt dann aber nicht, dass ein Ziel zu wählen ist, das aufs Korn zu nehmen ist. Verstehst du nicht den Unterschied?
Nein, ich sehe den Unterschied nicht, weil es in Bezug auf einen Algorithmus keinen solchen gibt: du kannst aus allen potentiellen Zielen eines auswählen, oder du kannst alle potentiellen Ziele bis auf eines ausschließen.
Wenn du das anders siehst, dann würde ich dich bitten einen präzisen Algorithmus zu skizzieren, der das Problem vermeidet.
Es geht darum, dass die Software präzise, nachvollziehbar und testbar (am besten beweisbar) ihre Aufgabe erfüllt, d.h. wenn möglich Ausweichen und den Schaden minimieren; dazu benötigt sei eine Bewertungs- bzw. Auswahlfunktion für die neue Richtung = das neue Ziel.
Wenn du die Regel „soweit physikalisch möglich: weiche allen lebenden Zielen aus“ implementierst, wie soll die Software sich verhalten, wenn diese Regel keine Lösung zurückgibt? Soll die Software nichts tun? Auch dann „tut sie ja etwas“, z.B. geradeaus weiterfahren. Du kannst das jedenfalls nicht offen lassen.
Sorry, es tut mir leid, aber du weichst der Problemstellung aus, die sich für die Software-Entwicklung ergibt (und du kannst mir glauben, da kenne ich mich aus; mit deinen Vorgaben wird kein Entwicklungsteam die Arbeit aufnehmen).
seeker hat geschrieben: ↑29. Jan 2018, 01:21
… ein Fahrzeug aber rein dazu zu programmieren bei Gefahr zu bremsen und Menschen und Hindernissen aufzuweichen viel weniger
Wohin ausweichen? Warum gerade dahin ausweichen?
seeker hat geschrieben: ↑29. Jan 2018, 01:21
Auch da kann man sich dann auch noch Gedanken machen, nach welchen Kriterien eine solche Auswahl erfolgen soll und ganz einfach wird das auch nicht sein, aber es ist so lösbar, dass das im gesellschaftlichen Konsens akzeptabel sein wird.
Wie? Warum behauptest du immer nur, dass ein sehr konkretes Problem schon irgendwie lösbar sein wird? Warum skizzierst du nie (d)eine Lösung, wie das konkret funktionieren soll? Es geht noch nicht mal um einen gesellschaftlichen Konsens, es geht zunächst mal darum, überhaut die Optionen zu kennen.
seeker hat geschrieben: ↑29. Jan 2018, 01:21
Oder man lässt es einfach und gibt für solche Extremseltenfälle überhaupt keine Auswahlregeln vor (außer bremsen und soweit möglich ausweichen, wenn erkennbar/möglich Menschen bevorzugt, das ist wohl das einfachste/unproblematischste) …
Wie soll denn offen bleiben, was ein Programm konkret tun soll? Wie willst du das implementieren? Wie willst du testen, ob keine Auswahlregel vorliegt und ob das Programm dahingehend korrekt ist?
seeker hat geschrieben: ↑29. Jan 2018, 01:21
… es ist ja schließlich nicht einmal klar, ob darüber hinausgehendes überhaupt 100% zuverlässig programmierbar sein würde.
In sicherheitskritischen Aspekten ist das heute beweisbar klar (ich hatte entsprechende Links gepostet).
Es gibt dazu eindeutige Vorgaben, es gibt Algorithmen, die beweisbar fehlerfrei sind. Ob diese Algorithmen in unserem Fall zum Einsatz kommen bzw. mit KIs kombiniert werden können ist eine andere Frage.
Der Algorithmus eines neuronalen Netzes ist m.E. trivialerweise beweisbar korrekt. Was absolut unklar ist, wie sich die Auswahl der Trainingssituationen auf die Reaktion auswirkt. Bereits bei einfachen Situationen wie beim Brettspiel Go ist den menschlichen Experten nicht mehr klar, warum die Software so spielt wie sie spielt; lediglich das Ergebnis zählt. Dann müsstest du mit der Situation leben, dass du keine Regel angeben kannst, wie sich das System in einer bestimmten Klasse von Situationen verhält, weil du sie nicht aus dem System extrahieren kannst; du kannst aber weiterhin in jeder konkreten Situation die Entscheidung nachvollziehen. Es ist – aus heutiger Sicht – natürlich rechtlich fragwürdig, wenn ein System prinzipiell nur noch statistischen Kriterien genügt.
seeker hat geschrieben: ↑29. Jan 2018, 01:21
Es ist unmöglich jede mögliche Situation vorherzusehen, man muss das akzeptieren, beim menschlichen Fahrer akzeptiert man es ja auch.
Aber man kann eine Klassifizierung vornehmen.
Eine mögliche Klassifizierung von Situationen lautet, dass alle physikalisch möglich Manöver ausschließlich belebte Ziele treffen werden. Wie gehst du mit dieser Klasse von Situationen um? Kannst du mathematisch ausschließen, dass sie nie eintreten werden? Würdest du in diesen Situation eine Bewertungsrege vorgeben? Welche? Oder würdest du – wie Ralf – letztlich würfeln? Wenn würfeln: wo ziehst du die Grenze zwischen fester Regel und würfen? Bei eins-zu-eins Situationen wie „Oma vs. Kind“? Oder eins-zu-fünf wie „Oma vs Familie“?
Mir ist klar, solange die Technologie unpräzise ist, stellt sich diese Frage so nicht; aber wenn sie unpräzise ist, möchte ich auch nicht, dass sie zum Einsatz kommt. Wenn sie aber genügend präzise ist, um diese Unterscheidungen grundsätzlich treffen zu können, dann musst du die Regeln für die Entscheidung formulieren, einschließlich würfeln, sowie die Entscheidung bzgl. der Grenze zwischen Algorithmus und würfeln.
Um diesen Punkt abzuschließen: kannst du bitte den von dir o.g. Algorithmus für das Ausweichen skizzieren? Ich würde wirklich gerne verstehen, was du konkret im Sinn hast.
*****
seeker hat geschrieben: ↑29. Jan 2018, 01:21
Und Schuld ist immer die Gesamtsituation. Als das Google-Auto einen Unfall hatte, war es nicht selbst schuld, sondern ich glaube ein anderer Fahrer, der die Vorfahrt missachtet hatte.
Und wenn dir ein Kind vor dein Auto rennt und du -obwohl nicht zu schnell- nicht mehr bremsen kannst, dann bist du nicht schuld und beim autonomen Auto ist dann sicher auch nicht der Programmierer Schuld.
Es geht noch nicht darum, wer Schuld hat, sondern was der Programmierer implementieren soll. Wenn der Programmierer tatsächlich korrekt die gesetzlich vorgegebene Regel umgesetzt hat, dann trägt er keine persönliche Schuld mehr an einem konkreten Unfall (ob er dann bei einer Pressemeldung oder einer Untersuchung damit klar kommt, dass letztlich er diese Zeilen Programmcode eingetippt hat, ist eine andere Frage)
seeker hat geschrieben: ↑29. Jan 2018, 01:21
Wie gesagt, was mir bei dieser Geschichte nicht schmeckt, ist dass sich da ellenlang über etwas Gedanken gemacht wird, das vielleicht 1x in 10 Jahren passieren wird, während in derselben Zeitspanne tausende Menschenleben gerettet werden könnten.
Dieser Aussage stimme ich zu.
seeker hat geschrieben: ↑29. Jan 2018, 01:21
In Anbetracht dessen wird für das obige Problem fast jede Lösung akzeptabel sein, weil es sich im Vergleich um Peanuts handelt, man sollte das nicht größer machen als es ist.
Dieser Aussage stimme ich nicht zu.
Es sind für mich keine Peanuts, dass ein letztlich präziser Algorithmus ein konkretes Lebe ausgelöscht hat.
Warum ist die Entscheidung, tausende von Menschen zu Lasten einiger weniger durch einen Algorithmus zu retten vertretbar, diejenige, tausende von Menschen zu Lasten einiger weniger durch einen Flugzeugabschuss zu retten dagegen verwerflich?
seeker hat geschrieben: ↑29. Jan 2018, 01:21
Warum reden wir nicht lieber über KI-Kampfroboter und Kampfdrohnen, Börsenkursvorhersehungs- und -manipulations-KIs, KI-Internetbots zur Massenbeeinflussung und politischer Manipulation, usw.?
Weil wir uns bei den vermeintlich einfachen Fragestellungen schon nicht einig sind.
Ich bin übrigens der Meinung, dass die von dir genannten Szenarien ethisch eher unstrittig sind, während andere, vermeintlich harmlose KIs zu viel schwierigeren Probleme führen können. Was ist z.B. mir der Fragestellung der Abhängigkeit von KIs? Was ist beispielsweise mit der Situation, dass immer mehr Entscheidungen in einzelnen Anwendungsbereichen nachweislich besser von KIs übernommen werden, dass jedoch die Summe der Übertragung derartiger Befugnisse auf KIs die Menschheit extrem abhängig macht? Was ist mit der Fragestellung, dass wir zwar theoretisch Herr über die Maschinen sind, weil wir immer irgendwo den Stecker ziehen könnten, dass wir dies jedoch praktisch nicht tu können, weil wir die Auswirkungen des Steckerziehens nicht mehr verstehen und insbs. nicht beherrschen können – weil die Situationen zu komplex sind (siehe Go) oder schlichtweg weil das qualifizierte Personal wegrationalisiert wurde.