Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
apachecn-dl-zh
提交
e859672b
A
apachecn-dl-zh
项目概览
OpenDocCN
/
apachecn-dl-zh
12 个月 前同步成功
通知
298
Star
83
Fork
35
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
apachecn-dl-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
e859672b
编写于
8月 30, 2020
作者:
W
wizardforcel
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
2020-08-30 21:54:37
上级
9366f276
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
6 addition
and
6 deletion
+6
-6
docs/handson-tl-py/2.md
docs/handson-tl-py/2.md
+5
-5
docs/handson-tl-py/3.md
docs/handson-tl-py/3.md
+1
-1
未找到文件。
docs/handson-tl-py/2.md
浏览文件 @
e859672b
...
...
@@ -948,11 +948,11 @@ plt.scatter(x=projection[:, 0], y=projection[:, 1], c=('g'))
![](
img/28d6a247-eb12-45c2-a471-8673b8610e63.png
)
其中
`g`
是梯度向量,
`H`
是
`f(x)`
在
`x[0]`
时的 Hessian。 如果
ε
是我们使用的学习率,则根据梯度下降的新点为
`x[0] - ε[g]`
。 将其替换为 Taylor 系列展开式,我们得到:
其中
`g`
是梯度向量,
`H`
是
`f(x)`
在
`x[0]`
时的 Hessian。 如果
`ε`
是我们使用的学习率,则根据梯度下降的新点为
`x[0] - ε[g]`
。 将其替换为 Taylor 系列展开式,我们得到:
![](
img/88f6f0bb-b7d9-4a33-8d96-f46e8db8138b.png
)
注意,如果
`-ε g^t g + ½ε^2 g^T H[g] > 0`
,则与
`x[0]`
相比,新点的函数值会增加。 同样,在存在强梯度的情况下,我们将具有较高的平方梯度范数
`||g||^2 = g^T g`
,但同时,如果其他数量为
`g^T H[g]`
增长一个数量级,那么我们将看到
`f(x)`
的下降速度非常缓慢。 但是,如果此时可以缩小学习率
ε
,则可能会在某种程度上使这种影响无效,因为
`g^T H[g]`
数量乘以
`ε^2`
。 可以通过在训练周期绘制平方梯度范数和
`g^T H[g]`
来监测疾病的影响。 我们在
*热板*
中看到了如何计算梯度范数的示例。
注意,如果
`-ε g^t g + ½ε^2 g^T H[g] > 0`
,则与
`x[0]`
相比,新点的函数值会增加。 同样,在存在强梯度的情况下,我们将具有较高的平方梯度范数
`||g||^2 = g^T g`
,但同时,如果其他数量为
`g^T H[g]`
增长一个数量级,那么我们将看到
`f(x)`
的下降速度非常缓慢。 但是,如果此时可以缩小学习率
`ε`
,则可能会在某种程度上使这种影响无效,因为
`g^T H[g]`
数量乘以
`ε^2`
。 可以通过在训练周期绘制平方梯度范数和
`g^T H[g]`
来监测疾病的影响。 我们在
*热板*
中看到了如何计算梯度范数的示例。
# 局部最小值和鞍点
...
...
@@ -1061,7 +1061,7 @@ AdaGrad 算法通过按与先前所有梯度的平方和值的平方根成比例
# RMSprop
RMSprop 通过采用先前平方梯度的 EWMA 来修改 AdaGrad 算法。 它具有移动平均参数
ρ
,它控制移动平均的长度和比例。 这是深度神经网络训练最成功的算法之一。
RMSprop 通过采用先前平方梯度的 EWMA 来修改 AdaGrad 算法。 它具有移动平均参数
`ρ`
,它控制移动平均的长度和比例。 这是深度神经网络训练最成功的算法之一。
# Adam
...
...
@@ -1098,7 +1098,7 @@ RMSprop 通过采用先前平方梯度的 EWMA 来修改 AdaGrad 算法。 它
# 权重衰减
可以看到,像前面示例中的多项式一样,过拟合模型的权重非常大。 为了避免这种情况,可以将罚分项
Ω添加到目标函数中,这将使权重更接近原点。 因此,惩罚项应该是权重范数的函数。 同样,可以通过乘以超参数α
来控制惩罚项的效果。 因此我们的目标函数变为:
`E(w) + αΩ(w)`
。 常用的惩罚条款是:
可以看到,像前面示例中的多项式一样,过拟合模型的权重非常大。 为了避免这种情况,可以将罚分项
`Ω`
添加到目标函数中,这将使权重更接近原点。 因此,惩罚项应该是权重范数的函数。 同样,可以通过乘以超参数
`α`
来控制惩罚项的效果。 因此我们的目标函数变为:
`E(w) + αΩ(w)`
。 常用的惩罚条款是:
*
**L2 正则化**
:惩罚项由
`Ω = 1/2 · ||w||^2`
给出。 在回归文献中,这称为
**岭回归**
。
*
**L1 正则化**
:惩罚项由
`Ω = ||w||[1] = Σ[i](w[i])`
给出。 这称为
**LASSO 回归**
。
...
...
@@ -1125,7 +1125,7 @@ L1 正则化导致稀疏解; 也就是说,它会将许多权重设置为零
# 批量标准化
在 ML 中,通常的做法是先缩放并标准化输入的训练数据,然后再将其输入模型进行训练。 对于神经网络而言,缩放也是预处理步骤之一,并且已显示出模型表现的一些改进。 在将数据馈送到隐藏层之前,我们可以应用相同的技巧吗? 批量规范化基于此思想。 它通过减去激活的最小批量平均值
μ并除以最小批量标准偏
差
`σ`
来归一化前一层的激活。 在进行预测时,我们一次可能只有一个示例。 因此,不可能计算批次均值
`μ`
和批次
`σ`
。 将这些值替换为训练时收集的所有值的平均值。
在 ML 中,通常的做法是先缩放并标准化输入的训练数据,然后再将其输入模型进行训练。 对于神经网络而言,缩放也是预处理步骤之一,并且已显示出模型表现的一些改进。 在将数据馈送到隐藏层之前,我们可以应用相同的技巧吗? 批量规范化基于此思想。 它通过减去激活的最小批量平均值
`μ`
并除以最小批量标准
差
`σ`
来归一化前一层的激活。 在进行预测时,我们一次可能只有一个示例。 因此,不可能计算批次均值
`μ`
和批次
`σ`
。 将这些值替换为训练时收集的所有值的平均值。
# 我们需要更多数据吗?
...
...
docs/handson-tl-py/3.md
浏览文件 @
e859672b
...
...
@@ -333,7 +333,7 @@ return vj
![](
img/74d14517-90ed-4828-aad4-1cb89b7b96e1.png
)
让我们看一下使用基于梯度的优化算法学习权重所需的总误差导数。 我们有
`h[t] = Uφh[t-1] + Wx[t]`
,
Φ
是非线性激活,而
`y[t] = Vφh[t]`
。
让我们看一下使用基于梯度的优化算法学习权重所需的总误差导数。 我们有
`h[t] = Uφh[t-1] + Wx[t]`
,
`Φ`
是非线性激活,而
`y[t] = Vφh[t]`
。
现在是:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录