Wie maschinelles Lernen und TensorFlow dazu beitragen, hybride Backwaren zu backen: ein Hobby-Fall eines Google-Entwicklers



Die erzwungene Selbstisolation hat viele von uns dazu angeregt, sich an ihre Lieblingsprojekte zu erinnern oder einfach nur ein Hobby für sich zu finden. Jemand mag Funkkommunikation, jemand entwickelt Fälle für Himbeere. Nun, jemand ist mit Backen beschäftigt. Aber nicht einfach, sondern unter Einbeziehung des maschinellen Lernens.



Die Entwicklerin für maschinelles Lernen, Sara Robinson, hat beschlossen, den perfekten Cupcake zu backen. Aber nicht durch Versuch und Irrtum - unsere Großmütter haben dies getan, sondern mit Hilfe von Technologie. Alles begannvon 33 verschiedenen Rezepten für Kekse, Kuchen und Brot bis hin zur Erstellung eines TensorFlow-Modells zur Analyse all dieser Daten. Das erste Ziel war zu verstehen, warum Backwaren manchmal stark zerbröckeln und wie dies vermieden werden kann. Aber am Ende konnte Sarah ein Rezept für den perfekten Cupcake bekommen, der eigentlich eine Kreuzung zwischen einem Keks und einem Kuchen ist. Und auch - ein Rezept für eine Mischung aus Brot und Keksen.



Vom Datensatz zum Küchentisch



Im Dezember 2020 rekrutierte Sarah ihren Kollegen, einen Google-Mitarbeiter namens Dale Markovich, für das Projekt. Gemeinsam entwickelten sie ein Hybridrezept. Das resultierende Modell ermöglichte es, anhand der eingeführten Zutaten zu bestimmen, wie das Ergebnis aussehen würde - Kekse, Kuchen oder Brot.





Nachdem alles geklappt hatte, beschlossen die Entwickler (es ist ein bisschen seltsam, diesen Begriff beim Backen zu verwenden, oder?), Weiter zu gehen. Das Projekt wurde vergrößert. Dieses Mal wurden 600 Rezepte zur Analyse ausgewählt. Sie wurden sorgfältig analysiert, um die 16 wichtigsten Zutaten hervorzuheben, die die Textur und Festigkeit von Backwaren sowie natürlich den Geschmack beeinflussen.



Diese Zutaten erwiesen sich als:



  • Hefe,
  • Mehl,
  • Zucker,
  • Eier,
  • Fett (irgendein Öl),
  • Milch,
  • Backsoda,
  • Backpulver,
  • Apfelessig,
  • Buttermilch,
  • Banane,
  • Kürbispüree,
  • Avocado,
  • Wasser,
  • Öl,
  • Salz.


Die Autoren des Projekts haben unter Verwendung des neuen Modells nicht nur eine Liste der Zutaten zusammengestellt, sondern auch die richtigen Proportionen ermittelt, die zur Herstellung der perfekten Backwaren beitragen.





Darüber hinaus konnte das Modell die Art der Backwaren unabhängig bestimmen und Fliegen von Schnitzel, Keksen, Kuchen und Brot trennen . Zu diesem Zeitpunkt verwendeten die Entwickler das AutoML-Tabellen-Tool von Google, mit dem Sie schnell Modelle auf der Grundlage von Tabellendaten erstellen können. Sie luden eine CSV-Datei in das Modell, analysierten sie und validierten ihr Modell.



Für jede Art von Backwaren - Kekse, Kuchen oder Brot - prognostizierte das Modell die optimale Menge und das optimale Verhältnis von Butter, Zucker, Hefe und Eiern. Das resultierende Modell ermöglichte es, ein Rezept für Hybridgerichte zu erhalten. Unten sehen Sie ein Foto eines Kuchen-Keks-Hybrids mit Schokoladenstückchen.





Beispielcode, Modell und laufender Dienst



Was das TensorFlow-Modell betrifft, ist der Code ziemlich kurz. Für das Modell wurde die Keras-API verwendet .



model = tf.keras.Sequential([
  tf.keras.layers.Dense(16, input_shape=(num_ingredients,)),
  tf.keras.layers.Dense(16, activation='relu'),
  tf.keras.layers.Dense(3, activation='softmax')                
])
      
      





Mit Python haben die Entwickler eine Funktion erstellt, die die eingegebenen Zutaten zuerst in Maßeinheiten umwandelt, die Backliebhabern bekannt sind (Tassen, Teelöffel usw.), und dann in Prozentsätze. Das passiert am Ende.



def get_prediction(request):



data = request.get_json()

prescaled = dict(zip(columns, data))

scaled = scale_data(prescaled)



# Send scaled inputs to the model

prediction = predict_json('gcp-project-name', 'baking', scaled)



# Get the item with the highest confidence prediction

predicted_ind = np.argmax(prediction)

label_map = ['Bread', 'Cake', 'Cookies']

baked_prediction = label_map[predicted_ind]

confidence = str(round(prediction[predicted_ind] * 100))



if baked_prediction == 'Bread':

emoji = "It's bread!"

elif baked_prediction == 'Cake':

emoji = "It's cake!"

elif baked_prediction == 'Cookies':

emoji = "It's cookies!"



return "{} {}% confidence".format(emoji, confidence)














Nun, die Anwendung selbst oder vielmehr ein Webdienst ist hier verfügbar . So können Sie es selbst versuchen.



Testtests



Eine Mischung aus Kuchen und Keksen



Andere Entwickler interessierten sich für das Projekt, einige beschlossen, die Ergebnisse des Modells in der Praxis zu testen. Eines der getesteten Rezepte ist "Cookie Pie".





Die Zutaten und das Herstellungsverfahren wurden befolgt. Beispielsweise hat ein Modell gezeigt, dass die optimale Temperatur für das zugesetzte Öl 18,33 ° C beträgt. Natürlich folgte niemand den Zehntel- und Hundertstelgraden, aber die Bedingung von 18 ° C wurde erfüllt.





Das einzige, was geändert werden musste, war die Größe der Auflaufform. Eine 6-Zoll-Form war erforderlich, aber es gab niemanden, daher wurde eine 9-Zoll-Form verwendet. Im Allgemeinen durfte er nach dem Backen des "Kuchen-Kekses" etwas abkühlen und testete. Laut Testern war die Textur der Backwaren ungewöhnlich, aber der Geschmack war ausgezeichnet. Jeder, der dieses Ding ausprobiert hat, hat es gebilligt.



Eine Mischung aus Brot und Keksen





Das zweite bewährte Rezept ist "Backwaren". Ich musste etwas länger an ihm basteln, aber am Ende hat alles geklappt. Das vom Modell vorgeschlagene Rezept besteht aus zwei Teilen - Brot und Kekse. Der Teig erwies sich als viel dicker als gewöhnlich für Kekse erforderlich und ähnelte einem Brotteig.





Aber am Ende stellte sich heraus, dass alles köstlich war. Die Textur ähnelte Haferkeksen, wenn auch etwas weicher. In dem Rezept wurde Hefe verwendet, daher sieht es ein bisschen wie Brot aus.



Insgesamt erwies sich das Experiment als erfolgreich - maschinelles Lernen und Vorhersagemodelle halfen dabei, ungewöhnliche Gerichte zu kreieren, die jedem, der sie probierte, gefielen.






All Articles