理解神經網路的不同損失函式
針對不同的目標使用不同的損失函式。在本文中,我將透過一組示例向您介紹一些常用的損失函式。本文是使用Keras和Tensorflow框架的設計。
損失函式:簡介
損失函式有助於最佳化神經網路的引數。我們的目標是透過最佳化神經網路的引數(權重)使其損失最小化。損失由損失函式計算。每個神經網路都給出了一些輸出,我們透過將此輸出與實際輸出(目標值)相匹配來計算損失。然後使用梯度下降法來最佳化網路的權重,使這種損失最小化。這就是我們訓練神經網路的方法。
均方誤差(Mean Squared Error)
顧名思義,這種損失是透過計算實際(目標)值和預測值之間的平方差的平均值來計算的。
例如,有一個神經網路,它使用一些與房子相關的引數並預測它的價格。在這種情況下,您可以使用MSE損失。基本上,在輸出是實數的情況下,應該使用這個損失函式。
二元交叉熵(Binary Cross entropy)
當有一個二元分類任務時,如果使用BCEloss函式,則只需要一個輸出節點將資料分類為兩個類。輸出值透過 sigmoid 啟用函式,以便輸出在(0-1)之間的範圍內。
例如,有一個神經網路,它採用與大氣相關的引數,並輸出預測是否下雨。如果輸出大於0.5,則網路將其分類為rain,如果輸出小於0.5,則網路將其分類為not rain。(它可能是相反的,這取決於你如何訓練網路)。機率得分值越多,下雨的機率就越大。
在訓練網路時,如果下雨,則輸入網路的目標值應為1,否則為0。
重要的是,如果使用BCE損失函式,節點的輸出應在(0-1)之間。這意味著你必須在最終輸出上使用sigmoid啟用函式。因為sigmoid轉換範圍在(0-1)之間的任何實際值。
如果你不在最後一層使用sigmoid啟用怎麼辦?然後,可以將一個名為from logitsas 的引數true傳遞給loss函式,它將在內部將sigmoid應用於輸出值。
分類交叉熵(Categorical Cross entropy)
當有一個多類分類任務時,如果使用CCEloss函式,則輸出節點的數量必須與類的數量相同。最後一層輸出應透過softmax啟用,以便每個節點輸出範圍在(0-1)之間的機率值。
例如,有一個神經網路,它識別影像並將其分類為貓或狗。如果貓節點具有高機率得分,則影像被分類為貓,否則為狗。基本上,無論哪個類節點的機率得分最高,影像將被分類到該類。
為了在訓練時提供目標值,您必須對它們進行獨熱編碼。如果影像是貓,則目標向量將是(1,0),如果影像是狗,則目標向量將是(0,1)。基本上,目標向量將相同大小的類的數量和索引位置對應於實際的類是1而所有其他的將為零。
如果在最後一層沒有使用 softmax 啟用怎麼辦?可以將一個名為from logitsas 的引數true傳遞給loss函式,它將在內部將 softmax 應用於輸出值。與上述情況相同。
稀疏分類交叉熵(Sparse Categorical Cross entropy)
除了一個變化外,這個損失函式幾乎與CCE相似。
當使用SCCE損失函式時,不需要對目標向量進行獨熱編碼。如果目標影像是貓,則只需傳遞0,否則為1。基本上,無論哪個類,只需傳遞該類的索引。
這些是最基本的損失函式。並且在訓練神經網路時,您可能會使用其中一種損失函式。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29829936/viewspace-2648298/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- TensorFlow筆記-06-神經網路優化-損失函式,自定義損失函式,交叉熵筆記神經網路優化函式熵
- 神經網路基礎部件-損失函式詳解神經網路函式
- Java開發者的神經網路進階指南:深入探討交叉熵損失函式Java神經網路熵函式
- 神經網路損失函式中的正則化項L1和L2神經網路函式
- 神經網路中常用的函式神經網路函式
- Pytorch_第六篇_深度學習 (DeepLearning) 基礎 [2]---神經網路常用的損失函式PyTorch深度學習神經網路函式
- 理解神經元和函式函式
- 神經網路中使用的啟用函式神經網路函式
- 神經網路的啟用函式總結神經網路函式
- 損失函式函式
- 卷積神經網路-啟用函式卷積神經網路函式
- 3.2 神經網路的通俗理解神經網路
- 3D高斯損失函式(1)單純損失函式3D函式
- DDMP中的損失函式函式
- Pytorch中的損失函式PyTorch函式
- 例項解釋NLLLoss損失函式與CrossEntropyLoss損失函式的關係函式ROS
- 深度人臉識別中不同損失函式的效能對比函式
- 神經網路篇——從程式碼出發理解BP神經網路神經網路
- Pytorch 常用損失函式PyTorch函式
- 損失函式綜述函式
- Triplet Loss 損失函式函式
- 神經網路啟用函式=生物轉換器?神經網路函式
- SSD的損失函式設計函式
- 人工智慧---神經網路啟用函式恆等函式、sigmoid函式、softmax函式詳解人工智慧神經網路函式Sigmoid
- PyTorch:損失函式loss functionPyTorch函式Function
- TensorFlow損失函式專題函式
- 詳解常見的損失函式函式
- 神經網路簡介--啟用函式、網路架構、生物模型解釋神經網路函式架構模型
- 談談交叉熵損失函式熵函式
- 邏輯迴歸 損失函式邏輯迴歸函式
- 聊聊損失函式1. 噪聲魯棒損失函式簡析 & 程式碼實現函式
- Pytorch_第九篇_神經網路中常用的啟用函式PyTorch神經網路函式
- 神經網路:numpy實現神經網路框架神經網路框架
- 2.3邏輯迴歸損失函式邏輯迴歸函式
- 神經網路神經網路
- 卷積神經網路數學原理解析卷積神經網路
- 文科生如何理解卷積神經網路?卷積神經網路
- 從ReLU到GELU,一文概覽神經網路的啟用函式神經網路函式