深度學習中loss和網路結構對結果分別產生怎樣影響?

時間 2021-06-03 07:02:30

1樓:

好比一台車。

loss是方向盤,網路結構是車子的效能。

怎麼拿好名次?好的效能加操控。

方向盤控制車子往哪兒跑。

loss控制網路學習什麼,網路結構決定了這種學習能力的大小。

2樓:RUSH

網路結構可以看乙個對映f,包含了引數P。 損失函式cost function可以想象成乙個地形(先想象成2維,然後推廣到多維),不同損失函式代表不同的地形。

現在你有一批資料集(x,y),x表示網路的輸入,y表示真值。

你的目標就是希望f(x)盡可能接近y,這樣f對應的引數P就是你需要的網路引數。而所謂的loss就是f(x)和y差距的一種度量。

所以你說"loss在不同資料集上差別很大,有些資料用交叉熵...",這句話中的loss應該指的是損失函式吧。

前面說到損失函式就可以想象成乙個地形,有的損失函式像密集的丘陵,有的像稀疏的丘陵,有的可能又像乙個盆地。深度學習的過程就是你在地形中初始化乙個位置,然後開始尋找這個地形最低點的過程。損失函式一旦被確定,那麼這個地形也是被確定的。

在損失函式確定的情況下,尋找地形最低點需要明確兩個問題:

尋找的方向:顯然這個就是求梯度即可。

尋找的步長:這個就是來自資料集,因為具體的梯度值需要資料集來代入。

你所有的訓練不收斂僅僅在於你跑到了這個地形的某個大平原上了或者你的步子邁得太大,明明位置就在你腳下,你一直在跨來跨去。

3樓:jackwang

網路的深度決定提取特徵的精度,對loss肯定有影響,但是樣本的選擇,清洗包括增強等對loss的影響更大。換句話說,你跑乙個NLP模型時,分詞的自定義詞典定義不準確,那麼你的loss就會很大,雖然你模型包括各種引數設定的很恰當。

4樓:c0de

從我的理解來說,loss對應的是用什麼分類器或者回歸器,是由你的任務決定的;而網路結構對應的是特徵抽取,是由你的資料集決定的。

5樓:元峰

網路結構、loss、資料集都對模型的泛化效能有很大影響。

對於不同的任務,應該設計不同深度的神經網路,複雜任務選擇更深的網路,簡單任務乙個3層的CNN或者全連線網路有可能就足夠了;

對於同乙個任務,選擇不同loss也有影響,例如對於二分類任務,你可以用交叉熵損失,抑或用MSE或者MAE有可能也能得到不錯的結果,但是顯然交叉熵損失更好一些。對於不同任務,當然要選擇不同的loss以及不同的loss計算方式。例如對於目標檢測任務裡的分類,你可以使用OHEM也可以使用Focal loss。

對於同樣乙個任務,你的資料集清洗的好壞,歸一化方法,資料量大小等等,都會影響模型的泛化效能。

6樓:陳昊

當然有影響啊,總的來說,loss反映了網路收斂的方向,就是說你希望網路在哪個方面滿足你的要求,理想狀態下loss就是反應那個方面的;網路結構在cv領域裡面一般來說如果是貫序結構越深效果越好,總的來說這是因為類似於vgg這樣的模型越深表明提取的影象特徵越多,另外densnet表明聯接越多越好,不過模型容易過擬合

深度網路loss除以10和學習率除以10是不是等價的?

張覺非 看你用的什麼優化演算法。最樸素的梯度下降法就是梯度乘上學習率再從引數當前值中減去。損失前面乘個 1 10 係數的話,因為求導是線性算符,這個 1 10 係數可以扔到最外面,求出來的梯度是原損失梯度的 1 10 倍,兩者就是等價的 對於那些原始梯度下降的變體,梯度出現在式子中時前面可能沒有乘學...

深度學習中,如何判斷網路過擬合還是網路沒學習到深層特徵?

好命 訓練集百分之一百指的loss嗎 這種情況就是過擬合了 要不就是網路效能太強引數太多 要不就是資料過於簡單或者訓練集容量太小 只能說參考一下資料增強或者更換網路來做了 不大理解前面說的權重初始化調整對這個有什麼影響不是為了加快訓練速度嗎應該不影響訓練最終結果吧 墨雨蕭軒 可以用TensorBoa...

深度學習,神經網路中,如何調節weight(以及其原理)?

陳瀚可 半年後的我終於有能力回答我自己沒水準的問題 由於資料集非常大的緣故,在 batch size 比較大的情況下梯度較於平緩.local minimum 實際上已經是乙個很不錯的 solution 了.如果要跳出 local minimum,可以使用 sin 形狀的 learning rate ...