雷锋网按:喜欢机器学习和人工智能,却发现埋头苦练枯燥乏味还杀时间?油管频道 Arxiv Insights 每周精选,从技术视角出发,带你轻松深度学习。
翻译 | 郑前 字幕 | 凡江 整理 | 吴璇
本期 Arxiv Insights 将重点介绍机器学习中的子领域“强化学习”,也是机器人最具智能前景的方向之一。
▷ 强化学习解读视频
在常见的机器学习应用中,人们会运用有监督学习,也就是给神经网络模型一个输入,但模型输出结果已成定局。因此你可以利用反向传播算法计算梯度,以训练此网络产生结果。
在监督学习的情况下,如果要训练一个会玩吃鸡的神经网络,你需要找一个吃鸡高手玩好几个小时,然后获得一个数据集,包括了所有的帧。比如玩家看到的屏幕,以及他在游戏中的键盘操作(如,向上或向下)。随后将这些数据输入到一个非常简单的神经网络中,便可以输出向上或向下的行为。利用反向传播这类算法对人类玩家数据集进行训练,可以训练出模拟人类玩家操作的神经网络。
但这种方法有两种明显的缺陷。第一,如果你想进行监督学习,就必须有一个数据集来训练,但训练数据集本身就不容易了。另一方面,如果你训练的神经网络模型,仅仅是模仿人类玩家的操作,那么这个模型在玩游戏时,成绩肯定不会比人类选手高。
想训练一个AlphaGo Zero,能够击败世界顶级选手?从理论上,不能运用监督学习。那么,有什么方法可以让智能体主动来玩游戏?这时候强化学习就有用了。
实际上,强化学习的框架与监督学习框架非常相似,仍旧有输入帧,并通过神经网络模型运行模型,输出各种人类操作。唯一的区别是,我们不知道目标标签是什么,不知道在什么情况下,要进行向上或向下的键盘操作,因为这里没有数据集去训练。
在强化学习中,将输入帧转换为输出动作的网络,被称为策略网络。一个最简单的训练策略网络的方法,被称为策略梯度。策略梯度中的方法是,从一个完全随机的网络开始,并向其提供游戏产生的一个帧,它随机产生操作,然后再将该动作输入到游戏中,游戏继续产生下一帧,如此循环下去。
这个例子中的网络,可以是一个全连接网络,但可以在这里运用卷积,现在你的网络会输出两个数字向上和向下的概率。当你训练时,其实是在分布中抽样,你不需要总是重复特定的操作,智能体可以一定程度上随机地探索环境,并幸运地发现更高的回报和更好的行为。
现在我们想让智能体自主学习唯一的反馈是,我们在游戏中给它一个记分牌,当智能体击中目标时,它会获得+1的回报,如果未击中目标,它会收到-1的惩罚。智能体的目标就是优化策略,以尽可能多的获取回报。因此为了训练策略网络,我们首先要收集大量记录,然后将游戏的帧输入到网络中,再随机选取动作,重新反馈到游戏中,就产生了很多随机的游戏操作。
由于智能体没有经过训练学习,它在大多数时候都会失败,但是有时候智能体随机选取了一系列行为,并击中了目标,智能体将会获得奖励。重点是对于每一局游戏,无论想要正奖励还是负奖励,我们都可以计算梯度,它使智能机在后续更多的选择某些动作。
策略梯度要做的就是对于得到正回报的局,我们使用正的梯度,以增加该类操作未来发生的可能性,但当我们得到了负的回报,就会使用相同数值的负梯度,负号会使失败局采取的所有操作在未来发生的可能性下降。结果就是,在训练策略网络时导致负回报的行为,在未来会逐渐过滤掉,而导致正回报的行为会越来越多的出现。从某种意义上说,这就是智能体正在学习如何玩游戏的过程。
相关资料推荐:
- "Pong from Pixels - Karpathy":
http://karpathy.github.io/2016/05/31/rl/
- Concept networks for grasp & stack (Paper with heavy reward shaping):
https://arxiv.org/abs/1709.06977
雷锋字幕组正在招募中,扫描下方二维码,备注“雷锋字幕组+姓名”加入我们。
NLP 工程师入门实践班
三大模块,五大应用,知识点全覆盖;
海外博士讲师,丰富项目分享经验;
理论+实践,带你实战典型行业应用;
专业答疑社群,讨论得出新知。
新人福利
关注 AI 研习社(okweiwu),回复 1 领取
【超过 1000G 神经网络 / AI / 大数据资料】
DeepMind 新研究:使用强化对抗学习合成图像程序
▼▼▼