久久中文字幕综合不卡一二区-久久中文字幕综合婷婷-久久专区-久久资源在线-久久资源总站-久久字幕

電話:+86 574 88168918 郵箱:sales@cobinet.cn

首頁-新聞動態-新聞詳情

入門深度學習,但你知道哪些情況下不該使用深度學習嗎?

發布時間:作者:cobinet瀏覽:463次來源:jifang360
CobiNet(寧波)推薦文章:

我知道以深度學習的缺點來開始本文是不合時宜的,但是此前關于深度學習的一大波討論我覺得可以很好的引出我觀點。一切都是從 Jeff Leek 于 Simply Stats 博客 發表的一篇關于在小樣本規模體系中使用深度學習的注意事項文章開始。

 

來源 | hyperparameter.space

簡而言之,Jeff Leek 認為當樣本規模很小的時候(通常在生物領域很常見),參數較小的線性模型甚至比擁有少量分層和隱藏單元的深網表現更好。為了證明自己的觀點,Jeff 展示了一個擁有十個最常見信息特征的簡單線性預測,在嘗試使用僅 80 個樣本的 MNIST 數據組進行 0 和 1 的分類時,它在表現上優于簡單深網。

這引起了 Andrew Beam 注意并寫了一篇文章反駁。文章指出經過適當訓練甚至只經過幾個簡單訓練的深度學習可以打敗簡單線性模型。這個來來回回的辯論發生在越來越多生物信息研究者采用深度學習來解決問題的時候。這到底是炒作還是線性模型真的是我們所需要的?

對于這個問題的答案,我認為和往常一樣,是需要根據情況來決定的。在這篇文章中,我將重心放在機器學習上,解析深度學習不是那么有效或者受到阻礙的的使用案例,尤其是對入門者來說。

▌打破深度學習先入為主的觀念

首先,讓我們來聚焦一些在外行人眼中已經成為半真相的先入之見。這些先入之見有兩個籠統的和一個更有專業性的。他們有點類似于 Andrew Beam 在帖子中指出的 誤解 部分的延伸。

▌深度學習真的可以在小規模體系中使用

深度學習之所以成功是因為他的背后有大數據支持(還記得第一個 Google Brain 項目嗎,他將大量的 YouTube 視頻加入到了深網中),并且宣稱有復雜的算法來處理這些數據。

然而,這個大數據/深度學習也可以被翻譯成截然相反的意思:這個很好用的東西無法被用到很小的規模體系中。如果你只有少數幾個可供添加進神經網絡的樣本,想要適用于高采樣比參數,似乎就感覺要求過高了。然而,只考慮給定問題的樣本大小和維度,無論是監督還是無監督,都是在真空中對數據進行建模,而無需任何上下文。這種情況可能是因為您有與您的問題相關的數據源,或者領域專家可以提供強有力的數據源,或者以非常特殊的方式構建數據(比如使用圖形或圖像進行編碼)。

以上的這些情況,深度學習都可以作為一種解決辦法。例如,你可以編碼較大的,與數據集相關的表達。并在你的問題中使用這些表達。一個關于這個的經典例子便是我們對自然語言進行的處理。你可以在大型詞匯網站比如Wikipedia上學習一個單詞,并將這個單詞用在范圍更小更窄的使用中去。在極端情況下,你可以擁有一套神經網絡共同學習一種表達方式,并在小樣本集中重復使用該表達方式的有效方法。

這種行為被稱作一次學習(one-shot learning),并已經被成功應用于包括計算機視覺(https://arxiv.org/abs/1606.04080)和藥物研發(https://arxiv.org/abs/1611.03199)在內的高維數據的多個領域。

 

用于藥品開發的一次學習網絡,引自 Altae-Tran 等人的論文,ACS Cent. Sci. 2017▲

▌深度學習不適用于所有情況

第二個我常聽到的先入之見是人們對于深度學習的炒作。很多還沒開始嘗試的實踐者希望深網可以給他們帶來神話般的表現提升,只因為它在別的領域有效。另外一些人則因為令人影響深刻的建模,圖像,音樂和語言收到啟發。他們嘗試訓練最新的 GAN 架構而希望成為第一批進入這片領域的人。這些炒作在很多方面其實是真實的。

深度學習在機器學習中已經成為不可否認的力量,并且是所有數據建模者的核心工具。它的普及帶來了諸如 TensorFlow 和 Pytorch 等重要框架,即使在深入學習之外也是非常有用的。從失敗者到超級明星的起源故事激勵了研究人員重新審視其他的方法,如進化策略和強化學習。但這并不是萬能的。

天下沒有免費的午餐,深度學習模型可以非常細微,需要仔細和有時非常昂貴的超參數搜索,調整和測試(詳細內容會在之后的文章中提及)。另一方面,在很多情況下,使用深度學習從實踐的角度來看是沒有意義的,因為更簡單的模型工作得更好

▌深度學習遠不止.fit()這么簡單

另外還有一個深度學習模式的缺失,我認為是因為翻譯自其他機器學習領域導致的。絕大多數深度學習的教程和入門材料將這些模型描述為由分層連接的節點層組成,其中第一層是輸入,最后一層是輸出,并且你可以使用某種形式的隨機梯度下降法來訓練它們。可能經過一些簡短的提及梯度下降是如何運作以及什么是反響傳播,大部分的解釋都集中在神經網絡豐富的多樣性上(卷積,反復等等)。

優化方法本身只收到了一點點額外關注,這是很不幸的,因為他才是深度學習最重要的部分之一。他解釋了深度學習是如何實現的。知道如何優化參數,如何有效地分配數據來使用它們,在合理的時間內獲得良好的結合是至關重要的。這也正是為什么隨機梯度這么關鍵卻仍然有很多人不了解,問題的原因即出自于此。我最喜歡的是執行貝葉斯推理一部分的解釋方法。實質上,每當你做某種形式的數值優化時,你都會用特定的假設和先驗來執行一些貝葉斯推理。實際上,有一個被稱為概率數字的領域,就是基于這個觀點誕生的。

隨機梯度下降是沒有什么不同的,最近的工作表明,該程序實際上是一個馬爾可夫鏈,在某些假設下,具有一個可以看作是后向變分近似的靜態分布。所以當你停止你的 SGD 并獲得最后的參數,你其實是在從這個近似分布中抽樣。我發現這個想法是有啟發性的,因為優化器的參數(在這種情況下,學習率)使得這種方式更有意義。例如,當增加 SGD 的學習參數時,Markov 鏈變得不穩定,直到找到大面積樣本的局部極小值;那是因為你增加了程序的方差。另一方面,如果您減少學習參數,馬爾科夫鏈會緩慢地接近較窄的最小值,直到其收斂于緊密的區域;那是因為您增加了某些部分的偏差。另一個參數,SGD 中的批量大小也可以控制算法收斂的區域是什么類型的區域:較大區域的較小批次和較大批次的較小區域。

SGD 根據學習速度或批量大小而更傾向于寬極小或尖極小▲

這種復雜性意味著深層網絡的優化器成為最重要的部分:它們是模型的核心部分,與層架構一樣重要。這種現象在別的機器學習模型里并不常見。線性模型和 SVMs 的優化并沒有過多的細微差別,并且真的只有一個解決辦法。這就是為什么來自其他領域和/或使用 Scikit 學習的工具的人在他們找不到具有 .fit()方法的非常簡單的 API 時會感到困惑(雖然有一些工具,如Skflow,嘗試將簡單的網絡裝入 .fit() 簽名,但我認為這有點誤導,因為深入學習的關鍵是它的靈活性)。

▌什么時候不應使用深度學習

結合以上的觀點,深度學習不適用于什么樣的任務?依我之見,以下這些主要場景的深度學習弊大于利。

低成本或者低承諾問題

深網是非常靈活的模型,有著許多架構和節點類型,優化器和正則化策略。根據應用,你的模型可能會有卷基層(有多寬?使用什么匯集操作?)或者反復結構(有沒有門?);他也有可能很深(沙漏,暹羅或其他許多架構?)又或者只是幾個隱藏的層(有多少個單元?); 它可能使用整流線性單元或其他激活功能;它可能或可能沒有流失dropout(在哪一層?哪一塊?)占比應該是恰當的(l1,l2,或者是某些東西)。這只是一個部分列表,有很多其他類型的節點,連接,甚至丟失的功能等著我們嘗試。

這些是調整和架構探索的很多超參數,當訓練大型網絡的一個實例時可能非常耗時。谷歌最近吹噓自己的 AutoML 管道可以自動找到最好的架構,這是非常令人印象深刻的,但仍然需要超過 800 個 GPU,全天候工作數周,這對正常人來說是很難實現的。問題的關鍵在于訓練深網需要大量的成本用于計算和調試。這種費用對于許多日常預測問題并沒有意義,即使調整小型網絡,調整網絡的投資回報率也可能太低。即使有足夠的預算和承諾,也沒有理由不嘗試基準替代方法。您可能會驚喜地發現,線性SVM真的是您需要的。

解釋和傳達模型參數對一般觀眾的重要性

深網另一個令人詬病的原因是其徒有高預測能力卻很難解釋清楚。盡管最近有很多工具,如 Saliency 地圖和 Activation Differences(https://arxiv.org/abs/1704.02685),對某些領域而言是非常有用的,但它們并不會完全轉移到所有應用程序上。

這主要是因為,當您想要確保網絡不會通過記住數據集或專注于特定的虛假特征來欺騙您時,這些工具就能很好地工作,但是對于深層網絡的整體決策來說,仍然難以將每個特征的重要性進行解釋。在這個情況下,沒有什么是可以真正的打敗線性模型的,因為學習的難度與客戶反應有直接的關系。當將這些解釋傳達給需要根據它們作出決定的一般觀眾時,這尤其重要。

舉個例子,醫生需要根據不同的數據來作出診斷,變量和結果之間的關系更簡單更直接,醫生則能更好的利用它,而不是低估/高估其價值。此外,有些情況下,模型的準確性(通常是深度學習所擅長的)并不像解釋性那樣重要。比如,決策者可能想知道人口變量對死亡率的影響,可能會對直接近似關系感興趣,而不是預測的準確性。從以上兩個例子,不難看出與更簡單,更加滲透的方法相比,深度學習處于不利地位。

建立因果機制

模型解釋的極端情況是當我們試圖建立一個機械的模型,即一個實際捕獲數據背后的現象的模型。好的例子包括試圖猜測兩個分子(例如藥物,蛋白質,核酸等)是否在特定的細胞環境中相互作用,或者假設特定的營銷策略如何對銷售產生實際的影響。在這個領域沒有什么能真正的擊敗專家的老式貝葉斯方法(可能不完美);他們是我們表達和推斷因果關系的最好方法。Vicarious最近有一些很好的研究證明了為什么更有原則的手段比游戲任務中的深度學習更好。

從 非結構化 功能中學習

這一條可能有待爭論。我發現深入學習擅長的一個領域是為特定任務找到有用的數據表示。一個很好的例子是上述的詞語嵌入。自然語言具有豐富而復雜的結構,可以通過 上下文感知 來學習,每個單詞都可以用向量來表示并編碼程其最常用的內容。為了NLP任務在大型語料庫中學習使用單詞嵌入有時可以在另一個語料庫的特定任務中提升效果。

然而,如果所討論的語料庫是完全非結構化的,則可能沒有任何用處。例如,假設您正在查看非結構化的關鍵字列表來對對象進行分類。由于關鍵字不是在任何特定的結構中使用(如在一個句子中),所以字嵌入不太可能有幫助。在這種情況下,數據是真正的一個單詞,這種表示可能足以滿足任務。與此相反的是,如果您預培訓深度學習的話,并且可以更好地捕獲關鍵字相似度,那么字嵌入的代價并不高。不過,我還是寧愿從一個詞包的表示開始,看看能否得到很好的預測。畢竟,這個詞包的每個維度都比對應的字嵌入槽更容易解讀。

▌前路漫漫

深度學習領域現在很熱門,資金充足,并且正在快速發展。當你閱讀在會議上發表的論文的時候,它很可能又經歷了兩三次迭代并且已經不推薦了。這給我以上提出的觀點相符:深度學習在不久的將來可能對這些情景來說是非常有用的。用于解釋圖像和離散序列的深度學習模型的工具越來越好。

最近的軟件,如融合了貝葉斯建模的 Edward 深層框架,允許量化神經網絡參數的不確定性和容易的貝葉斯推理通過概率進行編程和自動變分推理。從長遠來看,可能會有一個減少的建模詞匯表,它會揭露深層網絡可以具有的顯著屬性,從而減少需要嘗試的東西的參數空間。因此,繼續刷新你的 arXiv 吧,也許這篇文章在一兩個月后就過時了。

Edward 與 TensorFlow 結合概率規劃,支持深度學習和貝葉斯模型,摘自 Tran 等人的 ICLR 2017 論文

原文:

 

文章編輯:CobiNet(寧波)  
本公司專注于電訊配件,銅纜綜合布線系列領域產品研發生產超五類,六類,七類線,屏蔽模塊,配線架及相關模塊配件的研發和生產。

歡迎來電咨詢0574 88168918,郵箱sales@cobinet.cn,網址www.54hr.com.cn

相關新聞

 

?2016-2019寧波科博通信技術有限公司版權所有浙ICP備16026074號

主站蜘蛛池模板: 国产精品999| 欧美另类色| 一级毛片视频播放| 波多野结衣av1区2区3区| 国产资源一区| 久久久久四虎国产精品| 欧美视频三区| 香蕉97超级碰碰碰碰碰久| 在线精品一区二区三区| 国产精品久久久久久久久久久不卡| 久青草影院在线观看国产| 人人做人人性| 亚洲国产大片| 69网站在线观看| 国产精品第1页在线播放| 精品久久久视频| 欧美aaa大片| 色人阁在线| 羞羞网站在线免费观看| 22222se男人的天堂| 大美女久久久久久j久久| 国产一级毛片在线| 久久国产亚洲观看| 欧美网色| 日本一级一片免费| 亚洲成人精品在线| 中文字幕在线亚洲| 国产精品成人观看视频免费 | 在线欧美亚洲| 国产成人精品s8p视频| 九九热精品在线视频| 欧美精品成人久久网站| 日本中文在线播放| 四虎海外影院| 亚洲综合专区| h片在线| 国产在线不卡视频| 久久99国产综合精品| 欧美日韩顶级毛片www免费看| 天天爽天天狼久久久综合| 亚洲九九视频|