Original-URL des Artikels: https://www.golem.de/news/kuenstliche-intelligenz-wie-computer-lernen-1810-135633.html    Veröffentlicht: 08.10.2018 12:04    Kurz-URL: https://glm.io/135633

Künstliche Intelligenz

Wie Computer lernen

Künstliche Intelligenz, Machine Learning und neuronale Netze zählen zu den wichtigen Buzzwords dieses Jahres. Oft wird der Eindruck vermittelt, dass Computer bald wie Menschen denken können. Allerdings wird bei dem Thema viel durcheinandergeworfen. Wir sortieren.

In IT-Magazinen, Wirtschaftszeitungen oder Nachrichtenzeitschriften liest man immer wieder von neuen, sensationellen Fähigkeiten von Computersystemen, die dank künstlicher Intelligenz, Machine Learning oder neuronaler Netze selbstständig Entscheidungen treffen, Autos fahren oder sogar anspruchsvolle Aufgaben von Menschen in vielen Berufen übernehmen können. Oft werden die Begriffe wie Synonyme verwendet und es wird behauptet, dass der Computer wie Menschen lernt und denkt. Doch das stimmt nicht.

Wer das Themengebiet verstehen will, muss zunächst einmal die Definitionen der obigen Begriffe kennen und auseinanderhalten können.

Künstliche Intelligenz und Machine Learning

Für den Begriff "künstliche Intelligenz" gibt es in den Computerwissenschaften mehrere Definitionen. Sie alle beschreiben im Prinzip die Fähigkeit des Computers, rational Entscheidungen zu treffen, die möglichst gut ein Problem oder mehrere Probleme lösen können. Dabei wird unterschieden, ob die künstliche Intelligenz nur für bestimmte Probleme oder Aufgaben geeignet ist, wie zum Beispiel Schach spielen, oder ob sie über universelle, domänenübergreifende, also fachgebietsübergreifende Fähigkeiten verfügt.

Im zweiten Fall hat die KI die Fähigkeit, eine Vielzahl unterschiedlicher Aufgaben zu übernehmen. Etwa sowohl ein Fahrzeug zu steuern, als auch mittels Kameras und entsprechender Machine-Learning-Systeme den Gemütszustand der Fahrgäste in Echtzeit zu untersuchen und ihn mit Musik oder anderer Unterhaltung gegebenenfalls zu verbessern. Ein Beispiel für die Emotionserkennung in Bildern und Videos ist die Emotionen-API von Microsoft Cognitive Service, die man auch mit eigenen Fotos ausprobieren kann.

Machine Learning ist ein Weg, mit dem man künstliche Intelligenz implementieren kann. Schon 1959 beschrieb Arthur Samuel, ein MIT-Absolvent, IBM-Mitarbeiter und Pionier auf den Gebieten Computerspiele und künstliche Intelligenz, den Begriff Machine Learning als ein Forschungsgebiet, das Computer befähigen soll, zu lernen, ohne explizit programmiert sein zu müssen. Statt eine Vielzahl von Regeln im Quellcode zu programmieren, werden bei Machine Learning statistische Algorithmen verwendet, mit denen der Computer selbstständig lernen kann. Die meisten Algorithmen, aber nicht alle, suchen nach Korrelationen, also Beziehungen und Zusammenhängen, zwischen Input-Daten und dem Output.

Denken auf Basis von Wahrscheinlichkeiten und Statistik

Die Intelligenz, die dem Machine Learning entspringt, hat nur ansatzweise etwas mit der des Menschen zu tun. Auch mit Machine Learning denken Computer nicht wie Menschen. Stattdessen basieren die meisten Algorithmen auf Statistik und Wahrscheinlichkeitsberechnungen.

Zwei Begriffe der klassischen Statistik sind hierbei von besonderer Bedeutung: die oben erwähnten Korrelationen und die Regressionen.

Eine Korrelation beschreibt den Zusammenhang zwischen mindestens zwei Variablen. Beispielsweise gibt es eine positive Korrelation zwischen dem Alter und der Schuhgröße bei Menschen im Alter von 0 bis 18 Jahren: je älter, desto größer die Schuhe. Natürlich spielen andere Faktoren wie Geschlecht und Ernährung auch eine Rolle. Es geht hier aber um Mittelwerte und Wahrscheinlichkeiten: Würde man bei 1.000 Heranwachsenden Schuhgröße und Alter vergleichen, würde man eine positive Korrelation zwischen diesen beiden Variablen finden.

Korrelationen beschreiben aber nur den Zusammenhang, keine Kausalität von Ursache und Wirkung. Manche Kritiker von Süßstoffen behaupten beispielsweise, dass Menschen, die Diät-Cola trinken, deswegen übergewichtig seien. Eine Korrelation zwischen beiden mag es geben, allerdings würde sich dann die Frage stellen: Sind die Personen übergewichtig, weil sie Diät-Cola trinken, oder trinken sie Diät-Cola, weil sie übergewichtig sind und abnehmen wollen?



Was Regressionen leisten können

Manchmal werden Korrelationen auch falsch interpretiert: Bei Heranwachsenden gibt es wie beschrieben eine positive Korrelation zwischen dem Intelligenzquotienten und der Schuhgröße. Es handelt sich aber um eine sogenannte Scheinkorrelation, weil eine dritte Variable - das Alter nämlich - hier ausschlaggebend ist. Bei Heranwachsenden nimmt der IQ mit dem Alter zu.

Regressionen sind mit Korrelationen nah verwandt. Während jedoch Korrelationen Zusammenhänge von Variablen beschreiben, versuchen Regressionen, anhand der Zusammenhänge den Wert einer Variablen abhängig von den anderen Variablen statistisch bestmöglich zu schätzen. Sie werden verwendet, um Prognosen beziehungsweise Schätzungen bei neuen Fällen zu machen. Korrelationen beschreiben Zusammenhänge bei bereits existierenden Fällen. Ein Beispiel ist die Anzahl von Sonnenstunden pro Tag und der sich daraus ergebende Energie-Output von Solarzellen. Eine Korrelation wäre hier: Je mehr Sonnenstunden, desto höher der Output. Das lässt sich mit einer statistischen Kennzahl, dem sogenannten Korrelationskoeffizienten, beschreiben. Eine Regression wäre es, wenn der Auftrag lautete: Schätze den Output, wenn es fünf Sonnenstunden pro Tag gäbe.

Korrelationen oder Regressionen zu finden und sie für Klassifizierungs- oder Prognosezwecke zu nutzen, ist auch Aufgabe von neuronalen Netzen, die zwar strukturell das Netz von Neuronen und Synapsen im menschlichen Gehirn nachahmen, letztlich aber ebenfalls nur mit statistischen Wahrscheinlichkeiten beziehungsweise Gewichtungsfaktoren und Aktivierungsniveaus arbeiten. Obwohl der anatomische Aufbau des menschlichen Gehirns gut bekannt ist und elektrische Ströme gemessen werden können, weiß noch niemand wirklich, wie genau Gedanken entstehen, vom Bewusstsein ganz zu schweigen.

Wenn das künstliche Netz von Neuronen und Synapsen eine Vielzahl von Schichten hat, die oft spezielle Funktionen haben, spricht man von einem Deep Learning Neural Network. Es gibt viele unterschiedliche Deep Learning Neural Networks. Und es gibt viele unterschiedliche Deep Learning Neural Networks, die für bestimmte Aufgaben optimiert sind. Für die Bilderkennung werden zum Beispiel häufig sogenannte Convolutional Neural Networks (CNNs) verwendet, die aus mindestens drei unterschiedlichen Arten von Schichten bestehen, von denen sich manche Schichten öfters abwechseln oder wiederholen. Am Ende stehen wieder Wahrscheinlichkeiten, zum Beispiel: Das fotografierte Tier ist zu 95 Prozent ein Hund, zu vier Prozent eine Katze und zu einem Prozent Sonstiges.

Machine Learning ist ein Sammelbegriff für eine große Anzahl unterschiedlicher Algorithmen. Einige dieser Algorithmen zählen zu der Kategorie der bereits erwähnten neuronalen Netze, die immer wieder in den Medien genannt werden und für bestimmte Aufgaben besonders gut geeignet sind.

Doch nicht immer braucht man komplizierte neuronale Netze und manchmal sind sie nicht die beste Wahl. Es gibt auch Algorithmen, die viele von uns schon kennen, ohne sich bewusst zu sein, dass sie zu Machine Learning gezählt werden. Sehen wir uns folgendes Beispiel an.

Fallbeispiel von Machine Learning: Preis eines Pkw schätzen

Der Preis eines Pkw hängt von sehr vielen Input-Variablen ab, wie der Marke, dem Modell, dem Kilometerstand, dem Datum der Inbetriebnahme, der Motorleistung, dem Zustand und Ausstattungsmerkmalen wie dem Autoradio, der Navigation, der Klimaanlage und der Einparkhilfe. Diese Input-Variablen werden als X1, X2, X3, … Xn bezeichnet. Es gibt nur eine Output-Variable Y: den Preis.

Wie lernt nun die Maschine?

Zunächst benötigen wir zwei Dinge: bereits existierende Daten und einen geeigneten Machine-Learning-Algorithmus.

Je mehr Daten wir haben und je besser die Datenqualität ist, desto besser kann der Computer lernen, Preise zu schätzen. Angenommen, wir haben von 100.000 unterschiedlichen Fahrzeugen all diese Input-Variablen und die zugehörigen Preise der Fahrzeuge. Diese können zum Beispiel in einer Datenbanktabelle vorliegen. Von diesen 100.000 Fällen wird ein Teil, beispielsweise 75.000 Fälle, zufällig gewählt und für das Trainieren der Maschine verwendet. Die verbleibenden 25.000 Fälle werden für das Testing aufbewahrt. Also für die Überprüfung, wie nahe die vom Machine Learning gemachten Preisschätzungen der Realität kommen.

Der Algorithmus trainiert

Nun wird noch ein Machine-Learning-Algorithmus benötigt. Der Einsatzzweck ist eine Regression. Wer sich nun auf seine Schulzeit besinnt, wird sich möglicherweise an die lineare Regression erinnern:



Was nun vielleicht für den einen oder anderen eine Überraschung ist: die lineare Regression ist ein simpler, aber oft verwendeter, Machine-Learning-Algorithmus!

In unserem Pkw-Beispiel würde der Machine-Learning-Algorithmus für alle 75.000 Trainingsfälle die lineare Regression verwenden und nach Korrelationen zwischen den Input-Variablen Xi und der Output-Variablen Y (Preis) suchen. Der Algorithmus würde die Konstante Const und insbesondere die Gewichtungen a, b, ..., z für die Input-Variablen Xi anhand der Korrelationen aus den Trainingsdaten selbstständig finden. Das Ergebnis ist das sogenannte trainierte Modell.

Wie gut das trainierte Modell ist, wird in der Testphase ermittelt. Hierbei wird es mit den Input-Variablen der 25.000 Testfälle gefüttert. Dabei es soll für jedes der 25.000 Pkw den Preis schätzen. Daraufhin werden die 25.000 Preisschätzungen mit den zugehörigen 25.000 Ist-Preisen der Testfälle verglichen. Genauer gesagt, der oben erwähnte Korrelationskoeffizient, das sogenannte Bestimmtheitsmaß oder der Score berechnet. Alle sind Kennzahlen der klassischen Statistik.

Wenn die vom trainierten Modell geschätzten Preise statistisch betrachtet nahe genug an den realen Ist-Preisen liegen, ist man mit dem trainierten Modell zufrieden. Wenn nicht, liegt es möglicherweise an schlechter Datenqualität, zu geringer Datenmenge - oder die lineare Regression ist in diesem Fall als Machine-Learning-Algorithmus keine gute Wahl, weil die Korrelationen zwischen den Input-Variablen und der Output-Variable möglicherweise nicht linear sind. Natürlich könnte man auch andere Algorithmen für die Regression verwenden, wie beispielsweise Random Forest (ein Algorithmus, der mit Entscheidungsbäumen arbeitet) oder bestimmte neuronale Netze. Welcher Algorithmus besser ist, hängt von mehreren Faktoren ab, unter anderem von



In der Regel wird man mehrere Algorithmen ausprobieren und sich für den entscheiden, dessen Schätzungen mindestens "gut genug" sind, das heißt die Anforderungen erfüllen, und für den zugleich die Kosten (Hardwareressourcen) akzeptabel sind. Manchmal ist der Algorithmus mit den besten Ergebnissen leider zu langsam, das heißt, die Hardwarekosten für mehr Rechenleistung wären zu hoch oder die Dauer des Trainierens wäre zu lang. Eine Nutzen-Kosten-Analyse ist sinnvoll.

Welche Machine-Learning-Algorithmen gibt es?

Wie bereits erwähnt, gibt es eine Vielzahl von Machine-Learning-Algorithmen. Eine Übersicht hat der KI-Experte Abhinav Srivastava erstellt.

Diese Algorithmen können anhand der Art und Weise, wie sie lernen, einer dieser drei Hauptkategorien zugeordnet werden, wie Masashi Sugiyama in seinem Buch "Statistical Reinforcement Learning: Modern Machine Learning Approaches" schreibt:



Supervised Learning

Bei Algorithmen, die zur Kategorie Supervised Learning zählen, sind die Outputs bei den Trainingsdaten schon verfügbar. Unser Fallbeispiel mit den Autopreisen hat Trainingsdaten, bei denen der Output-Preis (Variable Y) in jedem Datensatz bekannt ist. Die Maschine lernt, indem sie die Korrelationen zwischen den Input-Variablen Xi und der Output-Variablen Y sucht. In manchen Fällen können auch mehrere Output-Variablen Yi existieren. Solche Algorithmen werden hauptsächlich für Regressionen, wie in unserem Pkw-Beispiel, und für Klassifizierungsaufgaben verwendet.

Hund oder Katze?

Bei Klassifizierungsaufgaben sollen Objekte bestimmten bekannten Klassen zugeordnet werden. Ein Beispiel ist Computer Vision: die Fähigkeit des Computers, visuelle Objekte zu erkennen und richtig zuzuordnen. Beispielsweise könnte man eine große Anzahl von Fotos unterschiedlicher Obstfrüchte verwenden, um dem Computer beizubringen, Obstfrüchte richtig zu klassifizieren. Dabei müssen alle Trainingsfotos schon richtig gekennzeichnet sein, das heißt, bei jedem Foto müsste der Name der Obstfrucht (Output-Variable Y: Apfel, Birne, Nektarine etc.) explizit angegeben sein.

Der Machine-Learning-Algorithmus würde die Bilder analysieren und statistische Zusammenhänge zwischen dem Namen der Obstfrucht und deren Merkmalen wie Farbe, Form und Größe suchen.

In einer Grafik, die der Softwareingenieur Kevin Binz erstellt hat, sieht man den Versuch, Hunde und Katzen anhand der zwei Input-Variablen Gewicht (auf der horizontalen Achse) und Körpergröße (auf der vertikalen Achse) zu klassifizieren. Verwendet wurde ein einfacher, linearer Klassifizierer; visualisiert mit der geraden, schwarzen Linie. Wie man erkennen kann, können viele Einzeltiere so richtig klassifiziert werden. Allerdings gibt es ein paar Hunde, die fälschlicherweise als Katzen, und ein paar Katzen, die fälschlicherweise als Hunde klassifiziert werden. Mit mehr Input-Faktoren als nur Körpergröße und Gewicht könnte man die Tiere besser klassifizieren. Man sollte sich jedoch im Klaren sein, dass Machine Learning Wahrscheinlichkeiten ausgibt. Hundertprozentig sichere Aussagen sind in den meisten Fällen nicht möglich.

Unsupervised Learning

Bei Algorithmen dieser Art sind die Trainingsdaten nicht gekennzeichnet, das heißt es gibt keine vorgegebenen Werte für die Output-Variable in den Trainingsdatensätzen. Solche Algorithmen werden hauptsächlich für Clustering-Aufgaben verwendet.

Ziel ist es, Objekte anhand ihrer Gemeinsamkeiten und Unterschiede zu Clustern zuzuordnen. Dabei gibt der Anwender die Cluster-Definitionen nicht vor, sondern überlässt diese Aufgabe dem Computer. Der Algorithmus soll entscheiden, welche Cluster er wie definiert. Jedoch kann der Anwender vorgeben, wie viele Cluster existieren sollen. Eine von dem Machine-Learning-Spezialisten Sebastian Raschka erstellte Grafik zeigt ein einfaches Beispiel von drei Clustern in einem zweidimensionalen Raum.

Ein häufiges Einsatzgebiet von Clustering-Algorithmen ist die Markt- und Konsumforschung. So könnte beispielsweise ein Unternehmen seine Kunden anhand von soziodemographischen Daten wie Alter, Geschlecht, Wohnregion, Beruf und Kaufverhalten, wie Anzahl Bestellungen und Umsätze, zu Clustern zuordnen und diese mit unterschiedlichen Werbe- und Marketingmaßnahmen ansprechen.

Ein anderes häufiges Einsatzgebiet von Unsupervised-Learning-Algorithmen ist die Suche nach Anomalitäten, das heißt das Finden von Ausreißern, die sich weit entfernt von den Zentren aller Cluster befinden. Dadurch können mögliche Messfehler eliminiert werden oder aber, falls es keine Messfehler sind, möglicherweise seltene, aber interessante Anomalitäten entdeckt werden.

Folgende Tabelle verdeutlicht die Unterschiede zwischen Klassifikation (bei Supervised Learning) und Clustering (bei Unsupervised Learning):



Reinforcement Learning

Algorithmen der Kategorie Reinforcement Learning lernen selbstständig, indem sie versuchen, Belohnungen zu maximieren beziehungsweise Strafen zu minimieren. Dahinter steckt das Prinzip von Try-and-Error, verbunden mit einer Bewertung, die "gutes" (zielführendes) Verhalten belohnt und "schlechte" Verhaltensmuster bestraft.

Eine Belohnung bedeutet hier, dass diese Verhaltensmuster in Zukunft häufiger ausprobiert werden. Bei einer Bestrafung werden die verwendeten Verhaltensmuster zukünftig seltener getestet. Der Algorithmus durchläuft eine Vielzahl von Iterationen, bei denen er bewährte Verhaltensmuster miteinander kombiniert und zufällig neue Verhaltensweisen ausprobiert. So kommt er dem Optimum Schritt für Schritt näher. Die wohl bekanntesten Vertreter dieser Kategorie sind die genetischen Algorithmen, die sich an der Evolutionstheorie von Charles Darwin orientieren.

Reinforcement Learning wird bei Minimierung- und Maximierungsaufgaben verwendet. Des Weiteren kommt es bei Lernprozessen, bei denen auf sich verändernde Umwelteinflüsse reagiert werden soll, zum Einsatz.

Beispielsweise könnte man Reinforcement Learning verwenden, damit ein Volk von Roboterameisen lernt, wie es sich optimal fortbewegen kann. Jede Roboterameise würde anfangs probieren, mit einer zufälligen Bewegungstechnik voranzukommen. Der Erfolg kann gemessen werden: die zurückgelegte Strecke pro Iteration beziehungsweise Generation, wie man in Anspielung auf die Evolutionstheorie auch sagt. In der Generation werden dann Fortbewegungstechniken, die überdurchschnittlich erfolgreich waren, auch überdurchschnittlich oft miteinander kombiniert und ihre Merkmale vererbt. Das heißt, ihre Merkmale kommen in Zukunft häufiger zum Einsatz.

Zusätzlich wird jedoch immer mit einer bestimmten Wahrscheinlichkeit ein neues, zufälliges Bewegungsmerkmal ausprobiert. Das entspricht der Mutation in der Evolution. Am Ende jeder Generation erfolgt wieder eine Bewertung. Dadurch werden die Roboterameisen im Laufe der vielen Generationen immer erfolgreicher beim Fortbewegen.

Reinforcement Learning hat hier noch den Vorteil, dass das Lernen auch sich verändernde Umweltfaktoren berücksichtigt. Wenn das Terrain sich hin und wieder ändert, weil es zum Beispiel regnet und der Boden matschig wird, wird die Evolution der Bewegungstechniken dies berücksichtigen. Deshalb konnte auch das Leben auf der Erde trotz Eiszeiten und Trockenperioden weiterbestehen: Es hat sich an die neuen Umwelteinflüsse angepasst.

Fazit

Machine Learning ist ein möglicher Weg, mit dem man künstliche Intelligenz realisieren kann. Charmant an Machine Learning ist, dass der Computer selbstständig lernen kann. Hierzu benötigt er Trainings- und Testdaten und die für den jeweiligen Zweck geeigneten Algorithmen. Machine Learning selbst ist ein Sammelbegriff für eine Vielzahl von Algorithmen, die man einer der drei Hauptkategorien Supervised Learning, Unsupervised Learning und Reinforcement Learning zuordnen kann.

Wenn man selbst Machine-Learning-Systeme entwickeln möchte, benötigt man Kenntnisse in drei Disziplinen. Erste Voraussetzung ist ein gewisses Niveau von Kenntnissen in dem Fachbereich, in dem man Machine Learning einsetzen will, um die Daten und Anwendungsfälle zu verstehen und die optimalen Machine-Learning-Algorithmen wählen zu können. Zweitens muss man Statistik im Allgemeinen und Machine-Learning-Algorithmen im Speziellen beherrschen. Und drittens Programmiersprachen und Frameworks, die bei Machine Learning zum Einsatz kommen.

Machine Learning eröffnet eine Vielzahl neuer Möglichkeiten für die Automatisierung und Digitalisierung in nahezu allen Bereichen von Wirtschaft und Alltag - seien es autonom fahrende Autos, intelligente Roboterstaubsauger oder gar Systeme, die fachliche Entscheidungen treffen, die bisher nur von geschulten Fachleuten getroffen werden konnten.

So ist es Machine-Learning-Systemen möglich, Schäden an Motoren anhand von Motorlaufgeräuschen oder Fotos zu erkennen. Oder bestimmte Krankheiten anhand von Symptomen, Bildern und anderen Messungen zu diagnostizieren.

Dennoch sollte man sich bewusst sein, dass selbst in Fällen, in denen der Computer bestimmte Aufgaben besser als ein Mensch erledigt, der Computer mit Machine-Learning-Algorithmen in den meisten Fällen nicht eleganter oder schlauer als der Mensch denkt, sondern dank großer Rechenleistung, insbesondere mittels Grafikkarten und Cloud Computing, mehr Falldaten als der Mensch erfassen und analysieren kann. Mit Ausnahme von Reinforcement-Learning-Algorithmen arbeiten die meisten Machine-Learning-Algorithmen, indem sie aus einer großen Anzahl bereits existierender Falldaten lernen. Dahinter steckt keine große Kreativität, sondern die Fähigkeit, anhand von einer Vielzahl von analysierten Falldaten aus der Vergangenheit die wahrscheinlich beste Entscheidung bei einem neuen Fall zu treffen.

Folgende Analogie - einer kleiner Scherz, der aber einen Funken Wahrheit in sich trägt - macht das deutlich: Wäre ein Machine Learning Algorithmus als Gast zu einer Weinprobe eingeladen und man fragte ihn, welchen Wein er am besten findet, so würde er fragen: "Welchen Wein fanden die anderen Gäste am besten?"

Miroslav Stimac ist Informatiker, promovierter Wirtschaftswissenschaftler und aktuell Teilzeitstudent der Astronomie. Er arbeitet seit 2004 als Entwickler mit branchenübergreifender Projekterfahrung, hauptsächlich in Business Intelligence, Data Science und Statistik. Seine fachlichen Interessenschwerpunkte sind Astronomie, Japanologie, Konsumforschung und Robotik.  (msti)


Verwandte Artikel:
Microsoft: Azure automatisiert KI und verbessert Sprachdienste   
(25.09.2018, https://glm.io/136769 )
Initiative Applied AI: KI verstehen und ihren Gesellschaftseinfluss diskutieren   
(11.04.2018, https://glm.io/133787 )
Machine Learning: KI überträgt Stil von einem zum anderen Video   
(14.09.2018, https://glm.io/136577 )
Gluon: AWS und Microsoft stellen quelloffene KI-Schnittstelle vor   
(13.10.2017, https://glm.io/130602 )
Nvidia: "KI wird die Computergrafik revolutionieren"   
(01.03.2017, https://glm.io/126466 )

© 1997–2020 Golem.de, https://www.golem.de/