Optimal control: Reinforcement learning

Definition

Rein­force­ment lear­ning (RL) ist eine Metho­de für das opti­mal con­trol unter sehr her­aus­for­dern­den Bedin­gun­gen. Die Zustands­än­de­run­gen sind zufäl­lig, die Wahr­schein­lich­kei­ten nicht bekannt und die zu opti­mie­ren­de Funk­ti­on sel­ber ver­fügt über kei­ne geschlos­se­ne Form. Den­noch soll eine opti­ma­le poli­cy gefun­den werden.

Unter einer poli­cy ver­steht man einen Plan, der für jeden mög­li­chen Zustand das­je­ni­ge Steu­er­si­gnal angibt, wel­ches über lan­ge Sicht zu den bes­ten Ergeb­nis­sen führt. Das der­ar­tig for­mu­lier­ba­re Auf­ga­ben­spek­trum ist so all­ge­mein, dass von der Maschi­nen­steue­rung über die adap­ti­ve Pla­nung von Search-and-Res­cue Mis­sio­nen bis hin zur Entwck­lung von eigen­stän­dig ler­nen­den und auf Welt­meis­ter­ni­veau spie­len­den Schach­al­go­rith­men alls als RL Pro­blem auf­ge­fasst wer­den kann.

Beispiel

Ein bei­spiel für ein instruk­tiv mit RL lös­ba­res opti­mal con­trol Pro­blem ist die navi­ga­ti­on eines Laby­rin­thes vom Start­punkt \(A\) bis zum Ziel­punkt \(B\). Das Lay­out des Laby­rin­thes sei unbe­kannt aber vom das Laby­rinth navi­gie­ren­den Algo­rith­mus lokal abfrag­bar. Da der Algo­rith­mus mit sei­ner Umge­bung zwecks Infor­ma­ti­ons­ge­win­nung aktiv inter­agie­ren kann, wird er auch Agent genannt. Das obi­ge Pro­blem als LP, QP, … SDP zu beschrei­ben wäre ‑falls über­haupt mög­lich — enorm schwierig.

Abbil­dung 1: Das voll­stän­di­ge Pro­blem­mo­dell (a) der Laby­rinth­na­vi­ga­ti­on ist dem RL Agen­ten nicht zugäng­lich. Die­ser kann ledig­lich ver­schie­de­ne Aktio­nen an ver­schie­de­nen Posi­tio­nen aus­füh­ren und erhält unmit­tel­ba­re Beloh­nun­gen für die Akti­on (b). Die opti­ma­le poli­cy \(\pi^*\) ist ein Vek­tor­feld, das die für jeden Zustand bes­te Akti­on anzeigt ©.

Beispielanalyse

Die Lösung des Laby­rinth­pro­b­le­mes ist eien Poli­cy \(\pi^*:S\ni s\mapsto \pi^*(s)\in A\), wel­che eine  Posi­ti­on \(s\in S\) als Input akzep­tiert und als Out­put eine Akti­on \(a\in A\) gene­riert. Es wird damit nicht nur ein star­rer Plan von Posi­tio­nen \(s_A, s_1, …, s_B\) vor­ge­schla­gen, son­dern das Pla­nungs­pro­blem für alle mög­li­chen Anfangs­po­si­tio­nen gleich­zei­tig gelöst. Wäre der Agent nun auf eine belie­bi­ge Posi­ti­on \(s_0\) gesetzt, und soll von dort auf den kür­zes­ten Weg zu \(B\) fin­den, so gelingt ihm auch das durch Befol­gung der Poli­cy $$s_0\stackrel{\pi^*(s_0)=a_0}{\rightarrow} s_1\stackrel{\pi^*(s_1)=a_1}{\rightarrow} …\stackrel{\pi^*(s_n)=a_n}{\rightarrow}s_B .$$ Sel­bi­ges gilt, wenn die Posi­ti­ons­än­de­run­gen vom zufall beein­flusst wer­den und die genaue Fol­ge­po­si­ti­on nicht zu 100% aus den ver­gan­ge­nen Posi­tio­nen und der gewähl­ten Akti­on folgt.

Abbil­dung 2: Die Poli­cy \(\pi^*\) weist den kür­zes­ten Weg von \(A\) nach \(B\) (a).Auch für ande­re Start­po­si­tio­nen und in der Gegen­wart von Zufalls­ef­fek­ten erfüllt sie die­se Rol­le (b), ©. Jedem Paar von Posi­ti­on \(s_0\) und Akti­on \(a\) kann die noch erreich­ba­re kür­zes­te Weg­län­ge zuge­wie­sen wer­den und die­se Funk­ti­on erfüllt eine Kom­po­si­ti­ons­ei­gen­schaft: Der Wert von \((s_0,a)\) ist die Weg­län­ge von \(s_0\) nach \(s(s_0,a)\) plus die kür­zes­te Weg­län­ge von \(s(a_0,a)\) nach \(B\) (d).

Formulierung von RL Problemen

RL Pro­ble­me wer­den ähn­lich for­ma­li­siert wie Mar­kov decis­i­on pro­ces­ses. Als Input für RL Algo­rith­men wird ein Com­pu­ter­mo­dell benö­tigt, dass

  • Den Zustands­raum \(S\) und den Akti­ons­raum \(A\) definiert
  • Für jedes Paar \((s,a)\in S\times A\) eine (sto­chas­ti­sche) Beloh­nung \(r(s,a)\) generiert
  • Für jedes Paar \((s,a)\in S \times A\) (sto­chas­tisch) einen Nach­fol­ge­zu­stand \(s’(s,a)\) generiert.
Die­se Anfor­de­run­gen sind noch etwas schwä­cher und prak­tisch gese­hen ein­fa­cher zu hand­ha­ben als bei Mar­kov decis­i­on pro­ces­ses. Statt einer tabel­la­ri­schen ganz­heit­li­chen Erfas­sung der Beloh­nun­gen \(r(s,a)\) und Über­gangs­wahr­schein­lich­kei­ten \(p(s’|s,a)\) zwi­schen Zustän­den benö­tigt RL ledig­lich Bei­spie­le. Das Ziel ist die Ermitt­lung einer opti­ma­len Poli­cy \(\pi^*\), wel­che den Erwar­tungs­wert der kumu­la­ti­ven beloh­nun­gen maximiert.
$$ \begin{align} \max_{\pi} ~~~&E_{\pi}\left[ \sum_{k=1}^{\text{End}} r(s_k,a_k)\right] \\ s.t. & a_k=\pi(s_k)\end{align}$$
Dabei deno­tiert \(E_{\pi} \left[\sum_{k=1}^{\text{End}}r(s_k,a_k)\right]=\eta(\pi)\) den Erwar­tungs­wert der kumu­la­ti­ven Beloh­nun­gen, wenn Poli­cy \(\pi\) ver­folgt wird.

Lösung

Es gibt ver­schie­de­ne Ansät­ze zur Ermitt­lung von \(\pi^*\). Ihnen gemein­sam ist, dass der Agent Daten durch Inter­ak­ti­on mit dem Com­pu­ter­mo­dell sam­melt nd die Erfah­run­gen über Zustän­de, Aktio­nen, Zustands­än­de­run­gen, und Beloh­nun­gen in ein Feed­back­loop zur Ermitt­lung von \(\pi^*\) ein­flies­sen lässt.

Abbil­dung 3: Feed­back­sche­ma zur Gene­rie­rung von \(\pi^*\). Eine poli­cy \(\pi\) wird ver­wen­det, um die Akti­on \(a\) aus­zu­wäh­len. Die­se indu­ziert Zustands­än­de­run­gen und Beloh­nun­gen, wel­che zur Anpas­sung von \(\pi\) ver­wen­det werden.

Die Funk­ti­on \(\pi:A\rightarrow S\) wird aus Fle­xi­bi­li­täts­grün­den oft als neu­ro­na­les Netz \(\pi_{\theta}\) kon­stru­iert. Es kann dann auf Basis der Daten ange­passt wer­den, indem z.B. die Ablei­tun­gen von \(\eta(\pi)\) nach den Para­me­tern \(\theta\) von \(\pi\) gebil­det wer­den [1, p. 367].

$$\begin{align} \eta(\pi) & =\int_{(S\times A)^n} \sum_{k=0}^nr(s_k,a_k)p_{\theta}(\xi)d\xi \\ \nabla_{\theta} \eta &= \int_{(S\times A)^n}\sum_{k=0}^n r(s_k,a_k) \nabla_{\theta}\left[ \log p_{\theta}(\xi)\right] p_{\theta}(\xi)d\xi \\ \hat{\nabla}_{\theta} \eta & = \frac{1}{m}\sum_{j=1}^m \left( \sum_{k=0}^n r(s_k^j,a_k^j)\right)\nabla_{\theta}\left[ \log p_{\theta}(\xi)\right] \\ & =\frac{1}{m} \sum_{j=1}^m \left( \sum_{k=0}^n r(s_k^j,a_k^j)\right)\sum_{k=0}^n\nabla_{\theta}\log \pi_{\theta}(s_k^j,a_k^j)\end{align}$$

Dabei ist \(p_{\theta}(\xi)\) die Ein­tritts­wahr­schein­lich­keit der Sequenz \([(s_0,a_0), …, (s_n,a_n)]\) und \(\hat{\nabla}_{\theta} \eta\) ein daten­ge­trie­be­ner Schät­zer für den Gra­di­en­ten der kumu­la­ti­ven Beloh­nung. Die obi­gen Glei­chun­gen wer­den z.B. im Algo­rith­mus TD3 [2] ver­wen­det und sind in der Python Biblio­thek Sta­ble Baselines3 [3] implementiert.

Beispiel: Landungsvorgang

Der Lan­de­vor­gang eines Objek­tes ist so zu steu­ern, dass es an der desi­gnier­ten Koor­di­na­te \(0\) auf­trifft. Der Lan­de­vor­gang folgt den übli­chen Dif­fe­ren­ti­al­glei­chunegn, die Posi­ti­on, Geschwin­dig­keit, und Beschleu­ni­gung kop­peln, doch das ist dem Algo­rith­mus nicht bekannt. Beim Auf­tref­fen auf den Boden nach der Zeit \(T\) wird eine Beloh­nung von \(-|x(T)|\) aus­ge­schüt­tet, die die Abwei­chung von tat­säch­li­chem und desi­gnier­tem Lan­de­punkt bestraft und so als zu mini­mie­rend festlegt.

Abbil­dung 4 : Pro­blem­skiz­ze (a), Steue­rungs­ver­hal­ten eines untrai­nier­ten Algo­rith­mus (b) und das fina­le Steue­rungs­ver­hal­ten der opti­ma­len poli­cy nach 10.000 Trainingsschritten ©.

Beispiel: Adaptive Messdichteanpassung

Ein Sen­sor soll das zeit­li­che Bewe­gungs­ver­hal­ten eines Objek­tes so mes­sen, dass es mög­lichst genau rekon­stru­ier­bar ist. Jede Mes­sung kos­tet aller­dings Geld; die Mess­zeit­punk­te sind dem­nach öko­no­misch zu wäh­len. Das Com­pu­ter­mo­dell die­ses Pro­b­le­mes beinhal­tet zufäl­lig gene­rier­te Funk­tio­nen, zu jedem Zeit­punkt die Opti­on zu einer Bewe­gungs­mes­sung, und am Ende des Ver­suchs­lau­fes eine Auf­wie­gung von Mes­kos­ten und Rekon­struk­ti­ons­feh­ler als Performancemass.

Abbil­dung 5 : Illus­tra­ti­ve Pro­blem­skiz­ze (a) und opti­ma­le poli­ci­es zur Aus­lö­sung von Mes­sun­gen in ver­schie­de­nen Kos­ten­si­tua­tio­nen und gege­ben ver­schie­de­ne Bewe­gungs­mus­ter und Kos­ten­si­tua­tio­nen (b), ©.

Beispiel: Adaptive Suchstrategie

Auf einem mit Schad­stof­fen belas­te­ten Grund­stück sol­len der Ort und die Schwe­re der Maxi­mal­be­las­tung fest­ge­stellt wer­den. Dazu kön­nen 9 Schad­stoff­mes­sun­gen an frei wähl­ba­ren Orten durch­ge­führt wer­den und der Algo­rith­mus soll adap­tiv auf Basis vor­her­ge­hen­der Mes­sun­gen über den Ort der nächs­ten Mes­sung ent­schei­den. Die Trai­nings­da­ten bestehen aus Simu­la­tio­nen, die mut­mass­lich ähn­li­che Kor­re­la­ti­ons­struk­tur auf­wei­sen wie die Schad­stoff­ver­brei­tung in der ech­ten Welt. 

Abbil­dung 6 : Illus­tra­ti­on des Such­pro­b­le­mes. Die Suche nach dem Schad­stoff­ma­xi­mum ist mit­tels einer ras­ter­för­mi­gen Anord­nung der Mess­punk­te (a) weit weni­ger erfol­griech als mit­tels einer adap­ti­ven poli­cy (b).

Praktisches

Rein­force­ment lear­ning kann für so gut wie alles ver­wen­det wer­den, inklu­si­ve für Pro­ble­me hoch­di­men­sio­na­ler Natur mit hohen Ansprü­chen an die Lern­fä­hig­keit des Algo­rith­mus. Die­se Fle­xi­bi­li­tät bedingt jedoch auch signi­fi­kan­te Nach­tei­le. RL ist enorm daten­hung­rig, weist Sta­bi­li­täts­pro­ble­me auf und stellt hohe Model­lie­rungs­an­for­de­run­gen an den Anwen­den­den. Die­ser hat Zustands- und Aktio­nen­räu­me so zu ent­wer­fen, dass die Dyna­mik Mar­kov­ei­gen­schaf­ten hat und muss durch die Archi­tek­tur der invol­vier­ten künst­li­chen neu­ro­na­len Net­ze Fle­xi­bi­li­tät und Regu­la­ri­tät balancieren.

Ist ein Pro­blem als eta­blier­te kon­ve­xee Opti­mier­ung­auf­ga­be for­mu­lier­bar, soll­te auf RL ver­zich­tet wer­den. Für vie­le ande­re Pro­ble­me ist RL trotz sei­ner Tücken der ein­zi­ge gang­ba­re Ansatz. Da es sich um eine Metho­de han­delt, an der wei­ter­hin aktiv und inten­siv geforscht wird, sind für die Zukunft eig­ni­fi­kan­te Fort­schrit­te zu erwarten.

Code & Quellen

Bei­spiel­code: OC_R­L_clas­s_­de­f_2­D_env-py ,  OC_RL_def_2D.pyOE_RL_control_trajectory.py , OC_RL_measurement_decisions.py , OC_RL_support_funs.py , OC_RL_trained_benchmark_def_2D.zip  in unse­rem Tuto­ri­al­fol­der.

[1] Wier­ing, M., & Ott­erlo, M. v. (2012). Rein­force­ment Lear­ning: Sta­te-of-the-Art. Ber­lin Hei­del­berg: Sprin­ger Sci­ence & Busi­ness Media.

[2] Fuji­mo­to, S., van Hoof, H., & Meger, D. (2018). Addres­sing func­tion appro­xi­ma­ti­on error in actor-cri­tic methods. arXiv pre­print arXiv:1802.09477, 2018.

[3] Raf­fin, A., Hill, A., Glea­ve, A., Kaner­vis­to, A., Ernes­tus, M., & Dor­man, N. (2021). Sta­ble-Base­line­s3: Relia­ble Rein­force­ment Lear­ning Imple­men­ta­ti­ons. Jour­nal of Machi­ne Lear­ning Rese­arch. 22, (268), 1−8.