Suchen

KI entwickelt selbstlernende Systeme

| Redakteur: Sebastian Gerstl

Die Entwicklung selbstadaptiver Systeme stellt Software-Ingenieure vor neue Herausforderungen. Wissenschaftler vom Softwaretechnik-Institut paluno an der Universität Duisburg-Essen haben neuartige Verfahren der Künstlichen Intelligenz (KI) erprobt, die den Entwicklungsprozess solcher Systeme automatisieren.

Firma zum Thema

Schematische Darstellung eines selbstadaptiven Systems und die Automatisierung durch Künstliche Intelligenz (in blau).
Schematische Darstellung eines selbstadaptiven Systems und die Automatisierung durch Künstliche Intelligenz (in blau).
(Bild: UDE)

Wir leben in einer schnelllebigen, vernetzten Welt. Der Bedarf an selbstadaptiver Software wächst, also Software, die in der Lage ist, sich selbstständig an wechselnde Umgebungssituationen anzupassen. Beispiele sind schwankende Übertragungsbandbreiten, eine wechselnde Anzahl von Nutzern oder sich ändernde Benutzerpräferenzen.

Eine wesentliche Aufgabe bei der Entwicklung selbstadaptiver Software ist es vorzugeben, wann und wie eine Anpassung erfolgen soll. Das ist jedoch schwierig, weil die Ingenieure zum Zeitpunkt der Entwicklung meist nicht alle möglichen Umgebungssituationen der Software vorhersehen können. Dieser Herausforderung begegnet das paluno-Team mit Online Reinforcement Learning, einem Verfahren der Künstlichen Intelligenz.

Die Idee dahinter: Die Software lernt selbst, welche Anpassung in welcher Situation die beste ist, indem sie Feedback zur Laufzeit sammelt und auswertet. Gute Anpassungen führen zu positivem Feedback, schlechte Anpassungen zu einem negativen. So lernt die Software durch Ausprobieren, möglichst gute Rückmeldungen zu sammeln. Damit übernimmt die Künstliche Intelligenz die bisherige manuelle Tätigkeit der Software-Ingenieure: festlegen, wann und wie eine Anpassung erfolgen soll.

„Bisherige Methoden des Online Reinforcement Learning haben jedoch noch einen Haken“, sagt Dr. Andreas Metzger, Leiter des Bereichs Adaptive Systeme bei paluno. „Die so genannte Explorationsrate muss manuell feinjustiert werden. Das ist die Wahrscheinlichkeit, dass die Software eine neue Anpassung ausprobiert, anstatt sich auf bekannte, sichere Anpassungen zu beschränken.“

Weil das auf Kosten der Automatisierbarkeit geht, setzt das paluno-Team einen neuartigen Lernalgorithmus ein: Dieser wird Policy-based Reinforcement Learning genannt und kommt ohne eine Feinjustierung der Explorationsrate aus. Erste Tests bei selbstadaptiven Systemen für das Geschäftsprozessmanagement und für Web-Anwendungen waren erfolgreich. Ihre Erkenntnisse wollen die Wissenschaftler nun auch für die Entwicklung von selbstadaptiven Transportmanagement-Systemen und Smart-Home-Systemen anwenden.

(ID:46698385)