本部分是目前应用比较成熟的深度学习基础方法。推荐李飞飞老师的CS231n课程(网易云课堂有全部视频和课件,建议把编程作业刷了)配合学习~
第六章 深度前馈网络
1、我们最好将前馈神经网络想成是为了实现统计泛化而设计出的函数近似机。
2、线性模型的一个明显缺陷:模型的能力被局限在线性函数里,所以它无法理解任何两个输入变量间的相互作用。
3、基于梯度的学习
-
代价函数:
(1)最大似然学习条件分布
(2)学习条件统计量
#泛函(函数到实数的映射)
补泛函分析课程(网易云课堂):https://study.163.com/course/courseMain.htm?courseId=1003649100&trace_c_p_k2=741b3cdf91e74b1cbf892e9c53636e2f
#变分法 -
输出单元
(1)用于高斯输出分布的线性单元;
#仿射变换(不具有非线性),所以基于放射变换的输出单元被直接称为线性单元。
(2)用于伯努利输出分布的sigmoid单元
(3)用于多元输出分布的softmax单元
(4)其他输出类型
#最大似然原则
#混合密度网络:将高斯混合作为输出的神经网络。
#基于梯度的优化方法对于混合条件高斯可能是数值不稳定的。两种解决办法:梯度截断、启发式放缩梯度。
梯度截断参考:https://blog.csdn.net/google19890102/article/details/47422821 -
隐藏单元
(1)整流线性单元ReLU:g(z)=max{0,z}
#扩展1:h=g(z,a)=max{0,z}+amin{0,z}
绝对值整流:a=-1
渗漏整流线性单元LReLU:a取比较小的值
参数化整流线性单元PReLU:把a作为学习的参数
#扩展2:maxout单元——将z划为每组具有k个值的组,每个单元输出每组中的最大元素。
(maxout单元可视为学习激活函数本身)
(2)logistic sigmoid 和双曲正切函数
(3)其他:用的比较少
余弦函数、单位函数、softmax;
径向基函数
softplus
硬双曲正切函数
4、架构设计
(1)万能近似定理:一个前馈神经网络如果具有线性输出层和至少一层具有任何一种”挤压“性质的激活函数(如sigmoid)的隐藏层,只要给予网络足够数量的隐藏单元,它可以以任意的精度来近似任何从一个有限维空间到另一个有限维空间的Borel可测函数。
#Borel可测函数参考地址:https://baike.baidu.com/item/波莱尔可测函数/18919536?fr=aladdin
5、反向传播算法
#自动微分领域的一种方法,被称为反向模式累加。
#当图的输出数目大于输入数目时,有时更偏向于使用另外一种形式的自动微分——前向模式累加。
6、Krylov方法
参考地址:https://blog.csdn.net/u011898542/article/details/88351493
第七章 深度学习中的正则化
在网上找到了一篇关于正则化比较好的总结,参考地址:https://www.csdn.net/gather_2f/MtTaggxsNTA1My1ibG9n.html
1、L2参数正则化(岭回归、Tikhonov正则)
#L1正则化
2、作为约束的范数惩罚
3、正则化和欠约束问题
- 相关矩阵可逆时,线性问题有闭式解,没有闭式解的问题可能是欠定的,可以使用Moore-Penrose逆求解欠定方程。
4、数据集增强
#在神经网络的输入层注入噪音也可以看做数据增强的一种方法。
5、噪声鲁棒性
6、半监督学习
7、多任务学习:通过合并几个任务中的样例来提高泛化能力的一种方式。
- 参数共享——可大大提高统计强度,改善泛化和泛化误差范围。
- 能解释数据变化(在与之相关联的不同任务中观察到)的因素中,某些因素是跨两个或更多任务共享的。
8、提前终止(正则化的一种方式)
- 两个代价:(1)大多数的超参数选择必须使用高代价的猜测和检查过程;(2)需要保持最佳的参数副本。
- 为何具有正则化效果:验证集学习曲线是一条U型曲线。(花书上有证明)
9、参数绑定和参数共享(正则化的一种方法)
10、稀疏表示
#正交匹配追踪
11、Bagging——集成学习方法
#同时训练几个不同的模型,然后选出最好的作为输出。
12、 Boosting
通过对样本集的操作获得样本子集,然后用弱分类算法在样本子集上训练生成一系列的基分类器。(回头复习李航《统计学习》)
13、Dropout
#在训练期间从神经网络中随机丢弃单位(及其连接)
- 权重比例推断规则
14、对抗训练
15、切面距离算法——一种非参数最近邻算法
参考地址: