CNN笔记

大白话讲解卷积神经网络工作原理
卷积神经网络可以用来处理图像,音频,文本,只要数据能变成图像格式,它都能处理
可以把卷积神经网络堪称一个函数或者是黑箱,有输入和输出,输入就是二维的像素阵列(图片),输出就是图片是什么
CNN笔记
从下图可以看出,左边的图经过某些变换得到了右边的图,但是右边的图中任然保留了一些原来的特征
计算机通过这些特征来发现它和原图的相似性
CNN笔记
比如把3个特征提取出来叫做一个卷积核(或者叫特征提取器),假设要提取原图的这3种特征
CNN笔记如果用左上角这个卷积核对原图进行卷积操作,就相当于把原图中包含这种卷积核特征的特征提取出来
CNN笔记右上角所示卷积核就能够把原图中和这个卷积核一样的特征提取出来
CNN笔记
原图上的像素和卷积核上的值作卷积,把得到的值放到一个新的矩阵上,这个新矩阵叫做特征图,相当于是卷积核把原图上的特征提取出来反映在feature map 上
CNN笔记下图,卷积核和绿框做卷积,得到的全是1,均值为1,说明绿框中的值和卷积核特征完全一样
CNN笔记
下图,左上角的卷积核和中间的绿框区域做卷积,得到的均值为0.55,代表保留了卷积的55%的特征
CNN笔记下图右原图中包含卷积核这类的特征被卷积核提取出来放在特征图中
CNN笔记
用不同的卷积核对原图进行卷积能提取到不同的特征(中间那卷积核相当于用x的卷积核把原图中的x特征提取出来,其余两个相当于提取左下角和右下角),可以看出特征图的分布与卷积核类似,说明原图中包含卷积核的特征被卷积核提取出来
CNN笔记假设人脸有几万个特征,如果用几万个卷积核去提取特征,运算量将会非常大,所以需要把图像缩小(池化,下采样,作用是把得到的特征图缩小)

补0可以提取图像的边缘特征(padding)

修正线性单元,RELU**函数把特征图中小于0的地方都置为0大于0的就是它本身(0方便矩阵运算)
CNN笔记原图经过卷积、Relu、池化得到右边的特征图
CNN笔记 卷积、Relu(抹零)、池化作为一个单元可以多次重复
CNN笔记全连接层(最后一层跟上一层每一个神经元都相连)
CNN笔记每一条连线上都有一个权重,乘以像素值再相加就得到原图是X或者O的概率
CNN笔记隐藏层可以放很多层全连接网络

反向传播
我们的目标是把损失函数降到最低,让预测值和真实值更接近,通过修改卷积核的参数,修改全连接每一个神经元的权重来进行微调使得损失函数最小,它是一层一层把误差反馈回去的,所以叫反向传播,也就是说最后误差可能是反馈到第一个卷积核上来对卷积核的参数进行修改,所以叫反向传播算法,经过不停地训练,就自动学会了采用哪些卷积核,每一个神经元的权重是多少,这就是机器学习,这就是神经网络强大的地方,我们只需给它大量的数据进行训练

超参数
需要事先人为指定的参数 ,比如卷积核的尺寸,数目,随机生成一些数字放到卷积核里面,池化的步长,池化的大小,全连接层神经元的数量,神经网络需要找到损失函数的最小值,把所有的参数调到最佳,我们需要事先把框架搭好
CNN笔记