1 points par GN⁺ 4 시간 전 | 1 commentaires | Partager sur WhatsApp
  • Epicure est un modèle ayant appris des embeddings de 1 790 ingrédients standard en 300 dimensions à partir de 4,14 M de recettes et des données de composés de FlavorDB
  • Il a été conçu pour réduire les problèmes du corpus centré sur l’anglais de FlavorGraph, du mélange fixe chimie-recettes et du vocabulaire d’ingrédients fragmenté
  • Cooc, Chem et Core comparent le poids relatif de la cooccurrence dans les recettes et des signaux chimiques en ne changeant que le schéma de marche aléatoire au sein d’une même structure
  • Les trois embeddings reconstruisent linéairement 27 directions sensorielles et nutritionnelles et 8 grandes régions culinaires, et obtiennent 20 facteurs de manière non supervisée
  • Avec les plus proches voisins et l’arithmétique directionnelle SLERP, il est possible d’explorer les ingrédients, par exemple en faisant pivoter rice vers une direction sud-asiatique, mais le code et les artefacts ne sont pas publiés

L’objectif d’Epicure

  • Les embeddings d’ingrédients servent de base pour trouver les affinités entre ingrédients, les ingrédients similaires selon les cultures culinaires, ainsi que leur position sur des axes sensoriels et nutritionnels
    • Le type de connaissance selon lequel le doenjang s’accorde avec le mirin, le dashi et l’huile de sésame, tandis que l’huile d’olive s’accorde avec le basilic, la tomate et le prosciutto, s’est accumulé dans des corpus de recettes issus de multiples cultures et dans l’intuition des chefs
    • Ils peuvent être utilisés pour des outils d’aide aux menus et aux recettes, des recommandations basées sur les ingrédients disponibles, l’exploration de correspondances entre ingrédients méditerranéens et ingrédients d’Asie de l’Est, ou encore des recherches guidées par des axes comme la sensation de gras, la fermentation, l’amertume ou la haute teneur en protéines
  • Les travaux antérieurs ont évolué entre réseaux de saveurs fondés sur la chimie et approches basées sur les recettes et les graphes de connaissances
    • Ahn et al. [2011] ont introduit le réseau de saveurs et montré que des différences culturelles apparaissent dans les composés partagés
    • FlavorDB de Garg et al. [2017] a catalogué les molécules aromatiques de 936 entités alimentaires, tandis que FooDB a étendu la couverture chimique à 70 000 composés
    • FlavorGraph [Park et al., 2021] est un embedding alimentaire public appris avec Metapath2Vec à partir d’un graphe hétérogène combinant FlavorDB et Recipe1M+, avec 6 653 ingrédients et 1 645 composés
    • FoodKG [Haussmann et al., 2019] intègre recettes, nutrition et données d’ontologie dans un graphe de connaissances RDF à des fins de recommandation

Les limites de FlavorGraph et la conception d’Epicure

  • Une analyse antérieure a confirmé, dans l’embedding 300 dimensions de FlavorGraph, plus de 15 dimensions culinaires interprétables incluant le goût, la texture, la nutrition, la géographie, la culture et la transformation, et a montré qu’une intégration lexicale renforcée par LLM amplifiait la plupart des signaux
  • Le préapprentissage figé de FlavorGraph présentait trois limites
    • dépendre d’un seul corpus centré sur l’anglais
    • fusionner les signaux chimiques et les signaux contextuels issus des recettes dans un biais inductif fixe, difficile à ajuster comme axe de conception
    • conserver une structure fragmentée dans le vocabulaire des ingrédients, mélangeant détails de préparation et éléments non alimentaires
  • Pour réduire ces limites, Epicure est constitué de trois embeddings d’ingrédients skip-gram jumeaux réentraînés depuis zéro
    • 4,14 M de recettes ont été collectées depuis 11 sources
    • la couverture linguistique comprend l’anglais, le chinois, le russe, le vietnamien, l’espagnol, le turc, l’indonésien, l’allemand et l’Indian English
    • les chaînes d’ingrédients brutes ont été normalisées en 1 790 entrées d’ingrédients standard via un pipeline enrichi par LLM
    • les trois modèles partagent architecture et hyperparamètres, et ne diffèrent que par le schéma de marche aléatoire vu par l’objectif skip-gram

Les données et les trois embeddings

  • Epicure prend comme point de départ deux types de graphes
    • le graphe NPMI ingrédient-ingrédient se compose de 203 508 arêtes
    • le graphe ingrédient-composé de FlavorDB se compose de 80 019 arêtes et comprend 2 247 nœuds de composés typés répartis en 15 catégories
  • Les trois variantes de Metapath2Vec occupent des positions différentes sur le spectre entre chimie et contexte des recettes
    • Cooc

      • modèle qui ne parcourt que le graphe de cooccurrence des recettes
      • il se concentre sur le signal contextuel des ingrédients apparaissant ensemble dans de vraies recettes
    • Chem

      • modèle qui ne parcourt que des métapaths de composés typés
      • il se concentre sur le signal chimique issu des relations entre ingrédients et composés
    • Core

      • utilise à la fois des chemins fondés sur les composés et des chemins ingrédient-ingrédient
      • injecte des marches ingrédient-ingrédient avec un ratio de mélange contrôlé afin de combiner signal chimique et signal contextuel des recettes
      • cette configuration fait apparaître, dans les mêmes données d’entrée et la même structure d’apprentissage, le poids relatif chimie vs contexte des recettes comme un axe de conception
      • les différences entre les trois modèles jumeaux ont été conçues pour ne provenir que du schéma de marche aléatoire
      • les différences de propriétés des embeddings peuvent ainsi être comparées comme effet du schéma de marche, et non des données d’entrée

Le sens culinaire reconstruit dans l’espace d’embedding

  • Les trois modèles Epicure reconstruisent linéairement, dans des probes supervisés, 27 directions sensorielles et nutritionnelles continues et 8 grandes régions culinaires
    • la moyenne du Cohen’s d pour la séparabilité des cuisines est de 2,43/2,70/3,07 pour Cooc/Core/Chem
    • l’éventail des probes inclut cuisine, groupe alimentaire, degré de transformation NOVA, macronutriments USDA et 19 catégories sensorielles
  • L’analyse non supervisée reconstruit 20 facteurs interprétables dans chaque modèle
    • elle applique FastICA multi-seed stable sur des embeddings résidualisés par groupe alimentaire
    • en segmentant les éléments du quartile supérieur de chaque facteur avec un GMM, on obtient 150 à 200 modes culinaires nommés par modèle
  • La cohérence moyenne des modes GMM était supérieure à celle d’une baseline de paires aléatoires
    • la cohérence moyenne de Cooc/Core/Chem est de 0,611/0,833/0,703
    • les baselines correspondantes de paires aléatoires sont de 0,097/0,348/0,115
  • Le point de vue des travaux antérieurs sur les embeddings a aussi servi à la validation
    • la perspective de directionnalité linéaire de word2vec de Mikolov et al. [2013] sert de base aux 27 probes culinaires supervisés, aux 20 facteurs FastICA et aux opérations de rotation SLERP
    • suivant la perspective d’isotropie de Mu et al. [2017], l’isotropie des embeddings est mesurée directement via le participation ratio et la moyenne des cosinus par paires
    • les trois modèles jumeaux occupent des positions nettement différentes sur le spectre d’isotropie, ce qui est traité comme une propriété du schéma de marche et non des données d’entrée
    • le WEAT de Caliskan et al. [2017] est utilisé comme validation complémentaire pour diagnostiquer si les axes sémantiques nommés se reflètent dans la structure géométrique

Opérations d’exploration et possibilités d’usage

  • Epicure fournit deux familles d’opérations complémentaires dans le même espace d’embedding à 300 dimensions
    • Appariement par plus proches voisins

      • la recherche des top-K voisins permet de trouver les éléments proches autour d’un ingrédient
      • la consultation de l’appartenance à un mode permet d’explorer les éléments appartenant à un mode culinaire donné
    • Arithmétique directionnelle SLERP

      • elle fait pivoter un ingrédient seed vers un vecteur pôle supervisé ou vers un pôle facteur-mode émergent
      • l’angle continu θ interpole entre une recherche dominée par le seed et une recherche dominée par la cible
      • par exemple, ajouter une direction sud-asiatique à rice le déplace vers curry leaf, urad dal, chana dal et fenugreek seed
      • les directions sémantiques supervisées comme les modes émergents non supervisés peuvent toutes servir à l’exploration d’ingrédients
      • un outil pour chefs pourrait permettre de faire pivoter, mélanger et rechercher des ingrédients tout en explorant des directions cohérentes sur les plans sensoriel, nutritionnel et culturel
      • les relations fondées sur la chimie et celles fondées sur le contexte des recettes peuvent être réglées via le choix du modèle et le schéma de marche
      • le code et les artefacts entraînés ne sont actuellement pas publics

1 commentaires

 
GN⁺ 4 시간 전
Avis sur Hacker News
  • La recherche elle-même est intéressante, mais le titre est trompeur
    Un meilleur titre serait sans doute quelque chose comme « compresser les ingrédients utilisés par les humains en 1 800 éléments primitifs »
    Il y a très peu d’informations sur les recettes proprement dites, c’est-à-dire les méthodes de préparation ou les proportions, mais des informations du type les tomates s’accordent bien avec le bœuf à l’échelle mondiale peuvent être une ressource assez utile et intéressante pour créer des associations de saveurs

    • Il existe un excellent livre sur les cartes d’associations de saveurs : The Flavor Bible
      Il ne couvre pas toutes les combinaisons possibles entre 1 800 ingrédients, mais traite assez bien les herbes, épices, légumes et viandes les plus courants. Même en compressant ce livre, la taille du texte ne serait probablement pas si grande
      Le problème des recettes générées par des LLM, c’est qu’elles passent à côté des subtilités des techniques de cuisson. La réussite dépend souvent d’une seule étape ou d’une seule proportion, et par exemple il existe d’innombrables variantes de « poulet frit » dans le monde, mais faire la moyenne des recettes ne produira pas pour autant un bon poulet frit
    • Sauf erreur de ma part, rien dans l’article ne semble démontrer que cela couvre les ingrédients de toute l’humanité
      Les 11 sources de données couvrent plusieurs cuisines courantes, mais les sources en anglais et en chinois représentent 90 % du jeu de données. L’Afrique et le monde arabe sont également absents des données, et à eux deux ils représentent déjà environ 25 % de la population mondiale
      Le fait d’avoir tout traduit en anglais depuis des termes non anglophones via l’IA est compréhensible sur le plan méthodologique, mais laisse clairement place à des erreurs
    • Il m’est déjà arrivé de sauver un ragoût de bœuf pour 12 personnes en ajoutant de la sauce tomate
      Le bœuf devient coriace quand on le fait mijoter de travers, mais l’acidité de la tomate peut le rendre plus tendre à nouveau
    • Si ce sujet vous intéresse, cet article vaut aussi le détour : https://www.nature.com/articles/srep00196
    • Les tomates contiennent beaucoup de glutamate, ce qui renforce encore davantage la saveur du bœuf
  • Intéressant
    J’essaie de compresser des recettes en petits schémas : https://leontrolski.github.io/recipes.html

    • J’aime bien. Ça me rappelle un peu le format tabulaire de Cooking for Engineers. On peut le voir en allant tout en bas de la recette : https://www.cookingforengineers.com/recipe/19/Erics-Chocolat...
    • Sympa. Ça me fait penser à https://www.reddit.com/r/flowchartrecipes/ et au format d’affichage en tableau de https://www.cookingforengineers.com/recipe/87/Carrot-Pulp-Ca...
    • Ah, des fiches de recettes en graphe de dépendances. C’est vraiment bien
      J’ai toujours imaginé quelque chose comme ça, et ça m’a toujours agacé de voir des recettes dérouler les ingrédients en une énorme liste sans structure, puis dire « mélangez les ingrédients secs dans un grand bol »
      Pendant un temps, je pensais qu’une bonne implémentation de ce genre pourrait être rentable, mais aujourd’hui j’ai l’impression qu’une fois qu’une interface convaincante existera, elle sera facilement copiée
    • C’est vraiment un super site. J’ai aimé les graphes dessinés à la main
      Le tableau me rappelle les recettes de Modernist Cuisine. Là aussi, les ingrédients sont regroupés par étape, avec les poids, parfois les volumes et même les proportions
      Exemple : https://modernistcuisine.com/wp-content/uploads/2013/01/Mac-...
    • J’aime vraiment beaucoup cette approche. Je pense qu’il y aurait moyen de réussir avec un grand livre de recettes en schémas, lisible de loin pendant qu’on travaille en cuisine
  • Pour information, l’intégralité de https://publicdomainrecipes.com est disponible sur https://browse.library.kiwix.org sous forme d’un fichier unique de 22MiB : https://browse.library.kiwix.org/viewer#publicdomainrecipes....
    On peut ajouter des recettes sur https://github.com/ronaldl29/public-domain-recipes

  • Si l’on parle de « 11 sources dans 7 langues, dont l’anglais, le chinois, le russe, le vietnamien, l’espagnol, le turc, l’indonésien, l’allemand et l’anglais indien », il est difficile d’appeler cela la cuisine de toute l’humanité

    • Cela représente quand même environ 70 % de la population mondiale actuelle. Ce n’est pas 100 %, mais cela couvre tout de même une grande partie des grands ensembles
      Cela dit, des cuisines mondialement très populaires comme la cuisine italienne, japonaise, grecque et mexicaine manquent, et il n’y a absolument rien sur l’Afrique et le Moyen-Orient, donc c’est incomplet
    • Oui. À en juger par le corpus, presque la moitié des recettes relèvent du chinois/coréen
      L’article le reconnaît d’ailleurs rapidement, mais ce n’est clairement pas un jeu de données équilibré
  • Dans [1], on peut voir une démo qui ressemble à une itération précédente de ce que décrit cet article
    Comme je me demandais quels ingrédients la démo avait sélectionnés, j’ai testé quelques ingrédients peu familiers tirés de Organum: Nature, Texture, Intensity, Purity de Peter Gilmore[2]. Il est connu pour le restaurant Quay à Sydney, en Australie
    Il connaît des ingrédients assez audacieux comme les baies de genièvre, la macadamia, les graines de nigelle, l’eau de fleur d’oranger et la verveine citronnée, et fait même la distinction entre l’huile de sésame et l’huile de sésame grillé. Bien que la liste d’ingrédients ne contienne que « riz », « riz noir », « riz complet » et « riz gluant », si l’on choisit « riz », il est suffisamment malin pour recommander d’utiliser du riz au jasmin cuit puis refroidi pour un riz sauté, et de faire tremper puis rincer du riz basmati pour un pilaf
    Si l’on choisit « agneau » avec des légumes couramment utilisés pour le braisage, il suggère des morceaux comme l’épaule ou le jarret
    En revanche, il ne connaît ni l’huile de pépins de raisin, ni l’orzo, ni le mangoustan, ni le lemon myrtle, et ignore naturellement aussi des ingrédients comme le karkalla, qu’utiliserait sans doute Peter Gilmore mais dont la plupart des chefs n’ont probablement jamais entendu parler. Mais comme ce sont des ingrédients très régionaux ou spécialisés, je ne considère pas cela comme une grosse limite
    Il connaît « pumpkin seeds », mais pas « pumpkin », qu’il traite comme « squash » ; il faudrait donc davantage de localisation pour mieux gérer l’anglais britannique et américain. J’espérais qu’en combinant « agneau » et « avocat », il proposerait une salade, mais échec ; en regardant ensuite, j’ai vu que la liste d’ingrédients ne contenait ni laitue ni roquette, seulement l’expression américaine « salad greens ». J’ai essayé aussi avec d’autres ingrédients de salade, avec du poulet, ou même sans protéine, mais il n’a jamais produit de salade et a continué à générer de faux plats gastronomiques avec de la gelée de tomate (agar) et de la purée d’avocat autour d’un bloc de protéine
    [1] https://epicure.kaikaku.ai/
    [2] https://en.wikipedia.org/wiki/Peter_Gilmore_(chef)

    • Le fait que « pumpkin » soit « squash » est un problème bien plus important qu’une simple différence de vocabulaire
      Du point de vue américain, il existe plusieurs types de squash d’usage courant, et pumpkin n’en est qu’un. Ceux qui me viennent à l’esprit sont acorn, butternut et spaghetti ; si on veut être rigoureux, zucchini en fait aussi partie
  • J’ai vu ça sur X/Twitter, et j’ai du mal à croire qu’on puisse compresser 2 mégaoctets de cuisine humaine — avec toutes les techniques, tous les ingrédients et tous les modes de préparation selon les contextes culturels
    C’est un peu comme quand on essaie un « modèle de 1 GB capable d’appeler des outils et de coder » et qu’en pratique il fonctionne à peine. Techniquement, c’est bien un modèle de code de 1 GB, mais ce n’est pas pour autant un bon modèle

    • L’espace des aliments humains mangeables est petit. Il n’y a que quelques milliers d’ingrédients et quelques milliers de techniques de cuisson, donc on peut facilement le compresser dans un modèle haute fidélité
  • J’ai du mal à faire confiance à un modèle/corpus culinaire qui inclut l’anglais et l’allemand, mais exclut l’italien et le français

    • Le tableau mentionne pourtant plusieurs cuisines, dont l’italienne et la française. La liste des 11 sources est classée par langue
      Il manque peut-être les recettes réellement écrites en français, mais il doit certainement y avoir des recettes de soupe à l’oignon française en anglais
  • Il est écrit que « [Claude] a effectué toute la classification des ingrédients avec un décodage déterministe (temperature 0–0.1) », mais même si ce n’est pas un gros problème dans ce contexte, une temperature basse n’implique pas à elle seule un comportement déterministe

    • Exact. Une temperature à 0 n’est ni une condition nécessaire ni une condition suffisante pour un raisonnement déterministe
  • En dehors du clickbait, le concept est assez intéressant. Je me demande si ce type d’embedding pourrait offrir un moment word2vec pour les ingrédients ou les profils de saveur
    Comme d’autres l’ont bien souligné, on pourrait le refaire avec des sources de données plus représentatives, et j’ai hâte de voir ce que cette approche pourrait donner

  • J’ai essayé de le faire implémenter dans Claude Code avec les données et informations concernées, et cela a l’air plutôt correct
    Cela conviendrait peut-être mieux aux recommandations d’ingrédients de substitution qu’à la génération de recettes : https://viz.roshangeorge.dev/recipe-model/