[人工智能-深度学习-23]:卷积神经网络CNN - 卷积核的本质是多维输入的神经元

Posted 文火冰糖的硅基工坊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[人工智能-深度学习-23]:卷积神经网络CNN - 卷积核的本质是多维输入的神经元相关的知识,希望对你有一定的参考价值。

作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

本文网址:https://blog.csdn.net/HiWangWenBing/article/details/120734529


目录

第1章 预备核心概念

1.1 单个神经元的一维矩阵运算模型

1.2 神经网络(多个神经元)的二维矩阵运算模型

第2章 单个卷积核的本质是一个神经元

2.1 卷积核的来源

2.2 卷积核的本质是:三维(长度 * 宽度 * 通道)输入的神经元

2.3 卷积核的直观运算:“积” = 算术乘 + 累加和

2.4 卷积核线性化后的运算:“积” =  一维矩阵相乘

第3章 卷积运算平移:“卷” 

3.1 卷积过程

3.2卷积的串行计算法:循环法

3.3 卷积的并行计算法:批量样本扩展法

3.4 卷积神经元的本质:三维输入,二维输出的神经元。

第4章 多个卷积核卷积神经网络

4.1 多个卷积核并发计算的原理

4.2 卷积神经网络与全连接神经网络


第1章 预备核心概念

1.1 单个神经元的一维矩阵运算模型

[人工智能-深度学习-21]:卷积神经网络CNN -- 多维输入的神经元模型及其本质:一维矩阵的点乘_文火冰糖(王文兵)的博客-CSDN博客第1章 神经元的一维输入模型1.1 一维线性输入的原始神经元模型[人工智能-深度学习-6]:神经网络基础 - 人工神经元数学模型、激活函数_文火冰糖(王文兵)的博客-CSDN博客第1章 人的神经系统1.1人体神经系统/神经网络的功能神经系统(nervoussystem)是机体内起主导作用的系统。(1)神经系统调节和控制人体各其他系统的复杂活动,使机体成为一个完整的统一有机体。例如,当参加体育运动时,随着骨骼肌的收缩,出现呼吸加快加深、心跳加速、出汗等一系列变化。(2)神经系统通过调整机体功能活动..https://blog.csdn.net/HiWangWenBing/article/details/120795317

1.2 神经网络(多个神经元)的二维矩阵运算模型

[人工智能-深度学习-22]:卷积神经网络CNN -- 单层神经网络的本质是矩阵相乘_文火冰糖(王文兵)的博客-CSDN博客作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客本文网址:目录第1章 单个神经的本质是一维矩阵(向量)内积(点乘)1.1 任意维度输入形态的神经元本质:算术乘+累加和1.2 任意维度形态的神经元都可以转换成一维输入的神经元:一维矩阵相乘1.3 多样本输入并发运算的神经元模型第2章 神经网络模型(多个独立的神经元)2.1 单样本,多个神经元输出并发运算的模型2.2 多样本,多个神经元输出并发运算的模型第1章 单个神经的本质是一维https://blog.csdn.net/HiWangWenBing/article/details/120798249

第2章 单个卷积核的本质是一个神经元

2.1 卷积核的来源

卷积来自于卷积神经网络,而卷积神经网络中核心是卷积层,卷积层的核心是卷积核,卷积层是由多个卷积核组成的神经网络。

卷积核的维度是3维:图片像素的长度 、宽度 、通道数这三个维度。

卷积核每个维度的长度(size):并不是整个图片每个维度的长度,而是卷积核本身每个维度的长度。如下图所示,红色的圆圈就是一个卷积核。

2.2 卷积核的本质是:三维(长度 * 宽度 * 通道)输入的神经元

卷积核首先是一个三个维度输入形态的神经元,如下图所示:

由于卷积核在x轴和y轴方向上,其长度都远远小于原始图片本身的长度。

因此,卷积核本身并没有与原始的输入的所有像素相连,而是部分相连,卷积核的参数矩阵的形状,决定了与之连接的输入属性的形状(维度+每个维度的长度)。

卷积核的大小又称为感受野(野:范围),它是指卷积核一次运算所能感受到输入属性的大小,这个大小远远小于图片本身的大小。

2.3 卷积核的直观运算:“积” = 算术乘 + 累加和

 备注:

假设图片的张量为:64 * 64 * 3

假设图片的张量为: 5 *  5 *  3

则卷积核神经元的W矩阵为: 5 *  5 *  3  (暂忽略参数b)

那么卷积核的运算是:

(1)按位矩阵的算术乘:Z(5 * 5 * 3) = X (5 * 5 * 3)  *  W (5 * 5 * 3)

(2)对矩阵的所有位进行累加和 

2.4 卷积核线性化后的运算:“积” =  一维矩阵相乘

假设卷积核为(5 * 5 * 3),则:

n = 5 * 5 * 3 =  45

x 是(1 * 45) 矩阵,矩阵的像素值来自于与整个原始图片的部分输入。

w 是(45 * 1)矩阵,参数的形状(shape)决定了W参数的个数,也决定了一次性与该神经元连接的输入属性的个数。

Y 是(1 * 1) 矩阵,一个卷积核为一个神经元,一个输出。

第3章 卷积运算平移:“卷” 

3.1 卷积过程

3.2卷积的串行计算法:循环法

循环法比较直观,就是执行多次循环:

(1)每一次执行一次“内积”的运算,每一次内积就是一次神经元的运算。

(2)存储一次执行结果(内积)

(3)按照步长,移动输入数据指针,选择新一批与感受野大小相等的数据。

(4)重复1-3操作,直到完成所有步长(完成“卷”的过程)

这种方法的优点:

  • 简单
  • 直观
  • 节省内存(内存复用,用时间换区空间)

这种方法的缺点:

  • 串行执行,非并行执行,执行效率低下。

3.3 卷积的并行计算法:批量样本扩展法

(1)扩展步骤:

  • 把整个图片展现成一维数据
  • 上图中样本1->n,并不是不同的样本图片数据,而是一张图片中的子图片,即部分数据。
  • 根据相邻子图片之间的重叠关系(即步长与卷积核的大小关系)由分为三种情形。

(2)扩展类型

  • 不重叠,中间也没有间隔:构建的扩展网络的连接数与全连接网络的连接数相同, 如下图所示:

从计算量角度看,  这种方式类似于全连接,神经元与所有的输入数据进行一次计算。

但从网络结构来看,又不同于全连接:

a) W, B参数的个数不同于全连接,每个样本与神经元计算时,共享相同的W参数。

b) 输出个数:全连接模式是只有一个输出,多样本模式有多个不同的输出。

  • 不重叠,中间有间隔:构建的扩展网络连接数小于全连接网络的的连接数

  • 重叠:构建的扩展网络连接数大于全连接网络的连接数

3.4 卷积神经元的本质:三维输入,二维输出的神经元。

“卷”:把输入尺寸变换成输出尺寸:长度1 * 宽度1  =》 长度2 * 宽度2

“积”:把三维的卷积核大小的数据“积”(合并)成一个点。

卷积神经元是:三维输入 (X, Y, Z),通过动态“卷积”的方式,实现二维输出(X,Y)的神经元。

全连接神经元是:一维输入(X * Y * Z),通过静态“内积”的方式,实现一维单点输出(1*1)的神经元。

第4章 多个卷积核卷积神经网络

4.1 多个卷积核并发计算的原理

每个卷积核相当于一个神经元,多个卷积核与多个“子样本”组成如下能够支持并发运算的神经网络。

(1)图中的“样本“就是一个子图片,与卷积核感受野的大小相当,所有的子图片组合成一张大图片。

(2)图中的神经元就是”卷积核“,每一路卷积核都有一组输出,而不是一个输出,输出的个数取决于卷积的次数。

(3)卷积中的“卷”的过程,就是用小尺寸的卷积核,发现或过滤大图片中一个个小区间的特征。

(3)每个卷积核的一个个的卷积输出,本质就是发现一张图片中的一个个“小图片/子图片”的规律或输出特征。

(4)不同卷积核的每一次卷积输出,本质就是发现一张图片中的一个个“小图片/子图片"的不同规律或不同输出特征。

4.2 卷积神经网络与全连接神经网络

(1)卷积神经元网络是:

  • 三维输入 (X, Y, Z)
  • 通过动态、并行“卷积”的方式,实现三维输出(X,Y, Z)的神经元。
  • 由卷积核尺寸、移动步长、填充大小决定输出支持(X,Y) ,
  • 卷积核的个数决定输出尺寸(Z)。

(2)全连接神经元是:

  • 一维输入 (X * Y * Z),等效的三维输入为(X, Y, Z)。
  • 通过静态、并行“内积”的方式,实现一维多点输出(Z), 等效的三维输出为(1*1*Z)的神经元。
  • 由全连接的一次性全累加和的方式,决定单个神经元的输出(1*1)
  • 神经元的个数决定输出尺寸(Z)。

至于,如何对卷积核的一个个的输出进行一下一步的处理(比如挑选出较大的一个或求平均),就是pool层的任务了。其网络的基本原理卷积核一致。


作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

本文网址:https://blog.csdn.net/HiWangWenBing/article/details/120734529

以上是关于[人工智能-深度学习-23]:卷积神经网络CNN - 卷积核的本质是多维输入的神经元的主要内容,如果未能解决你的问题,请参考以下文章

深度学习100例-卷积神经网络(CNN)3D医疗影像识别 | 第23天

[人工智能-深度学习-25]:卷积神经网络CNN - CS231n解读 - 卷积层详解

[人工智能-深度学习-37]:卷积神经网络CNN - 重构神经网络的疑惑与思考?

[人工智能-深度学习-26]:卷积神经网络CNN - 为啥要卷积神经网络以及卷积神经网络的应用

[人工智能-深度学习-28]:卷积神经网络CNN - 网络架构与描述方法

[人工智能-深度学习-32]:卷积神经网络CNN - 常见分类网络- AlexNet