Skip to content

Neuronale Netze

Auch wenn ich keine Zeit dafür habe, muss ich diesen Artikel dann doch schreiben. Wie schon gesagt, gibt es eine biologische Grenze, wieviel man aktiv in einer Woche arbeiten kann. Darüber hinaus kann man aber noch passive Sachen machen wie lesen oder Youtube-Videos schauen. Der Algorithmus hat mir jetzt ein höchst interessantes Video über neuronale Netze vorgeschlagen:

Das ganze hängt zusammen mit einem Projekt, was ich in meinem vorherigen Artikel gar nicht erwähnt habe weil ich es nicht weiter verfolgt habe. Aber nur aufgrund der Zeit-/Nutzenrelation, extrem interessant ist das Thema schon.

Diese Story beginnt in meinen Kindertagen während der Fahrt in den Urlaub: Wie oft habe ich mich gefragt, ob man nicht einen Simulator programmieren könnte, der erklärt warum man gerade jetzt im Stau steht. Das war damals noch die Zeit der C64-Computer und ich hatte keine Ahnung vom Programmieren, die Idee gab es aber. Effektiv wieder aufgegriffen habe ich das Thema nach 2016er CityCampus in Trier: Ich habe da eines der Projektteams für angewandte Informatik gefragt (die sich mit der Vorhersage von Verkehrsströmen befasst haben), warum sich denn niemand mit der Frage beschäftigen würde, wie man wirklich intelligente Ampelschaltungen programmieren könnte, bekam aber keine schlüssige Antwort. Man muss wissen, dass es in Trier an den Einfallstraßen zeitweise einen kilometerlangen Stau gibt und manchmal ist alles frei. Die verantwortliche Ampel zieht stur ihr zeitgesteuertes Programm durch. Jedenfalls habe ich dann für zwei ganze Tage angefangen, mal einen Verkehrssimulator zu programmieren, bei dem einzelne Autos mit zufälligen Eigenschaften zuerst einmal eindimensional fahren. Das sah auch schonmal schön aus, vom gelegentlichen Auffahrunfall mal abgesehen (beim Bremsen war wohl noch ein Bug drin). Ich hatte dann die Vorstellung, dass ein Straßen- und Ampelnetz im Grunde ja nur ein großes Gleichungssystem ist, dass man nach der Gesamt-Wartezeit optimieren müsste. Das wie war noch nicht näher definiert, ich dachte daran, dass man die Realität in einen Simulator kopiert und dann per Brute Force die idealen Ampelphasen für diesen Zeitpunkt optimiert.

Als ich jetzt das Video über die neuronalen Netze gesehen habe, dann wurde mir klar, das die Mechanik des Lernens des Netzes aufgrund der Gradienten genau die Optimierung ist, die ich für dieses System gebraucht hätte. Ein Gleichungssystem mit hunderten oder tausenden Variablen kann man wohl gar nicht anders lösen, da es ja keine zwingende, eindeutige Lösung gibt. Das Netz dürfte eine andere Struktur haben als ein mehrstufiges Abstraktionsnetz, der dahinterliegende Mechanismus ist aber der gleiche. Eine Simulation mit den Steuerungsvariablen wird gemacht, Cost ist die summierte Wartezeit der simulierten Fahrzeuge. Das besondere ist die Interaktion des neuronalen Netzes zur Steuerung mit der Simulation, weshalb es keine linearen Beziehungen zwischen den Knoten gibt. Mit stochastischer Optimierung müsste man trotzdem weiterkommen, da ist noch Entwicklungsbedarf. Alles in allem ist das jetzt eine umso faszinierendere Idee, mit einem klitzekleinen Haken: Wann soll ich das machen und ergibt sich daraus überhaupt etwas greifbares? Alle meine anderen Projekte haben einen konkreten Nutzen, hier ist die Wahrscheinlichkeit extrem gering (und übersteigt meine Resourcen bei weitem), dass da ein funktionierendes System städtischer Verkehrsplanung daraus wird. Wenn da die Neugier nicht wäre ... und noch schlimmer: Ich bin mir ziemlich sicher, dass ich so ein System hinbekäme, genügend Zeit vorausgesetzt.

Selbst über die Umsetzung habe ich mir schon Gedanken gemacht: Man muss die Stadt möglichst intelligent machen, also über Sensoren und Kameras die Autos (und vielleicht auch Fußgänger) an möglichst vielen Stellen erfassen, das Ganze dann auch noch mit der zeitlichen Komponente. Dann weiß man genau, dass an der Kreuzung X an einem Mittwoch um Y Uhr Z Fahrzeuge ankommen und 23% der Fahrzeuge links abbiegen und so weiter. Diese Informationen speist man in die Simulation ein und lässt das neuronale Netz die ideale Steuerung erlernen, denn in der Simulation kann das Netz ja schadlos herumprobieren ohne dass ein Schaden entsteht. Selbst wenn man anfangs keine 100% Abdeckung gibt ist das nicht schlimm, man kann ja einzelne Knoten mit geschätzten Werten versorgen, davon kollabiert die Simulation noch nicht. Wenn die optimale Lösung gefunden wurde, wird diese zurück ins reale Leben umgesetzt. Selbst wenn es nur ein paar Prozent Optimierung gibt, multipliziert mit der Anzahl der beteiligten Menschen muss dass doch einen riesigen Gewinn an Lebenszeit geben.

Trackbacks

Keine Trackbacks

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

Noch keine Kommentare

Die Kommentarfunktion wurde vom Besitzer dieses Blogs in diesem Eintrag deaktiviert.

Kommentar schreiben

Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
Formular-Optionen

Sie können auch über neue Kommentare informiert werden ohne einen zu verfassen. Bitte geben Sie ihre email-Adresse unten ein.