【人工智能基础2】人工神经网络、卷积神经网络基础、循环神经网络、长短时记忆网络
文章目录
- 三、人工神经网络
- 1. 神经元感知模型
- 2. 神经网络模型
- 3. 学习规则:修改神经网络的权重和偏置
- 反向传播算法(BP)
- 优化器 - 梯度下降法
- 四、卷积神经网络基础(CNN)
- 1. 基本原理
- 2. 计算过程
- 五、循环神经网络(RNN)
- 1. 出现原因
- 2. 基本逻辑
- 六、长短时记忆网络(LSTM)
三、人工神经网络
人工神经网络模拟大脑神经系统工作原理,具备多种特性。
1. 神经元感知模型
从上图可以看到,人工神经网络中一个基本的神经元由以下几个部分组成:
- 输入 ( Input ) : 一个神经元可以接收多个输入 { x 1 , x 2 , . . . , x n ∣ x i ∈ R } \{x_1,x_2,...,x_n|x_i∈R\} {x1,x2,...,xn∣xi∈R}
- 权值(Weight):每个输入都有一个权值 w i ∈ R w_i∈R wi∈R。
- 偏置值(Bias):b∈R
- 激活函数(Activate Function):激活函数给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数, 从而可以应用到众多非线性模型中。
- 输出(Output): 神经元输出,该输出可由下面公式计算:
y = f { Σ i = 0 n ( w i ∗ x i ) + b } y = f\{ Σ_{i=0}^n(w_i * x_i) +b \} y=f{Σi=0n(wi∗xi)+b}
2. 神经网络模型
由输入层、隐藏层、输出层构成。
浅层神经网络浅而宽,需大量神经元;
含多个隐藏层的是深度神经网络,深层神经网络深而窄,层多但神经元少,参数少更节省资源,不过训练难度大。
例子:
以手写数字识别为例,输入层接收图像像素信息,隐藏层提取特征,输出层判断数字类别。
3. 学习规则:修改神经网络的权重和偏置
反向传播算法(BP)
基本思想:
监督学习算法,用于训练多层感知机。
基于每层的输出与实际(标签)误差,调整感知机权值矩阵。接着估算前到层(上游)误差,反向传播误差,形成链式求解。
例如在语音识别模型训练中,根据语音输入对应的实际识别结果与正确语音标签的误差,反向调整各层神经元权值,使识别结果更准确。
学习过程
- 正向传播求误差:输入数据从输入层经隐藏层计算传递到输出层,产生误差。初始化权值矩阵可采用随机值或经验值。以图像分类任务为例,输入图像数据,经各层计算得到分类结果,与实际类别对比得出误差。
- 反向传播求偏导:将误差从输出层反向传递到输入层,计算权重修改量以更新权值。因Sigmoid激活函数易出现梯度减小甚至消失问题,深层卷积神经网络常采用ReLU函数替代。
激活函数:对神经元输入进行非线性变换,反映神经元非线性特性。
- 线性激活函数:
f
(
x
)
=
k
x
+
c
f(x) = kx + c
f(x)=kx+c,用于线性神经网络,如简单线性回归模型。
- 符号激活函数:
f
(
x
)
=
{
0
,
x
<
0
1
,
x
>
=
0
f(x)=\{^{1, x>=0}_{0, x<0}
f(x)={0,x<01,x>=0 ,在某些决策场景中,根据输入简单判断输出0或1。
- Sigmoid激活函数:
f
(
x
)
=
1
/
(
1
+
e
−
x
)
f(x)=1/(1+e^{-x})
f(x)=1/(1+e−x) ,将输入映射到0 - 1区间,在逻辑回归中用于输出概率值。
- 双曲正切激活函数:图像呈S型,与Sigmoid类似,但值域为 - 1到1 ,在一些需要处理正负值的场景有应用。
- 高斯激活函数:呈正态分布形状,在特定信号处理等场景使用。
- ReLU激活函数:
f
(
x
)
=
{
0
,
x
<
0
x
,
x
>
=
0
f(x)=\{^{x, x>=0}_{0, x<0}
f(x)={0,x<0x,x>=0 ,计算简单、梯度不消失,在卷积神经网络中广泛应用,如在图像特征提取中,能有效避免梯度消失问题,加快训练速度。
优化器 - 梯度下降法
致力于寻找函数极值点,应用于寻找损失函数极值点,实现模型自我优化。
批量梯度下降:每次迭代使用所有样本更新梯度。优点是能准确朝向极值方向,对梯度无偏估计且可并行计算;缺点是耗时、资源需求大,对非凸函数可能陷入局部最小值。
随机梯度下降:每次迭代用一个样本,更新速度快,噪声有助于逃离局部最小值,提高泛化。但学习过程波动大。
每次迭代仅用一个样本更新参数。优点是更新速度快,增加噪声和随机性有助于逃离局部最小值、提高泛化误差;缺点是更新所有样本耗时,学习过程波动大。如在实时推荐系统中,可快速根据单个用户行为更新推荐模型参数。
小批量梯度下降:部分样本更新,计算速度快,不容易陷入局部最优解,但是有震荡。
使用部分样本(Batch Size)更新。兼具前两者优点,计算速度快且不易陷入局部最优解;缺点是学习过程有震荡,需增加学习率衰减项,Batch Size选择不当会出问题。在图像分类模型训练中,常选择合适Batch Size(如32、128)进行训练,平衡计算效率和模型性能 。
四、卷积神经网络基础(CNN)
1. 基本原理
- 输入层:输入图片。
- 卷积层:提取数据空间特征(图片中物体边缘、纹理),具有权重共享特性,减少参数量,防止过拟合。
- 池化层:(比如:最大池化)
对特征图下采样(通过减少数据点的数量来降低数据的分辨率或维度),
降低数据量,防止过拟合。
更加关注整体特性:降低对噪声,细节的敏感度 - 全连接层:将卷积层和池化层提取的特征进行分类;
- softmax:归一化处理,将类别转化为每个概率。
- 输入层:在图像卷积神经网络中,代表图片像素矩阵,三维矩阵的长、宽表示图像大小,深度表示色彩通道。如黑白图深度为1,RGB模式彩色图深度为3。从这开始,数据经不同架构转换,直至全连接层。例如输入一张224×224×3的彩色图片,作为网络处理的起始数据。
- 卷积层:是核心部分,使用可学习的过滤器提取输入数据空间特征,使节点变得更深,获得更抽象特征。具有权重共享特性,能减少参数数量,防止过拟合。例如在图像识别中,通过卷积操作提取图像中物体的边缘、纹理等特征。
- 池化层:对特征图下采样,减小特征维度,防止过拟合。不会改变三维矩阵深度,但缩小长宽,减少全连接层节点个数和网络参数。如在图像特征提取中,采用2×2的最大池化,将特征图尺寸减半,减少后续计算量。
- 全连接层:经过卷积和池化提取特征后,用1 - 2个全连接层完成分类。将前一层输出展平连接到每个神经元,学习非空间特征并映射到输出。比如在手写数字识别中,全连接层将之前提取的数字特征映射到0 - 9的分类结果。
- Softmax层:用于分类,通过Softmax函数得到输出属于不同种类的概率分布。例如在多分类任务中,确定图像属于某一类别的概率。
2. 计算过程
- 卷积层计算
- 参数设定:卷积核大小(如处理图片时常用3×3、5×5,深度与输入维度一致)、卷积核数量(寻找不同特征,随卷积增加以提取更多特征)、步长(决定卷积核滑动时每次移动像素数,一般1或2,影响输出数据空间大小)、零填充(常用以保持输入输出宽高相等)。
- 计算过程:输入数据经卷积核计算得到特征图,特征图尺寸 W 2 = H 2 = ( W − K + 2 P ) / S + 1 W_2 = H_2 = (W - K + 2P) / S + 1 W2=H2=(W−K+2P)/S+1,深度 D 2 = C o u t D_2 = C_{out} D2=Cout;参数量 C o u t × ( K × K × C i n + 1 ) C_{out} \times (K \times K \times C_{in} + 1) Cout×(K×K×Cin+1)。例如输入5×5×3图像,3×3×3卷积核,数量2,步长2,Padding = 1,得到3×3×2特征图。
- 池化层计算:常用最大池化和平均池化缩小矩阵长和宽,不减少深度。如2×2最大池化,从2×2区域取最大值作为输出,减小矩阵尺寸,加快计算并防止过拟合。
- 全连接层计算:起到分类器作用,将输入通过权重和偏置计算得到输出。如输入 x 1 , x 2 , x 3 x_1,x_2,x_3 x1,x2,x3,经权重系数计算得到 a 1 , a 2 , a 3 a_1,a_2,a_3 a1,a2,a3输出,在反向传播中,需对输入、权重系数、偏置系数求导以更新参数。
五、循环神经网络(RNN)
1. 出现原因
卷积神经网络层无连接,RNN记忆之前信息,隐藏层间有链接,输入包含(上一时刻)输出+隐藏层输出。
2. 基本逻辑
- 卷积神经网络层间节点无连接,难以处理如预测句子中下一个单词这类需考虑前后单词关联的任务。RNN则可记忆之前信息并影响后续节点输出,其隐藏层间节点有连接,输入包含输入层输出与上一时刻隐藏层输出。例如预测“天空 很”之后的单词,需依据前文信息,RNN能利用这些信息提升预测准确性。
- 结构:主体结构A的输入来自输入层 x t x_t xt和上一时刻隐藏状态 h t − 1 h_{t - 1} ht−1,生成新隐藏状态 h t h_t ht与输出 O t O_t Ot。将其按时间展开后类似有N个中间层的前馈神经网络,可利用反向传播算法训练。由于在不同时间位置共享参数,能用有限参数处理任意长度序列。
计算
- 应用场景:擅长处理时间序列相关问题,输出可为序列中下一个时刻的预测或当前时刻信息处理结果。如时间序列数据(商品不同时刻销量)或语言模型(单词对应的单词向量)。
- 机器翻译示例:以翻译句子“ABCD”为例,RNN第一段输入依次为“A、B、C、D”及结束符“_”,此阶段无输出。从结束符开始进入翻译阶段,该阶段输入为上一时刻输出,最终输出翻译结果“XYZ”,输出“_”表示翻译结束。
- 循环体前向传播流程:RNN可看作同一神经网络结构在时间序列上多次复制的结果,此结构即循环体。简单RNN循环体含两个全连接层,第一个全连接层输入为前一时刻状态与当前时刻输入拼接的向量,参数个数为
(n + x) * n + n
;第二个全连接层用于当前时刻输出,参数为n * x + x
。
六、长短时记忆网络(LSTM)
RNN难以学习长距离信息,容易出现梯度消失、爆炸的问题。LSTM可解决此问题。LSTM提出长短期记忆概念,保留需长期记忆的信息,要求遗忘特定信息。
产生背景:
RNN处理长序列数据存在问题,如难以学习长距离信息,会丧失连接远信息能力,且易出现梯度消失和梯度爆炸问题。例如预测“I grew up in China…I speak fluent Chinese”最后的词,RNN难以利用远距离的“Chinese”信息。LSTM则可解决这些问题。
设计思想:
借鉴人类处理自然语言经验,认为时间序列中信息价值不同,存在“关键词”等。LSTM提出“长短期记忆”概念,只有部分信息需长期记忆,且神经网络要学会遗忘特定信息。如阅读时会概括前文并用其理解后文。
链式结构与遗忘门:
与RNN类似,LSTM也有重复模块链形式。以预测句子“I am from China.I am fluent in______”为例,LSTM会关注“China”并利用神经元记忆。其网络节点设计“遗忘门”,遇到句号时,遗忘门使网络忽略当前神经元存储的状态信息,即遗忘之前未用信息。
结构:
LSTM链式结构中每个计算节点是有3个“门”结构的特殊网络。“门”由Sigmod神经网络和按位乘法运算构成,Sigmod输出0 - 1数值,决定输入信息通过量。遗忘门根据
x
t
x_t
xt和
h
t
−
1
h_{t - 1}
ht−1决定保留或舍弃信息;输入门等结构协同工作,使神经网络更有效地保存长期记忆信息 。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.kler.cn/a/588514.html 如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!