Чому трекери калорій лише на основі ШІ не працюють без бази даних продуктів

Трекери калорій на основі ШІ без перевіреної бази даних продуктів — це машини для оцінки, які генерують цифри з ймовірнісних розподілів, а не з перевірених даних. Досліджте п'ять структурних недоліків моделі, що працює лише на ШІ, і чому трекери, підтримувані базами даних, такими як Nutrola, не мають таких обмежень.

Medically reviewed by Dr. Emily Torres, Registered Dietitian Nutritionist (RDN)

Трекери калорій лише на основі ШІ мають структурні обмеження, які не можна подолати за допомогою покращення машинного навчання. Обмеження не в самій технології ШІ — згорткові нейронні мережі та трансформери зору досягли дійсно вражаючих рівнів розпізнавання їжі. Проблема полягає в тому, що відбувається після ідентифікації: звідки береться число калорій.

Без перевіреної бази даних продуктів ШІ генерує оцінки калорій на основі своєї внутрішньої моделі — ймовірнісних розподілів, які навчена нейронна мережа. З перевіреною базою даних ШІ ідентифікує їжу, а база даних надає фактичні дані про харчування, отримані з лабораторного аналізу та стандартизованих досліджень складу продуктів. Це не незначна технічна різниця. Це різниця між освіченим припущенням і перевіреним вимірюванням.

П'ять структурних недоліків трекінгу лише на основі ШІ

Недолік 1: Відсутність перевірених даних про харчування для порівняння

Коли трекер лише на основі ШІ, такий як Cal AI або SnapCalorie, оцінює, що ваша страва містить 520 калорій, звідки береться це число?

Це число походить з навченої нейронною мережею репрезентації того, що зазвичай містять подібні страви. Під час навчання модель обробила мільйони зображень їжі, пов'язаних з етикетками калорій. Вона навчилася статистичних асоціацій: страви, які виглядають так, зазвичай мають калорійні значення в цьому діапазоні. Вихід — це точкова оцінка з ймовірнісного розподілу — по суті, найкраще припущення моделі на основі візуальної схожості з прикладами навчання.

Це принципово відрізняється від того, як працює трекер з базою даних. Коли ШІ Nutrola ідентифікує вашу страву як "куряча грудинка на грилі з паровим рисом і броколі", вона запитує перевірену базу даних з 1,8 мільйона або більше записів. Дані про калорії походять з USDA FoodData Central, національних баз даних складу продуктів та перевірених даних виробників. 165 калорій на 100 г для курячої грудинки — це не статистична оцінка, а аналітично визначене значення з дослідження складу продуктів.

Ця різниця важлива, оскільки статистичні оцінки мають вбудовану варіацію. Та сама модель може давати різні оцінки калорій для однієї й тієї ж страви в залежності від умов фотографії. Аналітично визначені значення є фіксованими та відтворюваними.

Недолік 2: Оцінка порцій — це чиста здогадка ШІ

Оцінка порцій є найслабшою ланкою в скануванні їжі за допомогою ШІ, і без бази даних немає якоря для її корекції.

Оцінка порцій ШІ з 2D-фотографій використовує дві основні стратегії. Перша — це розмір, відносний до тарілки: ШІ припускає стандартний діаметр тарілки (зазвичай 26-28 см) і розраховує площу їжі як частку площі тарілки. Друга — це навчальні пріоритети: під час навчання модель дізналася, що "типова порція рису" займає певний візуальний простір і містить приблизно певну кількість калорій.

Обидві стратегії призводять до значних помилок. Дослідження 2023 року в International Journal of Behavioral Nutrition and Physical Activity показало, що оцінка порцій ШІ з 2D-зображень мала середню абсолютну помилку 25-40% за вагою, що перетворюється на пропорційні помилки в калоріях.

3D-сканування LiDAR SnapCalorie зменшує цю помилку для видимих поверхонь їжі, вимірюючи об'єм, а не покладаючись на 2D-оцінку. Це справжня технологічна перевага для продуктів, де об'єм корелює з калоріями (рис, паста, каші). Однак це не допомагає для калорійно щільних продуктів, де невеликий об'єм містить багато калорій (горіхи, олії, сир), і не може вимірювати занурені або приховані інгредієнти.

З перевіреною базою даних оцінка порцій має якорі. База даних містить стандартні розміри порцій — "один середній банан, 118 г" або "одна чашка вареного білого рису, 186 г", які користувач може вибрати або відкоригувати. Розрахунок калорій тоді використовує перевірену калорійність (калорії на грам) помножену на оцінену порцію, а не прямий вихід калорій з нейронної мережі. Це розділення змінних (розмір порції помножити на перевірену калорійність) є більш точним і легшим для корекції, ніж одна непрозора оцінка калорій.

Недолік 3: Відсутність даних про поживні речовини, окрім основних макроелементів

Трекери лише на основі ШІ зазвичай надають чотири значення: калорії, білки, вуглеводи та жири. Деякі додають клітковину та цукор. І це все.

Це не обмеження функцій — це архітектурна неможливість. Жоден ШІ не може визначити з фотографії, скільки заліза, цинку, вітаміну B12, калію, натрію, кальцію, магнію, фосфору, селену, вітаміну A, вітаміну C, вітаміну D, вітаміну E, вітаміну K, фолієвої кислоти, ніацину, рибофлавіну, тіаміну або пантотенової кислоти містить страва. Ці значення не мають надійної візуальної кореляції. Куряча грудинка та блок тофу можуть виглядати досить схоже, щоб заплутати ШІ, але їхні профілі заліза, B12 та цинку кардинально відрізняються.

Комплексне відстеження поживних речовин вимагає бази даних. Nutrola відстежує понад 100 поживних речовин для кожного запису їжі, оскільки кожен запис отримується з баз даних складу продуктів, які включають лабораторно проаналізовані профілі мікроелементів. Коли ви реєструєте "куряча грудинка, 150 г" з перевіреної бази даних, ви отримуєте не лише калорії та макроелементи, а й повний профіль харчування, включаючи всі вітаміни, мінерали та слідові елементи, які були аналітично визначені для цієї їжі.

Це важливо для трьох груп користувачів. Люди, які управляють медичними станами (діабет: відстеження типів вуглеводів; гіпертонія: відстеження натрію; захворювання нирок: відстеження калію та фосфору). Люди, які оптимізують спортивні результати (залізо для витривалих спортсменів, кальцій та вітамін D для здоров'я кісток, вітаміни групи B для метаболізму енергії). Люди, які вирішують проблеми з харчуванням, виявлені за допомогою аналізу крові (анемія, викликана дефіцитом заліза; недостатність вітаміну D; дефіцит B12).

Для всіх трьох груп трекінг лише на основі ШІ структурно не здатний надати необхідні дані.

Недолік 4: Непослідовні результати для однієї й тієї ж страви

Особливо розчаровуючий недолік трекінгу лише на основі ШІ — це непослідовність. Одна й та ж страва, сфотографована в трохи різних умовах, може давати помітно різні оцінки калорій.

Це відбувається тому, що нейронні мережі чутливі до варіацій вхідних даних, які люди вважають незначними. Дослідження 2022 року в Computer Vision and Image Understanding показало, що впевненість у розпізнаванні їжі знизилася на 8-15%, коли ту ж страву фотографували на різному фоні, а оцінки калорій варіювалися на 10-25%, коли умови освітлення змінювалися з природного на штучне.

У практичному сенсі це означає, що ваша ранкова каша може бути зареєстрована як 310 калорій у понеділок (сфотографована біля вікна) і 365 калорій у середу (сфотографована під кухонними світлами). Жодне з цих чисел не є перевірено правильним, і непослідовність підриває аналіз тенденцій. Якщо ваш вівторок виглядає як сплеск калорій, чи це тому, що ви з'їли більше, чи тому, що ШІ обробив фотографію інакше?

Трекінг з базою даних усуває цю проблему. Як тільки ви ідентифікуєте та виберете "каша з бананом та медом, 350 г" з перевіреної бази даних, цей запис завжди надає однакові харчові значення, незалежно від того, як його сфотографували. База даних є детермінованою; нейронна мережа — стохастичною.

Недолік 5: Відсутність навчання з корекцій

Коли трекер лише на основі ШІ помиляється в оцінці страви, і ви вручну коригуєте кількість калорій, що відбувається з цією корекцією? У більшості випадків — нічого. Модель ШІ не навчається на індивідуальних корекціях користувача. Вона продовжує генерувати той самий тип оцінки для того ж типу страви. Ваша корекція виправила один запис, але не покращила майбутні оцінки.

Деякі системи ШІ дійсно реалізують налаштування на рівні користувача або пам'ять корекцій, але це створює іншу проблему: самі корекції не є перевіреними. Якщо ви коригуєте страву з оцінки ШІ 400 до вашої оцінки 500, система тепер навчається на вашій оцінці, яка також може бути неправильною. Ви навчаєте модель на неперевірених даних.

У системі з базою даних корекції проходять через перевірені записи. Коли ви коригуєте ідентифікацію страви в Nutrola, ви вибираєте інший перевірений запис бази даних — не ручне число. Корекція прив'язується до перевірених даних, і точність системи покращується, оскільки замінні дані є надійними.

Проблема ймовірнісного розподілу

Щоб зрозуміти, чому оцінка калорій лише на основі ШІ є принципово обмеженою, розгляньте, що насправді обчислює нейронна мережа.

Коли ви подаєте фотографію страви трекеру калорій на основі ШІ, модель виводить ймовірнісний розподіл. Спрощено, він може виглядати так:

Оцінка калорій Упевненість моделі
350-400 кал 8% ймовірність
400-450 кал 22% ймовірність
450-500 кал 35% ймовірність
500-550 кал 25% ймовірність
550-600 кал 10% ймовірність

Система повідомляє пікове значення цього розподілу — в даному випадку, 450-500 калорій. Але фактичний вміст калорій може бути в діапазоні від 350 до 600, і модель буквально не може звузити його далі на основі лише візуальних даних. Розподіл упевненості широкий, оскільки фотографії за своєю природою є неоднозначними щодо розмірів порцій, прихованих інгредієнтів та методів приготування.

Перевірена база даних значно звужує цей розподіл. Як тільки ШІ ідентифікує "курка тикка масала з басматі", база даних надає:

  • Курка тикка масала: 170 кал на 100 г (аналітично визначено)
  • Басматі: 130 кал на 100 г (аналітично визначено)

Єдиною залишковою змінною є розмір порції, який користувач може оцінити або ШІ може приблизно визначити. Оцінка калорій тепер має одне джерело невизначеності (порція), а не три (ідентифікація, порція та калорійність). Розподіл помилок зменшується з плюс-мінус 25% до плюс-мінус 10%.

Як модель лише на основі ШІ порівнюється з гібридною моделлю

Параметр Модель лише на основі ШІ (Cal AI, SnapCalorie) Модель ШІ + база даних (Nutrola)
Джерело даних про калорії Ймовірнісна оцінка нейронної мережі Перевірена база даних (USDA, національні бази даних, дані виробників)
Основи точності Статистична асоціація з навчальних даних Аналітичні дані про склад продуктів
Обробка порцій ШІ оцінює порцію та калорії як один вихід ШІ оцінює порцію, база даних надає перевірену калорійність/грам
Глибина поживних речовин 4-6 поживних речовин (лише макроелементи) 100+ поживних речовин (макро-, мікроелементи, вітаміни, мінерали)
Послідовність Змінна (залежить від умов фотографії) Детермінована (прив'язана до запису бази даних)
Механізм корекції Введення ручного числа (неперевірене) Вибір запису перевіреної бази даних
Накопичення помилок Систематичне упередження накопичується протягом днів і тижнів Прив'язка до бази даних обмежує систематичний дрейф
Вартість $8-15/місяць €2.50/місяць після безкоштовного пробного періоду

Накопичена помилка за 30 днів

Невеликі щоденні помилки накопичуються в значні місячні розбіжності. Ось реалістична модель того, як трекінг лише на основі ШІ порівнюється з трекінгом на основі бази даних з часом.

Припущення: Користувач споживає 2000 фактичних калорій на день. Трекер лише на основі ШІ має середню помилку 15% з невеликою тенденцією до заниження (поширене в дослідженнях). Трекер на основі бази даних має середню помилку 6% без систематичного упередження.

Тиждень Накопичена помилка лише на основі ШІ Накопичена помилка на основі бази даних Різниця
Тиждень 1 (7 днів) -1,680 кал (занижено) +/-840 кал (випадковий напрямок) ~2,500 кал різниця
Тиждень 2 (14 днів) -3,360 кал +/-1,200 кал ~4,500 кал різниця
Тиждень 3 (21 днів) -5,040 кал +/-1,500 кал ~6,500 кал різниця
Тиждень 4 (30 днів) -7,200 кал +/-1,700 кал ~9,000 кал різниця

В кінці 30 днів користувач лише на основі ШІ безсвідомо занижує своє споживання приблизно на 7,200 калорій — еквівалент 2 фунтів жиру. Вони вважають, що були в дефіциті 500 калорій на день (15,000 калорій дефіциту за місяць). Насправді їх дефіцит становив лише 7,800 калорій — приблизно половину від того, що вони думали. Це пояснює, чому їхня вага показує 1 фунт втрати замість очікуваних 4 фунтів, і чому вони починають сумніватися, чи "калорії, що входять, калорії, що виходять", насправді працюють.

Користувач на основі бази даних має випадкові помилки, які не накопичуються в одному напрямку. Їх фактичний дефіцит приблизно 15,000 калорій плюс-мінус 1,700 близько відповідає їхнім очікуваним результатам, щоб підтримувати довіру до процесу.

Де трекери лише на основі ШІ заслуговують на визнання

Цей аналіз був би нечесним, якщо не визнати, що трекери лише на основі ШІ роблять добре.

Швидкість і простота. Процес Cal AI від фотографії до калорій швидший за будь-який процес ведення обліку на основі бази даних. Для користувачів, які надають перевагу швидкості над точністю, це справжня перевага. Деякий трекінг краще, ніж жоден, і швидкий, простий додаток використовується більш послідовно, ніж комплексний, але повільніший.

Новаторське розпізнавання їжі. Моделі ШІ можуть оцінювати калорії для продуктів, які можуть не бути в традиційній базі даних — домашня страва друга, вулична їжа з іншої культури або незвичайна комбінація продуктів. Оцінка може бути приблизною, але вона надає щось, де пошук у базі даних може повернути нульові результати.

Доступність. Сканування фотографій не вимагає знань про їжу. Вам не потрібно знати, що таке кіноа або скільки грамів на вашій тарілці. ШІ все обробляє. Це знижує бар'єр для трекінгу для новачків у харчуванні.

Інновації в оцінці порцій. Підхід SnapCalorie з 3D LiDAR представляє собою справжню інновацію в оцінці порцій, яка може врешті-решт покращити точність у всій галузі. Технологія вражаюча, навіть якщо поточний розрив у точності залишається значним.

Чому розрив у базі даних не можна вирішити кращим ШІ

Поширеним контраргументом є те, що точність ШІ покращиться, поки база даних не стане непотрібною. У цього аргументу є фундаментальна помилка.

Точність розпізнавання їжі ШІ обмежена інформаційним вмістом фотографій. Фотографія містить візуальні дані: колір, текстуру, форму, просторове розташування. Вона не містить даних про хімічний склад. Жодне покращення комп'ютерного зору не може визначити вміст натрію в супі за його зовнішнім виглядом або відрізнити 200-калорійну заправку від 40-калорійної на основі того, як вони блищать на салаті.

Стеля для оцінки калорій лише на основі ШІ обмежена кореляцією між візуальними ознаками та харчовим вмістом. Для деяких продуктів ця кореляція сильна (розмір банана надійно передбачає його калорії). Для інших вона слабка (два ідентичні печива можуть відрізнятися на 100 калорій залежно від вмісту масла). Поліпшення ШІ наближає вас до цієї стелі, але не може перевищити її.

Перевірена база даних обминає цю стелю повністю. Вона не оцінює харчовий вміст на основі візуальних ознак. Вона надає аналітично визначені значення для ідентифікованих продуктів. Стеля не в фотографії — вона в точності ідентифікації та оцінки порцій, обидві з яких є більш доступними проблемами.

Практична рекомендація

Якщо ви обираєте трекер калорій, питання архітектури є простим.

Якщо ви просто хочете приблизно знати, що їсте: Трекери лише на основі ШІ, такі як Cal AI, надають швидкі, зручні та приблизно корисні оцінки. Числа будуть регулярно неправильними, але загальні тенденції будуть видимими.

Якщо ваші цілі залежать від точних даних: Вам потрібна перевірена база даних за ШІ. База даних — це те, що перетворює розпізнавання їжі на основі ШІ з цікавого технологічного демонстратора на надійний інструмент для трекінгу харчування.

Nutrola поєднує розпізнавання їжі за допомогою фотографій, голосовий облік та сканування штрих-кодів з перевіреною базою даних з 1,8 мільйона або більше записів, що відстежують понад 100 поживних речовин. ШІ забезпечує швидкість і зручність. База даних забезпечує точність і глибину. Поєднання коштує €2.50 на місяць після безкоштовного пробного періоду без реклами — менше, ніж у будь-якого конкурента на основі ШІ, з принципово більш надійними результатами.

Трекери калорій лише на основі ШІ не є поганими продуктами. Вони є неповними продуктами. ШІ — це швидкий, розумний інтерфейс. База даних — це точний, перевірений бекенд. Без бекенду фронтенд генерує вражаючі цифри, які можуть не відображати те, що ви насправді з'їли. А в трекінгу калорій впевнене неправильне число гірше, ніж жодне число, оскільки воно створює хибне відчуття контролю на основі даних.

База даних не є необов'язковою. Це різниця між оцінкою та інформацією.

Готові трансформувати своє відстеження харчування?

Приєднуйтесь до тисяч, які трансформували свою подорож до здоров'я з Nutrola!