深度学习(21)神经网络与全连接层四: 输出方式
深度學習(21)神經網絡與全連接層四: 輸出方式
- 1. y∈Rdy∈R^dy∈Rd
- 2. yi∈[0,1]y_i∈[0,1]yi?∈[0,1]
- 3. sigmoid函數
- (1) 目的
- (2) tf.sigmoid
- 4. softmax
- (1) 需求
- (2) 原理
- (3) Classification(分類實例)
- 5. tanh
Outline
- y∈Rdy∈R^dy∈Rd
- yi∈[0,1],i=0,1,…,yd?1y_i∈[0,1],i=0,1,…,y_d-1yi?∈[0,1],i=0,1,…,yd??1
- yi∈[0,1],∑i=0ydyi=1,i=0,1,…,yd?1y_i∈[0,1],∑_{i=0}^{y_d}y_i=1,\ i=0,1,…,y_d-1yi?∈[0,1],∑i=0yd??yi?=1,?i=0,1,…,yd??1
- yi∈[?1,1],i=0,1,…,yd?1y_i∈[-1,1],\ i=0,1,…,y_d-1yi?∈[?1,1],?i=0,1,…,yd??1
1. y∈Rdy∈R^dy∈Rd
- linear regression
- na?ve classification with MSE
- other general prediction
- out=relu(X@W+b)out=relu(X@W+b)out=relu(X@W+b)
- logits
2. yi∈[0,1]y_i∈[0,1]yi?∈[0,1]
- binary classification
- y>0.5,→1
- y<0.5,→0
- Image Generation
- RGB圖像
- RGB圖像
以上圖片為應用GAN的AI自動畫出來的,灰常神奇~
3. sigmoid函數
(1) 目的
使用sigmoid函數的目的是將輸出范圍限制在[0~1]之間。
- out=relu(X@W+b)out=relu(X@W+b)out=relu(X@W+b)
- sigmoid →\to→
- out′=sigmoid(out)out'=sigmoid(out)out′=sigmoid(out)
(2) tf.sigmoid
f(x)=1(1+e?x)f(x)=\frac{1}{(1+e^{-x} )}f(x)=(1+e?x)1?
(a)a = tf.linspace(-6., 6, 10): 定義a為[-6, 6]間隔10個點;
(b)tf.sigmoid(a): 將a用sigmoid函數使其輸出范圍限制在[0, 1]之間;
(c)x = tf.random.normal([1, 28, 28])*5: 創建1張28×28的圖片,共有5張這樣的圖片; 其灰度值最小是-18.78872; 最大是15.466431;
(d)x = tf.sigmoid(x): 將x用sigmoid函數使其灰度值限制在[0, 1]之間,這樣我們就可以很方便地使用matplot打印出來;
4. softmax
(1) 需求
- yi∈[0,1],∑yi=1y_i∈[0,1],∑y_i =1yi?∈[0,1],∑yi?=1
在多分類問題中,我們不僅希望將其輸出范圍限制在[0, 1]之間,還希望所有概率和為1,這樣能很方便觀察出其中最有可能的值(例如手寫數字識別)。 - 使用sigmoid
可以看出,sigmoid函數并不能滿足這一點;
- 使用softmax
可以看出,yi∈[0,1],∑yi=1y_i∈[0,1],∑y_i =1yi?∈[0,1],∑yi?=1得到了滿足;
(2) 原理
注: 一般將沒有激活函數的輸出成為Logits;
(3) Classification(分類實例)
(a)logits = tf.random.uniform([1, 10], minval=-2, maxval=2): 創建一個新的Tensor,共有10個分類,輸出值的范圍為[-2, 2];
(b)prob = tf.nn.softmax(logits, axis=1): 將其輸出值進行歸一化處理;
(c)tf.reduce_sum(prob, axis=1): 驗證,其概率值的和等于1;
5. tanh
- yi∈[?1,1]y_i∈[-1,1]yi?∈[?1,1]
tanh
tanh?(x)=sinh?(x)cosh?(x)=(ex?e?x)/(ex+e?x)tanh?(x)=\frac{sinh?(x)}{cosh?(x)} =(e^x-e^{-x})/(e^x+e^{-x})tanh?(x)=cosh?(x)sinh?(x)?=(ex?e?x)/(ex+e?x)
注: tanh主要應用于LSTM;
(a)tf.tanh(a): 將a的輸出值范圍壓縮到[-1, 1]之間;
參考文獻:
[1] 龍良曲:《深度學習與TensorFlow2入門實戰》
[2] https://medium.com/syncedreview/biggan-a-new-state-of-the-art-in-image-synthesis-cf2ec594024
[3] https://www.youtube.com/watch?v=lvNdl7yg4Pg
總結
以上是生活随笔為你收集整理的深度学习(21)神经网络与全连接层四: 输出方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一用户微信转账2万转错人 对方不退还!法
- 下一篇: 暗黑破坏神上榜!年度最佳应用获奖名单出炉