学习 深度学习3-全连接神经网络总结
全连接神经网络(FCNN)
全连接神经网络(Fully Connected Neural Network, FCNN)是最基础、最经典的神经网络结构,其核心特征是相邻两层的神经元之间完全连接,即上一层的每个神经元都会与下一层的所有神经元建立连接,信息通过权重传递、激活函数处理,最终完成数据的拟合与预测。
一、网络结构
FCNN 主要由输入层、隐藏层、输出层三部分组成,每层均包含若干神经元(节点),各层功能与特点如下:
输入层:接收原始数据(如图片像素、特征向量等),仅负责传递数据,不进行任何运算处理。神经元的数量与输入数据的维度一致(例如,输入为32×32的彩色图片,输入层神经元数量为32×32×3=3072)。
隐藏层:位于输入层与输出层之间,是网络进行特征提取和数据转换的核心部分。隐藏层的神经元会对输入信号进行加权求和、偏置调整,再通过激活函数进行非线性转换,实现复杂特征的挖掘。
输出层:输出网络的最终结果,神经元数量由任务需求决定(例如,二分类任务输出层1个神经元,多分类任务输出层神经元数量与类别数一致)。输出层神经元通常会搭配对应激活函数,使输出结果符合任务要求(如分类任务的概率分布、回归任务的连续值)。
注:隐藏层与输出层的神经元均包含“加权求和+偏置+激活函数”的完整结构,输入层神经元仅传递原始数据,无激活函数和参数。
二、常见激活函数
激活函数的核心作用是为网络引入**非线性因素**,解决线性模型无法拟合复杂数据的问题,不同激活函数适用于不同场景,常见类型及特点如下:
Sigmoid:映射范围为(0,1),输出可表示概率,适用于二分类任务的输出层;缺点是易出现梯度消失,不适合深层网络的隐藏层。
Tanh:映射范围为(-1,1),输出均值接近0,缓解了Sigmoid的梯度消失问题,但仍存在深层梯度衰减的问题,可用于隐藏层。
ReLU:最常用的隐藏层激活函数,表达式为f(x)=max(0,x),计算高效、不易梯度消失,能有效提升深层网络的训练效率;缺点是存在“死亡ReLU”问题(部分神经元永久输出0)。
Leaky ReLU:针对ReLU的改进,表达式为f(x)=max(αx,x)(α为小于1的正数),允许负区间有微小梯度,解决了“死亡ReLU”问题,适用性更广泛。
Softmax:主要用于多分类任务的输出层,能将输出值映射为概率分布(所有输出值之和为1),便于判断样本属于某一类别的概率。
三、核心运算模式(训练流程)
FCNN 的训练本质是通过不断调整网络参数(权重w、偏置b),最小化预测结果与真实标签的误差(loss),核心流程为“输入数据→前向传播→计算loss→计算梯度→反向传播→参数更新”,循环迭代直至模型收敛,具体步骤如下:
前向传播:输入数据从输入层出发,通过各层神经元的连接权重(w)和偏置(b),计算每层的加权和(z = w·x + b),再经过激活函数处理,得到各层输出,最终传递至输出层,得到预测结果。
计算loss:根据输出层的预测结果与数据的真实标签,通过损失函数(loss function)计算误差,常用损失函数包括均方误差(MSE,适用于回归任务)、交叉熵损失(适用于分类任务)等,loss值越小,说明预测结果与真实值越接近。
计算梯度:以loss值为目标,通过链式求导法则,计算loss对网络中所有参数(w和b)的偏导数,即梯度(梯度反映了参数变化对loss的影响程度)。
反向传播:将计算出的梯度从输出层反向传递至输入层,逐层更新各层的参数(w和b),核心逻辑是“梯度下降”——沿着梯度减小的方向调整参数,使loss值不断降低。
参数更新与迭代:重复上述前向传播、loss计算、梯度计算、反向传播的过程,每次迭代都微调参数w和b,直至loss值趋于稳定(达到预设阈值),此时模型训练完成,可用于后续预测。
更多推荐

所有评论(0)