【no.369】ピザの写真からレシピを推測するAI

ザの写真からレシピを推測するAI

認識した具材から調理方法を逆工程にさかのぼって分析。

機械学習の一種で、ふたつののニューラル・ネットワークが競い合う「敵対的生成ネットワーク(GAN)」を使うと、たとえば存在しないポケモンが生成できたり、逆にニューロンをひとつずつ切りながらAIに人間の顔をイメージングさせるとおどろおどろしい結果を招いたりと、いろんな画像を作ることが出来るようになります。

ですがMITでは、ニューラル・ネットワークを使ってコンピューターにピッツァの作り方を教える研究をしているのだそうです。

その名は「PizzaGAN」計画

その研究の題名は「How to make a pizza: Learning a compositional layer-based GAN model」と呼ばれ、訳すと「ピッツァの作り方:複合的なレイヤベースのGANモデルの学習」となります。これはZDNetがarxiv.orgの論文を取り挙げたもので、総じて「PizzaGAN Project」というプロジェクト名で呼ばれています。

この研究では、作り方ひとつずつの手順を反映した生成モデルを構築することによって、機械にピッツァの作り方を教えます。平たくいうと、ピッツァはチーズや具材のを重ねて作られているので、研究者たちは具材ごとにピッツァの画像を分析し、調理の各段階を認識する方法を機械に教えることにしたのでした。なので具材のないピッツァは1通りにしか認識されません。ですがそこにトッピングや具材を載せていくと、見た目の結果が変わることになります。その見た目の違いを鑑定することで、理論的にニューラル・ネットワークがピッツァを作る手順を逆に追ってリヴァース・エンジニアリングすることが出来るようになるのです。

学習方法

研究者たちはまず、合成データセットのピッツァ画像のクリップアートを、およそ5,500枚作成しました。続いて、Instagramで「#pizza」のハッシュタグを打ち込み、本物の写真を検索。それから好ましくない写真を除外し、最終的に9,213枚ものリアルなピッツァ写真をゲットすることに成功しました。

それから「PizzaGAN」がやったことはふたつ。ひとつ目は、AIにたとえばペパロニなど個別の具材をどのように追加/除去するのかを教え、合成画像を作成しました。次に、別のモデルで出てきたトッピングを検出し、それが置かれている深さを計算することで、調理過程にどのトッピングがいつ現れるのか、その順番を予測しました。なのでもし、マッシュルームとペパロニとオリーヴのピッツァ写真があったとしたら、「PizzaGAN」はその3種を検知できます。そしてマッシュルームが一番上にのっていることがわかれば、それが最後にトッピングされたことを理解するのです。(サイトでは、具材の追加と除去、調理の前後をインタラクティヴに比較できるようになっています)