RNN的一些问题

        例如理解较长句子中前后的关联关在自然语言处理领域,处理长序列的内容是一项重要任务系。这种关联关系在专业上被称为“长距离依赖”,简单来说,就是句子前面出现的词汇可能会在很远的位置对后续内容产生影响,理论上,RNN在处理序列时,每个状态都能追溯到任意远之前的状态信息。但实际训练中,当误差(损失函数)向前传播时,每往前一步都会乘上一个导数项。

用一个简化的例子来理解,就像传话游戏,每往前传递一人,声音都会有所变化。

        如果每个人传话时声音都会变小,比如只有0.2倍,那么连续传递10次后,声音几乎就听不见了(0.2^101.02x10^-7)。这就是“梯度消失”,会导致模型无法学习到远距离的信息。

        相反,如果每个人传话时声音都会放大,比如变成1.5倍,连续传递10次后声音会变得极其巨大(1.5^10≈57.67)。这就是“梯度爆炸”,导致训练过程极不稳定,甚至崩溃。

        而在推理阶段(模型实际运用阶段),虽然不会再出现梯度消失或爆炸,但因为模型在训练阶段无法有效记住长距离的信息,推理时也难以很好地理解或处理长序列的内容。

Convolutional Neural Network:卷积神经网络

RNN:处理语音/音频(序列任务)

CNN:处理图像任务

嵌入输入-》位置编码-》多头注意力机制-》残差连接与层归一化-》前馈网络

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐