Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Метрики Оцінювання для Генеративного ШІ | Секція
Practice
Projects
Quizzes & Challenges
Вікторини
Challenges
/
Генеративне глибинне навчання

bookМетрики Оцінювання для Генеративного ШІ

Свайпніть щоб показати меню

Оцінювання генеративних моделей відрізняється від оцінювання дискримінативних моделей, які ґрунтуються на метриках точності. Оскільки генеративні моделі створюють багато коректних результатів, їх необхідно оцінювати за якістю, різноманітністю та релевантністю. У цьому розділі розглядаються основні метрики, які використовуються в дослідженнях і промисловості для оцінки генеративних моделей за перцептивними, статистичними та орієнтованими на людину критеріями.

Оцінювання моделей для зображень (GAN, VAE, дифузійні моделі)

Для генеративних моделей зображень зазвичай застосовують перцептивні та статистичні методи оцінювання. Вони допомагають вимірювати, наскільки реалістичними, різноманітними та добре розподіленими є згенеровані результати порівняно зі справжніми зображеннями.

Inception Score (IS)

Кількісно визначає чіткість і різноманітність згенерованих зображень, використовуючи впевненість класифікації попередньо навченої моделі Inception.

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

де:

  • p(yx)p(y|x) — умовний розподіл міток для зображення xx
  • p(y)p(y) — маргінальний розподіл класів.
from torchmetrics.image.inception import InceptionScore

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

Fréchet Inception Distance (FID)

Вимірює схожість між розподілами справжніх і згенерованих зображень за допомогою ознакних векторів.

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

де:

  • μ\mu і Σ\Sigma — середнє значення та коваріація ознакних представлень.
  • Tr()\text{Tr}() означає слід матриці — це сума діагональних елементів. Слід допомагає кількісно оцінити відмінність розподілів ознак за їх розмахом або формою.
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

Порівнює візуальну схожість між зображеннями за допомогою ознак глибоких нейронних мереж.

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

Оцінювання моделей на основі тексту (Transformers, GPT, BERT)

Моделі генерації мови оцінюються за якістю, зв'язністю та релевантністю за допомогою статистичних, семантичних і суб'єктивних метрик.

BLEU / ROUGE / METEOR

Порівнюють n-грамну схожість між згенерованим і еталонним текстом.

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

де:

  • pnp_n — точність для n-грам
  • BP\text{BP} — штраф за стислість.
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

Вимірює семантичну схожість за допомогою контекстуальних ембеддінгів. Використовує косинусну схожість між контекстуальними ембеддінгами з агрегуванням precision/recall/F1.

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

Відповідність запиту

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

Note
Примітка

Порівнюйте запити з результатами вручну або використовуйте моделі оцінки схожості, такі як CLIP чи BERT.

Оцінювання мультимодальних моделей (наприклад, DALL·E, Stable Diffusion)

Мультимодальні моделі необхідно оцінювати на відповідність між різними модальностями, такими як зображення та текст.

CLIPScore

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

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

де ff — це векторні представлення для кожної модальності.

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

Відповідність зображення запиту

Вимірює, наскільки згенеровані зображення відповідають своїм умовним запитам.

Note
Примітка

Використовуйте CLIP або ручну анотацію для оцінки візуально-текстової відповідності.

Оцінювання людиною

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

A/B тестування та Turing-подібні підходи

Запропонувати користувачам обрати кращий або більш реалістичний результат з двох варіантів.

  • Приклад з практики: у RLHF-процесі GPT-3 від OpenAI краудворкерам демонстрували декілька варіантів завершення моделі та просили ранжувати або обирати найбільш корисний чи реалістичний. Цей зворотний зв'язок безпосередньо впливав на формування моделей винагород для подальшого донавчання.

Відповідність результату запиту

Суб'єктивна оцінка того, наскільки результат відповідає заданому запиту.

  • Приклад з практики: під час RLHF-навчання для InstructGPT анотатори оцінювали завершення для запиту на кшталт "Write a polite email declining a job offer." Оцінки людей визначали, які результати відповідали намірам і стилю користувача.

Шкали оцінювання

Збір оцінок за шкалою (наприклад, 1–5) для реалістичності, зв'язності або креативності.

  • Приклад з практики: під час оцінювання Claude від Anthropic дослідники збирали оцінки у вигляді зірок (1–5) за корисність, чесність і безпечність згенерованих відповідей у діалозі, що сприяло досягненню цілей вирівнювання моделі.

Оцінювання за допомогою краудсорсингу

Використання платформ на кшталт MTurk для збору різноманітних думок. Забезпечення узгодженості оцінювачів.

  • Реальний приклад: Google застосовував масштабний краудсорсинг для оцінки якості чат-бота LaMDA за такими критеріями, як осмисленість і конкретність, агрегуючи тисячі користувацьких суджень.
Note
Вивчіть більше

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

Підсумок

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

1. Яка з наведених метрик оцінювання в основному використовується для вимірювання різноманітності згенерованих зображень у генеративних змагальних мережах (GAN)?

2. Яке основне призначення Fréchet Inception Distance (FID) при оцінюванні генеративних моделей?

3. Яка метрика зазвичай використовується для оцінки семантичної схожості між згенерованим текстом і еталонним текстом?

question mark

Яка з наведених метрик оцінювання в основному використовується для вимірювання різноманітності згенерованих зображень у генеративних змагальних мережах (GAN)?

Select the correct answer

question mark

Яке основне призначення Fréchet Inception Distance (FID) при оцінюванні генеративних моделей?

Select the correct answer

question mark

Яка метрика зазвичай використовується для оцінки семантичної схожості між згенерованим текстом і еталонним текстом?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 13

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 1. Розділ 13
some-alt