RNN-day2-循环神经网络

循环神经网络

一、感知机与神经网络

1 感知机

1.1感知机的概念

感知机(Perceptron),又称神经元(Neuron,对生物神经元进行了模仿)是神 经网络(深度学习)的起源算法,可以接收多个输入信号,产生一个输出信号

1.2感知机的功能

作为分类器(多个离散值)/回归器(一个连续值),实现自我学习

实现逻辑运算,包括逻辑和(AND)、逻辑或(OR)

1.3感知机的缺陷

感知机的局限在于无法处理“异或”问题(非线性问题)

结构简单,完成的功能有限

多层感知机

多层感知机(Multi-Layer Perceptron ,MLP):通过多个感知机组合来解决异或问题

2 神经网络

2.1神经网络

和多层感知机有什么区别?

多层前馈神经网络(Multi-layer Feedforward Neural Networks):将多个感知机连在一起,形成一个级联网络结构。

前馈是指将前一层的输出作为后一层的输入的逻辑结构,每一层神经元仅与下一层的神经元全连接,同一层内或者跨层之间的神经元彼此不连接。

2.2神经网络的功能

用近似定理去模拟目标函数,前馈神经网络在理论上可近似解决任何问题

近似定理:对于任意复杂度的连续波莱尔可测函数(Borel Measurable Function)f,仅仅需要一个隐含层,只要这个隐含层包括足够多的神经元,前馈神经网络使用挤压函数(Squashing Function)作为激活函数,就可以以任意精度来近似模拟f。如果想增加f的近似精度,单纯依靠增加神经元的数目即可实现。

通用近似定理:

神经网络结构的另一个进化方向:纵深,减少单层的神经元数量,增加神经网络的层数,这会显著提升神经网络系统的学习性能

多层神经网络计算公式:

3 MLP

MLP:多层感知机(Multilayer Perceptron),最基本的人工神经网络模型之一,由多个神经元组成,每个神经元层与下一层全连接。

通常由一个输入层、一个或多个隐藏层以及一个输出层组成。

输入层(Input Layer):接收原始数据输入的层。

隐藏层(Hidden Layers):对输入数据进行非线性变换的层,使得MLP可以学习非线性关系。

输出层(Output Layer):产生最终预测结果的层。根据问题不同有不同的激活函数,回归问题用线性激活函数。

MLP通过反向传播算法进行训练,利用梯度下降等优化算法来最小化预测值与真实标签之间的误差。它在许多领域都得到了广泛的应用,如图像识别、自然语言处理、预测分析等。

MLP和感知器模型效果对比

原数据-第一线性模块的输出-第一非线性模块输出-第二线性模块输出改变了空间

感知器不行的原因在于:没有额外的层来修正数据的形状。

MLP实现

MLP模型-模型实例化-测试

4 DNN模型

DNN(Deep Neural Network,深度神经网络)是一类人工神经网络,包含多个隐藏层。

与传统的浅层神经网络(eg只有一个隐藏层的多层感知器MLP)相比,DNN通过增加隐藏层的数量,可以学习和表示数据中更加复杂和抽象的特征。

关键特点:

  1. 深度:DNN的“深度”指的是网络中隐藏层的数量。一个网络层数越多,其能够捕捉的特征越复杂。

  2. 层次化特征表示:DNN通过逐层抽象和变换数据,逐步提取低级、中级和高级特征。例如,在图像识别任务中,前几层可能提取边缘和纹理,中间几层可能提取局部形状和图案,后几层则可能提取整体的物体结构和类别信息。

  3. 非线性变换:每个隐藏层通常由线性变换和非线性激活函数组成。这些非线性激活函数(如ReLU、sigmoid、tanh等)使得DNN可以学习非线性映射。

组成部分:

  1. 输入层:接收原始数据输入。

  2. 隐藏层:包括多个隐藏层,每个层包含若干个神经元,这些神经元通过线性变换和非线性激活函数

处理输入数据。

  1. 输出层:生成最终的预测结果。输出层的形式和激活函数取决于具体任务(如分类或回归)。

4.1训练过程

DNN的训练过程通常使用反向传播(backpropagation)算法和优化算法(如梯度下降、Adam等)。反向传播算法通过计算每个参数的梯度来最小化损失函数,从而调整网络的权重和偏置。

4.2DNN存在的问题

标准DNN假设数据之间是独立的,在处理前后依赖、序列问题(语音、文本、视频等)力不从心。

文本数据对文字前后次序非常敏感,和图像数据差别非常大。

传统的深度神经网络(DNN)由于其结构的固有限制无法捕捉前置时间的信息,通过在网络中引入新的参数和结构来处理时序数据。

传统的MLP通过不断学习调节Win和Wout来适应任务。

在传统的多层感知器(MLP)中引入时间特征,通过堆叠的方式传递前置时间的信息,引入新的参数Ws调节前置时间信息的传递。为简化计算,所有的时间权重参数都可以使用同一个参数矩阵Ws。网络在每次更新中都包含了上一时刻的状态St-1和权重参数Ws,能够更好地捕捉时序数据中的前置时间信息,有效地拓展了传统DNN网络的应用范围,能够处理更复杂的时序数据任务,例如时间序列预测、语音识别等。

传统的DNN网络可以表示为:

$$
S=f(W_{in}X+b)
$$

引入时间特征后的网络更新规则:

$$
S_t =f(W_{in}X+W_sS_{t-1}+b)
$$

5 激活函数

激活函数(activation function):在神经网络中,将输入信号的总和转换为输出信号的函数

将多层感知机输出转换为非线性,使得神经网络可以任意逼近任何非线性函数,是区别多层感知机和神经网络(使用连续函数作为激活函数)的区别。

5.1常见激活函数

5.1.1阶跃函数(Step Function)

一种特殊的连续时间函数,从0跳变到1的过程

$$
f(x)=\begin{cases}1 (x\geq 0)\\0 (x<0) \end{cases}
$$

5.1.2sigmoid函数

Logistic函数,用于隐层神经元输出,取值范围(0,1),可以将一个实数映射到(0,1)区间用来做二分类

$$
f(x)=\frac{1}{1+e^{-x}}
$$

优点:平滑,易于求导

缺点:激活函数计算量大,反向传播求误差梯度时求导涉及除法容易出现梯度消失的情况,无方完成深层网络的训练

5.1.3tanh双曲正切函数

$$
tanh(x)=\frac{1-e^{-2x}}{1+e^{-2x}}
$$

优点:平滑,易于求导,输出均值为0,收敛速度比sigmoid快,可以减少迭代次数

缺点:梯度消失

常用于NLP中

5.1.4ReLU(Rectified Linear Units,修正线性单元)

$$
f(x)=\begin{cases}x (x> 0)\\0 (x≤0) \end{cases}
$$

优点:更加有效率的梯度下降以及反向传播,避免了梯度爆炸和梯度消失的问题

计算简单

缺点:≤0的部分梯度为0,会导致部分神经元死亡

常用于图像

5.2 softmax函数

softmax函数将多分类的输出数值转化为累计和为1的相对概率,常用于神经网络的输出层。

ReLU一般用在隐藏层,主要作用是引入非线性使得网络能够处理复杂的任务,来激活金额调整中间特征

softmax一般用在输出层,将模型输出转化为概率分布,用于分类任务的最终决策,预测每个类别的概率

二、RNN模型

1 先导<

深度学习实验中的循环神经网络是一种用于处理连续性数据的神经网络模型。它在神经元层之间不仅建立了层与层之间的权连接,还在层之间的神经元之间建立了权连接。这使得循环神经网络能够对序列数据进行处理,并且具有记忆能力。循环神经网络的一种简单实现是简单循环网络(Simple Recurrent Network,SRN)。 关于深度学习实验中的循环神经网络的更详细的信息,可以参考邱锡鹏老师的博客以及动手学深度学习的官方文档。这些资源提供了关于循环神经网络的理论知识和实际实施的指导。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [神经网络与深度学习实验day13-循环神经网络RNN记忆能力实验](https://blog.youkuaiyun.com/ABU366/article/details/127912426)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [深度学习循环神经网络](https://download.youkuaiyun.com/download/baidu_35560935/13086725)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值