开辟者大年夜赛路演 | 12月16日,技巧立异,北京不见不散
上世纪科学家们发清楚明了几个视觉神经特点,视神经具有局部感触感染眼,一整张图的辨认由多个局部辨认点构成;不合神经元对不合外形竽暌剐辨认才能,且视神经具有叠加才能,高层复杂的图案可以由低层简单线条构成。之后人们发明经由conclusional的操作,可以很好反竽暌钩视神经处理计算的过程,典范的是1998年LeCun创造的LeNet-5,可以极大年夜地晋升辨认效不雅。
本文重要就convolutional layer、pooling layer和整体CNN构造展开。
一、Convolutional Layer卷积层
1、道理和参数
可以模仿局部感触感染眼的性质,同上一层不是全连接,而是一小块区域连接,这一小块就是局部感触感染眼(receptive field)。并且经由过程构造特定的卷积神经元,可以模仿不合神经元对不合外形刺激不合反竽暌功的性质。如下图所示,一个神经元处理一层会形成一个feature map,独裁叠加,层数逐渐加深。
pooling这个操作不影响channel数,在feature map上也一般不做操作(即z轴一般不变),只改变横纵大年夜小。
感触感染眼(kernel或filter)的尺寸可以看做fh*fw,因为感触感染眼本身具有尺寸,feature map会赓续缩小,为了处理便利,使得每层大年夜小不变,于是我们每层加值为0的边(zero padding),包管经由处理今后的feature map同前一层尺寸一样。独裁之间的卷积运算操作,相当于和本来像素对应地位做乘法。如下左图所示,加了边后可以包管高低层大年夜小一致,右图表示每层之间convolve的操作(如不雅不加zero padding)。
但上图所示只是简单例子,一般扫描的是三维图像(RGB),就不是一个矩阵,而是一个立方体,我们用一个三维块去扫描它,道理同上图雷同。
有时扫描时不是次序去扫,而是跳跃着扫描,每次移动2-3个像素值(stride),但并非完全分别不会造成信息损掉,如许形成的feature map相较于原始图片缩小,实现信息集合的效不雅。
就像如下灰度图(2d)中所示,左边只提取竖线(vertical filter),右边只提取横线(horizontal filter)可看出横梁部分变亮,大年夜量不合的┞封样的filter(比如可以辨认界线、折线的filter)的叠加,可形成多张feature maps
下图是一个3d的RGB效不雅,每个kernel(filter)可以扫描出一张feature map,多个filter可以叠加出很厚的feature maps,前一层filter做卷积可以形成后一层的一个像素点
如下图,可以代表i行j列k深度的一个输出像素值,k’代表第k个filter,w代表filter中的值,x代表输入,b是偏值。
【编辑推荐】
- 火爆的机械进修和人工智能,为安在金融业四处碰鼻?
- Adobe颁布下一代Photoshop机械进修功能,抠图只需轻松一按
- 深度进修和通俗机械进修之间有何差别?
- 10个机械进修的JavaScript示例
- Angel:一种新型分布式机械进修体系
2、TensorFlow实现
以下是应用TensorFlow实现的代码,重要应用conv2d这个函数
- import numpy as np
- from sklearn.datasets import load_sample_images
- # Load sample images
- dataset = np.array(load_sample_images().images, dtype=np.float32)
- # 一共4维,channel表示通道数,RGB是3
- batch_size, height, width, channels = dataset.shape
- #
推荐阅读
单车的应用频率越高共享的效不雅越好。大年夜摩拜单车的数据看,在流动的单车中,5次以下占据了60%阁下的出行。但1次、2次的也占据了30%阁下的份额,解释摩拜单车的应用率也不是很高。 开辟者大年夜赛路>>>详细阅读
本文标题:「机器学习」彻底搞懂CNN
地址:http://www.17bianji.com/lsqh/39483.html
1/2 1