反向用隨機(jī)梯度下降來優(yōu)化人生

極市導(dǎo)讀
看完李沐老師的文章亞馬遜首席李沐 | 用隨機(jī)梯度下降來優(yōu)化人生,深受感慨,本人閱讀大量文獻(xiàn),提出了下面“反向用隨機(jī)梯度下降來優(yōu)化人生“的方案。
下文與李沐老師的文章一一對應(yīng),李沐老師的放在了引用塊里。不是很懂優(yōu)化這塊,歡迎批評指點(diǎn)。 >>加入極市CV技術(shù)交流群,走在計(jì)算機(jī)視覺的最前沿
沐神對本回答的評論,hhh

看完李沐老師的文章亞馬遜首席李沐 | 用隨機(jī)梯度下降來優(yōu)化人生,深受感慨,本人閱讀大量文獻(xiàn),提出了下面“反向用隨機(jī)梯度下降來優(yōu)化人生“的方案。下文與李沐老師的文章一一對應(yīng),李沐老師的放在了引用塊里。
不是很懂優(yōu)化這塊,歡迎批評指點(diǎn)。
李沐:目標(biāo)要大。不管是人生目標(biāo)還是目標(biāo)函數(shù),你最好不要知道最后可以走到哪里。如果你知道,那么你的目標(biāo)就太簡單了,可能是個(gè)凸函數(shù)。你可以在一開始的時(shí)候給自己一些小目標(biāo),例如期末考個(gè)80分,訓(xùn)練一個(gè)線性模型。但接下來得有更大的目標(biāo),財(cái)富自由也好,100億參數(shù)的變形金剛也好,得足夠一顆賽艇。
反向:目標(biāo)要小而具體。如果目標(biāo)過大,很容易導(dǎo)致因?yàn)樵肼曔^大,獎勵(lì)過于稀疏而發(fā)散[1]。收斂情況很好的,往往是圖片分類這種目標(biāo)非常明確而具體的。比如真實(shí)機(jī)器人面臨的搜索空間很大的任務(wù),很容易發(fā)散[2]。
李沐:堅(jiān)持走。不管你的目標(biāo)多復(fù)雜,隨機(jī)梯度下降都是最簡單的。每一次你找一個(gè)大概還行的方向(梯度),然后邁一步(下降)。兩個(gè)核心要素是方向和步子的長短。但最重要的是你得一直走下去,能多走幾步就多走幾步。
反向:該放棄時(shí)就要放棄。一個(gè)簡單也很有效的解決梯度策略發(fā)散的技巧就是拋棄過大的梯度[3]。如果遇到很大的梯度還不選擇拋棄,很容易會導(dǎo)致發(fā)散的結(jié)果。另外一種解釋是,很多場合訓(xùn)練幾個(gè)epoch就能發(fā)現(xiàn)梯度越來越大,這時(shí)候一定要停下來檢查數(shù)據(jù),不然一晚上過后只能得到一個(gè)nan的結(jié)果。
李沐:痛苦的卷。每一步里你都在試圖改變你自己或者你的模型參數(shù)。改變帶來痛苦。但沒有改變就沒有進(jìn)步。你過得很痛苦不代表在朝著目標(biāo)走,因?yàn)槟憧赡茏叻戳恕5^得很舒服那一定在原地踏步。需要時(shí)刻跟自己作對。
反向:拒絕內(nèi)卷。優(yōu)化有兩種模式,一種很陡峭曲折的(比較艱難,對應(yīng)內(nèi)卷),一種是比較平滑的(比較輕松,對應(yīng)佛系和不卷)。這里我引用一篇頂會論文中[4]的可視化結(jié)果,

那么究竟是(a)好呢,還是(b)好呢?想必大家已經(jīng)猜到了,(b)這種優(yōu)化模式要遠(yuǎn)遠(yuǎn)好于(a),錯(cuò)誤率小兩倍多(錯(cuò)誤率:(b)5.89%,(a)13.31%)。因此,大家一定要學(xué)會拒絕內(nèi)卷,保護(hù)自己平滑的優(yōu)化過程。
李沐: 四處看看。每一步走的方向是你對世界的認(rèn)識。如果你探索的世界不怎么變化,那么要么你的目標(biāo)太簡單,要么你困在你的舒適區(qū)了。隨機(jī)梯度下降的第一個(gè)詞是隨機(jī),就是你需要四處走走,看過很多地方,做些錯(cuò)誤的決定,這樣你可以在前期邁過一些不是很好的舒適區(qū)。
反向:別走太遠(yuǎn)。正則化是深度學(xué)習(xí)乃至機(jī)器學(xué)習(xí)中非常常見的技巧,要想取得好的收斂效果,往往需要加以約束,不能走得太遠(yuǎn)[3]。
李沐: 贏在起點(diǎn)。起點(diǎn)當(dāng)然重要。如果你在終點(diǎn)附近起步,可以少走很多路。而且終點(diǎn)附近的路都比較平,走著舒服。當(dāng)你發(fā)現(xiàn)別人不如你的時(shí)候,看看自己站在哪里。可能你就是運(yùn)氣很好,贏在了起跑線。如果你跟別人在同一起跑線,不見得你能做更好。
反向:起點(diǎn)不重要。Facebook的一篇論文[5]用大量實(shí)驗(yàn)事實(shí)證明,接受預(yù)訓(xùn)練的模型,雖然一開始會好一些,但是后面跟隨機(jī)初始化的模型相差無幾。有實(shí)驗(yàn)結(jié)果圖為證:

李沐: 很遠(yuǎn)也能到達(dá)。如果你是在隨機(jī)起點(diǎn),那么做好準(zhǔn)備前面的路會非常不平坦。越遠(yuǎn)離終點(diǎn),越人跡罕見。四處都是懸崖。但隨機(jī)梯度下降告訴我們,不管起點(diǎn)在哪里,最后得到的解都差不多。當(dāng)然這個(gè)前提是你得一直按照梯度的方向走下去。如果中間梯度炸掉了,那么你隨機(jī)一個(gè)起點(diǎn),調(diào)整步子節(jié)奏,重新來。
反向:太遠(yuǎn)就到不了了。如果間隔時(shí)間太長,獎勵(lì)函數(shù)的折損會非常嚴(yán)重,這會嚴(yán)重影響強(qiáng)化學(xué)習(xí)的成功率。這也是為什么現(xiàn)在強(qiáng)化學(xué)習(xí)仍然只是在模擬器中成功。

李沐:簡單最好。當(dāng)然有比隨機(jī)梯度下降更復(fù)雜的算法。他們想每一步看想更遠(yuǎn)更準(zhǔn),想步子邁最大。但如果你的目標(biāo)很復(fù)雜,簡單的隨機(jī)梯度下降反而效果最好。深度學(xué)習(xí)里大家都用它。關(guān)注當(dāng)前,每次抬頭瞄一眼世界,快速做個(gè)決定,然后邁一小步。小步快跑。只要你有目標(biāo),不要停,就能到達(dá)。
反向:越結(jié)構(gòu)化的模型越好。文獻(xiàn)顯示[6],拓?fù)浣Y(jié)構(gòu)復(fù)雜的模型,在同樣的梯度下降算法之后會產(chǎn)生更小的泛化誤差。而過于簡單的模型,往往會容易收斂到平凡解。

有些點(diǎn)沒講到,是因?yàn)檎也坏教貏e好的文獻(xiàn),或者讀起來沒那么有趣。
如果要我說,人生反正不是監(jiān)督學(xué)習(xí),更像是強(qiáng)化學(xué)習(xí)甚至無監(jiān)督學(xué)習(xí)。
當(dāng)然,也可能人生就是隨機(jī)挑戰(zhàn)。
參考
Hare, Joshua. "Dealing with sparse rewards in reinforcement learning." arXiv preprint arXiv:1910.09281 (2019).
Peters, Jan, and Stefan Schaal. "Policy gradient methods for robotics." 2006 IEEE/RSJ International Conference on Intelligent Robots and Systems. IEEE, 2006.
Schulman, John, et al. "Proximal policy optimization algorithms." arXiv preprint arXiv:1707.06347 (2017).
Li, Hao, et al. "Visualizing the loss landscape of neural nets." arXiv preprint arXiv:1712.09913 (2017).
He, Kaiming, Ross Girshick, and Piotr Dollár. "Rethinking imagenet pre-training." Proceedings of the IEEE/CVF International Conference on Computer Vision. 2019.
Corneanu, Ciprian A., Sergio Escalera, and Aleix M. Martinez. "Computing the testing error without a testing set." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020.

# CV技術(shù)社群邀請函 #

備注:姓名-學(xué)校/公司-研究方向-城市(如:小極-北大-目標(biāo)檢測-深圳)
即可申請加入極市目標(biāo)檢測/圖像分割/工業(yè)檢測/人臉/醫(yī)學(xué)影像/3D/SLAM/自動駕駛/超分辨率/姿態(tài)估計(jì)/ReID/GAN/圖像增強(qiáng)/OCR/視頻理解等技術(shù)交流群
每月大咖直播分享、真實(shí)項(xiàng)目需求對接、求職內(nèi)推、算法競賽、干貨資訊匯總、與 10000+來自港科大、北大、清華、中科院、CMU、騰訊、百度等名校名企視覺開發(fā)者互動交流~

