Для обучения алгоритма использовалась созданная авторами открытая база данных, которая содержит один миллион рецептов.
Обилие общедоступных сайтов с кулинарными рецептами открывает для области изучения искусственного интеллекта возможность создания алгоритма, который будет активно помогать людям в процессе готовки: например, при помощи составления рецепта случайно увиденного блюда или автоматической оценке того, насколько оно вкусное или калорийное. Предыдущие попытки создания нейросети, которая умела бы составлять рецепт, используя только фотографию блюда, были ограничены объемом используемых база данных, что приводило к низкой точности результатов. Использование сотни тысяч входных данных обеспечило точное составление рецептов только в половине (50,76 процентов) случаев.
Авторы новой работы представили Recipe1M – открытую базу данных, содержащую один миллион рецептов с различных кулинарных сайтов с названием блюда, его фотографией, списком ингредиентов, инструкцией по приготовлению, а также типом блюда.
На собранной базе данных исследователи обучили нейросеть, которая получает на вход изображение блюда и выводит список ингредиентов и инструкцию по приготовлению. Она может работать и наоборот: выводить изображение блюда, получая на вход его рецепт.
Нейросеть работает по принципу совместного вложения: разбивая рецепт на вектора с ингредиентами и инструкцией приготовления, нейросеть сопоставляет его с изображением максимально соответствующего рецепту блюда, которое, в свою очередь, сравнивается с данным ей на вход посредством линейного трансформирования.
Обучив нейросеть, исследователи провели испытания ее работы и сравнили с результатами опроса, в ходе которого просили обычных людей соотнести изображение блюда с одним рецептом из представленных десяти: точность нейросети при составлении рецептов равняется 83,6 процента, в то время как люди правильно определяли рецепт блюда в 81,6 проценте случаев.