• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

循环神经网络

武飞扬头像
CareyWYR
帮助1

循环神经网络(Recurrent Neural Network, RNN)是一种能够处理序列数据的神经网络,在自然语言处理、语音识别、手写识别等领域发挥着重要作用。相比普通的前馈神经网络,RNN可以捕捉时间序列数据中的时序信息和长距离依赖关系。本篇博客将详细介绍RNN的工作原理、常见模型如门控循环单元(GRU)、长短期记忆(LSTM)以及如何应用于具体问题中。

同样的,本篇博客也是来自于Andrew Ng教授的Deep Learning 专项课程,由于我本人对NLP更感兴趣,因此我这里跳过了CNN这门课先写关于最后一门序列模型这门课的博客,后续有空再整理CNN的内容。

什么是序列模型?

序列模型是一种特殊的神经网络模型,适用于输入和/或输出是序列的问题,例如语音识别、机器翻译和时间序列分析。传统的神经网络,如前馈神经网络或卷积神经网络,在处理这类序列数据时可能遇到挑战,因为它们不能很好地捕捉时间序列中的时间依赖性。 学新通

使用序列模型的主要原因是:

  • 它可以捕捉时间序列中的依赖关系。
  • 它可以处理变长的输入和输出。
  • 它广泛用于NLP、语音识别、视频处理等应用中。

数学符号解释

在处理序列数据时,我们经常会遇到一个核心问题:如何有效地在神经网络中表示和处理时间或序列的概念。循环神经网络(RNN)为我们提供了一种有效的解决方案。为了更好地理解RNN的运作原理,我们需要先了解其背后的数学符号和基本概念。

在RNN中,我们通常会处理序列数据。考虑一个序列数据 X=(x(1),x(2),...,x(Tx))X = (x^{(1)},x^{(2)},..., x^{(T_x)}),其中每一个x(t)x^{(t)}代表序列中的一个元素或时间步。

  • x(t)x^{(t)}: 在时间步t的输入。
  • y(t)y^{(t)}: 在时间步t的输出。
  • a(t)a^{(t)}: 在时间步t的激活值或隐藏状态。
  • W, U 和 V: 权重矩阵。
  • 词汇表:为了表示句子中的词,首先需要创建一个词汇表,也被称为字典,这就是你将在表示中使用的词的列表。每个词都用一个one-hot向量来表示,也就是说,如果词汇表中有10000个词,那么每个词都会被表示为一个10000维的向量,其中只有一个位置是1,其余位置都是0。这个位置就是这个词在词汇表中的位置。
  • 未知词汇:如果遇到不在词汇表中的词,就创建一个新的标记,通常用UNK表示,表示这是一个未知的词。

举个例子,假设有一个句子X: Harry Potter and Hermione Granger invented a new spell. 我们需要让模型自动识别出句子中的人名。这种问题称为命名实体识别(Named-entity recognition)。给定输入x(Harry, Potter等),我们希望模型能产生一个输出y,每一个输入词对应一个输出。目标输出y告诉你每一个输入词是否是人名的一部分,用y(t)y^{(t)}表示。在我们使用的符号中,TxT_x是输入序列的长度,TyT_y是输出序列的长度。

RNN模型

在讨论RNN之前,我们首先思考一个问题,为什么不使用之前学习过的标准网络呢? 学新通 那是因为对于序列模型,序列长度往往很长,而且输入和输出的长度不一定相同,比如语言翻译问题,两种语言的同一句话可能使用的单词数量是不一样的。此外,对于不同位置学习到的特征,它们其实没有共享,但对于句子而言,每个单词之间可能是存在联系的,比如单复数的使用,时态的使用等等。

而循环神经网络(RNN)是为处理时间序列数据而设计的。与传统的前馈神经网络相比,RNN可以记住其先前的输入,这使其特别适用于处理序列数据。前馈神经网络在处理序列数据时,无法捕捉时间序列中的时序信息和长距离依赖关系。

基本结构

在最基本的层面上,RNN的一个核心组件是其隐藏状态,它能够在时间步之间传递信息。每当网络接收到新的输入时,它都会更新其隐藏状态,并产生一个输出。这使RNN能够保持关于先前输入的记忆,并在必要时使用这些信息。 学新通

前向传播

RNN的前向传播过程定义了如何根据给定输入和当前隐藏状态来计算新的隐藏状态和输出。其公式如下:

隐藏状态的更新:

a(t)=g(Waaa(t−1) Waxx(t) ba)a^{(t)} = g(W_{aa}a^{(t-1)} W_{ax}x^{(t)} b_a )

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgecjfg
系列文章
更多 icon
同类精品
更多 icon
继续加载