bceloss就時predict對應位置點求熵,相加,再求平均
證明:
#%%
import torch
import torch.nn as nn
#%% md
bceloss損失函式
#%% 產生predict,target
n = 2
c = 1
h = 2
w = 2
predict = torch.arange(n*c*h*w,dtype=torch.float32).view([n,c,w,h])
predict = torch.sigmoid(predict) #sigmoid!!!
target = torch.arange(n*c*h*w,dtype=torch.float32).view([n,c,w,h]) #sigmoid!!!
target = torch.sigmoid(target)
print('predict:',predict)
print('target:',target)
#%% 利用公式計算bceloss
sumall = 0
for n in range(n):
for c in range(c):
for h in range(h):
for w in range(w):
sumall += target[n,c,h,w]*torch.log(predict[n,c,h,w])+(1-target[n,c,h,w])*torch.log(1-predict[n,c,h,w])
print('公式計算結果:bceloss:',-sumall/(n*c*h*w))
#%% 利用pytorch計算bceloss
loss = torch.nn.bceloss()
print('pytorch計算結果:bceloss:',loss(predict,target))
結果:
公式計算結果:bceloss: tensor(0.2483)
pytorch計算結果:bceloss: tensor(0.2483)
損失函式 損失函式 Hinge
本文討論hinge損失函式,該函式是機器學習中常用的損失函式之一。在機器學習中,hinge loss是一種損失函式,它通常用於 maximum margin 的分類任務中,如支援向量機。數學表示式為 其中 表示 輸出,通常都是軟結果 就是說輸出不是0,1這種,可能是0.87。表示正確的類別。其函式影...
常見損失函式 損失函式選擇方法
神經網路的學習通過某個指標表示現在的狀態,然後以這個指標為基準,尋找最優權重引數,這個指標就是損失函式 loss function 如上介紹,神經網路損失函式 loss function 也叫目標函式 objective function 的作用 衡量神經網路的輸出與預期值之間的距離,以便控制 調節...
損失函式 SRGAN損失函式(目標函式)詳解
srgan的特點之一就是引進了損失感知函式,由此提公升了超解析度之後的細節資訊。本文主要像您介紹srgan使用的損失函式,及其keras實現。這是原文中給出的損失函式。容易看出,此損失函式包括兩部分,第一部分是感知損失,第二部分是正則化損失。感知損失是由李飛飛團隊提出的一種損失函式。感知損失分了兩部...