深度学习入门(鱼书)学习笔记
第1章 Python入門
第2章 感知機
第3章 神經網絡
3.2.激活函數
sigmoid函數:
h(x)=11+exp?(?x)h(x)=\frac{1}{1+\exp(-x)} h(x)=1+exp(?x)1?
ReLU(Rectified Linear Unit)函數:
h(x)={x,(x>0)0,(x≤0)h(x)= \begin{cases} x, & (x>0) \\ 0, &(x \le 0) \end{cases} h(x)={x,0,?(x>0)(x≤0)?
3.5.輸出層的設計
softmax函數:
yk=exp?(ak)∑i=1nexp?(ai)y_k=\frac{\exp (a_k)}{\sum_{i=1}^n \exp (a_i)} yk?=∑i=1n?exp(ai?)exp(ak?)?
第4章 神經網絡的學習
4.2.損失函數
交叉熵誤差(cross entropy error):
E=?∑ktklog?ykE=-\sum_{k} t_k \log y_k E=?k∑?tk?logyk?
問題:為什么數值微分的計算非常費時?復雜度有多高?
4.3.數值微分
# 數值微分 def numerical_diff(f, x):h = 1e-4return (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} ?x?z?=?t?z??x?t?
舉例:z=(x+y)2,t=x+yz=(x+y)^2, \ t=x+yz=(x+y)2,?t=x+y
反向傳播計算過程如下:
圖5.7-5.8 計算圖的正向與反向傳播
5.3.反向傳播
加法的反向傳播:將上游的值傳給下游,不需要正向傳播的輸入信號。
乘法的反向傳播:將上游的值乘以正向傳播時的輸入信號的“翻轉值”后傳給下游,需要正向傳播的輸入信號。
圖5-14 購買蘋果的反向傳播的例子
5.4.簡單層的實現
圖5-17 購買2個蘋果和3個橘子
5.5.激活層函數的實現
圖5-18 ReLU層的計算圖
圖5-21 Sigmoid層的計算圖(簡潔版)
為什么是exp(-x)而不是exp(x)?
圖5-22 Sigmoid層的計算圖:可以根據正向傳播的輸出y計算反向傳播
5.6.Affine/Softmax層的實現
todo
總結
以上是生活随笔為你收集整理的深度学习入门(鱼书)学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Xshell替代品 -- FinalSh
- 下一篇: 于仕琪老师的人脸检测库