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