Mesterséges Intelligencia Csató Lehel
Mesterséges Intelligencia Csató Lehel Matematika-Informatika Tanszék Babe¸s–Bolyai Tudományegyetem, Kolozsvár
2010/2011
1/363
˝ Az Eloadások Témái Mesterséges Intelligencia
˝ mi a mesterséges intelligencia ... Bevezeto:
13
„Tudás”–reprezentáció
Csató Lehel
Gráfkeresési stratégiák
M.L.P
Szemantikus hálók / Keretrendszerek
B.P.
Játékok modellezése Bizonytalanság kezelése Fuzzy rendszerek Grafikus modellek Tanuló rendszerek Szimulált kifutés, ˝ Genetikus algoritmusok A perceptron modell ˝ Neurális hálók, önszervezodés Gépi tanulás 288/363
Admin ...
http://www.cs.ubbcluj.ro/~csatol/mestint
Mesterséges Intelligencia
13 Csató Lehel M.L.P
... trívia
Vizsga Szóbeli (60%) + Gyakorlat (40%)
B.P.
Laborgyakorlatok: 1
Gráfok ábrázolása - dedukciós algoritmus
18%
2
Játékelmélet
10%
3
Matlab - tanulási algoritmus
12%
4
Opcionális feladatok - max. 3/személy
Bemutatók (5–20 pont) Alkalmazások bemutatása, melyek adaptív, gépi tanulásos vagy mestint módszereket alkalmaznak. 289/363
sok%
Robotasszisztens a Stanfordról
STAIR
Mesterséges Intelligencia
13 Csató Lehel M.L.P B.P.
˝ A robotok programozásánál nem volt lehetséges speciális eloprogramozás nélkül összeszedni a mosatlant vagy megetetni a cicákat. ˝ Erre általában két kamerát A robotok hagyományosan 3D-s modellt készítenek környezetükrol. ˝ és számítási kapacitás-igényes munkával, az adott tárgy pontjainak használtak, a távolságokat ido– tömege alapján határozták meg. A STAIR alternatív megoldást kínál: pontok sokasága helyett az algoritmus az adott tárgy megfogható részének a középpontját azonosítja. Élek hosszúságát számolja ki, majd az eredményt az adatbázisban levo˝ statisztikailag hasonló tárgyakkal veti össze. A szoftver ezek alapján hozza létre a háromdimenziós modelleket; lényegesen gyorsabban és kevesebb munkával, mint a régi megközelítésben.
Stanford STAIR 290/363
agens.ai
Többrétegu˝ Hálók
I
Mesterséges Intelligencia
13
Az információ – számok – a ˝ a bemeneti X rétegbol kimeneti Y réteg fele halad.
Csató Lehel M.L.P
X
Egy mintára kiszámítjuk a kimeneti értéket, minden neuron értékét kiszámítva.
B.P.
Feltételezzük, hogy minden – adat és súly – folytonos.
MLP NEM Bayes-háló A neurális hálók kapcsolatai kommunikációt, a ˝ Bayes-hálók kapcsolatai függoséget jelentenek. 291/363
Y
Többrétegu˝ Hálók Mesterséges Intelligencia
x1
13
x2
x3
x4
Csató Lehel
W
II „Formálisan”: A neuronháló csúcsai az információt feldolgozzák.
M.L.P
xbe ) yki def = fakt (x
B.P.
h1
h2
h3
h4
h5
V
Az élek: a csúcsok közötti kapcsolatok. X (j) (i) xbe 0 def wij xki = j
A fenti lépések ˝ ismétlodnek.
Y MI az információ? 292/363
definíció szerint x ki
∈ Rk
Többrétegu˝ Hálók Mesterséges Intelligencia
x1
13
x2
x3
x4
Csató Lehel
W
II „Formálisan”: A neuronháló csúcsai az információt feldolgozzák.
M.L.P
xbe ) yki def = fakt (x
B.P.
h1
h2
h3
h4
h5
V
Az élek: a csúcsok közötti kapcsolatok. X (j) (i) xbe 0 def wij xki = j
A fenti lépések ˝ ismétlodnek.
Y MI az információ? 292/363
definíció szerint x ki
∈ Rk
Többrétegu˝ Hálók Mesterséges Intelligencia
x1
13
x2
x3
x4
Csató Lehel
W
II „Formálisan”: A neuronháló csúcsai az információt feldolgozzák.
M.L.P
xbe ) yki def = fakt (x
B.P.
h1
h2
h3
h4
h5
V
Az élek: a csúcsok közötti kapcsolatok. X (j) (i) xbe 0 def wij xki = j
A fenti lépések ˝ ismétlodnek.
Y MI az információ? 292/363
definíció szerint x ki
∈ Rk
Többrétegu˝ Hálók Mesterséges Intelligencia
x1
13
x2
x3
x4
Csató Lehel
W
II „Formálisan”: A neuronháló csúcsai az információt feldolgozzák.
M.L.P
xbe ) yki def = fakt (x
B.P.
h1
h2
h3
h4
h5
V
Az élek: a csúcsok közötti kapcsolatok. X (j) (i) xbe 0 def wij xki = j
A fenti lépések ˝ ismétlodnek.
Y MI az információ? 292/363
definíció szerint x ki
∈ Rk
Többrétegu˝ Hálók Mesterséges Intelligencia
13
III
˝ A bemen P o aktivitás: yj = i wij xi + bj .
1 f(z − b)
Csató Lehel M.L.P B.P.
A perceptron tanulási algoritmushoz hasonlóan: ˝ elobb: x i0 = [x1 , . . . , xd , 1]T ⇒ w ·j0 = [w1 , . . . , wd , b]T
0
b 1 2 f(z) = sgn(z)
Univerzális approximáció A következo˝ rendszer: w, b ) = fM (z|w
M X
wm f(z − bm )
m=1
univerzális approximátor, azaz ∀δ > 0 ∀g ∈ L2 (Rd ) w, b )kL2 ≤ δ ∃M, w , b ú.h. kg − fM (z|w 293/363
Többrétegu˝ Hálók Mesterséges Intelligencia
IV
Univerzális approximátor: bizonyítás a szint-halmazokon alapszik (lásd Lebesgue integrálás).
13 Csató Lehel
Vizualizálás: Mintavételezés a
M.L.P B.P.
5
10
15
20
w és b értékekbol ˝
MATLAB kód: %Generatorfuggvenyek f = inline('((x>0)0.5).*2'); g = inline('2./(1+exp(2*x))1'); % komponensek szama mComp = 10; % fv.nyek szama nF = 6; % X tengely xx=10:0.05:10; xd=repmat(xx,[mComp,1]); % plot init clf; hf = subplot(1,2,1); set(gca, ... 'Position',[0.05 0.1 0.42 0.85],... 'YTick',[],'XTick',[]); hold on; box on; ylim([25,25]); set(gca,... 'Position',[0.55 0.1 0.42 0.85],... 'YTick',[],'XTick',[]); hold on; box on; ylim([25,25]);
294/363
hg = subplot(1,2,2); % megjelenitesi stilus style = {'b','r','k','m','c','g'}; % F.v.nyek generalasa 5 for ii=1:nF; % egyutthatok ss=(2*rand(mComp,1) 1)*6; ww=(2*rand(mComp,1) 1)*6; bb=(2*rand(mComp,1) 1)*10;
10
bd=diag(bb)*ones(size(xd)); y_f = sum(diag(ww) * f(diag(ss)*xd + bd)); y_g = sum(diag(ww) * g(diag(ss)*xd + bd)); % megjelenites 15 plot(hf,xx,y_f,style{ii},'LineWidth',3); plot(hg,xx,y_g,style{ii},'LineWidth',3); end; % nyomtatas print depsc2 rand_fn.eps
Aktivációs függvények Mesterséges Intelligencia
13
1
1 Aktivacios fugveny F. Derivaltja
0.6
0.5
Aktivacios fuggveny F. Derivaltja
0.2
Csató Lehel 0
−0.2
M.L.P B.P.
−0.5
−1 −10
−0.6
−5
0
5
10
−1 −10
−5
0
Véletlen függvények a függvényosztályokból:
295/363
5
10
Backpropagation Mesterséges Intelligencia
I
Nem bináris függvényt közelít.
13
A bemeneti/kimeneti értékek folytonosak.
Csató Lehel
fNN : Rd → R
M.L.P B.P.
Folytonos esetben használható a négyzetes hibafüggvény: wNN ) = E(w
N 2 1X xn ) yn − fNN (x 2 n=1
ahol w NN a neuronháló paraméterei. Differenciálható akt. függvényeknél a gradiens szabály alkalmazható ⇒ backpropagation szabály. 296/363
Backpropagation Mesterséges Intelligencia
II
Error back-propagation ⇔ négyzetes hiba visszaterjesztése
13 Csató Lehel
Egy adott tanulási halmazhoz és egy w NN neurális hálóhoz rendelt négyzetes hiba
M.L.P B.P.
N 2 1X xn ) wNN ) = yn − fNN (x E(w 2 n=1
akkor zéró, ha a neurális háló minden adatot jól közelít. (0)
Egy adott w NN hálónál jobban közelíto˝ hálót kapunk ha egy kis lépést végzünk a negatív gradiens irányába. 297/363
Backpropagation Mesterséges Intelligencia
III
„Képletesen”
13 (t+1) (t) w NN ⇐ w NN − α
Csató Lehel
w(t) ∂E(w NN )
M.L.P
w(t) ∂w NN
(t) w(t) ⇐ wNN − α ∂w E(w NN )
B.P.
ahol α – tanulási együttható; – a hiba gradiense (vektorok!).
w(t) ∂w E(w NN )
Kérdés: milyen α ˝ értékek megfeleloek? Kis lépések ⇒ hosszú konvergencia. Nagy lépések ⇒ nem konvergál. 298/363
Local optimum
w2 w1
w0
Backpropagation Mesterséges Intelligencia
IV
Differenciálás szabálya:
13
∂f(g1 (wi ), . . . , gk (wi )) X ∂f(g1 , . . . , gk ) ∂gj = ∂wi ∂gj ∂wi g
Csató Lehel
j
M.L.P B.P.
Neuronháló függvénye: y = · · · · · · , fj
X
h1 wi1 !
hi wij
! ,···
h2 wi2
fj (
wiN
i
hN
∂wij E(·) =
X j
299/363
∂fj E(·) ∂wij fj
X i
! wij hi
P i
hi wij )
Backpropagation Mesterséges Intelligencia
(folyt)
13 Csató Lehel
V
X N ∂wij E(·) = ∂fj E(· · · ) ∂wij fj w h n=1 ij i X N = hi fj0 n=1 wij hi ∂fj E(·)
M.L.P B.P.
A bemeneti érték és a kimeneti hiba szorzódnak. P És ∂fj E(·) = ∂fj E . . . , gk v f , . . . jk j j Lánc-deriválás szerint: X ∂fj E(·) = vjk ∂gk E(·)gk0 (·)
vj1 fj (·)
...
k
vjK Az egyéni hibák súlyozottan összeadódnak. 300/363
Backpropagation Mesterséges Intelligencia
13 Csató Lehel M.L.P B.P.
VI
(folyt) ˝ terjed, a tanulás Tehát: amíg a muködésnél ˝ a jel elore ˝ a háló folyamán a hiba visszafele; a kimeneti réteg felol bemenete felé „terjed”. Hiba-visszaterjesztés (BP) P
·
=⇒ ˝ alakulnak; azaz az osztópontok összegzové P
·
=⇒ azaz az összegzo˝ csomópontok meg hiba-elosztóvá. 301/363
Backpropagation
Összefoglaló
Mesterséges Intelligencia
M.L.P
A BP algoritmus a gradiens szabály alkalmazása a neuronhálókra;
B.P.
Az alap a négyzetes hiba;
13 Csató Lehel
Egyszeruen ˝ implementálható;
Local optimum
w2 w1
Nagyon sok alkalmazás; Hátrányok: Mivel gradiens, lassú ⇒ nagyon sokáig tarthat a tanulás. Más módszerekkel állítani be a súlyokat: Newton, Konjugált gradiens. Nincs a becsült mennyiségre konfidencia ⇒ Rosenbrock valószínuségi ˝ módszerek szükségesek. 302/363
w0
Backpropagation Mesterséges Intelligencia
13
` ´2 Feladat: keressük a h(x1 , x2 ) = 100 x2 − x21 + (1 − x1 )2 függvény minimumát a gradiens szabály használatával.
Csató Lehel M.L.P 2
B.P.
Példa I
∂1 h(·) = 400(x2 − x1 )x1 + 2(x1 − 1) 2
∂2 h(·) = 200(x2 − x1 ) A második egyenlet ↔ x2 = x1 Behelyettesítve x1 = 1.
Induljunk a (−1, 1) pontból.
303/363
Backpropagation Mesterséges Intelligencia
Példa II
BP szabály = gradiens – általában nagyon lassú.
13
Rosenbrock fv. optimizálás
Csató Lehel
2
Gradient Descent Scaled Conjugate Gradients Quasi Newton Conjugate Gradients
M.L.P B.P.
1.5
1
0.5
0
−0.5 −1.5 304/363
−1
−0.5
0
0.5
1
1.5
M.L.P. Mesterséges Intelligencia
Összefoglaló
Neurális hálók fekete-doboz módszerek:
13
1
minden feladat megoldására potenciálisan alkalmazhatóak;
2
jó eredményekhez (majdnem mindig) kell egy kis igazítás a módszeren;
3
siker függ a tapasztalattól;7
Csató Lehel M.L.P B.P.
BackPropagation = gradiens tanulás
7 305/363
1
általában nagyon lassú;
2
fejlett módszerek: konjugált gradiens módszerek, quasi-Newton, etc. gyorsítanak a konvergencián.
3
lokális optimumok elkerülésére többszálú optimizálás, ˝ pl. mintavételezéssel kijelölni a kezdoértékeket.
Érdemes tehát tovább tanulni.