深度学习 1.最优化与深度学习 1.1二者密切联系 1.2主要差异 1.3训练误差和泛化误差 1.4经验风险 1.5优化中的挑战 1.5.1局部最小值 1.5.2鞍点 1.5.3悬崖 1.5.4长期依赖问题 2.损失函数 2.1损失函数的起源 2.2最大似然估计(MLE) 2.2.1交叉熵损失概率分布解释 2.3最大化后验(MAP) 2.4贝叶斯估计(Bayesian Estimation) 3.损失函数的性质 3.1可微性和可导性 3.2凸性 3.2.1如何判断函数凸性 3.2.2凸约束和凸优化 3.3Jensen不等式 4.梯度下降 4.1如何逼近求解? 4.2搜索逼近策略 4.3梯度Gradient 4.4偏导数链式法则 4.5学习率 4.6总结 5.随机梯度下降法 5.1梯度下降法的问题 5.2基本思想 5.3优缺点 5.4动态学习率 6.小批量梯度下降法 6.1基本思想 6.2优缺点 6.3影响批量大小的因素 6.4不同梯度下降比较 7.动量法(Momentum) 7.1物理学中的动量 7.2深度学习中的动量 7.3基本思路 7.4优缺点 8.AdaGrad算法 8.1基本思想 8.2稀疏特征 8.3优缺点 8.4AdaGrad算法代码实现 8.5五种梯度下降算法时间发展图 9.RMSProp/AdaDelta算法 9.1RMSProp基本原理 9.2RMSProp优缺点 9.3AdaDelta基本原理 9.4AdaDelta优缺点 9.5总结 10.Adam算法 10.1Adam基本思想 10.2梯度下降法及其变体关系 10.3原理框架流程 10.4不同优化算法核心差异 10.5最佳选择策略讨论 10.6算法选择经验建议 11.梯度下降代码实现 11.1二维平面的梯度下降 11.2三维平面的梯度下降 11.3不同优化器效果对比 11.3.1导入必要的库 11.3.2生成数据 11.3.3构建数据加载器 11.3.4定义模型 11.3.5构建优化器 11.3.6模型训练和测试 11.3.6损失可视化 12.学习率调节器 12.1需要考虑的问题 12.2什么是学习率调节器 12.3常见学习率调节器 12.3.1学习率衰减 12.3.2指数衰减 12.3.3余弦学习率调节器 12.3.4预热 12.4学习率调节器代码实现 12.4.1导入必要的库 12.4.2数据生成 12.4.3数据划分 12.4.4模型定义 12.4.5模型训练对比 12.4.6常见学习率调节器Pytorch实现 1.最优化与深度学习 1.1二者密切联系 最优化理论就是研究如何找到函数的最优解——其最大值和最小值的各种算法。 在深度学习中,研究特定的优化问题:寻找神经网络上的一组参数 θ \theta θ,能显著地降低损失函数 J ( θ )