AI作為2016年以來最熱門的詞彙,人們對之也持有不同的看法:有人在懷疑泡沫即將破裂、有人堅信這場變革會帶來巨大的機會、有人丟擲威脅論。
本系列試圖以通俗易懂的方式,讓不同知識水平的讀者都能從中獲益:讓外行人對人工智慧有一個清晰客觀的理解,也幫助內行人更好地參與到AI帶來這場產業變革中來。
本文將會從AI最基本的幾個模組(計算機視覺、語音識別、自然語言處理、決策規劃系統)著手,回顧其一路以來的發展脈絡,以史為鏡、正視未來。
1. 計算機視覺的發展歷史
“看”是人類與生俱來的能力。剛出生的嬰兒只需要幾天的時間就能學會模仿父母的表情,人們能從複雜結構的圖片中找到關注重點、在昏暗的環境下認出熟人。隨著人工智慧的發展,機器也試圖在這項能力上匹敵甚至超越人類。
計算機視覺的歷史可以追溯到1966年,人工智慧學家Minsky在給學生布置的作業中,要求學生通過編寫一個程式讓計算機告訴我們它通過攝像頭看到了什麼,這也被認為是計算機視覺最早的任務描述。
到了七八十年代,隨著現代電子計算機的出現,計算機視覺技術也初步萌芽。人們開始嘗試讓計算機回答出它看到了什麼東西,於是首先想到的是從人類看東西的方法中獲得借鑑。
借鑑之一是當時人們普遍認為,人類能看到並理解事物,是因為人類通過兩隻眼睛可以立體地觀察事物。因此要想讓計算機理解它所看到的影象,必須先將事物的三維結構從二維的影象中恢復出來,這就是所謂的“三維重構”的方法。
借鑑之二是人們認為人之所以能識別出一個蘋果,是因為人們已經知道了蘋果的先驗知識,比如蘋果是紅色的、圓的、表面光滑的,如果給機器也建立一個這樣的知識庫,讓機器將看到的影象與庫裡的儲備知識進行匹配,是否可以讓機器識別乃至理解它所看到的東西呢,這是所謂的“先驗知識庫”的方法。
這一階段的應用主要是一些光學字元識別、工件識別、顯微/航空圖片的識別等等。
到了九十年代,計算機視覺技術取得了更大的發展,也開始廣泛應用於工業領域。一方面原因是CPU、DSP等影象處理硬體技術有了飛速進步;另一方面是人們也開始嘗試不同的演算法,包括統計方法和區域性特徵描述符的引入。
在“先驗知識庫”的方法中,事物的形狀、顏色、表面紋理等特徵是受到視角和觀察環境所影響的,在不同角度、不同光線、不同遮擋的情況下會產生變化。
因此,人們找到了一種方法,通過區域性特徵的識別來判斷事物,通過對事物建立一個區域性特徵索引,即使視角或觀察環境發生變化,也能比較準確地匹配上。
進入21世紀,得益於網際網路興起和數碼相機出現帶來的海量資料,加之機器學習方法的廣泛應用,計算機視覺發展迅速。以往許多基於規則的處理方式,都被機器學習所替代,自動從海量資料中總結歸納物體的特徵,然後進行識別和判斷。
這一階段湧現出了非常多的應用,包括典型的相機人臉檢測、安防人臉識別、車牌識別等等。
資料的積累還誕生了許多評測資料集,比如權威的人臉識別和人臉比對識別的平臺——FDDB和LFW等,其中最有影響力的是ImageNet,包含1400萬張已標註的圖片,劃分在上萬個類別裡。
到了2010年以後,藉助於深度學習的力量,計算機視覺技術得到了爆發增長和產業化。通過深度神經網路,各類視覺相關任務的識別精度都得到了大幅提升。
在全球最權威的計算機視覺競賽ILSVR(ImageNet Large Scale VisualRecognition Competition)上,千類物體識別Top-5錯誤率在2010年和2011年時分別為28.2%和25.8%,從2012年引入深度學習之後,後續4年分別為16.4%、11.7%、6.7%、3.7%,出現了顯著突破。
由於效果的提升,計算機視覺技術的應用場景也快速擴充套件,除了在比較成熟的安防領域應用外,也有應用在金融領域的人臉識別身份驗證、電商領域的商品拍照搜尋、醫療領域的智慧影像診斷、機器人/無人車上作為視覺輸入系統等,包括許多有意思的場景:照片自動分類(影象識別+分類)、影象描述生成(影象識別+理解)等等。
2. 語音技術的發展歷史
語言交流是人類最直接最簡潔的交流方式。長久以來,讓機器學會“聽”和“說”,實現與人類間的無障礙交流一直是人工智慧、人機互動領域的一大夢想。
早在電子計算機出現之前,人們就有了讓機器識別語音的夢想。1920年生產的“Radio Rex”玩具狗可能是世界上最早的語音識別器,當有人喊“Rex”的時候,這隻狗能夠從底座上彈出來。
但實際上它所用到的技術並不是真正的語音識別,而是通過一個彈簧,這個彈簧在接收到500赫茲的聲音時會自動釋放,而500赫茲恰好是人們喊出“Rex”中母音的第一個共振峰。
第一個真正基於電子計算機的語音識別系統出現在1952年,AT&T貝爾實驗室開發了一款名為Audrey的語音識別系統,能夠識別10個英文數字,正確率高達98%。
70年代開始出現了大規模的語音識別研究,但當時的技術還處於萌芽階段,停留在對孤立詞、小詞彙量句子的識別上。
上世紀80年代是技術取得突破的時代,一個重要原因是全球性的電傳業務積累了大量文字,這些文字可作為機讀語料用於模型的訓練和統計。研究的重點也逐漸轉向大詞彙量、非特定人的連續語音識別。
那時最主要的變化來自用基於統計的思路替代傳統基於匹配的思路,其中的一個關鍵進展是隱馬爾科夫模型(HMM)的理論和應用都趨於完善。
工業界也出現了廣泛的應用,德州儀器研發了名為Speak& Spell語音學習機,語音識別服務商Speech Works成立,美國國防部高階研究計劃局(DARPA)也贊助支援了一系列語音相關的專案。
90年代是語音識別基本成熟的時期,主流的高斯混合模型GMM-HMM框架逐漸趨於穩定,但識別效果與真正實用還有一定距離,語音識別研究的進展也逐漸趨緩。
由於80年代末、90年代初神經網路技術的熱潮,神經網路技術也被用於語音識別,提出了多層感知器-隱馬爾科夫模型(MLP-HMM)混合模型。但是效能上無法超越GMM-HMM框架。
突破的產生始於深度學習的出現。隨著深度神經網路(DNN)被應用到語音的聲學建模中,人們陸續在音素識別任務和大詞彙量連續語音識別任務上取得突破。
基於GMM-HMM的語音識別框架被基於DNN-HMM的語音識別系統所替代,而隨著系統的持續改進,又出現了深層卷積神經網路和引入長短時記憶模組(LSTM)的迴圈神經網路(RNN),識別效果得到了進一步提升,在許多(尤其是近場)語音識別任務上達到了可以進入人們日常生活的標準。
於是我們看到以Apple Siri為首的智慧語音助手、以Echo為首的智慧硬體入口等等。
而這些應用的普及,又進一步擴充了語料資源的收集渠道,為語言和聲學模型的訓練儲備了豐富的燃料,使得構建大規模通用語言模型和聲學模型成為可能。
3. 自然語言處理的發展歷史
人類的日常社會活動中,語言交流是不同個體間資訊交換和溝通的重要途徑。因此,對機器而言,能否自然地與人類進行交流、理解人們表達的意思並作出合適的迴應,被認為是衡量其智慧程度的一個重要參照,自然語言處理也因此成為了繞不開的議題。
早在上世紀50年代,隨著電子計算機的出現,出現了許多自然語言處理的任務需求,其中最典型的就是機器翻譯。
當時存在兩派不同的自然語言處理方法:基於規則方法的符號派和基於概率方法的隨機派。受限於當時的資料和算力,隨機派無法發揮出全部的功力,使得規則派的研究略佔上風。
體現到翻譯上,人們認為機器翻譯的過程是在解讀密碼,試圖通過查詢詞典來實現逐詞翻譯,這種方式產出的翻譯效果不佳、難以實用。
當時的一些成果包括1959年賓夕法尼亞大學研製成功的TDAP系統(Transformation and Discourse Analysis Project,最早的、完整的英語自動剖析系統)、布朗美國英語語料庫的建立等。
IBM-701計算機進行了世界上第一次機器翻譯試驗,將幾個簡單的俄語句子翻譯成了英文。這之後蘇聯、英國、日本等國家也陸續進行了機器翻譯試驗。
1966年,美國科學院的語言自動處理諮詢委員會(ALPAC),釋出了一篇題為《語言與機器》的研究報告,報告全面否定了機器翻譯的可行性,認為機器翻譯不足以克服現有困難、投入實用。
這篇報告澆滅了之前的機器翻譯熱潮,許多國家開始消減在這方面的經費投入,許多相關研究被迫暫停,自然語言研究陷入低谷。
許多研究者痛定思痛,意識到兩種語言間的差異不僅體現在詞彙上,還體現在句法結構的差異上,為了提升譯文的可讀性,應該加強語言模型和語義分析的研究。
里程碑事件出現在1976 年,加拿大蒙特利爾大學與加拿大聯邦政府翻譯局聯合開發
了名為TAUM-METEO的機器翻譯系統,提供天氣預報服務。這個系統每小時可以翻譯6-30萬個詞,每天可翻譯1-2千篇氣象資料,並能夠通過電視、報紙立即公佈。
在這之後,歐盟、日本也紛紛開始研究多語言機器翻譯系統,但並未取得預期的成效。
到了90年代時,自然語言處理進入了發展繁榮期。隨著計算機的計算速度和儲存量大幅增加、大規模真實文字的積累產生,以及被網際網路發展激發出的、以網頁搜尋為代表的基於自然語言的資訊檢索和抽取需求出現,人們對自然語言處理的熱情空前高漲。
在傳統基於規則的處理技術中,人們引入了更多資料驅動的統計方法,將自然語言處理的研究推向了一個新高度。除了機器翻譯之外,網頁搜尋、語音互動、對話機器人等領域都有自然語言處理的功勞。
進入2010年以後,基於大資料和淺層、深層學習技術,自然語言處理的效果得到了進一步優化。機器翻譯的效果進一步提升,出現了專門的智慧翻譯產品。對話互動能力被應用在客服機器人、智慧助手等產品中。
這一時期的一個重要里程碑事件是IBM研發的Watson系統參加綜藝問答節目Jeopardy。比賽中Watson沒有聯網,但依靠4TB磁碟內200萬頁結構化和非結構化的資訊,Watson成功戰勝人類選手取得冠軍,向世界展現了自然語言處理技術所能達到的實力。
機器翻譯方面,谷歌推出的神經網路機器翻譯(GNMT)相比傳統的基於片語的機器翻譯(PBMT),英語到西班牙語的錯誤率下降了87%,英文到中文的錯誤率下降了58%,取得了非常強勁的提升。
4. 規劃決策系統的發展歷史
人工智慧規劃決策系統的發展,一度是以棋類遊戲為載體的。最早在18世紀的時候,就出現過一臺可以下棋的機器,擊敗了當時幾乎所有的人類棋手,包括拿破崙和富蘭克林等。不過最終被發現機器裡藏著一個人類高手,通過複雜的機器結構以混淆觀眾的視線,只是一場騙局而已。
真正基於人工智慧的規劃決策系統出現在電子計算機誕生之後,1962年,Arthur Samuel製作的西洋跳棋程式Checkers經過屢次改進後,終於戰勝了州冠軍。
當時的程式雖然還算不上智慧,但也已經具備了初步的自我學習能力,這場勝利在當時還是引起了巨大的轟動,畢竟是機器首次在智力的角逐中戰勝人類。這也讓人們發出了樂觀的預言:“機器將在十年內戰勝人類象棋冠軍”。
但人工智慧所面臨的困難比人們想象得要大很多,跳棋程式在此之後也敗給了國家冠軍,未能更上一層樓。而國際象棋相比跳棋要複雜得多,在當時的計算能力下,機器若想通過暴力計算戰勝人類象棋棋手,每步棋的平均計算時長是以年為單位的。人們也意識到,只有儘可能減少計算複雜度,才可能與人類一決高下。
於是,“剪枝法”被應用到了估值函式中,通過剔除掉低可能性的走法,優化最終的估值函式計算。在“剪枝法”的作用下,西北大學開發的象棋程式Chess 4.5在1976年首次擊敗了頂尖人類棋手。
進入80年代,隨著演算法上的不斷優化,機器象棋程式在關鍵勝負手上的判斷能力和計算速度大幅提升,已經能夠擊敗幾乎所有的頂尖人類棋手。
到了90年代,硬體效能、演算法能力等都得到了大幅提升,在1997年那場著名的人機大戰中,IBM研發的深藍(Deep Blue)戰勝國際象棋大師卡斯帕羅夫,人類意識到在象棋遊戲中已經很難戰勝機器了。
到了2016年,硬體層面出現了基於GPU、TPU的平行計算,演算法層面出現了蒙特卡洛決策樹與深度神經網路的結合。
4:1戰勝李世石、在野狐圍棋對戰頂尖棋手60連勝、3:0戰勝世界排名第一的圍棋選手柯潔,隨著棋類遊戲最後的堡壘——圍棋也被Alpha Go所攻克,人類在完美資訊博弈的遊戲中已徹底輸給機器,只能在不完美資訊的德州撲克和麻將中苟延殘喘。
人們從棋類遊戲中積累的知識和經驗,也被應用在更廣泛的需要決策規劃的領域,包括機器人控制、無人車等等。棋類遊戲完成了它的歷史使命,帶領人工智慧到達了一個新的歷史起點。
5. 人工智慧的現在
時至今日,人工智慧的發展已經突破了一定的“閾值”。與前幾次的熱潮相比,這一次的人工智慧來得更“實在”了,這種“實在”體現在不同垂直領域的效能提升、效率優化。計算機視覺、語音識別、自然語言處理的準確率都已不再停留在“過家家”的水平,應用場景也不再只是一個新奇的“玩具”,而是逐漸在真實的商業世界中扮演起重要的支援角色。
6. 語音處理的現在
一個完整的語音處理系統,包括前端的訊號處理、中間的語音語義識別和對話管理(更多涉及自然語言處理)、以及後期的語音合成。
總體來說,隨著語音技術的快速發展,之前的限定條件正在不斷減少:包括從小詞彙量到大詞彙量再到超大詞彙量、從限定語境到彈性語境再到任意語境、從安靜環境到近場環境再到遠場嘈雜環境、從朗讀環境到口語環境再到任意對話環境、從單語種到多語種再到多語種混雜,但這給語音處理提出了更高的要求。
語音的前端處理中包含幾個模組。
說話人聲檢測:有效地檢測說話人聲開始和結束時刻, 區分說話人聲與背景聲;
回聲消除:當音響在播放音樂時,為了不暫停音樂而進行有效的語音識別,需要消除來自揚聲器的音樂干擾;
喚醒詞識別:人類與機器交流的觸發方式,就像日常生活中需要與其他人說話時,你會先喊一下那個人的名字;
麥克風陣列處理:對聲源進行定位,增強說話人方向的訊號、抑制其他方向的噪音訊號;
語音增強:對說話人語音區域進一步增強,、環境噪聲區域進一步抑制,有效降低遠場語音的衰減。
除了手持裝置是近場互動外,其他許多場景——車載、智慧家居等——都是遠場環境。
在遠場環境下,聲音傳達到麥克風時會衰減得非常厲害,導致一些在近場環境下不值一提的問題被顯著放大。這就需要前端處理技術能夠克服噪聲、混響、回聲等問題、較好地實現遠場拾音。
同時,也需要更多遠場環境下的訓練資料,持續對模型進行優化,提升效果。
語音識別的過程需要經歷特徵提取、模型自適應、聲學模型、語言模型、動態解碼等多個過程。除了前面提到的遠場識別問題之外,還有許多前沿研究集中在解決“雞尾酒會問題”。
“雞尾酒會問題”顯示的是人類的一種聽覺能力,能在多人場景的語音/噪聲混合中,追蹤並識別至少一個聲音,在嘈雜環境下也不會影響正常交流。
這種能力體現在兩種場景下:
一是人們將注意力集中在某個聲音上時,比如在雞尾酒會上與朋友交談時,即使周圍環境非常嘈雜、音量甚至超過了朋友的聲音,我們也能清晰地聽到朋友說的內容;
二是人們的聽覺器官突然受到某個刺激的時候,比如遠處突然有人喊了自己的名字,或者在非母語環境下突然聽到母語的時候,即使聲音出現在遠處、音量很小,我們的耳朵也能立刻捕捉到。
而機器就缺乏這種能力,雖然當前的語音技術在識別一個人所講的內容時能夠體現出較高的精度,當說話人數為二人或更多時,識別精度就會大打折扣。
如果用技術的語言來描述,問題的本質其實是給定多人混合語音訊號,一個簡單的任務是如何從中分離出特定說話人的訊號和其他噪音,而複雜的任務則是分離出同時說話的每個人的獨立語音訊號。
在這些任務上,研究者已經提出了一些方案,但還需要更多訓練資料的積累、訓練過程的打磨,逐漸取得突破,最終解決雞尾酒會問題。
考慮到語義識別和對話管理環節更多是屬於自然語言處理的範疇,剩下的就是語音合成環節。
語音合成的幾個步驟包括:文字分析、語言學分析、音長估算、發音引數估計等。
基於現有技術合成的語音在清晰度和可懂度上已經達到了較好的水平,但機器口音還是比較明顯。
目前的幾個研究方向包括:如何使合成語音聽起來更自然、如何使合成語音的表現力更豐富、如何實現自然流暢的多語言混合合成。只有在這些方向有所突破,才能使合成的語音真正與人類聲音無異。
可以看到,在一些限制條件下,機器確實能具備一定的“聽說”能力。因此在一些具體的場景下,比如語音搜尋、語音翻譯、機器朗讀等,確實能有用武之地。
但真正做到像正常人類一樣,與其他人流暢溝通、自由交流,還有待時日。
7. 計算機視覺的現在
計算機視覺的研究方向,按技術難度的從易到難、商業化程度的從高到低,依次是處理、識別檢測、分析理解。
影象處理是指不涉及高層語義,僅針對底層畫素的處理;影象識別檢測則包含了語音資訊的簡單探索;影象理解則更上一層樓,包含了更豐富、更廣泛、更深層次的語義探索。
目前在處理和識別檢測層面,機器的表現已經可以讓人滿意。但在理解層面,還有許多值得研究的地方。
影象處理以大量的訓練資料為基礎(例如通過有噪聲和無噪聲的影象配對),通過深度神經網路訓練一個端到端的解決方案。有幾種典型任務:去噪聲、去模糊、超解析度處理、濾鏡處理等。
運用到視訊上,主要是對視訊進行濾鏡處理。這些技術目前已經相對成熟,在各類P圖軟體、視訊處理軟體中隨處可見。
影象識別檢測的過程包括影象預處理、影象分割、特徵提取和判斷匹配,也是基於深度學習的端到端方案。可以用來處理分類問題(如識別圖片的內容是不是貓)、定位問題(如識別圖片中的貓在哪裡)、檢測問題(如識別圖片中有哪些動物、分別在哪裡)、分割問題(如圖片中的哪些畫素區域是貓)等。
這些技術也已比較成熟,影象上的應用包括人臉檢測識別、OCR(Optical Character Recognition,光學字元識別)等,視訊上可用來識別影片中的明星等。
當然,深度學習在這些任務中都扮演了重要角色。
傳統的人臉識別演算法,即使綜合考慮顏色、形狀、紋理等特徵,也只能做到95%左右的準確率。而有了深度學習的加持,準確率可以達到99.5%,錯誤率下降了10倍,從而使得在金融、安防等領域的廣泛商業化應用成為可能。
OCR領域,傳統的識別方法要經過清晰度判斷、直方圖均衡、灰度化、傾斜矯正、字元切割等多項預處理工作,得到清晰且端正的字元影象,再對文字進行識別和輸出。
而深度學習的出現不僅省去了複雜且耗時的預處理和後處理工作,更將字準確率從60%提高到90%以上。
影象理解本質上是影象與文字間的互動。可用來執行基於文字的影象搜尋、影象描述生成、影象問答(給定影象和問題,輸出答案)等。
在傳統的方法下:基於文字的影象搜尋是針對文字搜尋最相似的文字後,返回相應的文字影象對;影象描述生成是根據從影象中識別出的物體,基於規則模板產生描述文字;影象問答是分別對影象與文字獲取數字化表示,然後分類得到答案。
而有了深度學習,就可以直接在影象與文字之間建立端到端的模型,提升效果。影象理解任務目前還沒有取得非常成熟的結果,商業化場景也正在探索之中。
可以看到,計算機視覺已經達到了娛樂用、工具用的初級階段。
照片自動分類、以圖搜圖、影象描述生成等等這些功能,都可作為人類視覺的輔助工具。人們不再需要靠肉眼捕捉資訊、大腦處理資訊、進而分析理解,而是可以交由機器來捕捉、處理和分析,再將結果返回給人類。
而往未來看,計算機視覺有希望進入自主理解、甚至分析決策的高階階段,真正賦予機器“看”的能力,從而在智慧家居、無人車等應用場景發揮更大的價值。
8. 自然語言處理的現在
自然語言處理中的幾個核心環節包括知識的獲取與表達、自然語言理解、自然語言生成等等,也相應出現了知識圖譜、對話管理、機器翻譯等研究方向,與前述的處理環節形成多對多的對映關係。
由於自然語言處理要求機器具備的是比“感知”更難的“理解”能力,因此其中的許多問題直到今天也未能得到較好的解決。
知識圖譜是基於語義層面對知識進行組織後得到的結構化結果,可以用來回答簡單事實類的問題。
包括語言知識圖譜(詞義上下位、同義詞等)、常識知識圖譜(“鳥會飛但兔子不會飛”)、實體關係圖譜(“劉德華的妻子是朱麗倩”)。
知識圖譜的構建過程其實就是獲取知識、表示知識、應用知識的過程。
舉例來說,針對網際網路上的一句文字“劉德華攜妻子朱麗倩出席了電影節”,我們可以從中取出“劉德華”、“妻子”、“朱麗倩”這幾個關鍵詞,然後得到“劉德華-妻子-朱麗倩”這樣的三元表示。
同樣地,我們也可以得到“劉德華-身高-174cm”這樣的三元表示。將不同領域不同實體的這些三元表示組織在一起,就構成了知識圖譜系統。
語義理解是自然語言處理中的最大難題,這個難題的核心問題是如何從形式與意義的多對多對映中,根據當前語境找到一種最合適的對映。
以中文為例,這裡面需要解決4個困難:
首先是歧義消除,包括詞語的歧義(例如“潛水”可以指一種水下運動,也可以指在論壇中不發言)、短語的歧義(例如“進口彩電”可以指進口的彩電,也可以指一個行動動作)、句子的歧義(例如“做手術的是他父親”可以指他父親在接受手術,也可以指他父親是手術醫生);
其次是上下文關聯性,包括指代消解(例如“小明欺負小李,所以我批評了他。”,需要依靠上下文才知道我批評的是調皮的小明)、省略恢復(例如“老王的兒子學習不錯,比老張的好。”其實是指“比老張的兒子的學習好”);
第三是意圖識別,包括名詞與內容的意圖識別(“晴天”可以指天氣也可以指周杰倫的歌)、閒聊與問答的意圖識別(“今天下雨了”是一句閒聊,而“今天下雨嗎”則是有關天氣的一次查詢)、顯性與隱性的意圖識別(“我要買個手機”和“這手機用得太久了”都是使用者想買新手機的意圖);
最後一塊是情感識別,包括顯性與隱性的情感識別(“我不高興”和“我考試沒考好”都是使用者在表示心情低落)、基於先驗常識的情感識別(“續航時間長”是褒義的,而“等待時間長”則是貶義的)。
鑑於以上的這種種困難,語義理解可能的解決方案是利用知識進行約束,來破解多對多對映的困局,通過知識圖譜來補充機器的知識。
然而,即使克服了語義理解上的困難,距離讓機器顯得不那麼智障還是遠遠不夠的,還需要在對話管理上有所突破。
目前對話管理主要包含三種情形,按照涉及知識的通用到專業,依次是閒聊、問答、任務驅動型對話。
閒聊是開放域的、存在情感聯絡和聊天個性的對話,比如“ 今天天氣真不錯。”“是呀,要不要出去走走?”閒聊的難點在於如何通過巧妙的回答激發興趣/降低不滿,從而延長對話時間、提高粘性;
問答是基於問答模型和資訊檢索的對話,一般是單一輪次,比如“劉德華的老婆是誰?”“劉德華的妻子朱麗倩,1966年4月6日出生於馬來西亞檳城…”。問答不僅要求有較為完善的知識圖譜,還需要在沒有直接答案的情況下運用推理得到答案;
任務驅動型對話涉及到槽位填充、智慧決策,一般是多輪次,比如“放一首跑步聽的歌吧”“為您推薦羽泉的《奔跑》”“我想聽英文歌”“為您推薦Eminem的《Notafraid》”簡單任務驅動型對話已經比較成熟,未來的攻克方向是如何不依賴人工的槽位定義,建立通用領域的對話管理。
歷史上自然語言生成的典型應用一直是機器翻譯。傳統方法是一種名為Phrased-Based Machine Translation(PBMT)的方法:先將完整的一句話打散成若干個片語,對這些片語分別進行翻譯,然後再按照語法規則進行調序,恢復成一句通順的譯文。
整個過程看起來並不複雜,但其中涉及到了多個自然語言處理演算法,包括中文分詞、詞性標註、句法結構等等,環環相扣,其中任一環節出現的差錯都會傳導下去,影響最終結果。
而深度學習則依靠大量的訓練資料,通過端到端的學習方式,直接建立源語言與目標語言之間的對映關係,跳過了中間複雜的特徵選擇、人工調參等步驟。
在這樣的思想下,人們對早在90年代就提出了的“編碼器-解碼器”神經機器翻譯結構進行了不斷完善,並引入了注意力機制(attention mechanism),使系統效能得到顯著提高。
之後谷歌團隊通過強大的工程實現能力,用全新的機器翻譯系統GNMT(Google Neural Machine Translation)替代了之前的SMT(Statistical machine translation),相比之前的系統更為通順流暢,錯誤率也大幅下降。
雖然仍有許多問題有待解決,比如對生僻詞的翻譯、漏詞、重複翻譯等,但不可否認神經機器翻譯在效能上確實取得了巨大突破,未來在出境遊、商務會議、跨國交流等場景的應用前景也十分可觀。
隨著網際網路的普及,資訊的電子化程度也日益提高。海量資料既是自然語言處理在訓練過程中的燃料,也為其提供了廣闊的發展舞臺。搜尋引擎、對話機器人、機器翻譯,甚至高考機器人、辦公智慧祕書都開始在人們的日常生活中扮演越來越重要的角色。
9. 機器學習的現在
按照人工智慧的層次來看,機器學習是比計算機視覺、自然語言處理、語音處理等技術層更底層的一個概念。近幾年來技術層的發展風生水起,處在演算法層的機器學習也產生了幾個重要的研究方向。
首先是在垂直領域的廣泛應用。
鑑於機器學習還存在不少的侷限、不具備通用性,在一個比較狹窄的垂直領域的應用就成為了較好的切入口。
因為在限定的領域內,一是問題空間變得足夠小,模型的效果能夠做到更好;二是具體場景下的訓練資料更容易積累,模型訓練更高效、更有針對性;三是人們對機器的期望是特定的、具體的,期望值不高。
這三點導致機器在這個限定領域內表現出足夠的智慧性,從而使最終的使用者體驗也相對更好。
因此,在金融、律政、醫療等等垂直領域,我們都看到了一些成熟應用,且已經實現了一定的商業化。可以預見,在垂直領域內的重複性勞動,未來將有很大比例會被人工智慧所取代。
其次是從解決簡單的凸優化問題到解決非凸優化問題。
優化問題,是指將所有的考慮因素表示為一組函式,然後從中選出一個最優解。而凸優化問題的一個很好的特性是——區域性最優就是全域性最優。
目前機器學習中的大部分問題,都可以通過加上一定的約束條件,轉化或近似為一個凸優化問題。
雖然任何的優化問題通過遍歷函式上的所有點,一定能夠找到最優值,但這樣的計算量十分龐大。
尤其當特徵維度較多的時候,會產生維度災難(特徵數超過已知樣本數可存在的特徵數上限,導致分類器的效能反而退化)。而凸優化的特性,使得人們能通過梯度下降法尋找到下降的方向,找到的區域性最優解就會是全域性最優解。
但在現實生活中,真正符合凸優化性質的問題其實並不多,目前對凸優化問題的關注僅僅是因為這類問題更容易解決。
就像在夜晚的街道上丟了鑰匙,人們會優先在燈光下尋找一樣。因此,換一種說法,人們現在還缺乏針對非凸優化問題的行之有效的演算法,這也是人們的努力方向。
第三點是從監督學習向非監督學習和強化學習的演進。
目前來看,大部分的AI應用都是通過監督學習,利用一組已標註的訓練資料,對分類器的引數進行調整,使其達到所要求的效能。但在現實生活中,監督學習不足以被稱為“智慧”。
對照人類的學習過程,許多都是建立在與事物的互動中,通過人類自身的體會、領悟,得到對事物的理解,並將之應用於未來的生活中。而機器的侷限就在於缺乏這些“常識”。
卷積神經網路之父、Facebook AI 研究院院長Yann LeCun曾通過一個“黑森林蛋糕”的比喻來形容他所理解的監督學習、非監督學習與強化學習間的關係:
如果將機器學習視作一個黑森林蛋糕,那(純粹的)強化學習是蛋糕上不可或缺的櫻桃,需要的樣本量只有幾個Bits;監督學習是蛋糕外層的糖衣,需要10到10000個Bits的樣本量;無監督學習則是蛋糕的主體,需要數百萬Bits的樣本量,具備強大的預測能力。
但他也強調,櫻桃是必須出現的配料,意味著強化學習與無監督學習是相輔相成、缺一不可的。
無監督學習領域近期的研究重點在於“生成對抗網路”(GANs),其實現方式是讓生成器(Generator)和判別器(Discriminator)這兩個網路互相博弈,生成器隨機從訓練集中選取真實資料和干擾噪音,產生新的訓練樣本,判別器通過與真實資料進行對比,判斷資料的真實性。
在這個過程中,生成器與判別器互動學習、自動優化預測能力,從而創造最佳的預測模型。
自2014由Ian Goodfellow提出後,GANs席捲各大頂級會議,被Yann LeCun 評價為是“20年來機器學習領域最酷的想法”。
而強化學習這邊,則更接近於自然界生物學習過程的本源:如果把自己想象成是環境(environment)中一個代理(agent),一方面你需要不斷探索以發現新的可能性(exploration),一方面又要在現有條件下做到極致(exploitation)。
正確的決定或早或晚一定會為你帶來獎勵(positive reward),反之則會帶來懲罰(negative reward),知道最終徹底掌握問題的答案(optimal policy)。
強化學習的一個重要研究方向在於建立一個有效的、與真實世界存在互動的模擬模擬環境,不斷訓練,模擬採取各種動作、接受各種反饋,以此對模型進行訓練。
10. 人工智慧的未來
隨著技術水平的突飛猛進,人工智慧終於迎來它的黃金時代。回顧人工智慧六十年來的風風雨雨,歷史告訴了我們這些經驗:
首先,基礎設施帶來的推動作用是巨大的,人工智慧屢次因資料、運算力、演算法的侷限而遇冷,突破的方式則是由基礎設施逐層向上推動至行業應用;
其次,遊戲AI在發展過程中扮演了重要的角色,因為遊戲中牽涉到人機對抗,能幫助人們更直觀地理解AI、感受到觸動,從而起到推動作用;
最後,我們也必須清醒地意識到,雖然在許多工上,人工智慧都取得了匹敵甚至超越人類的結果,但瓶頸還是非常明顯的。
比如計算機視覺方面,存在自然條件的影響(光線、遮擋等)、主體的識別判斷問題(從一幅結構複雜的圖片中找到關注重點);語音技術方面,存在特定場合的噪音問題(車載、家居等)、遠場識別問題、長尾內容識別問題(口語化、方言等);自然語言處理方面,存在理解能力缺失、與物理世界缺少對應(“常識”的缺乏)、長尾內容識別等問題。
總的來說,我們看到,現有的人工智慧技術,一是依賴大量高質量的訓練資料,二是對長尾問題的處理效果不好,三是依賴於獨立的、具體的應用場景、通用性很低。
而往未來看,人們對人工智慧的定位絕不僅僅只是用來解決狹窄的、特定領域的某個簡單具體的小任務,而是真正成為和人類一樣,能同時解決不同領域、不同型別的問題,像人類一樣進行判斷和決策,也就是所謂的通用人工智慧(Artificial General Intelligence, AGI)。
具體來說,需要機器一方面能夠通過感知學習、認知學習去理解世界,另一方面通過強化學習去模擬世界。
前者讓機器能感知資訊,並通過注意、記憶、理解等方式將感知資訊轉化為抽象知識,快速學習人類積累的知識;後者通過創造一個模擬環境,讓機器通過與環境互動試錯來獲得知識、持續優化知識。
人們希望通過演算法上、學科上的交叉、融合和優化,整體解決人工智慧在創造力、通用性、對物理世界理解能力上的問題。
在未來,底層的基礎設施將會是由網際網路、物聯網提供的現代人工智慧場景和資料,這些是生產的原料;
演算法層將會是由深度學習、強化學習提供的現代人工智慧核心模型,輔以雲端計算提供的核心算力,這些是生產的引擎;
在這些的基礎之上,不管是計算機視覺、自然語言處理、語音技術,還是遊戲AI、機器人等,都是基於同樣的資料、模型、演算法之上的不同的應用場景。
這其中還存在著一些亟待攻克的問題,如何解決這些問題正是人們一步一個腳印走向AGI的必經之路。
首先是從大資料到小資料。
深度學習的訓練過程需要大量經過人工標註的資料,例如無人車研究需要大量標註了車、人、建築物的街景照片,語音識別研究需要文字到語音的播報和語音到文字的聽寫,機器翻譯需要雙語的句對,圍棋需要人類高手的走子記錄等。
但針對大規模資料的標註工作是一件費時費力的工作,尤其對於一些長尾的場景來說,連基礎資料的收集都成問題。
因此,一個研究方向就是如何在資料缺失的條件下進行訓練,從無標註的資料裡進行學習,或者自動模擬(生成)資料進行訓練,目前特別火熱的GANs就是一種資料生成模型。
其次是從大模型到小模型。
目前深度學習的模型都非常大,動輒幾百兆位元組(MB)、大的甚至可以到幾千兆位元組(GB)甚至幾十千兆位元組(GB)。
雖然模型在PC端運算不成問題,但如果要在移動裝置上使用就會非常麻煩。這就造成語音輸入法、語音翻譯、影象濾鏡等基於移動端的APP無法取得較好的效果。
這塊的研究方向在於如何精簡模型的大小,通過直接壓縮或是更精巧的模型設計,通過移動終端的低功耗計算與雲端計算之間的結合,使得在小模型上也能跑出大模型的效果。
最後是從感知認知到理解決策。
人類智慧在感知和認知的部分,比如視覺、聽覺,機器在一定限定條件下已經能夠做到足夠好了。當然這些任務本來也不難,機器的價值在於可以比人做得更快、更準、成本更低。
但這些任務基本都是靜態的,即在給定輸入的情況下,輸出結果是一定的。而在一些動態的任務中,比如如何下贏一盤圍棋、如何開車從一個路口到另一個路口、如何在一支股票上投資並賺到錢,這類不完全資訊的決策型的問題,需要持續地與環境進行互動、收集反饋、優化策略,這些也正是強化學習的強項。而模擬環境(模擬器)作為強化學習生根發芽的土壤,也是一個重要的研究方向。