深度學(xué)習(xí)領(lǐng)域有哪些瓶頸?
作者:mileistone來源:https://www.zhihu.com/question/40577663/answer/309571753
因?yàn)槲覍τ?jì)算機(jī)視覺比較熟,就從計(jì)算機(jī)視覺的角度說一下自己對深度學(xué)習(xí)瓶頸的看法。
一、深度學(xué)習(xí)缺乏理論支撐
大多數(shù)文章的idea都是靠直覺提出來的,背后的很少有理論支撐。通過實(shí)驗(yàn)驗(yàn)證有效的idea,不一定是最優(yōu)方向。就如同最優(yōu)化問題中的sgd一樣,每一個(gè)step都是最優(yōu),但從全局來看,卻不是最優(yōu)。
沒有理論支撐的話,計(jì)算機(jī)視覺領(lǐng)域的進(jìn)步就如同sgd一樣,雖然有效,但是緩慢;如果有了理論支撐,計(jì)算機(jī)視覺領(lǐng)域的進(jìn)步就會像牛頓法一樣,有效且迅猛。
CNN模型本身有很多超參數(shù),比如設(shè)置幾層,每一層設(shè)置幾個(gè)filter,每個(gè)filter是depth wise還是point wise,還是普通conv,filter的kernel size設(shè)置多大等等。
這些超參數(shù)的組合是一個(gè)很大的數(shù)字,如果只靠實(shí)驗(yàn)來驗(yàn)證,幾乎是不可能完成的。最后只能憑直覺試其中一部分組合,因此現(xiàn)在的CNN模型只能說效果很好,但是絕對還沒達(dá)到最優(yōu),無論是效果還是效率。
以效率舉例,現(xiàn)在resnet效果很好,但是計(jì)算量太大了,效率不高。然而可以肯定的是resnet的效率可以提高,因?yàn)閞esnet里面肯定有冗余的參數(shù)和冗余的計(jì)算,只要我們找到這些冗余的部分,并將其去掉,效率自然提高了。一個(gè)最簡單而且大多人會用的方法就是減小各層channel的數(shù)目。
如果一套理論可以估算模型的capacity,一個(gè)任務(wù)所需要模型的capacity。那我們面對一個(gè)任務(wù)的時(shí)候,使用capacity與之匹配的模型,就能使得效果好,效率優(yōu)。
二、領(lǐng)域內(nèi)越來越工程師化思維
因?yàn)樯疃葘W(xué)習(xí)本身缺乏理論,深度學(xué)習(xí)理論是一塊難啃的骨頭,深度學(xué)習(xí)框架越來越傻瓜化,各種模型網(wǎng)上都有開源實(shí)現(xiàn),現(xiàn)在業(yè)內(nèi)很多人都是把深度學(xué)習(xí)當(dāng)樂高用。
面對一個(gè)任務(wù),把當(dāng)前最好的幾個(gè)模型的開源實(shí)現(xiàn)git clone下來,看看這些模型的積木搭建說明書(也就是論文),思考一下哪塊積木可以改一改,積木的順序是否能調(diào)換一樣,加幾個(gè)積木能不能讓效果更好,減幾個(gè)積木能不能讓效率更高等等。
思考了之后,實(shí)驗(yàn)跑起來,實(shí)驗(yàn)效果不錯(cuò),文章發(fā)起來,實(shí)驗(yàn)效果不如預(yù)期,重新折騰一遍。
這整個(gè)過程非常的工程師化思維,基本就是憑感覺trial and error,深度思考缺位。很少有人去從理論的角度思考模型出了什么問題,針對這個(gè)問題,模型應(yīng)該做哪些改進(jìn)。
舉一個(gè)極端的例子,一個(gè)數(shù)據(jù)實(shí)際上是一次函數(shù),但是我們卻總二次函數(shù)去擬合,發(fā)現(xiàn)擬合結(jié)果不好,再用三次函數(shù)擬合,三次不行,四次,再不行,就放棄。我們很少思考,這個(gè)數(shù)據(jù)是啥分布,針對這樣的分布,有沒有函數(shù)能擬合它,如果有,哪個(gè)函數(shù)最合適。
深度學(xué)習(xí)本應(yīng)該是一門科學(xué),需要用科學(xué)的思維去面對她,這樣才能得到更好的結(jié)果。
三、對抗樣本是深度學(xué)習(xí)的問題,但不是深度學(xué)習(xí)的瓶頸
我認(rèn)為對抗樣本雖然是深度學(xué)習(xí)的問題,但并不是深度學(xué)習(xí)的瓶頸。機(jī)器學(xué)習(xí)中也有對抗樣本,機(jī)器學(xué)習(xí)相比深度學(xué)習(xí)有著更多的理論支撐,依然沒能把對抗樣本的問題解決。
之所以我們覺得對抗樣本是深度學(xué)習(xí)的瓶頸是因?yàn)?,圖像很直觀,當(dāng)我們看到兩張幾乎一樣的圖片,最后深度學(xué)習(xí)模型給出兩種完全不一樣的分類結(jié)果,這給我們的沖擊很大。
如果修改一個(gè)原本類別是A的feature中某個(gè)元素的值,然后使得svm的分類改變?yōu)锽,我們會覺得不以為然,“你改變了這個(gè)feature中某個(gè)元素的值,它的分類結(jié)果改變很正常啊”。
作者:PENG Bo
https://www.zhihu.com/question/40577663/answer/413331053
個(gè)人認(rèn)為,當(dāng)前深度學(xué)習(xí)的瓶頸,可能在于 scaling。是的,你沒有聽錯(cuò)。
我們已經(jīng)有海量的數(shù)據(jù),海量的算力,但我們卻難以訓(xùn)練大型的深度網(wǎng)絡(luò)模型(GB 到 TB 級別的模型),因?yàn)?BP 難以大規(guī)模并行化。數(shù)據(jù)并行不夠,用模型并行后加速比就會大打折扣。即使在加入諸多改進(jìn)后,訓(xùn)練過程對帶寬的要求仍然太高。
這就是為什么 nVidia 的 DGX-2 只有 16 塊 V100,但就是要賣到 250 萬。因?yàn)殡m然用少得多的錢就可以湊出相同的總算力,但很難搭出能高效運(yùn)用如此多張顯卡的機(jī)器。
而且 DGX-2 內(nèi)部的 GPU 也沒有完全互聯(lián):
又例如 AlphaGo Zero 的訓(xùn)練,實(shí)際用于訓(xùn)練的只是很少的 TPU。即使有幾千幾萬張 TPU,也并沒有辦法將他們高效地用于訓(xùn)練網(wǎng)絡(luò)。
如果什么時(shí)候深度學(xué)習(xí)可以無腦堆機(jī)器就能不斷提高訓(xùn)練速度(就像挖礦可以堆礦機(jī)),從而可以用超大規(guī)模的多任務(wù)網(wǎng)絡(luò),學(xué)會 PB EB 級別的各類數(shù)據(jù),那么所能實(shí)現(xiàn)的效果很可能會是令人驚訝的。
那么我們看現(xiàn)在的帶寬:
https://en.wikipedia.org/wiki/List_of_interface_bit_rates
2011年出了PCI-E 3.0 x16,是 15.75 GB/s,現(xiàn)在消費(fèi)級電腦還是這水平,4.0還是沒出來,不過可能是因?yàn)榇蠹覜]動力(游戲?qū)捯鬀]那么高)。
NVLink 2.0是 150 GB/s,對于大型并行化還是完全不夠的。
大家可能會說,帶寬會慢慢提上來的。
很好,那么,這就來到了最奇怪的問題,我想這個(gè)問題值得思考:
我的想法是:
- 人腦的并行化做得太好了,因此神經(jīng)元之間只需要kB級的帶寬。值得AI芯片和算法研究者學(xué)習(xí)。
- 人腦的學(xué)習(xí)方法比BP粗糙得多,所以才能這樣大規(guī)模并行化。
- 人腦的學(xué)習(xí)方法是去中心化的,個(gè)人認(rèn)為,更接近 energy-based 的方法。
- 人腦的其它特點(diǎn),用現(xiàn)在的遷移學(xué)習(xí)+多任務(wù)學(xué)習(xí)+持續(xù)學(xué)習(xí)已經(jīng)可以模仿。
- 人腦還會用語言輔助思考。如果沒有語言,人腦也很難快速學(xué)會復(fù)雜的事情。
作者:Giant
https://www.zhihu.com/question/40577663/answer/1974793135
我的研究領(lǐng)域主要是自然語言處理(NLP),下面從NLP角度,結(jié)合自己的科研和工作經(jīng)驗(yàn)概括深度學(xué)習(xí)欣欣向榮、令人心馳神往背后的8個(gè)典型瓶頸。
眾所周知,無論是傳統(tǒng)的分類、匹配、序列標(biāo)注、文本生成任務(wù),還是近期的圖像理解、音頻情感分析、Text2SQL等跨模態(tài)任務(wù),凡是采用深度學(xué)習(xí)模型的地方都對標(biāo)注數(shù)據(jù)有很高的依賴。
這也是為什么前期數(shù)據(jù)不足或冷啟動階段,深度學(xué)習(xí)模型效果差強(qiáng)人意的地方。相比人類而言,模型在學(xué)習(xí)新事物時(shí)需要更多的事例。
雖然近期有了一些 low-resource 甚至 zero-resource 工作(例如對話生成的兩篇論文[1-2]),總體來說這些方法僅適用于某些特定領(lǐng)域,難以直接推廣。
緊接上一話題,當(dāng)我們通過標(biāo)注團(tuán)隊(duì)或眾包經(jīng)長時(shí)間迭代獲得了大規(guī)模標(biāo)注數(shù)據(jù),訓(xùn)好了模型,可是換了一個(gè)業(yè)務(wù)場景時(shí),模型效果又一落千丈。
或者模型僅在論文數(shù)據(jù)集上表現(xiàn)良好,在其余數(shù)據(jù)中無法復(fù)現(xiàn)類似效果。這些都是非常常見的問題。
提升模型的遷移能力是深度學(xué)習(xí)非常有價(jià)值的課題,可以大幅減少數(shù)據(jù)標(biāo)注帶來的成本。好比我一個(gè)同學(xué)玩跑跑卡丁車很老練,現(xiàn)在新出了QQ飛車手游,他開兩局就能觸類旁通,輕松上星耀和車神,而不需要從最原始的漂移練起。
雖然NLP預(yù)訓(xùn)練+微調(diào)的方式緩解了這一問題,但深度學(xué)習(xí)可遷移性還有待進(jìn)一步增強(qiáng)。
雖然近兩年NLP領(lǐng)域頻現(xiàn)效果驚人的巨無霸模型,卻讓普通科研人員望而卻步。先不考慮預(yù)訓(xùn)練的數(shù)萬(BERT->1.2w$, GPT2->4.3w$)乃至上百萬美金成本,僅使用預(yù)訓(xùn)練權(quán)重就對GPU等硬件有很高的要求。
因?yàn)榇竽P偷膮?shù)量在呈指數(shù)增長趨勢:BERT(1.1億)、T5(110億)、GPT3(1500億)、盤古(2000億)...開發(fā)高性能小模型是深度學(xué)習(xí)另一個(gè)很有價(jià)值的方向。
慶幸的是,在NLP領(lǐng)域已經(jīng)有了一些不錯(cuò)的輕量化工作,例如TinyBERT[3],F(xiàn)astBERT[4]等。
如題主所述,當(dāng)前深度學(xué)習(xí)對人類情感的理解還停留在淺層語義層面,不具備良好的推理能力,無法真正理解用戶訴求。另一方面,如何有效地將常識或背景知識融入模型訓(xùn)練,也是深度學(xué)習(xí)需要克服的瓶頸之一。
將來的某天,深度學(xué)習(xí)模型除了能寫詩、解方程、下圍棋,還能回答家長里短的常識性問題,才真正算是擁有了“智能”。
雖然NLP有很多子領(lǐng)域,但是目前發(fā)展最好的方向依舊只有分類、匹配、翻譯、搜索幾種,大部分任務(wù)的應(yīng)用場景依然受限。
例如閑聊機(jī)器人一般作為問答系統(tǒng)的兜底模塊,在FAQ或意圖模塊沒有命中用戶提問時(shí)回復(fù)一個(gè)標(biāo)準(zhǔn)擬人話術(shù)。但如果在開放域直接應(yīng)用閑聊機(jī)器人,很容易從人工智能拐向人工智障,讓用戶反感。
深度學(xué)習(xí)領(lǐng)域超參數(shù)眾多,盡管目前也有一些自動化調(diào)參工具如微軟的nni[5],但整體還依賴于算法工程師的個(gè)人經(jīng)驗(yàn);由于訓(xùn)練時(shí)間長,參數(shù)驗(yàn)證過程需要很高的時(shí)間成本。
此外,AutoML仍舊需要大規(guī)模計(jì)算力才能快速出結(jié)果,因此也需要關(guān)注增大運(yùn)算規(guī)模。
把某個(gè)知名比賽刷到SOTA,然后發(fā)一篇頂會是很多研究人員的做法(包括曾經(jīng)的我)。一種典型的pipeline是:
- 不惜任何資源代價(jià)把榜單刷到第一;
- 開始反推和解釋這種方法為何如此有效(有點(diǎn)像自圓其說)。
當(dāng)然這里并不是說這種方法不好,只是我們做研究時(shí)不應(yīng)該只以刷榜為唯一目標(biāo)。因?yàn)楹芏鄷r(shí)候?yàn)榱颂嵘?shù)點(diǎn)后那0.XX%的分?jǐn)?shù)真的意義不大,難以對現(xiàn)有的深度學(xué)習(xí)發(fā)展帶來任何益處。
這也解釋了面試官詢問“如何在某比賽中獲得了不錯(cuò)的成績”,聽到“多模集成”等堆模型的方式上分就反感。因?yàn)閷?shí)際場景受限于資源、時(shí)間等因素,一般不會這么干。
最后一點(diǎn)也是該領(lǐng)域的通病,整個(gè)深度學(xué)習(xí)網(wǎng)絡(luò)像是一個(gè)黑盒子,缺少清晰透澈的可解釋性。
比如為什么給大熊貓圖片增加了一點(diǎn)噪聲擾動(相當(dāng)于對抗樣本),被分類為長臂猿的置信度就高達(dá) 99.3%了呢?
對一些模型學(xué)到的特征可視化(CNN、Attention等),或許可以幫助我們理解模型是怎樣學(xué)習(xí)的。此前,機(jī)器學(xué)習(xí)領(lǐng)域也有利用降維技術(shù)(t-SNE等)來理解高維特征分布的方法。
更多深度學(xué)習(xí)可解釋性研究可以參考[6]。
最近,2018圖靈獎(jiǎng)獲得者 Bengio, LeCun 和 Hinton 受ACM邀請共聚一堂,回顧了深度學(xué)習(xí)的基本概念和一些突破性成果,也講述了深度學(xué)習(xí)未來發(fā)展面臨的挑戰(zhàn)。
作者:知乎用戶
https://www.zhihu.com/question/40577663/answer/224699031
看了一些答案,感覺大家說的都很有道理,但是總覺得很多人提到的瓶頸是“機(jī)器學(xué)習(xí)”的瓶頸,而非“深度學(xué)習(xí)”的瓶頸。在下拋磚引玉強(qiáng)答一下。
深度學(xué)習(xí),深是表象,不是目的。Universal approximation theorem 理論證明只需要一個(gè)隱層就可以擬合任意函數(shù),可見重點(diǎn)不在深。深度學(xué)習(xí)與傳統(tǒng)機(jī)器學(xué)習(xí)相比:深度學(xué)習(xí)就是在學(xué)習(xí)表示。也就是說,通過精心設(shè)計(jì)的分層結(jié)構(gòu)學(xué)習(xí)到數(shù)據(jù)的本質(zhì)特征(表示)。
說到瓶頸,深度學(xué)習(xí)也算是機(jī)器學(xué)習(xí)的一種,它也會有機(jī)器學(xué)習(xí)本身的瓶頸。例如對數(shù)據(jù)依賴性很強(qiáng)。是數(shù)據(jù)的“行為智能”而非真的有自主意識的人工智能。這些問題上面的答案都說了不少。
除此之外,它還有一些特有的瓶頸。
- 比如特征結(jié)構(gòu)難以改變。對于數(shù)據(jù)的格式(尺寸、長短、顏色通道、文本詞典格式等等)要求苛刻。訓(xùn)練好的feature extractor不是那么容易遷移到其他task上。
- 它非常的不穩(wěn)定。例如在NLP的任務(wù)中,做文本生成(QA)、圖像標(biāo)注之類的工作時(shí),有時(shí)候生成的內(nèi)容讓你拍案叫絕。但經(jīng)常也會是匪夷所思。所以它的不可控性導(dǎo)致在工程應(yīng)用中不是很廣泛。很多犧牲recall保precision的應(yīng)用都沒法用深度學(xué)習(xí)去搞,否則容易出危險(xiǎn)。相比之下rule based的方法要可靠得多。至少出問題了能debug一下。
- 它難以hotfix,出了問題基本靠重新調(diào)參訓(xùn)練。在應(yīng)用過程中會遇上很多潛在困難。
- 深度模型的優(yōu)化過于依賴個(gè)人經(jīng)驗(yàn)。世界三大玄學(xué):西方占星、東方周易、深度學(xué)習(xí)。
- 模型結(jié)構(gòu)越來越復(fù)雜,不同系統(tǒng)之間越來越難以整合。就好像一直在培養(yǎng)超級士兵,但他們之間語言不通,沒法組成一個(gè)超級軍隊(duì)。
- 敏感信息問題。訓(xùn)練模型使用的數(shù)據(jù)如果沒有脫敏,是有可能通過一些方法把敏感信息給試出來。
- 攻擊問題?,F(xiàn)在已經(jīng)證實(shí)對抗樣本(Adversarial Sample)的存在。創(chuàng)建一些對抗樣本能直接干掉現(xiàn)有的算法。不過感覺對抗樣本的生成是由于特征抽取并沒有學(xué)習(xí)到數(shù)據(jù)的流型特征而引發(fā)的。或者說,一定程度的overfit帶來了這個(gè)問題,
- 不過目前來說最大的問題還是對海量數(shù)據(jù)的需求。由于需要學(xué)習(xí)真實(shí)分布,而我們的數(shù)據(jù)僅僅是從真實(shí)分布中采樣得到的一小部分。想要讓模型真的逼近真實(shí)分布,那就要盡可能多的數(shù)據(jù)。數(shù)據(jù)量需求上來了,問題有很多:數(shù)據(jù)從哪來?數(shù)據(jù)存在哪?如何洗數(shù)據(jù)?誰來標(biāo)數(shù)據(jù)?如何在大量數(shù)據(jù)上訓(xùn)練?如何在成本(設(shè)備、數(shù)據(jù))和效果之間trade off?
- 由第8條擴(kuò)展。需要海量數(shù)據(jù)的深度學(xué)習(xí)真的就是“人工智能”嗎?反正我是不信。人腦可以用有限的知識歸納,而非只是用人為設(shè)計(jì)的指導(dǎo)方針來指揮機(jī)器學(xué)習(xí)到特征空間的分布。所以真正的人工智能,對數(shù)據(jù)和運(yùn)算的需求應(yīng)該并沒有那么大!(這條其實(shí)也是機(jī)器學(xué)習(xí)的問題)
總之還有很多因素限制它的應(yīng)用。但是樂觀來看,有問題不怕,總是能解決的。
作者:匿名用戶
https://www.zhihu.com/question/40577663/answer/311095389
計(jì)算圖越來越復(fù)雜,設(shè)計(jì)越來越反直覺。
Dropout/BN/Residual這些創(chuàng)新也好trick也罷,至少能編一個(gè)有眉有顏的直觀解釋糊弄一下,在截然不同的場景和任務(wù)下也有成功的應(yīng)用。去年這種級別的新的好用的trick基本沒見著。煉丹師的人口越來越龐大,通用性的trick卻沒有被發(fā)掘出來,說明領(lǐng)域已經(jīng)到了一個(gè)瓶頸,好摘的桃子已經(jīng)被摘光了。
結(jié)構(gòu)的潛力已經(jīng)被挖光了么?還是我們沒有找到更具有通用性和代表性的任務(wù)來作為新的trick的溫床?這些都是DL研究需要回答的問題?,F(xiàn)在看起來形式并不樂觀,傳統(tǒng)的DL研究依賴的改幾根線多加幾個(gè)layer,針對一個(gè)特定任務(wù)跑個(gè)分的范式,現(xiàn)在要發(fā)出高質(zhì)量的paper是越來越困難了。
個(gè)人的看法是,如果DL想要真正帶上人工智能的帽子,那就要去做智能改干的事情,現(xiàn)在人為的按照應(yīng)用場景分成NLP/CV/ASR,粗暴的去擬合終究有上限,和人類獲得智能的方式也并沒有共同點(diǎn)。
作者:何之源
https://www.zhihu.com/question/40577663/answer/224656397
簡單說點(diǎn)自己的想法。在我看來,目前絕大多數(shù)深度學(xué)習(xí)模型,不管神經(jīng)網(wǎng)絡(luò)的構(gòu)建如何復(fù)雜,其實(shí)都是在做同樣一件事:
用大量訓(xùn)練數(shù)據(jù)去擬合一個(gè)目標(biāo)函數(shù)y=f(x)。
x和y其實(shí)就是模型的輸入和輸出,例如:
- 圖像分類問題。此時(shí)x一般就是一個(gè)寬度*高度*通道數(shù)的圖像數(shù)值矩陣,y就是分類的類別。
- 語音識別問題。x為語音采樣信號,y為語音對應(yīng)的文字。
- 機(jī)器翻譯。x就是源語言的句子,y就是目標(biāo)語言的句子。
而“f”則代表深度學(xué)習(xí)中的模型,如CNN、RNN、LSTM、Encoder-Decoder、Encoder-Decoder with Attention等。不同于傳統(tǒng)的機(jī)器學(xué)習(xí)模型相比,深度學(xué)習(xí)中的模型通常具有兩個(gè)特點(diǎn):
- 模型容量大,參數(shù)多;
- 端到端(end-to-end)。
借助GPU計(jì)算加速,深度學(xué)習(xí)可以用端到端地優(yōu)化大容量模型,從而在性能上超越傳統(tǒng)方法,這就是深度學(xué)習(xí)的基本方法論。
那么,這種方法有什么缺點(diǎn)呢?個(gè)人認(rèn)為有以下幾點(diǎn)。
訓(xùn)練的效率表現(xiàn)在兩方面,首先是訓(xùn)練模型的時(shí)間長。眾所周知,深度學(xué)習(xí)需要借助GPU加速訓(xùn)練,但即使這樣訓(xùn)練的時(shí)間也是以小時(shí)或者天為單位的。如果使用的數(shù)據(jù)量大,加上模型復(fù)雜(例如大樣本量的人臉識別、語音識別模型),訓(xùn)練時(shí)間會以周甚至?xí)栽聛碛?jì)算。
在訓(xùn)練效率上還有一個(gè)缺點(diǎn)是樣本的利用率不高。舉個(gè)小小的例子:圖片鑒黃。對于人類來說,只需要看幾個(gè)“訓(xùn)練樣本”,就可以學(xué)會鑒黃,判斷哪些圖片屬于“****”是非常簡單的一件事。但是,訓(xùn)練一個(gè)深度學(xué)習(xí)的鑒黃模型卻往往需要成千上萬張正例+負(fù)例的樣本,例如雅虎開源的yahoo/open_nsfw。總的來說,和人類相比,深度學(xué)習(xí)模型往往需要多得多的例子才能學(xué)會同一件事。這是由于人類已經(jīng)擁有了很多該領(lǐng)域的“先驗(yàn)知識”,但對于深度學(xué)習(xí)模型,我們卻缺乏一個(gè)統(tǒng)一的框架向其提供相應(yīng)的先驗(yàn)知識。
那么在實(shí)際應(yīng)用中,如何解決這兩個(gè)問題?對于訓(xùn)練時(shí)間長的問題,解決辦法是加GPU;對于樣本利用率的問題,可以通過增加標(biāo)注樣本來解決。但無論是加GPU還是加樣本,都是需要錢的,而錢往往是制約實(shí)際項(xiàng)目的重要因素。
我們知道,深度學(xué)習(xí)在性能上可以大大超越傳統(tǒng)方法。但這種性能指標(biāo)往往是統(tǒng)計(jì)意義上的,并不能保證個(gè)例的正確性。例如,一個(gè)99.5%準(zhǔn)確率的圖片分類模型,是指它在10000張測試圖片中分類正確了9950張,但是,對于一張新的圖片,就算模型輸出的分類的置信度很高,我們也無法保證結(jié)果是一定正確的。因?yàn)橹眯哦群蛯?shí)際正確率本質(zhì)上并不等價(jià)。另外,f的不可靠性還表現(xiàn)在模型的可解釋性較差,在深度模型中,我們通常很難說清楚每個(gè)參數(shù)代表的含義。
一個(gè)比較典型的例子是“對抗生成樣本”。如下所示,神經(jīng)網(wǎng)絡(luò)以60%的置信度將原始圖片識別為“熊貓”,當(dāng)我們對原始圖像加入一個(gè)微小的干擾噪聲后,神經(jīng)網(wǎng)絡(luò)卻以99%的置信度將圖片識別為“長臂猿”。這說明深度學(xué)習(xí)模型并沒有想象得那么可靠。
在某些關(guān)鍵領(lǐng)域,如醫(yī)療領(lǐng)域,如果一個(gè)模型既不能保證結(jié)果的正確,又不能很好地解釋其結(jié)果,那么就只能充當(dāng)人類的“助手”,而不能得到普遍的應(yīng)用。
最后一個(gè)問題其實(shí)有點(diǎn)形而上學(xué),并不是什么技術(shù)上的具體問題,不過拿出來討論討論也無妨。
很多人關(guān)心人工智能,是關(guān)心“強(qiáng)人工智能”的實(shí)現(xiàn)。仿照深度學(xué)習(xí)的方法,我們似乎可以這樣來理解人的智能:x是人的各種感官輸入,y是人的行為輸出,如說的話,做出的行為,f就代表人的智能。那么,可以通過暴力擬合f的手段訓(xùn)練出人的智慧嗎?這個(gè)問題見仁見智,我個(gè)人傾向于是不能的。人的智能可能更類似于概念的抽象、類比、思考與創(chuàng)造,而不是直接拿出一個(gè)黑盒子f,深度學(xué)習(xí)方法恐怕需要進(jìn)一步的發(fā)展才能去模擬真正的智能。
作者:張旭
https://www.zhihu.com/question/40577663/answer/225319588
學(xué)過點(diǎn)皮毛,湊個(gè)熱鬧。
1、深度學(xué)習(xí)對數(shù)據(jù)量的要求很大,數(shù)據(jù)量過小就會造成嚴(yán)重過擬合。2、深度學(xué)習(xí)在應(yīng)對表格類數(shù)據(jù)的時(shí)候并沒有明顯優(yōu)勢,目前比較擅長的領(lǐng)域是計(jì)算機(jī)視覺,自然語言處理和語音識別。在表格數(shù)據(jù)情境下,大家更愿意使用xgboost等模型。3、理論支撐薄弱,幾乎沒有人對深度學(xué)習(xí)的數(shù)學(xué)基礎(chǔ)做工作。大家一窩蜂地拿著模型水論文。4、接上條,調(diào)參基本陷入了煉丹模式,深度學(xué)習(xí)調(diào)參已經(jīng)是一門玄學(xué)。5、硬件資源消耗大,GPU已經(jīng)是必備,但是價(jià)格高昂,因此深度學(xué)習(xí)也稱為富人的游戲。6、部署落地仍然困難,特別是移動應(yīng)用場景下。7、無監(jiān)督學(xué)習(xí)仍然是困難,深度學(xué)習(xí)訓(xùn)練目前基本都基于梯度下降去極小化損失函數(shù),因此需要有標(biāo)簽。而對大量數(shù)據(jù)貼標(biāo)簽成本很高。當(dāng)然也有無監(jiān)督學(xué)習(xí)網(wǎng)絡(luò)正在迅猛發(fā)展,不過嚴(yán)格意義上說,GAN和VAE等都屬于自監(jiān)督學(xué)習(xí)。
看到評論中有質(zhì)疑第一條的,我發(fā)表一下自己的看法:一個(gè)比較強(qiáng)的學(xué)習(xí)器一般都不會擔(dān)心欠擬合的問題。神經(jīng)網(wǎng)絡(luò)擁有大量參數(shù),只要有足夠多的訓(xùn)練輪數(shù),理論上可以完全擬合訓(xùn)練集。但是這并不是我們想要的,這樣的模型泛化能力會非常差。而造成這一結(jié)果的原因就是,數(shù)據(jù)量太少,不足以代表整個(gè)數(shù)據(jù)背后的分布情況。此種情況下,神經(jīng)網(wǎng)絡(luò)幾乎是不加辨別的強(qiáng)行擬合上了訓(xùn)練集這個(gè)數(shù)據(jù)子集的分布,導(dǎo)致了過擬合。
作者:zzzz
https://www.zhihu.com/question/40577663/answer/224756448
我覺得深度學(xué)習(xí)最大的瓶頸也是其最大的優(yōu)點(diǎn),既:
1.end-to-end training
2.universal approximation
其優(yōu)點(diǎn)在于有極強(qiáng)的擬合能力。
缺點(diǎn)是對其中間擬合過程我們幾乎沒有任何control,所有我們想讓其學(xué)習(xí)到的東西只能通過大量的數(shù)據(jù),更復(fù)雜的網(wǎng)絡(luò)(inception module, more layers),限定更多constraint(dropout, regularization),期望它最后學(xué)習(xí)到了等同于我們認(rèn)知的判斷。
舉個(gè)具體的例子,我們想判斷一直圖像是不是人臉。
其中一個(gè)籠統(tǒng)的判斷標(biāo)準(zhǔn)是,這張圖像上是否涵蓋2只眼睛,1個(gè)鼻子,1個(gè)嘴巴,以及他們之間的位置信息是否符合幾何邏輯。這也正是傳統(tǒng)dpm的思路,雖然以上每一步(subtask)都有可能出錯(cuò),致使overall performance不會特別好。但是相對來講每一個(gè)subtask都只需要較少的訓(xùn)練數(shù)據(jù),中間結(jié)果都會比較直觀,最后的結(jié)果符合我們?nèi)祟惖呐袛鄻?biāo)準(zhǔn)。
但是這件事由深度學(xué)習(xí)來做,你除了少數(shù)幾個(gè)“認(rèn)知”(prior knowledge)可以通過網(wǎng)絡(luò)結(jié)構(gòu)來定義(例如cnn實(shí)際上是默認(rèn)feature的local coherent+position invariant的特性),其他的認(rèn)知只能通過大量的數(shù)據(jù)來讓網(wǎng)絡(luò)自己去學(xué)習(xí)。一些簡單的元素如臉的大小,位置,旋轉(zhuǎn)你還可以通過data augmentation來模擬,但對于膚色,背景圖案,頭發(fā)的因素,就要靠找額外數(shù)據(jù)開擴(kuò)充網(wǎng)絡(luò)對問題的認(rèn)知了。但即使是這樣,我們也無法確定網(wǎng)絡(luò)總結(jié)了哪些高層次的知識,當(dāng)我拿給他一張訓(xùn)練數(shù)據(jù)里沒有的二郎神的圖像,它會做出怎樣的判斷。
這也正是為什么數(shù)據(jù)是深度學(xué)習(xí)里最重要的一項(xiàng)。當(dāng)你數(shù)據(jù)不夠多樣的時(shí)候,它可能只學(xué)習(xí)到一些比較hacky的trivial solution;但是當(dāng)數(shù)據(jù)足夠全面的時(shí)候,它更有可能總結(jié)出比單純鼻子眼睛更有表達(dá)力的特征,只是我們無法理解而已。
原文鏈接:https://www.zhihu.com/question/40577663/answer/902429604
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。