【杂谈】为什么你学了AI,企业却不要你
文章首發于微信公眾號《與有三學AI》
【雜談】為什么你學了AI,企業卻不要你
前幾個月花了一些時間招實習生,面試了近10個,最后只發了一個offer,因為實在是不滿意。近半年也跟一些負責招聘的同行們聊過天,再加上18年秋招形勢的印證,我們自己內部的需求,現在就是這樣的狀態。
眾人都在學AI,企業卻愁招不到人,現在已經不是誰混混都能入行的時候了。
為什么呢?歸根結底還是大部分人能力達不到要求,牛人只會被哄搶,牛人就算有缺點,也可以忽略,而普通人如果沒有優點,誰要你啊。
?
01?以下幾種人企業不想用
為什么學習的人那么多,企業卻不想要呢?我覺得主要是這幾方面的原因,以圖像領域為例。
1.1 基礎非常不扎實
很多人是直接跳進來深度學習這個方向的,說白了就是直接從所謂的python+tensorflow等開始,充其量再看了幾門網課。
但正確的入行或者說學習流程應該是這樣的,分兩個方面。
首先是編程基礎
linux基礎,包括熟悉linux各類環境配置,熟悉shell腳本,熟悉cmake/make編譯環境。
git基礎,熟練使用github等,學會版本控制。
c++基礎,熟悉c++的基本語法,類的設計,代碼的編譯與調試。
python基礎,需要非常熟悉矩陣運算,各類基礎庫的使用。
了解開源框架,這就是大部分人的水平,知道某個開源框架的基本使用。
熟悉開源框架,需要熟悉主流的開源框架,掌握高級用法,閱讀過源代碼。我們不能指望只掌握一個開源框架,難道只會tensorflow或者pytorch,放棄Google和Facebook其中的一個嗎,或者不會用Caffe永遠無法在公司完成移動端模型的訓練和部署。還有太多太多,可以慢慢來。
不拼顏值的編程世界,只有一步一個臺階才不會將來捅婁子。
然后是算法基礎
信號處理與圖像基礎,包括熟悉信號處理領域的基本概念,圖像的基礎概念和基本的算法,這些現在與深度學習方法的結合越來越多。
傳統機器學習,指望深度學習對所有任務end-to-end解決是不可能的,深度學習往往都只是解決問題的第一步,許多任務(比如平滑跟蹤,重建等后處理)的精修全部都需要使用傳統方法。不會,往往就意味著不能獨立完成一個項目。
深度學習入門,所謂入門就是知道使用一個框架,拿出一個不錯的模型,跑完一個任務的整個流程,或許還會做一些簡單的改進,這也就是大部分人的水平,能把任務做到95%卻做不到98%。
深度學習進階,到了這一步才是收入的分水嶺。需要有豐富的項目經驗,比較扎實的理論基礎,才能用同樣的資源作出完全不同的效果,說起來要會的就太多了,此處略過。
準備好生發吧。
1.2 態度非常不認真
如果你是牛人,有著超出大部分的聰明才智,能一個人干翻一個團隊,就算其他都是缺點,沒問題。
如果你只是普通人,愿意多付出很多時間,喜歡查漏補缺別人不做但是卻可能對項目非常有用的方案,那也沒問題。
如果是其他的,我就不會招了。
有一個老大跟我說:“招一個不靠譜的人來做事,我付出時間還放心不下,不如讓老員工來。”
企業要的是從頭到尾,可以把事情放心交給你的人。
大部分任務確實并不難,誰嘗試的方案,跑過的實驗多,誰更加細心,就有可能做的更好。
有人不愿意花時間篩選數據,只等著別人送過來數據,擼起袖子就開干。
有人不愿意多跑幾個實驗,搞到一個勉強的指標就想交差了事了。
有的人這也懂,那也懂,做出來全是錯的。
1.3 熱衷學習,能說會道不會做
這一類人的特點就是,看了大量的書,聽了大量的課,說起來頭頭是道,但卻不喜歡實踐。只要針對某一個問題問一點細節,一戳就破。
想想也是,摟著女朋友看書看視頻當然很舒服了,誰還看不懂呢,但是時間長了,花拳繡腿與紙上談兵就原形畢露了。
因此奉勸這些朋友們,早日爬出舒適圈,從簡單事情開始做起。
?
02?學習AI需要哪些技能
這一行是一個交叉學科,需要的技能非常多,以計算機視覺為例,為了保證工作的正常獨立進行,以下可以說是必備技能。
2.1 編程基礎
熟練使用linux,git,vim等環境和工具。
熟練掌握 C/C++、Python等編程語言。
熟練掌握cmake,g++等編譯工具。
如果以上基礎不扎實,后果是什么呢?
別人的代碼不會用,看不懂。
遇到簡單bug調半天,稍微復雜一點自己根本搞不定。
寫出來的東西公司不能用,不敢用。
2.2 算法基礎
熟悉傳統圖像算法,機器學習算法。
熟練跟蹤并閱讀行業前沿研究,復現結果。
系統性熟悉深度學習理論。
如果以上基礎不扎實,后果是什么呢?
目光局限,基礎概念需要到處查漏補缺。
論文看不懂,效率低下。
無法創新,只會用現成的。
2.3 框架基礎
熟練掌握 Caffe、TensorFlow、pytorch等以及不斷新出的開源平臺。
如果以上基礎不扎實,后果是什么呢?
無法驗證別人的方案,代碼經常跑不通而放棄。
無法復現別人的論文,只能停留在看熱鬧的階段,等著別人開放源代碼。
2.4 其他基礎
掌握爬蟲等前后端的基礎知識。
了解并熟悉Cuda等GPU編程技術,了解一些移動端的硬件知識。
了解并熟悉 Android、iOS 等移動端的基礎知識,在項目中可能會需要使用。
如果以上基礎不扎實,后果是什么呢?
日常項目無法獨立開工,永遠需要別人幫助才能完成項目。
個人能力有限,職業生涯天花板明顯(當然,如果你在前面的算法等領域達到了頂尖水平,可以不需要這些附加技能,不過一般達到頂尖水平的人,這點技能早就會了)。
不要羨慕別人家的本科生收入遠遠高于你。
想想自己有別人一半的厲害嗎。
感謝各位看官的耐心閱讀,不足之處希望多多指教。后續內容將會不定期奉上,歡迎大家關注有三公眾號 有三AI!
?
總結
以上是生活随笔為你收集整理的【杂谈】为什么你学了AI,企业却不要你的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【AI基础】OpenCV,PIL,Ski
- 下一篇: 【AI杂谈】从一篇参考文献比正文还长的文