繼續我們上篇博文模仿學習概述中的内容,上文中我們講到,模仿學習中的逆向強化學習和對抗神經網絡如出一轍,在本文中,我們就繼續分析将對抗神經網絡和逆向強化學習結合遇到的困難和所提出的解決方法。
背景
在上文模仿學習概述中講過,模仿學習目前分為兩個大類,一類是“行為克隆”,一類是“逆向強化學習”,前者可以看作是一種有監督的學習,根據輸入的State,輸出的Action,通過神經網絡進行訓練,這種方式弊病很多,效果不夠理想。“逆向強化學習”就是在專家的輸入是最優的假定下,去學習專家資料的分布,找到适合此類問題的強化學習的獎勵函數。當然,這種方法也存在很多問題,比如逆向強化學習中也要進行強化學習的步驟,計算量偏大,針對同樣的專家資料,有可能産生不同的獎勵函數等。在這篇文章中,我們着重關注的是對抗神經網絡和逆向強化學習的關系。
思路概述
我們再把前文的圖放出來,看一看對抗神經網絡和逆向強化學習的關系。
這種圖很好說明了逆向強化學習和對抗神經網絡的關系。我們知道,對抗神經網絡常常用來生成以假亂真的圖檔,我們可以做一個類比,真圖檔就是逆向強化學習中的專家資料,假圖檔就是逆向強化學習中Actor生成的資料,在GAN中,discriminator用來去區分真假圖檔,在逆向強化學習中,discriminator用來區分專家資料和Actor資料。這個關系搞明白了,下面就是利用這兩個方面的知識來實作這個想法。
逆向強化學習的目标
要訓練一個網絡,就要找到任務目标的loss function,為了确定這個lost function,我們先看看逆向強化學習最終要優化的目标是什麼,這裡使用的是maximum causal entropy IRL,具體可見 Maximum entropy inverse reinforcement learning(這文章我沒看明白):
其中
把這個逆強化學習的過程變成正向的強化學習,我們的目标便是下面的公式:
下面我們定義後面逆向強化學習的基本目标
我們的目标。便是尋找到一個cost function c,使得專家的行為始終以
的大小高于其他的政策。
本文的後面就是一堆又一堆的惱人公式,挑點能看懂的說吧。
占有率度量
占有率度量(occupancy measure)這個東西一時半會很難了解它的意思,按照原文的說法,"the occupancy measure can be interpreted as the distribution of state-action pairs that an agent encounters when navigating the environment with policy
"。也就是說占有率度量衡量的是某個政策下狀态-動作對的分布。有如下公式可以證明:
這個公式說明了特定state-action對的cost與總體cost期望的關系。
算法基于的公式
算法的目标是尋找下面表達式的鞍點(pi,D)