學習強化學習需要哪些數學基礎?我學習神經網路基本就是複習了線性代數,微積分,那麼RL該學什麼呢?
我學習神經網路的經驗就是,只要能具備基礎的線性代數和微積分,還需要稍微看看概率,就能應用神經網路了。 最近開始看強化學習,發現被貝爾曼方程,Q方程弄得有點暈。這些知識是屬於數學裡面的哪一個學科呢?
個人淺見,強化學習的核心其實就是用採樣的方法去求解貝爾曼方程,或者說解決馬爾可夫決策過程問題(Markov decision process)。貝爾曼方程起源於求解序貫決策問題(Sequential decision making)。Bellman創造性地用動態規劃的方法解決求得了最優決策需要滿足的方程,也就是貝爾曼最優方程。貝爾曼最優方程描述了,採取最優控制策略下,當前狀態的價值與當前回報(one stage reward)以及未來回報之間的關係。Q方程可以看作貝爾曼方程的一個變形,其實兩者是一回事。它們都描述了動態系統最優控制需要滿足的條件。只不過,Q方程描述了當前狀態下,除去當前動作,未來採用最優控制的情況下,當前採取某個動作對應的未來的累積價價值。
與Pontryagin Maximum Principle(PMP)描述的必要條件不同不同的是,Bellman equation描述的是充分必要條件。而且PMP是直接給出了控制的函數,屬於開環控制,而Bellman equation是給出了控制關於狀態的函數,屬於閉環控制。
從數學上來講,如果不追求數學的嚴格性,其實微積分、線性代數和概率(主要是馬爾可夫鏈)的知識就夠了。如果感覺理解困難,一方面可能是對最優控制,或者sequential decision making不熟悉,另一方面可能就是選取的內容太難,不適合新手入門。如果是前面的情況,繼續看下去,慢慢熟悉就好了。當然也可以看看Markov decision process方面的書或者notes。如果是後面情況,換其他的書,從自己可以理解的書開始就行。總之,強化學習的基礎內容的數學要求其實也並沒有超出微積分、線性代數和概率的知識。當然了,如果要研究Markov decision process或者貝爾曼最優方程本身,必要的實分析。比如Adaptive Markov Control Processes這本書就要求最好懂一些Royden或者Ash的實分析。
屬於動態規劃,數學裡面屬於運籌學
主要是概率論,隨機過程,當然如果想多學一點,實分析可作為輔助
神經網路入門門檻本身就不高。Markov Chain 基本知識, 對於expectation的理解, Q-function是個不動點。 你的背景 policy gradient 那裡可能有點暈。 dynamic programming 感覺在高維空間的應用不是很主流。
推薦閱讀: