美文网首页
学习日记1-CNN卷积神经网络入门

学习日记1-CNN卷积神经网络入门

作者: Kyle_1091 | 来源:发表于2019-03-26 17:01 被阅读0次

我是一个刚刚开始学习机器学习的小白,此文仅作学习笔记之用,如有错误,敬请斧正。 

1.什么是CNN卷积神经网络--从图像识别说起 

CNN, conventional neuron network, 译作卷积神经网络。第一次看到这个名词时,我也真的是被吓到了。卷积,听起来就像什么高端数学名词。神经网络,这该不会是什么生物学的高端学说吧?其实,从我学习经验来看,深度学习里每一个名词入门时,都要有种把他们当成纸。。老虎的心态,只要你能把它当成纸。。老虎,你就能很轻松,快速地入门。 

卷积神经网络是啥呢?其实就是神经网络地一个加强版,一般应用于图像识别技术。 

上面这个就是个典型的图像识别。我把这个人的照片给电脑程序,电脑就开始分析这张图片,并且很快地就在他脸上图图画画表示,我认出人脸啦,你看我把他五官都圈起来啦!但是他的头发,他的脖子,衣服我没有圈,这证明我不是乱圈,我是真的认出来了! 

那电脑是怎么做到的呢? 

首先我们要去了解,神经网络是什么东西。 

这是我随便在网上找的一幅图片,如有侵权请联系我,我去盗其他人的。 

这就是很简单的神经网络,里面一个一个圆圈就代表神经元。我们可以看到,这些神经元一共聚集成了三块,第一块叫做layer1,一般叫输入层,意思就是输入的数据。第一个数字1我们先不管,无伤大雅。对于x1,x2来说,这两个就是输入的数据,仅此而已。再看layer3,那个一般就是输出层,就是电脑处理过你的输入数据后,把它给输出出来。而中间的,便是这个处理的过程,一般叫隐藏层。 

好了,输入-处理-输出,神经网络的大概功能就是这样,具体是怎么实现的,我会再写一篇博客来解释,而对于理解卷积神经网络,这些知识够了。 

那么我们来看看,我们是否能用神经网路去识别一张图片。 

2.图象三原色 

这是一张猫的图片,如果我要去用神经网络去识别他,我该怎么做呢?假设这张图片的分辨率是1000*1000, 那这张图片就一共有100万个像素点,这时候,对于我们上面的神经网络来说,第一层,也就是输入层,就需要100万个圆圈,也就100万个神经元。 

是不是心里觉得有点奇怪,觉得不应该这样做? 

事情还没完,计算机储存一张图片是需要去储存它的三原色的,比如一个像素点是红色的,那计算机就会储存它的R(红)值为255,然后G(绿)和B(蓝)值为0。 这意味着什么呢?意思就是,输入数据100万个时,计算机只能知道这个图像的形状,但是要完完整整地把颜色还原,就要输入300万个数据。 

奇怪的感觉出来了--这是种很笨的方法,一点也不人工智能。 

人体内有300万个神经元吗?我们是怎么快速识别出一张图片的? 

没错,我们是一大片一大片地区看这个图片,而不是跑去看到底每个像素点是怎样的。 

而让计算机业大片大片去看的方法,就是卷积神经网络了。 

卷这个字其实很传神,我把一片像素点卷到一起,把他作为一个输入值放到神经元里去,不就有效地减少输入神经元的数目了吗? 

具体怎么卷,就是用的一个数学方法了。 

没错,就是积,也就是乘法。所以,卷积神经网络,也就是这字面的意思。 

3. 如何积 

这张图我偷得我们老师的。看起来是不是云里雾里的不知道怎么回事? 

别急,有简单版的。 

看,假如一开始我的输入数据是要5x5的方块,我怎样把他卷起来呢?首先,我只要拿出一个3x3的方块,叫做过滤器,也就是图上的Filter,他里面的数值你先别管,既能是固定的也能是浮动的我们下次会讲。然后怎么做呢?我只要用这个过滤器去一步步把5x5方块过一遍就行了。比如,在5x5的方块左上角的九个小方块数字分别是{111,011,001},那和我的过滤器一乘,就变成了1*1+1*0+1*1+0*0+1*1+1*0+0*1+0*0+1*1 = 4.也就是最右边那个方块里的左上角的4。所以,就通过这样一步步相乘,5x5方块里的信息就被综合到3x3里的去了,我们就成功地完成了输入数据地减少,让计算机学会一片一片地去看。 而刚刚那个我从老师手里偷来的图,就是再加一个过滤器的意思,仅此而已。至于过滤器的数量选择还有里面的数值是啥,我都回在以后讲到。

好了,卷积神经网络一词解释完了,接下来的博文,就是去讲这个理论具体的实现方法了。 

相关文章

  • 学习日记1-CNN卷积神经网络入门

    我是一个刚刚开始学习机器学习的小白,此文仅作学习笔记之用,如有错误,敬请斧正。 1.什么是CNN卷积神经网络--从...

  • [机器学习入门] 李宏毅机器学习笔记-11(Convolutio

    [机器学习入门] 李宏毅机器学习笔记-11(Convolutional Neural Network;卷积神经网络...

  • [TensorFlow案例教程 #20180106] 卷积神经网

    卷积神经网络CNN入门案例 关于卷积神经网络的资料网上很多,不再赘述,这里推荐几篇不错,很容易入门的文章 通俗理解...

  • CNN

    参考:CNN卷积神经网络原理讲解+图片识别应用(附源码)卷积神经网络 – CNN深入学习卷积神经网络(CNN)的原...

  • 卷积神经网络

    参考博客: 卷积神经网络_(1)卷积层和池化层学习 - outthinker - 博客园 卷积神经网络(CNN)模...

  • CNN学习笔记

    卷积神经网络-CNN 卷积神经网络是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习(deep learn...

  • 使用mnist实现cnn

    首先推荐几篇优质博文。机器学习|卷积神经网络(CNN)手写体识别(MNIST)入门CNN初探https://blo...

  • keras学习-CNN

    keras学习-卷积神经网络部分 参考《Python 深度学习》一书 卷积神经网络 在使用mnist数据训练时 使...

  • cnn学习资料

    1, 卷积神经网络 从原理到实现 2,线性回归理解 3,从入门到精通:卷积神经网络初学者指南 4,知乎:全理解层的...

  • CS231n 卷积神经网络: 架构, 卷积/池化层(上)

    卷积神经网络: 架构, 卷积/池化层(上) 卷积神经网络: 架构, 卷积/池化层(上) 卷积神经网络(CNNs/C...

网友评论

      本文标题:学习日记1-CNN卷积神经网络入门

      本文链接:https://www.haomeiwen.com/subject/sgspvqtx.html