训练神经网络
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
反向传播算法是最常见的神经网络训练算法。它使梯度下降法在多层神经网络中成为可行。
TensorFlow 会自动处理反向传播算法,因此您无需深入了解算法。如需了解其工作原理,请参阅以下文章:反向传播算法的直观说明。在滚动浏览上述说明时,请注意以下几点:
- 数据如何流经图表。
- 我们如何借助动态编程避免计算图中数量达指数级别的路径。这里的“动态规划”只表示记录正向和反向传递的中间结果。
训练神经网络
反向传播:注意事项
- 渐变很重要
- 梯度可能会消失
- 每增加一个层都会依次降低信噪比
- ReLu 在这里很有用
反向传播:注意事项
- 渐变很重要
- 梯度可能会消失
- 每增加一个层都会依次降低信噪比
- ReLu 在这里很有用
- 梯度可能会爆炸
- 学习速率在这里非常重要
- 批量归一化(实用按钮)有助于
反向传播:注意事项
- 渐变很重要
- 梯度可能会消失
- 每增加一个层都会依次降低信噪比
- ReLu 在这里很有用
- 梯度可能会爆炸
- 学习速率在这里非常重要
- 批量归一化(实用按钮)有助于
- ReLu 层可能会消失
标准化特征值
- 我们希望特征具有合理的范围
- 大致以零为中心,[-1, 1] 范围通常效果较好
- 帮助梯度下降法收敛;避免 NaN 陷阱
- 避免离群值也会有帮助
- 可以使用一些标准方法:
- 线性缩放
- 为最大值、最小值设定硬性上限(裁剪)
- 对数扩缩
Dropout 正规化
- Dropout:另一种正则化形式,对神经网络很有用
- 工作原理是,在单个梯度步长中随机“丢弃”网络中的单元
- 丢弃得越多,正则化效果就越强
- 0.0 = 无丢弃正则化
- 1.0 = 丢弃所有内容!什么也学不了
- 中间值更有用
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2023-12-02。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"没有我需要的信息"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"太复杂/步骤太多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"内容需要更新"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻译问题"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/代码问题"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"易于理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"解决了我的问题"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]