AI之路-首发博文-记CCN学习

1 篇文章 0 订阅

CCN学习要点

1、卷积核(滤波器)

        正方形,二维,有深度(厚度,即通道数),数值随机生成(通常以正态分布方式生成),所以卷积核可以任意多。一个卷积核会让输入图像生成一张特征图,每个卷积核都是一种特征提取方式,人事先不会知道如何提取特征,只能使用随机的任意生成的多个卷积核来尽可能多的随机性的获取多特征并综合。随机不仅仅是无奈,本身也是可以减少人为导入的经验知识,提高模型通用(泛化)能力的一种好的方式。随机的思想用的比较多,比如随机以一定比率丢弃一些结果,(dropout)提高模型泛化能力就是一种。总之,如果没有先验知识指导你怎样做更好,那就随机。

2、输入图像、特征图、输出(分类结果)

        我们称原始输入为图像(三通道的真彩图),经卷积后为特征图,一个卷积核运算后得到一张特征图。原始图像人眼可见,特征图像一般人眼不可辨识仅提供给机器理解。二者数学上的本质还都是二维矩阵(实际为三维,这里不考虑厚度)

3、图像卷积计算要点

输入:

        二维多通道矩阵,可以理解为多个二维矩阵在厚度上的堆叠
卷积核:是与输入在厚度上相对应的权重矩阵,一定注意输入有多少通道,卷积就需要有多少通道,且每个通道平面上的随机初始化权值是不同的,即不是多通道共享。

计算方式:

        输入与卷积核在各自相对应的通道平面上做卷积(加权和),一个通道平面做卷积后可以得到一个数值,将所有通道上做卷积得到的多个数值简单相加,再加上一个配套这个卷积核的偏置项可以得到一个最终的数值,这个数值就是当前卷积核作用在当前图像的当前位置得到的一个输出“像素”点。可见,一个卷积核作用在一个多通道的二维矩阵的结果是把这些多通道矩阵压缩成厚度为1的纯二维矩阵了。多搞几个卷积核按先后顺序生产这些通道平面,就又可以生产出通道平面堆叠的带厚度的二维矩阵。显然,卷积核数等于输出的通道平面数。另外,注意一个细节,卷积运算是否会让输出矩阵变小,取决于步长,步长为1的卷积不会让尺寸发生变化(最后的边缘滑出来的部分补0继续运算即可),但步长为2的卷积就会直接导致输出矩阵尺寸减少一半(试想:[1,2,3,4,5,6]的6个数值序列,步长为2滑动起始点就是[1,3,5],只得到3个数值,减少了一半),补0操作仅仅是针对那个滑到边缘位置(卷积核有一部分滑到外边去了)的卷积运算而言的。

4、卷积神经网络与经典全连接神经网络

        
        经典全连接神经网络:可以认为是理论基石,其本身没有多少直接单独应用的价值,因为参数极多,巨量的参数之间潜在的相关关系没有任何挖掘,暴力训练,效率低下。它将每个输入节点看成完全独立,彼此没有关联,输入与隐层的每个神经元全部连接。
        卷积神经网络:卷积神经网络从一开始就用于图像处理,而图像中每个像素点的排列有明显特点:二维、有明确的空间排列、相近区域像素点有较大相关性。试想把一幅二维矩阵图像根据行硬生生拉成一行还有谁能看懂。基于这些明显的特点,如果还仍然将这些像素硬生生拉成一维数组使用全连接神经网络训练该有多愚蠢。采用卷积的处理方式似乎是自然而然的结果。卷积处理保留了(或者说利用了)空间排列,比图像小得多的卷积核尺寸体现了局点特征提取思想。每个卷积核本身的参数是非常少的,这些参数是共享的(试想:我们是用同一个核通常滑动作用在图像的每个局部位置上)。参数共享和局部连接是卷积神经网络相对于传统的经典全连接神经网络带给人的启发。局部连接是指输出只与部分输入相连接。

5、其它要点(不关键但重要的知识点)


池化层:

    是一种下采样策略,下采样是指将数据由多变少的策略,反之为上采样。卷积得到的图像可能仍包含较多细节,想要拿 到最能反映图像物体的本质特征,可能需要在特征图上在每个小块内找出一个“点”(值)代表一下。有最大值、最小值、平均值。通常只使用最大池化层。

非线程变换(ReLU层):

        一个概念要注意,输入矩阵与权值矩阵的乘法运算,即这种加权和运算,本质是线性运算,线性运算无论怎么折腾,看似运算了很多次,也算得蛮复杂但仍掩盖不了线性的本质(多个线性运算加加减减还是线性的)。我们知道线性运算的表达能力是有先天缺陷的(试想二维平面中分布着的大量无规律的红黑点只使用一根线去分割是不可能做到的)。那非线性变换是什么,什么样的变换是非线性变换?直观理解,我们在数学上看到的那种曲线函数都可以算作非线性,例如指数、对数函数、sin、cos、tan。那么一定是要这样看上去还是显得复杂的函数作这种非线性映射吗。事实上ReLU给出了一个非常好的答案,一个简单的靠舍弃部分数值(将部分数值人为设置为0)就可以达到非线程变换的效果。具体来说ReLU将负数重置为0,正数原封不动保留的方式作变换,这种几乎不需要计算的非线性变换竟然还能取得很好的结果多少有些让人意外,但它确实有效,几乎是神经网络唯一使用的标准非线性变换函数了。直观理解,这种变换大概是通过无数个弯弯扭扭的小的折线段去分类,小的折线段只要足够多,理论上可以逼近那些复杂的函数曲线。

(以上理解仅为个人拙见,如有出入或错误,还望指出~)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值