前向传播和反向传播(举例说明)

假设神经网络结构如下图所示:有2个输入单元;隐含层为2个神经元;输出层也是2个神经元,隐含层和输出层各有1个偏置。


为了直观,这里初始化权重和偏置量,得到如下效果:


----前向传播----

隐含层神经元h1的输入:


代入数据可得:


假设激励函数用logistic函数,计算得隐含层神经元h1的输出:


同样的方法,可以得到隐含层神经元h2的输出为:


对输出层神经元重复这个过程,使用隐藏层神经元的输出作为输入。这样输出层神经元O1的输出为:


代入数据:


输出层神经元O1的输出:


同样的方法,可以得到输出层神经元O2的输出为:


----统计误差----

假如误差公式为:


如上图,O1的原始输出为0.01,而神经网络的输出为0.75136507,则其误差为:


同理可得,O2的误差为:


这样,总的误差为:


----反向传播----

对于w5,想知道其改变对总误差有多少影响,得求偏导:


根据链式法则:


在这个过程中,需要弄清楚每一个部分。

首先:


其次:


最后:


把以上三部分相乘,得到:


根据梯度下降原理,从当前的权重减去这个值(假设学习率为0.5),得:


同理,可以得到:


这样,输出层的所以权值就都更新了(先不管偏置),接下来看隐含层

w1求偏导:


用图表来描述上述链式法则求导的路径:


接下来,又是一部分一部分的计算:

>>>>>>>> 1


上式中,第一部分前边已经计算过了:


第二部分中,因为:


所以:


两部分相乘,得:


>>>>>>>> 2


>>>>>>>> 3



>>>>>>>> 4



这样对W1的偏导就出来了:


更新权值:


同理得到:


最后,更新了所有的权重! 当最初前馈传播时输入为0.05和0.1,网络上的误差是0.298371109。 在第一轮反向传播之后,总误差现在下降到0.291027924。 它可能看起来不太多,但是在重复此过程10,000次之后。例如,错误倾斜到0.000035085。

在这一点上,当前馈输入为0.05和0.1时,两个输出神经元产生0.015912196(相对于目标为0.01)和0.984065734(相对于目标为0.99)。




卷积神经网络(Convolutional Neural Network, CNN)是一种深度学习模型,主要用于图像识别、计算机视觉等领域。它的工作原理基于卷积运算,这种运算可以捕捉图像中的局部特征,比如边缘、纹理等。以下是CNN的一个典型例子: **案例:图像分类** 假设我们要训练一个CNN来识别猫和狗的图片。CNN首先包含几个基本层: 1. **卷积层 (Convolutional Layer)**:它包含一组叫做“滤波器”(或卷积核)的小矩阵,用于滑动扫描整个输入图像。每个滤波器会对图像进行卷积操作,生成一个新的特征图,这个特征图反映了输入图像中的特定模式。 2. **激活函数 (Activation Function)**:通常使用ReLU(Rectified Linear Unit),它可以引入非线性,帮助网络学习更复杂的表示。 3. **池化层 (Pooling Layer)**:减小特征图的空间维度,例如最大池化会选取每个区域的最大值,有助于减少计算量和防止过拟合。 4. **批量归一化 (Batch Normalization)**:标准化每一层的输入,加快收敛速度并改善网络性能。 5. **全连接层 (Fully Connected Layers)**:将前面层处理后的扁平化特征映射转换为最终的类别预测,例如使用softmax函数进行概率分配。 在整个流程中,通过反向传播算法调整滤波器的权重,网络逐渐学习从低级的边缘、线条到高级的猫脸或狗脸的特征。当训练完成时,给一张新的图像作为输入,CNN会输出预测的类别概率。 **相关问题--:** 1. CNN除了图像处理,还有哪些应用领域? 2. 什么是CNN中的步长和填充? 3. 如何避免卷积神经网络中的过拟合问题?
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值