Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Bewertungsmetriken für Generative KI | Erstellung und Training Generativer Modelle
Tiefe Generative Modelle mit Python

Bewertungsmetriken für Generative KI

Swipe um das Menü anzuzeigen

Die Bewertung generativer Modelle unterscheidet sich von der Bewertung diskriminativer Modelle, die auf Genauigkeitsmetriken basieren. Da generative Modelle viele gültige Ausgaben erzeugen, müssen sie hinsichtlich Qualität, Vielfalt und Relevanz beurteilt werden. Dieser Abschnitt stellt zentrale Metriken vor, die in Forschung und Industrie zur Bewertung generativer Modelle in Bezug auf Wahrnehmung, Statistik und menschzentrierte Aspekte verwendet werden.

Bewertung für bildbasierte Modelle (GANs, VAEs, Diffusion)

Wahrnehmungs- und statistische Bewertungsmethoden werden häufig bei bildbasierten generativen Modellen angewendet. Diese helfen dabei, zu messen, wie realistisch, vielfältig und gut verteilt die generierten Ausgaben im Vergleich zu echten Bildern sind.

Inception Score (IS)

Quantifizierung von Klarheit und Vielfalt der generierten Bilder anhand der Klassifikationssicherheit eines vortrainierten Inception-Modells.

IS=exp(Ex[DKL(p(yx)p(y))])\text{IS}=\exp(\mathbb{E}_x[D_{KL}(p(y|x)||p(y))])

wobei:

  • p(yx)p(y|x) die bedingte Labelverteilung für Bild xx ist
  • p(y)p(y) die marginale Klassenverteilung ist.
from torchmetrics.image.inception import InceptionScore

inception = InceptionScore()
inception.update(imgs)
inception.compute()

Fréchet Inception Distance (FID)

Misst die Ähnlichkeit zwischen realen und generierten Bildverteilungen anhand von Feature-Embeddings.

FID=μrμg2+Tr(Σr+Σg2(ΣrΣg)1/2)\text{FID}=||\mu_r-\mu_g||^2+\text{Tr}(\Sigma_r + \Sigma_g - 2(\Sigma_r\Sigma_g)^{1/2})

wobei:

  • μ\mu und Σ\Sigma Mittelwert und Kovarianz der Feature-Repräsentationen sind.
  • Tr()\text{Tr}() steht für die Spur einer Matrix — dies ist die Summe der Diagonalelemente. Die Spur hilft dabei, zu quantifizieren, wie unterschiedlich die Feature-Verteilungen hinsichtlich ihrer Streuung oder Form sind.
from pytorch_fid import fid_score
    
fid = fid_score.calculate_fid_given_paths(["real_images", "generated_images"], batch_size=50, device="cuda", dims=2048)
print("FID:", fid)

LPIPS

Vergleich der visuellen Ähnlichkeit zwischen Bildern mithilfe von Deep-Network-Features.

import lpips
    
loss_fn = lpips.LPIPS(net='alex')
distance = loss_fn(img1, img2)
print("LPIPS Distance:", distance.item())

Bewertung für textbasierte Modelle (Transformers, GPT, BERT)

Sprachgenerierungsmodelle werden hinsichtlich Qualität, Kohärenz und Relevanz anhand statistischer, semantischer und subjektiver Metriken bewertet.

BLEU / ROUGE / METEOR

Vergleich des N-Gramm-Überlapps zwischen generiertem und Referenztext.

BLEU=BPexp(n=1Nwnlogpn)\text{BLEU}=\text{BP} \cdot \exp\left(\sum^N_{n=1}w_n\log p_n\right)

wobei:

  • pnp_n ist die Präzision für N-Gramme
  • BP\text{BP} ist die Kürzungsstrafe.
from nltk.translate.bleu_score import sentence_bleu
    
reference = [['the', 'cat', 'is', 'on', 'the', 'mat']]
candidate = ['the', 'cat', 'sat', 'on', 'the', 'mat']
    
score = sentence_bleu(reference, candidate)
print("BLEU Score:", score)

BERTScore

Messung der semantischen Ähnlichkeit mithilfe kontextueller Einbettungen. Verwendet Kosinusähnlichkeit zwischen kontextuellen Einbettungen mit Präzision/Recall/F1-Aggregaten.

from bert_score import score
    
cands = ["A cat sits on the mat."]
refs = ["The cat is on the mat."]
    
P, R, F1 = score(cands, refs, lang='en')
print(f"BERTScore F1: {F1.mean().item():.4f}")

Prompt-Treue

Misst die Übereinstimmung der Ausgabe mit den Eingabe-Prompts, insbesondere bei instruktionstunierten Modellen.

Note
Hinweis

Manueller Vergleich von Prompts und Ausgaben oder Verwendung von Ähnlichkeitsbewertungsmodellen wie CLIP oder BERT.

Bewertung für multimodale Modelle (z. B. DALL·E, Stable Diffusion)

Multimodale Modelle müssen hinsichtlich der Übereinstimmung zwischen Modalitäten wie Bild und Text bewertet werden.

CLIPScore

Berechnet die Ähnlichkeit zwischen Bild-Embeddings und textuellen Prompt-Embeddings.

CLIPScores=cos(fimage, ftext)\text{CLIPScores}=cos(f_{image},\ f_{text})

wobei ff modalitätsspezifische Embeddings sind.

import torch
import clip
from PIL import Image

model, preprocess = clip.load("ViT-B/32")
image = preprocess(Image.open("generated.jpg")).unsqueeze(0)
text = clip.tokenize(["A dog playing in the snow"])

with torch.no_grad():
    image_features = model.encode_image(image)
    text_features = model.encode_text(text)
    similarity = torch.cosine_similarity(image_features, text_features)
print("CLIPScore:", similarity.item())

Prompt-zu-Bild-Treue

Misst, wie gut generierte Bilder zu ihren zugehörigen Prompts passen.

Note
Hinweis

Verwendung von CLIP oder manueller Annotation zur Beurteilung der visuellen-textuellen Übereinstimmung.

Menschliche Bewertung

Trotz Fortschritten bei automatisierten Metriken bleibt die menschliche Bewertung für subjektive oder kreative Aufgaben unerlässlich. Viele generative Ergebnisse, insbesondere in Kunst, Erzählung oder Design, erfordern menschliches Urteilsvermögen, um deren Sinnhaftigkeit, Originalität und Attraktivität zu beurteilen. Diese Methoden liefern differenzierte Einblicke, die automatisierte Metriken oft übersehen.

A/B-Tests und Turing-ähnliche Setups

Benutzerwahl zwischen bevorzugten oder realistisch wirkenden Ausgaben aus zwei Optionen.

  • Praxisbeispiel: Im GPT-3 RLHF-Prozess von OpenAI wurden Crowdworker mehrere Modellvorschläge gezeigt und gebeten, die hilfreichste oder realistischste Auswahl zu treffen oder zu bewerten. Dieses Feedback floss direkt in die Belohnungsmodelle für das weitere Finetuning ein.

Übereinstimmung von Prompt und Ausgabe

Subjektive Bewertung, wie gut die Ausgabe den gegebenen Prompt widerspiegelt.

  • Praxisbeispiel: Während des RLHF-Trainings für InstructGPT bewerteten Annotatoren Ausgaben zu Prompts wie „Schreibe eine höfliche E-Mail zur Ablehnung eines Jobangebots.“ Menschliche Bewertungen bestimmten, welche Ausgaben mit der Nutzerabsicht und dem Stil übereinstimmten.

Bewertungsskalen

Sammlung von Bewertungen auf Skalen (z. B. 1–5) für Realismus, Kohärenz oder Kreativität.

  • Praxisbeispiel: In den Claude-Evaluierungen von Anthropic sammelten Forschende 1–5-Sterne-Bewertungen für Hilfsbereitschaft, Ehrlichkeit und Unschädlichkeit von Dialog-Generierungen, um die Modellanpassung zu unterstützen.

Crowdsourcing-basierte Bewertung

Nutzung von Plattformen wie MTurk zur Sammlung vielfältiger Meinungen. Sicherstellung der Übereinstimmung zwischen Bewertern.

  • Praxisbeispiel: Google setzte groß angelegte Crowdsourcing-Methoden ein, um die Qualität des LaMDA-Chatbots hinsichtlich Kriterien wie Nachvollziehbarkeit und Spezifität durch die Aggregation tausender Nutzerbewertungen zu beurteilen.
Note
Mehr erfahren

Kombination aus automatisierten und menschzentrierten Bewertungen zur umfassenden Beurteilung der Leistungsfähigkeit generativer Modelle. Menschliche Einschätzungen helfen, die Zuverlässigkeit von Metriken zu validieren und subtile Fehlerfälle zu erkennen, die durch Zahlen nicht erfasst werden. Für kritische Anwendungen kann die Kombination mehrerer menschlicher Bewerter und die Berechnung der Übereinstimmung zwischen Bewertern (z. B. Cohen’s Kappa) die Robustheit erhöhen.

Zusammenfassung

Diese Bewertungsstrategien sind unverzichtbar für die Weiterentwicklung von Modellen und die Steuerung von Entscheidungen zur Bereitstellung. Die Kombination objektiver Metriken mit menschlichem Feedback unterstützt Entwickler dabei, Realismus, Kreativität, Vielfalt und die Ausrichtung auf Benutzerabsicht oder Aufgabenanforderungen auszubalancieren. Eine effektive Bewertung stellt sicher, dass generative KI-Modelle nicht nur technisch leistungsfähig sind, sondern auch mit realen Anwendungsfällen und menschlichen Erwartungen übereinstimmen.

1. Welche der folgenden Bewertungsmetriken wird hauptsächlich verwendet, um die Vielfalt generierter Bilder in Generative Adversarial Networks (GANs) zu messen?

2. Was ist der Hauptzweck des Fréchet Inception Distance (FID) bei der Bewertung generativer Modelle?

3. Welcher Metrik wird häufig verwendet, um die semantische Ähnlichkeit zwischen generiertem Text und Referenztext zu bewerten?

question mark

Welche der folgenden Bewertungsmetriken wird hauptsächlich verwendet, um die Vielfalt generierter Bilder in Generative Adversarial Networks (GANs) zu messen?

Wählen Sie die richtige Antwort aus

question mark

Was ist der Hauptzweck des Fréchet Inception Distance (FID) bei der Bewertung generativer Modelle?

Wählen Sie die richtige Antwort aus

question mark

Welcher Metrik wird häufig verwendet, um die semantische Ähnlichkeit zwischen generiertem Text und Referenztext zu bewerten?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 3

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Abschnitt 3. Kapitel 3
some-alt