当前位置:网站首页>卷积神经网络的推导过程
卷积神经网络的推导过程
2022-08-09 03:07:00 【白小李】
目录
前言
本此周报主要是对CNN的基本流程进行手动推导学习,进一步理解卷积网络的运行过程。同时温习整个卷积神经网络的运作机制。
一、基本流程
在卷积神经网中的输入x,通常是以矩阵进行输入,在下图中的输入矩阵,横数是“很好看呢!”这几个的个数,列数是词向量的维度,0.3、0.1、0.1,在词向量空间中就代表好字。在第一层卷积运算层中有3种fitter,而每种fitter有3个。在convolve之后,每一个fitter都会有一个卷积结果。之后经过激活层(activation),通过映射到高维度来解决分类以及其它问题。在卷积层之间周期性的引进池化 层(pooling),在减少训练参数数量的同时,防止过拟合的发生并从每一个fitter里面选出最大值,最后通过dropout层和输出层,将卷积后的结果输出来。
本质:神经网络中一层层的卷积本质上就是大量的卷积核在发挥不同的作用。
二、推导
1、初始化
首先convolve4×3的输入和2×3的background fitter,之后将得到的3×1的结果放进激活层中,在这个推导例子中,采用ReLu作为激活函数,经过激活函数的结果进行max pooling,进一步降低维度,得到一个1×1的结果,再将这个结果放入softmax layer进行多分类或者将某个值转化为激活概率。
此次优化的参数一共有8个,一个是background fitter上的6个参数以及线性层参数w1、w2。初始化如图所示。
2、正向计算(Forward)
4×3的输入卷积后得到的3×1的结果中,以1.6举例,0.4×1+0.7×1+0×1+0.3×1+0.1×1+0.1×1=1.6。同理1.4和2.5也是这么计算出来的。之后经过ReLu函数,大于0的时候是本身,小于0的时候是0。经过maxpooling留下最大的2.5这个node作为softmax的输入,最后得出概率分布。
3、反向传播(Backpropagation)
反向传播即先从后面开始算,首先算loss对O1求导,即预测概率减去实际标签,再loss对O2求导。
之后是算loss对W1求导,采用链式法则展开后,转换为对O1求导×O1对W1求导,同理对O2进行求导。
第三步算loss对Z求导。
接下来算maxpooling的梯度。
再算loss对S的梯度
最后一步是算卷积层的导数。在向量比较少的时候,可以通过向量展开计算。在CNN中算fitter的梯度可以被转化成一个反过来的卷积运算。
4、更新
最后进行更新两个w参数和6个u参数,学习率为1。此时便完成了一轮的参数更新
结论
对于卷积神经网络的推导过程有了一个大致的了解,下周计划对卷积的代码进行学习和复现,争取将卷积这部分从理论和实际方面都掌握好,以及对卷积神经网络中的激活函数再次进行学习。
边栏推荐
- Promoting practice with competitions-Like the 84th biweekly game reflection and the 305th weekly game supplementary questions
- What are the functions and applications of the smart counter control board?
- 【图像去噪】基于边缘增强扩散 (cEED) 和 Coherence Enhancing Diffusion (cCED) 滤波器实现图像去噪附matlab代码
- 加密公司集体裁员 以应对加密寒冬和通货膨胀?现加密总市值低于1万亿美元
- net core 读取sqlserver所有表转为json
- Embedded system driver advanced [2] - platform bus driver development _ basic framework
- SQL注入(2)
- C18-PEG- ALD批发_C18-PEG-CHO_C18-PEG-醛基
- 【信号去噪】基于Sage-Husa自适应卡尔曼滤波器实现海浪磁场噪声抑制及海浪磁场噪声的产生附matlab代码
- 01| 数据类型
猜你喜欢
Embedded system driver advanced [2] - platform bus driver development _ basic framework
win10上运行emwin
Kubernetes:(十四)安全机制(一定要做好安全措施哦)
Shell脚本:函数
Zabbix 5.0 监控教程(五)
【CAS:41994-02-9 |Biotinyl Tyramide|】生物素基酪氨酰胺
LeetCode_43_字符串相乘
【信号去噪】基于Sage-Husa自适应卡尔曼滤波器实现海浪磁场噪声抑制及海浪磁场噪声的产生附matlab代码
2022-08-08 The fifth group Gu Xiangquan study notes day31-collection-IO stream-File class
01| 数据类型
随机推荐
【洛谷】P1456 Monkey King
20220529设计问题:二叉树的序列化与反序列化
JSP入门
数学基础(四)极大似然估计、误差的高斯分布与最小二乘估计的等价性
Chrome的JSON美化插件
Hudi从内核到实战介绍
jsx定义与规则
JS 运行机制最全面的一次梳理
Matlab实现异构交通流
Kubernetes:(十四)安全机制(一定要做好安全措施哦)
甲乙丙丁加工零件,加工的总数是370, 如果甲加工的零件数多10,如果乙加工的零件数少20,如果丙加工的 零件数乘以2,如果丁加工的零件数除以2,四个人的加工数量相等,求甲乙丙丁各自加工多少个零件?
Introduction to the JSP
C专家编程 第9章 再论数组 9.4 数组片段的下标
宝塔实测-TinkPHP5.1框架小程序商城源码
Postman interface test [official website] latest version installation and use tutorial
Zabbix 5.0 监控教程(五)
20220527动态规划:零钱兑换
数学基础(三)PCA原理与推导
Redis中SDS简单动态字符串
最优化方法——0.618法matlab实现