您准备初试身手,为一大家人制作丰盛的感恩节晚餐。不过,您的压力很大。您需要令人惊艳的食谱,能与美食杂志上的靓丽图片媲美的食谱。
AI 或许可以帮上忙。
只需上传一张触动您味蕾的图片,麻省理工学院 (MIT) 的 Pic2Recipe 系统就能告诉您食物的配料和制作方法。(即使您做的菜失败了,菜是由 AI 挑选的这一点也能为宾客带来话题,免得总是谈论政治。)
“无论是令人吮指的火鸡,还是美味的苹果派,拍张照片然后上传到我们的演示网页就行了。”Nick Hynes 说道,他是最近发表的 Pic2Recipe 论文的主要作者之一。Hynes 正在加州大学伯克利分校攻读博士学位,他与其他团队成员一起在 MIT 的计算机科学和人工智能实验室工作。
该实验室的 GPU 加速深度学习系统并不只是为火鸡节准备的。它内含一百多万份食谱(从巧克力碎片烤饼到芝士烤薯条)和 80 多万张食物照片。研究人员说,它是全球最大的公开食谱数据库,而且随着更多人上传图片而不断增大。(在线演示可在 PC 或 Android 手机上进行,但尚未适用于 iPhone。)
AI 为您奉上食谱
在搜寻美味佳肴以便为我的家庭大餐锦上添花的过程中,我使用在网上找到的一些照片测试了 Pic2Recipe,包括下面这张看着让人垂涎三尺的焗烤甜番薯照片。
它提供了五份食谱,其中三份有效(分别是:波旁威士忌焗烤甜番薯、山核桃烤甜番薯、烤甜番薯),另外两份不太好懂 – 涂焦糖的香味坚果和糖粉奶油细末南瓜。
不过,Pic2Recipe 不只是提供食谱那么简单。研究人员希望更好地了解人们的饮食习惯,并着眼于培养更健康的饮食习惯。这是可行的,因为这个工具能检测菜肴的配料。
想知道再吃一块披萨会给您带来多少卡路里吗?拍张照片就行了。Hynes 说,在自己做饭时,最终可能可以使用 Pic2Recipe 来找到降低卡路里或增加蛋白质的替代食材。
牛肉在哪里?
Hynes 说,食谱还意外造成了棘手的计算机视觉问题。
虽然计算机可以学会识别番茄酱,但计算机无法自动确定番茄是切片、切块还是切碎的。它无法“看到”隐藏的配料(如糖或盐),也无法看到烤宽面条里面是肉还是菠菜。如果照片拍的是蛋糕,Pic2Recipe 能推断出里面有糖。如果蛋糕用的是甜菊来变甜,就不太可能推断出来了。
Pic2Recipe 对于糕点(如蛋糕或松饼)的效果最好,因为数据集中有非常多的示例。如果照片较为模糊,它难以确定配料。
这可能解释了为何下面这张玉米饼洋苏叶填馅的照片会产生两种填馅配方(但都没有玉米),以及奶油烤蔬菜和土豆烤菠菜的配方。
这个工具还难以执行一些语言理解任务。例如,它不能自动理解“混合所有配料”或“烤熟为止”等短语。
“您和我都知道要做什么,因为我们作为人对于这个世界怎样运转很有经验。”Hynes 说,“但深度学习模型只知道食谱。它不了解烹饪或风味。”
总的来说,Pic2Recipe 能以 55% 的准确率在前五个结果中给出正确的食谱;如果是前 10 个结果,则准确率上升到 65%。Hynes 期望它能随着更多数据添加进来而有所改进。
如何打造食谱发现者
为了创造 Pic2Recipe,研究人员“搜刮”了 20 多个热门烹饪网站的食谱和照片,最终建立了一个数据集。他们使用 NVIDIA GeForce GTX TITAN X GPU 和 cuDNN 以及 PyTorch 深度学习框架来训练模型。
GPU 还帮助 Hynes 将深度学习模型投入使用,这个过程称为“推理”。
“不用为了在 CPU 上运行而重新封装模型,因此,部署模型变得很容易。”他说,“GPU 使演示能非常快速地作出响应。”
利用 AI 安排晚餐
未来,这支团队希望改进该系统,使其能够更详细地了解食物。这可能包括菜肴的制作方式(例如炖或者焖),或者同一种食物的几种变化形式 – 例如包含罗勒的意大利面酱与包含蘑菇和洋葱的意大利面酱。
研究人员还可能会将该系统发展成为“晚餐助手”,使其能根据饮食偏好和冰箱中的食材清单确定要烹饪的菜肴。
“我们希望能在饮食如何影响人们健康方面获得新的见解。”Hynes 说。
有关更多信息,请参阅论文 Learning Cross-modal Embeddings for Cooking Recipes and Food Images。这篇论文由 CSAIL 与卡塔尔计算研究所合力完成。Amaia Salvador 与 Hynes 同为主要作者,前者是加泰罗尼亚理工大学的博士生。