Können Computer lernen, wie Menschen zu lernen?

Wide und Deep Learning mit TensorFlow
Kommentare

Das menschliche Gehirn ist eine hochentwickelte Lernmaschine, die Dinge durch einprägen (etwa „Spatzen können fliegen“ und „Tauben können fliegen“) und verallgemeinern („Tiere mit Flügeln können fliegen“) lernt. Mehr noch: Einmal gelerntes Wissen wird durch Ausnahmen verfeinert und neu definiert („Pinguine können nicht fliegen“). Auch maschinelle Intelligenz entwickelt sich stetig weiter. Doch es bleiben Fragen, auf die Google durch die Wide-und-Deep-Learning-Implementation von TensorFlow Antworten geben will.

Können Computer so lernen, wie Menschen es tun – durch eine Kombination aus Erinnerung und Verallgemeinerung? Google glaubt an diese Möglichkeit und hat aus diesem Grund die Wide-und-Deep-Learning-Implementation von TensorFlow veröffentlicht.

Natürlich ist die Frage, ob Computer sich die Lernweise von Menschen zu eigen machen können, nicht einfach so zu beantworten. Doch das Google-Research-Team glaubt an das Potenzial einer Kombination aus Verallgemeinerung (Generalization) und Erinnerung (Memorization). Zurzeit wird bereits ein umfangreiches lineares Modell (zum Merken) gleichzeitig mit einem tiefen neuralen Netzwerk (zur Generalisierung) trainiert. Kombiniert man die Stärken der beiden, kommt man dem Wunsch nach menschlichem Lernen schon etwas näher. Google nennt diese Technik Wide & Deep Learning. Sie eignet sich besonders für generische großmaßstäbliche Regressions- und Klassifikationsprobleme mit spärlichen Daten.

Wide & Deep Learning Modelle

Wide & Deep Learning Modelle, Quelle: Google

Ab sofort steht die Implementation für Wide & Deep Learning als Teil des TF.Learn APIs Open Source zu Verfügung. Entwickler können jetzt also selbst eigene Modelle trainieren. Einführende Informationen in TensorFlow gibt’s übrigens im Artikel „Google stellt Machine-Learning-System TensorFlow Open Source zur Verfügung„.

Wide & Deep Learning – so funktioniert’s

Um zu verstehen, wie Wide & Deep Learning funktionieren, nennt Google in seinem Blogpost das Beispiel der fiktiven App FoodIO. Ein Nutzer der App gibt per Sprachbefehl an, auf welches Essen er Lust hat (Anfrage). Daraufhin berechnet die App das Gericht, das dem Nutzer am ehesten zusagt, und dieses wird geliefert (Objekt). Die entscheidende Kennziffer ist dabei die Verbrauchsmenge: Wird ein Gericht gegessen, ist die Punktzahl 1, ansonsten 0 (Kennzeichnung). Im Lauf der Zeit stellt der Entwickler von FoodIO allerdings fest, dass die Verbrauchsmenge sehr gering ist, weil die Treffer zu ungenau sind – anstelle von gebratenem Hühnchen wird etwa gebratener Reis mit Hühnchen geliefert. Jetzt ist es also an der Zeit, etwas Machine Learning ins Spiel zu bringen.

Das Wide-Learning-Modell

In der zweiten, aktualisierten Version von FoodIO soll sich die App merken, welche Gerichte am besten zu jeder Anfrage passen. Also wird ein lineares Modell in TensorFlow mit einem umfangreichen Set an sogenannten Cross-Product-Merkmalstransformationen trainiert, um zu erfassen, wie ein angefragtes Objekt mit dem Ziellabel in Beziehung steht. Das Modell berechnet dann die Möglichkeit des Verzehrs für jedes Objekt und FoodIO liefert das Essen, das die höchste angenommene Verzehrrate besitzt.

So lernt das Modell beispielsweise, dass das Feature AND(query="fried chicken", item="chicken and waffles") beim Kunden wesentlich besser ankommt als AND(query="fried chicken", item="chicken fried rice"). FoodIO 2.0 ist also schon ziemlich gut darin, sich zu merken, was Nutzer mögen.

Das Deep-Learning-Modell

Allerdings zeigt sich, dass viele Nutzer unzufrieden mit den Vorschlägen der App sind. Sie verlangen viel mehr danach, eine zwar ähnliche, aber dennoch unterschiedliche Küche mit „Überraschungsfaktor“ angezeigt zu bekommen. In Version 3.0 ist es also Zeit für den Einsatz eines tiefen neuralen Netzwerks. Das Deep-Learning-Modell erkennt „lower-dimensional dense representations“ für jede Anfrage und jedes Objekt: Auf diese Weise kann FoodIO verallgemeinern, indem Gerichte mit Anfragen verbunden werden, die einander ähneln. Es zeigt sich zum Beispiel, dass Nutzer, die nach gebratenem Hühnchen fragen, oft auch Interesse an Burgern haben.

Deep-Learning-Modell in TensorFlow

Deep-Learning-Modell in TensorFlow, Quelle: Google

Wide- und Deep-Learning-Modelle kombinieren

Im Lauf der Zeit wird jedoch deutlich, dass das Deep-Learning-Modell zu sehr verallgemeinert und irrelevante Gerichte vorschlägt. In den App-Daten finden sich zwei unterschiedliche Arten von Anfrage-Objekt-Beziehungen: Die erste dieser Anfragen ist sehr zielgerichtet. Nutzer, die etwa nach einem „geeisten entkoffeinierten Latte Macchiato mit fettarmer Milch“ fragen, wollen auch genau das. Nur weil das Ganze ähnlich klingt wie „heißer Latte Macchiato mit fetthaltiger Milch“, ist das keine Alternative für eine spezifische Anfrage. Andererseits bieten Anfragen wie „Meeresfrüchte“ oder „Italienisch“ einen wesentlich größeren Spielraum für mögliche Vorschläge.

Aus diesem Dilemma hilft nur eins: die Kombination von Wide- und Deep-Learning-Modellen. Nun nutzt sowohl der Wide-Learning- als auch der Deep-Learning-Teil des Modells dürftige Angaben wie query="fried chicken" und item="chicken fried rice". Während des Trainings werden die Vorhersagefehler an beide Seiten zurückübertragen, um die Modell-Parameter zu trainieren. Die Cross-Feature-Transformation im Wide-Learning-Modell ermöglicht das Abspeichern aller spärlichen, spezifischen Regeln, während die Deep-Learning-Komponente verallgemeinert und den Vergleich mehrerer Alternativen möglich macht. Version 4.0 von FoodIO steht bereit.

Kombination von Wide Learning & Deep Learning

Kombination von Wide Learning & Deep Learning, Quelle: Google

 

Zwischenüberschrift

Zeigt Google also mit der Wide-und-Deep-Learning-Implementation von TensorFlow, dass Maschinen so lernen können wie Menschen es tun? Natürlich ist das nicht eben einfach so anhand einer einzigen Modell-Implementierung zu beantworten. Dennoch wird anhand der Beispiel-App FoodIO und der darin genutzten Kombination aus Verallgemeinerung und Erinnerung deutlich, dass ein großes Potenzial im kombinierten Einsatz von Wide- und Deep-Learning-Modellen steckt. TensorFlow nähert sich dem Lernprozess eines menschlichen Gehirns auf diese Weise jedenfalls bereits beeindruckend an.

Weitere Informationen zu Wide und Deep Learning mit TensorFlow bietet der Post im Google-Research-Blog. Der zugehörige Code steht auf GitHub zur Verfügung; zudem gibt es Tutorials zu linearen Modellen und zu Wide & Deep Learning. Nachfolgendes Video bietet ebenfalls einen Einstieg ins Thema:

Aufmacherbild: machine learning: robotic brain made of microchip ciircuits with led lights von Shutterstock / Urheberrecht: faithie

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -