深度学习的一些思考

本文记录一些对深度学习的思考总结.意识流写法,想到哪写到哪,往后不按期更新补充.html

在没有接触深度学习的时候,以为这是个很是高大上的技术,数学基础要求很是多,上手门槛很是高.我想不少人和我有同样的想法.这种对深度学习的印象,我想很大一部分来自铺天盖地的自媒体的有关AI的报道解读,形成了一种深度学习,人工智能很是高大上的感受. 实际上媒体人没有相关的理论基础,甚至没有工科背景,文章写出来又要吸引人能带流量,有时又不免夸大,各类名词什么神经网络,人工智能,梯度爆炸,并行计算优化,对没有接触过相关技术的人来讲,很容易形成一种很高大上很神秘的印象.网络

其实,神经网络并非什么新鲜的东西,早几十年就有了,卷积也不是什么新鲜东西,在模式识别,图像处理里也早就应用普遍. 现现在,深度学习大红大紫,仍是由于时代发展到了这个阶段,算力的发展,芯片的发展,更快的gpu的出现,更好的计算优化技术,互联网时代咱们有了大量的数据,这些都使得卷积神经网络的训练成为可能,而不是仅仅在理论层面.大量的训练数据,使得深度学习在不少业务领域有了更好的表现,尤为是图像处理方面。机器学习

深度学习的本质

先说结论:本质就寻找最合适的卷积核,最合适的特征权重,最大限度拟合训练样本。本质是计算。函数

以图像处理为例,传统的方法怎么作的? 手工提取特征 + 传统机器学习. 深度学习怎么作的?端到端的学习,再也不须要手工提取特征了,本身学习特征.
好比下面这幅图,你很容易就认出来这是一只猫.
学习

你有没有想过,你的大脑是怎么识别出来这是一只猫的?经过眼睛,耳朵,嘴巴,尾巴,腿?仍是经过这些的组合?这里的"耳朵,嘴巴,尾巴"等等就是所谓的"特征"。虽然你并无意识到你的大脑通过了一系列复杂的运算,但它确实是通过了一系列复杂的运算,而后告诉你这是一个猫。只不过神经元的速度太快了,你意识不到而已.优化

对计算机而言,上面的图就是一堆数字而已,好比800*600的图,就是一个800*600*3的矩阵,为了简化表达,就用灰度图来讲吧,那就是800*600的矩阵,矩阵里相应元素的值表明着像素值.固然"像素值"这个概念,也是咱们人为赋予的,计算机才不care什么像素值不像素值,对它来讲,就是个数字而已.google

那问题来了,什么样的数字表明"猫的眼睛",什么样的数字表明"猫的耳朵"?之前这个工做是手工去作的.如今是神经网络自动去作的.
好比对连续5个像素,值为1,34,67,89,213,我就认为这5个像素表明猫头,这个规则是我事先定义好的.(固然这是我瞎定义的,这5个像素固然不能表明猫头)。手工去作的时候,你须要理解业务,好比识别车和识别猫,(1,34,67,89,213)在猫的图片里可能表明猫头,在车子图片里可能表明车屁股,其含义是不一样的.这就麻烦了,不一样的领域,规则不一样,并且,特征工程就是他娘的玄学啊,特征成千上万,找也找不完,好的特征和坏的特征对最后的识别结果带来的影响千差万别,怎么衡量该重点考虑哪一种特征?.人工智能

而对深度学习来讲,输入就是一堆数字而已,它不懂数字表明的业务含义,它也不须要懂,它只要尝试出最合适的卷积矩阵,使得loss最小就行,前面也说了,本质是计算。.net

这里也能够看到,传统的方法和深度学习的方法,在思路上就是彻底两种思路. 前者更看着规则的定义,也就是特征的提取. 后者则更看重输入的数据,只要你输入的数据够多,质量够好,我就能自动提取出有效的特征和权重.(固然,这个意义也是咱们人为赋予的,学习出来的其实就是一堆数而已,咱们把他们称之为特征,这个时候,他们再也不表明猫头、耳朵等等了,可能就是一个点,一条线,肉眼看去已经没法理解了,以下图)

这也是前面提到的,深度学习之因此站到了历史的台前的两大缘由之一:海量的数据。设计

如今就涉及到卷积的概念了.

卷积


为何
这个卷积核能起到边缘检测的做用?想一想你是怎么去判断图像边缘的?若是给你一副纯色图,有边缘吗?
好比
显然没有啊。由于纯色图,矩阵的每个像素值都同样的,因此分不出边缘.看出来了吧,你经过判断与周边像素的差异来判断是否是边缘.差异越大越有多是边缘.如今在看上面的卷积核,很清楚了吧,通过卷积运算(不懂卷积运算的,先看看置顶的那篇https://www.cnblogs.com/sdu20112013/p/10149529.html) .每个像素值x都变成了8*x + (-1)*周边像素,即8*x -周边像素。这可不就是在比较当前像素和周边像素的差值吗?因此卷积完的矩阵,绘图绘制出来,就有了边缘的效果.

按照这个思路,不难理解为何不一样的卷积核会有不一样的效果了,也就是不一样的特征被咱们提取出来了.不少人设计好了不少卷积核,分别完成不一样的功能.传统的图像处理,就是去使用这些卷积核,再配以规则,完成适配本身业务领域数据的特征提取.

好,重点来了.上面说了,"边缘"这个特征被提取出来了,那对这个表明图像边缘的矩阵,叫matrix_a吧,继续找一个卷积矩阵kenerl_a,对其作卷积,获得matrix_b,这个martrix_b什么意义呢?再对这个martrix_b作卷积,获得martrix_c,这个martix_c又表明啥呢?答案是咱们不知道,像上面提到的,最终的矩阵绘制出来,可能已是一个点,一条线了,咱们已经没法肉眼识别他们在现实世界的对应物体了.但并不表明这是无心义的,不一样于猫的眼睛,耳朵等等这些高级特征,这时候获得的这些点啊线啊,已是很是抽象的低级特征了.而图片正是由这些大量的低级特征组成的.

深度学习干的啥事?就是寻找成千上万的卷积核,获得成千上万的特征,而后用分类也好,回归也罢,认为咱们的目标=特征权重*特征之和.好比obj=0.3*feature1 + 0.5*feature2,obj=1表明猫,obj=2表明狗. 这样拿到一个新的图片,输入给模型,模型经过卷积就计算出对应的feature1,feature2,而后计算obj,而后咱们就知道了这张图是猫和狗.

固然,卷积核不是瞎找的,卷积核矩阵里面的数字到底填几,要是一个个瞎试,再牛逼的gpu,再牛逼的芯片也试不完啊.这里面就涉及到损失函数定义,梯度降低了.
详细的去看我机器学习的文章吧,不想看的就知道模型学习的过程里,卷积核的值填什么不是随机乱填的,每次反向传播更新卷积核的时候都是朝着让loss更小,也就是让模型更准确(所谓更准确,是针对你的训练数据来讲的,一样的网络结构,你机器上跑出来的模型的参数和别人跑出来的模型参数是不同的,若是大家的训练数据不同的话)这样一个目标去更新的就完了.

怎么设计出一种滤波器/卷积核


好比上图的卷积核能够识别右边的曲线.道理也是很显然的,上图的卷积核的形状就是相似咱们想要的曲线的形状的.若是遇到相似形状的图像,卷积(对应位置像素值相乘再相加)以后获得的数会很大,反之很小.这样就把想要的形状的曲线识别出来了.

与信号处理的关系

大学的时候,学信号处理,每天就是各类傅里叶变换,彻底不知道有啥用.说实在的,大学的不少老师水平其实也不咋地,基本就是照本宣科,要么放万年不变的PPT,可能本身都不能深入理解,或者与产业界太脱离,彻底不讲这些理论的现实应用.其实讲清楚这些现实意义也没那么难么.因此还在上学的同窗们,要好好学习啊,要好好学习啊,要好好学习啊,重要的事情说三遍,你如今觉得没用的东西,不知道哪天就派上用场了.

如今回头看,卷积不就是离散的傅里叶变换吗. 从信号的角度理解卷积,卷积核不就是滤波器吗,卷积核对图像的做用,不就是对图像这种信号作滤波吗.啥叫滤波,其实也就是特征提取。
傅里叶变换将时域和空域信息-->转换到频域上. 对图像处理而言,咱们处理的大部分时候是空域的信息.说人话就是空间信息,对单帧图像而言,咱们卷积出来的特征,点也好,线也罢,是一种形状,是空间上的信息. 连续的图像才存在这时间信息,多帧图像是有联系的,好比视频,时域信息就很重要了.

https://www.zhihu.com/question/20099543/answer/13971906

首先说说图像频率的物理意义。图像能够看作是一个定义为二维平面上的信号,该信号的幅值对应于像素的灰度(对于彩色图像则是RGB三个份量),若是咱们仅仅考虑图像上某一行像素,则能够将之视为一个定义在一维空间上信号,这个信号在形式上与传统的信号处理领域的时变信号是类似的。不过是一个是定义在空间域上的,而另外一个是定义在时间域上的。因此图像的频率又称为空间频率,它反映了图像的像素灰度在空间中变化的状况。例如,一面墙壁的图像,因为灰度值分布平坦,其低频成分就较强,而高频成分较弱;而对于国际象棋棋盘或者沟壑纵横的卫星图片这类具备快速空间变化的图像来讲,其高频成分会相对较强,低频则较弱(注意,是相对而言)。

图像的空间信息丢掉了是什么意思

先看CNN中全链接层参数是怎么来的.参考https://zhuanlan.zhihu.com/p/33841176.

以VGG-16举例,在VGG-16全链接层中,对224x224x3的输入,最后一层卷积可得输出为7x7x512,如后层是一层含4096个神经元的FC,则可用卷积核为7x7x512x4096的全局卷积来实现这一全链接运算过程。

这样作会有什么好处和问题?

好处和坏处是同样的,就是去除掉位置信息的影响.主要看你处理的是什么问题.对分类来讲,咱们不关心位置,但愿某种像素组合被识别为某种特征,咱们不在意这种像素组合在图片矩阵的什么位置出现,我都要能识别它,这时候就是好处.

可是对于图像分割来讲,就是坏处了.由于我须要知道位置信息.好比须要知道图片里的猫在左上角仍是右下角,这样才能准确分割.因此分割模型会用卷积层替代掉全链接层.

在我写这篇文章的时候,我作了一点google,想看看有没有人写过相似的主题,发现有2篇文章写的很好,我也引用了部分图,推荐之。

相关文章
相关标签/搜索