演算法工程師眼中的AI崗位

騰訊技術工程發表於2019-03-20

人工智慧的飛速發展導致了某些工作崗位因自動化操作取代手動操作而減少甚至消失,技術進步帶來的歡欣鼓舞填補不了部分人因失業而導致的失落。然而,人工智慧不僅僅“消滅”工作崗位,同時也會創造另外一些工作機會。這些新的工作機會是什麼?與近年來大火的人工智慧三大主義、機器學習深度學習大資料等概念又有哪些關係?

一、人工智慧三大主義能為我們創造什麼工作?

作為近年來在無論在科技領域還是投資領域都非常火爆的概念,人工智慧並不是什麼新技術。早在計算機被發明伊始,科學家們就在考慮用計算機技術實現人工智慧了。1946 年 2 月 14 日,世界上第一臺電腦 ENIAC 在美國賓夕法尼亞大學誕生。1956 年,“人工智慧之父”John McCarth 在達特矛斯會議上提出將 “人工智慧就是要讓機器的行為看起來像人所表現出的智慧行為一樣”。在如何實現人工智慧這個話題領域,科學家們有著不同理念和想法。這些理念和想法後來被歸結為人工智慧三大主義。

1)符號主義

符號主義者認為人工智慧源於數理邏輯, 可以透過在計算機上進行邏輯演繹的方式實現人工智慧。在 1956 年首先使用 “人工智慧” 這個術語的正是符號主義者。,在 20 世紀 80 年代,由符號主義發展出專家系統取得很大發展。人們在開發專家系統時發現其瓶頸,計算機沒有常識儲備:計算機並不知道什麼是奧巴馬,什麼是美國,更不知道奧巴馬曾經是美國總統。為了解決這個問題,人們開始構建常識知識庫(簡稱常識庫),常識庫是一個包含了大多數人所具備的一般知識的資料庫。後來常識庫升級為語義網,而語義網知識圖譜的前身。現在符號主義整體進入冷寂期,但知識圖譜作為符號主義的餘脈依然活躍在學術研究和工業應用中。

下圖正是符號主義為我們創造的工作崗位:知識圖譜工程師,其崗位職責是負責建立和維護知識圖譜。由於現在的知識圖譜是從 Wikipadia 抽取資訊,需要正確處理文字,因此知識圖譜崗位需要具備一定的自然語言處理能力。

2)行為主義

行為主義借鑑了心理學的行為主義,認為智慧就是 “感知-動作”,即感知外界環境並反饋正確的動作。實現 “感知-動作” 模型的基礎是控制論思想,控制論在 20 世紀 40~50 年代就成為時代思潮的重要部分。行為主義一直致力於智慧控制和智慧機器人的研究。時至今日,具有“自己行走”、“搬運東西”和其他功能的實體智慧機器人依然是研究的熱點。下圖是由大名鼎鼎的波士頓機器人公司研發的四足行走機器人 (人稱大狗)。

演算法工程師眼中的AI崗位

當前行為主義並不是人工智慧領域的主流,但正如符號主義有一個受人關注的延續 (知識圖譜),行為主義也啟發了一個著名的分支——強化學習。在早期的控制論中,人們已經開始探索類似於強化學習的機制。強化學習關注決策者與其環境互動時所面臨的學習問題,有點類似於 “感知-動作” 模式。不同點在於強化學習更強調學習,因此強化學習最終被歸入了機器學習,成為機器學習三大模式(有監督學習、無監督學習強化學習)之一。

3)連線主義

連線主義認為人工智慧應模擬大腦連線結構,從而建立了神經網路模型。早在計算機誕生前,心理學家 W·Mcculloch 和數理邏輯學家 W·Pitts就提出神經元的數學模型。1948 年,首臺計算機設計者馮·諾依曼也研究過神經網路。50年代末,F·Rosenblatt 製成了一層神經網路模型 “感知機”,神經網路從思想走向現實。但 1968 年一本名為《感知機》的著作指出,線性感知機功能是有限的,它甚至不能解決異或這樣的基本關係。神經網路的研究進入了低潮。

1986 年,Rumelhart 為首的研究小組提出了反向傳播演算法,使得能夠逼近複雜函式 (當然包括異或) 的三層神經網路可以被訓練。神經網路第二次興起。1995 年,SVM 演算法被提出,成為神經網路的強勁對手。神經網路進入了第二次低潮。

2006 年,Hinton (也就是 1986 年那篇反向傳播演算法論文的共同作者) 提出了用 AutoEncoder 初始化神經網路引數,再進行訓練的方法,使得表達能力更強的多層神經網路成為可能。隨後,多層神經網路在不同競賽中取得了遠比其他方法好的成果。神經網路第三次興起。

神經網路起起落落的這些年裡,一位未來的王者開始登上歷史的舞臺,那就是機器學習。連線主義是機器學習中學習概念的重要思想源頭,神經網路也是機器學習重要模型,機器學習則包含了更多的內容。現在,機器學習馳名當世、聲名遠揚,蓋住了傳統人工智慧的風頭,以至於很多人誤以為人工智慧就是機器學習

人工智慧工程師做的產品大部分和機器學習相關。如下圖中,儘管工作職位的稱呼是人工智慧演算法工程師,但絕不是讓你去開發專家系統, 而是讓你做與學習相關的工作。

二、機器學習熱潮帶來的職業機會 

1986 年是令人振奮的一年。在這一年,反向傳播演算法問世,標誌著連線主義的載體神經網路第二次興起。也是這一年,Quinlan 提出了著名的 ID3 決策樹演算法,開啟了學習道路的另一條分支。這條樹模型的分支援續演化到了今天,依然在人類工業實踐和學術研究中扮演著重要角色。後來,科學家們陸續將統計學的演算法引入該領域,如迴歸和聚類;開始為機器學習建立了數學基礎,如 VC 維;或者提出了新的演算法,如 SVM 和 RandomForest。這些新思想、新演算法遠遠超出了連線主義 “模擬大腦連線結構” 的原定義,再稱之為連線主義已經不合適了,於是人們將神經網路和這些新思想新演算法命名為機器學習機器學習依然是 “要讓機器的行為看起來像人所表現出的智慧行為一樣”,即依然是人工智慧的範疇。

在講人工智慧連線主義時,我們提到了神經網路第三次的興起,源於Hinton 在 2006 年發表的一篇關於 “有效訓練多層神經網路的方法” 的論文。由此神經網路極大地提升了自己的效能,尤其在影像和語音領域。多層神經網路結構效果太好了,以至於人們接受了 Hinton 提出的深度學習的稱呼。深度學習從 2006 年第一篇論文開始,至今已佔據了機器學習領域的主流地位,不過短短十年。深度學習的火爆,導致我們需要特別澄清深度學習機器學習之間的關係:人工智慧包含機器學習,而機器學習包含深度學習

演算法工程師眼中的AI崗位

機器學習尤其是深度學習需要用大量的資料進行高效訓練。這需要一個高效的機器學習平臺。即使現在有了 TensorFlow 之類的開源機器學習平臺,也需要工程師將其改造並部署到叢集中,以讓其高效工作。因此機器學習專門有一個機器學習系統方向,研究如何設計並實現高效的分散式機器學習平臺。

在工作職位上,相關職位有:機器學習工程師和機器學習平臺工程師。前者的工作職責是將機器學習演算法應用在現有業務上,後者的工作職責則是建設並維護分散式機器學習平臺。

還有一個相關工作職位是演算法工程師。這裡所指的演算法不是計算機基礎演算法(如動態規劃),而是機器學習演算法。筆者個人認為應該稱為機器學習演算法工程師更加恰當。這個職位和機器學習工程師類似。另外一個職位是深度學習工程師。由於近年來深度學習非常火爆,不少公司對於深度學習方向的人員需求迫切,於是產生了深度學習工程師的職位。

隨著人們在機器學習領域取得突破,機器學習的思想和方法開始影響不同的領域。

1)資料探勘

資料探勘擁有很多定義, 其中一個比較有名的定義為 “一門從大量資料或者資料庫中提取有用資訊的科學”。大部分人是透過一個案例認識到資料探勘:這是因為沃爾瑪透過資料分析發現,男性顧客在購買嬰兒尿片時,常常會順便搭配幾瓶啤酒來犒勞自己,於是嘗試推出了將啤酒和尿布擺在一起的促銷手段;沒想到這個舉措居然使尿布和啤酒的銷量都大幅增加了。雖然這個故事很可能是假的(Teradata公司一位經理編出來的“故事”目的是讓資料分析看起來更有力更有趣), 但是確實讓不少人開始接觸資料探勘

我們似乎能感受資料探勘的企圖心:從資料出發,建立一個類似現在機器學習那樣龐大的科學體系。開普勒從第谷的大量資料中發現行星運動規律的歷史,“啤酒和尿布” 的故事,從資料中發現的相關關係將替代因果關係的宣言,是資料探勘理論高度和實際應用的背書,是資料探勘實現企圖心的見證。一山哪能容二虎,資料探勘機器學習正面交鋒了。它們之間有很多重合的地方,如下圖所示。在重合部分的分類、聚類和迴歸上,機器學習有高層次的理論分析,有高效的訓練方法;在非重合部分,機器學習有很多資料探勘沒有的東西,比如學習理論和強化學習。在機器學習崛起的背景下,我們很難說清楚資料探勘區別於機器學習的獨特價值是什麼了。歷史給機器學習加了冕。

演算法工程師眼中的AI崗位

在工作崗位方面,我們似乎看到很多資料探勘工程師成了機器學習工程的別稱,畢竟它們之間有太多的重合。但有一種情況例外: 如果推薦系統和廣告系統部門招聘,機器學習工程師偏重於點選率預估演算法的實現和改進,資料探勘工程師則偏重於新特徵的挖掘。

2)推薦系統和廣告系統

推薦系統和廣告系統都是工業級的大系統,需要各個子系統相互協調配合,但都以機器學習建構其中一個核心子系統 —— 點選率預估 (CTR)。推薦系統和廣告系統對現在的人工智慧有很重要的意義。即便現階段人工智慧的幾個創新點(人臉識別、對話機器人和無人駕駛等)失敗,人工智慧也不會面臨“The winter is coming”的慘狀,因為推薦系統和廣告系統能直接產生收益。根據艾瑞釋出的《2016Q1網路廣告營收報告》,2016 年第一季度中國網路廣告市場規模達543.4億元。再加上收益不菲的推薦系統人工智慧社群能夠全身而退,重新回到 “世界上最聰明的一群人,每天研究的是如何讓人更多地點廣告”時代 。

推薦系統和廣告系統作為能直接帶來效益的部門,自然需要招聘專門的推薦演算法工程師和廣告演算法工程師。推薦演算法工程師和廣告演算法工程師的主要職責分別是建立推薦和廣告的點選率預估。

3)搜尋引擎

搜尋引擎更是一個工業級的大系統。不把搜尋引擎、推薦系統和廣告系統並列在一起,是因為機器學習並不是搜尋引擎的核心部件。基於可解釋和可控制的因素,搜尋引擎的網頁排序大量基於規則,而不是機器學習模型。同時資訊採集 (爬蟲子系統) 和資訊組織 (資訊檢索子系統)等非機器學習部件都在搜尋引擎中扮演著非常重要的角色。但機器學習在搜尋引擎中也起了一定作用, 比如需要查詢詞的意圖。因此,搜尋工程師指的是負責搜尋引擎的各個模組的工程師。

4)自然語言處理計算機視覺語音識別

自然語言處理要讓計算機理解和生成人類語言,是機器學習和語言學融合的產物。自然語言處理的經典任務包括分詞、詞性標註、語法樹解析、機器翻譯和人機對話等等。5 年前,除了百度百度很早就成立了單獨的自然語言處理部門),大部分公司都不單獨招聘自然語言工程師,而是將自然語言處理作為推薦系統、廣告系統和搜尋引擎的子模組。比如搜尋引擎中的 query 分詞就是一個典型的分詞任務。近幾年,由於大量的人機對話專案和少部分機器翻譯專案的需求,導致很多公司開始單獨招聘自然語言工程師。下圖就是來自騰訊自然語言處理的招聘職位,可以看出這個職位的要求就是做對話機器人。

計算機視覺要讓計算機理解和生成影像,是機器學習影像處理融合的產物。計算機視覺深度學習大發展的今天,取得了巨大的突破。雖然計算機視覺的商業應用場景還在探索中,一些大公司和創業公司已經開始招聘計算機視覺工程師。由於最近幾年計算機視覺的突破幾乎都是由深度學習進步帶來的,因此計算機視覺工程師需要有深度學習的知識和背景。

同樣得益於深度學習的進步,語音識別也取得了突破。語音識別指的是將說話的音訊轉成文字的過程。隨著語音識別的進步,一些大公司和創業公司開始招聘專門的語音識別工程師, 語音識別工程師的主要職責是負責建立和維護語音識別系統。市場上語音識別的訓練資料非常少,收集和整理資料也是職責之一。

三、人人都在談的大資料,為我們創造了哪些工作崗位?

人工智慧密切聯絡的領域是大資料。目前大資料在業界的概念比較寬泛,如 4v 、 5v 等 (IBM 諮詢提出,大資料有4V特點,即Volume(大量)、Velocity(高速)、Variety(多樣)、Value(價值)),以至於 “人人都在談大資料,但沒人知道大資料究竟是什麼”。 但在技術上,大資料技術的定義是非常明確的,指的是一系列處理和儲存海量資料的技術。大資料技術的起點應該是人稱 Google 三駕馬車的三篇論文: Google FS、 MapReduce 和 Bigtable。受到這三篇論文影響, Doug Cutting 等人陸續改進其負責的 Apache Nutch 專案,於 2006 年完成了一套獨立而完整的軟體, 並將其命名為 Hadoop。其後大資料技術的發展如下圖所示 (該圖最早來源於微博)。目前最主流的大資料處理平臺是 Spark。

演算法工程師眼中的AI崗位大資料領域妖孽多, 業內人有一句戲謔:“凡是提 4v 的大資料都是騙子”。雖然這句話可能會得罪不少人,但鑑於不少人把 excel 級別的資料處理也稱為大資料,我們還能說什麼呢?

市場上對大資料工程師的需求非常迫切,其主要職責是使用開源大資料平臺,建立和維護大資料叢集。在某些公司,大資料工程師還負責公司內產生資料的收集、整理和入庫。

四、人的資料分析,產生了哪些職位?

資料分析指的是是用適當的統計方法對資料進行分析,發現資料中規律,從而幫助業務發展。這個工作和資料很近,要求從業人員對資料敏感,和人工智慧比較遠。主要發揮人的主觀能動性,而不是使用演算法效能。資料分析的物件是人,而不是機器。

演算法工程師眼中的AI崗位

舉個例子,漏斗模型是經典的消費者模型(如上圖),如果網站改版之後,資料分析發現轉化率變低,這就需要分析原因了,如是不是點選按鈕不夠明顯。根據這些分析結果,能夠持續最佳化網站。資料分析有自己的故事,“商業智慧”、“資料驅動” 和 “增長駭客” 都是資料分析飽含理想和格調的稱呼。下面是一個典型的資料分析職位的例子。

五、結論

人工智慧機器學習深度學習大資料等概念關係密切,相互之間有很深的淵源,導致相應工作職位內涵重疊。例如深度學習工程師很大機率從事計算機視覺相關的工作,而計算機視覺工程師必須有深度學習背景和知識。

回到文章開頭的問題,雖然人工智慧的出現導致了某些工作崗位的消亡,但人工智慧三大主義、機器學習深度學習大資料等新興領域也創造了大量的新型的工作職位。這是人工智慧深刻影響經濟活動和社會生活的縮影,是這個時代的註腳。

相關文章