如果不讀博士,做深度學習能找到工作嗎?還想學一下編程,C++和python,該怎麼學習呢?

本人在研究卷積神經網路方面的圖像分類,分割。大多都是看論文,拿來模型直接用,並沒有用到圖像處理的演算法。在我來看深度網路就是一個黑箱,不需要先驗知識,只需要丟入訓練集就好,深度學習也就是個挑參的過程,歡迎拍磚~
所以,要想碩士畢業找工作,也不用過過深度學習機器學習這部分的都可以勝任吧。
不想讀博了,所以是該苦練編程本領找研發呢,還是繼續做機器學習
PS:現在對深度學習機器學習充滿了興趣 也很羨慕一些群裡面已經工作的人還可以繼續研究這方面
但是本人是比較慘的碩士,沒有系統學過編程,也求一下如何學習編程的指導~C++和python,該選哪個呢


我的建議是都要學
題主把這行想的也太簡單了 實際情況是 想轉機器學習的很多 但是面試很久根本找不到一個合適的
很多人都被網上各種七分鐘掌握深度學習的教程誤導了 以為拿個數據集來 找個現成的網路 調用個API就搞定了
可是真正的工業界哪裡有這麼簡單?哪裡有現成的數據集?數據集怎麼構造?如何清洗?數據體量都是上億 代碼寫不好 跑不死你?部門大量工具都是C寫的不會C行只會python行嗎?這麼大數據 不會Hadoop spark搞得定?這麼大數據訓練 不會參數伺服器 不會分散式搞得定?
模型調參就簡單?深度學習是黑箱,就更要有比較高的理論水平,否則你連怎麼調參的門道都找不到,為什麼不收斂,你都想不出來。
模型訓練出來就萬事大吉了?模型太重速度太慢 不符合業務需求 怎麼辦?怎麼模型壓縮?模型怎麼上移動端?移動端沒有合適的機器學習架構,你能不能寫一個?
一個模型上線就完事了?想進一步提高性能,怎麼辦?是不是要緊跟學術前沿,能讀懂paper,快速實驗?這對英語和數學編程都有很高要求。
這說的都是深度學習的,然而很多場景是不適合用深度學習的。那決策樹模型,進一步的集成學習,隨機森林和GBDT你得懂。統計學習的你得懂,貝葉斯SVM和LR你得懂。有些業務還得用HMM,CRF或者NLP的東西。所以還是要先虛心學習一個。


我從工業界與學術界對人才要求的區別的角度來給題主解惑。首先打擊一下題主(打不垮你的都會使你更強),我從題目描述上看的話,以題主現在的積累應該還遠不足以的踏進工業界高端起點。


工業界與學術界不一樣,工業界注重的是你解決問題的能力,而不是在某一個點鑽的有多深。拿計算機視覺來說,如果題主僅僅是鑽研了CNN、RNN等幾個神經網路中的model的話,那麼面試中的基本知識估計就砸死題主了。

工業界中的對應崗位一般叫演算法工程師---xxxx方向,而不是叫深度學習工程師。這本身就表示在工業界對人才的一項要求就是要有足夠寬的基礎和知識面,比如你的工作圍繞基於CNN的圖像識別,那你最起碼要懂cv中的流行框架、庫、基本預處理操作等,像C++、python當然是最基本的工具,庫的話最起碼OpenCV得很熟吧,除此之外,其他機器學習模型,svm、隨機森林等這些看起來所謂的有些過時的模型你也要懂才是,畢竟不是每個圖像識別任務都有那麼大的數據集,有些小樣本分類問題或者某些硬體資源限制的特殊任務,都使得你無法用深度學習框架來搞定,必須要用這些所謂的過時模型。那麼企業總不能因此再去招一個人吧?當然是一個合格的應聘者必須掌握這些基本模型啊。僅僅靠一個CNN,甚至說僅僅靠深度學習理論,遠遠不足以讓你穩穩擁有工業界的高端起點。

更不必說深度學習能流行多久。如果下一個人工智慧,確切說機器學習的浪潮如果不是神經網路了呢?甚至如果不是基於統計的機器學習了呢?比如符號機器學習突然火了呢?比如冒出來一個超級隨機森林?那麼這時只有理論紮實又工程面寬的人才能繼續立足吧。如果這時你懂一些資訊理論里的東西,懂一些比較高深的數學理論比如流形、泛函,那麼你的適應能力會強很多,或者說你的再學習能力、趕潮能力會強很多,因為你已經了所謂深度學習背後的原理了。再大的變革,再複雜多變的工程任務,也不可能基於空中樓閣的理論來完成,你都具備了紮實深厚的數學基礎以及寬廣熟練的工程應用能力了,那你還管什麼深度學習是不是黑匣子,管什麼cnn調參看起來容不容易,此時的你只知道如何最優雅的解決這個工程任務。一個最近鄰演算法就能解決的問題何必上升到深度學習框架上去呢?

關於如如何入門機器學習/深度學習/模式識別,我在訂閱號里寫啦,進我的訂閱號找到【史上最萌最認真的機器學習/深度學習/模式識別入門指導手冊】就可以啦~相信您會被小夕感動到的,喵喵喵


看見回答里有這麼多的「題主恕我直言」,我就放心了。

機器學習不要太熱哈。最近面了些演算法的崗位,什麼幺蛾子都見了。是個公司都要搞機器學習,上機器,存數據,覺得自己萬事俱備,就欠招個演算法工程師了;我見過有公司把文檔里所有的名詞,都加上了「雲」,就說自己邁入了智能化時代,不是我騙人,真事兒,一真世界500強公司;然後形形色色的人都開始轉行機器學習了,我見過一中醫自學了編程來搞機器學習你信不信。

這簡直不是浮躁和泡沫這一類詞可以形容的狂熱。簡直詭異。

利益相關,數據工作者。三年前本科畢業,機緣巧合開始做數據,覺得大數據好酷炫,機器學習要上天。哦,對了,我是數學專業。當時的情況是,理論說的一套一套,模型畫出來好美,我還能給你從頭到尾把所有的公式推一遍哦,我是不是好棒棒。

但是我不會編程。

所以,學。去讀了個計算機碩士,狠修了機器學習和大數據的課程。工作中,也學。學編程,學分散式,學開發。和科班出身的工程師不能比,但Python, Hadoop, Linux還是扛的下來的。

這是一個數據工作者的基本素養。

三年了,還在上下求索。有直接做演算法工程師的機會,但公司和團隊,談下來,好多都是開頭那麼個情況,指望我過去撐起一片天,也是迷,臣妾做不到。。。所以目前進了個至少平台和資歷靠譜的人工智慧團隊,目測給一群博士打雜。

求一個安心。

題主似乎覺得機器學習就是調個API的事情。

誠然,機器學習的門檻已經很低了。很多場景下,機器學習並不是個多麼高深的事情。調個包,調個參,完美。

但你有沒有想過,這樣一來,你的工作實在是有太大的可替代性了。

你看現在知乎都沒有人問人工智慧是不是有泡沫這樣的問題了。目前的情況就是就是泡沫不要太大哈。

我呢,對自己的要求很簡單,任何時候,數據這個行業,洗牌也好,擠泡泡也好,不要把我洗出去。

從業三年的感受和觀察是,機器學習這個東西,從0到60分很容易,60分到80分已經可以劃分出專業選手,80分再進一步,是高手的遊戲。

見過一些高手,不描述了,反正就是底子厚,厚積薄發。人家要麼好好的讀了個博,要麼從工作中歷練出來,不糊弄,對得起自己走過的路。

我想成為他們那樣的人。

搞演算法,數理基礎,機器學習理論,編程能力,工程能力,無一不是你的內功。

要不你以為市面上動輒百萬年薪的演算法專家的需求哪裡來的,人家請你去調參么。。。

回到題主的問題。

所以,要想碩士畢業找工作,也不用過過深度學習機器學習這部分的都可以勝任吧。

  1. 完全沒問題啊,我當年本科畢業都還找到數據相關的工作了呢。看你自己要什麼。真的,機器學習熱成這樣,找工作分分鐘的事啊,如果你願意去我上面描述的公司,願意保持一個半吊子的水平,和一群對自己領域無所謂深刻的人共事,off you go。如果你不願意,那麼請對自己要求嚴格一點。但無論你的選擇為何,請記住,真到了調參的時候,一個半吊子的我,怎麼拯救一個半吊子的你。。。
  2. 關於博士 &>&> 我不是博士,但對博士還是保持敬畏之心的。倒不是說工作上博士就一定更棒棒噠,但機器學習這一塊,博士還是享有更多的話語權。

不想讀博了,所以是該苦練編程本領找研發呢,還是繼續做機器學習

&>&> 這兩點完全不矛盾,數據挖掘工程師/演算法工程師/深度學習工程師/人工智慧工程師/各種要上天的工程師,首先是一個工程師。你不需要對標專業的軟體工程師,但你至少要能把自己的想法和模型實現出來吧,效率什麼的求助下無可厚非,但你總得把演算法的prototype寫出來吧,要不您畫一個模型的推導,去找工程師幫你實現?簡直是段子。就我自己的所見所感,一個寫不好代碼的數據工作者,受到同行和團隊尊重的可能性極微,妄談話語權。

學習也好,工作也好,都是個自己對自己負責的過程。你哄它,它就哄你,其實糊弄不了誰,到底還是哄了自己。

所以做事情呀,不要只看眼前路,也要看看身後身。眼下為什麼大家都想轉機器學習,因為供不應求呀。

那麼好消息來啦,國內國外主流大學都已經開設了數據科學類的專業。從此機器學習/人工智慧/數據科學科班出身不是夢!

反正就我身邊,本科/碩士跑去讀數據科學的已經不下五個了,他們的課綱和項目我研究過,全面,靠譜,深入淺出總相宜。

一大波專業型複合人才正在路上。人家比你年輕,但比你專業。

每每思及於此,我都嚇得怒刷兩篇paper。。。

並且認真的在思考要不要去讀個博。


在我來看深度網路就是一個黑箱,不需要先驗知識,只需要丟入訓練集就好,深度學習也就是個挑參的過程

題主恕我直言,不要說深度學習了,你對整個機器學習領域一無所知

哦,科普水平還算是有點。

首先先驗知識的重要性我不多贅述了,專門探討先驗知識重要性的論文,以及根據先驗知識致勝的論文,多了去了。不然你以為為何CV,NLP,SpeechRecognition,RobotBehaviour等等領域裡當今最強勁的模型居然不是同一個?

另外順帶一提,一個被認可非常廣泛的觀點是,one-shot-learning的主要因素之一,就是機器學習系統能否有效重組自己所學的內容作為先驗知識。

然後「深度學習也就是個調參的過程」,你把所謂「調參」想的太簡單了,這裡的調參可能包括初始參數的選定(比如權重矩陣)、初始結構的選定、優化方法的確定(比如學習率,梯度動量,BM系統溫度變化,dropout比率,雜訊比率,L1/L2...等等)、模型結構的混合(Mixture of Local Experts),都是需要根據大量的原理性知識進行推斷、啟發的,而非隨便調節。簡單說,調參不是瞎貓碰死耗子,而恰恰是你結合自己的知識體系、數學/物理功底、領域先驗知識進行反覆推敲才得以進行的

我在此指出這一點的目的,並非單純修正題主的上述錯誤觀點,而是針對題主對一個領域的學習態度,回到題主的問題的話,我給一個結論是:

不讀博可以找到機器學習相關的工作,但題主現在的態度找不到機器學習相關的有價值工作,按照題主如此草率地下結論,只參考表面上看起來在做的事(比如「調參」),而忽略表面之下龐大而複雜的深層原理,那麼你在任何領域都只能達到科普水平,也就意味著這樣的態度在任何領域都找不到專業性的有價值工作

請不要說出「XXX不就是YYY」的話,去想想「XXX為何要YYY」。


利益相關,碩士畢業,目前在國內某公司做深度學習相關的工作(人臉檢測和自然場景文字識別)。

第一,首先回答題主的問題,雖然目前身邊博士居多,但碩士肯定是能找到深度學習方面的工作的。其實找不找的到深度學習相關的工作和學歷木有太直接的關係,有認識本科畢業目前搞深度學習做的也挺好的。
第二 ,感覺題主對於深度學習了解的還不夠,尤其對於工業級的深度學習,工業級的深度學習其實數據才是關鍵,就cv來說千萬級甚至億級的非標數據的處理,特徵的二次選擇,某些場景沒有訓練集,這都是難點,深度學習並不是簡單的那個現成的數據集訓個模型就行的。此外工業上相比於精度在某些時候更關注於速度與模型的大小。還有就是深度學習其實沒有那麼高深,無非就是計算能力快速推進下的產物。
第三,對於題主第二個問題,編程語言的話,如果真的像在工業界用深度學習作出可用的產品,c++和python都是需要的,python有一些現成的庫,更方便上手和調試,要想真正的實現產品速度和大小的優化以及線上的部署還是要把c++好好學一下


我有時會覺得好像真正在從事深度學習工作的人大部分都在實實在在地鑽研解決問題的辦法,但媒體卻總是拿著人工智慧的噱頭對深度學習大做文章。這樣的結果就是很多對深度學習不夠了解的人開始take things for granted,覺得深度學習是很多問題的一個簡單粗暴的解決方案,只要扔數據,就能表現好。

深度學習裡面利用先驗知識的例子多著了,為什麼在CV任務里表現最好的是CNN,而不是RNN或者純粹的MLP呢?為什麼locally-connected layer對人臉相關的任務比其他層不知高到哪裡去了?為什麼我們要搞multi-task?

深度學習模型的訓練的確是一個調參量特別大的工作,但如果題主覺得深度學習=調參,那對學界和業界眾多從事深度學習研究/工作的人們都是不fair的。為什麼Kaiming之前沒有人能搞出一千多層的神經網路,residual connection真的就是調調參,拍拍腦袋就想出來的么?劃時代的工作是需要insight的。

題主如果想進入業界從事相關工作,我覺得你需要明白雖然我們或許沒有學界從事相關研究的人鑽得深,但我們的工作遠不止於扔扔數據,調調參數,起個訓練,看看準確率。舉個例子,現在幾乎所有的圖片分類模型都是在Imagenet,cifar這樣的數據集上benchmark的,對於每個分類任務來說,intra-class variance和inter-class bias都不同,一個網路在Imagenet上表現力壓群雄,在工業級,龐大,複雜的數據集上一定就表現好么?互聯網上的數據千變萬化,我們要怎麼去評估我們的模型,歸納優化方案,加速迭代呢?

一個博士學位並不是找到深度學習工作的必要條件。我們並不是在照搬學界的成果,復現一下,然後就做成產品,我們是在用機器學習的方法解決實際的問題,這份工作需要的是細心,肯鑽研,學習能力強的人。如果題主確實是對這方面的工作感興趣,我的建議是從機器學習的基礎開始,好好提高姿勢水平。而不是網上下個訓練好的模型,跑了一下work了,就覺得懂深度學習了,那是別人的成果。


深度學習里有一大誤區坑了不少人,那就是「別人行,我也行」

兄弟你試試嘛(/ω\)


把先驗知識引入神經網路,NLP上有一些有趣的嘗試,比如這個arxiv.org ,將神經網路和知識圖譜結合起來做語言模型,取得了很不錯的效果。CV上不太了解,有的話請推薦論文~
編程語言不應該成為一個問題,先把基本知識都學一遍,高級特性需要用的時候趁學就可以了;畢竟演算法實現里抽象層次並不太多,用不到多少高級特性,趁學是來得及的。如果你實在還糾結到底學哪個好,說明你時間確實有限,那樣的話,Life is short, you need Python。


目前於國內某上市公司從事深度學習演算法研發的工作,這個工作讓我獲得了一份滿意的薪資,這份薪資是我本科畢業那時所不敢想像的,也未曾想過會如此之快的實現,能夠讓我承擔起養家糊口的重任,因此,也特別希望有越來越多的人往這個方向發展

回想起以前在學校學習深度學習的時候,遊盪於各種深度學習的qq群以及csdn的各種博客上,有一次在伺服器上配置深度學習框架時,出現了第三庫編譯錯誤的問題,折騰了兩周時間還未能解決,後來在csdn上有幸受某位大廠的深度學習部門的大神悉心指導,從晚上八點教我各種排查錯誤一直到11點,我對於這位前輩來說,僅僅是一個陌生人,而這位前輩卻花了一個晚上悉心指導,實在令我感激涕零,這種品格也深深影響著我,我想,會有越來越多的人往這條路上奮勇前進,在如何入門這個問題上,希望我的經歷能給各位帶來幫助~

深度學習我個人覺得不是非得是計算機專業才能夠學習的,說如何入門之前,先說說我的背景,以便給大家樹立學好深度學習的信心~

背景:

我本科是機械專業,普通二本,當時大二開始想學習C語言,沒整明白,當年有一個心理障礙:搞計算機那是需要天賦的! 這個觀念可把我害慘了,看C語言看到大四,才會一些簡單的編碼,演算法啥的,想都不敢想~

本科畢業後,跟公司同事一起辭職考研,同樣準備半年,同事考上了,我卻連國家線都沒過,每天複習12個小時左右,其中用在數學上的時間大概有一半,結果考了52

這兩件事情是我大學到畢業一年之後所發生的事,正在本科同學都在各行各業開展自己的事業的時候,我卻開始懷疑自己的智商是不是有問題,發生的這兩件事真的讓我不知道我還能幹什麼,以後的路該怎麼走下去,女朋友更是不敢談,想著找家工廠,畫畫CAD圖紙,工資餓不死就行,什麼月薪過萬的,只能是看看下輩子有沒有機會了,哭~

或許當一個人跌到谷底的時候,就會開始反彈

誰也沒有想到,我會第二次辭去來之不易的工作,找同學借生活費維持考研期間的費用去準備第二次的考研,且順利考到了廈門大學,複試的時候,面試成績還是專業第一

誰也沒有想到,我會從一個C語言看了兩年才會一些簡單編碼的計算機新手,經過兩年之後,到上市公司去做深度學習演算法的研發工作,拿到的薪資是下下輩子才敢想的~目前已成家,工資在月供,剩下的錢基本上夠我和家人生活開銷,老婆的錢她自己存起來。

好了,到這邊,以上不是毒雞湯,僅僅是一個事實,相信以我的基礎情況,足夠給大家樹立學習深度學習的信心了吧!

深度學習如何入門? 恩,我都能入門,你們肯定也行!

進入正題:

很多的回答算是比較老了,現在已經出現了越來越多好的學習資料

1.數學基礎:搞深度學習的學生一般是研究生,剛經歷過考研,數學應該沒什麼問題,不是研究生當然也沒關係,把高數的求偏導那部分看下,做幾道練習題,推薦張宇的《高等數學18講》,以及《概率論9講》,淘寶買的書一般會贈送對對應的視頻課程,看不懂書可以看看視頻,都講得比較通俗了,並沒有必要去看市面上各種幾百上千的培訓班講數學基礎。凸優化屬於進階的內容了,我覺得入門階段可以先不用看

2.機器學習基礎:機器學習本身是一個龐大的領域,單單一個svm的推導就能把我們虐死,而在深度學習或者能夠在UFLDL教程中,Andrew Ng 已經告訴我們可以先看到邏輯回歸就好,看II,III,IV章(到邏輯回歸)http://openclassroom.stanford.edu/MainFolder/CoursePage.php?course=MachineLearning

備註:由於ng的機器學習課程是英文的,覺得不習慣的同學,也可以參考台灣李宏毅老師的機器學習課程(網上搜索資源),一口台灣腔,講得很棒啊,聽懂沒問題~

3.深度學習與計算機視覺:有了上面的兩個基礎,可以把李飛飛老師的網易雲課堂的公開課http://study.163.com/course/introduction.htm?courseId=1003223001#/courseDetail?tab=1給刷了,最好自己把卷積的bp過程公式推導一下,參考http://ufldl.stanford.edu/wiki/index.php/UFLDL%E6%95%99%E7%A8%8B 當然,也可以事先看看一些中文博客對卷積神經網路的通俗講解~

備註:同樣,不習慣英文的同學可以參考台灣李宏毅老師的深度學習課程(網上搜索資源),我覺得李宏毅老師也算得上一個機器學習領域的新星,哈哈

4.選擇一個深度學習框架開始搞事情了:像caffe TensorFlow pytorch 這三個我個人比較看好,用caffe來作為一個入門是非常不錯的選擇,把caffe自帶的幾個example跑通之後,可以開始著手選擇一個領域,看相關的論文,比如人臉檢測,開始訓練一些模型,其中會需要用到python或者matlab來處理一些數據集的格式,對應的編程語言要學習下

5.近期大牛吳恩達離開百度之後,自己創業,在網易雲課堂發布了一系列的免費課程,是關於deeplearning 的,在你有過一些實戰經驗之後,可以好好刷一下,地址如下:https://study.163.com/courses-search?keyword=%E5%90%B4%E6%81%A9%E8%BE%BE

6.學完上面的東西,也要花不少時間,因為每個人基礎不一樣,理解速度也不一樣,所以也沒必要強求跟別人比進度~盡心儘力就好

7.初步學完了上面提到的內容,可以算是入門了,但是如果要在畢業後從事深度學習方向的職業,是需要更多其他方面的積累的,到底掌握什麼技能才是企業真真正正需要的?在大型企業中,演算法的研發流程又是怎麼樣的?最好能在畢業之前找家公司在相關崗位上實習~我在知乎上整理了一個live,上市公司深度學習演算法研發 實習生心得 分享我在這個行業的心得體會,一方面幫助想往這個行業方向發展的同學指引方向,做一些有用的積累;另一方面幫助已經在實習的同學少走彎路,成為一名優秀的實習生。

大家從我的經歷可以看出,我並不是一個聰明的人,我只能說在考上研與轉行做深度學習演算法研發,這兩個事情裡面,我找到的是一個正確的學習方法而已,是絕大多數數普通學生足以去複製的~


我來打個比方吧。
不管是什麼xx學習,模型演算法都是引擎,實踐人員可以不去研究引擎怎麼設計,但是難道抱著引擎就說自己會造汽車了?誠然,引擎技術非常重要,但是那些與引擎相連數萬個非標(強調非標,也就是相當於我們這些直接用模型的人自己要造的部分)零部件也是一個汽車的設計難點啊。
丟數據聽上去很easy,可是,比如,Google的ad有上億個緯度,如何獲取數據?如何處理數據特徵?如何做特徵融合?如何降維?如何提高實時性?如何使線下線上性能一致?(線上會涉及開放非標記數據,這涉及一些強化學習)太多太多,這些都是問題啊!拿處理好的MNIST丟到現成的模型里,看著一台單機啪啪輸出一些信息,最後給個acc,這隻算是深度學習的hello world啊!現實生產環境哪是這麼搞啊。
面向工業上線深度學習系統,太難,難到非大公司投人投錢不能真正去做。
說了這麼多,就是想說明很多人把工業生產中的深度學習想得太簡單了。這對新手來說是好事,但是不能當一輩子新手。
所以我還是建議打好基本功,經典的機器學習理論方法思想該懂還是要懂,那些kNN,C4.5什麼的經典可是有原因的。這樣起碼不會浮於表面,就算深度學習這股風刮過去了(雖然我認為還能刮很久),也不至於無所適從。編程能力,數據統計的知識該積累還是要積累的。比較現實的方法也是比較接近生產的方法就是去打比賽,多練。
深度學習方面的人,現在來看,最不缺的就是夸夸其談的人。


題主你好,我覺得我的經歷或許對你有啟發,我屬於本科學歷進互聯網公司做DL的例子。

先說一下我的經歷吧。

15年211理工科大學畢業後我就去了銀行,今年三月份辭職在家自學編程(其實也不算自學,C++還是學過的)6月份找了一份unity的工作。進公司後因為表現優異,就提前轉正到了架構組,做一些造輪子的工作。每天基本是最早到公司,晚上公司沒有加班的習慣,我六點一般準時下班,自己租了個小房子,買了台高配的組裝機開始研究代碼。期間學過,安卓,vr(我自己買了台HTC VIVE研究過一陣子)spark和最近三個月一直在tensorflow。

我之前就很喜歡python,有點排斥C++(但也知道非常重要,就是討厭),期間為了點滿tf的技能點,也是學了很多演算法和linux的使用技巧。
就這樣算下來,我現在工作了半年,然後準備開始跳槽。

接下來說一下我現在去哪了,我家屬於二線沿海城市,互聯網公司的數量肯定比不上北上廣深這些地方。我再開始找工作前在拉鉤上看一下職位數量,發現也就幾家在做DL和CV方向的。也就抱著試一試的態度去面試的。去之前其實主要想了解這些公司的人做的方向是什麼,有沒有可能給我點啟發。畢竟我大部分對DL的認知都來自於知乎(笑~在這裡感謝一下知友無私的分享),對於公司內部需求其實不是很了解。

面試過程中,考官也表示,主要看重的是我快速學習的能力,還有溝通上的技巧。因為筆試的題我也就答個30-40分吧,其實面試官用筆試可能只是想淘汰掉一些連概念都沒接觸過的面試者。面試過程我不太方便透露,具體的來說,就是你對基本工具的掌握,是否滿足公司的JD,是否表現出能為公司解決實際問題的能力(可能你暫時不會,但你表現出你可以很快掌握和解決)。我總共面了兩家,拿到其中一家大公司的offer。

這裡說一下我的感想吧,現在DL在國內剛起步,屬於各個互聯網公司都在私下招募人才的時機,也屬於進入門檻較低,不會在工作年限和經驗上卡你的時候。公司如果有職位缺口,主要都是希望招募到 具有自學精神,啃得懂全英文檔,有技術熱情得員工。如果你能用具體的例子證明你是這樣的人才,難度就會降低很多。

再補充一下,題主想早點出來找工作得想法我是支持的。因為我本科階段也是浪了四年,畢業後的就業壓力讓我差點窒息了。但這種壓力,或許可以推動你進步,讓你變成一下以前想都不回去想成為的人(比如我就從學渣變成了一個技術宅)


潑個冷水,做任何事情不僅要知其然,更要知其所以然。如果這麼簡單就能搞明白,也不需要別人研究這麼久了。 題主說自己做cv的分類和分割,那你的Imagenet什麼結果?Pascal VoC什麼結果?MS COCO呢?Cityscapes呢?KITTI呢?估計題主連這些標準benchmark都沒吃透,更別說業界那些噁心人的非標準數據集了。公司僱傭你不是讓你做一個玩具,而是做一個能給別人正常使用的產品,這比刷榜難了至少50%,畢竟刷榜不需要考慮速度、功率、數據採集清洗和標註。深度學習lowbit玩過沒有?student model玩過沒?深度學習第一層換成SIFT或者HOG玩過沒?multi-task同時出幾個結果玩過沒,一般幾個task同時出會好?這還僅僅是我遇到的一小部分問題,很多時候我們解決了一個產品中的問題就基本可以發論文了。現在深度學習還處在高速發展階段,存在著很多問題,解決了這些問題才能做更好的研究和產品。建議題主做好長期戰鬥的打算,否則還是當碼農比較好,畢竟招人多門檻還低。


只看前半個問題,我還想著其實不用讀博士也行。結果看到後一半,還不會編程??Excuse me??

不要想一口吃個飽,先從python或者matlab開始學吧。


如果你認為
「深度學習也就是個挑參的過程」
看來你學的真的不咋地。。。



不知道要怎麼勸說。來看看我的產品傳送門:Aiism-人工智慧藝術處理。

這個東西的技術怎樣???不只有1個模板,還有其他的:

如果你懂得我這個東西的一些原理,那你可以往這方面走了。
想入門,請打好基礎吧。加油!
再貼一次傳送門:http://www.aiism.com 可以去研究一下。陸續還有新技術亮瞎大家的眼睛,這才是真正的入門級別!


工業界需要的是分析解決實際問題的能力,而針對機器學習領域的問題,這種能力就包括:

  • 紮實的理論基礎:數學方式表達,量化問題的能力,優化方法,統計方法,機器學習常用模型的理解,如svm,決策樹,cnn,rnn,它們哪些條件下work,哪些條件下不work以及計算機視覺的基本概念
  • 紮實系統編程能力:編程語言,編程思想,常用的演算法和數據結構,軟體工程(如何構建魯棒,高效,模塊化的代碼),還有對系統的理解比如程序的編譯,鏈接,裝載,操作系統的原理:有時候你python里調用的cpp庫出了問題,你必須知道是系統的那一步出了問題,比如某一份cuda代碼是針對gtx 1080編譯的,而你的機器是titan x,那麼你需要修改編譯選項,但是如果你不了解系統,這時可能最後是一個invalid device function errror,這樣的錯誤是很難察覺的。

而就目前的理論方法而言,在機器學習領域,問題都是和數據相關,沒有哪一個模型在所有的數據上都work,以目標檢測為例,在pascal voc數據集上效果好的模型,在coco數據集上(目標更小,類別更多)效果就不一定好,更不用說實際場景中的數據可能存在很大的差異性比如視角,光線,解析度,遮擋等情況,甚至模態的不同比如遙感,紅外數據。那麼很有可能目前開源的模型在你面臨的問題數據上,並不work,你需要分析為什麼不work,哪一部分不work,需要你對數據,模型和現有的方法有深入的認識,這樣才能改進現有方法,或者重新設計模型。這還只是分析理解問題,當你思考出一個解決方案時,你需要實現它來驗證其效果,即便方法驗證效果好(可能基於matlab,torch或python),但是很有可能需要移植成c++代碼,甚至還要優化,這裡需要你對編程系統的熟練掌握。以我目前接觸的一個問題為例,我們需要訓練一個百萬人的人臉識別系統,目前就面臨訓練過程loss下不去的問題,那麼很有可能是:1)數據問題,我們每一個人只有兩張圖片,而且圖片變形很大,或者數據中還要噪音(清洗這些數據也是一個很大的困難);2)模型方法問題:目前開源的方法都只針對十萬量級,可能針對百萬並不適用。為了解決loss下不去的問題,我們需要check可能相關的每一個原因。另一方面目前的數據上千萬量級,訓練一次需要一個多月,如何加速大規模的訓練,需要工程上的考驗。

所以如果題主想在工業界的機器學習領域做真正有用的工作,建議題主紮實積累基本理論和系統編程能力!


挑參(數)?
您把這些演算法當成玄學PID控制了嘛( ??? ? ??? )


別光聽那些勸退黨忽悠了

相對而言計算機固然好找工作,但是現在行情總體不景氣啊,地主家也沒有餘糧啊


不請自來~本寶寶以一個正在秋招投演算法以及研發崗的碩士身份告訴你,現在懂深度學習都找不到工作的話沒有什麼能找到工作了。騰訊的計算機視覺研究員職位要求深度學習項目經驗而且筆試沒有編程題(不是說編程不重要而是給你增強信心),我面了小米、百度、滴滴、阿里、京東等等公司的演算法和研發崗,沒有一次不問深度學習的知識的。
所以你做深度學習,起點非常好!

但個人認為只做一個調參boy或者girl沒有多大前途,畢竟你用開源框架tensorflow、torch也是要python、Lua語言的,而且你還得過筆試,不是所有公司演算法工程師都不要寫代碼的,更大的概率是演算法工程師的編程題對性能要求更高,比如今日頭條。一個合格的演算法工程師不僅僅是停留在理論上的研究和玩幾個已成熟的模型的,懂C++是必須的,因為很多框架的底層代碼都是cpp,底層代碼不是人家弄好了就放那給你用就可以了,你要進階底層代碼的學習往往比你會用一個模型重要得多;python是加分項,這門語言很友好,而且很受公司的歡迎,也學一學吧,你會了cpp再學python不是一件難事。
ps:身在互聯網行業,會一門正經語言一門腳本語言是標配。
怎麼學語言我只能說多寫多想多優化了,能優化的前提還建立在你對語言的底層數據結構、內存機制等等有所了解。

so,有深度學習項目經驗+熟悉模型原理乃至數學上的+模型調整的經驗和技巧+成熟的編程實現能力在目前2017的AI市場是可以找到很不錯的工作的(我的立足點在找比較好的啊)。就此你也可以明白,為什麼演算法的工資高。

lz請自行體會。


推薦閱讀:

程序員在 5 月 20 日這天有什麼特別的表白方式?
為什麼這兩年沒再聽說有什麼大規模的電腦病毒爆發?
如何用代碼畫出一隻齒輪?
高斯模糊的原理是什麼,怎樣在界面中實現?
用漢語能開發出計算機軟、硬體嗎?

TAG:編程 | 圖像處理 | 機器學習 | 計算機視覺 | 深度學習(Deep Learning) |