2018-12-19 CNN神经网络学习

台湾大学李宏毅老师的机器学习课程是一份非常好的ML/DL入门资料,这篇文章是学习本课程第10课所做的笔记和自己的理解。

1. 前言

神经网络中的每一个神经元与DNN(深度学习网络)的神经元一样,但是对于有3万的input神经元也有1000的fully connection来说,weight将会有30000*1000个,所以CNN需要削减weight的数目。

为什么CNN可以用较少的参数得到一个较好的模型呢?

1.因为pattern模式的识别往往不需要看一整张图片,比如识别一只鸟,通过看鸟嘴就可以了;

2.因为相同的模式可能会出现在不同的位置,比如识别鸟,鸟的位置可能会出现在图片的不同位置;

3.对图像降低采样不会影响识别模式。


2.CNN模型

1.convolution卷积层

2.max pooling池化层

3.flatten 拉平

1.卷积层convolution

filter内的参数是学习出来的,但是filter的数目跟大小与stride的大小是人为设定的。


卷积的操作动图1
卷积的操作动图2

理解卷积的操作动图,卷积是一种神经网络的链接方式,卷积输出的结果叫做feature map。

shared weights 不同位置识别

2.max pooling

缩小feature map;

3.flatten 

按照规定拉直图片矩阵。

你可能感兴趣的:(2018-12-19 CNN神经网络学习)