機器學習相關從業者如何兼顧理論與工程能力

2021-10-05 08:21:54 字數 1946 閱讀 8629

理論與工程

首先,小夕說一下自己目前對理論與工程的理解吧,這也是小夕當前研究理論和熟練工程時主要的出發點。(僅為個人思考,請勿當成真理

理論注重的是學科中各個知識點的大一統,將各種散亂的演算法、現象、技巧來歸結到一張大網中。這樣在新理論、新技術到來的時候,你可以很快的從這張大網中get到新理論、新技術的本質,並將這些創新納入你的大網,並且可以反思這張網,歸結出其中的規律或者疑問,以此為突破點來「靈光一現」出創新的idea,說不定就是一篇轟動學術界的**。

而工程,或者說用於實現想法的**,則是對某個理論點的細節化實現。雖然在理論上只需要幾個數學公式就描述清楚了,但是用**實現的話往往充斥著大量細節需要仔細斟酌,一不小心就是乙個bug。當然了,一些太過複雜的演算法,如最優化演算法,一般都在各種優秀的科學計算庫里封裝好了,調調api就可以了。但是每個工程總是有一些數學細節和小trick需要自己去實現或優化的。在工程裡遇到的問題,有時也可以抽象成理論,反思一下或許也是乙個改良模型的idea,發個小**也行呀。

然後,鑑於大家喜歡聽故事,就講講小夕自己的故事啦。

故事一小夕是在大二暑假的時候接觸的機器學習相關領域。在那之前,是移動計算特別火熱的時代,就像現在是個程式設計師都喜歡吹噓自己是做機器學習的一樣,那時候好像身邊的同學(當然包括小夕自己),都喜歡吹噓自己android開發/ios開發多麼多麼厲害,又上架了乙個ios應用賺了幾塊錢之類的。

小夕也有幸在那個時代啪了好多**(哪像現在,沒敲多少行**的就開始坐等幾天的模型訓練,然後改改引數,又開始坐等了),也因此熟悉了各類平台(linux、android、ios)。

然後那時候,形成的一種錯誤的思維就是「變成xx開發者/工程師無非就是將xx平台的api熟練一下,然後深入平台、框架的原始碼」,因此都快把數學丟乾淨了。

那時每天就是開腦洞,觀察生活,蒐集idea。然後借助xx語言在xx平台,甚至搬出微控制器,來實現這個idea。在這個過程中,小夕發現用**實現乙個想法的時間遠小於除錯自己的爛**的時間,於是紮進各種語言和平台的細節裡無法自拔。

故事二大二暑假,在機緣巧合下,被某個老師帶去做人臉識別了(那時候實驗室裡沒人知道深度學習是啥),然而小夕還是帶著舊思維去做,最終的結果匯報如下:

「老師,這裡我用pca做的,效果還不錯。但是我想試試svd。」

(然後老師很慈愛的在心裡默默說了一句「逗逼」。)

「小夕,你講一下這部分怎麼實現的」

「啊,好的。這裡用兩個for迴圈就可以了,第一層@#$%&,第二層#$%^&」

「停停停,別講這些細節,講原理」

「啊,好的。這裡就是先用那個***函式預處理一下,然後用這個svm函式訓練乙個模型,然後呼叫模型的predict這個api得到結果」

「停停停,講原理,講原理!你為什麼要用這個演算法預處理?你為什麼要用svm呢?」

「啊。。。因為我用了opencv裡其他完成這個功能的api,效果都沒這個好啊」

沒錯,這是很真實的一次開會的內容。現在每次想到都深深的尷尬。。。

那時候,深深的感覺到玩弄黑匣子的笨拙,就好像試圖用暴力法解決一切演算法問題一樣笨拙。

故事三然而,你們沒有想到的是,後來,小夕又矯枉過正了。在惡(chong)補(xue)了微積分、線性代數、概率統計後,一頭扎入機器學習和影象處理演算法無法自拔。以致於半年之內,除了用matlab練了幾個小demo外,絲毫沒有敲**。

然後,都是淚...現在真想回大學裡跟那位帶我做人臉識別的老師說聲謝謝。

正文走上正軌是在上研究生以後,深刻的認識到在這個研究方向上,理論與工程缺一不可。於是摸索出如下自認為比較舒服、效率比較高、不易造成理論或工程斷層的方法或原則:

除非工程任務壓得緊,否則在學習乙個新演算法/新模型時盡量先從數學角度理解透,納入理論的大網下,再去看形式化的演算法過程。

而形式化的演算法過程要盡量與數學過程對應起來,如果感覺斷層大,要盡量試圖找到斷層。如果實在找不出,或者精力少,則一定要記下這個斷層。

之後就可以用**去實現形式化的演算法了,在這個過程中,就不要再過多糾結它的數學原型了,而是要試圖從「感性意義上」去理解演算法過程,並且用**去實現這個感性的演算法過程。

如何成為真正的ERP從業者

的確,erp就是讓人費解的東西。1 erp行業 入門淺,靠積累。有很多人覺得進入erp行業很難,其實只要有電腦操作熟悉這個基礎,就可以入門了,現在的erp產品基本上都是選單式,操作越來越簡便,然後掌握企業的基本業務流程知識就可以了,你例如採購流程,銷售流程等等。從事國內軟體基本上可以這樣,國外的sa...

VR快速發展下,從業者如何把握機會?

美國科技部落格venturebeat週末刊登賽斯 沙赫納 seth schachner 的文章,分析了在虛擬實境快速發展的情況下,業內所面臨的機會,以及如何把握這些機會。沙赫納是資深的數字戰略和商業開發專家。近期,你可能已看到了大量的 報道 虛擬實境即將給各行各業帶來突破,無論是消費者還是企業。作為...

AI 從業者該如何選擇深度學習開源框架丨硬創公開課

正如程式語言一樣,深度學習開源框架同樣各有優劣和適用的場景,那麼 ai 從業者該如何有針對性地選擇這些平台來玩轉深度學習?本期公開課特邀了先後在谷歌 亞馬遜 微軟供職的機器學習科學家彭河森博士為大家講述 mxnet火了,ai從業者該如何選擇深度學習開源框架 彭河森博士親眼見證並深入參與了這三家巨頭布...