當前位置:
首頁 > 新聞 > AI 大行其道,你準備好了嗎?—謹送給徘徊於轉行 AI 的程序員

AI 大行其道,你準備好了嗎?—謹送給徘徊於轉行 AI 的程序員

雷鋒網按:本文作者章華燕, 金橋智慧科技演算法工程師。本文原載於個人博客,雷鋒網獲得授權轉載。

前言

近年來,隨著 Google 的 AlphaGo 打敗韓國圍棋棋手李世乭之後,機器學習尤其是深度學習的熱潮席捲了整個 IT 界。所有的互聯網公司,尤其是 Google 微軟,百度,騰訊等巨頭,無不在布局人工智慧技術和市場。百度,騰訊,阿里巴巴,京東,等互聯網巨頭甚至都在美國矽谷大肆高薪挖掘人工智慧人才。現在在北京,只要是機器學習演算法崗位,少則月薪 20k,甚至 100k 以上……

不錯,新時代時代來了,我們從互聯網走向移動互聯網,現在又從移動互聯網走向人工智慧時代。業內有人稱這一次的人工智慧爆發是互聯網 3.0 時代的開啟。所以現在搞 IT 開發的工程師的不懂機器學習,就相當於低級程序員。趕緊從基礎學起,入門機器學習,走進人工智慧的大門……

AI 大行其道,你準備好了嗎?—謹送給徘徊於轉行 AI 的程序員

1. 人工智慧的三起三落

20 世紀 50-70 年代,人工智慧提出後,力圖模擬人類智慧,但是由於過分簡單的演算法、匱乏的難以應對不確定環境的理論,以及計算能力的限制,逐漸冷卻。

20 世紀 80 年代,人工智慧的關鍵應用——專家系統得以發展,但是數據較少,難以捕捉專家的隱性知識,建造和維護大型系統的複雜性和成本也使得人工智慧漸漸不被主流計算機科學所重視。

進入 20 世紀 90 年代,神經網路、遺傳演算法等科技 「進化」 出許多解決問題的最佳方案,於是 21 世紀前 10 年,復興人工智慧研究進程的各種要素,例如摩爾定律、大數據、雲計算和新演算法等,推動人工智慧在 20 世界 20 年代進入快速增長時期。預計未來十年,會在一些難以逾越的困惑中迎來奇點時代的爆髮式增長。

2. 新浪潮為什麼會崛起

人工智慧(AI)問世之初曾經狂妄自大、令人失望,它如何突然變成當今最熱門的技術領域?這個詞語首次出現在 1956 年的一份研究計劃書中。該計劃書寫道:「只要精心挑選一群科學家,讓他們一起研究一個夏天,就可以取得重大進展,使機器能夠解決目前只有人類才能解決的那些問題。」 至少可以說,這種看法過於樂觀。儘管偶有進步,但 AI 在人們心目中成為了言過其實的代名詞,以至於研究人員基本上避免使用這個詞語,寧願用 「專家系統」 或者 「神經網路」 代替。「AI」 的平反和當前的熱潮可追溯到 2012 年的 ImageNet Challenge 在線競賽。

ImageNet 是一個在線資料庫,包含數百萬張圖片,全部由人工標記。每年一度的 ImageNet Challenge 競賽旨在鼓勵該領域的研究人員比拼和衡量他們在計算機自動識別和標記圖像方面的進展。他們的系統首先使用一組被正確標記的圖像進行訓練,然後接受挑戰,標記之前從未見過的測試圖像。在隨後的研討會上,獲勝者分享和討論他們的技術。2010 年,獲勝的那個系統標記圖像的準確率為 72%(人類平均為 95%)。2012 年,多倫多大學教授傑夫 · 辛頓(Geoff Hinton)領導的一支團隊憑藉一項名為 「深度學習」 的新技術大幅提高了準確率,達到 85%。後來在 2015 年的 ImageNet Challenge 競賽中,這項技術使準確率進一步提升至 96%,首次超越人類。

AI 大行其道,你準備好了嗎?—謹送給徘徊於轉行 AI 的程序員

不錯,這一切都歸功於一個概念:「 深度學習(Deep Learning)」。雖然 2016 年之前,深度學習技術已經火了起來,但是真正大爆發的事件卻是 2016 年 Google 在韓國首爾舉行的人工智慧機器人 AlphaGo 與圍棋九段選手李世石之間的人機五翻棋大戰,最終人類最強選手輸給了機器人。曾幾時何,人們認為圍棋是人類棋牌類遊戲的最後的尊嚴陣地,就這樣在人工智慧輕鬆地攻陷了人類智力的最後一塊陣地!這件事震驚了所有人。從這以後,全球學術界和工業界都躁動了,巨頭們都在加緊布局人工智慧:Google 挖來了神經網路演算法的奠基人、深度學習之父 Geoffrey Hinton;Facebook 則挖到了 Hinton 的學生,卷積神經網路(CNN)的奠基人 Yann LeCun;然而就在不到一年的時間,微軟也是說動了一直保持中立留在學術界的深度學習領域三大牛的最後一位 Yoshua Bengio。當然,國內的互聯網巨頭,百度、阿里、騰訊、京東、滴滴、美團等也都在布局 AI。其中百度更是被認為在 AI 上已經 All In 了。

AI 大行其道,你準備好了嗎?—謹送給徘徊於轉行 AI 的程序員

深度神經網路(DNN)

3. 機器學習是你必經之路

入門 AI,機器學習是必須要學習的,可以這麼說:機器學習是人工智慧的基石和精髓。只有學好了機器學習演算法原理和思想,你才算真正的入門人工智慧。但是,對於非專業的半路出家的你們該如何入門?這個問題其實很難回答,因為每個人的目標不一樣,技術基礎和數學基礎也都不一樣,所以因人而異。但是通常來說,學習機器學習演算法,需要的必備知識還是可以羅列的。

機器學習必備基礎

AI 大行其道,你準備好了嗎?—謹送給徘徊於轉行 AI 的程序員

機器學習的學習過程

對於上圖,之所以最左邊寫了『數學基礎』『經典演算法學習』『編程技術』三個並行的部分,是因為機器學習是一個將數學、演算法理論和工程實踐緊密結合的領域,需要紮實的理論基礎幫助引導數據分析與模型調優,同時也需要精湛的工程開發能力去高效化地訓練和部署模型和服務。

在互聯網領域從事機器學習的人基本上屬於以下兩種背景:其中絕大部分是程序員出身,這類童鞋工程經驗相對會多一些;另一部分是學數學統計領域的,這部分童鞋理論基礎相對紮實一些。因此對比上圖,這二類童鞋入門機器學習,所欠缺和需要加強的部分是不一樣的。

數學

曾經有無數的滿懷激情,誓要在機器學習領域有一番作為的同學,在看到公式的一刻突然就覺得自己狗帶了。是的,機器學習之所以門檻高並且顯得高大上的主要原因就是數學。每一個演算法,要在訓練集上最大程度擬合同時又保證泛化能力,需要不斷分析結果和數據,調優參數,這需要我們對數據分布和模型底層的數學原理有一定的理解。所幸的是如果只是想合理應用機器學習,而不是做相關方向高精尖的研究,所需要的數學知識讀完本科的理工科童鞋還是能很容易的把這些數學知識學明白的。

基本所有常見機器學習演算法需要的數學基礎,都集中在微積分、線性代數和概率與統計當中。下面我們先過一過知識重點,文章的後部分會介紹一些幫助學習和鞏固這些知識的資料。

  • 微積分

    微分的計算及其幾何、物理含義,是機器學習中大多數演算法的求解過程的核心。比如演算法中運用到梯度下降法、牛頓法等。如果對其幾何意義有充分的理解,就能理解 「梯度下降是用平面來逼近局部,牛頓法是用曲面逼近局部」,能夠更好地理解運用這樣的方法。

    凸優化和條件最優化的相關知識在演算法中的應用隨處可見,如果能有系統的學習將使得你對演算法的認識達到一個新高度。

AI 大行其道,你準備好了嗎?—謹送給徘徊於轉行 AI 的程序員

梯度下降法示意圖

線性代數

大多數機器學習的演算法要應用起來,依賴於高效的計算,這種場景下,程序員童鞋們習慣的多層 for 循環通常就行不通了,而大多數的循環操作可轉化成矩陣之間的乘法運算,這就和線性代數有莫大的關係了。向量的內積運算更是隨處可見。矩陣乘法與分解在機器學習的主成分分析(PCA)和奇異值分解(SVD) 等部分呈現刷屏狀地出現。

AI 大行其道,你準備好了嗎?—謹送給徘徊於轉行 AI 的程序員

奇異值分解過程示意圖

在機器學習領域,有相當多的應用與奇異值分解都有非常緊密的聯繫,比如機器學習中常做 feature reduction 的 PCA,做數據壓縮(以圖像壓縮為代表)的演算法,還有做搜索引擎語義層次檢索的 LSI(Latent Semantic Indexing)

  • 概率與統計

    從廣義來說,機器學習在做的很多事情,和統計層面數據分析和發掘隱藏的模式,是非常類似的。以至於傳統的機器學習很大一部分被稱作統計學習理論,這充分說明了統計學在機器學習領域的重要性。

    極大似然思想、貝葉斯模型是理論基礎,樸素貝葉斯 (

AI 大行其道,你準備好了嗎?—謹送給徘徊於轉行 AI 的程序員

樸素貝葉斯演算法的基本原理

經典演算法的學習

機器學習中有很多的經典演算法:感知機,KNN,樸素貝葉斯,K-Means,SVM,AdaBoost,EM,決策樹,隨機森林,GDBT,HMM……

演算法這麼多,那麼對於初學者應該怎麼學習呢?我的答案是:分門別類很重要。基本上,對機器學習演算法的分類普遍的觀點是分為三大類:有監督學習,無監督學習,強化學習

  • 有監督學習

    有監督學習是指進行訓練的數據包含兩部分信息:特徵向量 + 類別標籤。也就是說,他們在訓練的時候每一個數據向量所屬的類別是事先知道的。在設計學習演算法的時候,學習調整參數的過程會根據類標進行調整,類似於學習的過程中被監督了一樣,而不是漫無目標地去學習,故此得名。下圖中,不同顏色的點代表不同的類別,直線就是我們學習出來的分界面(也叫學習器,分類器)。

AI 大行其道,你準備好了嗎?—謹送給徘徊於轉行 AI 的程序員

典型的有監督學習

  • 無監督學習

    相對於有監督而言,無監督方法的訓練數據沒有類標,只有特徵向量。甚至很多時候我們都不知道總共的類別有多少個。因此,無監督學習就不叫做分類,而往往叫做 聚類。就是採用一定的演算法,把特徵性質相近的樣本聚在一起成為一類。

    K-Means 演算法就是一個無監督學習演算法,在它執行前數據是每有類標的,執行過程中才會有類標,但是此時類標不固定,只有當聚類完成後每個樣本的類標才能固定。如下圖所示就是無監督演算法的執行過程。

AI 大行其道,你準備好了嗎?—謹送給徘徊於轉行 AI 的程序員

K-Means 演算法聚類過程

  • 強化學習

    所謂強化學習就是智能系統從環境到行為映射的學習,以使獎勵信號 (強化信號) 函數值最大,強化學習不同於連接主義學習中的監督學習,主要表現在教師信號上,強化學習中由環境提供的強化信號是對產生動作的好壞作一種評價 (通常為標量信號),而不是告訴強化學習系統 RLS(reinforcement learning system) 如何去產生正確的動作。由於外部環境提供的信息很少,RLS 必須靠自身的經歷進行學習。通過這種方式,RLS 在行動 - 評價的環境中獲得知識,改進行動方案以適應環境。

    本文是一個教你入門的方法,只是帶你領略了解機器學習的大致框架。不會介紹具體的演算法的詳細原理與過程,所以想要深入了解可以查看相關書籍或者文獻。對於具體的演算法屬於哪一類,並且為什麼這麼劃分,請讀者認真學習相關的機器學習教程。

編程技術

對於編程技術學習和選擇,無非就是編程語言開發環境。我個人的建議是Python + PyCharm。原因很簡單,Python 簡單易學,不至於讓我們把太多的時間花在語言的學習上(PS:學習機器學習的重點在於各個機器學習演算法理論的學習和掌握)。並且 Jetbrains 公司開發的 Python 集成開發環境 PyCharm 也是非常的簡單易用。

AI 大行其道,你準備好了嗎?—謹送給徘徊於轉行 AI 的程序員

Python 與 PyCharm

4. 你是否真的準備好了?

說完了機器學習的入門過程,我得給大家潑點冷水。雖然說目前 AI 真的很火熱,就在剛剛,我寫累了休息看新聞的時候就有新聞推送給我:商湯科技 B 輪融資 4.5 億美元。這場革命是機遇,但是它真的適合你嗎?我可以很肯定的說,並不是所有人都適合轉行 AI。

下面是的總結,想轉行的人可以自我對照:


  1. 如果你天生感覺學習數學很吃力,並且代碼能力很一般的人。我可以很負責人的告訴你,轉行 AI,學習機器學習演算法將會是你人生的災難。對於這類猿友你一定不能轉行 AI;

  2. 如果你數學一般,但是編程能力非常好,你曾經有著用代碼改變世界的雄心。對於這一類 猿友 ,我覺得你轉行也行,但是你一定要走應用化的 AI 道路。因為數學是你的天花板,你註定成不了Hinton那樣的學術大牛;

  3. 如果你數學很好,但是編程薄弱。恭喜你,你具備了轉行 AI 的先天優勢。對於這類 猿友,我覺得你可以轉行 AI,但是你得努力把編程水平提上來。

  4. 如果你數學很牛,曾經與菲爾茲獎擦肩而過,曾經給 Apache 頂級項目貢獻 N 萬行核心代碼。恭喜你,AI 領域需要的就是你,你就是未來的 Hinton,吳恩達……

AI 大行其道,你準備好了嗎?

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雷鋒網 的精彩文章:

超級高鐵公司Hyperloop One完成首次全真空測試
順豐無人機試飛視頻曝光,明年商用、蘋果在中國首座數據中心落成
谷歌法國11.2億歐逃稅罰單終局:不用補繳稅款!

TAG:雷鋒網 |

您可能感興趣

程序員不想在IT行業發展,對未來很迷茫,接下來該轉行嗎?
兩次轉行,我為什麼要做程序員?
程序員除了轉行做管理,還可以做什麼?
哆啦A夢:大雄轉行行醫,卻遭毒打,網友:發生了什麼?
什麼基礎都沒有轉行當設計師行不行?
想轉行做AI工程師的同學趕緊看!
你真的規劃好自己,做好準備轉行了嗎?
baby轉行做少兒頻道主持人?網友:做回你的本行非常合適
轉行,你確定你想好了嗎?
Python轉行新手們,不要盲目入坑!需要先了解什麼你知道嗎?
HR轉行做獵頭?我勸你放棄!
想轉行做程序員,學哪種編程語言比較好?
是的,我轉行了
想轉行IT?給你幾點建議
女明星轉行做「美妝博主」到底行不行得通?
轉行做UI設計如何選工作?
你是不是想轉行了?
行業大佬轉行做固態?西數到底賣的是什麼葯?
零經驗轉行互聯網,我做了什麼?
TVB「御用法官」轉行做保安,收入好過做藝人,曾因拒接通告而無奈離開