首頁 > 軟體

Deep Learn I'm back.

2021-01-16 12:00:17

Intorduction:

時隔好幾個月,我準備重新進入Deep Learning 的領域。昨天和老師聊了很多,之前覺得我做的工作就是排列組合,在水論文,灌水。但老師卻說:這也是為將來的研究打基礎。 我想是這麼個道理,科研這一塊,寫論文,發論文,畫圖等等細枝末節的工作都是需要經驗積累的,一開始搞個大的,不現實,就算搞出來,其他細節工作沒做好,影響整體質量,也白搭。

任何問題都要辯證地看。

之後老師給我講了他的一個idea,幾年前想的,時空序列方向,通過arrange不同時間維度組成tensor進行折積,想法很新穎,我從未聽說過,但據他說跑出來效果不好,可能調參沒做好,後面事情就擱置了。我聽到這個idea,欣喜若狂,又恍然大悟。這不就是Deep Learning 領域做research 的過程嗎?

想出一個你認為絕妙的idea,實驗驗證- 不斷打磨-不斷驗證 重複進行,最終要麼出成果,要麼變成垃圾扔掉。

 

 

Coding:

 

現在呢,對這個領域重拾了一些信心。越來越意識到,在Deep Learning 領域做research 重要的不是Idea 而是 Implementing ability. 說白了就是Coding 的能力。

物件導向要會,基本的程式設計思想得懂。python要學過,至少要看得懂別人的程式碼,就算看不懂,也得具備查閱資料把它看懂的能力。框架得熟悉(pytorch),這和python是一個道理。其中貫穿始終的是coding style。

我這幾個月的coding 經歷發現,很多beginner 包括我,寫出來的程式碼都很爛,像上完廁所用過的紙。 根本沒有複用性,沒有魯棒性。這一塊想提高,一是去看程式碼規範的書,二是多做實戰多看別人的程式碼,自己敲一遍,learn by doing。

我推薦的學習順序是,先做實戰,學到點皮毛,再去看書。有實踐經驗再看書,會有恍然大悟,茅塞頓開的感覺,你在實踐中學到的規範會在書裡以高觀點的方式體現,詮釋。相反,先看書再實踐,就沒有這樣的效果了。只會雲裡霧裡。

當然這一切都建立在你有一個comprehensive idea of deep learning( machine learning),這一方面推薦Andrew Ng 的課程。

Keep following:

基礎都搭建好了,那每天就得follow 最新的資訊,看看title,abstract,實在懶看看圖片也好。總之,follow領域內的熱點,看看大家都在幹什麼。這一步能create new idea,也能enhance 對一些概念的理解,

看到好的文章,甚至能提升你的維度,以更高的觀點俯視問題。這方面需要關注一些AI自媒體,我推薦的:@愛可可老師,機器之心等等。這些都能在一些網站上找到:國內有微博、微信公眾號、知乎....國外就是reddit, twitter, medium......

Idea:

他們都說Idea是這個領域最不值錢的東西了,現在人人都有idea,就看誰能最快實現出來。所以我反覆強調coding 能力,定期去跑跑demo 實現一個implementation有益科研之路。更何況coding是每個學計算機的人的看家本事,不論將來從事的方向如何,coding都是基本技能,在一個領域內鍛煉出來的coding能力換一個領域也同樣適用。即使換方向,你的學習速度也會比別人快很多。這大概就是transfer learning?

關於idea,有一篇文章寫的相當 informative.我還沒看完,但前幾章讓我受益匪淺。我意識到,好的idea也是排列組合,只不過他們站在更高,更深的維度上發現的。而不斷挖掘深度,是我們一以貫之的使命。

如何在計算機應用領域尋找研究想法 - 錢志雲的文章 - 知乎 https://zhuanlan.zhihu.com/p/341685279

計算機教授@加州大學河濱分校

 

Help: 

學會尋求幫助,前提是保持humble。coding上,理論上總有牛人,他們懂的比你多,理解的深度比你深,他們的work會驚掉你的下巴。和他們學習,遇到問題向他們尋求幫助。我所認識的絕大多數人都很nice,不會嫌棄你的問題。我最開始做的時候,需要復現一段程式碼,當時程式碼跑不通,我去調,coding上遇到了好多問題,就是一位學長不停的指導我,惡補了很多知識,學到很多技巧,有時問他這段程式碼應該怎麼寫,他直接把程式碼敲好發我。其次應該多找老師幫忙,前提是老師人很好。一些研究上的事,一些鬱悶的事情,都能和老師交流。我是間隔了快一個學期才去找老師聊聊,聊完後豁然開朗。後悔沒有找點找他。當然了,和nice的人交往,自己也要足夠nice。這一點至關重要。

 

最後一段話是寫給自己的。出國只看重績點,而在這個學校,等到考試周抱佛腳,也能有個不錯的成績。學校不卷,績點不難刷。因此你有大把的時間來做其他事情。你的退路有很多。科研是你的一個愛好,和運動、彈吉他一般,但略高於他們。你會面臨更大的困難,要付出更多的時間,精力。做研究不像上課,你面對的是未知的深淵,沒有正確答案,沒有人懂你的研究內容,你沒有同學可以交流討論。結果的正確性只能靠實驗結果驗證。突然有一天你腦袋裡冒出一個你認為絕妙的idea,你為這個理論想到了完美的解釋,根據你的解釋,模型一定會work的非常好,經過幾個月的實驗驗證,你怎麼都調不好,performance越來越差,你會自我懷疑,妄自菲薄。習慣他,推倒重來。你捨不得,不甘心。但沒有用。深淵沒有感情,錯了就得放棄。

但行好事,莫問前程。做pure researcher~

idea the content of cognition; the main thing you are thinking about More (Definitions, Synonyms, Translation)


IT145.com E-mail:sddin#qq.com