日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

田渊栋:业余做研究的经验

發(fā)布時間:2024/8/23 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 田渊栋:业余做研究的经验 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.


這四個月以來,白天去公司干活,晚上在谷歌吃完晚飯后騎車半小時回來繼續(xù)做自己的研究,一直到晚上十一二點睡覺為止。做的工作仍然是博士階段的研究課題。這部分工作最近有幸在今年的 ICCV 拿了馬爾榮譽獎,但是里面可供挖掘的東西仍然很多,這幾個月把空閑時間拼湊起來,取得了不少令人滿意的進展。?


下面說一說這四個月來一下利用業(yè)余時間做研究的經驗,或者說做“民科”的經驗 (笑)。說實話,我不知道自己能堅持這個模式多久,但先總結一下分享給大家,總是好事;另一方面,以后自己懈怠了,再拿出來看看也是不錯的。?


在這里,我假定大家是有興趣做自己喜歡的事情的,不然回家那么累,看個電視呼呼睡倒,還談什么再做一個課題,更不用說成果。有了興趣,心里能總是把想要做的事情放在第一位,才能繼續(xù)。?


有了興趣之后,研究的思路可以冒出很多來,我經常有這樣的體驗,看完了涯叔的帖子,突然對赤壁大戰(zhàn)有興趣了,然后就開始 YY 站在曹操的角度看應該如何做選擇,如何調兵布將,等等,有時還會為自己的天才想法而沾沾自喜。但這些是否就能東拼西湊出一部有關赤壁大戰(zhàn)的專著呢?答案當然是否定的。?


天下什么樣的觀點都有,但有用的思路并不多。做研究是要分析,哪些思路能擰成 一股繩,哪些其實本質上相互矛盾,哪些需要妥協(xié)甚至放棄,哪些則是毫不動搖的真理。把這些整理出來變成協(xié)調一致的理論,才能算是有了成果。要做到這個,是需要有長久的積累功夫的。思路要系統(tǒng)化理論化,把每天想到的都放在一個大背景和大框架下,時常拿出來反復思量推敲,慢慢地去粗存精,取本舍末,才能見別人所未見。發(fā)別人所未發(fā)。?


這個就是研究的大概目的。為了這個目標,業(yè)余做研究就要解決兩個具體問題,一是時間少,二是任務難。解決方案很直接:時間少就要提高效率,任務難就要循序漸進。


以我的經驗,做任何工作,全神貫注是最好的選擇,做完一件再做另一件。隨意在不同任務間切換所需要的代價是非常大的。同時做兩件事情所需的時間,是先后或者分別做兩件事情所花時間的兩倍不止,并且更麻煩的是工作質量不高。試想下花十五分鐘的寫的破爛程序,卻要花幾個小時去調試它,還不如花三十分鐘精工細作來得有效。我見過有同時做很多任務,也做得很好的人。但我自己覺得不是那塊材料,還是老老實實地一件一件做完。?


明白了這個道理,做主業(yè)時要全神貫注,做副業(yè)時也要全神貫注,這樣才有高效率 ,能在八個小時內把主業(yè)做得讓同事和老板都滿意,除去吃喝拉撒睡還有陪老婆的時間,每天余下的三四個小時才屬于自己。這三四個小時,大概只能做一件主要和一件次要的事情。主要的事情比如說集中想一個問題,或是看兩篇文章,或是整理思路,或是把自己的代碼調通,或是把這一篇博客寫完;次要的事情包括各種生活瑣事,或是回幾封長郵件隨便聊天,或者給明天的研究起個頭。如果想要一下完成太多事情,那一般只會帶來挫敗感。?


之后,就要解決做研究任務難的問題。世上的大部分任務,按“過程的難易”與“ 得到成就感的速度”這兩個維度分類,可以分成四個級別。一級任務過程簡單回報快,比如說殺怪升級或者按老虎機;二級任務過程簡單但回報慢,比如說日常工作 ;三級任務過程復雜需要反復思考,但回報快,比如完成一個有趣的小程序小想法 ;四級任務,是方法沒有現(xiàn)成的,需要自己從已有的工作里總結尋找;進度無法控制,有時就差一步到終點卻一無所得,不得不推倒重來——這就是做研究。?


因此,做研究之類的四級任務,常常讓人有絕望感,業(yè)余做研究,時間又受限制, 更是難上加難。怎么辦?找一個辦法,把它的級數(shù)降下去。?


怎么降?以我這四個月的經驗,最重要的一點是要做好筆記。筆記有兩個作用,其 一是給自己一個工作進度的表示,想到哪里了,做到哪里了,哪些地方還沒有思考過,哪些地方想過了但是還不周密,想過的情況越多,走過的錯路越多,說明自己 較之前有所進步,這樣人為地將成就感提前,四級任務就變成三級任務。第二個用處,是作為思考的路標,方便自己從之前中斷的思路重新開始,節(jié)約本就珍貴的時間,集中火力攻克目前的重要問題。不然今天想這個,明天想那個,雖然天天都很辛苦,但是目標不明,攻擊力度不夠集中,做不到繩鋸木斷水滴石穿,到最后累死 累活,什么也沒有。?


時間久了,筆記會越來越長,細節(jié)也會越來越多。因此每隔一陣子要推翻重寫一次 ,作為大的思路整理,把細節(jié)砍去,重新留一個主干出來。有很多細節(jié)在落筆的時候認為非常重要,但是在之后回顧的時候,卻發(fā)現(xiàn)它其實是可以舍去的。每次出現(xiàn) 這種情況的時候,說明思路又向外擴展了一層,往目標又前進了一步。?


等到覺得這個框架靠譜的時候,就可以動手寫代碼。寫代碼本身是一種放松,因為許多部分不需要動腦,這樣就能降四級任務為兩級,心理壓力能小很多。另一方面 ,是能逼著自己把思路具體化,發(fā)現(xiàn)光憑思考發(fā)現(xiàn)不了的問題。有時候寫著寫著, 又會回到思考的過程中去,再一次開始迭代的過程。?


做研究猶如逆水行舟,今天順風順水奮力向前劃了一百米非常高興,明天一個逆流 出現(xiàn)倒退兩百米甚至翻船都是常有的事情。但是不能氣餒,有耐心慢慢來,之前說 做項目不能死磕,但做研究就是要死磕,時間長了,摸清了水流的變化趨勢,摸清 了所解問題的一般規(guī)律,終有一天,任你順流逆流,都能來去自如。?


那么,如何才能做到全神貫注呢??


話說某年某月某日,一位絕世大俠在酒樓與眾兄弟把酒言歡,好不快活。突然間一聲呼喝,仇家披麻戴孝拔刀上樓,眾酒樓賓客見了這陣仗,無不體似篩糠,心驚膽戰(zhàn)。大俠見了,一口烈酒入肚,神情肅穆,站起身來,廳堂的聒噪渾然不覺,周圍的兄弟視若不見,眼里只有對手的一舉一動,一招一式。然后對峙,貓腰,沖刺, 拔劍,兔起鶻落間,劍芒暴起,人頭落地——接著,小二還六神無主時,大俠早泰然自若,呼喝道:“牛肉兩斤,拿酒來!”?


小說家筆法雖然夸張,但所謂全神貫注,確實就是如此。不在乎何時何地,時間長短,但要目標明確,心無旁騖。所要解決的問題在心里不停重復,并賭上所有的腦力資源在短時間內反復思考,不達目的誓不罷休。要推公式?推完前不許聊天不許上廁所,要調程序?調完前不開網頁不查郵件。等到看見問題關鍵所在——或許只 需要十五分鐘半小時——之后,微博該刷就刷,論壇該逛就逛,帥哥美女該聊就聊,悉聽尊便。因為今天又有進展了,獎勵自己有啥不對的嘛。

借通信的術語來說,大腦不擅長頻分復用(同時干多件事),但很擅長時分復用( 每次干一件事)。大腦更像激光而不是日光,要么不打開,一打開就在紙上燒洞的。所以牛人們雖然平日里談笑風生,但都有大腦周期性抽風的癥狀,這不是病,而是大腦集中力的體現(xiàn)。真要每天工作十幾個小時,把戰(zhàn)線無限延長,雖說沒功勞也有苦勞,但效率如何很難講,至少我是做不到高效率的。?


那如何訓練這種技能呢?這個我覺得不是天賦,而是后天可以培養(yǎng)的,關鍵在于抽時間做一些需要費腦反復思考的工作。比如說看明白維基百科上一個抽象概念,看懂一個數(shù)學定理或者一篇技術文章,完成一個需要比較復雜算法的小程序,認真下一盤棋,看個長貼思考中心思想,或者寫一篇思路清晰的長博客,都是可以的。確信做完一件事情之后,休息一下,作為獎勵。像這篇博客,本來是沒有的,但是早上起來突然有想法了,馬上捧起電腦,花了兩小時寫完改完分享給大家,任務完成 ,我爽,讀者也爽,皆大歡喜。


當然,所要解決的問題不能太復雜。今天突然心血來潮,要去弄懂張益唐大牛關于素數(shù)間距的證明,或者要寫一個比谷歌更牛的搜索引擎,都是注定要失敗的,并且這樣的失敗只會給自己負面的印象,影響繼續(xù)向前的動力。比較好的辦法,是根據自己的情況循序漸進。如果問題一時半會兒解決不了,就自問卡在哪里了,比如說忘記數(shù)學公式怎么推了,或者某個概念不太明白,那下一次解決問題的時候,就把目標定得低一點,把公式推完概念弄懂就好。完成了一個目標,再考慮下一個。做研究也是一樣,只是對于問題定義和任務分解,需要更高段的技巧,和永不放棄的 耐心。?


時間久了,當思考成了習慣,做事自然就會專注,做事專注加上循序漸進,正反饋就來得快,看見了自己的點滴進步,自信也就漸漸上來了。然后就會明白,別人在做什么,別人如何成功,其實和自己的內心平衡沒有關系。各人情況迥異,沉浸在比較的虛榮和痛苦中是沒有意義的,把自己的事情做好就行,于是負面情緒就會變 少,人也就會活得更自在一點。這些,是全神貫注對于個人修養(yǎng)的長期效用。?


現(xiàn)在有些人帖子太長就不愿意看,分析事物只愿意付諸情感,時間長了,思考能力是一定會下降的。不去分析做事的哪步出了問題,只感嘆自己老了不行了,結果該放棄的放棄,不該放棄的也放棄了,分明學了二三十年,終于有了學識和經驗,精力能力還沒有退化,卻要做退休養(yǎng)老的打算了,豈不是太可惜了么??


?除了要專心之外,做研究,有兩個坎要過,一個平衡要把握。?


其一,讀別人文章是坎。讀文章初時覺得文獻浩如煙海不可勝計,每年又新增幾百上千的文章,每篇艱深莫測,看也看不完,更不用說追蹤研究領域的最新動態(tài),很有挫敗感。但看多了,就發(fā)現(xiàn)翻來覆去原來套路就這么些,新文章再出來,大概看個半小時或一小時就能領會其精神,這樣,第一個坎就過了。?


這其中的要義,是要多思多想,積極地歸納總結。我見過同學每天熬夜看一箱一箱的文章,但卻不善此道,叫他說出這些文章的主線是什么,他卻被各種細節(jié)所迷惑,說不出個所以然來。這樣辛苦是辛苦了,卻事倍功半,要是處于這種狀態(tài),那就是要糟糕,得停止繼續(xù)看下去,回頭好好想想了。?


其二,做創(chuàng)新研究是坎。做研究一開始隨意創(chuàng)新好像天地廣闊,各種新思路層出不窮,一會一個想法。但是等到深入下去,就會發(fā)現(xiàn)自己做的和前人工作并無太大不同,這里走一步,做過了,那里走一步,也做過了,回頭走一步好像沒有前人工作,效果卻不好,氣急敗壞之下貿然投文,篇篇被拒,就像是孫悟空自以為神通廣大,卻怎么樣也逃不過如來的五指山。這時才知道自己渺小,同行們個個牛逼,挫敗感頓生。借用《棋魂》里近藤光對佐為說的話:“以前看不到你的劍鋒在哪,所以下棋時無知無畏;現(xiàn)在看到你的劍鋒了,于是畏首畏尾,不敢出招?!?


要過這個坎,首先得做深入研究,看到自己思路的淺薄和渺小;然后得要迎著困難,不停思考不停嘗試,在這個過程中一點一點深入總結前人工作,看到它們的本質,分析它們的弱點,尋找改進的方案,最后走出原地踏步的怪圈,磨出一篇好文來一劍封喉。第一個階段沒過的人,往往思路很多卻從未實行;第二個階段沒過的人,往往放棄了讀博,都是很可惜的。?


明白了這兩個坎,心理上會有準備,做事就會有長遠打算,耐心也能磨出來。?


接下來,要掌握“細節(jié)”和“主題”之間的平衡。?


大家都知道“細節(jié)決定成敗”或是“一屋不掃,何以掃天下”這樣的諺語,也知道“綱舉目張”或是“提綱挈領”這樣的成語,這兩種觀點初看起來是完全矛盾的— —到底“大節(jié)”或是“細節(jié)”哪個重要?其實,這個抽象的哲學命題沒有意義,不自己去嘗試具體問題,是不知道里面的“度”在哪里的。嘗試多了,大腦自然知道哪些細節(jié)是可以忽略的,哪些細節(jié)是關鍵,差之毫厘謬以千里。?


讀別人的文章,首先讀到的是它的思路它的貢獻,細節(jié)往往放在最后講,這樣顯得條理清晰,邏輯清楚,論證有據。但真實做研究則截然不同,往往是先找到正確的細節(jié),然后推廣而成理論;先有亂七八糟但管用的方法,然后回頭整理,扮一副堂皇的樣子出來見人。事實上,就如同哲學理論不能解決任何具體問題一樣,一個不為特定問題量身定做的理論,直接拿過來管用的概率是很小的。若是它真的管用( 比如說深度學習),那么一定是有未被發(fā)現(xiàn)的深刻邏輯隱藏其中。因此,讀的時候,不要被文章中的各種賣點迷惑住,通過思考,通過重復別人的實驗,想方設法找出其中真正重要的東西,才是明路。?


那自己做研究的時候要怎么辦呢?作為貼著碼工的標牌,其實骨子里是做數(shù)學證明的我,現(xiàn)在實踐下來行之有效的辦法,是主題和細節(jié)交替來,前者告訴自己“我想要達到的目標是什么”,而后者告訴自己“我現(xiàn)在能做到什么”,一邊是文章滿意度的上界,一邊是下界,兩邊碰了頭,文章就有了。具體來說,從正確的細節(jié)出發(fā),可以為文章的主題定調,這樣得到的往往是引理定理滿天飛卻不知所云的文章;另一方面,從自己想做的框架出發(fā),可以確定什么樣的細節(jié)是需要證明的,為將來的努力把準方向,許多小定理小結論雖然本身漂亮,但是于大節(jié)毫無關聯(lián),只好忍 痛放棄。如此往復,直到最后大部分細節(jié)都思考過了,再從一個合理有趣的框架開始,從頭到尾地理一遍,終于把所有的部件都組裝起來,成一個細節(jié)上正確無誤,大節(jié)上又有出彩貢獻的理論,這樣就功德圓滿。?


為此,需要寫,不停地推倒重寫,每次看似重復的勞動,其實都有新發(fā)現(xiàn)?;蛘咧皇悄硞€符號錯了,或者某個定義需要修改,或者突然發(fā)現(xiàn)其實整個邏輯都有漏洞,需要推倒重來。單純的思考(表現(xiàn)為托腮發(fā)呆)往往又耗時,得到的結論還是錯的,在單純思考下很多問題粗想一想好像理所當然,不值得下筆,但真一下筆就發(fā)現(xiàn)問題所在,或是有隱含假設,或是有概念濫用。特別對剛開始做 PhD的同學而言, 往往有雄心沒技術,經常思路發(fā)飄,一思考就容易陷入混亂,為了讓思路更精確,把所思所想寫下來組織好是很重要的,時間長了,套路領會了,思考的效率就會提高,才能很快找到要點。?


實驗科學要怎么辦呢?以我這半年在谷歌的經驗,雖然要解決的問題截然不同,但同樣要遵循上述原則。一方面在已有解法上小修小補,找到能讓效果更好的管用小設計,讓自己至少出點活有績效,這時,細節(jié)決定成敗;另一方面則要推翻現(xiàn)在的解法,從大方向出發(fā),思考現(xiàn)在手頭做的是不是有長遠意義,能否解決長遠問題,如果答案是否定的,那么就應該盡早開始做正確的事情。后者傳統(tǒng)上來說是項目經理要負責的,但是若是自己能提前想到,那效率會高很多。?


最后,如何檢驗自己的成果呢,如何證明自己已經跨過難關了?很多人覺得博士生或是研究員們神秘莫測,但其實文章真正接收發(fā)表的時候,至少是我,對自己不懈努力苦心經營,每一點都思考到想嘔吐的模型往往是非常鄙夷的——?不過如此嘛,這么簡單的東西居然想了好久才弄出來,啊啊啊,我實在是太笨了!?


有這樣的想法,那發(fā)表出來的東西,基本靠譜。

————

編輯?∑ Gemini

來源:田淵棟

微信公眾號“算法數(shù)學之美”,由算法與數(shù)學之美團隊打造的另一個公眾號,歡迎大家掃碼關注!


更多精彩:

?如何向5歲小孩解釋什么是支持向量機(SVM)?

?自然底數(shù)e的意義是什么?

?費馬大定理,集驚險與武俠于一體

?簡單的解釋,讓你秒懂“最優(yōu)化” 問題

?一分鐘看懂一維空間到十維空間

??本科、碩士和博士到底有什么區(qū)別?

?小波變換通俗解釋

?微積分必背公式

?影響計算機算法世界的十位大師

?數(shù)據挖掘之七種常用的方法


算法數(shù)學之美微信公眾號歡迎賜稿

稿件涉及數(shù)學、物理、算法、計算機、編程等相關領域,經采用我們將奉上稿酬。

投稿郵箱:math_alg@163.com

總結

以上是生活随笔為你收集整理的田渊栋:业余做研究的经验的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。