機械学習とTensorFlowがハイブリッド焼き菓子の焼き上げにどのように役立っているか:Googleデベロッパーの趣味の事例



強制的な自己隔離は、私たちの多くがペットのプロジェクトを思い出したり、自分の趣味を見つけたりするように刺激しました。誰かが無線通信が好きで、誰かがラズベリーのケースを開発します。さて、誰かがベーキングに従事しています。しかし、単純ではありませんが、機械学習が関与しています。



機械学習の開発者であるSaraRobinsonは、完璧なカップケーキを焼くことに決めました。しかし、試行錯誤ではなく、祖母がこれを行いましたが、テクノロジーの助けを借りて行いました。それはすべて 始まりましたクッキー、パイ、パンの33種類のレシピを取得し、このすべてのデータを分析するためのTensorFlowモデルを構築します。最初の目標は、焼き菓子が時々崩れる理由と、これを回避する方法を理解することでした。しかし、結局、サラは完璧なカップケーキのレシピを手に入れることができました。これは実際にはクッキーとパイのクロスです。また、パンとクッキーのハイブリッドのレシピ。



データセットからキッチンテーブルへ



2020年12月、サラは同僚であるDaleMarkovichという名前のGoogle社員をプロジェクトに採用しました。彼らは一緒にハイブリッドレシピを開発しました。結果として得られたモデルは、導入された材料によって、結果がどうなるか(クッキー、パイ、またはパン)を決定することを可能にしました。





すべてがうまくいった後、開発者(ベーキングに適用されるときにこの用語を使用するのは少し奇妙ですよね?)さらに先に進むことにしました。プロジェクトはスケールアップされました。今回は、600のレシピが分析のために選択されました。焼き菓子の食感やハリ、そしてもちろん味に影響を与える16の最も重要な材料を強調するために、それらは注意深く分析されました。



これらの成分は次のようになりました:



  • 酵母、
  • 小麦粉、
  • シュガー、
  • 卵、
  • 脂肪(任意の油)、
  • ミルク、
  • 重曹、
  • ベーキングパウダー、
  • りんご酢、
  • バターミルク、
  • バナナ、
  • かぼちゃのピューレ、
  • アボカド、
  • 水、
  • 油、
  • 塩。


プロジェクトの作成者は、新しいモデルを使用して、材料のリストを編集するだけでなく、完璧な焼き菓子を作成するのに役立つ正しい比率を決定しました。





さらに、モデルは、カツレツ、ビスケット、ケーキ、パンからハエを分離して、焼き菓子の種類を独自に判別することができました この段階で、開発者はGoogleのAutoML Tablesツールを使用しました。このツールを使用すると、表形式のデータに基づいてモデルをすばやく作成できます。彼らはCSVファイルをモデルにロードして分析し、モデルを検証しました。



モデルは、ビスケット、パイ、パンなどの焼き菓子の種類ごとに、バター、砂糖、酵母、卵の最適な量と比率を予測しました。そして、結果として得られたモデルは、ハイブリッド料理のレシピを取得することを可能にしました。以下は、チョコレートチップを使用したケーキとクッキーのハイブリッドの写真です。





サンプルコード、モデル、実行中のサービス



TensorFlowモデルに関しては、コードはかなり短いです。モデルにはKerasAPIが使用されました



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')                
])
      
      





開発者はPythonを使用して、入力成分を最初にベーキング愛好家に馴染みのある測定単位(カップ、小さじなど)に変換し、次にパーセンテージに変換する関数を作成しました。 これが最終的に起こることです。



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)














さて、アプリケーション自体、またはむしろWebサービスは、 ここから入手できますだからあなたはそれを自分で試すことができます。



テストテスト



パイとクッキーのハイブリッド



他の開発者がプロ​​ジェクトに興味を持ち、実際にモデルの結果をテストすることを決定した開発者もいました。テストされたレシピの1つは「クッキーパイ」です。





材料と準備手順に従った。たとえば、モデルは、追加されたオイルの最適温度が18.33°Cであることを示しています。もちろん、10分の1度と100分の1度を追う人は誰もいませんでしたが、18°Cの条件は満たされました。





変更しなければならなかったのは、グラタン皿のサイズだけでした。6インチのフォームが必要でしたが、誰もいなかったので、9インチを使用しました。一般的に、「ケーキクッキー」が焼かれた後、彼は少し冷やされてテストされました。テスターに​​よると、焼き菓子の食感は珍しいが、味は素晴らしかった。このことを試みたすべての人がそれを承認しました。



パンとクッキーのハイブリッド





2番目に試してテストしたレシピは「焼き菓子」です。私はもう少し彼をいじくり回さなければなりませんでしたが、結局すべてがうまくいきました。モデルによって提案されたレシピは、実際にはパンとクッキーの2つの部分に分かれています。生地は、パン生地に似て、クッキーに通常必要とされるよりもはるかに厚いことが判明しました。





しかし、最終的にはすべてが美味しく、少し柔らかくてもオートミールクッキーに似た食感になりました。酵母を使ったレシピなので、パンのように見えます。



全体として、実験は成功したことが判明しました。機械学習と予測モデルは、それらを試したすべての人が好む珍しい料理を作成するのに役立ちました。






All Articles