Q_learning  from reinforcement learning

在学习Q_learning算法之前,我们需要了解一下,一个叫做时间差分学习的(temporal difference learning)思想。

它的迭代公式是:

其中是每个episode结束后获得的实际累积回报,α是学习率,这个式子的直观的理解就是用0实际累积回报作为状态值函数V()的估计值。具体做法是对每个episode,考察实验中的实际累积回报和当前估计V()的偏差值,并用该偏差值乘以学习率来更新得到V()的新估值。

Q_learning算法也是基于这种思想做出的设计。

Q_learning的算法流程如下:

初始化S
初始化Q(s,a),重复下面的步骤:(对于每一个episode)

选择一个A S 中 ,使用一个行为策略来自于Q

采取行动A,观察R,S

直到S是达到了指定的状态。

 

 

思考:

这里的S 是状态(环境),A是策略,R 是奖励,是学习率,是衰减率。目标是达到预定的目标terminal。那么在生成任务中,S就是我们的语言环境,就是从问句开始去找我们的答句,对话中的问句就是我们的初始状态,那答句就是我们的目标,那么我们的agent 就可以通过一步一步的去采取行动,一直到找到跟我们的答句更相似的位置为止。

如下图示:

 Q_learning在自然语言生成中的应用思考

 

箭头表示我们的action, reward根据我们的答句与问句之间的距离去评估,夹角大了,我们给予一个惩罚,如果夹角小了,我们给予一个奖励。

相关文章:

  • 2022-12-23
  • 2022-01-10
  • 2021-07-05
  • 2021-07-03
  • 2021-12-04
  • 2021-04-20
  • 2021-04-27
  • 2022-01-11
猜你喜欢
  • 2022-12-23
  • 2021-11-22
  • 2021-07-14
  • 2021-05-12
  • 2022-12-23
相关资源
相似解决方案