以从零DIY MNIST分类作为例子,来解释一下深度学习的原理

(一)损失函数

就是计算模型出来的函数与实际值之间的差距

(二)过拟合和欠拟合

  1. 第一个图是欠拟合,说明模型太简单了
  2. 第三个图是过拟合,模型太复杂了

(三)神经网络

如果不存在线性解,就需要将这个模型变得更加复杂。w是线性变换,g是非线性变换,wg(w1g1x)就组成了简单的神经网络

(四)神经网络的基本单元

层数的多少不一定代表好坏,层数少了有利于计算

1. 全连接层

就是上面的w

2. 卷积层

就是滤波器 ,和传统的滤波器不一样的地方是,这个值是学习出来的,不是预设的

卷积层没必要规定输入的大小,但是全连接层需要规定输入的大小,参考图像卷积

3. pooling层

为了降采样 -> 可以减少计算,提取边缘

4. dropout层

为了减少过拟合

5. batch normalization归一化

(五)常用的激活函数

(六)网络模型优化

梯度 (偏导数,利用反向传播求解)-> 更新参数

(七)问题

门禁设备从一万张照片中训练识别出一千个人,那如果加一个人,是否这个模型就需要重新训练呢?

答案:当然不是,他这个训练其实训练出来的是一个人脸的特征,一张人脸的特征有很多个。如果说识别到的人脸和数据库里面的某张人脸特征十分类似,就可以说明这是同一个人