sigmoid函数:
h
(
x
)
=
1
1
+
exp
(
−
x
)
h(x)=\frac{1}{1+\exp(-x)}
h(x)=1+exp(−x)1
softmax函数:
y
k
=
exp
(
a
k
)
∑
i
=
1
n
exp
(
a
i
)
y_k=\frac{\exp (a_k)}{\sum_{i=1}^n \exp (a_i)}
yk=∑i=1nexp(ai)exp(ak)
交叉熵误差(cross entropy error):
E
=
−
∑
k
t
k
log
y
k
E=-\sum_{k} t_k \log y_k
E=−k∑tklogyk
问题:为什么数值微分的计算非常费时?复杂度有多高?
# 数值微分
def numerical_diff(f, x):
h = 1e-4
return (f(x+h) - f(x-h)) / (2*h)
4.4.梯度
梯度下降法
学习率
计算图解题流程:
1.构建计算图
2.在计算图上,从左向右进行计算
使用计算图的原因:可以通过反向传播高效计算导数。
计算图的优点:可以通过正向传播和反向传播高效地计算各个变量的导数值。
定义:如果某个函数由复合函数表示,则该复合函数的导数可以用构成复合函数的各个函数的导数的乘积表示。
∂
z
∂
x
=
∂
z
∂
t
∂
t
∂
x
\frac{\partial z}{\partial x}=\frac{\partial z}{\partial t}\frac{\partial t}{\partial x}
∂x∂z=∂t∂z∂x∂t
举例:
z
=
(
x
+
y
)
2
,
t
=
x
+
y
z=(x+y)^2, \ t=x+y
z=(x+y)2, t=x+y
反向传播计算过程如下:
图5.7-5.8 计算图的正向与反向传播
加法的反向传播:将上游的值传给下游,不需要正向传播的输入信号。
乘法的反向传播:将上游的值乘以正向传播时的输入信号的“翻转值”后传给下游,需要正向传播的输入信号。
图5-14 购买苹果的反向传播的例子
5.4.简单层的实现欢迎分享,转载请注明来源:内存溢出
评论列表(0条)