简介

Lei Wang 和 Dongxiang Zhang团队在AAAI18上发表的文章,使用了DQN来解决MWP(Math Word Problem)问题。

Motivation

在将问题表达成一个表达式树的时候,有一种方法是枚举所有的操作数,组成树的叶子节点。这种方法所需的搜索空间很大,虽然有一些剪枝的算法可以运用,但仍不能满足需求。

在实践中,可以发现Deep Q-netwrok能够处理搜索空间很大的问题。比如:游戏场景。

所以本文想要用deep Q-network来解决math word problem。

MathDQN框架

论文笔记 | MathDQN: Solving Arithmetric Word Problems via Deep Reinforcement Learning

步骤为:

  • 首先提取问题文本中的相关操作数
  • 对操作数根据表达式树的构造顺序进行排列
  • 每一个迭代,选择两个操作数,将它们的上下文相关的向量表示作为当前state
  • 将state向量输入两层的前馈神经网络,得出当前的两个操作数的最近公共祖先的操作符
  • 对于groundtruth的操作符,如果一致则给出正向反馈,否则给出负反馈。

对应强化学习的要素:

  • state:当前状态用两个操作数的上下文向量来表示
  • action:指两个操作数的最近公共祖先的操作符
  • reward:操作符正确,则给出奖励;否则惩罚。

优缺点分析

strong points:

  • 第一次使用强化学习来解决MWP问题,设计了合理地状态空间、动作空间和奖励函数。
  • motivation很好,利用了DQN解决搜索空间大的问题。

weak points:

  • 文中使用的数据集规模较小,三个数据集中都包含少于1000个题目。17年发表的文章DNS中提供的较大规模数据集Math23K已经被广泛使用,但这里没有用到。【是否能适用于大规模数据,需要根据代码进一步确定。】

相关文章: