任务1:使用神经网络完成服饰图像分类1.2任务知识
神经网络全连接神经网络前向传播损失函数反向传播
原理人工神经元是一种模拟生物神经元功能的计算单元,通常用于构建人工神经网络是神经网络的基本组成部分,类似于生物大脑中的神经元。工作机制人工神经元接收输入信号,通过内部处理产生输出信号,并将输出传递给其他神经元。在人工神经网络中,这些神经元通过连接进行通信,形成了网络结构组成人工神经元通常包括输入权重、偏置和激活函数。输入权重用于调节输入信号的重要性,激活函数用于对加权输入进行非线性转换,而偏置则可以用来调整激活函数的触发阈值,从而影响神经元的活跃性。组成工作原理人工神经元1.神经网络
多输入人工神经元神经网络的输入通常是多个输入,假设输入为,这时神经元是一个多输入的人工神经元。可以把输入看成一个3维的向量,如果有n个输入,可以将输入看成n维向量,可以使用函数来表示是一个1×n的向量,是一个n×1的权重矩阵,是偏置量。1.神经网络
2.全连接神经网络每个神经元都与上一层的所有神经元相连接。每个神经元都接收来自上一层所有神经元的输入,并且输出到下一层的所有神经元。输入层、若干个隐藏层和输出层组成。使用前向传播计算损失、使用反向传播更新参数全连接神经网络定义结构用途训练人工神经网络在各种领域中都有广泛的应用,包括图像识别、语音识别、自然语言处理、预测和决策等
全连接神经网络全连接神经网络中对n-1层和n层而言,n-1层的任意一个节点,都和第n层所有节点有连接。即第n层的每个节点在进行计算的时候,激活函数的输入是n-1层所有节点的加权。但随着数据和任务的复杂性增加,训练速度会很慢,同时会受到维度灾难和过拟合等问题的影响。在实践中,通常会使用更复杂的神经网络结构,如卷积神经网络(CNN)和循环神经网络(RNN),来处理更复杂的数据和任务。2.全连接神经网络
3.前向传播什么是前向传播数据从输入数据开始,通过神经网络的各层逐层计算并传递数据,最终得到模型的输出结果,这个过程被称为前向传播。输入数据通过每一层的权重和偏置进行线性变换,并经过激活函数进行非线性变换,然后输出到下一层,直到达到输出层。前向传播的目的是计算模型的预测值。
3.前向传播前向传播实例假设有一个简单的神经网络,包含一个输入层、一个隐藏层和一个输出层,每个层都有两个神经元。使用sigmoid激活函数,并且假设每个神经元的初始权重都是随机生成的,结构如下图所示。
3.前向传播前向传播实例输入向量[]=[0.5,0.7],输入层到隐藏层的权重[]=[0.1,0.2,0.3,0.4],隐藏层到输出层的权重[]=[0.5,0.6]。
3.前向传播前向传播实例输出层
3.前向传播前向传播矩阵计算实例当神经网络的层数或者神经元的个数比较多的时候,前向传播的计算过程就非常耗时了,这时需要使用矩阵来进行计算,上图的计算过程可以写成矩阵方式
4.损失函数损失函数损失函数(LossFunction)是在机器学习和深度学习中用来衡量模型预测输出与真实标签之间差异的函数。它是优化过程的核心,用于指导模型参数的更新,以便使预测结果尽可能接近真实标签。
4.损失函数常用损失函数平方损失函数(MeanSquaredError,MSE),交叉熵损失函数(Cross-EntropyLoss)对数损失函数(LogLoss)等。常用的MSE损失函数表示如下
5.梯度下降梯度下降在模型训练中需要不停地调整权重w和偏执b的值理想状态当MSE=0时,模型会预测到所有值。现实情况是在模型训练时需要调整权重w和偏执b的值使MSE不断地变小逼近0,实现这个过程需要使用梯度下降函数。
5.梯度下降梯度下降-偏导数l(w,b)函数的图形如图所示。l(w,b)值可以看成是Z轴的值
5.梯度下降梯度下降-偏导数l(w,b)函数求偏导数使用表示求得的梯度
反向传播反向传播是指根据模型的预测结果和真实标签之间的差异,通过链式法则(ChainRule)逆向计算梯度,并将梯度从输出层传播回网络的每一层,用于更新模型的参数。在反向传播过程中,首先计算输出层的误差,然后将误差从输出层传播到隐藏层,再传播到更浅的隐藏层,直到传播到输入层。通过反向传播,可以获取关于每个参数对损失函数的梯度信息,从而实现参数的优化和更新。4.反向传传播
反向传播步骤前向传播,将输入数据通过网络传递,计算输出并得到预测结果。计算损失,根据预测结果和真实标签计算损失函数的值利用链式法则逐层计算损失函数对每个参数的梯度。将梯度信息传播回网络的每一层。参数更新,通过梯度下降或其他优化算法来更新网络中的参数,使损失函数逐步减小。重复训练重复以上步骤多次,直到达到停止条件(如达到最大迭代次数、损失函数收敛等),训练过程结束。4.反向传传播
反向