深度学习入门

深度学习入门,第1张

第1章 Python入门 第2章 感知机 第3章 神经网络 3.2.激活函数

sigmoid函数:
h ( x ) = 1 1 + exp ⁡ ( − x ) h(x)=\frac{1}{1+\exp(-x)} h(x)=1+exp(x)1

3.5.输出层的设计

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)

第4章 神经网络的学习 4.2.损失函数

交叉熵误差(cross entropy error):
E = − ∑ k t k log ⁡ y k E=-\sum_{k} t_k \log y_k E=ktklogyk
问题:为什么数值微分的计算非常费时?复杂度有多高?

4.3.数值微分
# 数值微分
def numerical_diff(f, x):
	h = 1e-4
	return (f(x+h) - f(x-h)) / (2*h)
4.4.梯度

梯度下降法
学习率

第5章 误差反向传播法 5.1.计算图

计算图解题流程:

1.构建计算图

2.在计算图上,从左向右进行计算

使用计算图的原因:可以通过反向传播高效计算导数。


计算图的优点:可以通过正向传播和反向传播高效地计算各个变量的导数值。


5.2.链式法则

定义:如果某个函数由复合函数表示,则该复合函数的导数可以用构成复合函数的各个函数的导数的乘积表示。



∂ z ∂ x = ∂ z ∂ t ∂ t ∂ x \frac{\partial z}{\partial x}=\frac{\partial z}{\partial t}\frac{\partial t}{\partial x} xz=tzxt
举例: 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.3.反向传播

加法的反向传播:将上游的值传给下游,不需要正向传播的输入信号。



乘法的反向传播:将上游的值乘以正向传播时的输入信号的“翻转值”后传给下游,需要正向传播的输入信号。



图5-14 购买苹果的反向传播的例子

5.4.简单层的实现

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/567963.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-09
下一篇 2022-04-09

发表评论

登录后才能评论

评论列表(0条)

保存