[机器学习入门] 李宏毅机器学习笔记-37 (Deep Reinforcement Learning;深度增强学习入门)
[机器学习入门] 李宏毅机器学习笔记-37(Deep Reinforcement Learning;深度增强学习入门)
VIDEO |
---|
Deep Reinforcement Learning
深度增强学习是一套很复杂的方法,在这里只了解皮毛。
Scenario of Reinforcement Learning
有个傻傻的机器人小白(Agent)去闯荡世界(Environment),世界是非常开放的,将自己的状态(State)毫不吝啬地给小白呈现 ,而小白也会做出一些懵懵懂懂的探索动作(Action),这时候世界就会告诉小白你的所作所为是好的还是不好的(Reward)。
小白看到一杯水(State),懵懂的小白一下子将它打翻了(Action),则他会收到负面反馈(Reword)。由于环境是连续的,紧接着小白面前的就是一杯被打翻的水(State),于是试着把水擦干净(Action),得到了正面反馈(Reward)。
于是,小白要做的就是,根据前面收获的正面和负面反馈,去学习哪些能时正面反馈最大化的行为。
Learning to paly Go
可见,只有在少数的action下才有reword,这是一个难点。
下面来比较一下:Learning to paly Go - Supervised v.s. Reinforcement
在下棋这个任务里,监督学习就想从老师那里学习,看到A,落子到某处,看到B,落子到……
AlphaGo 采取的策略是先用监督学习learn的不错后,再用增强学习狂下棋。
Learning a chat-bot
原来我们的方法是:
再比较一下 Supervised v.s. Reinforcement
在增强学习中,机器人小白跟人讲话,看人脸色好,就知道自己讲对了,脸色差,就反省自己做错了。
当然不断跟人讲话会把人逼疯的,所以两个小白一直对话就好,但这样也有一个问题,下棋可以判断输赢,但是对话的脸色却是不好判断的,这是该任务的尚待解决的问题。
有一个方法是,Use some pre-defined rules to evaluate the goodness of a dialogue
More applications
在一些人也不知道对错的情况下,缺少labeled data ,这时候增强学习就比较适用。
Example: Playing Video Game
Space invader
Play yourself: http://www.2600online.com/spaceinvaders.htm l • How
about machine: https://gym.openai.com/evaluations/eval_Eduozx4HRyqgTCVk9ltw
Difficulties of Reinforcement Learning
Outline
增强学习有两大类,Policy-based是在learn一个做事的actor,而Value-based会learn不做事,只会评论的Critic。
增强学习的方法很多,在这里讲的是当时的最强方法:Asynchronous Advantage Actor-Critic (A3C)
Alpha Go 用的方法是:policy-based + value-based + model-based
Policy-based Approach
Learning an Actor
function是Pi,input是environment,output是Action。
回顾Deep learning 的是那个步骤:
Step 1: Neural Network of function
NN的好处就是比较generalized,即使没见过的场景,也可能给出合理的结果。
Step 2:goodness of function
Review: Supervised learning
在增强学习中一个Actor的好坏定义是非常类似的。
期望值衡量了actor 的好坏,那么这个期望值如何计算呢?
Step 3: pick the best function
Add a Baseline:
The probability of the actions not sampled will decrease.
Value-based Approach
Learning a Critic
Three kinds of Critics
How to estimate
Actor-Critic
Demo of A3C:
开赛车: https://www.youtube.com/watch?v=0xo1Ldx3L5Q
end!