KI-Pizza: Wie wir zwei wiederkehrende neuronale Netze verwendet haben

Das Thema neuronale Netze begeistert die Herzen von Entwicklern, Wissenschaftlern und Vermarktern nicht für das erste Jahr, sondern für einige nicht einmal für das erste Jahrzehnt. Wir alle wissen jedoch, dass es bei Projekten, die auf Neuronen basieren, häufig ein einfaches großes Datum und ein Marketing-Bulletin gibt, das vor dem Hintergrund eines Clickbait-Headers aufgeblasen wird. Wir haben versucht, eine solche Geschichte zu vermeiden, und ein Neuropizza-Projekt entwickelt, das auf einer Untersuchung der molekularen Verträglichkeit von Inhaltsstoffen, der Analyse von 300.000 Rezepten und purer Kreativität basiert. Unter dem Schnitt finden Sie die Details und den Open-Source-Link auf GitHub.



Kann sich ein Auto etwas Neues einfallen lassen oder ist es durch das, was es weiß, begrenzt? Bisher kennt niemand die Antwort auf diese Frage. Jetzt löst künstliche Intelligenz die Probleme der Analyse großer nicht standardmäßiger Daten perfekt.

Bei Dodo Pizza angekommen, beschlossen sie, ein Experiment durchzuführen: das zu systematisieren und strukturell zu beschreiben, was weltweit als chaotisch und subjektiv gilt - Geschmack. Künstliche Intelligenz half dabei, die verrücktesten Kombinationen von Zutaten zu finden, die sich trotz ihrer ungewöhnlichen Natur für die meisten Menschen als schmackhaft herausstellten.

Mein Kollege und ich waren in diesem ungewöhnlichen Projekt Spezialisten für neuronale Netze von MIPT und Skoltech. Wir haben ein neuronales Netzwerk entwickelt und trainiert, das das Problem der Erstellung von Küchenrezepten lösen kann. Im Verlauf der Arbeit wurden mehr als 300.000 Rezepte sowie die Ergebnisse wissenschaftlicher Untersuchungen zur molekularen Verträglichkeit von Inhaltsstoffen analysiert. Auf dieser Grundlage lernte AI, nicht offensichtliche Zusammenhänge zwischen Inhaltsstoffen zu finden und zu verstehen, wie sie sich miteinander verbinden und wie sich das Vorhandensein der einzelnen Inhaltsstoffe auf die Kompatibilität aller anderen auswirkt.

Wie wir zum Dodo AI-Pizza-Projekt gekommen sind


Alles, wie es normalerweise passiert, passierte plötzlich. Es gab eine kurze Auszeit vor dem Sommertraining, wir haben gerade den Deep Learning-Kurs beendet, das Projekt verteidigt und versucht, uns an einen entspannteren Rhythmus des Lernens / Lebens anzupassen. Aber sie konnten nicht: Sie sind versehentlich auf eine persönliche Anfrage von BBDO gestoßen, Leute zu finden, die ein neuronales Netzwerk schreiben könnten, um neue Rezepte zu generieren. Genauer gesagt: neue Pizzarezepte für Dodo. Ohne zu zögern beschlossen wir, es zu versuchen.

Als das Projekt gerade erst begann, haben wir nicht ganz verstanden, ob es noch weiter gehen würde, ob es eine praktische Umsetzung geben würde, wir waren einfach an der Aufgabe interessiert. Viel Redbowl und schnelles Internet haben uns geholfen und uns weitergebracht. Rückblickend verstehen wir, dass einige Dinge anders gemacht werden könnten, aber das ist normal.

In jedem Fall begann nach einigen Wochen, in denen das Arbeitsmodell des neuronalen Netzes fertig war, die Phase seines Starts in der Produktion. Wir sind sehr glücklich, dass das Projekt nicht im engeren Sinne als industriell oder technisch bezeichnet werden kann. Der Status des Experiments ist für ihn besser geeignet.

Mit unserem Modell wurden verschiedene Varianten von Pizzarezepten generiert, die wir an sehr coole Dodo-Köche weitergaben, um Produkttests durchzuführen. Der Moment der Pizza-Verkostung im Dodo R & D Lab war ein Wendepunkt, um den Wert unserer Arbeit zu erkennen. Es war sehr aufregend zu sehen, wie das Produkt verkauft wurde. In der Tat sind oft alle Entwicklungen und Lösungen eine eher kurzlebige, immaterielle Sache, und hier konnte das Ergebnis nicht nur berührt, sondern auch geschmeckt werden.

Primäre Sammlung von Datensatz und Chili


Jedes Modell benötigt Daten, um zu funktionieren. Um unsere KI zu trainieren, haben wir 300.000 Rezepte aus allen verfügbaren Quellen gesammelt. Für uns war es wichtig, nicht nur Pizzarezepte zu sammeln, sondern die Auswahl so weit wie möglich zu diversifizieren und dabei zu versuchen, nicht über das Vernünftige hinauszugehen (z. B. Cocktailrezepte ignorieren und erkennen, dass ihre Semantik die Rezeptsemantik der Pizza nicht stark beeinflusst).

Nach dem Sammeln der Daten haben wir mehr als 100.000 einzigartige Zutaten erhalten. Das große Problem bestand darin, sie in eine Form zu bringen. Aber woher kamen so viele Gegenstände? Alles ist einfach, zum Beispiel werden Chilischoten in Rezepten wie folgt angezeigt: Chili, Chili, Chili, Chili. Es ist für Sie offensichtlich, dass dies der gleiche Pfeffer ist, aber das neuronale Netzwerk nimmt unterschiedliche Schreibweisen als separate Einheiten wahr. Wir haben es behoben. Nachdem wir die Daten bereinigt und auf eine Ansicht gebracht hatten, waren nur noch 1.000 Positionen verfügbar.

Weltgeschmacksanalyse


Nachdem wir den Datensatz arbeitsbereit erhalten hatten, führten wir die erste Analyse durch. Zunächst haben wir uns angesehen, welche Küchen der Welt in unserem Datensatz in einem quantitativen Verhältnis vertreten sind.



Für jede Küche haben wir die beliebtesten Zutaten identifiziert.



In diesen Grafiken sind Unterschiede in den Geschmackspräferenzen der Menschen nach Ländern erkennbar. Aus diesen Präferenzen wird auch deutlich, wie Menschen aus verschiedenen Ländern Zutaten miteinander kombinieren.

Zwei Pizzaergebnisse


Nach dieser globalen Analyse haben wir uns entschlossen, Pizzarezepte aus der ganzen Welt genauer zu untersuchen, um Muster in ihrer Zusammensetzung zu finden. Hier sind die Schlussfolgerungen, die wir gezogen haben:

  1. Pizzarezepte sind um eine Größenordnung kleiner als Fleisch- / Hühnchenrezepte und Desserts.

  2. Viele der Zutaten in Pizzarezepten sind begrenzt. Die Variabilität der Produkte ist viel geringer als bei anderen Gerichten.


Wie wir das Modell getestet haben


Das Finden echter Geschmackskombinationen ist nicht dasselbe wie das Aufdecken der Verträglichkeit von Molekülen. Alle Käsesorten haben eine ähnliche molekulare Zusammensetzung, dies bedeutet jedoch nicht, dass erfolgreiche Kombinationen nur im Bereich der nächstgelegenen Zutaten liegen.



Wir sollten jedoch genau die Verträglichkeit von Inhaltsstoffen sehen, die der molekularen Ebene ähnlich sind, wenn wir alles in Mathematik übersetzen. Weil ähnliche Objekte (die gleichen Käsesorten) ähnlich bleiben sollten, egal wie wir sie beschreiben. So können wir feststellen, dass diese Objekte korrekt beschrieben wurden.

Rezept in Mathe umwandeln


Um das Rezept in verständlicher Form für das neuronale Netzwerk darzustellen, verwendeten wir Skip-Gram Negative Sampling (SGNS) - den word2vec-Algorithmus, der auf dem Auftreten von Wörtern im Kontext basiert. Wir haben uns entschieden, die vorgefertigten word2vec-Modelle nicht zu verwenden, da sich unser Rezept in der semantischen Struktur offensichtlich von einfachen Texten unterscheidet. Mit solchen Modellen könnten wir wichtige Informationen verlieren.

Sie können das Ergebnis von word2vec auswerten, indem Sie sich die nächsten semantischen Nachbarn ansehen. Zum Beispiel weiß unser Modell Folgendes über Käse:



Um zu testen, wie semantische Modelle die Rezeptwechselwirkungen von Zutaten erfassen können, haben wir ein thematisches Modellierungsmodell für alle Rezepte aus der Stichprobe angewendet. Das heißt, sie versuchten, den Rezeptdatensatz nach mathematisch identifizierten Mustern in Cluster aufzuteilen.



Da wir im Voraus wussten, dass eine bestimmte Stichprobe von Rezepten zu verschiedenen realen Klassen gehört, die aus den Daten erhalten wurden, konstruierten wir die Verteilung der Zugehörigkeit jeder realen Klasse zu den identifizierten generierten.



Am offensichtlichsten war die Klasse der Desserts, die das Thema 0 und 1 bildeten und vom thematischen Modell generiert wurden. Neben Desserts gibt es in diesen Fächern fast keine anderen Klassen, was darauf hindeutet, dass Desserts leicht von anderen Klassen von Gerichten getrennt werden können. Außerdem gibt es in jedem Fach eine Klasse, die es am besten beschreibt. Dies bedeutet, dass unsere Modelle die mathematische Beschreibung der nicht offensichtlichen Bedeutung von „Geschmack“ gut bewältigten.

Rezeptgenerierung


Um neue Rezepte zu erstellen, haben wir zwei wiederkehrende neuronale Netze verwendet. Zu diesem Zweck haben wir vorgeschlagen, dass es im gemeinsamen Raum der Rezepte einen Unterraum gibt, der für Pizzarezepte verantwortlich ist. Damit das neuronale Netzwerk lernen konnte, neue Pizzarezepte zu entwickeln, mussten wir diesen Unterraum finden.

Eine solche Aufgabe hat eine ähnliche Bedeutung wie das Autokodieren von Bildern, wenn wir ein Bild als einen Vektor kleiner Dimension darstellen. In diesem Fall können die Vektoren eine große Menge spezifischer Informationen über das Bild enthalten.

Beispielsweise können solche Vektoren zur Gesichtserkennung auf dem Foto Informationen über die Farbe von menschlichem Haar in einer separaten Zelle speichern. Wir haben diesen Ansatz genau wegen der einzigartigen Eigenschaften des verborgenen Unterraums gewählt.

Um den Pizza-Unterraum zu identifizieren, haben wir Rezepte durch zwei wiederkehrende neuronale Netze geleitet. Der erste erhielt am Eingang ein Pizzarezept und suchte nach seiner Darstellung in Form eines versteckten Vektors. Der zweite erhielt einen versteckten Vektor aus dem ersten neuronalen Netz und musste ein darauf basierendes Rezept anbieten. Rezepte am Eingang des ersten neuronalen Netzes und am Ausgang des zweiten sollten zusammenfallen.

So lernten zwei neuronale Netze im Format der Codiererdecodierung, das Rezept korrekt an einen verborgenen (latenten) Vektor weiterzuleiten und umgekehrt. Auf dieser Grundlage konnten wir einen versteckten Unterraum entdecken, der für all die vielen Pizzarezepte verantwortlich ist.





Molekulare Verträglichkeit


Als wir das Problem der Erstellung eines Pizzarezepts lösten, mussten wir dem Modell das Kriterium der molekularen Kompatibilität hinzufügen. Hierfür haben wir die Ergebnisse einer gemeinsamen Studie von Wissenschaftlern aus Cambridge und mehreren US-amerikanischen Universitäten verwendet.

Als Ergebnis der Studie wurde festgestellt, dass die Inhaltsstoffe mit der größten Anzahl von Gesamtmolekülpaaren am besten kombiniert werden können. Daher bevorzugte das neuronale Netzwerk bei der Erstellung des Rezepts Inhaltsstoffe mit einer ähnlichen Molekülstruktur.

Ergebnis und AI Pizza


Infolgedessen hat unser neuronales Netzwerk gelernt, erfolgreich Pizzarezepte zu erstellen. Durch Anpassen der Koeffizienten kann AI sowohl klassische als auch verrückte Rezepte (wie Margarita oder Pepperoni) produzieren. Ein solches verrücktes Rezept bildete die Grundlage für die weltweit erste molekular perfekte Pizza mit zehn Zutaten: Tomatensauce, Melone, Birne, Huhn, Kirschtomaten, Thunfisch, Minze, Brokkoli, Mozzarella-Käse, Müsli. Eine limitierte Auflage kann sogar in einer der Dodo-Pizzerien gekauft werden. Und hier sind einige weitere interessante Rezepte, die Sie zu Hause kochen können:

  • Spinat, Käse, Tomate, Black_olive, Olive, Knoblauch, Pfeffer, Basilikum, Zitrus, Melone, Spross, Buttermilch, Zitrone, Bass, Nuss, Rutabaga;
  • Zwiebel, Tomate, Olive, schwarzer Pfeffer, Brot, Teig;
  • Huhn, Zwiebel, Black_olive, Käse, Sauce, Tomate, Olivenöl, Mozzarella_Käse;
  • Tomaten, Butter, Sahnekäse, Pfeffer, Olivenöl, Käse, schwarzer Pfeffer, Mozzarella-Käse;

All dies wäre Müll, wenn wir keinen Link zu den interessantesten geben würden:

Source: https://habr.com/ru/post/de471650/


All Articles