IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> Pytorch深度学习50篇·······第一篇:认识深度学习(2) -> 正文阅读

[人工智能]Pytorch深度学习50篇·······第一篇:认识深度学习(2)

上一篇文章已经交给大家深度学习中的卷积是如何卷的,我的总结就是对应位置相乘在相加,最后加上bias。如果说怎么卷是小学三年级的知识,那我们今天就来说点小学六年级的知识,今天主要还是对上次那个动图做一下进一步的讲解,要说的几个深度学习中经常听到的英文单词,它们分别是:stride,padding,kernel,feature map,上动图

1.stride?

stride直译过来就是步伐,也就是卷积核移动的步伐,常见的stride一般都是1,2这样的步伐,老人们常说步子迈大了,会摔跟头,我说步子迈大了,裤裆会发愁。

动图第一帧,卷积核的位置就在这里

动图第二帧

明显的可以看到,卷积核向右移动了两个格子,所以stride=2,这么说应该没问题了吧

再来看一帧

卷积核横着跑完之后,他又竖着跑了,和第一帧相比,它向下移动了两个格子,所以stride=2。

没办法,就是这么严谨。stride大概就是这样的了

2.padding

padding直译过来就是填充的意思,你可能要问了,填充干什么,填充的哪里啊,填什么东西啊。

其实就是在图片的上下左右各补上一圈0,如下图

外面灰色的那一圈就是padding上的0,中间蓝色的部分就相当于是图片的,也就是说图片大小是5*5的,padding之后的大小就是7*7,但是这个时候padding=1,一定不要以为padding=2.

我对padding的理解就是,填充是为了保证图片的边缘也能够和中间部分一样,可以被卷积多次,如果不padding的话,中间信息卷积的次数就多了,就不公平了,这是个人人平等的社会,图像也是平等的,其次padding还能够保持feature map的尺寸,我现在这么说,你可能还不懂什么意思,没关系,我等会讲到后面我会回来说这个feature map的事

3.kernel

?kernel直译过来就是卷积核的意思,反应在图上就是下图

Filter W0是一个kernel,?Filter W1也是一个kernel, 所以这个卷积过程中有2个卷积核,卷积核的个数就是2,个数有了,我们还要明确卷积核的大小,图上也写的很清楚了,是3*3*3,也就是说一个kernel有3个3*3的矩阵

不知道你有没有疑问,为什么要3个3*3的矩阵,为什么不能是4个或者5个3*3的矩阵,几个矩阵这个事啊,还要看图片的维度,我们可以从图片上看到,图片的维度是7*7*3(padding之后),也就是说,图片有几个通道,kernel就要有几个矩阵,因为我们输入的图片是3个通道的,所以kernel才有3个矩阵。但是你别把这个矩阵的个数和卷积核的个数搞混了,在我们这个动图中,卷积核的个数是2(W0和W1),每个卷积核有3个3*3的举证,为什么有3个,是因为图片是3通道的。解释清楚了吧,千万别混淆了。

我们经常说这次卷积,用到的卷积核的维度是3*3*3*2,这个也是这次卷积的参数量。

4.feature map

feature map的直译过来就是特征图的意思,我们一般说特征图的时候会说,这个特征图的长是多少,宽是多少,通道数是多少。以上图为例,最后的那个output volume为例,我们就可以称之为一个feature map,它的长就是3,宽就是3,通道数就是2(有几个矩阵,通道数就是几),所以我们说这个feature map的维度就是3*3*2,上图

?

,相当于图片在卷积之后,图片有7*7*3变成了3*3*2,明显变小了,为什么会变小,就是因为卷积的原因,它的padding和stride造成的,其实有个公式可以直接计算:

w_n =( (w-k+ 2p)/s )+ 1

w_n代表生成的feature map的宽,w代表图片的宽(padding之前),k代表kernel的大小,p代表padding数,,s代表stride

根据上图 w = 5 , k=3, p=1 , s=2,所以新的feature map的宽w_n=((5-3+2)/2)+1 = 3

验算正确,记住公式即可

那新的feature map的高又怎么算呢,方法跟你上面其实是一样的,还是写一下吧

h_n=((h-k+2p)/s)+1

h_n是新的feature map的高,h是原图的高(padding之前),计算同上,可以自己试一试

刚刚也说了output volume的维度是3*3*2,那这个2是哪来的,这个2啊,就是kernel的个数,不用就计算了。

5.总结

这次卷积相当于用3*3*3*2的卷积核,在padding=1,stride=2的情况下,把5*5*3的图片变成3*3*2的feature map。

我觉得已经说的很通俗易懂,王婆卖瓜,自卖自夸。

OK,认识深度学习到这里就差不多可以了,接下里我会演示一个深度学习相关的示例,先演示效果再来,一步步教学,这是我之后的方针。

值得一提的事,昨天,就在昨天,我的上一篇文章登上了csdn人工智能榜的第22名,给我高兴坏了,真的是高兴惨了,哈哈哈,之前还去网上查了一下怎么让自己的文章红起来,然后看到一句话,我与大家共勉,那就是:

仰望星空,脚踏实地。

22名的截图献上

?

至此,敬礼,salute!!!!!

?

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-08-06 09:37:50  更:2021-08-06 09:37:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/4 16:07:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码