摘要:分享一下組會的講稿?,F(xiàn)在的應用主要在于和語言以及圖像的分類和回歸。而卻由的命名可以看到的核心思想是做。這源自于在年提出的的思想。如下圖其作為一種而廣為使用。這是因為的比較少,一般都是二分類問題,減輕了的傳遞效應。
分享一下組會的講稿。
1.簡要介紹
Why dsn
話說 dnn 已經(jīng)比較好用了,各種包也很多了,那為什么還要用 dsn 呢?
很大一個原因是因為 dnn 在 fine tuning phase 用的是 stochastic gradient descent, 對其做 parallelize across machines 比較困難。
而 dsn 卻 attacks the learning Scalability problem
Central Idea - Stacking
由 dsn 的命名可以看到 dsn 的核心思想是做 stacking。這源自于 Wolpert 在1992年提出的 stacked generalization 的思想。
如下圖
Level-0 models are based on different learning models and use original data (level-0 data)
Level-1 models are based on results of level-0 models (level-1 data are outputs of level-0 models) -- also called “generalizer”
其作為一種 ensemble method 而廣為使用。
Central Idea - DCN VS DSN
比較有意思的是dsn最初提出名字是叫做dcn的,也就是Deep Convex Network
Deng 老師的解釋是這樣的:兩個名字強調的地方不同
Deep Convex Network------accentuates the role of convex optimization
Deep Stacking Network----the key operation of stacking is emphasized
2.算法細節(jié)
在算法細節(jié)沒有太多公式推導,一方面是因為公式實在比較簡單,另一方面則是想講工程中實踐更看重的東西,比如超參數(shù)的選擇,weight初始化之類的。
主要為下面這些部分input output, W&U, fine-tuning, hyper-parameter, regularization, over-fitting
Input
對于 dsn 結構來說是如下圖紅圈圈出來的地方
主要的輸入以 image speech 以及 Semantic utterance classification 這三個方面的應用為例說明。
對于有些時候我們不需要做 feature selection 的情況:
對
于 Image 來說可以是 a number of pixels or extracted features,或者是 values based
at least in part upon intensity values, RGB values (or the like
corresponding to the respective pixels)
對Speech來說可以是samples of speech
waveform或者是the extracted features from speech waveforms(such as power
spectra or cepstral coefficients)
Note the use of speech waveform as the raw features to a speech recognizer isnot a crazy idea
對于有些情況我們需要做feature selection:
比如說如下
對于 Acoustic models 其具有 9 standard MFCC features 和 millions of frames as training samples 當然就不需要做 feature selection
而 Semantic utterance classification 有 as many as 125,000 unique trigrams as potential features
卻只有 16,000 utterances 這樣形成了一個sparse space,就需要做feature selection
具體來說用什么 feature selection 的算法區(qū)別不大,這里說下用 boosting classifier 的方法
Semantic Classification
-The input feature space is shrunk using the n-grams selected by the Boosting classifier.
-The
weights coming with the decision stump are ignored, only binary
features indicating absence or presence are used.(decision stump, which
is a single node decision tree)
Output
根據(jù)需要解決的問題定義來定
-representative of the values
????????0, 1, 2, 3, and so forth up to
????????9 with a 0-1 coding scheme
-representative of phones,
-HMM states of phones
-context-dependent HMM states of phones.
等等
Learning
先以下圖所示的最底層講述如何 learning
(豆瓣編輯太麻煩 直接帖圖好了)
單層計算便是如此,其實挺簡單的
但是具體計算的時候涉及到很多問題
1.W 怎么初始化
2.超參數(shù)怎么調
3.什么時候需要做 regularization
4.解劇透問題的時候 overfitting 的情況
Setting Weight Matrices W
在前面說了單層的計算方法,對于多層來說計算結構如下
如同整體的結構圖可以看到,把 output 是加入了下一層的 input里面了的。其余計算步驟和單層一樣。
但是對于 W 的初始化其實還是挺有趣的,有如下4種方法:
1.Take the same W from the immediately lower module already adjusted via fine tuning.
2.Take a copy of the RBM that initialized W at bottom module.
3.Use random numbers, making the full W maximally random before fine tuning.
4.Mix the above three choices with various weighting and with randomized order or otherwise.
當然要注意的是the sub-matrix of W corresponding to the output units from the lower modules is always initialized with random numbers.
大
家可能發(fā)現(xiàn)這4種方法差別還挺大的,但是有趣的是 with sufficient efforts put to adjust all other
hyper-parameters, all four strategies above eventually gave similar
classification accuracy。
正所謂調得一手好參數(shù),再爛的結構也不怕。不過對于隨機賦值的策略來說雖然在
classification accuracy 沒有什么損失,但是 it takes many more modules and
fine-tuning iterations than other strategies.
尤其要注意的是對于最底層的那個 module 不能隨機賦值,還是要上 RBM
Fine-tuning
用 batch-mode gradient descent,沒什么好說的,直接帖公式
Regularization
在做圖片和語言的時候不需要做 regularization,在做IR的時候需要做。這是因為 IR 的 output 比較少,一般都是二分類問題,減輕了 stacking 的傳遞效應。
做法為對 U 做 L2 regularization,給 W 加個 data reconstruction error term
Hyper-parameter
算法的超參數(shù)在于隱層選擇多少個神經(jīng)元。
這個是靠把數(shù)據(jù)集分為 train data、 test data 以及 development data 來做實驗的。看著差不多就行了,一般大于 input 幾倍就好。
大體的感覺如下:
相當于是input 784個 feature,hidden 3000,output 10的節(jié)奏。
Over-fitting
最后說下到底要 stacking 幾層的問題。
層數(shù)少了效果差,層數(shù)多了 over fitting。
一般來說是這樣的,如果你的特征選的比較好,參數(shù)初始化比較巧妙,超參數(shù)調的也比較好,那么層數(shù)就需要少一點;如果你上面這些東西都做的不好,那么層數(shù)就需要的多一些。(想象一下極端情況,特征非常巧妙,那一層就夠了)
調層數(shù)也是靠比較 train error 和 test error 來實現(xiàn)。
一般來說,層數(shù)越多 train error 越小,但是多到一定程度的時候 test error 反而會增加,這時候我們就認為出現(xiàn)了 over fitting,把結構的層數(shù)定義在拐點處,如下圖,分別是兩個應用場景,其實用的層數(shù)都不多。
3.總結
其實 dsn 對于大 input 大 output 的分類問題效果挺好的,而且比很多 state of art 的方法做分類略好一點點。最重要的是比 dnn 好調,工程實踐起來方便。
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://systransis.cn/yun/4278.html
摘要:深度學習通過組合低層特征形成更加抽象的高層表示屬性類別或特征,以發(fā)現(xiàn)數(shù)據(jù)的分布式特征表示。深度學習的概念由等人于年提出。但是自年以來,機器學習領域,取得了突破性的進展。 深度學習是機器學習研究中的一個新的領域,其動機在于建立、模擬人腦進行分析學習的神經(jīng)網(wǎng)絡,它模仿人腦的機制來解釋數(shù)據(jù),例如圖像,聲音和文本。深度學習是無監(jiān)督學習的一種。 深度學習的概念源于人工神經(jīng)網(wǎng)絡的研究。含多隱層的多層感知...
摘要:可以參見以下相關閱讀創(chuàng)造更多數(shù)據(jù)上一小節(jié)說到了有了更多數(shù)據(jù),深度學習算法通常會變的更好。 導語我經(jīng)常被問到諸如如何從深度學習模型中得到更好的效果的問題,類似的問題還有:我如何提升準確度如果我的神經(jīng)網(wǎng)絡模型性能不佳,我能夠做什么?對于這些問題,我經(jīng)常這樣回答,我并不知道確切的答案,但是我有很多思路,接著我會列出了我所能想到的所有或許能夠給性能帶來提升的思路。為避免一次次羅列出這樣一個簡單的列表...
摘要:有監(jiān)督學習與無監(jiān)督學習,分類回歸,密度估計聚類,深度學習,,有監(jiān)督學習和無監(jiān)督學習給定一組數(shù)據(jù),為,。由于不需要事先根據(jù)訓練數(shù)據(jù)去聚類器,故屬于無監(jiān)督學習。 Deep Learning是機器學習中一個非常接近AI的領域,其動機在于建立、模擬人腦進行分析學習的神經(jīng)網(wǎng)絡,最近研究了機器學習中一些深度學習的相關知識,本文給出一些很有用的資料和心得。Key Words:有監(jiān)督學習與無監(jiān)督學習,分類...
閱讀 1663·2021-08-13 15:03
閱讀 2096·2019-08-30 15:54
閱讀 3554·2019-08-26 10:30
閱讀 1030·2019-08-26 10:22
閱讀 2756·2019-08-23 14:42
閱讀 1815·2019-08-22 11:16
閱讀 1046·2019-08-21 18:33
閱讀 3172·2019-08-21 17:28