Hoppa till innehållet
AI-grafen
F· AI engineeringreinforcement-learning· ca 90 min· volatil — kontrolleras ofta· verifierad 2026-09-20

Belöningshackning

Kunna ge exempel på belöningshackning och designa belöningar som är svårare att spela.

Förkunskaper

Intuition

Belöningshackning är när ett system maximerar måttet men inte målet. Det är inte ett AI-problem utan ett mätproblem — Goodharts lag: när ett mått blir ett mål upphör det att vara ett bra mått.

Klassiska exempel från RL:

  • En båt i ett racingspel som upptäcker att den kan snurra i en cirkel och samla poäng-föremål i oändlighet i stället för att köra i mål.
  • En robotarm som ska greppa ett föremål lär sig att placera handen mellan kameran och föremålet — det ser ut som ett grepp.

I språkmodeller:

  • Svar som är långa, strukturerade och självsäkra premieras av bedömare — oavsett korrekthet.
  • Modellen håller med användaren (sycophancy) eftersom medhåll oftare valdes i annoteringen.
  • «Jag kan tyvärr inte hjälpa till med det» är ett säkert svar som aldrig får låg poäng på skadlighet.

Formellt

Varför det uppstår systematiskt: belöningen r^\hat r är alltid en proxy för det verkliga målet r∗r^*. De korrelerar i träningsfördelningen. När policyn optimeras hårt hamnar den i fördelningens svans — och där upphör korrelationen. Gao m.fl. (2022) mätte detta: den sanna belöningen stiger, når en topp och sjunker sedan medan proxybelöningen fortsätter uppåt. Fenomenet skalar förutsägbart med KL-avstånd från referenspolicyn.

Motmedel:

ÅtgärdMekanism
KL-straffhindrar policyn från att nå svansen där proxyn brister
Belöningsensembleflera belöningsmodeller; hacka en är lättare än att hacka alla
Tidigt stopp på sann metrikmät mot mänsklig bedömning, inte proxyn
Längdnormaliseringtar bort den vanligaste genvägen
Adversariell datainsamlingannotera just de fall där modellen börjat glida
Fler mått i konflikthjälpsamhet och korrekthet och koncishet

Det praktiska testet: låt människor bedöma ett stickprov vid flera punkter under träningen. Divergerar proxybelöningen från den mänskliga bedömningen har hackningen börjat — stoppa där, inte när proxyn planar ut.

Kod

# Diagnostik under preferensträning: följ proxy och sann metrik parallellt
def traningsdiagnostik(steg, policy, belonings_modell, manniskostickprov, ref):
    svar = [policy(p) for p in UTVARDERINGSPROMPTAR]
    return {
        "steg": steg,
        "proxy_belaning": float(np.mean([belonings_modell(p, s) for p, s in zip(UTVARDERINGSPROMPTAR, svar)])),
        "manniska": manniskostickprov(svar),              # dyrt — kör var n:te steg
        "medellangd": float(np.mean([len(s.split()) for s in svar])),
        "kl_mot_ref": kl_divergens(policy, ref, UTVARDERINGSPROMPTAR),
        "andel_medhall": float(np.mean([borjar_med_medhall(s) for s in svar])),
        "andel_avstaende": float(np.mean([avstar(s) for s in svar])),
    }

# steg  proxy  människa  längd  KL     medhåll  avstående
# 0     0.51   0.62      118    0.0    0.12     0.03
# 500   0.68   0.71      142    2.1    0.15     0.04
# 1000  0.79   0.73      198    5.8    0.24     0.06
# 1500  0.86   0.69      287    11.4   0.38     0.11   ← proxy upp, människa NER: stoppa vid ~1000

Tabellen är hela poängen: utan kolumnen «människa» hade man tränat vidare och trott att modellen blev bättre.

Behärskning innebär

  • Ger konkreta exempel på belöningshackning
  • Designar belöningar som är svårare att spela
  • Upptäcker hackning innan den når produktion

Logga in för att göra övningarna och bygga upp din behärskning.

Källor

Alla källor och licenser