Künstliche Intelligenz - Grundzüge von lernenden Algorithmen

Künstliche Intelligenz

Grundzüge von lernenden Algorithmen

Eleanore Young
von Eleanore Young
Lesezeit: 12 Minuten

Keypoints

  • Künstliche Intelligenz erfordert die Fähigkeit zu Lernen
  • Durch Neuronale Netze wird diese Lernfähigkeit automatisierbar
  • Verschiedene Modelle stehen hierfür zur Verfügung
  • Jedes bringt andere Vor- und Nachteile mit

Mit dem Aufkommen von Digital Assistants bringen Kundinnen nicht nur eine Flut an Privatsphäreproblemen mit nach Hause, sondern auch ein Produkt jahrzehntelanger Forschung auf dem Gebiet der künstlichen Intelligenz. Es stimmt natürlich, dass der Begriff künstliche Intelligenz die zugrundeliegenden Konzepte und Technologien nur sehr vage beschreibt; zumal sich dessen Bedeutung über die letzten zwanzig Jahre mehrmals verschoben hat. Trotzdem stimmen viele Menschen damit überein, dass Dienste wie Alexa und Cortana dem Konzept des künstlichen Intellekts bisher am nächsten gekommen sind.

Diese Geräte besitzen eine nicht im Ansatz zu Menschen vergleichbaren Intellekt und dennoch gelingt es ihnen bereits mehrere gesprochene und geschriebene Sprachen zu verstehen, Gesichter zu unterscheiden und daraufhin angemessen auf Befehle oder Fragen zu reagieren. Doch, wie funktionieren Prozesse, die solche Fähigkeiten ermöglichen?

Künstliche Intelligenz

Im rudimentärsten Sinn des Begriffs künstliche Intelligenz bezieht sich dieser auf die Gegebenheit, dass Computer neue Fähigkeiten lernen können, ohne dass sie explizit dafür programmiert wurden. Dies bedeutet wiederum, dass solche Geräte erst trainiert werden müssen, bevor sie in Produktion einsetzbar sind.

Techniken der Informatik, die lernfähig sind, gehören zur diversen Gruppe der Regressionsalgorithmen (auch bekannt als Machine Learning oder Big Data). Das Prinzip dieser Algorithmen ist, eine mathematische Funktion zu bilden, die das betrachtete Problem bestmöglich modellieren. Das Gedächtnis dieser Algorithmen besteht damit aus Variablen, die in einem Feedback Loop kontinuierlich verändert werden.

Um ihre Aufgabe erfüllen zu können, verwenden Digital Assistants stets eine Kombination mehrerer solcher Algorithmen und Daten zu verändern, zu klassifizieren oder vorherzusagen. Beispielsweise würde ein Digital Assistant erst ein Recurrent Neural Network verwenden, um gesprochene Sprache in das geschriebene Äquivalent zu übersetzen und anschliessend ein auf einer Bayesian Inference Engine oder einem Random Forests Algorithmus basierendes Expert System zu verwenden, um das Geschriebene in semantische Konstrukte zu überführen, die als Befehle oder Fragen interpretiert werden können.

Seit ca. 2010 haben sogenannte Artificial Neural Networks im Vergleich zu anderen Regressionsalgorithmen sehr stark an Beliebtheit zugenommen, da sie relevante Charakteristika automatisch aus den Ursprungsdaten herauslesen können. Dies bedeutet einerseits, dass Entwicklerinnen das behandelte Problem nicht vollständig charakterisieren müssen, die Netzwerke sind jedoch meist unmöglich nachzuvollziehen und benötigen oft bedeutend längere Trainingszeiten.

Ferner neigen Artificial Neural Networks zu Bias und Overfitting, wenn die Trainingdaten nicht für beeinflussende Faktoren korrigiert wurden. Eine gute Illustration des Phänomens bietet das berüchtigte Panzerexperiment. Die Konsequenzen von Bias sind jedoch auch unter problematischeren Umständen ersichtlich; besonders dann, wenn über Trainingdaten menschliche Vorurteile und Stereotypen in das Netzwerk einfliessen.

Das Lernen verstehen lernen

Um nachvollziehen zu können, wie lernende Algorithmen im Prinzip funktionieren, müssen wir uns eines einfacheren Beispiels als Sprach- oder semantische Analyse bedienen. Anstelle davon erstellen wir deshalb ein System, das legitime E-Mails von SPAM unterscheiden kann.

Ganz oberflächlich betrachtet, wird ein solches System eine Serie an E-Mails als Eingabe verarbeiten, um im Anschluss für jedes dieser E-Mails eine Einteilung in SPAM oder legitim (sog. HAM) auszugeben. Diese Problemstellung gehört zur Gruppe der binären Klassifizierungen, weil die Ausgabe des Algorithmus nur zwei Werte annehmen kann.

Die Eingabe besteht aus einer Serie von Schriftzeichen unterschiedlicher Länge. Mathematisch ausgedrückt, lässt sich die Eingabe x als eine N x F Matrix beschreiben. N bezeichnet die Anzahl E-Mail Nachrichten und F bezeichnet die Anzahl Eingabecharakteristika, oder Features. Die Ausgabe y besteht damit aus einem N-dimensionalen Vektor von 0 und 1.

Feature Extraction

Die mathematische Definition stellt uns jedoch vor ein Problem: Unsere Ursprungsdaten bestehen aus einer Kollektion von E-Mails und nicht einer Matrix von rationalen Zahlen.

Um dahin zu gelangen, müssen wir eine sogenannte Feature Extraction durchführen. In diesem Prozess reduzieren wir eine Serie von Textbotschaften unterschiedlicher Länge in eine Serie von F-dimensionalen Vektoren. Dafür gibt es jedoch nicht eine klare Lösung und verständlicherweise hängt die Leistungsfähigkeit unseres Algorithmus stark davon ab, wie wir die Ursprungsdaten als Matrix repräsentieren.

Eine Möglichkeit wäre, die Frequenz der einzelnen Zeichen zu zählen (z.B. A, , oder <). Im Zeichensatz UTF-8 hätten wir dann 256 Features. Eine weitere Möglichkeit wäre, die Frequenz von N-Grams (eine generalisierte Form eines Worts) zu zählen. Die schlussendliche Zahl der Features ist dann gleich der Zahl einzigartiger N-Grams über alle E-Mails hinweg. Der Erfahrung nach macht es bedeutend mehr Sinn, die Frequenz der N-Grams anstelle einzelner Symbole zu zählen.

Feature Selection

Wir müssen jedoch beachten, dass gewisse N-Grams so häufig sind, dass sie keine relevanten Information enthalten (z.B. Wörter wie the oder a in Englisch). Falls wir diese N-Grams nicht aus dem Raum unserer Features entfernen, ist der Algorithmus anfälliger für Underfitting und ist weniger effizient aufgrund der hohen Zahl an Features.

Schlussendlich versuchen wir jene Features zu finden, die statistisch betrachtet am meisten Varianz erklären. Diesen Prozess bezeichnet man als Feature Selection:

Ausgehend von einer Auswahl an Features transformiere die Daten derart, dass die minimale Anzahl resultierender Features den zugrundeliegenden Zusammenhang am besten beschreiben.

Dies ist der Bereich, in welchem Artificial Neural Networks besonders gut sind, da sie automatisch Feature Selection betreiben können (vorausgesetzt das Netzwerk ist für das Problem angelegt). In unserem SPAM Beispiel würden wir die häufigsten N-Grams mittels Term Frequency – Inverse Document Frequency (Tf-Idf) herausfiltern. Diese statistische Technik priorisiert häufige Wörter in einzelnen Dokumenten, während sie die Relevanz von gesamthaft häufigen Wörtern minimiert.

Die Auswahl eines Modells

Ausgehend von unserer Problemstellung ist es am besten, wenn wir mehrere verschiedene Algorithmen, oder Modelle auswerten, da wir nicht wirklich wissen, welche mehrdimensionale Kurve der zugrundeliegende Zusammenhang beschreibt. Der Zusammenhang zwischen der Frequenz der N-Grams und der Legitimität eines E-Mails könnte linear, polynomial, oder gar stark non-linear sein. Zum Beispiel ist es anzunehmen, dass E-Mails mit komplexem HTML Code als Inhalt sehr wahrscheinlich SPAM sind. Es könnte jedoch genau so gut auch sein, dass ein solches E-Mail von der Marketingabteilung der eigenen Firma ist, wenn es Wörter wie Rückmeldung oder Vorabversion enthält. Es scheint wahrscheinlich, dass wir mit einem linearen Modell die meisten Viagra SPAM E-Mails erwischen. Um jedoch komplexere oder gar gezielte SPAM Nachrichten zu erfassen, bedarf es fast mit Sicherheit eines non-linearen Modells.

In unserem Beispiel würden wir am ehesten mit gekennzeichneten Daten arbeiten, das heisst, dass jede E-Mail in den Trainingdaten bereits in SPAM oder HAM eingeteilt wurde. Dementsprechend würden wir uns eines Supervised Learning Algorithmus bedienen. Zum Beispiel:

Letzteres ist eigentlich eine Klasse an Algorithmen, auch bekannt als Artificial Neural Networks, weil sie ursprünglich dafür gedacht waren, das Nervensystem von Wirbeltieren nachzubilden.

Modelle bewerten

Jeder Algorithmus besitzt ein oder mehrere Parameter, die entweder während dem Trainingprozess angepasst, oder vor dem Training gewählt werden. Jegliche Vorverarbeitungsschritte wie Feature Selection werden ihrerseits auch durch Parameter beeinflusst.

Jene Parameter, die ausserhalb des Trainingprozess gewählt werden, nennt man Hyperparameter. Daher beinhaltet die Evaluation von Modellen jeweils entweder drei separate Datensätze (für Training, Validierung und Testen), oder ein Cross-Validation Schritt gefolgt von einem separaten Datensatz zum Testen.

Das Prinzip ist jedoch bei beiden Ansätzen dasselbe: In einer Schlaufe wird das Modell trainiert, bevor es validiert wird und die Hyperparameter angepasst werden. Nachdem die besten Hyperparameter gefunden wurden, wird das resultierende Modell anhand des Testdatensatz bewertet und mit den anderen Algorithmen verglichen.

Die Leistungsfähigkeit eines Modells in Bezug auf den zu beschreibenden Zusammenhang wird mittels mehreren Metriken auf Basis einer Confusion Matrix überprüft. Die am häufigsten verwendeten Metriken sind:

Die Verlässlichkeit jeder Metrik hängt von der Verteilung der Klassen (z.B. SPAM oder HAM) in den Trainingdaten ab und keine einzelne Metrik vermag die Leistungsfähigkeit eines Modells perfekt abbilden.

Zu beachten ist, dass es, spezifisch für unser Beispiel, bedeutend schwerwiegender ist, wenn ein SPAM Filter eine legitime Nachricht fälschlicherweise als SPAM einstuft. Deshalb sollten Algorithmen mit einer hohen Falschpositivrate nicht beachtet werden.

Confusion Matrix Condition True Condition Negative
Predicted True True positive False positive
Predicted False False negative True negative

Zurück zu Digital Assistants

Sobald der Evaluationsprozess abgeschlossen wurde, ist ein Modell meist erstaunlich klein und benötigt nur wenige Ressourcen im Betrieb. Sogar alte Smart Phones könnten ein einigermassen grosses neuronales Netz laufen lassen. Im Falle von gesprochener Sprache müsste der Algorithmus höchstwahrscheinlich kontinuierlich lernen, da sich unsere Sprache (und die Wirtschaft) stets ändert.

Dementsprechend müssten alle vorhergenannte Prozesse dauernd laufen, während der Algorithmus in Gebrauch ist. Dies erfordert sehr grosse Rechenleistung, die kein Smart Phone oder gar dediziertes Nutzergerät aufbringen kann. Leider bedeutet dies auch, dass Algorithmen den Gebrauch einer Cloudarchitektur effektiv erfordern und Privatsphäreprobleme sind eine direkte Konsequenz der Art und Weise, wie die Algorithmen aktuell gehalten werden.

Über die Autorin

Eleanore Young

Eleanore Young hat ihren Master in Elektrotechnik und Informationstechnologie im Jahr 2014 an der ETH Zürich abgeschlossen. Zu ihren Fachgebieten gehören Rechnerarchitekturen, Betriebssysteme sowie angewandte Forschung.

Links

Sie wollen eine KI evaluieren oder entwickeln?

Unsere Spezialisten kontaktieren Sie gern!

×
Security Testing

Security Testing

Tomaso Vasella

Active Directory-Zertifikatsdienste

Active Directory-Zertifikatsdienste

Eric Maurer

Fremde Workloadidentitäten

Fremde Workloadidentitäten

Marius Elmiger

Active Directory-Zertifikatsdienste

Active Directory-Zertifikatsdienste

Eric Maurer

Sie wollen mehr?

Weitere Artikel im Archiv

Sie brauchen Unterstützung bei einem solchen Projekt?

Unsere Spezialisten kontaktieren Sie gern!

Sie wollen mehr?

Weitere Artikel im Archiv