自學(xué)成才的機(jī)器學(xué)習(xí)工程師十誡
寫代碼可能會(huì)讓人變得有點(diǎn)沮喪,需要讓自己的周圍充滿色彩
自律和自學(xué)這兩個(gè)詞不能掉以輕心。一個(gè)人必須對自己的教育和啟蒙負(fù)責(zé)。如果你忽略它,別人就會(huì)為你做選擇。
1. 數(shù)學(xué),代碼和數(shù)據(jù)是你最重要的三大項(xiàng)
任何有效的機(jī)器學(xué)習(xí)管道都是數(shù)學(xué)、代碼和數(shù)據(jù)的交叉。每一項(xiàng)只有和另一項(xiàng)在一起時(shí)才會(huì)有效果。
如果你的數(shù)據(jù)質(zhì)量很差,那么無論你的數(shù)學(xué)計(jì)算多么優(yōu)雅或代碼多么高效都沒用。
如果你的數(shù)據(jù)質(zhì)量比較高,但你的數(shù)學(xué)計(jì)算錯(cuò)誤,那么你的結(jié)果可能會(huì)不是很好,甚至?xí)悖斐蓚Α?/p>
如果你的數(shù)據(jù)和數(shù)學(xué)都是世界級的,但是你的代碼效率很低,那么你將無法獲得擴(kuò)展帶來的好處。
數(shù)據(jù)為你提供了一個(gè)包含自然瑰寶的采礦地點(diǎn)。數(shù)學(xué)就是你的鶴嘴鋤。代碼可以讓你建立一支揮舞著鶴嘴鋤的機(jī)器人隊(duì)伍。

這三大項(xiàng)是你系統(tǒng)的輸入(你擁有的)和輸出(你想要的)之間的橋梁。
注:三大項(xiàng)中的數(shù)學(xué)分支也包含統(tǒng)計(jì)和概率。
2. 三大項(xiàng)之外的唯一例外
除了不能平衡這三大項(xiàng)之外,還有一個(gè)更大的罪過:忘記這三大項(xiàng)是為誰服務(wù)的。即使是執(zhí)行得比較好、由比較優(yōu)雅的數(shù)學(xué)驅(qū)動(dòng)的代碼,如果不能為客戶提供服務(wù),從最豐富的數(shù)據(jù)中獲得洞察也毫無意義。
工程師經(jīng)常會(huì)發(fā)現(xiàn)自己迷失在一個(gè)過程中,忘記了最初想要的結(jié)果。盡管他們懷著良好的意圖進(jìn)行,但他們忘記了,意圖并不像行動(dòng)那么重要。
三大項(xiàng)至少要為客戶提供點(diǎn)好處,總比什么都不提供要好。
需要澄清的是,如果你的先進(jìn)模型需要47倍的時(shí)間才能提高1%的準(zhǔn)確率,那么它是否提供了很好的體驗(yàn)?
3. 不要被三大項(xiàng)給騙了
無論你多么崇拜這三大項(xiàng),你都不應(yīng)該被你的愛蒙蔽。自學(xué)成才的機(jī)器學(xué)習(xí)工程師是他們自己的比較大的懷疑者。
他們知道,數(shù)據(jù)不能進(jìn)行證明,只能進(jìn)行反駁(只要在十億數(shù)據(jù)中有一個(gè)數(shù)據(jù)點(diǎn)就能證明之前的概念是錯(cuò)誤的),一點(diǎn)點(diǎn)糟糕的數(shù)學(xué)運(yùn)算就會(huì)產(chǎn)生極端的后果(自然不是線性的),代碼的效率只有在它最薄弱的地方才有。
無論三大項(xiàng)多么神圣,直覺也不應(yīng)被忽視。如果一個(gè)結(jié)果好得令人難以置信,除非你很幸運(yùn),否則它很可能就是錯(cuò)的。
4. 和你需要提供服務(wù)的客戶保持好關(guān)系
讓機(jī)器做它們擅長的事情(反復(fù)重復(fù)過程)。讓你去做你擅長的事情時(shí)(關(guān)心、設(shè)身處地、提問、傾聽、領(lǐng)導(dǎo)、教學(xué))。
你的客戶不像你那樣關(guān)心三大項(xiàng)。他們關(guān)心他們的需求是否得到滿足。
5. 向那些為你奠定基礎(chǔ)的人致敬
當(dāng)你想到計(jì)算機(jī)、機(jī)器學(xué)習(xí)、人工智能、數(shù)學(xué)等領(lǐng)域時(shí),你會(huì)想到誰的名字?
Ada Lovelace,Geoffrey Hinton,Yann LeCun,Yoshua Bengio,Alan Turing,F(xiàn)ei Fei Li,Grace Hopper,Andrew Ng,Jon Von Neumann,Alan Kay,Stuart Russel,Peter Norvig?
當(dāng)然,在你聽到或記住的所有名字中,有1000個(gè)名字功不可沒,但卻從歷史書中消失了。
后起之秀應(yīng)該認(rèn)可前輩們做出的巨大努力,但也應(yīng)該認(rèn)可他們中的每一個(gè)人都會(huì)告訴這位新晉的機(jī)器學(xué)習(xí)工程師同樣的事情:這個(gè)領(lǐng)域的未來取決于你的工作。
6. 不要低估了完全重寫的力量
你的目標(biāo)應(yīng)該是在第一時(shí)間構(gòu)建可靠的東西。但隨著技能的提高,你可能會(huì)想重構(gòu)之前的作品,拆掉它們,用新的視角重新創(chuàng)造它們。
自學(xué)成才的機(jī)器學(xué)習(xí)工程師都明白,就像大自然一樣,軟件和機(jī)器學(xué)習(xí)項(xiàng)目永遠(yuǎn)不會(huì)完成,它們一直在運(yùn)動(dòng)。數(shù)據(jù)變化,代碼在新的硬件上執(zhí)行,一個(gè)天才發(fā)現(xiàn)了一個(gè)計(jì)算高效,低內(nèi)存依賴的優(yōu)化器適合,并稱之為Adam。
你不僅應(yīng)該對這些變化持開放態(tài)度,還應(yīng)該歡迎它們。一旦它們出現(xiàn),請使用你比較好的判斷力來判斷它們是否值得實(shí)現(xiàn)到你的系統(tǒng)中 —— 僅僅因?yàn)橛行〇|西是新的,并不意味著它是必需的。
7. 避免在工具上濫情
在編程界,一個(gè)常見的軼事是粉刷自行車棚。它說的是一個(gè)程序員,或者一組程序員,擔(dān)心的是車棚應(yīng)該是什么顏色,而不是問一些重要的問題,比如車棚是否真的可以存放自行車。
當(dāng)然,這個(gè)自行車棚也可以用電腦程序來代替。
在機(jī)器學(xué)習(xí)的世界里,你會(huì)聽到關(guān)于R還是Python、TensorFlow還是PyTorch、書籍還是課程、數(shù)學(xué)還是code first(兩者都有,記得這三位一體吧)、Spark還是Hadoop、Amazon Web Services還是谷歌云平臺(tái)、VSCode還是Jupyter、Nvidia還是……的無休止的爭論。
所有的比較都是有效的,但沒有一個(gè)值得與對方爭論。
你應(yīng)該回答的真正問題是:用什么可以讓我以最快、最可靠的方式建立我的想法?
一旦你問自己這個(gè)問題,你會(huì)發(fā)現(xiàn)其他人都在問自己同樣的問題。
工程師的詛咒是從工具開始,然后尋找問題,而不是從問題開始,然后尋找工具,只有到了那個(gè)時(shí)候,如果沒有合適的工具,才應(yīng)該去構(gòu)建它。
學(xué)習(xí)資源也是如此。數(shù)學(xué)、代碼和數(shù)據(jù)的三大項(xiàng),在你學(xué)習(xí)它的時(shí)候就是不變的,唯一重要的是你如何使用它。
不要忘記:許多問題可以在沒有機(jī)器學(xué)習(xí)的情況下解決。
8. 你的想法是商品
不要把一個(gè)執(zhí)行好想法的人與竊取你想法的人混為一談。你的想法在別人手中比在你的頭腦中更有價(jià)值。
作為一名工程師,你的角色不僅是建立自己的想法,而且還要與他人溝通,向他們展示如何從這些想法中獲益。如果你缺乏這樣的溝通能力,你應(yīng)該與有這種能力的人合作,或者尋求培養(yǎng)這種能力。
在一個(gè)沒人知道該相信什么的世界里,你可以通過做真實(shí)的自己來區(qū)分自己。誠實(shí)面對你做的東西所能提供的和你所不知道的。能夠承認(rèn)自己的無知是一種優(yōu)勢,而不是弱點(diǎn)。
好的技術(shù)總是勝利的,撒謊永遠(yuǎn)不會(huì)勝利。構(gòu)建技術(shù)。不要撒謊。
9. 你的鄰居、同事、同學(xué)和伙伴也在思考這個(gè)問題
你看到別人的進(jìn)步而嫉妒嗎?或者你把它看作是你能做到的事情的動(dòng)力?
你對別人的成功的感覺就是你自己成功時(shí)候的感覺。
10. 不能貪
你應(yīng)該尋求建立你運(yùn)用三大項(xiàng)的技能,回答那些你想要提供服務(wù)的人的問題,但你不應(yīng)該帶著欲望這樣做。欲望會(huì)詛咒你,讓你永遠(yuǎn)過于嚴(yán)肅地看待未來,而不是享受你現(xiàn)在所擁有的。
對提高技能的渴望的治療方法是培養(yǎng)對學(xué)習(xí)的熱愛。
自學(xué)成才的機(jī)器學(xué)習(xí)工程師能夠很快地學(xué)習(xí)利用數(shù)學(xué)、代碼和數(shù)據(jù)力量所需的概念,但不能匆忙行事。他們明白學(xué)習(xí)任何有價(jià)值的技術(shù)都需要時(shí)間,如果是這樣的話,還不如享受這個(gè)過程。
從一開始,你就是對自己的啟蒙和教育負(fù)責(zé)的人。知道了這一點(diǎn),你就應(yīng)該選擇那些無論你有什么樣的運(yùn)氣都能成功的項(xiàng)目。這個(gè)項(xiàng)目是否滿足了你的好奇心?它是否對你的技能構(gòu)成挑戰(zhàn)?它可以讓你遵守這些戒律嗎?如果是這樣,就足夠了。
最后,在沿著自己的道路行進(jìn)的同時(shí),自學(xué)成才的機(jī)器學(xué)習(xí)工程師在他們的腦海中一直保持著這樣的印象:
- 沒有知識(shí)就沒有資質(zhì)
 - 沒有行動(dòng)就沒有思想
 - 沒有享受就沒有學(xué)習(xí)
 - 沒有風(fēng)格就沒有創(chuàng)造
 - 沒有實(shí)踐就沒有技巧
 - 沒有工具就沒有目的
 - 沒有展示沒有貿(mào)易
 - 沒有懷疑就沒有假設(shè)
 - 沒有貢獻(xiàn)就沒有消費(fèi)
 - 沒有對現(xiàn)在的愛,就沒有對未來的渴望
 - 最重要的是,沒有三大項(xiàng)就沒有機(jī)器學(xué)習(xí)
 















 
 
 







 
 
 
 