用扩张卷积替换 RNN

机器算法验证 卷积神经网络 循环神经网络
2022-03-20 08:40:02

我目前正在研究用于手写文本识别 (HTR) 的神经网络,该网络期望单词的图像作为输入并输出这些单词的标签。我的 HTR 系统受到 CRNN [1] 的启发,它运行良好,包含:

  1. CNN 用于特征提取
  2. 用于顺序建模和每帧字符预测的 RNN (LSTM)
  3. CTC 作为损失函数并将每帧预测解码为最终标签

最近我看到一篇关于使用扩张卷积进行序列标记的论文 [2]。他们在自然语言处理(NLP)领域使用它来替换他们的双向 LSTM。只需要几个空洞卷积层就可以通过输入序列的所有时间步长传播信息。

这篇论文让我一直在思考:这不应该也适用于 HTR 领域吗?HTR 和 NLP 有一些相似之处。用这种扩张的卷积代替RNN部分,即将特征提取和信息传播结合到网络的CNN部分。由于我是深度学习的新手,我真的很期待听到一些反馈,如果花时间尝试这个是有意义的,或者有什么原因导致这永远不会奏效。(当然我也在实现一个原型,但是这个问题应该从理论的角度来看)

[1] https://arxiv.org/abs/1507.05717

[2] https://arxiv.org/abs/1702.02098

1个回答

以防万一有人感兴趣:是的,可以用扩张卷积 (DC) 替换 RNN 层。语音识别文献中描述的架构并不是开箱即用的 HTR,但经过一些修改,结果变得更好。我将做一个简短的总结。

NN 包含 CNN 层和最终的 CTC 层。在这两者之间,我集成了 DC。我将 DC 层分组为块:每个块都有一个采样率为 1、2 和 4 的层。每个内核的大小为 3x3。跨块的内核权重(k1、k2、k4)是共享的。测试的 NN 包含 2 个块,所有中间输出 (o1, o2, ..., o6) 连接起来形成一个大的特征矩阵。最后,对于每个时间步,特征被映射到所有可能的字符,然后被输入到 CTC 层。

在此处输入图像描述