background image

1

MSI-w5/1

Metody sztucznej inteligencji

Politechnika Śląska

Katedra Podstaw Konstrukcji Maszyn

Rok akademicki 2003/2004

Wykład 6

Materiały dydaktyczne (na prawach rękopisu)  

dla studentów Wydziału Mechanicznego Technologicznego

Wszystkie ilustracje pochodzą z S. Russel, P. Norvig, Artificial

Intelligence - A modern approach, Prentice Hall, 1995

MSI-w5/2

Uczenie (się) ze wzmocnieniem

(RL=Reinforcement learning)

MSI-w5/3

Uczenie indukcyjne 

(na przykładach)

• Uczenie indukcyjne:

– Środowisko dostarcza przykładów - pary 

(wejście-wyjście)

– Zadanie polega na nauczeniu się funkcji, która 

mogłaby być uogólnieniem tych przykładów

• Można uczyć się na przykładach, gdy:

– Nauczyciel dostarcza poprawnych wartości
– Lub predykcje uzyskiwane poprzez 

zastosowanie funkcji mogą być zweryfikowane 

w następnym kroku działania agenta

MSI-w5/4

Przykład: gra w szachy (1)

• Uczenie indukcyjne jest niekorzystne:

– Przykłady dostarczane przez nauczyciela:

(sytuacja na szachownicy; najlepszy ruch dla tej sytuacji)

– Ile  może być takich przykładów?

• Gdy brak nauczyciela, agent może 

losowo 

wybierać 

posunięcia i budować model predykcyjny: jak 
będzie wyglądać szachownica po wykonaniu jego 
ruchu i w jaki sposób partner 

prawdopodobnie

odpowie na ten ruch

Gdy agent nie wie, który ruch jest dobry, a który zły, 
trudno mu zdecydować, który ruch wybrać

MSI-w5/5

Przykład: gra w szachy (2)

• W grze w szachy istnieje sprzężenie 

zwrotne:

– Gdy jest nauczyciel, może ocenić ruch
– Gdy go nie ma, na końcu partii wiadomo, czy 

agent wygrał, czy nie

• Takie  sprzężenie nazywa się 

nagrodą

lub 

wzmocnieniem

• W szachach nazywane jest 

stanem 

terminalnym

w sekwencji historii stanów

MSI-w5/6

Uczenie ze wzmocnieniem (RL)

• Istota: 

wykorzystanie nagród w celu wyuczenia przez 

agenta skutecznego działania

• Trudność: 

agent nie wie

:

– jaka akcja jest właściwa
– jaka nagroda jest przypisana do której akcji

• Nagroda  jest 

specjalnym rodzajem percepcji

• W  wielu  złożonych dziedzinach jest jedynym 

wykonalnym sposobem wyuczenia agenta działań 

o wysokim poziomie

background image

2

MSI-w5/7

RL: Sformułowanie problemu

• Agent działający w swoim środowisku 

odbiera percepcje

(wrażenia)

• Niektóre percepcje

są odwzorowywane na 

ujemne

lub 

dodatnie użyteczności

• Następnie agent 

decyduje

które działanie 

podjąć

MSI-w5/8

Podstawy RL: jak mogą zmieniać 

się zadania uczenia (1)

• Środowisko:

– dostępne

- agent identyfikuje stany poprzez 

percepcje

– niedostępne

- agent utrzymuje pewien stan 

wewnętrzny próbując monitorować środowisko

• Agent 

posiada wiedzę o środowisku 

i wynikach jego działań

LUB 

agent 

musi wyuczyć się tego modelu wraz 

z informacją o użyteczności

MSI-w5/9

Podstawy RL: jak mogą zmieniać 

się zadania uczenia (2)

• Nagrody  mogą być otrzymywane:

– tylko w stanie terminalnym

(końcowym)

– w  każdym stanie

• Nagrody  mogą być

– składnikami bieżącej wartości użyteczności

którą agent stara się maksymalizować

– wskazówkami co do bieżącej użyteczności

MSI-w5/10

Podstawy RL: jak mogą zmieniać 

się zadania uczenia (3)

• Agent może działać jako uczeń :

– Pasywny

, biernie obserwujący świat „dziejący 

się obok” i próbujący nauczyć się użyteczności 
„bycia w różnych stanach”

– Aktywny

, który musi ponadto działać stosując 

wyuczoną informację, oraz może stosować 
swój własny generator problemów który  
sugeruje specjalne działania poznawcze 
(eksploracja nieznanych części otoczenia)

MSI-w5/11

Podstawowe warianty RL-agenta

• Agent uczy się funkcji użyteczności na 

podstawie stanów (lub historii stanów), a 
następnie używa jej do wyboru akcji które 
maksymalizują oczekiwaną użyteczność ich 
wyników

• Agent uczy się funkcji akcja-wartość, która 

daje oczekiwaną użyteczność podjęcia 
danej akcji w danym stanie (Q-learning)

MSI-w5/12

Uczenie pasywne w znanym 

środowisku

• Pasywny RL-agent w znanym, dostępnym 

środowisku (reprezentacja za pomocą 

stanów)

• Środowisko generuje przejścia stanów, 

a agent stara się nauczyć użyteczności tych 

stanów

• Założenie: agentowi dostarczono model M

i,j

podający prawdopodobieństwo przejścia ze 

stanu do stanu j

background image

3

MSI-w5/13

Proste środowisko stochastyczne

Założenie upraszczające:

użyteczność sekwencji jest sumą nagród 

zgromadzonych dla wszystkich stanów tej sekwencji (tj. funkcja 
użyteczności jest addytywna).

nagroda do otrzymania

= suma nagród do otrzymania począwszy

od danego stanu a skończywszy na stanie terminalnym

MSI-w5/14

Przykład sekwencji trenujących

(1,1)

→(1,2)→(1,3)→(1,2)→(1,3)→(1,2)→(1,1)→(2,1)→(3,1)→(4,1)→(4,2) -1

(1,1)

→(1,2)→(1,3)→(2,3)→(3,3)→(4,3) +1

(1,1)

→(1,2)→(1,1)→(1,2)→(1,1)→(2,1)→(3,1)→(3,2)→(4,2) -1

(1,1)

→(1,2)→(1,1)→(1,2)→(1,3)→(2,3)→(1,3)→(2,3)→(3,3)→(4,3) +1

(1,1)

→(2,1)→(3,1)→(2,1)→(1,1)→(1,2)→(1,3)→(2,3)→(3,3)→(4,3) +1

(1,1)

→(2,1)→(1,1)→(1,2)→(1,3)→(2,3)→(3,3)→(3,2)→(4,2) -1

W każdym ciągu trenującym agent zaczyna w stanie (1,1) 
i odbiera sekwencję przejść stanów dopóki nie osiągnie 
jednego ze stanów terminalnych (4,2) lub (4,3), w 
których otrzymuje nagrodę

Celem jest 

wykorzystanie informacji o nagrodach do 

nauczenia się oczekiwanej użyteczności

U(i) stanu 

nieterminalnego i

MSI-w5/15

Program pasywnego RL-agenta

function PASSIVE-RL-AGENT(ereturns działanie
static: U, tablica estymat funkcji użyteczności

N, tablica częstości dla stanów
M, tablica prawdopodobieństw przejścia ze stanu do stanu
percepts, sekwencja (początkowo pusta)

Dodaj do percepts
Zwiększ N[STAN[e]]
U

UPDATE

(UeperceptsMN)

if TERMINALNY?[ethen percepts

← pusta sekwencja

return działanie Obserwuj

Różne wersje algorytmu 

zależą od funkcji UPDATE

MSI-w5/16

Aktualizacja tabeli wartości 

funkcji użyteczności

• Agent aktualizuje bieżące wartości funkcji 

użyteczności po każdym przejściu stanów

• Stosowane algorytmy UPDATE:

– Naiwna aktualizacja (NU)
– Adaptacyjne programowanie dynamiczne (ADP)
– Uczenie na podstawie chwilowych różnic (TD)

• Od wyboru algorytmu aktualizacji funkcji 

użyteczności zależą właściwości agenta RL

MSI-w5/17

Naiwna aktualizacja (1)

• Pochodzi z adaptacyjnej teorii sterowania 

(Widrow & Hoff, 1960), zwane LMS=least mean

squares

• Założenie: dla każdego stanu w sekwencji 

trenującej zaobserwowane dla tej sekwencji 

reward-to-go dostarcza bezpośredniej informacji o 

oczekiwanym reward-to-go

• Na  końcu każdej sekwencji algorytm oblicza 

zaobserwowane reward-to-go dla każdego stanu i 

aktualizuje wartość estymowaną dla tego stanu

MSI-w5/18

Naiwna aktualizacja (2)

• Estymaty użyteczności uzyskane z 

zastosowaniem algorytmu LMS 
minimalizują błąd średniokwadratowy ze 
względu na zaobserwowane dane

• Dla funkcji użyteczności reprezentowanej 

za pomocą tablicy aktualizacja tej tablicy 
dokonywana jest za pomocą obliczania 
wartości średniej bieżącej (ruchomej)

background image

4

MSI-w5/19

Naiwna aktualizacja (3)

function LMS-UPDATE(UeperceptsMNreturns aktualne U

if TERMINALNY?[ethen

reward-to-go

← 0

for each e

i

in percepts (zaczynając od końca) do

reward-to-go

← reward-to-go + REWARD[e

i

]

U[STATE[e

i

]] 

← RUNNING-AVERAGE(

U[STAN[e

i

]] , reward-to-go, N[STAN[e

i

]] )

end

--------------------------------------------------------
reward-to-go = nagrody do zebrania
RUNNING-AVERAGE = średnia bieżąca

MSI-w5/20

Naiwna aktualizacja (4)

• Zastosowanie algorytmu LMS jest równoważne 

nauczeniu się funkcji użyteczności bezpośrednio 

z przykładów

:

(stan; nagroda do odebrania)

• Takie podejście sprowadza RL do 

standardowego problemu uczenia indukcyjnego

• Funkcja użyteczności może być także 

reprezentowana np. przez sztuczną sieć 

neuronową

MSI-w5/21

Naiwna aktualizacja (5)

• Wada: 

LMS nie wykorzystuje informacji zawartej w 

tym, że użyteczności stanów są od siebie zależne

!

• Struktura przejść pomiędzy stanami narzuca bardzo 

silne dodatkowe więzy:

Użyteczność danego stanu jest średnią ważoną 

(wagi=prawdopodobieństwa) użyteczności 

następników tego stanu plus nagrody przypisanej do 

tego stanu

• Zignorowanie tej informacji powoduje 

bardzo wolną 

zbieżność użyteczności do ich wartości dokładnych

MSI-w5/22

Naiwna aktualizacja (6)

Ponad 1000 sekwencji potrzeba, by agent uzyskał 
użyteczności bliskie wartościom poprawnym!!

MSI-w5/23

Adaptacyjne programowanie 

dynamiczne (1)

• Użyteczności U(i) oblicza się rozwiązując układ 

równań:

gdzie:
R(i)- nagroda przypisana do stanu i
M

ij

- prawdopodobieństwo wystąpienia

przejscia ze stanu do stanu j

• Wartości dokładne użyteczności zawiera Rys. 20.1(c)

( ) ( )

( )

+

=

j

ij

j

U

M

i

R

i

U

MSI-w5/24

Adaptacyjne programowanie 

dynamiczne (2)

• Ponieważ agent jest pasywny, nie dokonuje 

żadnej maksymalizacji wartości ze względu 

na akcje

• ADP dobrze wykorzystuje doświadczenie
• ADP stanowi odniesienie dla innych 

algorytmów RL

• Dla  dużych przestrzeni stanów ADP jest 

trudny do rozwiązania

background image

5

MSI-w5/25

Uczenie na podstawie 

chwilowych różnic (1)

• Istota: 

wykorzystać zaobserwowane przejścia 

pomiędzy stanami, aby poprawić wartości 

użyteczności dla zaobserwowanych stanów by 

były one zgodne z równaniami więzów

:

gdzie α - parametr  prędkości uczenia

• Częstość aktualizacji zależy od 

prawdopodobieństwa przejścia pomiędzy 

stanami

( )

( )

( ) ( ) ( )

(

)

i

U

j

U

i

R

i

U

i

U

+

+

α

MSI-w5/26

Uczenie na podstawie 

chwilowych różnic (2)

function TD-UPDATE(UeperceptsMNreturns tablica U

if TERMINALNY?[ethen

U[STAN[e]]

←RUNNING-AVERAGE(U[STAN[e],

NAGRODA[e], N[STAN[e]])

else if percepts zawiera więcej niż jeden element then

e’

← przedostatni element ciągu percepts

ij

← STAN[e’], STAN[e]

U[i

← U[i] + α(N[i])(NAGRODA[e’] + U[j] - U[i])

MSI-w5/27

Uczenie na podstawie 

chwilowych różnic (3)

Choć TD generuje bardziej zaszumione wartości użyteczności,
błąd średniokw. jest istotnie mniejszy niż dla LMS

MSI-w5/28

Pasywne uczenie w nieznanym 

otoczeniu (1)

• ADP można skutecznie stosować także w 

tym przypadku (otoczenie wolno ewoluuje)

• Agent uczy się modelu środowiska poprzez 

bezpośrednie obserwacje przejść stanów 
reprezentowanych przez tablicę M

• Wartości tablicy buduje się na podstawie 

znajomości liczby przejść danego stanu w 
stany sąsiadujące z tym stanem

MSI-w5/29

Pasywne uczenie w nieznanym 

otoczeniu (2)

ADP jest zbieżne dużo szybciej niż LMS i TD

MSI-w5/30

Aktywne uczenie się

w nieznanym otoczeniu (1)

• Pasywny RL-agent ma ustaloną strategię 

działania i nie musi troszczyć się o to, jaką 
akcję wybrać

• Aktywny RL-agent musi rozważać:

– Jaką akcję wybrać
– Jakie  mogą być wyniki tej akcji
– Jak wyniki tej akcji mogą wpłynąć na 

otrzymane nagrody

background image

6

MSI-w5/31

Aktywne uczenie się

w nieznanym otoczeniu (2)

• Model środowiska musi uwzględniać 

prawdopodobieństwa M

ij

a

przejścia ze stanu i

do innego stanu j, gdy jest dana akcja a

• Racjonalny RL-agent maksymalizuje swoją 

użyteczność:

• Agent musi wybierać akcję w każdym kroku, 

do czego potrzebuje miary osiągów

( ) ( )

( )

+

=

j

U

M

i

R

i

U

a

ij

a

max

MSI-w5/32

Eksploracja (1)

• Problem - jaką akcję powinien w danej 

sytuacji podjąć agent (wynik działania 
PERFORMANCE-ELEMENT)

• Akcja ma dwa rodzaje skutków:

– Zwiększa nagrody dla bieżącej sekwencji stanów
– Ma  wpływ na odebrane percepcje, a przez to na 

zdolność agenta do uczenia się

otrzymywania 

nagród dla przyszłych sekwencji

MSI-w5/33

Eksploracja (2)

• Dwa skrajne podejścia do zadania wyboru 

kolejnej akcji:

– Losowy wybór z nadzieją, że agent w końcu 

zbada całe środowisko (wacky=stuknięty)

– Zachłanne (greedy) podejście maksymalizujące 

użyteczność z wykorzystaniem bieżących estymat

MSI-w5/34

Eksploracja (2)

• Losowy wybór

– umożliwia nauczenie dobrych estymat użyteczności dla 

wszystkich stanów

– nigdy nie poprawia osiągów w zakresie dodatnich nagród

• Zachłanne podejście

– Zwykle znajduje ścieżkę do nagrody +1
– Ale potem trzyma się tej ścieżki i nigdy nie nauczy się 

użyteczności dla innych stanów (nie osiągnie perfekcji, 

ponieważ nie znajdzie lepszej ścieżki - zadowala się 

znalezioną ścieżką, która daje jakieś gwarantowane 

nagrody)

MSI-w5/35

Eksploracja (3)

MSI-w5/36

Eksploracja (4)

• Optymistyczna estymata użyteczności U

(nagród do zebrania):

N(ai) - ile razy próbowano akcję w stanie i

• Przykładowa funkcja f(un):

( )

( )

( ) ( )





+

+

+

j

a

ij

a

i

a

N

j

U

M

f

i

R

i

U

,

,

max

( )

<

=

+

razie

 

przeciwnym

 

w

gdy

,

u

N

n

R

n

u

f

e

Optymistyczna ocena 

najwyższej możliwej nagrody 

w jakimkolwiek stanie

Minimalna liczba prób 

dla pary (akcja, stan)

background image

7

MSI-w5/37

Eksploracja (5)

MSI-w5/38

Uczenie funkcji akcja-wartość (1)

• Istotne znaczenie w RL:

– Wystarczają do podejmowania decyzji 

bez 

wykorzystania modelu

– Mogą być wyuczone bezpośrednio poprzez 

sprzężenie zwrotne z nagrodą

• Gdy Q(a,i)=wartość wykonania akcji 

stanie :

( )

( )

i

a

Q

i

U

a

,

max

=

MSI-w5/39

Uczenie funkcji akcja-wartość (2)

• Podejście bez modelu umożliwia TD:

obliczane po każdym przejściu ze stanu do j

• Podejście 

bez wykorzystania modelu

, bardzo 

skuteczne

( )

( )

( )

(

) ( )

+

+

i

a

Q

j

a

Q

i

R

i

a

Q

i

a

Q

a

,

,

max

,

,

α

MSI-w5/40

Uczenie funkcji akcja-wartość (3)

MSI-w5/41

Uczenie funkcji akcja-wartość (4)

• WAŻNE PYTANIE -

czy i kiedy warto 

budować model

?

• Odpowiedź intuicyjna: gdy środowisko 

staje się coraz bardziej skomplikowane, np.

– szachy
– warcaby

warto budować model tego środowiska

MSI-w5/42

Uogólnienia w RL (1)

• Dotychczas wszystkie rozpatrywane funkcje 

(UMRQ) reprezentowano tabelarycznie

• Co zrobić, gdy liczba stanów jest ogromna 

(szachy - 10

50

)?!!

• Funkcyjna reprezentacja użyteczności, np.

Zamiast 10

50

wartości trzeba określić wag

( )

( )

( )

( )

i

f

w

i

f

w

i

f

w

i

U

n

n

+

+

+

=

K

2

2

1

1

background image

8

MSI-w5/43

Uogólnienia w RL (2)

• Zalety: 

– niesłychana kompresja wiedzy o problemie

– Możliwość uogólniania: na podstawie 

stanów, które agent zbadał, wnioskuje o 
stanach, których nie zbadał

• Modele można zbudować jako:

– Drzewa decyzyjne
– Sieci neuronowe
– ...

MSI-w5/44

Uogólnienia w RL (3)

• Zastosowania do gier:

– Program grający w szachy (Samuel, 1959)

• liniowa funkcja użyteczności
• 16 wag (!!!)
• program gra jak dobry szachista

– Sieć neuronowa do gry w trik-traka 

(backgammon - 10

120

stanów ) (1992) 

• 40 węzłów w warstwie ukrytej
• po 200 000 gier (2 tygodnie trenowania) program 

osiągnął poziom standardowego gracza

MSI-w5/45

Algorytmy genetyczne

i programowanie ewolucyjne

MSI-w5/46

Ewolucja w świecie organizmów 

żywych

• Doprowadza do wykształtowania się 

udanych 

organizmów

, bo:

– Organizmy niedopasowane do otoczenia wymierają
– Organizmy dopasowane mogą się reprodukować

• Potomstwo jest podobne do rodziców

• Gdy środowisko powoli ewoluuje, 

organizmy 

dopasowują się do zmian

, także ewoluując

• Czasem występują losowe mutacje:

– W  większości przypadków mutanty szybko wymierają

– Niektóre mutacje prowadzą do nowych udanych gatunków

MSI-w5/47

Algorytm genetyczny

function GENETIC-ALGORITHM(populacja, FITNESS-FN)

returns osobnik

inputs:populacja, zbiór osobników

FITNESS-FN, funkcja określająca dopasowanie osobnika

repeat

rodzice

← SELECTION(populacja, FITNESS-FN)

populacja

← REPRODUCTION(rodzice)

until jakiś osobnik nie jest wystarczająco dopasowany
return najlepszy osobnik w populacja, ze względu na FITNESS-FN

MSI-w5/48

Algorytm genetyczny (GA) w AI

• Działa dobrze w sztucznych systemach

• Osobnikiem może być:

– Kompletna funkcja realizowana przez agenta, 

wtedy FITNESS-FN jest miarą osiągów agenta lub 
funkcją nagrody

– Funkcja składowa agenta, wtedy FITNESS-FN jest 

składową krytyki

– . . .

background image

9

MSI-w5/49

GA jako RL

• Ponieważ proces ewolucyjny uczy funkcji agenta 

bazując na sporadycznych nagrodach 
(potomstwo!!) udzielonych przez funkcję selekcji, 
ma on cechy RL

• GA 

nie wykorzystuje relacji

występujących pomiędzy 

nagrodami i akcjami podejmowanymi przez agenta 
lub stanami środowiska

• Działanie GA polega na 

prostym przeszukiwaniu 

przestrzeni osobników

w celu znalezienia osobnika 

maksymalizującego FITNESS-FN

MSI-w5/50

Przeszukiwanie w GA

• Jest równoległe (każdy osobnik jest 

niezależny)

• Ma charakter hill-climbing (robi się małe 

zmiany genetyczne w osobnikach i używa 

najlepszych potomków)

• Problem:

– Czy zajmować się głównie najlepszymi, ignorując 

słabych? 

Grozi utknięcie w lokalnym maksimum!!

– Don’t kill infeasible individuals!

MSI-w5/51

Problemy implementacji GA

• Jak określić FITNESS-FN?
• Jak reprezentować osobniki?
• Jak selekcjonować osobniki (do reprodukcji)?
• W jaki sposób osobniki reprodukują się?

MSI-w5/52

Reprezentowanie osobników

• Klasyczny GA:

– chromosomy zbudowane z genów
– chromosom jest łańcuchem elementów 

zbudowanych ze skończonego alfabetu

– W skrajnym przypadku chromosom jest 

łańcuchem bitów

• Możliwe jest stosowanie chromosomów, 

których geny są 

liczbami rzeczywistymi

MSI-w5/53

Strategia selekcji

• Zwykle strategia losowa (ruletka) z 

prawdopodobieństwem wylosowania 
odpowiadającym wartości FITNESS-FN

• Selekcja z powtórzeniami - dobry osobnik 

ma szanse wielokrotnie być wylosowany

• Są inne strategie (rangowa, turniejowa, ...)

MSI-w5/54

Reprodukcja

• Losowe kojarzenie w pary
• Krzyżowanie tej pary w losowo wybranym 

miejscu chromosomu (2 osobniki potomne)

• Mutacja dowolnego z genów (małe 

prawdopodobieństwo mutacji)

background image

10

MSI-w5/55

Przykład GA

MSI-w5/56

Podsumowanie (1)

• Omówiono dwa podejścia

– bazujące na modelu
– bez wsparcia modelowego

• Użyteczność stanu jest 

oczekiwaną sumą 

nagród

otrzymanych od danego stanu do 

końca danej sekwencji stanów

MSI-w5/57

Podsumowanie (2)

• Użyteczność może być wyuczona poprzez:

– LMS:  całkowita zaobserwowana suma nagród do 

otrzymania stosowana jako bezpośrednie dane dla 
wyuczenia tej użyteczności; model stosowany tylko do 
wyboru akcji

– ADP: iteracyjnie oblicza dokładne użyteczności 

stanów, gdy dany jest estymowany model; optymalnie 
wykorzystuje informację o więzach

– TD: aktualizuje oceny użyteczności, by pasowały do 

użyteczności dla następnych stanów; model dostarcza 
surogatu doświadczenia

MSI-w5/58

Podsumowanie (3)

• Wyuczenie funkcji akcja-wartość 

nie 

wymaga modelu ani do uczenia, ani do 
selekcji odpowiedniej akcji

• Gdy agent jest aktywny, musi wybierać 

właściwe akcje, biorąc pod uwagę 

estymowane wartości tych akcji

oraz 

potencjalną możliwość wyuczenia 

nowej 

użytecznej wiedzy

MSI-w5/59

Podsumowanie (4)

• W  „dużych” przestrzeniach stanów algorytmy 

RL muszą bazować na reprezentacji 
funkcyjnej, co umożliwia uogólnianie wejść 
ponad stanami.  Algorytm TD umożliwia 
bezpośrednią korektę wag

• GA ma cechy RL, gdyż używa wzmocnienia 

do zwiększenia udziału udanych osobników w 
populacji. GA jest zdolny do uogólniania 
dzięki mutacjom i krzyżowaniu osobników