儘管如此,沒有人知道機器是否可以創造新的東西,或者它僅限於它已經知道的東西。但即使是現在,人工智慧也可以解決複雜的問題並分析非結構化資料集。我們 Dodo 決定進行一項實驗。組織和結構性地描述一些被認為是混亂和主觀的東西——味道。我們決定利用人工智慧來尋找最瘋狂的食材組合,但大多數人都會認為它們很美味。
我們與 MIPT 和 Skoltech 的專家合作,創建了人工智慧,該人工智慧已分析了超過 30 萬個食譜以及劍橋大學和其他幾所美國大學針對成分分子組合進行的研究結果。基於此,人工智慧學會了尋找成分之間不明顯的聯繫,並了解如何配對成分以及每種成分的存在如何影響所有其他成分的組合。
對於任何模型,您都需要數據。這就是為什麼為了訓練我們的人工智慧,我們收集了超過 30 萬個烹飪食譜。
困難的部分不是收集它們,而是使它們達到相同的形式。例如,食譜中的辣椒被列為“chilli”、“chili”、“chiles”甚至“chillis”。對我們來說很明顯,所有這些都意味著“辣椒”,但神經網路將它們視為單獨的實體。
最初,我們有超過 100 000 種獨特的成分,清理資料後,只剩下 1 000 個獨特的位置。
在獲得數據集後,我們進行了初步分析。首先,我們對資料集中存在多少種菜系進行了定量評估。
對於每種菜餚,我們都確定了最受歡迎的食材。
這些圖表顯示了不同國家/地區人們口味偏好的差異以及他們組合成分的方式的差異。
之後,我們決定分析世界各地的披薩食譜以發現其中的模式。這些是我們得出的結論。
尋找實際的味道組合與找出分子組合不同。所有乳酪都具有相同的分子組成,但這並不意味著良好的組合只能來自最接近的成分。
然而,當我們將成分轉換成數學時,我們需要看到的是分子相似成分的組合。因為相似的物體(相同的起司)必須保持相似,無論我們如何描述它們。這樣我們就可以確定物件的描述是否正確。
為了以神經網路可以理解的形式呈現食譜,我們使用了 Skip-Gram 負採樣 (SGNS)——一種 word2vec 演算法,基於上下文中單字的出現。
我們決定不使用預先訓練的 word2vec 模型,因為食譜的語意結構與簡單文字不同。使用這些模型,我們可能會失去重要資訊。
您可以透過查看最近的語義鄰居來評估 word2vec 的結果。例如,以下是我們的模型對起司的了解:
為了測試語意模型可以在多大程度上捕捉成分的配方相互關係,我們應用了主題模型。換句話說,我們嘗試根據數學確定的規律將食譜資料集分解為群集。
對於所有食譜,我們都知道它們對應的確定的群集。對於範例配方,我們知道它們與真實集群的聯繫。基於此我們發現了這兩類簇之間的聯繫。
最明顯的是甜點類別,它們包含在主題 0 和 1 中,由主題模型產生。除了甜點之外,幾乎沒有其他類別涉及這些主題,這表明甜點很容易與其他類別的菜餚分開。此外,每個主題都有一個最能描述它的類別。這意味著我們的模型已經成功地從數學上定義了「味道」的非顯而易見的含義。
我們使用兩個循環神經網路來創建新食譜。為此,我們假設在整個食譜空間中存在一個與披薩食譜相對應的子空間。為了讓神經網路學習如何創造新的披薩食譜,我們必須找到這個子空間。
此任務類似於圖像自動編碼,其中我們將圖像呈現為低維向量。此類向量可以包含許多有關圖像的特定資訊。
例如,這些向量可以將有關人的頭髮顏色的資訊儲存在單獨的單元中,以用於照片中的人臉辨識。我們選擇這種方法正是因為隱藏子空間的獨特屬性。
為了識別披薩子空間,我們透過兩個循環神經網路運行披薩食譜。第一個收到披薩食譜並找到其作為潛在向量的表示。第二個神經網路從第一個神經網路接收一個潛在向量,並根據它創建一個食譜。第一個神經網路輸入端和第二個神經網路輸出端的配方應該要匹配。
透過這種方式,兩個神經網路學會如何正確地轉換潛在向量的配方。基於此,我們能夠找到一個隱藏的子空間,它對應於整個披薩食譜範圍。
當我們解決創建披薩食譜的問題時,我們必須在模型中添加分子組合標準。為此,我們使用了劍橋大學和幾所美國大學科學家聯合研究的結果。
研究發現,具有最常見分子對的成分形成最佳組合。因此,在創建食譜時,神經網路會優先選擇具有相似分子結構的成分。
結果,我們的神經網路學會了創建披薩食譜。透過調整係數,神經網路既可以生成瑪格麗特酒或義大利辣香腸等經典食譜,也可以產生此類不尋常的食譜,其中之一就是開源披薩的核心。
不 | 食譜 |
---|---|
1 | 菠菜、起司、番茄、黑橄欖、橄欖、大蒜、胡椒、羅勒、柑橘、甜瓜、豆芽、酪乳、檸檬、鱸魚、堅果、蕪菁甘藍 |
2 | 洋蔥、番茄、橄欖、黑胡椒、麵包、麵團 |
3 | 雞肉、洋蔥、黑橄欖、起司、醬汁、番茄、橄欖油、馬蘇里拉起司 |
4 | 番茄、奶油、奶油起司、胡椒、橄欖油、起司、黑胡椒、馬蘇里拉起司 |
開源披薩根據 MIT 許可證獲得許可。
Golodyayev Arseniy,MIPT,Skoltech,[email protected]
Egor Baryshnikov,Skoltech,[email protected]