訓練過程中常見問題總結

2021-08-30 04:17:57 字數 717 閱讀 7558

解答:正常,loss和acc計算方式不同,是兩個完全不同的東西。acc只關心**正確,而不關心正確的程度(比如**狗和貓,不論模型**是貓的概率是51%還是99%,對acc來說是一樣的)。但是loss函式(如cross_entropy_loss)考慮了**的正確程度。所以會出現**正確的數量不變,但是正確的置信度越來越高了。

解答:很小的loss會導致很小的梯度,使學習速度降慢。

對不同的loss來說,在優化時的影響不同。

mse在接近最優解時導數會變的非常小。比如我們計算權重 w

iw_i

wi​ 的梯度時:

g ra

di=∂

∂wiϵ

2=2ϵ

∂∂wi

ϵgrad_i = \frac \epsilon^2 = 2 \epsilon \frac \epsilon

gradi​

=∂wi

​∂​ϵ

2=2ϵ

∂wi​

∂​ϵ where ϵ=y

−y

^\epsilon = y - \hat

ϵ=y−y^

​。在接近最優解時,ϵ

\epsilon

ϵ會變的非常小,降慢學習速度。

logloss在接近最優解時,導數基本恆定

所以我們在分類任務時優先使用logloss。

LINUX編譯過程中常見問題

1.安裝arm linux gcc工具鏈後,明明已經再 etc profile中新增安裝路徑,執行arm linux gcc v 系統提示找不到arm linux gcc 解決方法 apt get install libc6 dev i386 安裝完這個包後,就可以了 2.error while l...

的訓練過程 模型訓練過程中累計auc

在平時計算auc的時候,大都是使用 sklearn.metrics.roc auc score 來計算。一般操作是將每個batch 出來的結果 拼接起來,然後扔到該函式中計算。但是如果測試集量級過大 比如 10億量級 每個樣本的 結果拼接起來之後至少需要 3g記憶體。這個開銷顯然不是我們想要的。有什...

Git使用過程中常見問題

windows使用git時初始話時出現 warning lf will be replaced by crlf windows中的換行符為 crlf,而在linux下的換行符為lf,所以在執行add 時出現提示,解決辦法 rm rf git 刪除.git git config global core...