Schwache künstliche Intelligenz (engl.: weak AI oder artificial narrow intelligence ANI ) ist das, was heute bereits in vielen Anwendungen und Geräten als Lösung konkreter Probleme zu finden ist. Die zugrunde liegenden Methoden greifen auf Regeln aus Mathematik, Statistik und Informatik zurück. So sind diese Systeme in der Lage, eindeutig definierte Aufgaben sehr schnell zu lösen. Dazu ist allerdings im Vorfeld der Anwendung die Problemstellung im Detail zu definieren.
Alle heute bereits erfolgreich eingesetzten Anwendungen von KI sind dem Bereich der schwachen KI zuzuordnen. Hier einige Beispiele für Anwendungen, die sich schwacher künstlicher Intelligenz bedienen:
- Text- oder Schrifterkennung
- Bilderkennung und Analyse
- Spracherkennung
- personalisierte Werbung
- Systeme zur automatisierten Sprachübersetzung
- Navigationssysteme
- Chatbots und Steuerung von Telefondiensten
- Autokorrektur und Autovervollständigung von Texteingaben
- Sprachausgabe etc….
Schwache KI hat nicht die Aufgabe, die menschliche Intelligenz nachzuahmen oder zu ersetzen. Der Fokus liegt darauf, menschliches Verhalten zu simulieren. Schwache KI erreicht bei weitem nicht eine Art menschlicher Intelligenz und hat auch nicht den Anspruch, diese vorzutäuschen.
Reactive AI / reaktive KI
Zur einfachsten Art von KI-Systemen zählen die sogenannten Reactive Machines. Systeme, die keinesfalls auf eine Form von Erinnerung (Speicherung) von früheren Aktionen zurückgreifen können, um aktuell Aktionen zu setzen. Diese Maschinen zählen zu den ältesten KI-Systemen und sind nur in der Lage, die vorhandenen Regeln = Algorithmen abzuarbeiten. Dies bedeutet, dass diese Systeme nicht in der Lage sind, zu lernen. Das bekannteste Beispiel für eine reaktive KI-Maschine ist wohl Deep Blue von IBM. Ein System, das im Jahr 1997 den Schachgroßmeister Garri Kasparov besiegt hat.
Limited Memory AI / KI mit begrenzter Speicherung
Eine Weiterentwicklung der Reactive Machines sind Systeme, die mittels Speicherung von Daten in der Lage sind, aktuelle Aktionen aufgrund dieser bisher gemachten Erfahrungen zu adaptieren. Was so viel bedeutet, dass diese Maschinen aus Daten vergangener Aktionen lernen können.
Viele der heute bekannten Anwendungen sind in diese Kategorie von KI-Systemen einzuordnen. Die meisten aktuellen KI-Systeme werden mit einer riesigen Menge an Trainingsdaten gefüttert, woraus mittels mathematischer, statistischer Funktionen ein Modell für die Lösung zukünftiger Probleme erstellt wird. Solche Systeme werden z.B. zur Bilderkennung eingesetzt. Die Trainingsdaten enthalten in diesem Fall viele Bilder, die bereits beschlagwortet sind, um dem System die Klassifizierung von Objekten auf Basis dieser Bilder beizubringen. Wird in der Folge diesem KI-System ein neues Bild präsentiert, so werden die Trainingsbilder als Referenz genutzt, um den Inhalt dieses neuen Bildes einordnen zu können. Gleichzeitig wird diese erfolgte Klassifizierung des neuen Bildes wieder als Lernen betrachtet, sodass das System in der Lösung der Aufgaben mit jedem weiteren Schritt besser wird.
Fast alle heutigen KI-Anwendungen, von Chatbots und virtuellen Assistenten bis hin zu selbstfahrenden Fahrzeugen, sind Anwendungen von KI mit begrenzter Speicherung. Diese Systeme funktionieren nicht mittels Interaktion mit der Welt, sondern ausschließlich in den Umgebungen, für die sie gebaut wurden.
Entwickler, die Anwendungen mit schwacher Künstlicher Intelligenz anreichern wollen, können auf eine Anzahl von Systemen zurückgreifen, die mit unterschiedlichen Lernalgorithmen und -formen helfen, anfallende Probleme lösen.
Die meisten dieser Systeme und Programmbibliotheken werden von großen Anbietern (Google, Microsoft, Apple, Facebook, IBM . . . ) zur Verfügung gestellt, was wieder zur Stärkung dieser Hubs beiträgt. So ist es möglich mit relativ wenig Aufwand aus vorbereiteten Funktionen gewünschte Anwendungen zu erstellen.
Ein Beispiel sei hier angeführt, um zu zeigen, wie einfach mithilfe von KI basierten Funktionen – in diesem Beispiel mittels der Google Übersetzungsservices – eine eigene Anwendung gestaltet werden kann. Dieses Beispiel erlaubt eine gesprochene Eingabe – auf deutsch – in die Sprachen englisch und spanisch zu übersetzen und danach auszugeben.
Die Programmiersprache ist Python und nutzt vorhandene Softwarebibliotheken – durch die Kommentierung sollten diese Zeilen auch für Menschen ohne Kenntnis von Programmiersprachen verständlich sein:
import s p e e c h _ r e c o g n i t i o n as s r from g t t s import gTTS import u r l l i b import t i m e import os r = s r . R e c o g n i z e r () # r e c o r d a u d i o w i th s r . Microphone () as s o u r c e : p r i n t ( ’ B i t t e u s p r e c h e n ! ’ ) a u d i o = r . l i s t e n ( s o u r c e ) p r i n t ( ’ V i e l e n u Dank ! ’ ) from t e x t b l o b import Text Blob # r e c o g n i z e l a n g = ’ de−DE ’ t e x t = r . r e c o g n i z e _ g o o g l e ( audio , l a n g u a g e = l a n g ) # Google e r k e n n t das Gesagte b l o b = Text Blob ( t e x t ) # und wandelt es i n Text um # e n g l i s h worte = b l o b . t r a n s l a t e ( to= ’ en ’ ) # Google u e b e r s e t z t den Text i n s E n g l i s c h e worte = s t r ( worte ) . decode ( " u t f −8" ) p r i n t ( worte ) t t s = gTTS( t e x t = worte , l a n g = ’ en ’ ) # Google wandelt den e n g l i s c h e n Text i n Sprache t t s . s a v e ( " a u d i o f i n a l . mp3" ) os . system ( ’ a f p l a y u" a u d i o f i n a l . mp3" ’ ) # e s p a n o l worte 1 = b l o b . t r a n s l a t e ( to= ’ e s ’ ) # Google u e b e r s e t z t den Text i n s S p a n i s c h e worte 1 = s t r ( worte 1 ) . decode ( " u t f −8" ) p r i n t ( worte 1 ) t t s = gTTS( t e x t = worte 1 , l a n g = ’ e s ’ ) # Google wandelt den s p a n i s c h e n Text i n Sprache t t s . s a v e ( " a u d i o f i n a 1 . mp3" ) os . system ( ’ a f p l a y u" a u d i o f i n a 1 . mp3" ’ )
Die Arbeit dahinter erledigt Google mittels Spracherkennung, Übersetzung und Sprachausgabe in zwei Sprachen. Drei Dienste, die auf schwacher KI und Machine Learning mittels laufender Big Data Sprachanalysen basieren.