
摘要
我们提出了一种新颖的动态可微推理(Dynamic Differentiable Reasoning, DDR)框架,用于联合学习分支程序及其组成函数;这解决了近期动态架构中显著的非可微性问题。我们将该框架应用于两个高度紧凑且数据高效架构中的两种设置:用于CLEVR视觉问答的DDRprog和用于逆波兰表示法表达式求值的DDRstack。DDRprog利用循环控制器共同预测并执行与底层问题逻辑直接对应的模块化神经程序;它显式地分叉子进程以处理逻辑分支。通过有效利用额外的结构监督,我们在子任务一致性方面取得了显著改进,并在整体准确性上略有提升。此外,我们在RPN设置中进一步展示了结构监督的优势:在DDRstack中引入堆栈假设使我们的方法能够泛化到长表达式,而LSTM在这种情况下无法完成任务。