- [’17 Nucleic Acids Research] FlavorDB: a database of flavor molecules
- [’17 CVPR] Learning Cross-modal Embeddings for Cooking Recipes and Food Images
- [’19 IJCAI] KitcheNette: Predicting and Recommending Food Ingredient Pairings using Siamese Neural Networks
- [’21 Nature Scientific Reports] FlavorGraph: a large‑scale food‑chemical graph for generating food representations and recommending food pairings
- [’24 Nature Communications] Predicting and improving complex beer flavor through machine learning
- [’24 NeurIPS] SMELLNET: A Large-scale Dataset for Real-world Smell Recognition
1. 들어가며
이번 글에서는 2017년 CVPR에 발표된 Im2Recipe 논문의 주요 내용을 살펴봅니다. 논문의 전체 제목은 Learning Cross-modal Embeddings for Cooking Recipes and Food Images인데요. 제목에서 알 수 있듯이, 이 연구는 요리 레시피(텍스트)와 음식 이미지(비전 데이터)를 함께 이해할 수 있는 모델을 제안합니다. 즉, 사람이 “이 음식은 어떤 재료로 만들어졌을까?”라고 직관적으로 연상하듯, 머신러닝 모델이 이미지를 보고 대응되는 레시피를 찾아내거나, 반대로 레시피를 보고 음식 이미지를 유추할 수 있도록 학습시키는 것입니다.
이 연구가 흥미로운 이유는, 단순히 음식 이미지를 분류하거나 맛을 예측하는 수준을 넘어 ‘음식의 의미를 이해하는 모델’을 만들었다는 점에 있습니다. 음식은 문화, 재료, 조리 과정이 복잡하게 얽힌 대상이기 때문에 컴퓨터 비전 입장에서는 재료의 가림(occlusion)이나 형태 변형(deformation)처럼 매우 까다로운 문제를 포함하고 있습니다. 그럼에도 불구하고 저자들은 요리 웹사이트에 존재하는 방대한 데이터, 즉 재료·조리법·이미지가 함께 있는 구조화된 데이터를 이용해 음식을 텍스트와 이미지라는 두 언어로 동시에 이해할 수 있는 임베딩 공간을 학습했습니다.
이 논문의 핵심은 크게 세 가지로 나눌 수 있습니다.
첫째, 연구를 가능하게 한 대규모 데이터셋인 Recipe1M의 구축입니다.
둘째, 레시피와 이미지를 함께 학습시키는 크로스모달 임베딩 모델(joint embedding model)의 제안입니다.
셋째, 이러한 모델이 실제로 얼마나 의미 있는 결과를 내는지를 보여주는 retrieval 기반 실험입니다.
특히, 단순히 분류 정확도만을 높이는 것이 아니라, “이미지와 텍스트가 같은 의미 공간 안에서 얼마나 가까이 정렬되는가?”에 초점을 두고 있다는 점이 인상적입니다.
이번 글에서는 논문의 내용을 세 가지 축으로 정리해보겠습니다.
먼저, Recipe1M 데이터셋의 구성과 특징을 살펴봅니다.
이후, 텍스트와 이미지를 하나의 공통 공간에 매핑하는 Im2Recipe 모델 구조를 분석합니다.
마지막으로, 제안된 모델의 성능과 임베딩 공간이 실제로 어떤 의미적 특성을 갖는지를 실험 결과를 통해 살펴보겠습니다.
이 과정을 통해, 단순한 음식 분류를 넘어 ‘음식을 이해하는 모델’이 어떻게 만들어질 수 있는지 살펴보려 합니다.
2. Recipe1M
먼저 데이터셋 내용을 살펴보겠습니다. FoodTech에 딥러닝을 적용하기 위해 2017년도 당시에도 다양한 Food 관련 데이터셋들이 제안되고 있었는데요. 예를 들어 Food-101의 경우 음식 이미지와 카테고리 Label을 제공해주고 있습니다. 하지만 Food 도메인을 딥러닝 모델이 제대로 이해할 수준의 방대한양의 데이터셋은 전무한 상태였죠.
이에 Im2Recipe에서는 특정 요리의 레시피와 그 음식 이미지를 매칭한 방대한 데이터셋을 제작합니다. 우선 크기를 살펴보면 Recipe1M 이라는 이름에 걸맞게, 100만개 이상의 레시피와 80만개 이상의 음식 이미지를 포함하고 있습니다. 이는 기존의 최대 규모 데이터셋보다 레시피는 2배 이상, 이미지는 8배 이상 많은 수준입니다. 이로서 보다 딥러닝 모델이 사용하기 좋은 형태의 데이터셋이 나왔다고 할 수 있겠네요.
데이터는 모두 20개 이상의 인기 있는 요리 웹사이트로부터 크롤링을 통해 얻었습니다. 간단한 전후처리를 통해 json 형태로 저장했습니다. 이후 두개의 계층으로 나뉘어있는데요.
첫 번째는 기본 레이어입니다. 기본 레이어에서는 해당 요리의 제목, 재료 목록, 조리 단계 등이 포함되어 있습니다. 이들은 모두 텍스트 형태로 구성되어 있습니다.
두 번째는 확장 레이어입니다. 확장 레이어는 해당 레시피와 연결된 JPEG 이미지로 구성되어 있습니다. 그리고 일부 레시피는 카테고리 레이블 (예를 들어 에피타이저, 디저트 등) 을 포함하고 있습니다.
3. Im2Recipe 모델
논문에서는 데이터셋 뿐만 아니라, 이렇게 만든 데이터셋을 학습한 baseline 모델을 제안하고 있는데요. 기본적으로 텍스트 형태의 레시피와 이미지를 같이 align 해야 하기 때문에, 멀티모달 모델로 구성되어 있습니다. 핵심적인 내용만 보자면 아래 그림과 같은데요.
![['17 CVPR] Learning Cross-modal Embeddings for Cooking Recipes and Food Images 1 그림1. Im2Recipe 모델](https://ffighting.net/wp-content/uploads/2025/10/image-1-1024x328.png)
먼저 텍스트 형태는 모두 LSTM을 사용해 벡터화해주고 있습니다. 재료와 조리법을 모두 LSTM으로 벡터화 해준 뒤 이 둘을 Concat 하여 하나의 텍스트 모달리티를 대표하는 정보로 변환해줍니다. 그리고 음식 이미지는 VGG와 ResNet Architecture를 사용하여 Feature Embedding으로 변환해주고 있습니다.
![['17 CVPR] Learning Cross-modal Embeddings for Cooking Recipes and Food Images 2 그림2. Im2Recipe 모델 Architecture](https://ffighting.net/wp-content/uploads/2025/10/image-2-1024x489.png)
위 그림은 논문에서 사용한 Architecture 그림인데요. 텍스트 형태를 LSTM으로 변환하는 과정에 대해 더 자세히 설명하고 있습니다. 2017년 당시에는 너무 많은 양의 텍스트를 하나의 벡터로 변환하기가 어려웠어서, 두번으로 나누어 LSTM을 적용하고 있는 모습입니다.
이제 우리가 학습해야 하는건 이렇게 만든 텍스트 모달리티 정보와 이미지 모달리티 정보가 align 되도록 해주는 것인데요. Im2Recipe 논문에서는 크게 두가지 Loss를 제안합니다.
첫 번째는 Cosine Similarity Loss입니다. 대표적인 Contrastive Learning 방법으로, Positive Pair는 가까이, Negative Pair는 멀리 위치시키도록 유도해줍니다.
두 번째는 Regularization 항입니다. 첫 번째 Loss만 존재할경우 Contrastive Learning 특성상 학습이 어려울텐데요. 이를 보완하기 위한 항입니다. 레시피와 이미지에 공통 Fully Connected Layer를 사용하여 음식 카테고리 Label을 맞추도록 Cross Entropy Loss로 학습해줍니다.
4. Experiments
이제 이렇게 제안한 데이터셋과 모델을 사용한 실험 결과를 살펴보겠습니다.
4-1. Im2Recipe Retrieval
첫 번째는 Retrieval 실험입니다. 즉 이미지를 입력 받아 이 이미지에 해당하는 Recipe를 찾고, 반대로 Recipe를 입력 받아 이에 해당하는 Image를 얼마나 잘 찾는지에 대한 실험입니다.
![['17 CVPR] Learning Cross-modal Embeddings for Cooking Recipes and Food Images 3 그림3. Im2Recipe Retrieval 실험 결과](https://ffighting.net/wp-content/uploads/2025/10/image-3-1024x293.png)
위 표는 Retrieval 실험 결과를 보여주고 있는데요. 애초에 이 모델이 Baseline에 해당하므로, 기존 방법과 비교하는건 큰 의미는 없을것 같고, 대략 어느정도의 성능이 나오는지 정도 확인해보면 좋을텐데요. R10 기준으로 65% 정도의 정확도를 보여주고 있습니다. R10으로 65% 정도면 아직 실제 어플리케이션에서 사용할 수 있는 수준은 아님을 알 수 있습니다.
![['17 CVPR] Learning Cross-modal Embeddings for Cooking Recipes and Food Images 4 그림4. Retrieval 예시](https://ffighting.net/wp-content/uploads/2025/10/image-4.png)
위 그림은 실제 검색된 결과를 보여줍니다.
4-2. Comparison with human performance
이어서 사람과 비교해본 결과를 보겠습니다.
![['17 CVPR] Learning Cross-modal Embeddings for Cooking Recipes and Food Images 5 그림5. 사람과의 성능 비교 결과](https://ffighting.net/wp-content/uploads/2025/10/image-5-1024x195.png)
카테고리에 따라 조금씩 다르긴 하지만, 사람과 비슷하거나 조금 더 높은 수준을 보여주고 있습니다. 이때의 사람 성능은 훈련된 사람은 아닌, 일반적인 사람이겠지만, 이정도면 제법 훌륭한 결과로 보이네요.
4-3. Analysis of the learned embedding
다음은 모델이 각 unit별 정말 비슷한 의미를 찾고 있는지에 대한 실험 결과를 살펴보겠습니다. GradCAM 방식으로 유닛별 activation 결과에 따라 어떤 이미지, 텍스트에서 반응하고 있는지를 분석해봤는데요.
![['17 CVPR] Learning Cross-modal Embeddings for Cooking Recipes and Food Images 6 그림6. Learned Embedding 분석](https://ffighting.net/wp-content/uploads/2025/10/image-6-1024x495.png)
위 그림처럼 특정 유닛별로 그림, 스테이크 등 비슷한 의미에서 잘 반응하는 모습입니다.
5. 마치며
Im2Recipe 논문은 단순한 음식 인식 연구를 넘어, “음식을 이해하는 인공지능”의 가능성을 보여준 중요한 출발점이었습니다. 이전까지의 연구가 “이 음식이 무엇인가(What)”에 초점을 맞췄다면, 이 논문은 “이 음식이 어떻게 만들어졌는가(How)”를 다루며 텍스트와 이미지를 결합한 지식적 이해(semantic understanding)의 단초를 마련했습니다.
무엇보다 Recipe1M 데이터셋의 공개는 이후 수많은 연구의 기반이 되었습니다. 단순히 데이터의 크기가 크다는 점을 넘어,
“하나의 음식 단위로 레시피 텍스트와 이미지가 정합되어 있는 구조”는 멀티모달 표현 학습(multimodal representation learning)의 실험장으로 기능했습니다. 이 데이터셋 덕분에 음식이라는 복잡한 도메인에서도
이미지와 텍스트가 서로 의미적으로 대응하는 임베딩을 학습할 수 있음을 처음으로 증명했죠.
또한, 논문에서 제안한 joint embedding 모델은 오늘날의 CLIP(Contrastive Language-Image Pretraining) 같은 대규모 멀티모달 모델의 초기 형태로 볼 수 있습니다. 이미지와 텍스트를 코사인 유사도로 정렬하고, semantic regularization을 통해 의미적 일관성을 높이는 접근은 이후의 contrastive learning, cross-modal retrieval 연구로 이어졌습니다. 즉, Im2Recipe는 “음식”이라는 특수한 도메인을 넘어 멀티모달 학습의 보편적 아이디어를 제시한 선구적 연구라고 할 수 있습니다.
![['17 CVPR] Learning Cross-modal Embeddings for Cooking Recipes and Food Images 7 Aragon Headshot Jongyub Seok 26](https://ffighting.net/wp-content/uploads/2025/10/Aragon-Headshot-Jongyub-Seok-26.jpg)


![['17 Nucleic Acids Research] FlavorDB: a database of flavor molecules 8 flavorDB](https://ffighting.net/wp-content/uploads/2025/10/image.png)
![['19 IJCAI] KitcheNette: Predicting and Recommending Food Ingredient Pairings using Siamese Neural Networks 9 KitcheNette Architecture](https://ffighting.net/wp-content/uploads/2025/10/image-7-1024x461.png)