Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Utvärderingsmått för Generativ AI | Sektion
Generativ Djupinlärning

bookUtvärderingsmått för Generativ AI

Svep för att visa menyn

Utvärdering av generativa modeller skiljer sig från utvärdering av diskriminativa modeller, vilka förlitar sig på noggrannhetsmått. Eftersom generativa modeller kan producera många giltiga utdata, måste de bedömas utifrån kvalitet, mångfald och relevans. Detta avsnitt introducerar centrala mått som används inom både forskning och industri för att utvärdera generativa modeller utifrån perceptuella, statistiska och människocentrerade dimensioner.

Utvärdering för bildbaserade modeller (GANs, VAEs, Diffusion)

Perceptuella och statistiska utvärderingsmetoder används ofta för bildbaserade generativa modeller. Dessa hjälper till att mäta hur realistiska, varierade och välfördelade de genererade utdata är jämfört med verkliga bilder.

Inception Score (IS)

Kvantifierar både tydlighet och mångfald hos genererade bilder med hjälp av klassificeringssäkerheten från en förtränad Inception-modell.

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

Där:

  • p(yx)p(y|x) är den villkorliga etikettfördelningen för bild xx
  • p(y)p(y) är den marginella klassfördelningen.
from torchmetrics.image.inception import InceptionScore

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

Fréchet Inception Distance (FID)

Mäter likheten mellan verkliga och genererade bildfördelningar med hjälp av funktionsinbäddningar.

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})

Där:

  • μ\mu och Σ\Sigma är medelvärde och kovarians för funktionsrepresentationer.
  • Tr()\text{Tr}() står för spår av en matris — det är summan av de diagonala elementen. Spåret hjälper till att kvantifiera hur olika funktionsfördelningarna är vad gäller spridning eller form.
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

Jämför visuell likhet mellan bilder med hjälp av djupa nätverksfunktioner.

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

Utvärdering för textbaserade modeller (Transformers, GPT, BERT)

Språkgenereringsmodeller utvärderas för kvalitet, koherens och relevans genom statistiska, semantiska och subjektiva mått.

BLEU / ROUGE / METEOR

Jämför n-gram överlapp mellan genererad och referenstext.

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

Där:

  • pnp_n är precision för n-gram
  • BP\text{BP} är förkortningsstraff.
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

Mäter semantisk likhet med hjälp av kontextuella inbäddningar. Använder cosinuslikhet mellan kontextuella inbäddningar, med precision/recall/F1-aggregat.

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}")

Promptfidelitet

Mäter hur väl utdata följer inmatade promptar, särskilt i instruktionsanpassade modeller.

Note
Notering

Jämför promptar och utdata manuellt eller använd likhetspoängsmodeller som CLIP eller BERT.

Utvärdering för multimodala modeller (t.ex. DALL·E, Stable Diffusion)

Multimodala modeller behöver utvärderas för överensstämmelse mellan modaliteter, såsom bild och text.

CLIPScore

Beräknar likhet mellan bildinbäddningar och textprompt-inbäddningar.

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

där ff är modalitetsspecifika inbäddningar.

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())

Överensstämmelse mellan prompt och bild

Mäter hur väl genererade bilder överensstämmer med sina tillhörande prompts.

Note
Notering

Använd CLIP eller manuell annotering för att bedöma visuell-textuell överensstämmelse.

Mänsklig utvärdering

Trots framsteg inom automatiserade mått är mänsklig utvärdering fortfarande avgörande för subjektiva eller kreativa uppgifter. Många generativa resultat, särskilt inom konst, berättande eller design, kräver mänsklig bedömning för att utvärdera deras meningsfullhet, originalitet och attraktionskraft. Dessa metoder ger nyanserade insikter som automatiserade mått ofta missar.

A/B-testning och Turing-liknande upplägg

Be användare välja föredragna eller mest verklighetstrogna utdata från två alternativ.

  • Exempel från verkligheten: I OpenAI:s GPT-3 RLHF-pipeline visades crowdworkers flera modellslut och ombads rangordna eller välja det mest hjälpsamma eller realistiska. Denna återkoppling påverkade direkt belöningsmodeller för vidare finjustering.

Trovärdighet mellan prompt och utdata

Subjektiv utvärdering av hur väl utdata speglar given prompt.

  • Exempel från verkligheten: Under RLHF-träning för InstructGPT betygsatte annotatörer slutföranden för en prompt som "Skriv ett artigt e-postmeddelande för att tacka nej till ett jobberbjudande." Mänskliga poäng avgjorde vilka utdata som överensstämde med användarens avsikt och stil.

Betygsskalor

Samla in betyg på skalor (t.ex. 1–5) för realism, koherens eller kreativitet.

  • Exempel från verkligheten: I Anthropic:s Claude-utvärderingar samlade forskare in betyg från 1 till 5 stjärnor på hjälpsamhet, ärlighet och ofarlighet för genereringar i dialog, vilket stödde modellens anpassningsmål.

Crowdsourcad utvärdering

Använd plattformar som MTurk för att samla in olika åsikter. Säkerställ överensstämmelse mellan bedömare.

  • Exempel från verkligheten: Google använde storskalig crowdsourcing för att utvärdera kvaliteten på LaMDA-chatboten utifrån dimensioner som rimlighet och specificitet genom att samla in tusentals användarbedömningar.
Note
Studera vidare

Använd en hybrid av automatiska och människocentrerade utvärderingar för att få en mer komplett förståelse av generativa modellers prestanda. Mänsklig insikt hjälper till att validera metriks tillförlitlighet och identifiera subtila fel som inte fångas av siffror. För kritiska tillämpningar kan kombinationen av flera mänskliga bedömare och beräkning av interbedömarreliabilitet (t.ex. Cohens kappa) förbättra robustheten.

Sammanfattning

Dessa utvärderingsstrategier är oumbärliga för att iterera modellutveckling och vägleda beslut om driftsättning. Att kombinera objektiva mått med mänsklig återkoppling hjälper utvecklare att balansera realism, kreativitet, mångfald och överensstämmelse med användarens avsikt eller uppgiftskrav. Effektiv utvärdering säkerställer att generativa AI-modeller inte bara presterar tekniskt väl, utan även är anpassade till verkliga användningsfall och mänskliga förväntningar.

1. Vilket av följande utvärderingsmått används främst för att mäta mångfalden hos genererade bilder i Generative Adversarial Networks (GANs)?

2. Vad är det primära användningsområdet för Fréchet Inception Distance (FID) vid utvärdering av generativa modeller?

3. Vilken metrisk används vanligtvis för att utvärdera den semantiska likheten mellan genererad text och referenstext?

question mark

Vilket av följande utvärderingsmått används främst för att mäta mångfalden hos genererade bilder i Generative Adversarial Networks (GANs)?

Select the correct answer

question mark

Vad är det primära användningsområdet för Fréchet Inception Distance (FID) vid utvärdering av generativa modeller?

Select the correct answer

question mark

Vilken metrisk används vanligtvis för att utvärdera den semantiska likheten mellan genererad text och referenstext?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 13

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Avsnitt 1. Kapitel 13
some-alt