CNN和RNN風行之後,DBN SAE pre train在deep learning中還有意義嗎?

時間 2021-05-05 18:23:53

1樓:wuyukun888

個人感覺在處理普通資料集上還是有用的,CNN,RNN等處理的資料集都是影象或者時序資料之類的,若處理其他資料集,用深度神經網路模型的話,DBN,DAE應該還是有用的

2樓:David 9

這篇部落格不錯, 可以參考:

Pycon 2016 tensorflow 研討會總結 -- tensorflow 手把手入門 #第一講

還有第二講:

Pycon 2016 tensorflow 研討會總結 -- tensorflow 手把手入門, 用"人話"解釋CNN #第三講 CNN

3樓:何新

很多人忽略了深度學習的應用場合除了有大量標籤的場合之外,還有很多沒有那麼多標籤的場合,例如感測器訊號的識別。這些任務中標籤獲取可能比較困難,因此為了避免過擬合,預訓練還是有用的。不過有些場合的訊號也不是很複雜,因此深度學習的優勢可能也沒那麼明顯,比如我做的專案,用SAE訓練三個隱層就夠了。

4樓:

lecunn和bengio的研究表明,在high-D(高維)的情況下,區域性最小會隨著維度的增加,指數型的減少,在深度學習中,乙個點是區域性最小的概率非常小,同時鞍點無處不在。

簡單的說

對於大規模的深度模型來說,可以認為不存在區域性最優(概率非常低)對於大規模的深度模型來說,鞍點無處不在

Yoshua Bengio等大神傳授:26條深度學習經驗-CSDN.NET

5樓:KevinSun

其實我一直在做如何高效pre-train的工作,我個人認為pre-train還是效果很大。也有一些結論。我一直在autoencoder上做的對比試驗。

pretrain的效果主要還是用於初始化引數,因為mlp中太多local minima。可能如果有方法避免local minima,pretrain就不需要了,結果照樣好。如有興趣在深入說!

6樓:祥子

很久以前有過用非監督方式預訓練CNN的工作,後來沒人用了,普遍反映沒什麼用。現在用大量監督資料直接訓CNN就行。

DBN之流,在理論上還有人在做,但是從效果看好像用處不大。

7樓:

沒用了。

怕監督訊號瀰散掉的話,在中間的某幾層再加個就好了。

如果還覺得不靠譜,可以加入Batch Normalization,用這個可以徹底解決梯度瀰散問題,多少層都行。

8樓:賣糰子的小喵吉

CNN其實有用到dbn的逐層訓練方式,當然,預訓練的方式多種多樣,各有所長而已。RNN不是很了解,但是知道一種基於能量的rnn訓練方式,沒有用到dbn這樣的預訓練。

其實dbn這種採取逐層預訓練,本質上來說是不合理的,因為找到的都是區域性最優,但是偏偏這種預訓練的結果不錯,而且成本相對較低。

至於淘汰,這個個人感覺不會,雖然dbn其實是乙個折中的模型,但畢竟還是有很多可取之處,看看為何svm沒有淘汰其他分類器就知道了,爪機碼字惱火

CNN(卷積神經網路) RNN(迴圈神經網路) DNN(深度神經網路)的內部網路結構有什麼區別?

可可噠 寫一點個人理解吧。CNN 它是以 層 layer 為單位的,每一層的結構可以完全不一樣。常見的CNN層有卷積層 池化層 softmax層 池化層 這些基礎層之上還有諸如ResNet的遠連線,GoogLeNet的Inception層,用來實現一些特定的功能 深層網路 多尺度特徵提取等 RNN ...

RNN中的batch major和time major有什麼區別?

大健美 以文字序列為例,首先可以認為batch size為n的batch是由n個句子序列組成的 當以batch的形式訓練時,輸入時是將每乙個句子序列的第乙個wordid 即n個第乙個單詞合起來輸入。因此batch majord的資料輸入網路時需要現將資料轉化為time major形式的,具體表示如下...

自編碼網路,CNN中卷積層之後加入dropout,測試時,重構影象為什麼變得魔幻?

dropout處理是乙個隨機丟失權重連線的過程,原本是為了防止過擬合,但是丟失的那部分在訓練不夠的情況下細節上就會明顯發生特徵不足,顯示比較模糊 已重置 第一,我覺得要告訴我們訓練影象都是什麼樣的,都是類似例子中的影象麼?第二,在訓練的時候應該是能夠比較好的復原影象的吧?第三,訓練的dropout是...