灵魂拷问:机器学习、深度学习专业已经沦为调包专业了吗?
有碩士同學問:小弟現在正在高校讀碩士,目前跟著導師做自然語言處理的研究,雖說聽起來高大上,但是做過的都知道,例如深度學習框架跑起來就是各種調包,運氣好湊個模型出來發發論文,技術含量就比較稀少了,感覺現在的工作隨便找個由點編程經驗的培訓一下就能上手了。
所謂外練筋骨皮,內練一口氣,想請教一下各位大佬:你認為計算機專業真正的價值在哪呢?把編程部分剔除之后,計算機真正該研究的是什么呢?它的氣又在哪兒?
本文來源:知乎
回答一
作者:演奏代碼的程序媛
鏈接:https://www.zhihu.com/question/327494084/answer/1641774776
目前來看,起碼在計算機視覺和自然語言處理領域確實是這樣。
深度學習當前最主要的兩個應用也就是計算機視覺和自然語言處理。
其一,這兩個領域在專家們搞不清楚內部原理的情況下,就用不斷堆疊的網絡層數已經顛覆了傳統算法。
對于論文作者來說,你又說不出個具體原理,大家憑什么相信你的這個結構能達到自己論文說的精度?只能發論文的時候開源代碼,留給大眾檢驗。看當前深度學習論文有沒有用,先得看他敢不敢開源。
所以,現在大多數好用的深度學習算法都開源,包括目標檢測的rcnn系列,yolo系列,ssd等。
其二,也正因為說不出什么道理,真正深入研究各種深度學習算法和網絡結構的大牛,要不通過實驗室里強大的計算資源來試湊各種有效的框架(非常燒錢)——比如谷歌提出的inception系列網絡結構就是試出來的;
要不就是憑借對深度學習的深刻理解和強大的創新能力,提出了新穎的深度學習算法——比如提出反向傳播和玻爾茲曼機的Hinton,以及提出卷積神經網絡和將深度學習引入圖像識別的Yann LeCun(這里說的提出不是拍腦袋一想就瞎說的,人家是靠數學硬生生推導出來的),這種天才百年難遇。
而工業界又需要借助人工智能的東風提高自己公司的競爭力。但是大多數公司卻沒有能力自己設計好用的網絡結構和算法,只能照著大牛的論文來包裝。不會改只會用,這樣就造成了算法少、需求多的局面?,F在大牛提出的很多著名的深度學習算法,基本都被實現遍了。
其三,當前深度學習程序普遍用Python語言編寫,Python以包多、調包方便而聞名,在機器學習方面有著名的scikit-learn包,在數據處理方面有Pandas、圖像處理有skimage、pillow等,更別說主流的深度學習框架Tensorflow、Pytorch、keras等都主要運行在python下,copy別人的代碼復用簡單,只要你能找得到。
所以。在以上三個原因結合之下,目前起碼在這兩個領域,整個工業界都是在調包、調參。
做一個小的比喻:目前深度學習好比做中餐,師傅(論文作者)告訴你做包子要加入適當的鹽、大料、味精。雖然你不明白這個適當到底是多少,但是他順帶給你把餡兒和皮兒都準備齊全了,你需要做的就是按照自己的喜好把包子形狀捏一下。
再說說人才供求方面,目前做自然語言處理和圖像處理的,對應于企業的崗位是「算法工程師」。通過前邊所述,目前這個聽起來高大上的「算法工程師」,其實技術含量并不比開發高多少(甚至只會更低),學學吳恩達的課,就自稱算法工程師的不在少數。
但是目前大多數公司給的崗位工資比開發還高不少。
長久來看,只會調包肯定是沒有競爭力的,當大量「調包俠」涌入這個行業,擠掉行業泡沫的時候,算法工程師這個職位總會洗去鉛華,做一些更有難度和挑戰性的工作。
對于有志于未來進入這個行業的學生來說,我的建議有兩條路:
對于以后想做語音識別和計算機視覺的同學來說:
為了完成工作可以調包,但是趁著現在有大量的時間,最好可以自己親手實現一下主流的算法(雖然這個過程比較難),一來提高自己的動手編能力,二來深入理解算法設計思想,實在不行以后做開發也用的到編程能力。
對于以后沒有明確目標,只想從事人工智能的同學來說:
建議了解一下強化學習相關內容。強化學習算法才有可能制造出真正的人工智能,alpha go下圍棋那么厲害,起決定性作用的決策算法也是采用了強化學習的思想,更重要的是,強化學習算法對于數學要求更高,進入門檻也更高。
回答二
作者:霍華德
鏈接:https://www.zhihu.com/question/327494084/answer/721135096
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
我想你可能做了虛假的AI,虛假的AI有以下特點:
從不自己收集、處理、清洗、標注數據,而是找一個現有的數據集,瘋狂 過擬合數據集。
科研idea主要來自于各種模塊的花式排列組合,包含但不限于:各種CNN,各種RNN,各種attention,各種transformer,各種dropout,各種batchNorm,各種激活函數,各種loss function
而不是從實際問題和自然語言的現有挑戰出發來思考idea
總是指望靠一個算法、一個模型可以解決所有問題
想做好真實AI,必須:
不斷反饋,分析,改進。據說谷歌的搜索質量負責人Amit Singhal博士每天要看20個以上的不好搜索結果,然后持續不斷的迭代改進。
面對真實環境中獲取數據難,數據標注成本高,數據臟難清洗等問題
從實際問題和自然語言的現有挑戰出發,設計針對問題最適合合理有效的模型
從不指望一個算法和問題可以解決所有問題,所有遇到的問題會做出合理的分析和拆解,針對各個難點設計最優解決算法,各個擊破。
回答三
作者:zibuyu9
鏈接:https://www.zhihu.com/question/327494084/answer/723626230
我當年讀博的時候,機器學習和自然語言處理的好用開源軟件很少,新發表論文也沒有開源代碼的習慣,復現別人工作總是最費時、費神、折磨人的環節。從那個時期過來的,我覺得現在開源之風大盛,能讓大家方便地站在巨人肩膀上登高望遠,是多么幸福的事情。
所以,在工具成熟之后,就給人更多選擇的可能性,有的人滿足于熟練使用現有工具,有的人致力于更好地做創新研究,各取所需而已。這就像微軟等軟件企業,致力于研制改進各類軟件工具,而更多的人使用這些工具,整個生態就是這樣慢慢成熟起來。相信未來機器學習領域也會慢慢誕生微軟這樣的企業,有人研制,有人使用。
回答四
作者:萬盛中路搖滾樂隊
鏈接:https://www.zhihu.com/question/327494084/answer/702810200
調參是 ML 這一領域不可避免的,但 ML 并不只是調參。
學習 ML 這一方向,最重要的,個人認為是搞懂基本數學原理。尤其是在當前各種包極大豐富的情況下。
就比如線性回歸,你需要搞懂,數學公式當中,哪些部分是學習出來的,哪些部分是固定的,每一部分的“物理意義”是什么,一個公式里面,絕不會有無緣無故多出來的東西,每個東西都有其存在的意義。
然后才是嘗試去寫代碼,比如要實現一個線性回歸,你會怎么實現(這個可以看現有包的源代碼)。進而可以推廣到其他的模型方法。
你是做 NLP 的,那你應該至少會看 ACL / EMNLP / NAACL / COLING 的文章吧。找到自己感興趣的文章,反復閱讀。
看文章的重點在于,
搞清楚文章要解決什么問題。
當前這個問題存在的現狀是什么樣的,為什么會存在,現有的解決方法是什么。
現有解決方法的不足是什么。
作者提出的解決方法是基于什么思想,這一步非常重要。
作者的模型是怎么做的。
從我的學習經歷來看,這其中,5可能是最不重要的。而搞清楚 4 直接可以推出各種不同的5。我之前有實驗室的哥們,分析了某一篇文章的4,然后在那篇文章的5上加了不到20行代碼,效果提升了20%。
如果你對機器學習還是很有熱情的,那你可以多專心思考一下機器學習當中一些脫離了編碼的本質問題。多看論文,多寫代碼,寫一些脫離了現有包的代碼。這有助于你培養很好的問題分析 insight。
如果你對機器學習感到絕望,請像我一樣,轉方向吧。之所以感到絕望,是因為窮,買不起顯卡。
參考
鏈接:https://www.zhihu.com/question/327494084
往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統計學習方法》的代碼復現專輯 AI基礎下載機器學習的數學基礎專輯溫州大學《機器學習課程》視頻 本站qq群851320808,加入微信群請掃碼:總結
以上是生活随笔為你收集整理的灵魂拷问:机器学习、深度学习专业已经沦为调包专业了吗?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: windows7电脑怎么永久关闭广告
- 下一篇: 【数据竞赛】ICCV 2021 竞赛汇总