文章目录三、人工神经网络1. 神经元感知模型2. 神经网络模型3. 学习规则:修改神经网络的权重和偏置反向传播算法BP优化器 - 梯度下降法四、卷积神经网络基础CNN1. 基本原理2. 计算过程五、循环神经网络RNN1. 出现原因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∈Rwi​∈R。偏置值(Bias)b∈R激活函数(Activate Function)激活函数给神经元引入了非线性因素使得神经网络可以任意逼近任何非线性函数 从而可以应用到众多非线性模型中。输出(Output): 神经元输出该输出可由下面公式计算y f { Σ i 0 n ( w i ∗ x i ) b } y f\{ Σ_{i0}^n(w_i * x_i) b \}yf{Σi0n​(wi​∗xi​)b}2. 神经网络模型由输入层、隐藏层、输出层构成。浅层神经网络浅而宽需大量神经元含多个隐藏层的是深度神经网络深层神经网络深而窄层多但神经元少参数少更节省资源不过训练难度大。例子:以手写数字识别为例输入层接收图像像素信息隐藏层提取特征输出层判断数字类别。3. 学习规则:修改神经网络的权重和偏置基于监督学习根据训练结果与正确结果的误差反向传播误差到神经元并进行调整形成链式求解。具体正向求误差反向求偏导找极值调整参数找极值是梯度下降法批量用全样本准但耗时易陷局部随机用单样本快能逃离局部但波动大小批量用部分样本快且不易陷局部不过有震荡 。选好batch size比较关键。激活函数要找训练效率高梯度不易爆炸或消失的ReLU函数简单梯度稳定训练效率高。反向传播算法BP基本思想监督学习算法用于训练多层感知机。基于每层的输出与实际标签误差调整感知机权值矩阵。接着估算前到层上游误差反向传播误差形成链式求解。例如在语音识别模型训练中根据语音输入对应的实际识别结果与正确语音标签的误差反向调整各层神经元权值使识别结果更准确。学习过程正向传播求误差输入数据从输入层经隐藏层计算传递到输出层产生误差。初始化权值矩阵可采用随机值或经验值。以图像分类任务为例输入图像数据经各层计算得到分类结果与实际类别对比得出误差。反向传播求偏导将误差从输出层反向传递到输入层计算权重修改量以更新权值。因Sigmoid激活函数易出现梯度减小甚至消失问题深层卷积神经网络常采用ReLU函数替代。激活函数对神经元输入进行非线性变换反映神经元非线性特性。-线性激活函数f ( x ) k x c f(x) kx cf(x)kxc用于线性神经网络如简单线性回归模型。-符号激活函数f ( x ) { 0 , x 0 1 , x 0 f(x)\{^{1, x0}_{0, x0}f(x){0,x01,x0​在某些决策场景中根据输入简单判断输出0或1。-Sigmoid激活函数f ( x ) 1 / ( 1 e − x ) f(x)1/(1e^{-x})f(x)1/(1e−x)将输入映射到0 - 1区间在逻辑回归中用于输出概率值。-双曲正切激活函数图像呈S型与Sigmoid类似但值域为 - 1到1 在一些需要处理正负值的场景有应用。-高斯激活函数呈正态分布形状在特定信号处理等场景使用。-ReLU激活函数f ( x ) { 0 , x 0 x , x 0 f(x)\{^{x, x0}_{0, x0}f(x){0,x0x,x0​计算简单、梯度不消失在卷积神经网络中广泛应用如在图像特征提取中能有效避免梯度消失问题加快训练速度。优化器 - 梯度下降法致力于寻找函数极值点应用于寻找损失函数极值点实现模型自我优化。批量梯度下降每次迭代使用所有样本更新梯度。优点是能准确朝向极值方向对梯度无偏估计且可并行计算缺点是耗时、资源需求大对非凸函数可能陷入局部最小值。随机梯度下降每次迭代用一个样本更新速度快噪声有助于逃离局部最小值提高泛化。但学习过程波动大。每次迭代仅用一个样本更新参数。优点是更新速度快增加噪声和随机性有助于逃离局部最小值、提高泛化误差缺点是更新所有样本耗时学习过程波动大。如在实时推荐系统中可快速根据单个用户行为更新推荐模型参数。小批量梯度下降部分样本更新计算速度快不容易陷入局部最优解但是有震荡。使用部分样本Batch Size更新。兼具前两者优点计算速度快且不易陷入局部最优解缺点是学习过程有震荡需增加学习率衰减项Batch Size选择不当会出问题。在图像分类模型训练中常选择合适Batch Size如32、128进行训练平衡计算效率和模型性能 。四、卷积神经网络基础CNN1. 基本原理输入层输入图片。卷积层提取数据空间特征图片中物体边缘、纹理具有权重共享特性减少参数量防止过拟合。池化层比如最大池化对特征图下采样通过减少数据点的数量来降低数据的分辨率或维度降低数据量防止过拟合。更加关注整体特性降低对噪声细节的敏感度全连接层将卷积层和池化层提取的特征进行分类softmax归一化处理将类别转化为每个概率。输入层在图像卷积神经网络中代表图片像素矩阵三维矩阵的长、宽表示图像大小深度表示色彩通道。如黑白图深度为1RGB模式彩色图深度为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 1W2​H2​(W−K2P)/S1深度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步长2Padding 1得到3×3×2特征图。池化层计算常用最大池化和平均池化缩小矩阵长和宽不减少深度。如2×2最大池化从2×2区域取最大值作为输出减小矩阵尺寸加快计算并防止过拟合。全连接层计算起到分类器作用将输入通过权重和偏置计算得到输出。如输入x 1 , x 2 , x 3 x_1,x_2,x_3x1​,x2​,x3​经权重系数计算得到a 1 , a 2 , a 3 a_1,a_2,a_3a1​,a2​,a3​输出在反向传播中需对输入、权重系数、偏置系数求导以更新参数。五、循环神经网络RNN1. 出现原因卷积神经网络层无连接RNN记忆之前信息隐藏层间有链接输入包含上一时刻输出隐藏层输出。2. 基本逻辑卷积神经网络层间节点无连接难以处理如预测句子中下一个单词这类需考虑前后单词关联的任务。RNN则可记忆之前信息并影响后续节点输出其隐藏层间节点有连接输入包含输入层输出与上一时刻隐藏层输出。例如预测“天空 很”之后的单词需依据前文信息RNN能利用这些信息提升预测准确性。结构主体结构A的输入来自输入层x t x_txt​和上一时刻隐藏状态h t − 1 h_{t - 1}ht−1​生成新隐藏状态h t h_tht​与输出O t O_tOt​。将其按时间展开后类似有N个中间层的前馈神经网络可利用反向传播算法训练。由于在不同时间位置共享参数能用有限参数处理任意长度序列。计算应用场景擅长处理时间序列相关问题输出可为序列中下一个时刻的预测或当前时刻信息处理结果。如时间序列数据商品不同时刻销量或语言模型单词对应的单词向量。机器翻译示例以翻译句子“ABCD”为例RNN第一段输入依次为“A、B、C、D”及结束符“_”此阶段无输出。从结束符开始进入翻译阶段该阶段输入为上一时刻输出最终输出翻译结果“XYZ”输出“_”表示翻译结束。循环体前向传播流程RNN可看作同一神经网络结构在时间序列上多次复制的结果此结构即循环体。简单RNN循环体含两个全连接层第一个全连接层输入为前一时刻状态与当前时刻输入拼接的向量参数个数为(n x) * n n第二个全连接层用于当前时刻输出参数为n * x x。六、长短时记忆网络LSTMRNN难以学习长距离信息容易出现梯度消失、爆炸的问题。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_txt​和h t − 1 h_{t - 1}ht−1​决定保留或舍弃信息输入门等结构协同工作使神经网络更有效地保存长期记忆信息 。