尽管如此,没有人知道机器是否可以创造新的东西,或者它仅限于它已经知道的东西。但即使是现在,人工智能也可以解决复杂的问题并分析非结构化数据集。我们 Dodo 决定进行一项实验。组织和结构性地描述一些被认为是混乱和主观的东西——味道。我们决定利用人工智能来寻找最疯狂的食材组合,但大多数人都会认为它们很美味。
我们与 MIPT 和 Skoltech 的专家合作,创建了人工智能,该人工智能已分析了超过 300,000 个食谱以及剑桥大学和其他几所美国大学针对成分分子组合进行的研究结果。基于此,人工智能学会了寻找成分之间不明显的联系,并了解如何配对成分以及每种成分的存在如何影响所有其他成分的组合。
对于任何模型,您都需要数据。这就是为什么为了训练我们的人工智能,我们收集了超过 300,000 个烹饪食谱。
困难的部分不是收集它们,而是使它们达到相同的形式。例如,食谱中的辣椒被列为“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]