想要入坑机器学习?这是MIT在读博士的AI心得
從科研社區中汲取營養
找論文
AI 領域的論文可以在 arXiv 上找到和發布。現在的論文數量非常令人振奮。社區中的許多人降低了從噪聲中分辨出信號的難度。Andrej Karpathy 開發了 arXiv sanity preserver,幫助分類、搜索和過濾特征。Miles Brundage 每晚都在推特上發布自己整理的 arXiv 論文列表。很多推特用戶常常分享有趣的參考文章,我推薦大家在推特上關注自己喜歡的研究者。如果你喜歡用 Reddit,那么 r/MachineLearning(https://www.reddit.com/r/MachineLearning/)非常棒,不過文章更適合機器學習從業者而不是學界研究者。Jack Clark 發布每周社區 newsletter「Import AI (https://jack-clark.net/)」,Denny Britz 發布「The Wild Week in AI (https://www.getrevue.co/profile/wildml)」。
查看會議論文集也很值得。三大會議是 NIPS、ICML、ICLR。其他會議還包括 AAAI、IJCAI、UAI。每個分支學科也有自己的會議。計算機視覺方面有 CVPR、ECCV、ICCV;自然語言方面,有 ACL、EMNLP、NAACL;機器人方面,有 CoRL(學習)、ICAPS(規劃,包括但不限于機器人)、ICRA、IROS、RSS;對于更理論性的研究,有 AISTATS、COLT、KDD。會議是目前論文發表的主要渠道,但是也有一些期刊。JAIR 和 JMLR 是該領域最厲害的兩種期刊。偶爾一些論文也會出現在科學期刊上,如 Nature 和 Science。
尋找舊的論文同樣重要,不過通常更難。那些「經典」論文通常出現在參考文獻中,或者研究生課程的閱讀書單。發現舊論文的另一種方式是從該領域的資深教授開始,尋找他們的早期作品,即他們的研究路徑。同樣也可以向這些教授發送郵件詢問額外的參考(即使他們太忙沒有回復也不要介意)。尋找不那么有名或被忽視的舊論文的一種持續方式是在 Google scholar 中搜索關鍵詞。
應該花費多長時間閱讀論文?
關于閱讀論文應該用的時間我聽到過兩種常見建議。一,剛開始的時候,閱讀所有論文!人們通常說研究生的第一學期或第一年應該只閱讀論文。第二,在最初的上升期之后,不要花費太多時間閱讀論文!原因在于如果研究者不被之前的方法左右,更有可能創造性地提出和解決問題。
我個人同意第一條建議,不同意第二條。我認為一個人應該盡可能多地閱讀論文。「如果我不熟悉別人嘗試過的方法,那我就能更好地想出新穎的更好方法。」——這種想法似乎不太可能,且傲慢。是的,新視角可能是一把鑰匙,業余者解決長期挑戰是因為他們超出常規的想法。但是職業研究者不能完全依賴運氣來探索未被考慮過的解決方案。我們的大部分時間都用來緩慢且有方法地逐步解決問題。閱讀相關論文是找出我們所處位置和下一步嘗試方向的更高效方式。
關于盡可能多地閱讀論文,有一個重要的注意事項:消化論文內容和閱讀論文一樣重要。用一天時間學習幾篇論文、認真做筆記、認真思考每一篇的內容和思路,比不斷閱讀論文要好一些。盡可能多地閱讀論文。
投資可視化工具和技能
在編寫研究代碼時我采用的策略是從創建可視化腳本入手。在編寫完其余代碼后,我會運行可視化腳本,以快速驗證代碼是否與我的心智模型匹配。更重要的是,良好的可視化經常會使我想法或代碼中的 bug 更加明顯、明了。這里還有一些自我激勵的話要說:當我完成這個代碼時,我會做一份漂亮的數據或視頻給大家看!
為手頭的問題尋找合適的可視化方法可能非常棘手。如果要迭代優化模型(例如深度學習),從繪制損失函數曲線著手會比較好。此外還有許多用于可視化和解釋神經網絡(特別是卷積神經網絡)學得權重的技術,例如導向反向傳播。在強化學習和規劃中,智能體在其環境中的行為是顯而易見的,無論是雅達利游戲、機器人任務還是簡單的 grid world(如 OpenAI Gym 中的環境)。根據設置,還可以可視化價值函數及其在訓練過程中的變化(如下所示),或者可視化探索狀態樹。在處理圖形模型過程中,當一維或二維變量在推斷過程中發生變化時,對其分布進行可視化可以獲得豐富的信息(如下所示)。估計每次可視化分析時必須在頭腦中保存的信息量可以幫助檢測可視化技術的有效性。如果可視化技術非常糟糕,你需要詳盡地調用你編寫的代碼來生成它;反之,一個良好的可視化技術可以帶來一個明顯的結論。
總結
以上是生活随笔為你收集整理的想要入坑机器学习?这是MIT在读博士的AI心得的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C#调试WebService
- 下一篇: java设计模式组合模式详解_《JAVA