循环神经网络的应用
1. 循环神经网络概述
循环神经网络(RNN)有着众多应用场景。为便于解释和图示说明,多数情况下会使用单层循环网络,但实际中更多采用多层长短期记忆网络(LSTM),双向LSTM也因其更优的性能而被使用。在后续的各种应用中,将单层RNN替换为多层或双向LSTM都较为简单。下面将详细介绍其在不同场景下的应用。
2. 自动图像字幕生成
2.1 训练数据与原理
在图像字幕生成任务中,训练数据由图像 - 字幕对组成。例如,有大量类似“一张来自NASA网站的名为‘宇宙冬季仙境’的图片及对应的字幕”这样的图像 - 字幕对。这些对被用于训练神经网络的权重,训练完成后,就能为未知的测试图像预测字幕,这可看作是图像到序列的学习。
2.2 网络架构
图像字幕生成需要额外的卷积神经网络(CNN)来学习图像的表示。CNN会输出一个q维向量v,该向量仅在第一个时间步作为输入传入循环神经网络。为处理这个额外输入,需要一个p × q的矩阵Wih,将图像表示映射到隐藏层。各层的更新方程如下:
- (h_1 = \tanh(W_{xh}x_1 + W_{ih}v))
- (h_t = \tanh(W_{xh}x_t + W_{hh}h_{t - 1}) \quad \forall t \geq 2)
- (y_t = W_{hy}h_t)
2.3 训练过程
卷积神经网络和循环神经网络并非独立训练。虽然为了初始化可能会独立训练,但最终权重是通过将每个图像传入网络,并将预测字幕与真实字幕进行匹配来联合训练的。对于每个图像 - 字幕对,当预测字幕中的某个特定
超级会员免费看
订阅专栏 解锁全文
9万+

被折叠的 条评论
为什么被折叠?



