| |
|
开发:
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.paddingpadding直译过来就是填充的意思,你可能要问了,填充干什么,填充的哪里啊,填什么东西啊。 其实就是在图片的上下左右各补上一圈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 mapfeature map的直译过来就是特征图的意思,我们一般说特征图的时候会说,这个特征图的长是多少,宽是多少,通道数是多少。以上图为例,最后的那个output volume为例,我们就可以称之为一个feature map,它的长就是3,宽就是3,通道数就是2(有几个矩阵,通道数就是几),所以我们说这个feature map的维度就是3*3*2,上图 ? ,相当于图片在卷积之后,图片有7*7*3变成了3*3*2,明显变小了,为什么会变小,就是因为卷积的原因,它的padding和stride造成的,其实有个公式可以直接计算: 代表生成的feature map的宽,w代表图片的宽(padding之前),k代表kernel的大小,p代表padding数,,s代表stride 根据上图 w = 5 , k=3, p=1 , s=2,所以新的feature map的宽=((5-3+2)/2)+1 = 3 验算正确,记住公式即可 那新的feature map的高又怎么算呢,方法跟你上面其实是一样的,还是写一下吧 是新的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!!!!! ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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年11日历 | -2024/11/17 22:24:13- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |