深度学习 基于python的理论与实现 读书笔记
第二章 感知机
感知机可以看做单个神经元,有多个输入,一个输出
感知机的局限性就在于它只能表示由一条直线分割的空间。
这个局限可以用多层感知机来克服。
第三章 神经网络
前向传播,主要是矩阵乘法来完成
第四章 神经网络的学习
常见的损失函数:均方误差、交叉熵误差
用损失函数对权重求偏导数,来调整权重
计算导数
数值微分是比较常见的,不足是计算慢
神经网络学习的几个步骤:
- mini-batch
- 计算梯度
- 更新参数
- 重复步骤1、2、3
第五章 误差反向传播法
计算图
计算图将整个计算过程分解为多个小步骤
用计算图计算反向传播,使用了链式法则
局部计算加法、乘法、矩阵乘法、Log、等步骤的时候,梯度计算不同
矩阵乘法可以看成是放射变换affine
第六章 与学习相关的技巧
参数的更新
最早的是随机梯度下降SGD,还有其他优化方法
还有加上动量、梯度大时衰减学习率
权重的初始值
初始值设置不当,会导致问题:1.梯度消失 2.激活值问题导致表现力受限
Batch Normalization
- 可以是学习快速进行(可以增大学习率)
- 对初始值设置很鲁棒,不敏感
- 抑制过拟合
超参数的选择
超参数: 比如各层的神经元数量、 batch大小、参数更新时的学习率或权值衰减等。
第七章 卷积神经网络
函数 im2col 将输入的4维图像数据,转换为2维数据
第八章 深度学习
略