1.神经网络的每个单元如下:
每一条线对应一个权重,权重和输入的x相乘加上偏执,组成一个神经元,
其中,该单元也可以被称作是Logistic回归模型。当将多个单元组合起来并具有分层结构时,就形成了神经网络模型。
具有一个隐含层的神经网络:
卷积神经网路:
CNN的三个特性:局部连接,权值共享,池化采样
局部连接:
在传统的神经网络的图像分类问题中,如果我们要直接用原图像作为网络输入进行训练,那么每一个像素都要为之分配一个神经元,也就是说一个1000×10001000×1000像素的单通道灰度图像在输入层我们就需要106106,如果下一层有100个神经元输出,那么参数量又要扩大一百倍,这样的网络如果最终要达到能够应用的程度,将会有巨大的参数量。
局部连接可以减少参数量。
权值共享:
在图像处理领域一次卷积操作就是一次特征提取。
这里有两个卷积层,第一层是输入单通道([5,5,1,32]的第三个数字,keras框架会自动识别这个数值,不需要设置)的灰度图,设置了32个卷积核,所以最后单通道的灰度图会生成32张特征图,这一步很好理解。然后我们看第二层卷积层,输入时32张特征图,输出是64张更加高层的特征图,总共有64个卷积核,为什么是输出是64张特征图而不是32×6432×64张特征图呢,这是因为用一个卷积核去卷了这32张图片,然后把32个输出最后叠加作为一张图来输出(当然最后还是要经过一下非线性的激活函数),所以这就是CNN的第二个特性权值共享,一来可以大大减少参数量,二来每个卷积核在图像处理领域就是一次特征提取。
池化采样:
提取全局特征
Flatten函数将特征图展平为一个一维的feature vector用以分类
1.参数太多,容易过拟合,若训练数据集有限;
2.网络越大计算复杂度越大,难以应用;
3.网络越深,梯度越往后穿越容易消失(梯度弥散),难以优化模型
所以增加网络深度和宽度的同时减少参数
用Inception V1构建神经网络模型