51
Control prin ˆ ınv ˘ at ¸are Master ICAF, An 1 Sem 2 Lucian Bus ¸oniu

Control prin învăţare - Master ICAF, An 1 Sem 2busoniu.net/teaching/ci2018/ci18_part6_handout.pdf · 2018. 2. 26. · direct de marimea spat¸iului st˘ arilor – st˘ arile continue

  • 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