可以通過直接減少hidden layer hidden unit而不是加正則化來解決神經網路過擬合嗎?

時間 2021-05-12 03:47:51

1樓:理查德帕克

可以是可以,但是是以犧牲模型的能力為代價,這個應該還是bias-variance trade-off的問題,如果資料簡單(維度低或者分布比較簡單),資料量小的情況下理應使用較少的隱藏層和較少的啟用單元,當然你也可以選擇深度網路,但是這樣你花在正則化上的代價就會更大,如果是複雜的資料,首先應該保證模型具有足夠的學習能力,然後再考慮正則化,選擇什麼樣的架構應該根據學習曲線去調整和決定。

2樓:

答案是肯定的。

CS224d: Deep Learning for Natural Language Processing該課程的課件lecture6中講述了克服overfit的一些方法,現摘錄如下:

1. 降低模型複雜度:通過縮減單元數和隱藏層數或者其他引數2. L1和L2正則化

3. early stopping:比如決策樹中當模型訓練達到一定程度時就提前終止;

4. 增加稀疏性限制條件

5. drop out

3樓:

可以。但會帶來新的問題:

1)難以訓練,很難收斂到好的結果(然而網路表達能力尚可)2)網路表達能力過低,導致欠擬合

遺憾的是有時候這二者的表現會比較類似,loss保持在乙個比較高的水準,你甚至無法區分這二者。

一般我設計網路會傾向於使用表達能力比較強的網路,初步訓練後(train),根據測試結果(val),通過新增正則項, 調整網路規模等方法對網路進行修改。能用正則化手段解決的話,就不去調整網路規模。

4樓:陳俊文

理論上一層hidden layer可以表示各種function,但不這麼做的原因是這樣用到的神經元個數太多了。使用多層的hidden layer可以使引數指數下降。

5樓:張大帥

減少隱層其實也算正則。

最根本的是,每一種正則都其實對應著一種先驗,比如L2其實對應著高斯先驗。不同的正則手段,對應的先驗是不同的。乙個函式太複雜,可能是不需要那麼多引數,引數太多導致的,也可能是不需要那麼高的次數,也可能是不夠平滑。

並不是說變簡單就只有一種手段,所以會有多種手段。

6樓:

從模型選擇的角度來說一下自己的理解。

理論上說,不斷增加寬度和深度可以一直提公升performance,直到引數太多以至於出現明顯的過擬合。增加深度的成本更高,因為會讓訓練變得越來越困難,增加寬度成本相對較低。更寬的網路一般比擁有相同引數個數的更窄的網路(層數更多)表現接近或者更好,在這個基礎上,寬度增加還可以訓練出合理的網路,但深度增加的話很可能訓練不了。

參考: Zagoruyko, S., & Komodakis, N.

(2016). Wide residual networks. arXiv preprint arXiv:

1605.07146.

有一些工作做模型結構的自動選擇。

從寬度入手的比如node pruning,去掉一些在選定的測度下「沒用」的節點

He, T., Fan, Y., Qian, Y.

, Tan, T., & Yu, K. (2014, May).

Reshaping deep neural network for fast decoding by node-pruning. In Acoustics, Speech and Signal Processing (ICASSP), 2014 IEEE International Conference on (pp. 245-249).

IEEE.

Ochiai, T., Matsuda, S., Watanabe, H.

, & Katagiri, S. (2016). Automatic Node Selection for Deep Neural Networks using Group Lasso Regularization.

arXiv preprint arXiv:1611.05527.

從深度入手的比如做inference時候在到達訓練網路的輸出層之前就退出

Teerapittayanon, S., McDanel, B., & Kung, H.

(2016). Branchynet: Fast inference via early exiting from deep neural networks.

ICPR.

從引數稀疏性入手的比如network pruning,l1 regularizer

Han, S., Mao, H., & Dally, W.

J. (2015). Deep compression:

Compressing deep neural networks with pruning, trained quantization and huffman coding. arXiv preprint arXiv:1510.

00149.

題主的意思可能是在訓練開始之前就選擇乙個比較窄比較淺的網路,但是這樣做很難保證選到最優的網路結構,還是要做很多的grid search,模型的層數比較好選擇,但模型寬度就比較難選了因為range可以很大。所以一般的做法還是根據資料和任務,比如輸入和輸出維度,選擇幾種相對較大的網路結構,比如4-6個hidden layer, 1024,2046,4096個nodes per layer,。模型自動選擇方法還可以達到減小模型capacity的效果,對模型加速模型壓縮等都有幫助。

7樓:

當然可以。

不過減少hidden layer,hidden unit其實就是在降低模型的表示能力。降得太多的話,過擬合倒是避免了,只是就變成欠擬合了。

8樓:王贇 Maigo

隨著網路規模(層數、神經元數)增加,模型的擬合能力會增強,這裡面會有一部分能力是你需要的,還有一部分能力是有害的、容易造成過擬合的。

單純控制網路規模,會同時抑制擬合能力中有利和有害的部分。而正則化、dropout 等手段,則是設法抑制有害的部分而盡量不影響有利的部分,跟控制網路規模是互補的。

當然,對於具體問題,哪種方法最有效,還是要靠試。

vivado可以通過約束直接使用已有的二路選通器嗎?

賈浩 vivado裡的language templates裡有MUX的原語,可能會對你有幫助。但感覺不用糾結這些,功能實現就好。 十三年 我們可以去看xilink FPGA的基本邏輯結構,再來回答這個問題。首先是LUT,下圖中有個MUX選擇,但是它是LUT內部的,用兩個LUT5實現LUT6,輸入都是...

偷東西被判刑可以通過賠錢直接釋放嗎?

小孩子楊 對於這個問題,分析起來可能比較複雜,我以自己的經驗與見識試著分析一下 首先,明確一點,案件的性質是刑事案件,治安案件的放在最後再說。案件中,如果是多人作案的,分清是否是主犯或者從犯,或者是教唆犯與脅從犯 1 如果是主犯的 定義是組織 領導犯罪集團進行犯罪活動的或者在共同犯罪中起主要作用的 ...

Python中既然可以直接通過父類名呼叫父類方法為什麼還會存在super函式?

拾人牙慧 不要一說到 super 就想到父類,super 指的是 MRO Method Resolution Order,它代表了類繼承的順序 中的下乙個類!def super cls,inst mro inst.class mro return mro mro.index cls 1 它的設計目的...