初识强化学习,什么是强化学习?

相信很多人都听过“机器学习”和“深度学习”,但是听过“强化学习”的人可能没有那么多,那么,什么是强化学习呢?强化学习是机器学习的一个子领域,它可以随着时间的推移自动学习到最优的策略。

在我们不断变化的纷繁复杂的世界里,从更广的角度来看,即使是单纯的静态的输入-输出型问题也会变成动态的问题。例如,对于一个简单的监督式学习任务——猫狗分类。你收集到了一些训练数据,然后用你最喜欢的深度学习框架写了一个分类网络进行训练,很快模型收敛,效果拔群,因此你将这个模型部署上线,过了一段时间一些狗的狗毛修剪方式发生了改变,并且有一大部分狗的图片模型不能正确识别,因此需要更新训练数据然后重新训练模型。

上面这个例子是为了说明即使最简单的机器学习问题也有一个隐藏的维度因素——时间,而时间这个维度经常被忽视,但很可能会对生产系统造成较大问题。

强化学习(Reinforcement Learning,RL)是一种将这种额外维度(通常是时间,但也不一定)融入学习的方法,比起机器学习中的其他领域,它更接近人们对人工智能的普遍认知,并且也是最接近人类学习的一种学习方式。下面就简要介绍一下机器学习中的几种学习方式。

学习——监督、非监督与强化

相信很多人都对监督学习很熟悉,它所需要解决的问题是:给定一组样例对,如何构建一个函数,将输入映射到输出?以下是一些监督学习的例子:

  • 文本分类:这封邮件是不是垃圾邮件?
  • 图像分类:这张图像中的是猫还是狗还是其他的什么?
  • 回归问题:根据天气传感器提供的信息,明天的天气怎么样?
  • 情感分析:评价中的客户满意度是多少?

这些问题看起来都各不相同,但都具有共同的特性:使用很多输入和其对应输出的数据作为训练数据,训练模型,使其能在其他未见的输入数据上的预测出其应有的输出。“监督”一词的来由就是,模型从已知的答案中进行学习,而这些已知的答案是由一些专家进行标记的,我们称这种标记为标签。

现在考虑一下监督学习的反面,没有这种已知答案的情况,也就是说数据中没有标签,从这种数据中学习我们称为非监督学习,其主要目的是学习数据中的一些隐藏特征,比如将数据聚类,来揭露数据中的一些关系。

另外一种越来越流行的非监督学习任务是对抗生成网络(Generative Adversarial Networks,GANs),其中有两个相互竞争的网络,分别称为生成器和判别器,生成器负责生成逼真的假数据来迷惑判别器,判别器负责识别数据是否是人工生成的,随着时间的推移,这两个网络在自己负责的任务上都达到很好的效果。

强化学习属于机器学习中,除监督学习和非监督学习之外第三个领域,介于两者之间。一方面,强化学习使用监督学习中一些已有的方法,比如神经网络来做函数估计,使用随机梯度下降,反向传播来学习数据表示,但另一方面,在强化学习中,通常用不同于监督学习里那样的方式来使用这些方法。

想像一下有这么一个场景,有一只机器鼠在一个迷宫当中,在迷宫的某些地方有奶酪,有些地方会有电击,机器鼠可以往左、往右、前进。最后,机器鼠还可以观察到环境的状态然后觉得怎么行动。机器鼠的任务是尽可能吃到多的奶酪同时尽可能避免被电击,吃到奶酪或者被电击的话,环境负责将这种反馈信息以奖励(有正有负)的形式给到机器鼠,作为行动好坏的依据。

我们不希望对环境信息和在某种状态下采取的最佳动作进行硬编码,因为这会耗费太大的人力并且收益甚少,我们希望机器鼠能够自己学习到如何获得尽可能多的奶酪并且避免被电击。

针对这种任务,强化学习就有了用武之地,它不像监督学习那样需要预先对数据进行标注。然而也不像非监督学习中那样对数据毫无感知,在强化学习中通过奖励来反映动作的好坏,比如机器鼠吃到奶酪能获得正奖励,被电击则得到负“奖励”,什么都没发生则不获得任何奖励。机器鼠通过做动作以及对应收获的奖励,会慢慢地学会更好的动作来得到更多的奶酪,减少被电击的次数。

然而,要达到这种通用性和灵活性是需要付出代价的,强化学习是比监督学习和非监督学习更具挑战更棘手的领域,我们来看看为什么。

首先,在强化学习中,对于环境的一个观察取决于智能体的行为。如果智能体做一些低效的事情,那么环境不会告诉它做错了什么,以及应该做些什么来改善结果(智能体只会一直得到负面反馈)。如果智能体很顽固,不断犯错误,那么智能体对环境的观察可能会造成这样错误的印象,“我没办法得到更大的奖励,生活真的是太难了······”,但是这种想法完全是错误的,因为智能体一直在犯同样的错误而没有寻找到更好的行为方式。用机器学习的术语来说就是,它具有非独立同分布的数据,而大部分监督学习方法要求具有独立同分布的数据。

其次,更复杂的是,智能体不但要使用学习到的策略,还需要积极探索环境。因为,说不定做一些不同的行为,或许会得到更好的收益,谁知道呢?但问题是,太多的探索也会降低收益,更不用说智能体还会“忘记”之前学习到的一些策略,因此需要在利用和探索之间找到某种平衡,这也是强化学习中的一大难题。

我们人也经常面对这样的问题,我是应该去熟悉的餐厅吃饭呢,还是去一个新的地方?我应该多久换一份工作?我应该学习新知识还是继续在本领域深耕?对于这些问题并没有放之四海皆准的答案。

第三点是,奖励可能需要比较久才能获得,也就是说延迟比较严重。拿下棋来说,在一局诸多下子中,可能是中间某步的关键着子对结果产生了关键影响。我们需要学习到这样的信息,但是随着时间线的拉长和太多的动作,导致学习这种信息很难。

尽管面临着这些障碍,强化学习近年来也取得了巨大的进步,在研究和应用领域也越来越活跃。下一篇文章将详细地介绍强化学习方面的一些形式与规则。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值