深度神經網路的訓練樣本個數多少合適,有沒有經驗值或理論上的分析?

時間 2021-06-03 17:22:22

1樓:

首先,這是個很好的問題,因為訓練資料的數量是乙個必須考慮的問題,其次,這不是個新問題,其實在經典的訊號處理領域,特別是統計建模中就經常有人提到樣本數量問題,比如做形狀的統計分析,那麼必然要考慮需要多少形狀樣本來構建具有代表性的統計模型。

從深度學習系統看,最本質需要考察的是多少樣本可以有效覆蓋問題空間,在這個前提下,才能考慮樣本數量對網路訓練的影響,否則如果樣本少到不足以覆蓋整個問題空間,那麼系統出現資訊缺失, 此時考慮網路效能意義就失去了。比如如果你僅有乙個資料來訓練網路,那麼系統即使擬合的很好,依然無法泛化到問題空間。

如果樣本資料足夠有代表性,可以較好擬合問題資料的分布,然後我們可以考慮樣本數目和網路模型體積的關係。網路結構和配置作為目標問題的乙個表示,其效能會受到網路結構和訓練資料的雙重影響。所謂足夠的訓練資料,其實就是取樣可以以足夠精度擬合輸入資料分布以及輸出空間的分布,這一點顯然是嚴重依賴於問題資料和系統效能要求的,簡單說,依賴於問題本身複雜度,不會有統一的答案。

在滿足上述條件的前提下,才能考察訓練資料和模型的匹配與互動問題。如果網路複雜度足夠覆蓋問題的解,訓練資料足夠體現問題空間的各種分布,那麼問題就變成輸入樣本的區分度是否和網路可以提供的區分度匹配的問題,或者說網路要對不同的樣本資訊在網路中的資訊執行模式有區分,如果網路結構合理,網路提供的區分度和訓練資料的區分度應該大致相當的。

最後,樣本應該是多多益善,合適的數量就是樣本訓練構造的網路的區分度達到問題要求的時候,就是合適的訓練資料數量。至於從網路結構的複雜度來估計訓練資料數量,很難,因為網路一般是過引數化的且具有相當的隨意性,在網路配置訓練確立以前,甚至網路的複雜度都是不容易定義的,至少只看權重的某個範數是不合適的。

2樓:數學愛好者

有的。這屬於theoretical machine learning。不過目前還不是特別成熟,只能分析些簡單的網路。

一般是當n>f(A, B, C, ...)時,有大概率(whp,或者說有大於1-delta的概率)得到某個performance。

「深度學習」和「多層神經網路」的區別

資本西側 深度學習是在神經網路基礎上發展出來的一種演算法,主要優勢能夠通過feature learning選擇初始特徵,這解決了一般神經網路容易陷入區域性最優解的難題。此外,深度學習訓練多層網路的速度更快。更多關於深度學習和神經網路的區別,推薦這個博主的回答 帳號登入 水果豆腐 深度學習,主要指深層...

怎麼選取訓練神經網路時的Batch size

嚮往自由 乙個epoch,使用大batch,訓練時間更短 但收斂不一定比小batch好 解析為什麼同乙個epoch,小batch,收斂更快?原因 相同epoch,小batch的梯度迭代更加頻繁,更有可能找到最優解。因此,不是batch越大越好 做自己 我覺得和隨機性大小有關,批梯度下降本身屬於隨機優...

怎樣克服神經網路訓練中argmax的不可導性?

章浩 一句話解釋 正向傳播就和往常一樣,反向傳播時,將梯度從不可導那個點copy到不可導點的前面的最近乙個可導點。請看紅線右端點的梯度,跳過中間的字典模組,直達紅線的左端點 問題來了 1 梯度鏈條怎麼隔斷不讓他經過字典模組?pytorch有個 detach 可以隔斷梯度,梯度就不會進入不可導區域引發...