Evaluatiemaatstaven voor Generatieve AI
Veeg om het menu te tonen
Het evalueren van generatieve modellen verschilt van het evalueren van discriminatieve modellen, die afhankelijk zijn van nauwkeurigheidsstatistieken. Omdat generatieve modellen veel geldige uitkomsten produceren, moeten ze worden beoordeeld op kwaliteit, diversiteit en relevantie. Deze sectie introduceert belangrijke statistieken die zowel in onderzoek als in de industrie worden gebruikt om generatieve modellen te evalueren op perceptuele, statistische en mensgerichte dimensies.
Evaluatie voor beeldgebaseerde modellen (GANs, VAEs, Diffusie)
Perceptuele en statistische evaluatiemethoden worden vaak toegepast op beeldgebaseerde generatieve modellen. Deze helpen bij het meten hoe realistisch, divers en goed verdeeld de gegenereerde uitkomsten zijn in vergelijking met echte afbeeldingen.
Inception Score (IS)
Kwantificeert zowel de helderheid als de diversiteit van gegenereerde afbeeldingen met behulp van de classificatiezekerheid van een voorgetraind Inception-model.
IS=exp(Ex[DKL(p(y∣x)∣∣p(y))])waarbij:
- p(y∣x) de voorwaardelijke labelverdeling voor afbeelding x is
- p(y) de marginale klassenverdeling is.
from torchmetrics.image.inception import InceptionScore
inception = InceptionScore()
inception.update(imgs)
inception.compute()
Fréchet Inception Distance (FID)
Meet de gelijkenis tussen distributies van echte en gegenereerde afbeeldingen met behulp van feature-embeddings.
FID=∣∣μr−μg∣∣2+Tr(Σr+Σg−2(ΣrΣg)1/2)waarbij:
- μ en Σ het gemiddelde en de covariantie van feature-representaties zijn.
- Tr() staat voor de spoorwaarde van een matrix — dit is de som van de diagonaalelementen. De spoorwaarde helpt kwantificeren hoe verschillend de feature-distributies zijn qua spreiding of vorm.
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
Vergelijkt visuele gelijkenis tussen afbeeldingen met behulp van diepe netwerkfeatures.
import lpips
loss_fn = lpips.LPIPS(net='alex')
distance = loss_fn(img1, img2)
print("LPIPS Distance:", distance.item())
Evaluatie voor tekstgebaseerde modellen (Transformers, GPT, BERT)
Taalgeneratiemodellen worden geëvalueerd op kwaliteit, samenhang en relevantie via statistische, semantische en subjectieve maatstaven.
BLEU / ROUGE / METEOR
Vergelijken n-gram overlap tussen gegenereerde en referentietekst.
BLEU=BP⋅exp(n=1∑Nwnlogpn)waarbij:
- pn is precisie voor n-grammen
- BP is brevity penalty.
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
Meet semantische gelijkenis met behulp van contextuele embeddings. Gebruikt cosinusgelijkenis tussen contextuele embeddings, met precisie/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}")
Prompttrouw
Meet de mate waarin de output overeenkomt met de inputprompts, met name bij op instructies getrainde modellen.
Handmatig prompts vergelijken met outputs of gebruik maken van vergelijkingsmodellen zoals CLIP of BERT.
Evaluatie voor multimodale modellen (bijv. DALL·E, Stable Diffusion)
Multimodale modellen moeten worden geëvalueerd op afstemming tussen modaliteiten, zoals beeld en tekst.
CLIPScore
Berekent de gelijkenis tussen afbeeldings- en tekstprompt-embeddings.
CLIPScores=cos(fimage, ftext)waarbij f modaliteitsspecifieke embeddings zijn.
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-naar-beeld getrouwheid
Meet hoe goed gegenereerde afbeeldingen overeenkomen met hun conditionerende prompts.
Gebruik CLIP of handmatige annotatie om visueel-tekstuele overeenstemming te beoordelen.
Menselijke evaluatie
Ondanks vooruitgang in geautomatiseerde metriek blijft menselijke evaluatie essentieel voor subjectieve of creatieve taken. Veel gegenereerde uitkomsten, vooral in kunst, verhalen vertellen of ontwerp, vereisen menselijk oordeel om hun betekenis, originaliteit en aantrekkingskracht te beoordelen. Deze methoden bieden genuanceerde inzichten die geautomatiseerde metriek vaak mist.
A/B-test en Turing-achtige opstellingen
Gebruikers laten kiezen tussen twee opties voor de meest geprefereerde of realistisch ogende output.
- Praktijkvoorbeeld: in de GPT-3 RLHF-pijplijn van OpenAI kregen crowdworkers meerdere modelvoltooiingen te zien en werd hen gevraagd de meest behulpzame of realistische te rangschikken of te selecteren. Deze feedback vormde direct de beloningsmodellen voor verdere verfijning.
Prompt-naar-output-nauwkeurigheid
Subjectieve evaluatie van hoe goed de output overeenkomt met de gegeven prompt.
- Praktijkvoorbeeld: tijdens RLHF-training voor InstructGPT beoordeelden annotators voltooiingen voor een prompt zoals "Write a polite email declining a job offer." Menselijke scores bepaalden welke outputs aansloten bij de intentie en stijl van de gebruiker.
Beoordelingsschalen
Verzamel beoordelingen op schalen (bijv. 1–5) voor realisme, samenhang of creativiteit.
- Praktijkvoorbeeld: bij de evaluaties van Claude door Anthropic verzamelden onderzoekers beoordelingen van 1–5 sterren op behulpzaamheid, eerlijkheid en onschadelijkheid voor gegenereerde dialogen, ter ondersteuning van modelafstemmingsdoelen.
Crowdsourced evaluatie
Gebruik platforms zoals MTurk om diverse meningen te verzamelen. Zorg voor overeenstemming tussen beoordelaars.
- Praktijkvoorbeeld: Google gebruikte grootschalige crowdsourcing om de kwaliteit van de LaMDA-chatbot te beoordelen op aspecten zoals zinnigheid en specificiteit door duizenden gebruikersbeoordelingen te aggregeren.
Gebruik een hybride van automatische en mensgerichte evaluaties om een vollediger beeld te krijgen van de prestaties van generatieve modellen. Menselijk inzicht helpt de betrouwbaarheid van metriek te valideren en subtiele faalgevallen te identificeren die niet door cijfers worden vastgelegd. Voor kritieke toepassingen kan het combineren van meerdere menselijke beoordelaars en het berekenen van interbeoordelaarsbetrouwbaarheid (bijv. Cohen’s kappa) de robuustheid verbeteren.
Samenvatting
Deze evaluatiestrategieën zijn onmisbaar voor het iteratief ontwikkelen van modellen en het sturen van implementatiebeslissingen. Het combineren van objectieve meetwaarden met menselijke feedback helpt ontwikkelaars om realisme, creativiteit, diversiteit en afstemming op gebruikersintentie of taakvereisten in balans te brengen. Effectieve evaluatie zorgt ervoor dat generatieve AI-modellen niet alleen technisch goed presteren, maar ook aansluiten bij praktijktoepassingen en menselijke verwachtingen.
1. Welke van de volgende evaluatiemaatstaven wordt voornamelijk gebruikt om de diversiteit van gegenereerde afbeeldingen in Generative Adversarial Networks (GANs) te meten?
2. Wat is het primaire gebruik van Fréchet Inception Distance (FID) bij het evalueren van generatieve modellen?
3. Welke metriek wordt vaak gebruikt om de semantische gelijkenis tussen gegenereerde tekst en referentietekst te evalueren?
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.