深度学习,一种数据重于算法的思维转换
本文最后更新于:2022年7月26日 下午
深度学习所处的知识象限
深度学习:对于可统计的、但不可推理的(即象限Ⅲ),可通过神经网络这种特定的机器学习方法,达到性能提升的目的
深度学习在本质上,就是层数非常多的人工神经网络,深度学习属于统计学习的范畴,统计机器学习的对象,其实就是数据。
简单来说,深度学习就是一种包含多个隐含层(层数越多即为越深)的多层感知机,深度学习将“特征提取”和“分类”合二为一,即达成所谓的端到端。
深度学习的感性认知
把初恋期当作输入,磨合期当中调参,稳定期当作输出
书画琴棋诗酒花,
当年件件不离他。
而今七事都更变,
柴米油盐酱醋茶。
这首诗说的是在过日子的洗礼中,各种生活琐事的变迁,恋爱是过日子的一部分,双方需要不断磨合。
调参:磨合。磨合中的权重取舍,就相当于深度学习中隐含层的参数调整
深度学习发展简史
无法承受参数之重的全连接前馈网络
1968年,大卫·休伯尔在实验中发现两个有趣的现象
神经元局部感知
动物大脑皮层是分级、分层处理信息的
它对人工智能的启发意义在于:
- 不必考虑使用神经元的”全连接“模式
- 神经网络拟合的复杂函数可分级、分层次来完成
1980年,日本学者福岛邦彦:神经认知机,是一个使用无监督学习训练的神经网络模型,也是卷积神经网络的雏形
1989年,Yann LeCun:利用BP算法重大改进 卷积神经网络
LeCun把自己研究的网络命名为LeNet,主要用于字符识别
20世纪90年代,俄罗斯统计学家V.Vapnik提出支持向量机(SVM)
2006年,深度学习的开山之作
两个重要结论:
- 多层的神经网络具有优秀的特征学习能力,能够学习到数据更本质的特征
- 多层神经网络的初始化参数可通过逐层预训练获得
卷积神经网络
所谓卷积是指一个函数和另一个函数在某个维度上的“叠加累计”作用。
深度学习”层“的内涵
深度学习中的所谓“层”:就是对数据实施某种加工的过程。我们可以把神经网络层理解为数据过滤器。数据从输入端进来,经过转换,以另一种更有用的模式出去,这个过程叫做数据蒸馏(data distillation)
图像处理中的卷积
计算机看到的是数字矩阵
卷积运算
1D卷积运算
二维图像数据的卷积
3D卷积运算
卷积在传统图像处理中的应用
用python实现对图像的卷积(滤波)
1 |
|
卷积神经网络的结构
卷积层
卷积的目的:作为特征提取器
用卷积来代替全连接
卷积层是构建卷积神经网络的核心层,它产生了网络中大部分的计算量。注意是计算量而不是参数量。
卷积层的作用:
滤波器的作用或者说是卷积的作用。卷积层的参数是有一些可学习的滤波器集合构成的。每个滤波器在空间上(宽度和高度)都比较小,但是深度和输入数据一致。直观地来说,网络会让滤波器学习到当它看到某些类型的视觉特征时就激活,具体的视觉特征可能是某些方位上的边界,或者在第一层上某些颜色的斑点,甚至可以是网络更高层上的蜂巢状或者车轮状图案。
可以被看做是神经元的一个输出。神经元只观察输入数据中的一小部分,并且和空间上左右两边的所有神经元共享参数(因为这些数字都是使用同一个滤波器得到的结果)。
降低参数的数量。这个由于卷积具有“权值共享”这样的特性,可以降低参数数量,达到降低计算开销,防止由于参数过多而造成过拟合。
感受野(重点理解):
在处理图像这样的高维度输入时,让每个神经元都与前一层中的所有神经元进行全连接是不现实的。相反,我们让每个神经元只与输入数据的一个局部区域连接。该连接的空间大小叫做神经元的感受野(receptive field),它的尺寸是一个超参数(其实就是滤波器的空间尺寸)。在深度方向上,这个连接的大小总是和输入量的深度相等。需要再次强调的是,我们对待空间维度(宽和高)与深度维度是不同的:连接在空间(宽高)上是局部的,但是在深度上总是和输入数据的深度一致,这一点会在下面举例具体说明。
在图 2 中展现的卷积神经网络的一部分,其中的红色为输入数据,假设输入数据体尺寸为[32x32x3](比如CIFAR-10的RGB图像),如果感受野(或滤波器尺寸)是5x5,那么卷积层中的每个神经元会有输入数据体中[5x5x3]区域的权重,共5x5x3=75个权重(还要加一个偏差参数)。注意这个连接在深度维度上的大小必须为3,和输入数据体的深度一致。其中还有一点需要注意,对应一个感受野有75个权重,这75个权重是通过学习进行更新的,所以很大程度上这些权值之间是不相等(也就对于同一个卷积核,它对于与它连接的输入的每一层的权重都是独特的,不是同样的权重重复输入层层数那么多次就可以的)。在这里相当于前面的每一个层对应一个传统意义上的卷积模板,每一层与自己卷积模板做完卷积之后,再将各个层的结果加起来,再加上偏置,注意是一个偏置,无论输入输入数据是多少层,一个卷积核就对应一个偏置。
激活层
激活层:非线性变换 –> 提升神经网络的表达能力
池化层
通常在连续的卷积层之间会周期性地插入一个池化层。它的作用是逐渐降低数据体的空间尺寸,这样的话就能减少网络中参数的数量,使得计算资源耗费变少,也能有效控制过拟合。
池化带来的好处:平移不变性(Invariance)
全连接层
全连接层:为分类服务
CNN的反向传播(BP)过程:
神经网络的过拟合
过拟合是指,模型过于表征训练数据,导致在其他数据集上表现下降
基于卷积神经网络的手写数字识别
1 |
|
参考资料
人工智能极简入门-张玉宏 第七章
图像处理中滤波器(卷积核) - Liu_xiang - 博客园 (cnblogs.com)
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!