Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Control prin ı̂nvăţareMaster ICAF, An 1 Sem 2
Lucian Buşoniu
Intro OPD OPC Perspective
Partea VI
Planificarea online. Perspective
Intro OPD OPC Perspective
Partea 5 ı̂n plan
Problema de ı̂nvăţare prin recompensăSoluţia optimalăProgramarea dinamică (variabile discrete)Învăţarea prin recompensă (variabile discrete)Tehnici de aproximareProgramarea dinamică cu aproximare (var. continue)Învăţarea prin recompensă cu aproximare (var. continue)Planificarea online (var. continue şi discrete)
Intro OPD OPC Perspective
Partea 5 ı̂n plan: Categorii de algoritmi
După utilizarea unui model:Bazat pe model: f , ρ cunoscuteFără model: doar date (ı̂nvăţarea prin recompensă)
După nivelul de interacţiune:Offline: algoritmul rulează ı̂n avansOnline: algoritmul controlează direct sistemul
Exact vs. cu aproximare:Exact: x , u număr mic de valori discreteCu aproximare: x , u continue (sau multe valori discrete)
Intro OPD OPC Perspective
Conţinut partea 6
1 Introducere
2 Planificarea optimistă cu acţiuni discrete
3 Planificarea optimistă cu acţiuni continue
4 Perspective
Intro OPD OPC Perspective
1 Introducere
2 Planificarea optimistă cu acţiuni discrete
3 Planificarea optimistă cu acţiuni continue
4 Perspective
Intro OPD OPC Perspective
Reamintim: MDP determinist
Măsoară stări x , aplică acţiuni u, primeşte recompense rSistem: dinamica xk+1 = f (xk , uk )Performanţă: funcţia de recompensă rk+1 = ρ(xk , uk )Obiectiv: maximizează returnul
∑∞k=0 γ
k rk+1,unde factorul de discount γ ∈ (0, 1)
Intro OPD OPC Perspective
Planificarea online
La fiecare pas k , rezolvă problema local ı̂n starea xk :Secvenţe infinite de acţiuni: u∞ = (uk , uk+1, . . . )Problema de optimizare: maxu∞ v(u∞) (=
∑∞i=0 γ
i rk+1+i)1. Exploră secvenţe din xk , pentru a găsi o secvenţă
aproape-optimală2. Aplică prima acţiune a acestei secvenţe, şi repetă
Control predictiv cu orizont alunecător
Intro OPD OPC Perspective
Planificarea optimistă (OP): Idea principală
iniţializează cu setul tuturor secvenţelor posibilerepeat
selectează setul cel mai promiţător, optimistı̂mparte setul selectat ı̂n subseturi mai mici
until bugetul de calcul n epuizatreturnează o secvenţă din cel mai bun set
Intro OPD OPC Perspective
Avantajele OP
Garanţii de optimalitate ı̂n funcţie de bugetul nşi complexitatea κ a problemei:
eroare = O(g(n, κ))
...pentru dinamici neliniare şi recompense generale
Fiindcă este reaplicat la fiecare nouă stare, OP nu depindedirect de mărimea spaţiului stărilor – stările continue nupun probleme
Intro OPD OPC Perspective
1 Introducere
2 Planificarea optimistă cu acţiuni discreteAlgoritmAnalizăExemple şi aplicaţie ı̂n timp real
3 Planificarea optimistă cu acţiuni continue
4 Perspective
Intro OPD OPC Perspective
Problema
Ipoteze
Spaţiul acţiunilor discret şi finit U ={
u1, . . . , uM}
Funcţia de recompensă mărginită ρ(x , u) ∈ [0, 1],∀x , u
Cf. discuţiei de mai sus, stările continue pot fi tratate nativDacă acţiunile sunt continue ⇒ trebuie discretizate
Intro OPD OPC Perspective
Valori
Secvenţă finită ud , văzută şi ca un set desecvenţe infinite (u0, . . . , ud−1, ?, ?, . . . )
`(ud) =∑d−1
k=0 γkρ(xk , uk )
margine inferioară pe returnurile u∞ ∈ udb(ud) = `(ud) +
γd
1−γmargine superioară pe returnurile u∞ ∈ ud
v(ud) = maxu∞∈ud v(u∞)returnul dacă ud este urmată de acţiuni optimale
Intro OPD OPC Perspective
Algoritm: OPD
Planificarea optimistă pentru sisteme deterministe (OPD)
iniţializează secvenţa vidă u0 (= setul tuturor secvenţelor)loop de n ori
selectează un nod terminal optimist u†d , maximizând bexpandează u†d cu toate valorile pt. acţiunea la d + 1
end loopreturn greedy u∗d∗ maximizing `
Intro OPD OPC Perspective
1 Introducere
2 Planificarea optimistă cu acţiuni discreteAlgoritmAnalizăExemple şi aplicaţie ı̂n timp real
3 Planificarea optimistă cu acţiuni continue
4 Perspective
Intro OPD OPC Perspective
Optimalitate versus adâncime
1 OPD returnează o secvenţă u∗d∗ , cu lungimead∗ = cea mai mare adâncime expandată
2 Această secvenţă este aproape-optimală:
v∗ − v(u∗d∗) ≤γd
∗
1 − γ
unde v∗ este valoarea optimă (din starea la rădăcină x0)
Intro OPD OPC Perspective
Cazul 1: Toate căile sunt optimale
Considerăm un arbore ı̂n care toate recompensele sunt 1:
b(ud) = 11−γ , ∀ud ⇒ OPD expandează ı̂n ordinea adâncimiiPentru a expanda toate nodurile până la adâncimea d , vomcheltui:
n =d∑
i=0
Md =Md+1 − 1
M − 1
şi arborele creşte ı̂ncet cu budgetul n
Intro OPD OPC Perspective
Cazul 2: O singură cale optimală
Considerăm un arbore ı̂n care recompensele sunt 1 doar de-alungul unei singure căi (linia groasă), şi 0 ı̂n afara ei:
b(ud) = 11−γ pe calea optimală,γd
1−γ ı̂n afară⇒ OPD expandează doar pe calea optimală
Aşadar ca să expandăm până la d , vom cheltui doar n = d ,şi arborele creşte rapid cu n
Intro OPD OPC Perspective
Cazul general: Factorul de ramificare
OPD expandează doar ı̂n subarborele aproape-optimal:
T ∗ ={
ud∣∣∣ v∗ − v(ud) ≤ γd1−γ }
Definim κ = factorul de ramificare asimptotic al T ∗:măsură a complexităţii problemei, κ ∈ [1, K ]
De ex. κ = 2, M = 3:
Intro OPD OPC Perspective
Adâncime versus buget n
Pentru a atinge adâncimea d ı̂n arborele cu factorul deramificare κ, trebuie să expandăm n = O(κd) noduri
⇒ d∗ = Ω( log nlog κ
)
Intro OPD OPC Perspective
Garanţia finală: Optimalitate versus buget
Teoremă1 OPD returnează o secvenţă lungă u∗d∗ , d
∗ = Ω( log nlog κ)
2 Această secvenţă este aproape-optimală:
v∗ − v(u∗d∗) ≤γd
∗
1 − γ= O(n−
log 1/γlog κ )
Control optimal general, dar calcul exponenţial n = O(κd)Totuşi κ poate fi mic ı̂n probleme interesante!
Intro OPD OPC Perspective
1 Introducere
2 Planificarea optimistă cu acţiuni discreteAlgoritmAnalizăExemple şi aplicaţie ı̂n timp real
3 Planificarea optimistă cu acţiuni continue
4 Perspective
Intro OPD OPC Perspective
Reamintim: Pendulul inversat
x = [α, α̇]>, u = voltajStabilizare ı̂n sus, necesită balans
Dificil pentru planificare:traiectorii lungi, recompense pe termen scurt derutante
Intro OPD OPC Perspective
Simulare
DemoTraiectorie:
Intro OPD OPC Perspective
În timp real: Idee
Dificultate: timpul de calcul mare trebuie luat ı̂n considerare!
De obicei doar prima acţiune a secvenţei este trimisă laactuatorDar reamintim: OP returnează secvenţe lungi!
⇒ Trimite o subsecvenţă lungă (de lungime d ′),şi foloseşte timpul pentru a calcula ı̂n fundal
Intro OPD OPC Perspective
Arhitectură
Calculează secvenţa iniţială (sistemul trebuie să fie stabil)Trimite ı̂n buffer, şi ı̂ncepe imediat calcululsecvenţei următoare din starea următoare prezisă
Intro OPD OPC Perspective
Rezultate de timp real: Pendulul inversat
Intro OPD OPC Perspective
1 Introducere
2 Planificarea optimistă cu acţiuni discrete
3 Planificarea optimistă cu acţiuni continueContext şi algoritmAnalizăExemple
4 Perspective
Intro OPD OPC Perspective
Ipoteze
Recompense r ∈ [0, 1]Spaţiul acţiunilor continuu şi scalar U = [0, 1]Dinamică şi recompense continue Lipschitz:∥∥f (x , u)− f (x ′, u′)∥∥ ≤ Lf (∥∥x − x ′∥∥ + ∣∣u − u′∣∣)∣∣ρ(x , u)− ρ(x ′, u′)∣∣ ≤ Lρ(∥∥x − x ′∥∥ + ∣∣u − u′∣∣)γLf < 1: cea mai restrictivă
Intro OPD OPC Perspective
Împărţirea seturilor
Împarte U∞ iterativ, ducând la un arbore dehiperdreptunghiuri (HD)
Fiecare HD i reprezintă explicit doar dimensiuniledeja ı̂mpărţite, k = 0, . . . , Ki − 1HD i are valoarea v(i) =
∑Ki−1k=0 γ
k ri,k+1,recompensele secvenţei centrale
Intro OPD OPC Perspective
Funcţie de valoare Lipschitz
Pentru oricare două secvenţe de acţiuni u∞, u′∞:∣∣v(u∞)− v(u′∞)∣∣ ≤ Lρ1 − γLf∞∑
k=0
γk∣∣uk − u′k ∣∣
Intuiţie: stările (şi deci recompensele) pot diverge până laun punct, dar divergenţa este controlată datorită γLf < 1
Intro OPD OPC Perspective
Marginea superioară pentru un HD
Pentru fiecare secvenţă u∞ ı̂n HD i :
v(u∞) ≤ v(i) +max{1, Lρ}
1 − γLf
∞∑k=0
γkwi,k := b(i)
wi,k lăţimea dimensiunii k , = 1 dacă nu a fost ı̂mpărţită
b(i) valoarea b a HD i
Intro OPD OPC Perspective
Diametrul şi selecţia dimensiunii
Diametrul δ(i) := max{1,Lρ}1−γLf∑∞
k=0 γkwi,k
= incertitudine pe valorile din HD
Impactul dimensiunii k asupra incertitudinii este γkwi,k⇒ când ı̂mpărţim un HD, alegem dimensiunea cu cel mai
mare impact, pentru a reduce cel mai mult incertitudinea
Împărţire ı̂ntr-un număr impar T > 1/γ de bucăţi
Intro OPD OPC Perspective
Algoritmul OPC
Planificarea optimistă cu acţiuni continue (OPC)Input: buget de apeluri ale modelului n
iniţializează arborele cu HD rădăcină U∞
while bugetul n nu este epuizat doselectează HD terminal optimist i† = arg maxi∈L b(i)şi dimensiunea cu impact maxim k† = arg maxk γ
kwi†,kı̂mparte i† de-a lungul k†, creând T noduri-copil ı̂n
arboreend whilereturnează cea mai bună secvenţă centrală,i∗ = arg maxi v(i)
Timpul de calcul măsurat via apeluri ale modelului (f , ρ) ı̂n locde expansiuni de noduri ca ı̂n OPD, fiindcă o expansiune ı̂nOPC necesită simularea unor secvenţe de lungimi variabile, cucost de calcul variabil
Intro OPD OPC Perspective
1 Introducere
2 Planificarea optimistă cu acţiuni discrete
3 Planificarea optimistă cu acţiuni continueContext şi algoritmAnalizăExemple
4 Perspective
Intro OPD OPC Perspective
Optimalitate versus diametru
OPC returnează o secvenţă i∗ care este aproape-optimală:
v∗ − v(i∗) ≤ δ∗
unde δ∗ este cel mai mic diametru printre nodurile expandate
Intro OPD OPC Perspective
Diametru vs. adâncime
Dată fiind adâncimea d =numărul total de ı̂mpărţiri:
δ(i) = Õ(γq
2d τ−1τ2 ), unde τ =
⌈log 1/T
log γ
⌉
Diametrele variază cu ordinea ı̂mpărţirilor, dar toate convergcătre 0 aproximativ exponenţial ı̂n
√d . Exemplu:
Intro OPD OPC Perspective
Factor de ramificare
OPC expandează doar ı̂n arborele aproape-optimal:T ∗ = {i ∈ T | v∗ − v(i) ≤ δ(i)}
Cazurile speciale mai complicate decât ı̂n OPD, darfactorul asimptotic de ramificare κ ∈ [1, T ] of T ∗ rămâneutil ca o măsură a complexităţii problemei
De ex. κ = 2, T = 3:
Intro OPD OPC Perspective
Adâncime versus budget n
Pentru a atinge d ı̂n arborele cu factor de ramificare κ,trebuie expandate O(κd) noduri,necesitând n = O(dκd) = Õ(κd) apeluri ale modelului
⇒ adâncimea maximă d∗ = Ω̃( log nlog κ
)
Intro OPD OPC Perspective
Garanţie finală: Optimalitate verus buget
TeoremăDupă n apeluri ale modelului, suboptimalitatea OPC este:
v∗ − v(i∗) ≤ δ∗ ≤ δ(d∗) =
Õ(γr
2(τ−1) log nτ2 log κ ), când κ > 1
Õ(γn1/4b), când κ = 1
Convergeţă mai rapidă când κ este mai micCând κ = 1, convergenţă rapidă, cu puterea n1/4
Când κ > 1, plătim pentru generalitate: calcul exponenţialκd pentru a atinge d
Intro OPD OPC Perspective
1 Introducere
2 Planificarea optimistă cu acţiuni discrete
3 Planificarea optimistă cu acţiuni continueContext şi algoritmAnalizăExemple
4 Perspective
Intro OPD OPC Perspective
Simulare: Pendulul inversat
De notat: o variantă diferită a algoritmului numită OPC‘simultan’, cu garanţii similare
Demo
Intro OPD OPC Perspective
Pendul inversat Quanser
Sistem:x = unghi braţ α, unghi bază θ,viteze unghiulareu = voltaj motor ∈ [−9, 9] VPerioadă de eşantionare Ts = 0.05
Obiectiv: stabilizare ı̂n sus:ρ = −α2−θ2− .005(α̇2 + θ̇2)− .05u2,normalizat la [0, 1]Factor de discount γ = 0.85Necesită balans
Intro OPD OPC Perspective
Traiectorie controlată
n = 5000 apeluri model; de notat acţiunile discretizate adaptiv
Intro OPD OPC Perspective
Control ı̂n timp real
Foloseşte aceeaşi metodă de paralelizare ca şi OPD
Real-time demo
Intro OPD OPC Perspective
1 Introducere
2 Planificarea optimistă cu acţiuni discrete
3 Planificarea optimistă cu acţiuni continue
4 Perspective
Intro OPD OPC Perspective
Conexiuni: Control optimal
Controlează un sistem minimizând costul JBazat pe modelPosibil ı̂n timp continuu, orizont finit
RL, DP sunt control optimal!Controlează un sistem maximizând returnul Rh(x)În timp discret, orizont infinitRL fără model, bazat pe date/interacţiune
Intro OPD OPC Perspective
Conexiuni: Control predictiv
Bazat pe model, clasic liniarPrincipiu de bază: receding horizon
Planificare = control predictiv general
Intro OPD OPC Perspective
Procese de fabricaţie
Focus curs: Controlul sistemelor generice
Procese de fabricaţieLegate de logistică şi operations researchVariabile discrete sunt importanteposibil combinate cu variabile continue: hibridAproximarea rămâne esenţialăTranziţii de stare cu durată variabilă:procese de decizie semi-Markov
DP & RL din perspectiva operations research:Warren B. Powell, Approximate Dynamic Programming: Solvingthe curses of dimensionality, ed. 2, Wiley, 2011.
Intro OPD OPC Perspective
Exemple de aplicaţii
· · ·Înlocuirea unei maşini
Job shop scheduling: m sarcini, n maşini, constrângeriObiectiv: minimizarea timpului total
(Zhang & Dietterich, 1995)
Optimizarea liniilor de transfer: n maşini interconectateprin buffere, maşinile se pot defectaObiectiv: maximizarea producţiei cu inventar minim
(Mahadevan & Theocharous, 1998)
Intro OPD OPC Perspective
Probleme deschise
RL & DP ı̂n curs de dezvoltare
Probleme deschise:Proiectarea aproximatoarelorStări şi acţiuni cu dimensionalitate mareStări care nu pot fi măsurateGaranţii de siguranţă şi stabilitate
IntroducereIntroducere
Planificarea optimistă cu acţiuni discreteAlgoritmAnalizăExemple şi aplicaţie în timp real
Planificarea optimistă cu acţiuni continueContext şi algoritmAnalizăExemple
PerspectivePerspective