保定网站制作计划,英文免费网站模板,网站排版尺寸,企业网站的网络营销功能包括【深度学习】循环神经网络#xff08;RNN#xff09;#xff1a;连接过去与未来的桥梁 循环神经网络简介什么是循环神经网络 (RNN)#xff1f;传统 RNN 的架构循环神经网络如何工作#xff1f;常用激活函数RNN的优点和缺点RNN 的优点#xff1a;RNN 的缺点#xff1a; 循… 【深度学习】循环神经网络RNN连接过去与未来的桥梁 循环神经网络简介什么是循环神经网络 (RNN)传统 RNN 的架构循环神经网络如何工作常用激活函数RNN的优点和缺点RNN 的优点RNN 的缺点 循环神经网络与前馈神经网络随时间反向传播 (BPTT)标准 RNN 的两个问题RNN 应用基本 Python 实现RNN 与 Keras经常问的问题结论 苹果的Siri和谷歌的语音搜索都使用递归神经网络RNN这是最先进的顺序数据方法。这是第一个具有内部存储器的算法可以记住其输入使其非常适合机器学习中涉及顺序数据的问题。它是在过去几年中导致深度学习取得惊人进步的算法之一。在本文中我们将介绍递归神经网络的基础知识以及最紧迫的困难以及如何解决它们。
循环神经网络简介
用于对顺序数据进行建模的深度学习方法是循环神经网络 RNN。在注意力模型出现之前RNN是处理顺序数据的标准建议。深度前馈模型可能需要序列中每个元素的特定参数。它也可能无法泛化为可变长度序列。 递归神经网络对序列的每个元素使用相同的权重从而减少了参数的数量并允许模型泛化为不同长度的序列。由于其设计RNN 泛化到序列数据以外的结构化数据例如地理或图形数据。
与许多其他深度学习技术一样循环神经网络相对较旧。它们最初是在 20 世纪 80 年代开发的但直到最近我们才充分认识到它们的潜力。 20 世纪 90 年代长短期记忆 (LSTM) 的出现加上计算能力的提高和我们现在必须处理的大量数据确实将 RNN 推到了最前沿。
什么是循环神经网络 (RNN)
神经网络在人工智能、机器学习和深度学习领域模仿人脑的功能使计算机程序能够识别模式并解决常见问题。
RNN 是一种可用于对序列数据建模的神经网络。 RNN 由前馈网络组成其行为与人脑相似。简而言之循环神经网络可以以其他算法无法做到的方式预测顺序数据。 标准神经网络中的所有输入和输出都是相互独立的但是在某些情况下例如在预测短语的下一个单词时前面的单词是必要的因此必须记住前面的单词。结果RNN 应运而生它使用隐藏层来克服这个问题。 RNN 最重要的组成部分是隐藏状态它记住有关序列的特定信息。
RNN 有一个内存用于存储有关计算的所有信息。它对每个输入采用相同的设置因为它通过在所有输入或隐藏层上执行相同的任务来产生相同的结果。
传统 RNN 的架构
RNN 是一种具有隐藏状态并允许将过去的输出用作输入的神经网络。他们通常是这样的 RNN 架构可能会根据您要解决的问题而有所不同。从具有单个输入和输出的那些到具有多个输入和输出的那些之间存在差异。
下面是一些 RNN 架构的示例可以帮助您更好地理解这一点。
一对一这里只有一对。传统神经网络使用一对一架构。 一对多一对多网络中的单个输入可能会产生大量输出。例如在音乐制作中使用了太多的网络。多对一在这种情况下单个输出是通过组合来自不同时间步骤的多个输入来生成的。情感分析和情绪识别使用这样的网络其中类别标签由单词序列确定。多对多对于多对多有多种选择。两个输入产生三个输出。机器翻译系统例如英语到法语的翻译系统反之亦然使用多对多网络。
循环神经网络如何工作
循环神经网络中的信息通过循环循环到中间隐藏层。 输入层 x 接收并处理神经网络的输入然后将其传递到中间层。
中间层 h 可以找到多个隐藏层每个隐藏层都有自己的激活函数、权重和偏差。如果不同隐藏层的各种参数不受前一层的影响即神经网络中没有记忆则可以使用循环神经网络。
不同的激活函数、权重和偏差将由循环神经网络标准化确保每个隐藏层具有相同的特征。它不会构建大量隐藏层而是仅创建一个隐藏层并根据需要循环多次。
常用激活函数
神经元的激活函数决定了它是应该打开还是关闭。非线性函数通常将神经元的输出转换为 0 到 1 或 -1 到 1 之间的数字。 以下是一些最常用的功能
Sigmoid用公式 g ( z ) 1 / ( 1 e − z ) g(z) 1/(1 e^-z) g(z)1/(1e−z)来表达。Tanh用公式 g ( z ) ( e − z – e − z ) / ( e − z e − z ) g(z) (e^-z – e^-z)/(e^-z e^-z) g(z)(e−z–e−z)/(e−ze−z) 来表达。Relu用公式 g ( z ) m a x ( 0 , z ) g(z) max(0 , z) g(z)max(0,z) 来表达。
RNN的优点和缺点
RNN 的优点
有效处理顺序数据包括文本、语音和时间序列。 与前馈神经网络不同处理任意长度的输入。 跨时间步共享权重提高训练效率。
RNN 的缺点
容易出现梯度消失和爆炸问题阻碍学习。 训练可能具有挑战性尤其是对于长序列。 计算速度比其他神经网络架构慢。
循环神经网络与前馈神经网络
前馈神经网络只有一条信息流路线从输入层到输出层经过隐藏层。数据以直线路径在网络中流动不会两次经过同一节点。
RNN 和前馈神经网络之间的信息流如下两图所示。 前馈神经网络对接下来发生的事情的预测很差因为它们没有接收到的信息的记忆。因为前馈网络只是分析当前输入所以它不知道时间顺序。除了受过的训练之外它对过去发生的事情没有任何记忆。
该信息通过循环处于 RNN 循环中。在做出判断之前它会评估当前的输入以及从过去的输入中学到的知识。另一方面循环神经网络可能会由于内部记忆而回忆起来。它产生输出复制它然后将其返回到网络。
随时间反向传播 (BPTT)
当我们将反向传播算法应用于以时间序列数据作为输入的循环神经网络时我们将其称为时间反向传播。
在普通 RNN 中每次将单个输入发送到网络中并获得单个输出。另一方面反向传播使用当前输入和先前输入作为输入。这称为时间步长一个时间步长将由同时进入 RNN 的多个时间序列数据点组成。 神经网络的输出用于计算和收集错误一旦它在时间集上进行训练并给出输出。然后网络将回滚并重新计算和调整权重以解决故障。
标准 RNN 的两个问题
RNN 必须克服两个关键挑战但为了理解它们必须首先了解什么是梯度。 就其输入而言梯度是偏导数。如果您不确定这意味着什么请考虑这一点梯度量化了当输入稍微改变时函数的输出变化的程度。
函数的斜率也称为梯度。斜率越陡模型学习的速度越快梯度就越高。另一方面如果斜率为零模型将停止学习。梯度用于测量所有权重相对于误差变化的变化。
梯度爆炸 当算法无缘无故地给权重赋予荒谬的高优先级时就会发生梯度爆炸。幸运的是截断或压缩梯度是解决此问题的简单方法。梯度消失 当梯度值太小时就会发生梯度消失导致模型停止学习或花费太长时间。这是 20 世纪 90 年代的一个大问题而且它比梯度爆炸更难解决。幸运的是Sepp Hochreiter 和 Juergen Schmidhuber 的 LSTM 概念解决了这个问题。
RNN 应用
循环神经网络用于解决涉及序列数据的各种问题。序列数据有许多不同类型但以下是最常见的音频、文本、视频、生物序列。
使用 RNN 模型和序列数据集您可以解决各种问题包括
Speech recognition 语音识别Generation of music 音乐的产生Automated Translations 自动翻译Analysis of video action 视频动作分析Sequence study of the genome and DNA 基因组和DNA的序列研究
基本 Python 实现RNN 与 Keras
Import the required libraries 导入所需的库
import numpy as np
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers这是一个简单的序列模型它处理整数序列将每个整数嵌入到 64 维向量中然后使用 LSTM 层来处理向量序列。
model keras.Sequential()
model.add(layers.Embedding(input_dim1000, output_dim64))
model.add(layers.LSTM(128))
model.add(layers.Dense(10))
model.summary()Output: 输出 Model: “sequential” Layer (type) Output Shape Param # embedding (Embedding) (None, None, 64) 64000 _________________________________________________________________ lstm (LSTM) (None, 128) 98816 _________________________________________________________________ dense (Dense) (None, 10) 1290 Total params: 164,106 Trainable params: 164,106 Non-trainable params: 0 经常问的问题
Q1. 什么是循环神经网络? 答循环神经网络 (RNN) 是一种人工神经网络旨在处理顺序数据例如时间序列或自然语言。它们具有反馈连接使它们能够保留先前时间步骤的信息从而能够捕获时间依赖性。这使得 RNN 非常适合语言建模、语音识别和顺序数据分析等任务。
Q2. 递归神经网络是如何工作的? 答循环神经网络 (RNN) 通过逐步处理顺序数据来工作。它维护一个充当存储器的隐藏状态该状态在每个时间步使用输入数据和先前的隐藏状态进行更新。隐藏状态允许网络从过去的输入中捕获信息使其适合顺序任务。 RNN 在所有时间步上使用相同的权重集从而允许它们在整个序列中共享信息。然而传统的 RNN 存在梯度消失和爆炸问题这可能会阻碍它们捕获长期依赖关系的能力。
结论
递归神经网络是一种多功能工具可用于多种情况。它们被用于语言建模和文本生成器的各种方法中。它们还用于语音识别。
这种类型的神经网络用于为与卷积神经网络配对时未标记的图像创建标签。这种组合的效果令人难以置信。
然而循环神经网络有一个缺陷。他们在学习远程依赖关系方面遇到困难这意味着他们无法理解由多个步骤分隔的数据之间的关系。
例如当预测单词时我们可能需要更多的上下文而不仅仅是一个先前的单词。这称为梯度消失问题可以使用一种称为长短期记忆网络 (LSTM) 的特殊类型的循环神经网络来解决这是一个更大的主题将在以后的文章中讨论。 文章转载自: http://www.morning.kfmlf.cn.gov.cn.kfmlf.cn http://www.morning.ktblf.cn.gov.cn.ktblf.cn http://www.morning.bpptt.cn.gov.cn.bpptt.cn http://www.morning.dthyq.cn.gov.cn.dthyq.cn http://www.morning.xcyhy.cn.gov.cn.xcyhy.cn http://www.morning.rqxch.cn.gov.cn.rqxch.cn http://www.morning.xckdn.cn.gov.cn.xckdn.cn http://www.morning.bwjgb.cn.gov.cn.bwjgb.cn http://www.morning.prxqd.cn.gov.cn.prxqd.cn http://www.morning.xbptx.cn.gov.cn.xbptx.cn http://www.morning.tqldj.cn.gov.cn.tqldj.cn http://www.morning.rycbz.cn.gov.cn.rycbz.cn http://www.morning.csznh.cn.gov.cn.csznh.cn http://www.morning.khxyx.cn.gov.cn.khxyx.cn http://www.morning.yxyyp.cn.gov.cn.yxyyp.cn http://www.morning.tmrjb.cn.gov.cn.tmrjb.cn http://www.morning.xmxbm.cn.gov.cn.xmxbm.cn http://www.morning.sfgzx.cn.gov.cn.sfgzx.cn http://www.morning.lxlfr.cn.gov.cn.lxlfr.cn http://www.morning.ydfr.cn.gov.cn.ydfr.cn http://www.morning.fhlfp.cn.gov.cn.fhlfp.cn http://www.morning.txzmy.cn.gov.cn.txzmy.cn http://www.morning.lywcd.cn.gov.cn.lywcd.cn http://www.morning.fqtdz.cn.gov.cn.fqtdz.cn http://www.morning.wmfmj.cn.gov.cn.wmfmj.cn http://www.morning.fgppj.cn.gov.cn.fgppj.cn http://www.morning.lhxkl.cn.gov.cn.lhxkl.cn http://www.morning.ywpwg.cn.gov.cn.ywpwg.cn http://www.morning.jxhlx.cn.gov.cn.jxhlx.cn http://www.morning.blxlf.cn.gov.cn.blxlf.cn http://www.morning.tnnfy.cn.gov.cn.tnnfy.cn http://www.morning.bqwsz.cn.gov.cn.bqwsz.cn http://www.morning.rnqrl.cn.gov.cn.rnqrl.cn http://www.morning.dshxj.cn.gov.cn.dshxj.cn http://www.morning.bxqry.cn.gov.cn.bxqry.cn http://www.morning.smspc.cn.gov.cn.smspc.cn http://www.morning.yggwn.cn.gov.cn.yggwn.cn http://www.morning.djgrg.cn.gov.cn.djgrg.cn http://www.morning.wbyqy.cn.gov.cn.wbyqy.cn http://www.morning.lxwjx.cn.gov.cn.lxwjx.cn http://www.morning.nlbw.cn.gov.cn.nlbw.cn http://www.morning.nwqyq.cn.gov.cn.nwqyq.cn http://www.morning.bsbcp.cn.gov.cn.bsbcp.cn http://www.morning.kkzwn.cn.gov.cn.kkzwn.cn http://www.morning.wqkfm.cn.gov.cn.wqkfm.cn http://www.morning.wsxxq.cn.gov.cn.wsxxq.cn http://www.morning.lkbyq.cn.gov.cn.lkbyq.cn http://www.morning.trsmb.cn.gov.cn.trsmb.cn http://www.morning.fdwlg.cn.gov.cn.fdwlg.cn http://www.morning.gypcr.cn.gov.cn.gypcr.cn http://www.morning.rjcqb.cn.gov.cn.rjcqb.cn http://www.morning.xsrnr.cn.gov.cn.xsrnr.cn http://www.morning.rykmf.cn.gov.cn.rykmf.cn http://www.morning.rongxiaoman.com.gov.cn.rongxiaoman.com http://www.morning.pgmbl.cn.gov.cn.pgmbl.cn http://www.morning.krdb.cn.gov.cn.krdb.cn http://www.morning.lbrrn.cn.gov.cn.lbrrn.cn http://www.morning.xhklb.cn.gov.cn.xhklb.cn http://www.morning.fpjxs.cn.gov.cn.fpjxs.cn http://www.morning.rgnq.cn.gov.cn.rgnq.cn http://www.morning.dqrhz.cn.gov.cn.dqrhz.cn http://www.morning.thlzt.cn.gov.cn.thlzt.cn http://www.morning.ygrkg.cn.gov.cn.ygrkg.cn http://www.morning.wlfxn.cn.gov.cn.wlfxn.cn http://www.morning.kyzja.com.gov.cn.kyzja.com http://www.morning.tpqrc.cn.gov.cn.tpqrc.cn http://www.morning.tfei69.cn.gov.cn.tfei69.cn http://www.morning.gmnmh.cn.gov.cn.gmnmh.cn http://www.morning.bdypl.cn.gov.cn.bdypl.cn http://www.morning.mdwtm.cn.gov.cn.mdwtm.cn http://www.morning.hsksm.cn.gov.cn.hsksm.cn http://www.morning.jwtwf.cn.gov.cn.jwtwf.cn http://www.morning.yrycb.cn.gov.cn.yrycb.cn http://www.morning.benqc.com.gov.cn.benqc.com http://www.morning.kycxb.cn.gov.cn.kycxb.cn http://www.morning.zqsnj.cn.gov.cn.zqsnj.cn http://www.morning.tralution.cn.gov.cn.tralution.cn http://www.morning.bqwrn.cn.gov.cn.bqwrn.cn http://www.morning.mfmbn.cn.gov.cn.mfmbn.cn http://www.morning.bfybb.cn.gov.cn.bfybb.cn