Mikronährstoffe schätzen mit KI: wie genau ist das?
Ich habe bei 250 laborgemessenen Lebensmitteln die Mikronährstoffe gelöscht und ein Modell gebeten, sie zu ergänzen.
In Lebensmitteldatenbanken stehen fast immer die Kalorien, bei den Mikronährstoffen wird es schnell dünn. Auf einem Markenjoghurt stehen Energie, Eiweiss, Kohlenhydrate und Fett, zu Magnesium, Folat oder Zink aber gar nichts. Ein Tag, der im Tracker vollständig aussieht, hat deshalb meistens Lücken. Ein KI-Modell kann raten, was in diese Lücken gehört, und ich wollte wissen, ob man so einer Schätzung genug trauen kann, um sie anzuzeigen.
Prüfen lässt sich das bei Pensum ungewöhnlich gut, weil in der App ein Katalog mit 16.358 Lebensmitteln aus drei nationalen Nährwertdatenbanken steckt. Bei 11.504 dieser Einträge liegen alle zwölf Mikronährstoffe, die Pensum erfasst, laborgemessen vor. Lösche ich bei einem Eintrag die Mikronährstoffe, bleiben der Name und die Makros übrig. Genau das bekommt mein Schätzer auch in der App. Die gemessenen Werte lege ich als Musterlösung beiseite. Damit habe ich einen Benchmark mit Laborreferenz und muss nichts von Hand annotieren.
Wie ich gemessen habe
- Gemessene Referenzwerte. 250 Lebensmittel aus der deutschen (BLS), der US-amerikanischen (USDA) und der Schweizer (BLV) Datenbank, gleichmässig auf alle drei verteilt. Bei jedem davon sind alle zwölf Mikronährstoffe gemessen.
- Derselbe Aufruf wie in der App. Ich sende denselben System-Prompt und dasselbe strikte JSON-Schema wie die App.
- Zwei Schwierigkeitsstufen. Einzelzutaten (Pastinaken, roh) und Gerichte aus mehreren Zutaten (Schinkenpastete mit Mürbeteig, gebacken). Die Einteilung hat ein zweites KI-Modell gemacht, damit das getestete Modell nicht selbst bestimmt, welche Fälle als schwer gelten. Lebensmittel, die dieses andere Modell keiner Gruppe sicher zuordnen konnte, habe ich verworfen.
- Zwei Quellen für die Makros. Im ersten Durchgang bekommt das Modell die echten Makros aus dem Katalog als Anker. Im zweiten erfindet es die Makros zuerst selbst aus dem Namen und schätzt die Mikronährstoffe dann auf dieser eigenen Grundlage. Der zweite Durchgang bildet einen Tagebucheintrag nach, den die KI komplett selbst erzeugt.
- Eine Untergrenze. Jedes Ergebnis vergleiche ich mit einer absichtlich dummen Basislinie. Sie ignoriert das Lebensmittel ganz und sagt für jeden Nährstoff einfach den Median des ganzen Katalogs voraus. Schlägt das Modell nicht einmal eine Konstante, ist die Funktion Augenwischerei.
Beim Fehler gebe ich den Median an. Liegt ein wahrer Wert nahe bei null, kann ein einzelner relativer Fehler auf mehrere tausend Prozent steigen. Ein Mittelwert beschreibt dann fast nur noch diese eine Zeile.
Befund 1: Es schlägt die dumme Basislinie um etwa das Dreifache
| Bedingung | Lebensmittelart | Medianer Fehler | Innerhalb Faktor 2 |
|---|---|---|---|
| KI-Schätzung, echte Makros | Einzelzutat | 25 % | 78 % |
| KI-Schätzung, echte Makros | Mischgericht | 33 % | 76 % |
| Katalogmedian vorhersagen | Einzelzutat | 76 % | 42 % |
| Katalogmedian vorhersagen | Mischgericht | 69 % | 46 % |
Ausgeliefertes Modell, 125 Lebensmittel pro Stufe, je zwölf Nährstoffe.
Die Schätzung hängt also wirklich vom Lebensmittel ab. Das ist aber erst die Mindestanforderung.
Befund 2: Mineralstoffe sind solide, Vitamine nicht
| Nährstoff | Medianer Fehler | Verzerrung | Innerhalb Faktor 2 |
|---|---|---|---|
| Magnesium | 15 % | 0 % | 94 % |
| Kalium | 15 % | -5 % | 92 % |
| Zink | 20 % | 0 % | 95 % |
| Natrium | 26 % | 3 % | 83 % |
| Calcium | 27 % | 0 % | 83 % |
| Eisen | 29 % | 5 % | 86 % |
| Folat | 33 % | -7 % | 74 % |
| Vitamin B12 | 41 % | 2 % | 70 % |
| Vitamin E | 45 % | -14 % | 67 % |
| Vitamin A | 59 % | -39 % | 51 % |
| Vitamin D | 60 % | -44 % | 54 % |
| Vitamin C | 73 % | -51 % | 44 % |
Magnesium, Kalium und Zink haben einen medianen Fehler von 15 bis 20 %, grobe Ausreisser gibt es dort fast keine. Vitamin C kommt auf 73 %, und über die Hälfte dieser Schätzungen weicht um mehr als den Faktor zwei ab.
Der Mineralstoffgehalt hängt weitgehend vom Rohstoff ab und schwankt nur in einem recht engen Bereich. Für den Vitamingehalt spielen Sorte, Frische, Lagerung, Zubereitung und Anreicherung eine enorme Rolle. Wenn davon nichts im Namen steht, kann das Modell es auch durch langes Nachdenken nicht herleiten.
Befund 3: Die Vitaminfehler gehen nach unten
Schau dir die Spalte "Verzerrung" an. Für die Mineralstoffe steht dort null oder fast null, so wie man es von einem unverzerrten Schätzer erwartet. Bei den Vitaminen ist die Verzerrung bis auf B12 negativ. Das Modell schätzt dort systematisch und deutlich zu tief: Vitamin C mit -51 %, Vitamin D mit -44 %, Vitamin A mit -39 %.
Bei Lebensmitteln mit Extremwerten bleibt das Modell weit unter dem Laborwert:
| Lebensmittel | Nährstoff | Labor | Schätzung |
|---|---|---|---|
| Hagebutte, roh | Vitamin C | 1045 mg | 426 mg |
| Suppenhuhn, Innereien, gekocht | Vitamin A | 3938 µg | 1200 µg |
| Auster, Konserve | Zink | 91 mg | 40 mg |
Pro 100 g. Die Zeilen sind direkt aus dem Benchmark übernommen.
Hagebutten haben wirklich mehr Vitamin C als fast jedes andere Lebensmittel, und Leber ist eine aussergewöhnlich gute Quelle für Vitamin A. Das Modell weiss, dass diese Werte hoch sind, und schätzt trotzdem viel zu tief, weil eine plausibel klingende Zahl näher an der Mitte der Verteilung liegt als der wahre Wert. Bei Vitaminen gibt es weit mehr solche Extremfälle als bei Mineralstoffen.
Befund 4: Mischgerichte sind schwieriger, und sie scheitern in die Gegenrichtung
In der Praxis stehen im Tagebuch oft Gerichte, und bei denen ist die Schätzung messbar schlechter: 33 % medianer Fehler gegenüber 25 % bei Einzelzutaten. Der typische Fehler im Tagesbalken verdoppelt sich ungefähr.
Bei Einzelzutaten zieht das Modell die Schätzung zum Durchschnitt hin, bei Gerichten passiert das Gegenteil: Es orientiert sich an der Zutat im Namen und übersieht, dass das Gericht zum grössten Teil aus anderen Dingen besteht. Für Hühnerleberpastete aus der Dose hat das Labor 217 µg Vitamin A pro 100 g gemessen. Das Modell kam auf 5500, rund 25-mal zu hoch, weil es im Grunde Leber geschätzt hat. Teig, Fett und Füllstoffe machen das meiste davon aus und sind nie in die Schätzung eingeflossen.
Deshalb ist auch einem KI-erzeugten Eintrag wie "Burrito" schwer zu trauen, denn aus dem Namen geht kein Mischverhältnis hervor.
Befund 5: Ein KI-erzeugter Eintrag macht es kaum schlechter
Erfindet das Modell die Makros und schätzt die Mikronährstoffe dann aus diesen eigenen Makros, baut eine Schätzung auf der anderen auf.
| Lebensmittelart | Echte Makros | KI-erfundene Makros |
|---|---|---|
| Einzelzutat | 25 % | 26 % |
| Mischgericht | 33 % | 37 % |
Der Unterschied liegt bei ein bis vier Prozentpunkten. Die Makros tragen wenig zur Schätzung bei. Das Modell erkennt das Lebensmittel am Namen und greift vor allem auf sein Wissen darüber zurück, der Makro-Anker dient eher als Plausibilitätsprüfung. Damit ist die Schätzung bei einer per Foto erfassten Mahlzeit nicht nennenswert schlechter als bei einem Lebensmittel aus der Datenbank.
Befund 6: Das teurere Modell war schlechter
Ich habe den ganzen Benchmark ein zweites Mal mit einem grösseren Frontier-Modell laufen lassen und erwartet, dass es besser abschneiden würde. Es war bei Einzelzutaten wie bei Gerichten schlechter.
| Modell | Einzelzutat | Mischgericht |
|---|---|---|
| Ausgeliefertes Modell (eine schnelle, günstige Stufe) | 25 % | 33 % |
| Grosses Frontier-Modell | 28 % | 42 % |
Dasselbe habe ich schon beim Benchmark der Foto-Funktion (englisch) gesehen. Bei der Nährstoffzusammensetzung bringt ein grösseres Modell nichts, weil die fehlende Information gar nicht im Namen steckt. Ich bleibe deshalb beim günstigeren Modell, was auch die Betriebskosten tief hält.
Wie der Fehler im Tagesbalken aussieht
Prozentwerte sind hier wenig anschaulich. Liegt die Schätzung für Vitamin D im Kopfsalat um 300 % daneben, ändert das am Tagesbalken praktisch nichts. Ich habe jede Schätzung deshalb zusätzlich in Prozentpunkten des EU-Tagesreferenzwerts bewertet. In dieser Einheit bewegt sich der Balken auf dem Bildschirm.
Die typische Schätzung liegt bei einem einzelnen Lebensmittel um weniger als einen Punkt im Tagesbalken daneben, bei einem Gericht um weniger als zwei. Das ist wenig. Eine von zehn Schätzungen verfehlt den Wert aber um etwa zehn Punkte oder mehr, und die schlimmsten Fälle in diesem Durchlauf lagen um mehrere hundert Punkte daneben. Eine Mikronährstoffzeile, die 40 % Deckung anzeigt, kann in Wirklichkeit bei 30 % oder bei 55 % liegen, und ab und zu liegt sie in die eine oder andere Richtung weit daneben.
Was das in der App geändert hat
Ich habe zwei Dinge geändert. Beide sollen verhindern, dass die App mehr behauptet, als ich weiss.
- Geschätzte Werte haben eine eigene Farbe. Auf jedem Mikronährstoffbalken ist der Anteil aus einer KI-Schätzung im selben Orange eingefärbt, mit dem Pensum auch sonst geschätzte Daten markiert. Der gemessene Anteil bleibt grün. So siehst du auf einen Blick, wie viel vom Balken gemessen ist. Laut Befund 2 ist das bei den Vitaminen am wichtigsten, und dort taucht das Orange auch am häufigsten auf.
- Schätzungen überschreiben nie gemessene Daten. Der Schätzer füllt nur Lücken, und ein bekannter Wert hat immer Vorrang, auch eine bekannte Null. Die Schätzung liegt als eigene Ebene über dem Lebensmittel. Entfernst du sie, ist der ursprüngliche Eintrag exakt wiederhergestellt. Geschätzte Werte landen auch nie in einem Export oder in einem Eintrag, den du an eine Datenbank schickst.
Die Vitamine zeige ich trotzdem an, ohne Warnhinweis davor. Selbst mit 60 % Fehler sagt dir eine Schätzung für Vitamin A mehr als ein leeres Feld, solange sie als Schätzung markiert ist und du erkennst, was was ist.
Einschränkungen
- Auch die Musterlösung ist nicht perfekt. Nationale Datenbanken tragen eine Null ein, wenn ein Nährstoff tatsächlich fehlt, und manchmal auch, wenn er schlicht nicht gemessen wurde. Einige der grössten scheinbaren Fehler des Modells betreffen angereicherte Produkte, bei denen die Datenbank null angibt und das Modell eine Anreicherung angenommen hat. Das habe ich nicht korrigiert, deshalb geht ein kleiner Teil des gemessenen Fehlers wahrscheinlich auf mein Konto.
- Alles pro 100 g. Der tatsächliche Fehler im Tagebuch hängt auch von der Portionsgrösse ab, und die testet dieser Benchmark nicht.
- Nur englische Namen, weil nur die in allen drei Datenbanken vorkommen.
- Die Einteilung nach Schwierigkeit ist selbst eine KI-Einschätzung. Sie stammt zwar von einem anderen Modell als dem getesteten, und mehrdeutige Lebensmittel habe ich verworfen, von Menschen annotiert ist sie aber nicht.
- 250 Lebensmittel, ein Durchlauf. Die Tendenzen sind stabil, einzelne Zahlen werden sich noch verschieben.
Für Mineralstoffe taugt die Funktion. Bei Vitaminen ist sie nur eine grobe Näherung und schätzt ausgerechnet dort zu tief, wo viele Leute zu Nahrungsergänzungsmitteln greifen.
Das ist eine von drei Seiten, auf denen ich die ganze Rechnung offenlege. Auf den anderen beiden geht es darum, wie Pensum deinen Energieverbrauch misst und ob KI das Gewicht von Essen auf einem Foto schätzen kann (englisch).
Pensum ist ein schneller, privater Makro-Tracker auf Basis nationaler Lebensmitteldatenbanken (USDA sowie deutsche und Schweizer Quellen). Vitamine und Mineralstoffe erfasst du kostenlos und vergleichst sie mit Tageszielen, ohne Werbung und ohne Konto. Wenn du von Cronometer kommst, findest du hier den Vergleich der beiden (englisch). Pensum bei Google Play oder zurück zur Startseite.