计算图
神经网络中包含两种传播方式:正向传播和反向传播。
我们先通过画一个计算图来对正向传播进行解释:
首先定义一个三元变量函数
J(a,b,c)=3(a+b∗c)
J
(
a
,
b
,
c
)
=
3
(
a
+
b
∗
c
)
,根据运算符优先原则,我们会先计算
b∗c
b
∗
c
,然后假设将
b∗c
b
∗
c
的值赋值给
u
u
,然后计算,并将
a+u
a
+
u
的值赋值给
v
v
,然后计算,最后得出函数值。以上是通过语言来对此三元函数的计算进行表述,下面我们将用一个流程图进行表达:
以上就是简单的正向传播示意图,下节课将介绍反向传播。
另外,向大家列出一些经常用到的函数求导公式:
y=c(c是常数)→y′=0
y
=
c
(
c
是
常
数
)
→
y
′
=
0
y=xn→y′=nxn−1
y
=
x
n
→
y
′
=
n
x
n
−
1
y=ax+b→y′=a
y
=
a
x
+
b
→
y
′
=
a
y=ax2+bx+c→y′=2ax+b
y
=
a
x
2
+
b
x
+
c
→
y
′
=
2
a
x
+
b
y=ax→y′=lna∗ax
y
=
a
x
→
y
′
=
l
n
a
∗
a
x
y=ex→y′=ex
y
=
e
x
→
y
′
=
e
x
y=logax→y′=1x∗lna
y
=
l
o
g
a
x
→
y
′
=
1
x
∗
l
n
a
y=lnx→y′=1x
y
=
l
n
x
→
y
′
=
1
x
y=sinx→y′=cosx
y
=
s
i
n
x
→
y
′
=
c
o
s
x
y=cosx→y′=−sinx
y
=
c
o
s
x
→
y
′
=
−
s
i
n
x
y=tanx→y′=1cos2x
y
=
t
a
n
x
→
y
′
=
1
c
o
s
2
x
y=arcsinx→y′=11−x2√
y
=
a
r
c
s
i
n
x
→
y
′
=
1
1
−
x
2
y=cotx→y′=−1sin2x
y
=
c
o
t
x
→
y
′
=
−
1
s
i
n
2
x
y=uv(uv都是函数)→y′=u′v+v′u
y
=
u
v
(
u
v
都
是
函
数
)
→
y
′
=
u
′
v
+
v
′
u
y=uv→(u′v−uv′)v2
y
=
u
v
→
(
u
′
v
−
u
v
′
)
v
2
链式法则:
y=f[g(x)]→y′=f′[g(x)]g′(x)
y
=
f
[
g
(
x
)
]
→
y
′
=
f
′
[
g
(
x
)
]
g
′
(
x
)