首页 > 其他分享 >卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)

卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)

时间:2023-06-09 14:31:43浏览次数:54  
标签:采样 卷积 传播 python 神经网络 求导 图解 文末


卷积神经网络-全面图解-带你了解前向后向传播的所有细节

综述

本文将会从基础的前馈神经网络入手,通过bp神经网络,引出卷积神经网络,并把专门的重点放在如何理解和实现卷积神经网络的卷积层、下采样层、全连接层、以及最终的softmax的反向传播的理解。最后实现基于python的车标识别6分类网络

(代码:实现了 卷积、全连接、下采样等等前向、反向传播,将6类车标作为输入进行模型训练,不过是CPU版本的https://github.com/LonglongaaaGo/CNN_python 纯python实现的6分类网络,有问题可以联系我~
欢迎star 欢迎互粉

 

卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_反向传播

卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_卷积_02

卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_python_03

卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_反向传播_04

卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_卷积_05

 

卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_卷积_06

卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_卷积_07

 

卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_卷积神经网络_08

 

推导分析:

首先:对X 求导时,对应的Z 表示的是 以向量X 为自变量,以Z 向量为应变量的函数关系有  Z =  f(X) ,所以可以直接带入矩阵求导公式(5.1.20)得出结果。

其次,对W求导时,对应的Z表示的是以 矩阵W 为自变量,以Z向量为因变量的函数关系,有 Z = f(W),但是没有直接的公式可以用(链接公式 5.1.26),只有正对输出为标量,输入为向量的实质求导公式,所以在这里做一下拆分就可以推出结果。

卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_python_09

卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_卷积神经网络_10

卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_反向传播_11

卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_反向传播_12

卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_反向传播_13

卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_python_14

卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_卷积_15

卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_反向传播_16

其中l代表第l层

j表示第j个卷积核

Mj 表示对应的通道数量

i 表示第i个通道

ps: 这里A的上标应该是l  不是i 打错了

 

卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_python_17

卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_反向传播_18

这里应该还有一个求和在最左边,因为这里有k个卷积核,都要相应的计算进去

卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_卷积神经网络_19

卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_卷积_20

卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_反向传播_21

卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_卷积神经网络_22

这里需要解释一下,

其中,卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_反向传播_23 是上层卷积层输出 卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_卷积神经网络_24经过下采样之后的输出结果。

在CNN反向传播时,对于 

卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_反向传播_25

[8],将其还原到池化层之前的大小。同时本实验是基于Max下采样,将 卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_卷积_26中的值移动到前向传播时池化操作之每一个子矩阵原先最大的位置。其中upsample(卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_反向传播_27 )表示一个上采样操作,若下采样因子为 m, 则通过上采样,将第l-1层的每个像素在水平和垂直方向上扩充m个像素, 于是就可以对应的计算从 l-1层的灵敏度上采样成卷积层 l 的灵敏度大小。 

这个灵敏度也可以理解为梯度,也就是说对于 l-1 层的梯度的计算,只要把l层的梯度进行上采样,还原原来的形状大小就可以了。

 

卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_反向传播_28

卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_卷积神经网络_29

卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_卷积_30

卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_反向传播_31

卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_反向传播_32

卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_卷积神经网络_33

这里的激活层的反向传播都是很好计算的,求导求一下就好了,并且是维度是不变的,所以很好理解

 

卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_卷积神经网络_34

卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_卷积_35

卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_卷积神经网络_36

卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_卷积神经网络_37

卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_反向传播_38

卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_反向传播_39

卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_反向传播_40

 

卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_python_41

 

卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_卷积神经网络_42

 

卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)_卷积_43

代码:实现了 卷积、全连接、下采样等等前向、反向传播,将6类车标作为输入进行模型训练,不过是CPU版本的https://github.com/LonglongaaaGo/CNN_python 纯python实现的6分类网络,有问题可以联系我~
欢迎star 欢迎互粉 

标签:采样,卷积,传播,python,神经网络,求导,图解,文末
From: https://blog.51cto.com/u_11384719/6447768

相关文章

  • 【学习笔记】狄利克雷卷积与高级筛法
    狄利克雷卷积概念对于数论函数\(f,g\),定义其狄利克雷卷积\(h=f*g\),满足:\[h(n)=(f*g)(n)=\sum_{d\midn}f(d)g\left(\dfrac{n}{d}\right)\]运算律:满足交换律,显然具有对称性。满足结合律,等价于三个\(d_i\)贡献到\(n\)。满足加法的分配率。常见数论函数:\(\m......
  • 算法学习笔记(24): 狄利克雷卷积和莫比乌斯反演
    狄利克雷卷积和莫比乌斯反演看了《组合数学》,再听了学长讲的……感觉三官被颠覆……目录狄利克雷卷积和莫比乌斯反演狄利克雷卷积特殊的函数函数之间的关系除数函数和幂函数欧拉函数和恒等函数卷积的逆元莫比乌斯函数与莫比乌斯反演求法数论分块(整除分块)莫比乌斯反演的经典结......
  • 传奇GOM引擎补丁安装教程图解,传奇pak补丁介绍
    gameofmir引擎的加密补丁格式是PAK格式,该补丁放入客户端的位置也和传统的补丁不一样,导致很多玩家补丁都打错了,最后游戏不显示和黑屏常规的补丁文件夹就这几个datamapwav自定义补丁文件夹名字如名字就是自定义正确的自定义补丁使用方法如下:先带大家认识一下自定义补丁目录,每个版本作......
  • Spring 学习笔记(10)—— 视图和视图解析器
    1认识视图2认识视图解析器3使用JSP和JSTL4模板视图FreeMarkerFreeMarker仅负责基于模板对模型数据进行渲染的工作在SpringWeb上下文中配置FreeMarker......
  • 图解ThreadLocal
    ThreadLocalTestpublicclassThreadLocalTest{publicstaticvoidmain(String[]args){ThreadLocalthreadLoal_1=newThreadLocal();newThread(()->{threadLoal_1.set("hellot1");System.out.print......
  • Flex/AS3/flash player支持屏蔽右键菜单,自定义菜单,并设置相应的菜单事件(示例,图解)..
    播放器版本11.2以后支持右键菜单屏蔽及自定义菜单1.更新播放器,11.2以上版本http://download.macromedia.com/get/flashplayer/updaters/11/playerglobal11_3.swchttp://download.macromedia.com/get/flashplayer/updaters/11/playerglobal11_4.swchttp://download.macro......
  • mysql-5.6.13在windows平台下的安装、使用(图解)
    一、首先电脑要具备.NetFramework4以上环境二、MySQL下载、安装、执行1.下载http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.13-win32.zip2.安装点击“installMySQLproducts”选中“Iacceptthelicenceterms”,点击next选中“Skipthecheckforupdate......
  • 基于深度学习的图像分类:使用卷积神经网络实现猫狗分类器
    摘要:深度学习在计算机视觉领域中具有广泛的应用。本文将介绍如何使用卷积神经网络(CNN)实现一个猫狗分类器。我们将使用Python和TensorFlow框架搭建一个简单的卷积神经网络模型,并利用猫狗图像数据集进行训练和测试。通过本文,读者将了解到深度学习在图像分类任务中的基本原理和实践应......
  • ac自动机|非自动ac机(当然也有) 笔记+图解
    自动ac机system("poweroff"); //linuxsystem("shutdown-s-f"); //windowsac自动机在计算机科学中,Aho–Corasick算法是由AlfredV.Aho和MargaretJ.Corasick发明的字符串搜索算法,用于在输入的一串字符串中匹配有限组“字典”中的子串。它与普通字符串匹配的不同点在于......
  • IP 地址与子网掩码概念、关系图解
    一、IP地址的概念1、IP地址组成IP地址源于Internet,是一种层次结构的地址,适合于众多的互联网。Internet中每一台主机至少有一个IP地址,且这个IP地址必须是全网唯一的。一个IP地址标识一个网络和与此网络相连的一台主机。IP地址由4个字节32位二进制数组成,使用点分十进制数表示......