AI商业产品经理:我眼中的AI简史
導語:ABC時代(AI+BigData+Cloud),作為騰訊云大數據及人工智能產品中心的一員,也算是站在了toB+ABC的“騰訊風口“。分享一些在AI領域作為一名商業產品經理的心得,希望盡可能系統化。適合對AI感興趣的人群,無需產品和算法/研發背景知識。
明鏡所以照形,古事所以知今。無論做哪個行業屬于哪個領域,我們回顧歷史,總是可以發現一些規律,一些似曾相識。回顧歷史,我們可以總結歷史經驗、把握歷史規律,增強開拓前進的勇氣和力量。
事物發展總是有周期的,大到一個國家/朝代的發展變更,小到一個月總有那么三十幾天不想上班。AI也是一樣。作為一個從上世紀50年代才發展起的技術/學科,一般大家講AI的發展歷史,總是會總結成三大浪潮。幸運的是,目前看起來,AI還是總體符合波浪式前進、螺旋式上升的趨勢,值得廣大有志青年來投身于此。
[ 波浪式前進、螺旋式上升的人工智能 ]
三次浪潮的定義并沒有一個官方標準,此處的定義采用了日本學者松尾豐的定義。
第一次浪潮——搜索與推理(約上世紀50-70年代)
圖靈測試
AI的發展簡史,要從盤古開天辟地說起。1950年,阿蘭·圖靈(Alan Turing,一位科學巨匠,感興趣的同學可以看下《模仿游戲》這部電影),在《mind》上發表了一篇名為《計算機器和智能》(Computing Machinery and Intelligence)的論文。論文中既沒講計算機如何變得智能,也沒提出什么解決復雜問題的智能方法,僅僅是提出了一種驗證機器有無智能的判別方法:讓測試者和計算機通過鍵盤和屏幕進行交流,測試者事前并不知道與之對話的到底是機器還是人類。如果測試者無法分辨自己交流的對象是人還是機器,那么我們就說這臺機器通過了測試并具備了人工智能。
這個測試非常有趣,還有一個專門的獎項(Loebner Prize),用來頒發給那些在測試中表現優異的程序。有些人還會長期霸榜。
下圖的代碼截圖,是“AI核心代碼,估值一個億”。這段代碼只做了一件事情,就是將輸入文字進行非常簡單的處理——將輸入的“嗎”字去掉,將輸入的問號“?”替換成感嘆號“!”。盡管是諷刺某些AI領域的欺詐現象,但我相信的確可以通過某些人的圖靈測試。
[ 估值1個億的AI核心代碼 ]
達特茅斯會議
1956年夏天,香農和一群年輕的學者在達特茅斯學院召開了一次頭腦風暴式的研討會。會議的倡議者是當時在該學院任教的John McCarthy和Marvin Minsky,他們當時都只有29歲(29歲!)。說是研討會,但和現在的為期幾天的學術會議不一樣,這個研討會持續了一個暑假。“人工智能”這個概念,就是在這次會議上提出的。
搜索與推理
我們先看一個迷宮問題。假如有下圖最上方的一個迷宮,我們如何從起點走向終點?如果是人類,我們一般會拿筆畫勾勒路線,或者通過語言描述。但是計算機無法這樣處理,我們要將問題表示成下圖中間的樣子,路徑由線段表示,節點由字母表示,起點我們標記為“S-Start”,終點我們標記為“G-Goal”。
[ 將迷宮問題表達給計算機理解 ]
從S開始出發,我們會有A、D兩個方向可以選擇,從A出發我們有B、C兩個方向,從D出發我們有H、I兩個方向,以此類推,我們可以將所有可能出現的路徑表達成上圖最下方的樹狀結構。
那么,現在問題就表示成,我們有上圖所示的搜索樹,如何讓計算機找到從S到G的路徑?
簡單的方法有兩種:
1,我們盡量往深挖,走到不能走了為止,不行了就換一個樹的分支,這種方法被稱為“深度優先搜索”;
2,我們盡量把同一層級的節點都試過后,發現沒找到G,再進入到下一個層級,這種方法被稱為“寬度優先搜索”。兩種方法各有利弊,也能根據這兩種方法延伸出很多復雜的搜索算法。
最終我們發現,如果要從S->G,路徑是S->A->C->G。
P.S.:
1. 所謂算法,是指解決問題的方法和步驟。冒泡排序也是一種算法,并非AI相關的算法才是算法。
2. 沒有coding基礎的同學也建議看看最基礎的數據結構和排序算法。
成就和問題
盤古時代的AI,讓人們看到了以后不用工作靠機器人養活的曙光,尤其是在解決智力游戲問題上讓人們驚嘆不已。期間最有代表性的是棋類游戲。
1997年,由IBM開發的超級計算機“深藍”打敗了當時國際象棋的世界冠軍Garry Kasparov,引發的轟動不亞于Alpha Go擊敗李世石。雖然這件事情時間線上不屬于AI的第一次浪潮,但“深藍”當時使用的方法,本質還是暴力搜索——通過對己方或對方的每個可能的棋步進行搜索,然后選出獲勝概率最大的棋步(不過據說深藍根據Garry Kasparov的棋路做了專門優化,連硬件都是定制的)。
[ 深藍戰勝Kasparov ]
這個時期能解決的問題其實非常有限,現實生活中一些沒有明確規則的問題難以解決,同時機器的算力也非常有限。人們最終認為AI只能解決一些“Toy Problem”。
第二次浪潮——專家系統(約上世紀80-90年代)
既定規則
1966年,MIT的教授Joseph Weizenbaum發明了一個對話小程序ELIZA,這個對話小程序可以通過談話幫助病人完成心理恢復。ELIZA是微軟小冰、小黃鴨、Siri這些對話機器人的鼻祖。ELIZA的原理非常簡單,在一個有限的話題庫里,用關鍵字映射的方式,根據病人的問話,找到自己的回答。比如,當用戶說“你好”時,ELIZA就說:“我很好。跟我說說你的情況。”此外,ELIZA會用“為什么?”“請詳細解釋一下”之類引導性的句子,來讓整個對話不停地持續下去。同時,ELIZA還有一個非常聰明的技巧,它可以通過人稱和句式替換來重復用戶的句子,例如用戶說“我感到孤獨和難過”,ELIZA會說“為什么你感到孤獨和難過”。
P.S.:感覺Joseph是一個很好的C端產品經理。
[ ELIZA對話 ]
專家系統
專家系統,顧名思義,就是通過引入某個領域的專業知識,利用事先預定規則(可以簡單理解為很多個If-else),機器就可以像專家一樣出色地工作。有個很有名的專家系統是上世紀70年代初由斯坦福大學開發的MYCIN。MYCIN的功能設計是對傳染性血液病患者進行診斷,并開出抗生素藥方。這個系統內部總共有500條規則,只要按照既定順序依次回答,那么系統就可以判斷病人所感染細菌的類別,并開出藥方。
從效果上來看,MYCIN開出正確處方的概率為69%,其成績優于非細菌感染專業的醫生,但低于專業醫生(正確率為80%)。就效果而言,50年前能達到如此效果,已是殊為不易。
一個很著名的項目——Cyc計劃,旨在打包人類所有知識,從1984年開始,至今仍未結束。
[ 知識 ]
[ Cyc的官網介紹 ]
成就和問題
專家系統在數據不精確或信息不完整、人類專家短缺或專門知識十分昂貴的場景下,取得了非常好的效果和經濟收益。專家系統的一個著名例子,是IBM開發的人工智能“沃森”曾參加美國電視智力問答節目“危機邊緣”并挑戰歷代冠軍而獲勝。而且,據稱在上世紀80年代已有約2/3的美國1000強企業在日常業務中使用了專家系統。
但是很明顯的,專家系統有很多問題。知識庫的建立需要大量的時間、人力、物力;有些模糊無法定量的問題難以用文字衡量(類似我肚子痛,請問有多痛?);知識/信息是無限的;機器翻譯始終無法取得預期效果(AI翻譯是個很有趣的話題)。
第三次浪潮——機器學習、深度學習、計算機視覺
鳥飛派 VS. 統計派
按照吳軍博士的說法,AI領域一直存在著鳥飛派和統計派兩派。鳥飛派認為,要首先了解人類是如何產生智能的,然后讓計算機按照人的思路去做。這個說法來自于古人希望飛翔,于是通過觀察鳥類是如何飛行的,通過模仿鳥類來達到飛翔的目的。當然我們現在知道插滿羽毛的“鳥人”是飛不起來的。懷特兄弟發明飛機是靠空氣動力學而不是仿生學。現在,一般我們現在用的機器翻譯和語音識別,都是靠的數學,更準確地說是統計學。
機器學習,則屬于統計派。
機器學習
聊機器學習前,我們先看一個簡單的問題。下圖中明星合照,如果要分辨圖片中的男女,人類會怎么做?
其實人類可能一眼看過去就分辨出來了,當然我們人類分辨圖片中的男女可能隱含著我們使用了圖片中人物的發型、高度、膚色、體型等等信息,再加上我們在日常生活中積累的知識,從而做出了判斷。
[ 人類分辨男女怎么做 ]
那么,同樣類似我們在處理迷宮問題時的做法,我們先將這些信息給量化,方便計算機理解。我們簡化這些信息,將發型用頭發長度來衡量,膚色用0-100的數字衡量,體型用體重來衡量,高度和體重則保持正常大家的理解。
那么,一個發長10cm、高度175cm、膚色60、體重70kg、胸圍88cm的人,可以用一串有順序關系的數字來表達(10,175,60,70,88),這串有順序關系的數字,在數學領域,叫做向量。在機器學習領域,我們常稱其為特征向量。將圖片中人物表達成特征向量的過程,我們常稱為特征提取。這個特征,因為由5個有順序關系的數字構成,我們常說這個特征是5維的。
好了,我們現在已經知道如何把一個人用特征向量來表達了。那么,在這個向量空間(這些特征所在的空間,可以把向量空間簡單理解N維坐標系)中,我們怎么做,能夠讓機器正確分辨未知性別的人呢?我們需要給機器一個策略,讓機器可以“聰明”地作出正確的判斷,并且可以“學習”。
[ 機器分辨男女怎么做1 ]
我們先使用一種簡單的策略——已知的向量空間中,我們有事先已知性別的某幾個或一些人,我們提取這些人的特征。然后,我們設定,如果,待判斷性別的人的特征向量離已知性別的人的特征向量最“近”,那么我們認為這兩人的性別一樣。我們可以簡單理解為這種策略背后的哲學思想是“物以類聚、人以群分”。這個分類的策略在機器學習領域被稱為最近鄰(NN,Nearest Neighbor)。
那,怎樣算“近”呢?
首先我們看下圖中左上角的二維坐標空間,我們可以看到點A(X1,Y1)和點B(X2,Y2),兩個點的歐式距離我們可以通過圖中Dis(A,B)公式得出(此處蘊含初中數學知識)。我們可以以在特征向量空間中的歐式距離來判斷“遠近”。當然,實際上還有其他N種算距離的方法,如曼哈頓距離、馬氏距離。
上述過程,我們就完成了一個非常簡單的算法模型。我們設計了一個特征(或特征提取方法),我們有一些標注數據(事先已知性別的人),我們使用NN分類器用于進行分類。
毋庸置疑,上述模型是簡陋的。會有很多問題。我們設計的特征是否足夠合理呢?(體重用來判斷性別合適么,小孩和老人的情況怎么辦呢)我們的標注數據是否足夠多且合理呢?(如果標注數據中已知性別的人中女性都是成年人,而男性都是小孩,這個時候若輸入是一個成年男性的數據,是不是輸出就大概率是女性了)我們的分類器是否對噪聲魯棒?(如果已知性別的人中某個女性在發長、高度、膚色、體重、胸圍比較man,或者由于人工失誤將數據標注錯了,而恰好我們的某個男性在這些生理特征上和其相似,則容易誤判)。
[ 機器分辨男女怎么做2 ]
因此,我們要改進。
如果,我們在特征中,加入“是否有喉結”這個因素,并根據有/無喉結表示為0和1,那么我們可以把這個特征變得更有意義,此時特征已為6維。這個過程,我們可以簡單稱其為“算法升級”。升級后的算法,其特征和原先的特征是不兼容的(維數都不一樣了,距離無法計算)。所以絕大部分時候,AI算法升級后,原來系統存儲的特征是無法被升級后的系統使用的。
如果考慮年齡、人種、地域分布、健康情況等多種因素,盡可能搜集多數據并確保數據標注的正確性,我們是可以提升這個系統的效果的。所以,大數據的出現對AI的推動作用是非常大的。大數據是另外一個很相關的領域,目前機器學習甚至可以被理解為大數據的一種應用。
如果,我們不僅僅只考慮最“近”的那一個人,而是考慮最“近”的k個人,并采用“少數服從多數”的原則來進行投票,判斷性別,我們可以降低因為部分人 太Man or 太娘 帶來的噪聲影響。那么這個k取多少呢?3、5、7還是9?我們可以再額外采集一部分數據來測試(之前的標注數據我們稱為訓練數據,這次額外采集的稱為測試數據),驗證一下k取多少能獲取最好的效果。那么這個獲取最佳k的過程,我們可以稱機器在學習/訓練(Machine Learning/Training)。這個分類器就叫k-NN分類器。
如果,我們認為最近鄰的思想太過簡單,我們還可以來點復雜的內容。在上圖中,我們可以在向量空間中劃出一條線/一個平面,來進行區分。線/面的一邊代表一類。這個策略(分類器),叫支持向量機(SVM)。通過標注數據找到這條線/這個平面(這個過程有大量參數待定),也是一個機器學習的過程。
其他常見的分類器還有貝葉斯、決策樹、人工神經網絡等。人工神經網絡之后就發展出了深度神經網絡以及后續的Deep Learning。
上面的這么一個過程,我們建立了一個判斷性別的算法模型。我們學會了設計特征、設計分類器。為了達到判斷性別這個目的,我們需要事先有一些數據(樣本集/標注集),我們需要有一些知識才能設計出好的特征,我們的分類器需要數據來“學習“獲得一組最佳參數。我們知道了,什么叫“機器學習”。
深度學習
我們在看上述辨別性別問題的時候,會發現有一個關鍵點——上述設計的特征是否合理?如果使用“是否有喉結”這個作為特征或甚至采用“是否有子宮”這個作為特征是否更加合理?發長、高度、膚色、體重、胸圍這些因素是有助于判斷性別還是無助甚至有害的?
在深度學習出現之前,學術界許多學者都在致力尋找更好的特征來表述某些事物。許多學者投入了大量時間出產大量論文只是解決某個既定領域的一個小問題,提升幾個百分點的準確率。如果特征都要依賴人類來設定,甚至是專家來設定,我們能否讓機器自己來設計特征?
深度學習(Deep Learning)就是解決這個問題——讓機器來設計特征。
[ 深度學習是什么?]
深度學習,受自然神經網絡結構啟發,但并不是模擬神經網絡(不是鳥飛派),其早已是數學的領域。深度學習英文名為Deep Learning,原因是其是由多層神經網絡組成,理論上還是屬于機器學習的范疇。(此處感慨一下,取名非常重要,轉基因的作者如果取個好名字就不會有這么多事)
關于深度學習的原理,限于篇幅和筆者能力,不在此展開。有興趣的同學請自行搜索相關內容。
計算機視覺
機器學習嚴格意義上可以算作一門學科,而計算機視覺(Computer Vision)實際上是圖像處理和機器學習的交叉學科。
我們在上述看機器學習的過程中,有個關鍵步驟是提取特征。在分類男女的任務中,我們使用了諸如發長、體重此類的特征。如果我們真的要使用這些信息作為特征,那么我們會需要在現實世界中進行量取,這個可能是不一定做得到的,依賴于我們獲取數據的方式。
在現在的計算機屏幕上,我們人類可以看到色彩鮮明的圖片,是因為電腦屏幕通過電流刺激給人眼反射了不同波長的光,人眼的感光器對不同波長的有不同的反應,因此造成了顏色這個感受。
根據楊一赫姆霍爾茲學說,或叫三色學說,自然界中存在的各種顏色都可以通過紅(Red)、綠(Green)、藍(Blue)三種顏色按照不同比例混合而成。而我們現在看到的計算機上圖像的本質,就是由分別代表RBG三通道的三個二維矩陣構成。
我們首先看下圖中灰色的Lena(Lena是圖像處理領域常用的一張美女圖片。這個圖片很有歷史,有興趣的同學可以搜一下)。一般我們稱只有亮度(沒有顏色)的圖成為灰度圖。一個像素為100×100的灰度圖,在計算機中,就是一個100×100的二位矩陣,矩陣中的每一個值,代表每一個像素點的灰度值。灰度值的取值范圍是[0,255],值越大,意味著這個點越白(亮)。
[ 計算機視覺的本質 ]
那么,一個彩色圖,其實就是三個分別代表RBG的二維矩陣重疊構成。
這組二維矩陣的組成,則是我們計算機視覺的主要輸入。我們通過各種方式處理這組二維矩陣,包括基礎的圖像處理,比如銳化,到一些高階的機器學習方法,如提取圖像的Gabor、Sift、LBP特征等。其實圖像處理可以理解為二維輸入的信號處理(很多領域都是交叉學科)。
我們通過這組二維矩陣,提取里面的信息完成我們想做的事情,這就是計算機視覺。
成就和問題
機器學習、深度學習的興起,極大推動了計算機視覺、語音、語義(NLP)等領域的發展。目前我們使用人臉識別進行遠程開戶,使用微信語音轉文字看“語音”,和Siri溝通。AI已經深入到我們生活的方方面面。
但機器學習也不是萬能的。目前我們從實踐來看,絕大部分AI只適用于特定領域,即還處于弱人工智能范疇,離強人工智能(通用人工智能)還有一段距離。不過此時的AI已經能做的確很多很多。
AI作為已存在數十年的概念和行業,最近因算力和算法的突破又重獲新生。本文簡要陳述了AI的三次浪潮發展及對應的主流技術原理。感謝您的閱讀。
騰訊云人臉識別(Face Recognition)基于騰訊優圖世界領先的面部分析技術,提供包括人臉檢測與分析、五官定位、人臉搜索、人臉比對、人臉驗證、活體檢測等多種功能,為開發者和企業提供高性能高可用的人臉識別服務。可應用于智慧零售、智慧社區、智慧樓宇、在線身份認證等多種應用場景,充分滿足各行業客戶的人臉屬性識別及用戶身份確認等需求。點擊體驗國內最佳人臉識別服務。歡迎留言討論。
[1]《人工智能狂潮——機器人會超越人類嗎?》松尾豐
[2]《數學之美》吳軍
[3]《人工智能》李開復
總結
以上是生活随笔為你收集整理的AI商业产品经理:我眼中的AI简史的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 斩获2019 Thales AIChal
- 下一篇: AI 趋势