Day 21: Convolutional Neural Networks — 卷积神经网路初探(下)

卷积 Convolution

想像我们有一张用放大镜扫视,纪录我们观察到的重要图样的图像,这是一个很好的卷积如何运作的比喻方式。
这是使用卷积从图像如何提取重要特徵的步骤:

  1. 将图片划分为 kxk像素大小的网格。这被称作kernel,表示为kxk矩阵
  2. 定义一个或多个与kernel维度相同的有过滤器
  3. 取其中一个通道的第一个kernel (从2D矩阵的左上角开始),使用第一个过滤器进行元素乘法,加上乘法结果。对其他通道执行相同操作,并将全部三个通道的结果相加以获得新创建特徵的像素值。

https://ithelp.ithome.com.tw/upload/images/20210927/20141566yKpTkpyuP4.png

我们采用kernel大小维3x3的7x7x3图像。我们有两组过滤器: W0与W1(展示於红色)。过滤器W0的偏差值为1,过滤器W1没有任何偏差值。输出特徵展示於绿色网格。

https://ithelp.ithome.com.tw/upload/images/20210927/20141566CJASXlbOA0.png

https://ithelp.ithome.com.tw/upload/images/20210927/20141566iq7m9wjyez.png

https://ithelp.ithome.com.tw/upload/images/20210927/20141566T7Wcdwzz1K.png

  • Input image是RGB会有三层 (663)
  • Depth: kernel size为3*3 / channel为3
    几个fliter就会有几个feature maps depth就是feature map的堆叠
  • Strife: (左至右或上至下移动的步数)为1
  • Padding: Tensorflow中Valid 也就是不做任何的padding(填充)
    相同格数相乘 不是矩阵乘法

https://ithelp.ithome.com.tw/upload/images/20210927/20141566Cg7s6Vkf6f.png

池化层主要进行 sub sampling 的任务, 如图所示将 convolution layer 所产生的 feature maps 进行 Max Pooling(或使用 average pooling 也可)而所使用的 stride 为 2, 可看出将 feature maps 由右上角开始取出 2*2 的 metric 中的最大值(左->右, 上->下), 此步骤目的是降低杂讯且减少参数为目标, 可提升 CNN 整体效能及降低计算量, 是不可或缺的过程。


<<:  Day 13 - [语料库模型] 01-TF-IDF与余弦相似性

>>:  DAY 15 『 Realm 新增、修改、删除 』Part3

#25 JS: HTML DOM Events - Part 3(Start Over Version)

Since the knowledge I learned yesterday was over m...

Day 14:「怎麽跟阿嬷的裹脚布一样啦!」- 提取成元件

「恶 ... 那条是什麽鬼东西啦!」 「对啊 ... 也太可怕了吧 ...」 「呕! 还很臭欸 ....

33岁转职者的前端笔记-DAY 8 前端网页基础小知识

今天来点比较轻松的文章吧 学任何技能前,了解基础知识也是必要的 其实也能帮助後续学习的速度呢 前端网...

30天零负担轻松学会制作APP介面及设计【DAY 23】

大家好,我是YIYI,今天要来分享我设计的APP的PHOTOTYPE制做过程。 今日进度 今天的进度...

【在厨房想30天的演算法】Day 27 资讯安全与演算法 : 迪菲-赫尔曼密钥交换

Aloha!我是少女人妻 Uerica!最近在看加密演算法时,觉得这些想出如何加密、如何更安全的传送...