前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >pytorch卷积神经网络-卷积的定义(上)

pytorch卷积神经网络-卷积的定义(上)

作者头像
用户6719124
发布2019-11-17 21:49:09
5870
发布2019-11-17 21:49:09
举报

计算机视觉是深度学习的重要组成部分,而卷积神经网路是计算机的主要研究方向。

在了解卷积神经网络前,我们有必要了解图片的构成。以下张图片为例

上述图片所示的是数字‘8’,但这个“8”在计算机看来,确是(28*28)矩阵的组合

每一个不同的数值代表一个元素,而(0~255)是我们一般所表示的颜色,数值越高代表颜色越深(越接近于黑色)。

当然这里也可以改为0或1的数值的矩阵,其1意义代表全黑或全白。

但自然界更常见的是彩色的图片,

对于彩色的图片均是以Red(R)、Green(G)、Blue(B)三原色通道表示。

这三个彩色图片也分别是由红、绿、蓝三个颜色的(0至255)不同深度的矩阵。

而实际的彩色图片是由三个通道叠加在一张map上组成的,如下图所示。

实际的map是由三个矩阵构成

对于这类位置相关性的矩阵pytorch是如何处理的?

首先对于全连接层神经网络,将该问题看做数字识别问题时,可以构建出的全连接网络如下。

该全连接型神经网络有输入层、4个隐藏层、带十个节点的输出层。

那么假设数据集图片为28*28型的,将其打平为784。而中间节点全选择为256节点.输出为10个节点。则其数据量大体为[784, 256, 256, 256, 256, 10]。其参数量(多少条线就有多少参数量)为784*256+256*256+256*256+256*10,大概为390K的参数量。若用四字节存储,则大概要1.6MB。这种十分简单的全连接神经层虽然现在看来十分小,但在很多年前,处理器还是只有20K~30K的SO386的CPU来说仍是十分巨大。

在当时为解决数据量过大的问题,科学家们借助人体生物学的概念。

如图片中的小男孩,一眼就看见了桌子上的蛋糕。而忽略了周围的座椅、树木。这与人眼在日常中所观察的一样,先关注自己感兴趣的东西,再关注周围的事物。因此会对局部相关性高的先进行扫描。

因此科学家们依据此特点提出了卷积神经网络模型如下图所示:

每次先感受一个个可移动的小方块,然后再感受大的区间。相应的不是整个28*28的大图片,而是3*3的小图片。后续科学家们又提出了权值共享的概念,即每个小窗口的权值W保留,直至一个epoch运算完毕后再进行更新。

这个6层的神经网络有大概60K的参数量,比之前全连接层减少了近5/6。

那么具体对单张图片,其取相关性过程如下图所示

假设整体图片是由28*28构成,那么每次取3*3的小图片进行与下一部分的连接。即3*3再乘下个区间窗口。这样其连接量大大减少。我们称提取后的图片成为feature map(特征图片)。这样他只取其相关的属性进行输出。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 python pytorch AI机器学习实践 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档