AI隨便談——Reinforcement

一言以蔽之:Reinforcement能讓機器在特定環境中隨著時間學習來提高其決策能力。

行為分析法,是一種教導小朋友的方法,又稱作ABC法,透過了解孩童的前因(Antecedent)、行為(Behavior)、後果(Consequence),來改善其行為問題。舉例來說,如果小學生在課堂上表現良好,老師就給他蓋上一顆印章,如此就可以增強學生繼續這個優良行為的動機。這種行為療法如果套用在人工智慧上,就是強化學習(reinforcement learning)。

reinforcement,簡單地說,就是在每一個時間t,環境有一個狀態state s[t],此時機器做了一個行為action a[t],結果讓狀態變成了s[t+1],並獲得獎勵或處罰reward r[t+1],其中獎勵是狀態和行為的函數,r[t+1] = f(s[t], a[t], s[t+1])。學習的目標,是得到盡量多的獎勵。

Reinforcement

當environment環境是已知的,但其analytical solution不存在,也就是說無法用if-else幫agent機器人寫出一個好的控制方式,這時候reinforcement就很適合派上場。

reinforcement最常運用在下棋和打電動上,最知名的例子是,DeepMind團隊把它在AlphaGo上,結果大獲成功,在2016年首度不讓子擊敗圍棋職業九段棋士李世乭,並在隔年打敗了人類世界冠軍柯潔。另外一個應用是在訓練機器來操縱物體,由OpenAI發布的機械手Dactyl,也是用reinforcement自學解魔術方塊。

強化學習之所以重要的原因,在於現在的機器人,要做任何一件事都需要人類寫程式,然而一旦有了人工智慧,機器就可以自學出最佳策略,而不需要人類介入編寫控制系統。