AI =  强化学习+深度学习 

强化学习--李宏毅

Alpha go是在监督学习的基础上,让两个机器对下

强化学习--李宏毅

聊天机器人问题:训练完之后不知道聊天是否聊的好,可以考虑使用GAN,添加discriminator去判断聊天是否是人类聊天

强化学习的困难:

接收到positive reward的动作是需要其他没有奖励动作的基础的,游戏系统很容易学成只会开枪而不移动(因为开枪有奖励,而移动没有)

系统需要探索新的行为,不能永远只是移动躲避子弹而不开火

强化学习--李宏毅

-------------------------------------------------------------------------------------------------------------------

不讲MDP,deep Q-network(deep Q-learning)

直接讲现在最流行的A3C  

强化学习方法分为 policy-based(learning an actor) 和value based(learning a critic)两种

结合起来的actor-critic是现在所流行的

强化学习--李宏毅

机器学习学的是x->y的映射函数,policy-based强化学习学的是给定state,选择action的actor函数

强化学习--李宏毅

使用深度学习去模拟actor函数,输入是state(如游戏当前画面的像素),输出是各个动作的概率。按照概率分布抽样出动作

强化学习--李宏毅

如何评价Actor:

用 一个episode的总reward的期望 作为评价指标,越大越好

强化学习--李宏毅

每次游戏都是一个轨迹

强化学习--李宏毅

有了目标函数之后,就可以用梯度上升来更新参数了

强化学习--李宏毅

强化学习--李宏毅

下图可见,只有红色部分与actor有关

强化学习--李宏毅

强化学习--李宏毅

强化学习--李宏毅

考虑的是cumulative reward而不是 单个动作的reward

---------------------------

下图可以看到,梯度更新可以防止选择认为出现次数多的动作就一定最好

强化学习--李宏毅

添加 base line

下图,a,b,c为给定s下采取的三个动作,蓝色条代表概率,绿色箭头代表reward。

如果reward均为正的,那么如果各个动作都有被尝试过,则各个动作概率都有更新。

但是如果有一个动作没有试过,由于要归一化,其他动作概率的增加会导致该动作概率的减小,要避免这种情况就要使用base line。

强化学习--李宏毅

------------------------------------------------------------------------------------------------------------------------

learn a critic

强化学习--李宏毅

critic就是value function或Q value function

强化学习--李宏毅

如果动作是有限多的,可以用下图右边形式的网络

强化学习--李宏毅

critic的训练方法1:

MC蒙特卡洛

强化学习--李宏毅

critic的训练方法2:

temporal-difference

强化学习--李宏毅



两种方法计算的value function不一样

强化学习--李宏毅


相关文章: