back to index
ML Lecture 23-3: Reinforcement Learning (including Q-learning)

link |
你落子的位置當然會影響對手落子的位置
link |
我們會需要有另外一個model幫我們
link |
所以外界輸入的資訊沒有處理的叫做Observation
link |
但是今天隨著deep learning技術的發展
link |
另外再去做資訊的summarization
link |
input的這個role的feature
link |
observation哪些資訊是可以用的
link |
所以這個observation跟state
link |
所以當我講state跟observation的時候
link |
如果你想做一些video game playing的話
link |
接下來他看到的observation
link |
但是今天你的這個dialog system
link |
但是假如今天這個dialog system
link |
Behavior Coding的例子
link |
跟Machine Learning沒什麼關係
link |
所以Behaviour Coding
link |
如果是只有Behaviour Coding的話
link |
所以Behaviour Coding
link |
所以Behaviour Coding的問題
link |
如果只有Behaviour Coding
link |
簡單的一般的supervised learning來看待
link |
當作一個supervised learning來看待
link |
reinforcement learning
link |
那在reinforcement learning裡面
link |
叫做learning by demonstration
link |
learning by demonstration又叫做
link |
imitation learning
link |
或者是apprenticeship learning
link |
但是它現在學習expert的行為的時候
link |
照單全收behavior coding的方式
link |
所以learning by demonstration
link |
它並不是一般的supervised learning的問題
link |
那我們就先來講reinforcement learning
link |
其實我們等一下除了講reinforcement learning
link |
等一下會講inverse reinforcement learning的技術
link |
所謂inverse reinforcement learning的技術
link |
就是learning by demonstration
link |
inverse reinforcement learning的技術
link |
就是learning by demonstration的其中一種
link |
那我們先來看一下reinforcement learning
link |
然後再介紹actor加query的方法
link |
先來講reinforcement learning
link |
那在reinforcement learning裡面
link |
第二個component是一個environment
link |
第三個component是一個reward function
link |
這個就是reward function
link |
reward function是很明確的
link |
那在reinforcement learning的test
link |
你要注意environment跟reward function
link |
reward function都會給machine一個reward
link |
根據reward function的定義
link |
然後進入了terminal state
link |
在文獻上我們就會叫它一個episode
link |
我們希望total reward的值
link |
actor還有reward function之間的關係
link |
environment輸出一個step
link |
state of approximation
link |
state of approximation
link |
那再把A1輸給environment
link |
你有一個reward function
link |
就reward function告訴我們說
link |
就是在state S1採取action
link |
A1在state S2採取action
link |
你就得到total reward大分
link |
跟trajectory套的reward
link |
actor也是一個neural network
link |
那其實這個reinforced learning
link |
deep reinforcement learning
link |
我們現在使用的neural network
link |
換成一個nonlinear network的時候
link |
它其實都是一個neural network
link |
output layer就有三個neural
link |
actor會決定採取哪一個action呢
link |
產生一個probability distribution
link |
我不想要這個stochastic的actor
link |
會用一個這個lookup table
link |
那用lookup table有什麼壞處呢
link |
然後用lookup table參數比較少
link |
其實不是用lookup table的參數太多
link |
它有generalization的能力
link |
actor就是一個neural network嗎
link |
actor是一個neural network
link |
ok是一個neural network
link |
它得到的total reward大法的值
link |
也是一個neural network
link |
也是一個neural network
link |
這個neural network就是
link |
也是一個neural network
link |
這三個neural network串起來
link |
reward跟environment
link |
讓discriminator輸出的值
link |
這個environment跟reward
link |
就可以想成是discriminator
link |
actor你就想成是generator
link |
environment是一個network
link |
去maximize最終的output
link |
這個environment跟reward
link |
你的environment是一個對手
link |
它其實也是一個neural network
link |
怎麼把它用成neural network
link |
environment的function
link |
有這個environment的reward
link |
就是reinforcement learning
link |
這個就是reinforcement learning
link |
reinforcement learning的講法
link |
有David Silver的video的話
link |
這個Markov decision process
link |
然後等你去完Markov decision process
link |
其實reinforcement learning
link |
policy gradient的部分
link |
policy gradient就可以
link |
什麼叫做這個actor pi有多好呢
link |
state value的這個function
link |
state value function
link |
現在在給一個actor pi的前提之下
link |
observation或者是state x
link |
所有accumulated reward的期望值
link |
observation就是棋盤的盤勢
link |
就是有一個function叫做v pi
link |
critic都是depend on actor的
link |
critic的output也是不一樣
link |
另外一個是temporal difference的方法
link |
今天critic怎麼衡量一個actor好不好
link |
我們就critic就去看那個actor
link |
actor拍在經過這個state SA以後
link |
accumulated reward
link |
這個actor拍他會得到reward是GA
link |
那我的output要跟GA越接近越好
link |
這個就是一個regression的問題
link |
會得到accumulated reward GB
link |
那他的output就要跟GB越接近越好
link |
這個就是Monte Carlo的方法
link |
叫做temporal difference的方法
link |
那temporal difference的方法是說
link |
一樣讓critic去看那個actor玩遊戲
link |
那讓critic看到actor在做什麼呢
link |
在前一頁做Monte Carlo的時候
link |
我們才知道accumulated reward是多少
link |
但是在temporal difference的時候
link |
因為我們現在這個VPILOT的state
link |
會得到的accumulated reward
link |
會得到的accumulated reward
link |
accumulated reward是這一下
link |
accumulated reward是這一下
link |
accumulated reward是多少
link |
那因為Temporal Difference
link |
你就可以開始update你的network
link |
一邊update你的network的話
link |
所以在Temporal Difference呢
link |
這邊是比較Temporal Difference跟DD
link |
這個critic是給他一個state
link |
那一種critic沒有辦法拿來決定action
link |
這種critic我們叫做Q-function
link |
它的input就是一個state跟一個action
link |
在給我一個actor pi的前提之下
link |
在observation的state S
link |
在observation S採取了action A
link |
在這一個state採取了這個action A的話
link |
會得到多少interrelated的reward
link |
他沒有量說你會採取哪一個action
link |
在state S採取action A的時候
link |
那有時候我們會改寫這個Q-function
link |
我們現在能認一個Q-function
link |
我們的Q-function是input一個state S
link |
Q-pilot S A等於right
link |
跟Q-pilot S A等於find
link |
你才可以算出他們的Q-function
link |
所以這個Q-learning的整個process是這樣
link |
然後我們說Q-learning的工作
link |
在某一個state開去某一個action
link |
假設估測出這種Q-function以後
link |
我們一定能夠找到一個新的actor pi
link |
在某一個state開去某一個action的時候
link |
所以你有這個比較好的actor pi
link |
觀察一下量出新的actor的Q function
link |
那現在就變成pi double prime
link |
所以Q function的這個精神就是這樣
link |
什麼叫做pi prime一定比pi好
link |
得到的accumulated reward
link |
跟你採取pi prime這個actor
link |
得到的accumulated reward
link |
所以pi prime會得到reward
link |
pi這個actor的Q function
link |
看看哪一個action的Q value最大
link |
把那個action當作新的actor
link |
就我們一個新的actor pi prime
link |
pi prime你想要做什麼樣的行為呢
link |
他把他的paper就取做Rainbow
link |
Double DQN跟During DQN
link |
那什麼是Actor加Critic的技術呢
link |
就是Advantage的Actor Critic
link |
好那這個Advantage的Actor Critic
link |
我們是看reward function的output
link |
所以Actor Critic這種方法
link |
今天Actor不要真的去看環境的reward
link |
那這個方法就叫Actor Critic
link |
Advantage的Actor Critic
link |
是因為它的performance是比較好的
link |
叫做Advantage的Actor Critic
link |
Advantage跟Actor Critic都兩個A
link |
Asynchronous的Actor Critic
link |
Asynchronous的意思是什麼呢
link |
你有一個Global的Network
link |
你本來有一個Global的Actor
link |
你就去跟Global的Actor和Critic
link |
傳回去這個Global的Network
link |
Asynchronous的Activated的方法
link |
你要做Asynchronous這一招
link |
Sleeper IO不知道大家知不知道
link |
如果是continuous的一個vector
link |
你的action的output會是continuous
link |
只能夠處理discrete的case
link |
那如果要處理continuous的話
link |
把它當作是discriminator
link |
產生一個image discriminator
link |
那這邊是actor要產生一個action
link |
這個action是Q-function
link |
這個pathwise derivative
link |
inverse reinforcement learning
link |
inverse reinforcement learning
link |
它是imitation learning的一種
link |
在inverse reinforcement learning裡面
link |
你只有environment跟actor
link |
我們剛才講說environment跟actor
link |
但是在inverse reinforcement learning裡面
link |
我們沒有reward function
link |
這個expert demo的trajectory
link |
但是沒有reward function
link |
什麼樣的狀況會沒有reward function呢
link |
我們都是沒有reward function
link |
今天下圍棋配用reinforcement learning
link |
今天玩電玩配用reinforcement learning
link |
reward function是什麼
link |
今天如果你拿reinforcement learning的技術
link |
那checkbox要做到什麼樣的事情
link |
就會得到非常negative的reward
link |
就會得到positive的reward
link |
根據這個reward function
link |
reward function長什麼樣
link |
inverse reinforcement learning
link |
inverse reinforcement learning
link |
在原來的reinforcement learning裡面
link |
我們有reward function
link |
透過reinforcement learning的技術
link |
inverse reinforcement learning的技術
link |
inverse reinforcement learning的技術
link |
我們可以推出reward function
link |
把reward function推出來以後
link |
你就可以根據你推導出的reward function
link |
reinforcement learning的方法
link |
所以就是用inverse reinforcement learning的方法
link |
去推出reward function
link |
叫reinforcement learning的方法
link |
那inverse reinforcement learning
link |
這個actor會得到很多的trajectory
link |
然後你定一個reward function
link |
那我不知道reward function是什麼
link |
再定一個reward function
link |
我想要maximize新的reward function
link |
actor學到maximize新的reward function以後
link |
最後你就可以找到一個reward function
link |
然後你要定一個reward function
link |
反正你去找一個reward function
link |
接下來根據這個reward function
link |
根據這個reward function
link |
根據這個reward function
link |
在game裡面有一堆expert畫的圖
link |
你認出一個discriminator
link |
使得discriminator覺得他是高分
link |
但是discriminator會update參數
link |
在使得generator畫的圖得到低分
link |
事實上在inverse reinforcement learning裡面
link |
把discriminator換個名字叫做reward function
link |
我們只有actor會產生一大堆遊戲的紀錄
link |
但是我們要定一個reward function
link |
reward function也會跟著修改
link |
然後就這樣子反覆的進行這個process
link |
用inverse reinforcement learning的技術
link |
在inverse reinforcement learning的技術裡面
link |
這個就是用inverse reinforcement learning來教機器