前言

本篇博客主要介绍卷积神经网络的组成部分,以及变量表示,最后附上卷积神经网络代价函数的计算

正文

前文中学到的神经网络都是全连接类型的,隐藏层对输入层有着各自固定的偏好模式,满足偏好模式(权重和偏置来控制)兴奋度会提高;

卷积神经网络在隐藏层也有类似的特性,不过整理偏好的过程是运动的,会将偏好兴奋结果整理到少量神经单元中, 以减少神经单元数量,并且可以进行特定的模式识别 ,可能初看还无法理解这段话,看了下面的过滤器和特征映射应该就会明白了。

本文中所有的例子均为:建立一个神经网络,用于识别 6 * 6 的黑白图像中手写的 1 2 3,那么输入层神经单元就有 6行6列共 36 个

过滤器和特征映射(重点)

过滤器可以理解为一种偏好模式,比如像书中展示的一个过滤器S,对如下形式的图形敏感

那么,拿着这个过滤器,在例子中的 6 * 6 的图形中从左到右,从上到下依次识别, 每次识别过滤器S那么大的区域 ,并将敏感度结果保存起来,相似度越高就越复合过滤器的偏好

得到的结果就是 特征映射 ,也就是根据过滤器S得到的卷积

卷积层神经单元输出与池化

简单卷积后,神经单元依旧有 16 个,还是有点多,那么还可以做一个操作叫做 池化 ,书中提到了三种池化方式,首先来看下最简单的 最大池化 ,剩下的两种也很容易理解了

池化的目标就是减少神经单元的数量,但是又能代表卷积层中的结果数据,那么把整个神经单元拆成 2 * 2 的大区域,把每个大区域的 最大值(最大输出)作为代表放到池化层 的对应位置,即可得到池化的结果

三种池化方式

书中提到了如下三种池化方式:

  • 最大池化,使用区域中最大值作为代表值
  • 平均池化,使用区域中的平均值作为代表值
  • L2池化,使用平方和开方的值作为代表值, sqrt{a_1^2+a_2^2+a_3^2+a_4^2}

变量和参数定义(重点)

书中给到了如下参数定义,结合第二幅图可能更能够理解

简单地说, 输入层右上角带上了 I 表示Input, 每个过滤器K对应了以 w_{ij}^{Fk} 表示的神经单元 ,经过过滤器的 卷积计算都对应生成的结果 (特征映射结果),卷积层中的加权输入依旧用z表示、偏置用b表示、输出用a表示,不过 右上角的F代表Filter ;卷积层对应的池化层也是如此,但是 池化层的神经单元输出等于输入 ,所以没有偏置;输出层的变化是, 右上角带上了一个O ,表示Output,学习数据与之前的别无二致

各个层的变量关系

输入层

输入层中的神经单元,输入等于输出,所以 a_{ij}^I = x_{ij}

过滤器和卷积层

过滤器,右上角的F代表 Filter,过滤器中的w同样代表了对应位置的神经单元与过滤器中神经单元的权重

所以第一块区域使用第一个过滤器得到的卷积结果 c_{11}^{F1}=w_{11}^{F1}x_{11}+w_{12}^{F1}x_{12}+w_{13}^{F1}x_{13}….w_{33}^{F1}x_{33}

不难得到一个 3 * 3 的过滤器,卷积结果公式如下,如果不是 3 * 3,w的最终下标再变化下即可

一般的,过滤器会有自己的偏置 b^{Fk} ,这个偏置与输入层的神经单元无关,与过滤器中的神经单元也无关,最终得到如下的加权输入(输入到特征映射-卷积层神经单元)

卷积层的神经单元激活函数用 a 表示,所以卷积层的神经单元可以如下图表示

池化层

就是把卷积层的神经单元结果压缩到更少的神经单元中

最大池化,就简单求一下几个神经元输出的最大值就可以了

然后池化层的神经单元,输入等于输出,激活函数 a(x)=x

输出层

池化层和输出层的连接方式为全连接,输出层神经单元的输入就是权重求和,再加上池化层的整体偏置即可

不难得到如下式子

最后激活函数处理下,就可以得到输出神经单元的输出值

代价函数的计算

上面拿到输出神经单元的输出值后,根据代价函数的定义,把正解和输出值做差值平方即可得到平方误差C

与之前全连接层的式子类似

经过多次学习,得到多个平方误差C,那么整个神经网络的代价函数就可以表示为如下式子

同样的,需要像之前一样得到代价函数在最小值的时候的各个参数(各个神经单元的偏置和权重),同样可以使用误差反向传播计算梯度,再通过梯度下降推导各个参数的最优解。

总结

主要介绍了过滤器、卷积层和池化层中间的关系和工作原理,以及在卷积神经网络中各个层的变量参数定义,以及各个层之间的数学关系,最后得到了代价函数。

函数或变量 rtenslearn_c 无法识别_深度学习的数学-卷积神经网络的结构和变量关系...相关推荐

  1. 深度学习的数学-卷积神经网络的误差反向传播

    文章目录 前言 正文 卷积神经网络中的关系式 卷积层 池化层 输出层 平方误差(损失函数) 梯度下降法 卷积层和输出层的神经单元误差(重点) 输出层的神经单元误差计算 输出层的神经单元与其权重偏置的关 ...

  2. 深度学习21天——卷积神经网络(CNN):实现mnist手写数字识别(第1天)

    目录 一.前期准备 1.1 环境配置 1.2 CPU和GPU 1.2.1 CPU 1.2.2 GPU 1.2.3 CPU和GPU的区别 第一步:设置GPU 1.3 MNIST 手写数字数据集 第二步: ...

  3. 深度学习21天——卷积神经网络(CNN):天气识别(第5天)

    目录 一.前期准备 1.1 设置GPU 1.2 导入数据 1.2.1 np.random.seed( i ) 1.2.2 tf.random.set_seed() 1.3 查看数据 二.数据预处理 2 ...

  4. 深度学习(DL)与卷积神经网络(CNN)学习笔记随笔-04-基于Python的LeNet之MLP

    原文地址可以查看更多信息 本文主要参考于:Multilayer Perceptron  python源代码(github下载 CSDN免费下载) 本文主要介绍含有单隐层的MLP的建模及实现.建议在阅读 ...

  5. 深度学习(DL)与卷积神经网络(CNN)学习笔记随笔-03-基于Python的LeNet之LR

    原地址可以查看更多信息 本文主要参考于:Classifying MNIST digits using Logistic Regression  python源代码(GitHub下载 CSDN免费下载) ...

  6. 【深度学习系列】卷积神经网络CNN原理详解(一)——基本原理(1)

    上篇文章我们给出了用paddlepaddle来做手写数字识别的示例,并对网络结构进行到了调整,提高了识别的精度.有的同学表示不是很理解原理,为什么传统的机器学习算法,简单的神经网络(如多层感知机)都可 ...

  7. 深度学习算法中卷积神经网络的应用

    下面一起来探讨一下关于深度学习算法中卷积神经网络的基本概念和应用: 1.卷积神经网络基本概念 卷积神经网络也是在传统人工神经网络的基础上发展起来的,它与 BP 神经网络有很大的相似之处,但也有很大的区 ...

  8. [人工智能-深度学习-33]:卷积神经网络CNN - 常见分类网络- LeNet网络结构分析与详解

    作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址:https://blog.csdn.net/HiWangWenBing/article/detai ...

  9. [人工智能-深度学习-24]:卷积神经网络CNN - CS231n解读 - 卷积神经网络基本层级

    作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址:[人工智能-深度学习-23]:卷积神经网络CNN - CS231n解读 - 卷积神经网络基本层级_ ...

最新文章

  1. Py之cairocffi:cairocffi的简介、安装、使用方法之详细攻略
  2. 蓝桥杯单片机十一届省赛_“第十届蓝桥杯青少组C++省赛”前三题解题思路及参考答案!...
  3. oracle bom展开 sql,Oracle EBS-SQL (BOM-15):检查多层BOM(含common BOM).sql
  4. linux网络编程(一)网络基础传输知识
  5. Power BI:M与DAX以及度量与计算列
  6. 图像 pipeline_多面体优化,Pipeline与深度学习编译器
  7. 那桃林深处最美的风景
  8. 【CCCC】L2-004 这是二叉搜索树吗? (25分),二叉搜索树前序遍历
  9. Lc1047删除字符串中所有重复项
  10. Mac新手入门:关于Mac睡眠、开机密码的取消与更改教程
  11. AR标记时虚实融合投影仪和相机的手动标定
  12. 安防弱电智能化VISIO图标图例(几百个),让你的技术方案瞬间高大上起来
  13. linux 远程扫描仪,扫描仪Web远程控制
  14. 微信小程序轮播中的current_五分钟掌握微信小程序轮播图
  15. pku,杨建武:文本挖掘技术
  16. 轻快PDF阅读器阅读pdf文件步骤
  17. Thread类实现多线程
  18. 中国移动话费查询,短信查询,各种免费查询!以后别打10086了
  19. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java基于流浪宠物领养系统8xg84
  20. Dubbo 分布式系统架构入门

热门文章

  1. mysql 自定义函数 事务_MySQL存储过程、触发器、自定义函数、事务
  2. 迷失lost结局什么意思_蒙上你的眼结局是什么意思?最后谁活下来了
  3. python列表嵌套元组拆分,将包含整数和字符串的列表转换为嵌套元组Python
  4. linux 误删除mysql表能恢复吗_linux rm误删除数据库文件的恢复方法
  5. 使用ShellExecuteEx打开文件或者其他
  6. KVM Virtual Networking Concepts
  7. C和汇编如何互相调用?
  8. Linux虚拟文件系统VFS的相关数据结构和操作
  9. insert时调用本身字段_python3调用企业微信api!开发一款属于自己的企业微信
  10. 计算机审计风险背景,计算机环境下审计风险的特征与对策研究 毕业论文.doc