优化
- 都9102年了,别再用Adam + L2 regularization了
- AdamW and Super-convergence is now the fastest way to train neural nets
- 从几何视角来理解模型参数的初始化策略
- 让模型在初始化时能保持模长不变,W正交,高维空间中的任意两个随机向量几乎都是垂直的,控制均值方差即可
- 事实上很难针对每一个激活函数都做好方差的调整,所以一个更通用的做法就是直接在激活函数后面加上一个类似Layer Normalization的操作,直接显式地恢复模长
- BN究竟起了什么作用?一个闭门造车的分析
- 深度学习中的Lipschitz约束:泛化与生成模型 限制模型对输入的扰动,矩阵范数,谱归一
卷积
im2col的原理和实现
各种卷积动图
空洞卷积问题:gridding、long-range
CNN中的位置和尺度问题
分类需要低频info,定位需要高频info
分类需要平移不变性(invariance),定位需要平移相等性(equivalence)
downsample破坏平移相等性和不变性,对于平移相等性的影响更大。
微小的平移和尺度变化可能严重影响结果(我们不能简单地把系统中的平移不变性寄希望于卷积和二次采样,输入信号的平移不意味着变换系数的简单平移,除非这个平移是每个二次采样因子的倍数。)
缓解:抗锯齿bluring、数据增强、减少降采样
softmax
- 玻尔兹曼分布与Softmax的关联
- 【机器学习】【白板推导系列】(系列八) 指数族分布7-最大熵角度(2)
- f(x)可以视作模型,热力学中的能量
- 【机器学习】【白板推导系列】(系列八) 指数族分布7-最大熵角度(2)
- 从最优化的角度看待Softmax损失函数 函数逼近
- Softmax vs. Softmax-Loss: Numerical Stability
- softmax上溢和下溢问题
Gumbel-Softmax Trick和Gumbel分布
Normalization
模型加速
训练trick
- fine-tune时的学习率warm-up的调整
- L2正则化
- Adam优化器换成SGD,lookhead优化器
- 初始化预训练权重
- 学习率的调整,根据BACTH SIZE来调整
- 显存过小时候,使用平均损失来求梯度,防止单次样本太小震荡剧烈。
- Batch_size大小的选择,不宜太大也不能太小,最好是2的指数次方
- 图片的预处理
出现nan值的处理
- 重新初始化
- 梯度截断
- 利用激活函数限幅,如:y = min(max(0,x),6)(relu6)
- 重新清理数据集
- 查看是否分母出现0
- 减小学习率