Reward, česky odměna, je ve zpětnovazebním učení číselný signál, který agent dostane poté, co v určité situaci provede nějakou akci. Tento signál mu neříká, jak má „správně přemýšlet“, ale dává mu zpětnou vazbu, zda daný krok pomohl, uškodil nebo byl z pohledu cíle bez většího významu. Právě na odměně stojí velká část toho, jak se agent v prostředí postupně učí.
Na první pohled může pojem reward působit jednoduše. Agent něco udělá, dostane body a podle nich se zlepšuje.
Jenže právě v tom je i určitá zrada.
Ve zpětnovazebním učení totiž nejde jen o to, že agent „sbírá plusové body“. Důležité je, jak je odměna definovaná, co přesně měří a zda opravdu odpovídá tomu, co po modelu chceme. Pokud je reward navržený špatně, agent se může naučit chování, které sice maximalizuje čísla, ale ve skutečnosti neplní původní smysl úkolu.
Reward je číselná zpětná vazba, kterou agent dostane po provedení akce. Kladná odměna říká, že daný krok pomohl, záporná že škodil, a nulová že z pohledu cíle nepřinesl nic podstatného. Agent se pak učí tak, aby v čase získával co nejlepší součet těchto odměn.
Co je reward v AI úplně jednoduše
Nejjednodušší je představit si reward jako bodovací systém.
Agent se nachází v určité situaci, zvolí nějakou akci a prostředí mu vrátí číslo. Toto číslo může být kladné, nulové nebo záporné. Není to vysvětlení v lidské řeči, ale velmi stručná numerická zpětná vazba.
Pokud se například model učí projít bludiště, může dostat:
- +10 za dosažení cíle,
- -5 za náraz do překážky,
- 0 za běžný krok, který sám o sobě nic zásadního nevyřešil.
Z těchto čísel si agent postupně skládá představu, které chování se mu vyplácí a které ne. Reward tedy není „pochvala“ v lidském smyslu. Je to trénovací signál, podle kterého model upravuje své další rozhodování.
Agent, prostředí, stav, akce a reward
Aby pojem reward dával plný smysl, je potřeba ho chápat v kontextu celého zpětnovazebního učení.
- Agent – systém, který se učí a rozhoduje. Může to být algoritmus, robot, herní postava nebo jiný model.
- Prostředí – svět, ve kterém agent jedná. Může jít o hru, simulaci, logistický proces, reklamní systém nebo fyzické prostředí.
- Stav – aktuální situace, ve které se agent nachází.
- Akce – rozhodnutí, které agent v daném stavu provede.
- Reward – číselná zpětná vazba, kterou prostředí vrátí po vykonání akce.
Celý proces funguje jako opakující se smyčka. Agent pozoruje stav, zvolí akci, prostředí na ni zareaguje, vrátí reward a agent se přesune do další situace. Právě z mnoha takových kroků se postupně učí lepší strategii.
Proč je reward tak důležitý
Ve zpětnovazebním učení agent většinou nedostává přesný návod krok za krokem. Nikdo mu neříká: „Teď udělej přesně toto a potom toto.“ Dostane jen prostředí, možnosti akcí a systém odměn.
Reward je proto základní mechanismus, kterým se jeho chování formuje.
Bez rewardu by agent nevěděl, jestli jeho rozhodnutí vedla správným směrem, nebo ne. Bylo by to podobné, jako kdybyste se snažili naučit nějakou hru, ale nikdy byste se nedozvěděli, zda jste právě získali bod, udělali chybu nebo se přiblížili k cíli.
Právě proto návrh rewardu patří k nejdůležitějším částem celého systému. Model se neučí podle našich přání ani podle toho, co jsme „měli na mysli“. Učí se podle toho, za co ho skutečně odměňujeme.
Agent se neučí podle lidského záměru, ale podle signálu, který opravdu dostává. Pokud je reward navržený špatně, model může velmi úspěšně optimalizovat něco jiného, než jsme chtěli.
Kladná, nulová a záporná odměna
V běžném jazyce si slovo odměna spojujeme hlavně s něčím pozitivním. Ve strojovém učení je ale pojem reward širší.
Reward může být:
- kladný – agent udělal něco, co přispělo k cíli,
- nulový – daný krok nebyl ani výrazně užitečný, ani výrazně škodlivý,
- záporný – akce vedla k nežádoucímu výsledku a agent dostal penalizaci.
Záporná odměna se často označuje jako penalizace. Je ale důležité ji nevykládat lidsky. Model necítí trest, stud ani výčitky. Jen dostane číselný signál, který snižuje pravděpodobnost, že podobné chování zopakuje.
Reward není totéž co dlouhodobá hodnota
Jedna z častých chyb je zaměňovat reward a value, tedy hodnotu.
Reward hodnotí jeden konkrétní krok. Value se naopak snaží odhadnout, jak výhodná je určitá situace nebo akce z dlouhodobého hlediska.
To je důležité proto, že okamžitě výhodný krok nemusí vést k nejlepšímu výsledku v delším horizontu. Agent může získat malou odměnu teď, ale kvůli ní se připravit o mnohem větší odměnu později. A naopak může udělat krok, který sám o sobě nic nepřinese, ale otevře cestu k lepšímu výsledku v budoucnu.
Reward říká, jak dopadl právě jeden krok. Hodnota se snaží odhadnout, jak výhodná je situace z pohledu budoucích odměn. Ve zpětnovazebním učení je důležité obojí, ale není to totéž.
Proč agent nemůže jen honit nejbližší reward
Kdyby agent vždy volil jen akci s nejbližší okamžitou odměnou, často by se nenaučil dobrou dlouhodobou strategii.
Představte si bludiště. Hned vedle agenta leží malá odměna, například mince. Když si ji vezme, dostane okamžitý bod. Jenže kvůli tomu odbočí do slepé chodby a ztratí šanci dojít k cíli, kde by byla mnohem vyšší odměna.
Dobrá strategie tedy často neznamená „vezmi první dostupný bod“, ale „zvol takový krok, který dává smysl v delším horizontu“. Právě proto se ve zpětnovazebním učení neřeší jen okamžitý reward, ale i součet budoucích rewardů v čase.
Co je reward function
Reward function, česky funkce odměny, je pravidlo, které určuje, jaký reward agent za určité chování dostane.
U jednoduchých úloh může být velmi prostá. Například:
- +1 – přiblížení k cíli,
- +10 – splnění úkolu,
- -1 – chyba nebo náraz,
- -10 – selhání.
Už jste četli? Co je to B2C
U reálných systémů ale bývá návrh reward function mnohem složitější.
Pokud učíte autonomní vozidlo, nechcete jen to, aby dojelo co nejrychleji. Musíte zohlednit i bezpečnost, plynulost jízdy, dodržování pravidel, spotřebu energie a komfort cestujících. Pokud by reward měřil jen rychlost, model by se mohl naučit chování, které je sice rychlé, ale nebezpečné.
Právě zde je vidět, že návrh rewardu není drobný technický detail, ale jedna z nejzásadnějších částí celé úlohy.
Reward hacking – když model optimalizuje špatnou věc
Jedním z nejznámějších problémů je takzvaný reward hacking.
To znamená, že agent najde způsob, jak získat vysoký reward, aniž by skutečně splnil původní smysl úkolu. Nejde o to, že by „podváděl“ lidsky. Jen velmi důsledně optimalizuje to, co jsme mu nastavili.
Představte si reklamní systém, který dostává reward jen za počet kliknutí. Model se pak může naučit upřednostňovat agresivní, zavádějící nebo přehnané titulky. Kliknutí porostou, reward bude vysoký, ale kvalita návštěvnosti, důvěra uživatelů i dlouhodobá hodnota značky mohou klesat.
To je právě jádro reward hackingu. Model plní měřený cíl, ale ne skutečný obchodní nebo lidský záměr.
Reward hacking ukazuje, že nestačí říct „ať model maximalizuje výsledek“. Musíte velmi pečlivě definovat, jaký výsledek vlastně měříte. Jinak může systém optimalizovat metriku, ale ne skutečný cíl.
Explorace a exploitace
S rewardem úzce souvisí také dilema mezi explorací a exploitací.
- Explorace – agent zkouší nové akce a objevuje, zda by nemohly vést k lepším výsledkům.
- Exploitace – agent využívá to, co už se naučil, a opakuje akce, které mu dříve přinášely dobrý reward.
Pokud by agent jen exploatoval, mohl by zůstat u průměrného řešení a nikdy neobjevit lepší variantu. Pokud by naopak jen exploroval, zkoušel by stále nové možnosti, ale neuměl by využít předchozí zkušenost.
Dobré zpětnovazební učení proto hledá rovnováhu mezi objevováním a využíváním toho, co se už osvědčilo.
Reward v RLHF
Pojem reward je důležitý také v přístupu označovaném jako Reinforcement Learning from Human Feedback, zkráceně RLHF.
Tento postup se používá při dolaďování některých jazykových modelů a AI asistentů. V takovém případě reward nemusí vznikat jen z jednoduchého pravidla typu „získal bod“ nebo „nezískal bod“. Může vycházet i z lidského hodnocení odpovědí.
Lidé například porovnávají dvě odpovědi modelu a označí, která je užitečnější, bezpečnější nebo přesnější. Z těchto preferencí se pak odvodí trénovací signál, který upravuje chování modelu.
To je důležité hlavně u moderních AI systémů. Nestačí totiž jen to, aby model generoval pravděpodobný text. Potřebujeme také, aby odpovídal způsobem, který je pro člověka srozumitelný, užitečný a bezpečný.
U RLHF nevzniká reward jen z pravidel prostředí, ale i ze zpětné vazby lidí. Lidské preference se převádějí do trénovacího signálu, který pomáhá dolaďovat výsledné chování modelu.
Kde se reward používá v praxi
Reward není jen teoretický pojem z učebnice. Používá se všude tam, kde se systém učí rozhodovat podle následků svého chování.
- Počítačové hry – agent se učí vyhrávat, přežít nebo sbírat body.
- Robotika – robot se učí chodit, uchopovat objekty nebo manipulovat s prostředím.
- Autonomní řízení – systém se učí volit bezpečné a plynulé akce v dopravě.
- Logistika a energetika – agent hledá rozhodnutí, která snižují náklady nebo zlepšují využití kapacit.
- Doporučovací systémy – model může optimalizovat spokojenost uživatelů, interakce nebo dlouhodobou hodnotu služby.
- AI asistenti a jazykové modely – reward může pomáhat dolaďovat chování modelu podle lidských preferencí.
Ve všech těchto případech platí stejný princip. Reward je způsob, jak převést požadované chování do měřitelného signálu.
Proč je návrh rewardu těžší, než vypadá
Na první pohled může návrh odměny působit jednoduše. Stačí přece určit, za co dostane agent plus a za co minus.
Jenže v reálném světě obvykle nechceme optimalizovat jen jednu věc. Chceme více cílů současně.
Například u doručovacího robota nechceme jen rychlost. Chceme také bezpečnost, spolehlivost, úspornost a dodržování pravidel. U reklamního systému nechceme jen kliknutí. Chceme také kvalitu návštěvnosti, důvěru uživatelů a dlouhodobý přínos. U AI asistenta nechceme jen plynulou odpověď, ale i přesnost, bezpečnost a užitečnost.
Právě proto je návrh reward function jedna z nejtěžších částí celé úlohy. Snadno se totiž měří to, co je jednoduché, ale hůř to, co je skutečně důležité.
Časté chyby při chápání rewardu
U rewardu se opakují i některé typické omyly.
- Reward není lidská pochvala – model nepracuje s významem jako člověk, ale s číselným signálem.
- Záporný reward není lidský trest – jde jen o penalizaci v optimalizaci.
- Okamžitý reward není totéž co dlouhodobý úspěch – některé dobré strategie se vyplatí až později.
- Vysoký reward neznamená automaticky správné chování – pokud je reward navržený špatně, agent může optimalizovat nežádoucí cíl.
- Model nerozumí lidskému záměru – učí se podle toho, co skutečně dostává, ne podle toho, co jsme si mysleli.
Jak si reward zapamatovat
Reward si můžete představit jako bodovací systém, podle kterého se agent učí, co se mu v prostředí vyplácí.
Není to vysvětlení v lidské řeči, není to morální hodnocení a není to ani kompletní návod. Je to krátký číselný signál, který po mnoha opakováních formuje výslednou strategii modelu.
Právě na rewardu je dobře vidět, že ve zpětnovazebním učení nejde o to, že by model „chápal“, co je správně. Jde o to, že postupně upravuje své chování tak, aby v čase získával co nejlepší součet odměn.
Reward je malý signál s velkým dopadem. Sám o sobě je to jen číslo, ale právě podle něj se agent učí, které chování má opakovat, kterému se vyhýbat a jak si v čase vytvořit lepší strategii.
Související pojmy
- Zpětnovazební učení (reinforcement learning) – reward je jeden z jeho nejzákladnějších stavebních prvků, protože právě přes něj agent dostává signál o tom, jak si vedl.
- Agent – systém, který v prostředí provádí akce a právě reward mu pomáhá upravovat budoucí chování.
- Policy – strategie, podle které agent volí akce; reward ji nepřímo formuje tím, že zvýhodňuje některá rozhodnutí před jinými.
- Value – pojem úzce související s rewardem, protože nehodnotí jeden krok, ale dlouhodobou očekávanou užitečnost stavu nebo akce.
- Reward function – pravidlo, které určuje, jakou odměnu agent za své chování dostane.
- Reward hacking – důležité související téma, protože ukazuje, co se stane, když agent optimalizuje špatně navržený reward.
- RLHF – přístup, ve kterém se reward odvozuje i z lidské zpětné vazby a preferencí.