對於神經網路,碩士博士不需要弄明白原理,只需要應用,是這樣嗎?

時間 2021-05-05 20:11:06

1樓:捕夢網

看你說的是啥原理了,如果是optimizer到底是基於啥設計的,為啥加weight decay這樣的,你如果不知道,那就別做神經網路了。但是,如果你說,來給我分析一下非線性情況下,這個神經網路是不是有更小的generalization loss。那麼,實際上你能想到的絕大多數理論模型基本都是胡扯不work的。

做神經網路沒有足夠的試錯是不行的。因為你試錯了之後,你才會發現人類對神經網路的了解有多麼少。見過一些搞統計的教授,半途搞deep learning,他們組裡的學生可痛苦了。

因為教授自以為自己很懂(不就是我們統計玩剩下的麼),實際上並沒有一手經驗,很多預判都不太對。

2樓:

神經網路現在有人搞明白原理了麼?

絕大數都是基於神經網路的應用,原理層面依舊是未知的,理論層面的突破很難不過應該是乙個很有潛力的方向,期待越來越多神經網路方面的研究出現。

關注於工具本身應該是乙個不錯的方向,理論應用都非常多了,研究一下工具本身的特性比較有意思。

3樓:

想我從一開始接觸機器學習,覺得一切順遂。

學完深度學習,覺得囫圇吞棗,跑的還挺開心。

看完幾本理論書籍以後開始覺得自己好厲害,立志做深度學習理論。

在數院補完幾門課,後發現自己給大佬們提鞋都不配。

自此決定把統計學習理論當做興趣愛好。

只是為了吃飽飯,那就學學統計、優化、代數就行,不用學到那麼深,特別是cs出身的也不太可能做的很好。

4樓:

見過好些個這樣的例子,運氣好的話,這樣也能搞得挺好,但是問題就是

成功了不知道為啥能行從而不自信,畢竟是個黑盒子

模型不工作的時候,無從下手,因為不知道為啥不行

5樓:Penguin Whisper

如果是為了糊弄事,當然不需要明白原理,連應用也不需要。吹nb完事了。

正經答:當然需要。糊弄的了外行,糊弄不了自己。 沒有理解,怎麼可能應用?

6樓:

美國某非CS的工程專業top5在讀博士來答一下因為近些年AI、ML的興起,我們專業的經費分配也大幅度往這相關研究方向轉移了,為此組內老闆就各種推薦、慫恿、強迫學生做相關課題,甚至課題方向毫不相關的博三學生都被要挾停止funding來做所謂的side project好讓他拉funding,就是變相壓榨學生讓你多當一兩年廉價勞動力。

扯遠了,扯回來。

為什麼我和其他同學非常抗拒做神經網路之類的課題呢?因為我們完全不懂原理,不知道哪種方法更適合我們專業領域內的研究問題。讀文獻也只能停留在哪一些方法可能可以產生所期待的結果,而根本講不出來為什麼這些方法可以應用於我們這一領域或者如何改進現有方法。

因為原理層面上的知識缺失,我們專業在做這種課題的時候如果缺少前期積累,多半變成把機器學習等方法當成黑匣子使用。如此操作並非完全無研究價值,但你真的想以這樣的課題當做你的博士課題嗎?

7樓:布客飛龍

神經網路的原理是乙個開放問題,不僅你搞不懂,很多一線研究者也搞不懂。

CNN 算是比較好理解的,因為歷史上很長一段時間,人們手動設計過濾器,有理論依據,研究得比較多。其它一些網路,比如一拍腦袋想出來的,不是從手動工作改良的,就沒這麼幸運了。

對於乙個原理已經搞明白的東西(比如核反應),你需要搞清楚原理。但對於乙個開放問題,你要是想搞清楚原理,你就得自己把它研究出來。

所以你有兩條路,一是換方向去研究原理,不過除非特別感興趣,不推薦這條路,二是繼續搞你的應用。

8樓:

抱歉,座標上海狼廠,待過鵝廠和開水團。只是實名確認下,對於業務來說,敏銳的找到優化目標比用什麼模型更重要。不弄那麼明白原理大不了不去IDL研究院等,諸位說的不好找工作真的見笑了。

9樓:

因為你沒遇到乙個好老師,比如曾經我也是bp演算法搞不懂,但是我上課的老師是這方面大佬,他講的超清晰,一節課就終結了我之前一年半載的迷迷糊糊。

10樓:何小強

遠遠不夠。不僅僅要能應用,而且得知道怎麼才能應用,才可以debug或者提公升performance。而且最重要的是能給別人說出個一二三。

在實際工作中第三點尤為重要。

11樓:金海峰

以現在開源工具的發展水平來看,你即便是「只需要應用」也要搞懂一些原理,否則連應用都做不出來。

你做應用至少還需要理解問題,根據問題選擇合適的模型,並且調調超引數。

針對特定問題,找到合適模型。這一步就需要你能看懂模型的適用範圍與優缺點。想要做到這點,就需要你對其背後的原理有一定的了解。

調超引數就更需要根據實驗反饋結果定位哪個超參有問題了。這需要對模型和資料有更深刻的理解才行。

所以,做應用就需要懂原理。

但是,這是基於現有機器學習工具的發展水平來說的。也許有一天,會出現乙個基於Keras的開源軟體,自動幫你選模型調參呢。

到時候你做應用可能就真的只會應用就行了,真的好期待這一天哦!

12樓:程顯通

與很多人不同的是,我對機器學習的研究生一定是懂得底層演算法的持懷疑態度。因為很多人的工作學位雖然在機器學習這個領域下面,但是其實只是用到了機器學習作為工具。

模型選擇,引數調整不一定是基於原理的,很多時候只是試一下。假設一下,模型選擇如果是基於原理的,能寫出乙個大致明確的專家經驗公式組的,那麼AutoML應該會替代大範圍的人工。然而實際上AutoML目前仍然沒有作為機器學習人必備的工具箱。

但是,這個回答的意思也不是說原理不重要。只是說如果你本質上不是在做機器學習研究,而是在做某個方向的應用開發,用到了機器學習手段,這個專案對你的原理水平的要求一般不會太高,但你實際上是這個特定應用方向的學者。

13樓:

弄得越懂,將來錢越多,上公升的希望越大,35歲越不容易被裁。

懂得越少,將來錢越_,上公升的希望越_,35歲越_____被裁。

14樓:

你首先要搞清楚你是做什麼的。

神經網路的原理,應該是指神經網路背後的數學原理以及不同構架的理論性證明,這些東西你如果不是做機器學習理論的工作,可以不了解,只要大概知道不同架構可以做什麼就行了。

但是,你如果是應用機器學習到其他領域,那麼你需要了解你所做的領域的原理,比如你做cv的,那麼基本的訊號處理,影象處理的理論你應該了解;做nlp的,你需要去了解語言學的理論。

不要簡單地把cv,npl和機器學習畫等號。

15樓:廣義夏農

題主,不是我打擊你,我簡直無法想象這個世界居然有人連神經網路的原理都看不懂(#-.-)。貌似科研界裡已經沒有比deep learning原理更簡單的了。

16樓:Yifan1993

看你用網路的目的吧,如果是為解決工程問題,那麼主要難點根本不是網路本身,而是和資料有關的各個方面,包括資料標定,清洗等等。

當然不懂肯定不行,實際問題有時候也要小改網路。當然要能創新都是厲害的人。

17樓:wywzxxz

已知:1。成為乙個合格的調包俠並不難,踩掉幾個坑就行。

2。大部分情況下我們只是想使用功能,並不關心原理,甚至並不關心模型是否完美發揮。

3。大部分坑都是小trick ,踩掉就幾分鐘的事情。

因此:理論上,只要半小時,人人都是神經網路專家!(doge)

當然理論的大廈不免有一點點小烏雲。這裡可能有一丁丁丁丁丁丁丁丁丁小瑕疵,就是你可能需要碩士訓練來協助你找到這些坑在哪……

神經網路這東西就像撲克牌金字塔,有些可能會稍微健壯點,但大部分抽掉一張牌就轟然倒塌。更過分的是,它並不會修好乙個bug就神奇的duang的一下躥起來一小節,簡直讓人無從下手。

那我現在在搞得舉例:

曲線A,單獨訓練,擬合很好

曲線B,單獨訓練,擬合很好

曲線A+B,一塊訓練,確保模型並不能分辨誰是誰,但是為什麼A開始擬合但是B

18樓:可樂

顯然不是。

即使只是應用神經網路的話,也需要理解常見的元件/模型結構的意義,它們為什麼work/不work。例如batch normalization 的作用,skip-connection的作用,各種優化器的優缺點等知識點需要非常熟悉。不然你調引數的效率是會顯著低於有經驗的演算法工程師的,而且當你遇到神經網路不收斂、loss降不下去、瘋狂過擬合等各種各樣的問題時你是沒有辦法知道怎麼去解決的。

上面舉例的知識點掌握起來其實並不難,而且應用的話學到這種程度就足夠了。至於背後深入的數學原理,神經網路可解釋性的問題過於前沿了,現在不去了解也沒有什麼關係。

19樓:集思學院

小G覺得不行,不是博士不行,碩士階段弄不懂也不行。

這種底層邏輯的問題,如果弄不清楚,小的模組裡還行,不耽誤最終的大方向;但是如果是比較大的專案,方向錯了那真的就是災難級現象。

學校的專案或者還行,錯了就重來;工作裡哪能給你這麼多機會啊對不對。

20樓:

這個問題比較矛盾,首先不懂原理肯定是不行的(好歹把一些optimization, high dimension probability 之類學了吧),但目前關於深度學習的理論並沒有決定性的進展,所以弄不明白也正常。。。。

樓上有人說了simon du和jason lee的工作,還有這幾年icml的generalization workshop,dl theory and physics等等都是目前比較前沿的理論結果。但說實話我覺得這些還是過於「理論領域」了,目前只適合專門從事dl theory的人看,未必適合題主。

21樓:錢小z

這顯然上上心就可以弄懂的呀,如果感到困難的話可以循序漸進地學起,看看類似《python神經網路程式設計》之類的書,激發自己的成就感,然後再過渡到其他書籍資料。

22樓:老王

如果只是應用的話,那麼應該搞清楚各種演算法的適用範疇,例如1、多層感知機適用於特徵維度較低的資料。

多層感知機

2、卷積神經網路適用於特徵維度很高的資料。

卷積神經網路

3、殘差收縮網路適用於強噪、高冗餘的資料。

殘差收縮網路

23樓:zyhu

有幾種程度的「弄懂神經網路的原理」:

知道loss function的作用,知道sgd minimize loss function的過程就是神經網路(包括傳統機器學習)的學習過程。知道loss function,optimizer背後的優化原理

知道CNN的一些trick,怎麼調結構,調超引數,背後的直覺是什麼,這個直覺就是原理

研究overparameterized neural network的generalization原理

這些原理的重要性:

這是大二數學,學習人工智慧必備的。如果這都不懂,建議回爐重造這是成為一名工程師必備的技能。這個搞不懂不建議從業人工智慧這是優秀PhD研究的內容。這個搞不懂對找工作毫無影響。

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

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

神經網路基礎

圓律師 這裡涉及到三個法律問題 1 約定月息三分,按照最高院關於民間借貸司法解釋的規定,年利率在24 的範圍內利息予以保護,超過24 的部分利息,可以不予以支付 2 從你的描述來看,你本人說的拿房子抵押有可能並非法律意義上的抵押,若用房屋做抵押,需辦理抵押登記,否則抵押不生效。你說的公證過的約定在一...

神經網路 Explaining harnessing adversarial example

arxiv.org abs 1312.6199 提的。那時候,是覺得問題出在神經網路複雜的非線性現象是adversarial example的成因,而且尋找adversarial example用的是,非線性優化。然而實際上單純softmax也無法倖免,並且簡單的一階求導,也能找到adversari...