深度学习之神经网络的操作与计算

本文详细介绍了深度学习中的前向传播和反向传播过程。前向传播通过加权和与激活函数计算各层节点的输出;反向传播则通过误差反向传播来更新网络权重,减小预测误差。此外,还讨论了神经网络的输出计算、卷积神经网络的卷积计算以及池化层的下采样原理。重点涉及梯度下降算法在优化过程中的应用。
摘要由CSDN通过智能技术生成

#前向传播(foward propagation, FP)

前向传播作⽤于每⼀层的输⼊,通过逐层计算得到输出结果。

在这里插入图片描述
假设上⼀层结点i,j,k…等⼀些结点与本层的结点w有连接,那么结点w的值怎么算呢?
①上⼀层的i,j,k…等结点以及对应的连接权值进⾏加权和运算,②给最终结果再加上⼀个偏置项(图中为了简单省略了),③将结果代入⼀个非线性函数(即激活函数),如 ,Relu、sigmoid 等函数,④最后得到的结果就是本层结点w的输出。

#反向传播(backward propagation, BP)

反向传播(backward propagation, BP)作⽤于⽹络的输出,通过计算梯度由深到浅更新⽹络参数,减小误差。

反向传播的主要思想:给定输入值a,期望输出值为b,通过不断地调整优化各个节点之间的权重值w,使得实际输出值尽可能接近于期望值b。
步骤:i 给定输入值a,期望输出值b,初始化各个节点之间的权重值w。 ii 通过前向传播求得实际输出值,计算实际输出值和期望值之间的误差E。iii 求误差E对各个权重参数w的偏导(链式法则),以得到该权重参数对误差的影响值。 iv 修改权重值w。 重复上述过程,直到实际输出值非常接近期望值。

在这里插入图片描述
由于我们前向传播最终得到的结果,以分类为例,最终总是有误差的,那么怎么减少误差呢?
当前应⽤⼴泛的⼀个算法就是梯度下降算法,在过程中不断调整权值w。

#如何计算神经网络的输出?

如图,w表示两个相连接点之间的权重,w8* 表示节点8与其他各个节点之间的权重。

在这里插入图片描述
输出层的节点 8 的输出值y1:(w8b是节点8的偏置项)
在这里插入图片描述

#如何计算卷积神经网络的输出值?

在这里插入图片描述
xi,j表⽰图像第i⾏第j列元素。wm,n表⽰ filter 第m⾏第n列权重。wb表⽰filter的偏置项。ai,j表示feature map第i⾏第j列元素。f表示激活函数,这里以ReLU函数为例。卷积公式如下:
在这里插入图片描述
当步长为1(步长表示下图Image中的小蓝框每次向左或者向下一定的格数),计算过程如图:
在这里插入图片描述
以此类推:
在这里插入图片描述
当步长为2,计算结果如图:
在这里插入图片描述

##深度为D的卷积计算

上述例子中图像的深度为1。当图像的深度为D时,filter的深度也必须为D,此时卷积的计算公式为:
在这里插入图片描述
卷积后Feature map的深度和卷积层filter的个数相同。
如下图所示,图像和filter的深度都为3,filter的个数为2,feature map的深度为2。图中的Zero padding是1,也就是在输⼊元素的周围补了⼀圈0。
在这里插入图片描述

#如何计算Pooling层(采样层)的输出值?

Pooling层主要的作用是下采样,通过去掉Feature Map中不重要的样本,进一步减少参数数量。最常用的是Max Pooling,在n*n的样本中取最大值,作为采样后的样本值。

下图是2*2 max pooling:
在这里插入图片描述

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值