「機器學習相關實驗」管理的想法,是去年在 Apple 實習萌芽的,那時覺得公司內部相關工具 overhead 不少,doc 也不全,加上界面太好看(?),就沒有使用,而是用相當土炮的方法 (自己存數據到檔案裡以及一些工人智慧)來做實驗彙整。最近手上 project 要跑的實驗量已經大到這種管理方式會很吃力 (500 exp up),便開始找尋現成的工具,而 Comet.ml (以下簡稱 Comet ) 在眾多框架之中脫穎而出,我想之後我寫的扣要 import tensorboard 的機會微乎其微了(吧) ,而這麼好用的工具網路上卻沒什麼中文的介紹文,於是來跟大家分享 😎
在這一講中,要介紹的是 RL 中的 supervised 系方法 - Imitation Learning。想法是收集 expert (or say, “ground-truth” agent) 與 environment 互動的$(s,a)$ pairs 去 train 我們的 agent/actor。那麼該如何利用這些 $(s,a)$ pair 呢?
Lec1 - Lec4 分別介紹了 Policy-based 及 Value-based 的 RL algorithm ,而這一講要
介紹的 Actor Critic 則是同時用到了兩個演算法的部份,並在 biased 與否 (準不準) 及 variance
高低 (好不好 train) 提供一個可以調控的 hyperparameter 讓我們選擇。
在這講中,要討論的是 non-tabular case 的問題 (就是上一講中無法保證收斂的那些QQ),我們選定 Neural Network 作為拿來 approximate $Q(s,a)$ 的 function family,且不是用一般 regression 的方法找 $\phi$ (畢竟它的 target $y$ 也只是中間產物,並非 optimal Q),而是 N-step 的 gradient descent。
前兩講 focus 在 policy-based 的 RL 演算法,直接 learn 一組參數去 parametrize
policy。而後續兩講則會 focus 在 value-based 的方法,想法是算出 $V^\pi(s), Q^\pi(s,a)$ (同樣可以 approximately parametrized by $\theta$),而所對應的 policy 則是去選擇 Given $s$,好度最高的 action $a$ (w/ appropriate exploration)。
上回提到了 policy gradint 的方法,及其缺點,這一講會介紹各種改進的方法。包括降低
sample 的 variance 及 off-policy (使得 data 更有效地被利用)。
今年1 月的目標想複習三下時學的 RL,主要的參考教材為李宏毅老師的 DRL 8 講及 Sergey 在
Berkeley 開的 CS294。
先讓我們從 Policy Gradient 開始吧!
前一講提到了無論是 stochastic noise 或是 ground truth 過複雜而引進的 deterministic noise ,對本身就複雜 (VC dimension 高) 的 model 而言,overfitting 是很容易發生的,而解決之道其一就是這一講所要介紹的 Regularization。
上一講提到了利用 nonlinear transform 來處理 data 並不 linear separable 的情形,讓 ML model 具備了更強的 fitting 能力,但在這麼做的同時,也提高了 hypothesis set 的 VC dimension,使得 model 的 complexity 增加,變得不容易 generalizaion ,而這也是這一講要探討的 overfitting 。
Beyond RNN 這個系列會 focus 在近年來各式各樣我覺得有趣的 RNN 變形,及其相關的實做。
這篇文章的相關程式碼,放在這裡。