- 未來學徒:讀懂人工智能飛馳時代
- 腦極體
- 9字
- 2020-01-16 14:19:36
技術篇 讀懂今天的AI
第1章 深度學習
知識點解析:深度學習是機器學習研究中一個新的領域,通過建立模擬人腦進行分析學習的運算模型,模仿人腦的機制來解釋數據,例如圖像、聲音和文本。當人腦辨識物體時,我們會通過長耳朵、紅眼睛這些特征判斷出眼前的動物是一只小白兔。深度學習就是讓機器也能夠像人一樣識別特征,從而更有效率地工作。
一、生成對抗網絡是AI的強心劑嗎?
相信絕大多數AI領域的關注者,更在意的都是AI何時、何地、以何種方式投入應用。要知道AI已經是一個六七十歲的長壽學科,相比于學理上的進化和實驗室中的成就,大家必然更關注AI改變生活、產生經濟效用的一面。
根植于這種漫長的期待,一些AI領域內的概念獲得了迅速火爆的機會。比如在2016年,一種被稱為生成對抗網絡的機器學習模型就快速風靡了整個AI圈,從學術界到資本界,一時間都對這種技術充滿了無盡的期待。好像沒有哪個AI從業者可以繞開它,無論是對它頂禮膜拜還是嗤之以鼻。
如此火爆的行業大討論給外界一個錯覺,好像生成對抗網絡技術已經十分完善,馬上就可以促成AI技術的全面市場化。中外眾多創業項目也開始以其為噱頭。
但剝開生成對抗網絡有點神秘的外衣之后,這種機器學習技術真的可以帶給AI行業“跨進度表”式的革命嗎?
什么是生成對抗網絡?
生成對抗網絡(generative adversarial networks,GANs)這個概念,最早是在2014年的時候由蒙特利爾大學的AI學者伊恩·古德菲羅(Ian Goodfellow)提出的。在相關論文中,伊恩闡釋的算法復雜度和數理創新并不太引人注目,但其創造的算法模型在想法上別具一格,尤其在應用性上的優勢令人心動。
拋開復雜的函數語言,GANs在原理上酷似博弈論中的二人零和博弈,即非此即彼的勝負游戲。這場游戲中,甲的存在價值就是無休止地挑戰、質疑和審判乙,從而迫使乙不斷調整方案,盡一切可能應對甲的刁難。
這個玩法應用在機器學習中會有非常奇妙的化學反應。
GANs對這個原理的實現方式是讓兩個網絡相互競爭。其中一個叫作生成器網絡(generator network),它不斷捕捉訓練庫中的數據,從而產生新的樣本。另一個叫作判別器網絡(discriminator network),它也根據相關數據,去判別生成器提供的數據到底是不是足夠真實。
有個非常生動的比喻來形容生成對抗網絡技術——生成器是假幣制造者,判別器是警察。警察不斷質疑假幣上的種種漏洞,這就迫使假幣制造者不遺余力地提高造假技術,造出無限接近真實的假幣——這也就是GANs的核心目的,從數據中生成全新樣本。
這個極具張力的想法,事實上是在理論層面解決了機器學習技術長久以來的問題:如何促使機器學習的訓練成果向著人類希望的方向前進。生成對抗網絡簡單粗暴地解決了這個問題,其帶給業界的震動之大,從它躥紅的速度就可以得知。2015年這門技術還名不見經傳,2016年就達到了無處不在的火爆程度,甚至被專家稱為“機器學習領域20年來最酷的想法”。
當然,這個想法的優勢不僅僅是夠酷,更重要的是它的應用空間非常巨大。
確實有點心動:生成對抗網絡的應用場景
簡單的生成與判別關系,在大量重復學習運算之后,可能帶來的行業想象力十分巨大。其最大的亮點是,其他AI技術還在標榜穩定性、兼容性,以及與多種技術的融合程度,生成對抗網絡卻能直截了當地告訴別人它能干什么。在醉心AI創業的世界投創圈里,這無疑是一個亮點。
那么GANs到底能干什么呢?從基本原理上看,它可以通過不斷的自我判別來推導出更真實、更符合訓練目的的生成樣本。這就給圖片、視頻等領域帶來了極大的想象空間。綜合來看,生成對抗網絡至少在以下幾個方向上可能提供全新的動力。
(1)圖像處理。目前網上流傳最廣的案例,就是通過GANs來生成全新圖像,其在真實度和準確度上甚至超過了人工作業。
在真實工作場景中,為黑白圖像上色、通過低清晰度的圖片獲得高清版本、復原受損圖片等都可以運用它來解決。當然這僅僅是生成對抗網絡技術的低配版,目前甚至有實驗證明了可以用生成對抗網絡來把圖片變成視頻。未來如果這個技術成真,電影拍攝的成本可以大大降低。
(2)聲音處理。語音合成一直都是初級AI商業化的核心領域。生成對抗網絡可以在合成和恢復語音素材中提供重大助力。例如,用AI合成語音、從大量雜音中恢復某條音軌,甚至模仿一個人的語速、語氣和語言心理,都可以應用生成對抗網絡。
(3)文字生成。同樣的道理,生成對抗網絡在文本生成、寫稿機器人等領域也有極大應用空間。AI創作文字,最大的難關在于機器沒有思想和感情,無法表現出人類寫作的文本張力。而這些流于字里行間的所謂張力,說不定可以通過其來解決。
(4)信息破譯與信息安全。既然生成對抗網絡的目的是使某物不斷趨近真實,那么產生出真實的筆記、密碼習慣,甚至生物密碼也都是可能的。借助GANs破譯個體習慣來解鎖信息,以及提前運用相關技術進行信息安全防護,未來都可能有很大的市場。這里插一句,其實每種AI算法的出現都映射著人類信息將會變得“更危險”一點,AI在信息安全上的應用,近乎于一場與全世界賽跑的拉力賽。
(5)生成個性化產物。生成對抗網絡的學習方式,是根據一系列數據指標來將樣本生成為可被接受的信息。那么,個性化產物的制造其實也在可應用范疇中,《西部世界》里看起來接近真實人類的機器人,其實也就是按照多種社會因素來進行樣本判斷與生成。這類應用采取生成對抗網絡也可一戰。
(6)高精度的樣本預測。生成對抗網絡的更大作用,其實還在于通過模糊數據和少量信息,對某種可能性結果進行樣本預測。數據越充分,算法越高超,預測就會越精準。比如2017年年底十分引人注目的事件,AI通過人的側臉來判斷正臉,就是用生成對抗網絡技術來完成的。
這種預測樣本的應用還有很多,而推測未知永遠都是人類最愿意付費的領域之一,這帶給生成對抗網絡的商業想象空間當然也十分充足。
說了這么多,給人的感覺好像生成對抗網絡已經無所不能了。但實事求是地說,理想總是美好的,而什么時候成為現實就不一定了。
問題依舊無數:生成對抗網絡目前還屬于“看起來很美”
目前來看,生成對抗網絡在業界引發的是瘋狂的資本想象,在學界更多激起的卻是討論甚至論戰。因為這個簡單粗暴的機器學習解決方案看似美好,但在實際應用和反復試驗中卻總是存在各種問題。即使相對成熟的實驗結果,也會留下諸多隱患。
(1)需要數據量過大。生成對抗網絡的推導,完全依賴于大量樣本數據的反復判斷。這對于樣本數據的數量和覆蓋廣度都有嚴苛要求,而且對算力的要求也比較高。在相對垂直、小眾的應用領域里,生成對抗網絡還是比較難以施展手腳。
(2)理論指導匱乏而造成的系列問題。生成對抗網絡用什么標準判斷、以何種理論體系來引發判斷,一直以來還都缺乏支撐。準確地說,生成對抗網絡是一個有充足樣本和指導思想之后的解決方案,但目前解決方案有了,前提條件很多還不具備。在缺乏有效理論指導的情況下,生成對抗網絡很難得出復雜的樣本推導結果,錯誤率十分高,進入無監督學習領域也存在著大量門檻。
(3)普遍應用度不高。復雜的算法往往也代表著比較強的兼容性,而生成對抗網絡目前相對簡單的算法,帶來的問題就是普遍應用度不高。除了在少數幾個領域表現突出之外,在更多底層運算領域則后繼乏力。當然,目前學界的大量研究也在解決這個問題,根植于生成對抗網絡思想衍生了大量深度學習模型,或許可以很快彌補這個缺憾。
總而言之,生成對抗網絡雖然很容易讓人感受到它的魅力所在,但完整性和深度顯然還不足,與國內一些人的吹捧更是相距甚遠。當然了,生成對抗網絡的火爆也絕不僅僅是個偽風口,它真正的價值,在于其可能激發的連鎖反應。
真正的價值來自“腦補”:生成對抗網絡可能激發的連鎖反應
相比于快速進入商業場景,AI體系內部對生成對抗網絡的期望可能更多來自其他方向。比如,生成對抗網絡作為一個入口或者關鍵解決方案,影響其他AI關鍵領域進程的能力。
比如說遷移學習。我們知道,今天主流的AI機器學習,更多解決的是應用能力學習的問題。但如果具體到垂直領域,數據和樣本的匱乏會導致AI無法工作。但通過生成對抗網絡的生成與判斷機制,可以為遷移學習能力提供一個學習能力推導的輸出端。這是AI長期發展的基石。
再比如弱監督學習領域。生成對抗網絡代表了一種核心想法,即讓算法內部存在不止一個模型,這些模型不再是統一目的的運算體,而是通過不同目的的運算來相互制衡,這也就讓算法的自我推進成為可能。目前,基于生成對抗網絡已經產生了更多模型學習框架,這是它的一大功勞。
還有,在機器理解能力和異介質樣本生成方面,生成對抗網絡都有比較突出的幫助。這些價值可能并非體現在生成對抗網絡現在得出的實驗結果或者已經可以提供的價值,而是在整個AI演進體系中激發了一種連鎖反應,可以發揮研究者和創業者的“腦補”能力。
簡要總結一下,生成對抗網絡在目前的進度條上投入應用并非不可能,但絕對沒有眾多媒體和商業力量吹捧得那么神奇。這種技術在民間的出彩,很大程度上來自它的理論容易理解和實驗應用能力。
但更深處,那些可能需要挑戰一下腦容量的AI邏輯,或許才藏著真正的金礦。
二、用LSTM讓人工智能產生記憶
想要談個戀愛,總共分幾步?
大多數人的回答是,從搭訕開始。
但如果你想跟人工智能談個戀愛,那情況可能就要復雜一點了。畢竟搭訕的前提是它能記住你才行,而且就算它能記住你,也要把你和桌椅板凳、蘿卜青菜分開才行。
今天要討論的技術,就是負責這塊工作——當然離談戀愛什么的還有點遠——如何讓AI記住某件事的同時,將這件事與萬事萬物區分出來。
這個神經網絡技術的名字叫作LSTM(long short-term memory,長短期記憶網絡),可以說是個相當酷的名字。
這項技術雖然在1997年就被提出,但隨著整體AI技術環境的變化和改進方式的完善,LSTM在近期開始火爆起來。包括谷歌翻譯等產品都開始應用這項技術。
今天就來科普下這個“讓人工智能在人群中認出你”的技術。雖然LSTM的技術進程推進比不上很多算法與神經網絡,但它展示的未來可能與人文內涵卻有更加豐富的意味。
從呱呱墜地到情竇初開:LSTM解決了什么問題?
想要了解LSTM,必須先要弄懂另一個名詞——循環神經網絡(RNN)。很多機器學習算法與應用都會用到RNN,主要就是因為它解決了機器學習中一個最重要的問題:記憶。
所謂循環神經網絡,簡單來說是在傳統的神經網絡上加入了“循環”功能。最開始的神經網絡,每層計算之間的結果是不相聯系的,這樣留下的問題是機器學習系統沒有記憶能力。
而RNN的根本出發點,就是讓不同層神經網絡之間的輸入、運算與輸出進行聯系,使神經網絡產生記憶能力。
賦予機器學習記憶能力,有很多直接使用場景。比如說在機器翻譯當中,使用RNN技術可以帶來聯系上下文的能力,讓翻譯結果準確貼合語境。
但是RNN還是存在著巨大的缺陷,那就是它不知道如何選擇該記住什么、該忘記什么。這就導致了機器學習系統把所有信息都記了下來。這樣首先給運算能力增加了大量負荷,其次也讓神經網絡難以判定與比較遙遠信息的對應性。這在AI界被稱為RNN的“長序依賴”問題。
舉例來說,用RNN協助進行翻譯,它會記住連續語句中的吃飯、喝水等動作。但如果主人公在前幾段舉起了酒杯,這一段開始喝酒,那它就徹底分不清了。
針對這些問題,從業者發明了LSTM。所謂長短期記憶網絡,就是來區分哪些記憶要歸為長期記憶,哪些記憶只需要短期儲存。這樣就可以在循環記憶網絡中記住關鍵信息的同時減輕運算工作量。
所以LSTM是一種特殊的RNN。
回到談戀愛的話題,RNN就像一個呱呱墜地的嬰兒,雖然有了記憶,但無法區別記憶,不知道該記住什么。而LSTM就像情竇初開的少年,他已經能記住女孩的名字、愛好、容貌,并將這些東西聯系起來,推斷出自己注定是“備胎”的悲慘現實……
三重門:LSTM的工作原理
不妨簡單解釋一下LSTM的工作原理。
LSTM區別于RNN的地方,主要就在于它在算法中加入了一個判斷信息有用與否的“處理器”,這個有處理器作用的結構被稱為Cell。
一個Cell中被放置了三扇門,分別叫作輸入門、遺忘門和輸出門。一個信息進入LSTM的網絡中,可以根據規則來判斷是否有用。只有符合算法認證的信息才會留下,不符的信息則通過遺忘門被遺忘。
說起來無非就是“一進二出”的工作原理,卻可以在反復運算下解決神經網絡中長期存在的大問題。目前已經證明,LSTM是解決長序依賴問題的有效技術,并且這種技術的普適性非常好,帶來的可能性變化非常多。各研究者根據LSTM紛紛提出了自己的變量版本,這就讓LSTM可以處理千變萬化的垂直問題。
LSTM的應用空間
LSTM雖然沒有多么復雜,但應用率卻非常高。例如,這項技術已經被證明有效的應用環境有文本理解與翻譯領域。
LSTM的最直接價值體現,就是根據上下文之間的關鍵信息來推斷后序文本當中出現的主體定義。這就讓機器翻譯更有可能處理較長的文本甚至整個故事。
對于“機器學習+文本”來說,理解、翻譯和新的文本生成永遠是捆在一起的“鐵三角”。LSTM可以幫助理解上下文這種人類特有的表達方式,當然也有助于AI學習從人類文本中梳理邏輯和脈絡。而以此為契機反向生成有語境、有邏輯、有伏筆的新文本,也是LSTM最直接的應用場景之一。
同樣,上下文不僅是在文本當中才有。比如在視頻當中,也會出現前后故事聯系的情況,甚至更復雜一點,出現通過圖像來進行的前后聯系。比如一件衣服穿在不同人物身上的意義、反復出現的關鍵道具,甚至天氣對劇情的推動作用。
目前已經有通過LSTM變體技術來解讀電視劇的實驗。而更廣闊的應用空間,是通過LSTM來對監控視頻進行記憶推理。比如在全市的視頻監控數據中尋找被偷錢包的下落等,說不定很快就可以實現。
同樣,在NLP自然語言處理當中,LSTM也可以有巨大的應用價值。比如選擇記憶人的語言習慣、口音、發音方式等,可以幫助AI理解人類真實語言,降低對語言準確性的要求。另外,LSTM也可以幫助AI來理解人類的大段語音命令,從而讓人類對AI下達復雜命令成為可能。
未來狂想:當機器開始選擇性記憶
讓人工智能選擇性地記住點什么,絕對是一件“腦洞大開”的事。
這很容易理解,要知道眾多科幻片里毀天滅地的人工智能都是從有選擇性記憶開始的——當然,他們不約而同地先記住人類很壞就不知道為什么了。
由于針對長短期記憶的訓練數據缺失非常嚴重,LSTM的進化速度還比較緩慢。尤其是更加抽象的非文本材料信息訓練十分匱乏,行之有效的訓練方式也較少。但如果補齊了這一環,那帶來的想象沖撞可謂瘋狂。
這里列舉一下LSTM技術帶來的兩條比較有可能的進化線。它們都是由LSTM指向的選擇記憶能力開始,推導到我們十分懼怕也十分向往的人工智能能力當中。
猜想1:長短期記憶—選擇記憶—精確的推理能力—預言能力
通過大量的選擇記憶訓練,AI可以理解到事物之間有怎樣的長序聯系。甚至是信息距離非常遙遠的兩個事物之間是如何關聯的,而這指向的也就是機器的推理能力。隨著一些優質論文的發表,近年來機器推理又成為AI圈的熱門話題。機器可以具備推理能力近乎是確定的了,而可以利用無限多數據的AI,是否可以將推理能力做到極致,達到人類夢寐以求的預言未來能力呢?
再往下想,能夠預言未來的AI會如何看待人類的現在,以及AI與人類的關系呢?真是“細思恐極”。
猜想2:長短期記憶—選擇記憶—選擇性專注—機器價值觀
很多科學家都認為,在循環神經網絡這條線上,LSTM帶來了選擇記憶能力之后,下一步就是訓練機器如何選擇性地把運算能力專注在某件事上。而可以自行判斷專注目標、專注時長以及專注目的的AI,是否可以說是有了自己的價值觀呢?
畢竟人類的所謂價值觀,說穿了無非也就是在什么東西上浪費多少記憶、思考和時間而已。有了自己價值判斷的AI,當然也是人類一邊期待一邊懼怕的。
這樣看來,LSTM技術可以幫助人工智能在人群之中記住你,也不一定是好事。畢竟即使你想跟可愛的AI談個戀愛,人家說不定是想動動手指滅了你。
但無論如何,AI的記憶,已經是一道關不上的閘門了。
三、為什么AI公司都熱愛《星際爭霸》?
2017年的8月,AI圈出了很多大事,但只有一件事同時引起了兩家AI巨頭的興趣,那就是《星際爭霸》。
8月7日,Facebook的AI團隊發布了史上最大的《星際爭霸:母巢之戰》游戲數據集。緊接著8月10日,DeepMind就和暴雪娛樂公司聯合發布了《星際爭霸2》的游戲數據集與AI訓練平臺SC2LE。
為什么DeepMind、Facebook等AI巨頭先后迷上了對《星際爭霸》的研究?為什么他們做的不是制造一個人工智能去打敗人類選手,而是不約而同走上了開源數據、發布研究工具的這條路?
此外,相信關注AI的各位都注意到了,眾多媒體和專家們都認為對《星際爭霸》的研究可以引導AI走向通用智能之路。但大部分解釋都知其然而不知其所以然,到底《星際爭霸》跟通用智能之間是怎樣一個邏輯關系?
本節嘗試回答以上這些問題——到底《星際爭霸》是如何讓AI巨頭們集體為之著迷的?
我們知道,AlphaGo之所以選擇圍棋,是因為這項智力運動具有無法被暴力窮舉的特質,可以檢驗AI的非運算能力。比如我們看到最新版的AlphaGo已經展現出了布局能力、對抽象形勢的判斷力,甚至具體行為中的創造力——這都是傳統計算機絕不會具備的能力。
對于AI研究者來說,游戲只是方法,絕非目標。AI公司的目標只有兩個:一是做出更好的AI,二是用它賣錢。但游戲在訓練AI上有天然的實驗室屬性:用數據支撐、成敗標準清晰、大量的人類訓練數據可用。
有了這點共識,我們就可以開始破解AI企業對《星際爭霸》的圖謀。
為什么AI要玩《星際爭霸》?
訓練深度學習等AI系統,被使用最多的有三種游戲:迷你游戲、沙盒游戲和即時戰略游戲。但這三種當中,迷你游戲和沙盒游戲AI扮演的都是單一智能體。只有即時戰略游戲提供了獨一無二的訓練特征:復雜與協作。
在2017年,OpenAI的模型打敗了DOTA2
頂級選手,馬斯克激動地連發“推特”慶祝,但很多其他AI巨頭的科學家卻相當不屑,這是為什么?
原因在于1V1模式的DOTA2里AI僅適用一個智能體,目標比較單一,一對一遭遇戰也談不上不完全信息博弈。拼手速和反應,人類肯定是比不上AI的,OpenAI的這款模型的價值更多在于用AI系統自主學習電競的規則。
而大型即時戰略游戲則有著完全不同的環境。
(1)復雜多變的環境,考驗智能體對大量環境信息空間、時間和數據變化的理解能力。
(2)眾多獨立單位的配合。人類選手稱之為“微操”的技術,就是考驗混戰下對多個單位、建筑、編隊的協同運作能力,這對AI是核心考驗。
(3)不完全信息博弈。這類游戲開局時有戰爭迷霧,無法觀察對手動向。需要智能體進行布局和長遠判斷。
這些特征讓即時戰略游戲成為已知AI實驗環境中最復雜的幾種之一,要知道AI的目標不是可以贏,而是一定贏。
至于為什么一定是《星際爭霸》,或許也可以歸納出幾個原因。
首先,暴雪有開源打造AI的意愿,《星際爭霸》本身的素材和接口也都非常流暢。整個游戲數據化的成本很低。
其次,相比于拼效果和畫面的即時戰略游戲,《星際爭霸》的競技屬性更強。其動作眾多、元素復雜,像圍棋一樣具有難以被暴力計算拆解的基本特質。
同時,因為競技屬性強烈、競技歷史悠久,《星際爭霸》的戰術、戰略討論非常豐富,每一個子動作的價值基本都有判斷依據,這是機器學習系統的先決條件之一。
這三點之外,其實還有個最重要的原因:《星際爭霸》是對戰量最大的即時戰略游戲,同時戰網等平臺建設非常完整——換言之,就是留給AI的訓練數據夠多。
AI巨頭的真實目的
寧愿采取開源眾包的模式,也要攻克《星際爭霸》這種超復雜的訓練環境,AI巨頭們難道是“吃飽了撐的”嗎,他們到底想要從中獲得什么呢?
按照DeepMind把《星際爭霸2》拆解成系列小游戲的原理逆推。我們可以知道AI公司希望的是破解一個又一個細節動作后,把這些集合在一起,組成大的智能體集合。而這個集合匯集的將不僅僅是無數解決方案,更是這些方案背后普遍蘊藏的通用能力。
如果與圍棋進行參照,我們可以從《星際爭霸》這樣的訓練環境中推測出至少四種圍棋無法給予的能力。
(1)機器記憶力。區別于棋類游戲,即時戰略游戲中過去的信息可能被完全抹殺,比如剛才造的兵都死了……但這些信息卻將左右接下來的故事。這就需要AI具有記憶力,以及對記憶進行運用,給出反制措施。根據記憶的快速調整,將是一種全新且商業價值極強的AI能力。
(2)弱信息環境下的長期規劃能力。就像上文所說,《星際爭霸》這種游戲開局是完全信息封閉的。開局時做的事表面上可能跟戰爭的結果完全無關,但實際上卻具有貨真價實的因果關系。這類人類獨有的長期規劃和調整規劃能力,對應的是機器的預測和判斷能力。
(3)多智能體協作能力。通過與人類近似的鍵盤鼠標,一個智能體如何在終端指揮大量智能體協作,絕對是個迷人的話題。甚至戰略性犧牲、設置誘餌和集中火力,對照的可能是未來AI在現實社會中的中樞作用。
(4)動作連貫性。打游戲的都知道,取勝的關鍵是打出“節奏”。所謂節奏,來自玩家每一個指令之間如何銜接,是否具備連貫性。對于AI來說也是如此,一個細節上超越人類智慧并不難,但如何把每一個動作銜接起來,整體取得價值最大化,就是AI向前發展的關鍵了。
這四個方向,最精彩的部分在于都對應著現實中人類的能力——不僅是人類認知和解釋世界的智能,更是記憶、協作、堅持這種人類反作用于物理世界的“動能”。
至此,或許我們就可以理解為什么《星際爭霸》被稱為通用智能的關鍵了。因為它預示著AI將在更加混亂和真實的環境里,習得更加類似人類心智的可能性。
它不僅是實驗環境向真實環境的過渡,長遠來看,這類游戲被AI完全攻克,甚至可能成為智能體向類人智能體過渡的關鍵。
即使不談論那么宏大的命題,類似智能也可能成為AI股票分析員、AI廣告策劃、AI律師,這類巨大商業變革的基石——這類智能游戲,恐怕不比與頂級玩家打《星際爭霸》困難。
AI公司對《星際爭霸》的情有獨鐘,至此就很容易被理解了。
四、“中文屋悖論”:為何不會出現超級智能?
大家都非常關注這樣一個問題:擁有自我意識和情感的超級人工智能到底會不會出現?說實話,這個話題都“爛大街”了。科學家、科技大佬、各國政要們爭得頭破血流,我們也很難知道答案。
但是,有沒有一些理論或者猜想可以觸及AI覺醒這個話題,讓我們不是只能云里霧里或者一腔熱血地想象未來呢?
比如說著名的“中文屋悖論”。這個情景猜想在大部分情況下都被用來否定“圖靈測試”。但它更深層的本意,其實是在闡釋人工智能永遠不可能像人類那樣擁有自我意識。
什么是“中文屋實驗”
所謂的“中文屋實驗”,是由美國哲學家約翰·希爾勒(John Searle)在1980年發表論文提出的一個思維試驗。
這個思維實驗是說,如果把一位只會說英語的人關在一個封閉的房間里,他只能靠墻上的一個小洞傳遞紙條來與外界交流,而外面傳進來的紙條全部由中文寫成。這個人帶著一本寫有中文翻譯程序的書,房間里還有足夠的稿紙、鉛筆和櫥柜。那么利用中文翻譯程序,這個人就可以把傳進來的文字翻譯成英文,再利用程序把自己的回復翻譯成中文傳出去。在這樣的情景里,外面的人會認為屋里的人完全通曉中文,但事實上這個人只會操作翻譯工具,對中文一竅不通。
當然了,這是個思維實驗,具體操作起來近乎不可能。但這個實驗里蘊含的思想卻在表達這樣一個可能:機器所表現出的智能(理解中文),很可能只是翻譯程序帶來的假象,其實它對真正的人類智能一無所知。
這個實驗本來是為了反駁圖靈測試的,認為即使通過了圖靈測試,機器也不見得有了人類智能。但它或多或少有點牽強,始終也沒有把圖靈測試徹底反駁掉。不過,“中文屋悖論”卻可能在技術發展之路上告訴我們另一件事:我們所有的技術探索與研究,可能都是在完善那個中英文翻譯程序,從來不是去教機器真的智能。
通用人工智能和強人工智能的界限
這里要來認識兩個大家經常聽到,但有可能混淆的概念——通用人工智能與強人工智能。
所謂通用人工智能(artificial general intelligence,AGI),是指在不特別編碼知識與應用區域的情況下,應對多種甚至泛化問題的人工智能技術。這個技術雖然冷門并遙遠,但其實也有不少學術機構與企業在研究,一般被認為是人工智能技術的未來發展方向。
而強人工智能(strong artificial intelligence)則是約翰·希爾勒在提出“中文屋實驗”時設定的人工智能級別。這個等級的人工智能,不僅要具備人類的某些能力,還要有知覺,有自我意識,可以獨立思考并解決問題。
雖然兩個概念似乎都對應著人工智能解決問題的能力,但我們可以把前者想象為無所不能的計算機,后者則類似穿著鋼鐵俠戰甲的人類。
“中文屋悖論”表達的思想,是人類研究的方向根本無法逼近強人工智能。即使能夠滿足人類各種需求的通用人工智能,也與自我意識覺醒的強人工智能之間不存在遞進關系。
現實中的技術發展好像也確實是這樣的。
在通用人工智能領域,人類已經提出了一些設想與架構模型。其中最著名的應該是澳大利亞國立大學學者馬庫斯·赫特(Marcus Hutter)在2000年提出的AIXI。這個計算模型據說可以涵蓋各種算法與技術,逼近通用人工智能的本質……當然,這個算法的復雜程度奇高,根本無法執行,所以僅僅是個設想。
OpenAI和DeepMind這樣的企業在近兩年則都開始了具體層面的AGI研究,其中DeepMind被認為是繼承AIXI的先鋒軍。
從DeepMind進行的通用人工智能性質的研發與實驗中,我們可以看到其“通用性”主要集中在四個層面:(1)智能體應對復雜環境;(2)陌生環境處理;(3)時間變量應對;(4)多個信息源同時處理任務。
而這些技術都指向同一個方向,就是智能體與外界的交互——也許可以理解為AI與這個世界的翻譯程序吧?
換言之,人類所做的僅僅是給“那個人”更好的翻譯程序,而非教他中文。所以通用智能這種已經很玄的東西,依舊與強人工智能保持著清晰的界限。
絕望的強人工智能:能力和意識,也許南轅北轍
讓我們把“中文屋實驗”極限化一點,把整個房間放在一個人的大腦里。
假如一個人記住了所有翻譯程序,看到任何中文他都能調用回憶,能寫出相應的回答,那么他是不是就懂中文了呢?對于人類來說,可能他自然而然地就已經理解中文了。但對機器來說,即使這個過程速度再快、反應再靈敏,它也依舊沒有理解任何一個漢字。
確切地說,這個人(智能體)獲得的是使用中文的能力,但對中文沒有意識。
能力與意識的區別,是我們在想象未來的超級智能時最容易混淆的問題。但從現實的邏輯推理,就會發現這二者差別很大,而且近乎沒有關聯。
知識表示、機器學習、NLP等人工智能技術,都是在不斷強化人工智能模仿人類能力的能力,但讓人工智能具備模仿人類意識的能力,直到現在依舊是一片空白。
沒有因,自然無果。“中文屋實驗”講述的,就是按照人類遵循的技術軌跡,智能體意識崛起這個命題將永遠缺乏基礎條件。
如果這個結論成立,那么對于強人工智能來說可謂是非常絕望的。它們只能繼續在時空的長河里沉睡在人類的幻想中,一如遠古的神祇,一如都市傳說里的鬼怪。
想一想,還是覺得蠻無趣的呢……
五、用“貝葉斯意識”來推斷“人工智能還能干什么?”
有讀者希望我們做個專題,專門列一個“你想不到AI居然可以做這些”的清單。
可以非常負責任地說,這清單太容易了,但問題是工作量巨大。即使不考慮技術的可能性,僅僅是每天統計新的論文和研究報告里又讓AI能做什么了,那都是個近乎無法完成的工作。
但這并不是說AI已經無所不能。事實上,AI在絕大多數基礎工作中并沒有傳統計算機效率高,完全談不上取而代之。AI總能在意想不到的領域冒出來,是因為它采取了完全不同的底層策略,專注于解決那些經典計算和人工無法解決的問題。
所謂“魚不如漁”,與其大家一起感嘆“AI居然能做這個!”不如來思考“如何知道AI還能做哪些”。想要獲得這個能力,就需要知道今天主流AI解決方案的依據是什么。這就不得不提一個對AI發展至關重要的名字:貝葉斯。
想要尋找“上帝”,卻找到了人工智能
假如沒有貝葉斯,實在很難想象今天的AI會怎樣。不僅是AI,可能統計學、應用數學、測繪學、醫學,甚至犯罪學都會受到巨大的影響。
有趣的是,對學術界如此重要的一個人,卻根本不是一位科學家。生活在300年前的托馬斯·貝葉斯,是英國的一名牧師。當然,同時還是一位業余數學家。
可能是出于把愛好和工作融合到一起的考慮,貝葉斯提出了將歸納法應用于概率統計的方法,希望能以此向世人證明“上帝是存在的”。很“不幸”,三百年之后“上帝”存在的依據依然未找到,但貝葉斯歸納卻在無數科學領域開花結果。
所謂貝葉斯歸納,其實基礎原理非常簡單。比如說一個人做了一件好事,那他是不是個好人呢?顯然不一定。但是假如一個人每天都做好事,那他是不是一個好人呢?其實也不一定,也可能他在背后十惡不赦、喪盡天良。但假如沒有他做壞事的證據,每天做好事就是好人的概率顯然已經非常大了。這就是貝葉斯歸納的核心邏輯:不必獲取所有證據之后再進行判斷,而是結合已知條件先進行判斷,再通過數據不斷去驗證、調整、修改這個判斷,讓它無盡趨于合理化。
這個邏輯聽起來蠻簡單的,但好像還有點不靠譜,在貝葉斯生前,他的想法甚至沒有發表出來。即使其死后的兩百多年里,貝葉斯歸納也沒有得到多少重視。因為從數據嚴謹性出發的經典統計學顯然可以更好地接觸事物本質,而不是像貝葉斯歸納一樣用“猜”來開啟計算。
直到二十世紀七八十年代之后,沉寂百多年的貝葉斯理論開始重新在統計學中被重視。
因為經典統計學雖然可靠,但是需要依靠完整的數據模型,往往效率太低,無法滿足實際需求。比如說在搜尋海面遇難船只時,經典統計學需要每個海域的氣象數據、監控數據、過往船只數據,然后綜合計算這些因素來精準定位。但事實上,這些數據是不可能馬上齊全的,即使可以,分秒必爭的搜救工作也不能等。而用貝葉斯理論來解決這個問題,會先讓有經驗的專家主觀判斷船只失事海域,然后通過不斷獲得的數據一點點修正專家的判斷,爭取在最短時間內解決問題——這就是著名的1968年美國天蝎號潛艇失事事件,也是貝葉斯理論進入應用的標志。
貝葉斯理論在工作中強調從人類先驗知識出發,對目標進行模糊判斷,然后不斷進行判斷校對,這成了后來大量人工智能技術的誕生起點。
三百年前,本來希望用來證明“上帝”存在的理論,在三百年后卻成為人工智能的基礎,這是一個悲傷的故事呢,還是說貝葉斯牧師其實已經找到了正確答案?
貝葉斯意識:一切學習型AI的基礎
與0和1組成的經典計算不同,貝葉斯計算不需要建立在完整的數據基礎上就能獲得答案。這種不完全數據推理能力,與人類思維中的認知與判斷過程非常相似。于是產生了數量眾多的貝葉斯理論與AI結合,運用于不完全信息推導的技術模型。
比如說貝葉斯網絡、貝葉斯分類器、貝葉斯邏輯,都是如今非常基礎的AI工具。貝葉斯網絡更是可以看作機器學習理論自證有效的基礎條件;而貝葉斯方法也被廣泛運用在NLP、機器視覺、知識圖譜等領域,成為優化結果型算法與技術的支撐。
在我們的生活中,貝葉斯意識可謂無處不在。比如說有沒有感覺手機拍視頻或者直播正在越來越清晰?這其中很大一個原因在于攝像算法中運用了貝葉斯邏輯加持下的視頻優化算法,通過對抗生成來獲得更清晰自然的拍攝效果,也就是所謂的視頻美顏。
從另一個角度也可以論證貝葉斯對人工智能的重要性。20世紀70年代,曾經有過一次比較短暫的AI復興。當時知識表示和專家系統成為人工智能的主角,人們希望用超級計算機來歸納人類的所有知識,進行網絡化。最終所有問題都可以在其中找到答案。
這種模式在當時贏得了大量資金與關注,卻在短短幾年間宣告破產。因為人類知識和數據太復雜了,收集所有知識只具有理論上的可能性,現實操作遙遙無期。
而今天以機器學習為主要特征的AI二次復興,很大程度上受益于貝葉斯意識帶來的思維轉變:人類不用收集一大堆知識,只需要從一部分已有知識出發,讓機器不斷去學習和驗證自身能力,不斷提高就可以了。畢竟人類需要的不是全能全知的存在,只要智能體可以比人類更強就夠了。
可以說,貝葉斯意識依靠著對現實變化的高度敏感,已經成為今天一切學習型AI的基礎。了解了貝葉斯意識中從不完整出發,逐步向完整邁進的邏輯,也就懂了未來AI還能做出什么。
人類大腦和技術未來的殊途同歸
有學者認為,貝葉斯意識可能是最接近人類大腦思維模式的應用數學邏輯。就像讓一個孩子去認識狗,不必教他狗的種類、科屬、習性,也不用把狗的耳朵、鼻子、四肢都變成數據讓他理解。孩子會馬上知道這是狗,然后在自己不斷的學習過程中去加強對狗的認識,知道狗有不同種類,知道狼與狗的區別,等等。
所以我們過去在思考很多問題時,會主動地讓大腦像計算機一樣去想象。在移動互聯網時代,我們又習慣了以手機為中心去思考一切。但在人工智能時代,貝葉斯意識告訴我們:也許人類該像人類自己一樣去思考了。
在某些技術奇點之后,機器已經可以在局部區域像人類一樣通過局部知識去認知、推理和判斷復雜問題。最好的例子可能就是AlphaGo Zero的出現。其實AlphaGo的邏輯就是一種貝葉斯思維,要知道對圍棋來說經典計算是無法窮盡所有變化的,暴力窮舉只能帶來死機。
而AlphaGo采取的,是讓智能體去學習圍棋規則,然后大量學習人類棋譜,這就是貝葉斯歸納中不斷吸收數據校準目標。在實戰的時候,智能體內部算法還會自我驗證每一步預測的合理性,最終求得最優解。
而有了一定的積累后,AlphaGo這個貝葉斯體系就可以不再依賴人類提供的數據,而是通過對優質數據進行自我學習,從而在短時間內具備了秒殺上一代的能力。這可以看作貝葉斯體系擺脫了對初級數據的依賴,進入了進一步自我校準的過程。
有理由相信,此后這類現象會陸續出現更多。因為人腦的學習能力有若干限制,但貝葉斯智能體卻沒有。
通過模糊知識來進行不斷學習,最終通往廣義未知,很可能是人腦與技術未來的共同方向。至少目前來看,這種技術邏輯在前瞻性科學中的應用已經越來越多。比如量子貝葉斯、貝葉斯基因算法等。
而另一方面,想知道人工智能還能在哪些領域做出驚人之舉,不妨也像貝葉斯一樣去思考:首先這個領域是否存在效率、可靠性、成本比率、盲目性等問題,如果有的話是否有必要引入AI;其次看一下這個領域是不是存在先驗知識,作為智能體的基礎;再次看一下這個領域能否源源不斷產生提供給機器學習的數據和知識。
如果這幾個條件都確立,那么AI已經不遠了。
經過從PC到手機的漫長教化,我們可能已經習慣了數字化的世界。但人工智能卻可能打破人與計算機的經典搭配,利用人的感知與學習能力和計算機的運算能力來打開另一條路。也許已經是時候改變一下互聯網思維,讓大腦去和人工智能產生多一點點默契了。
六、遷移學習:AI在GTA5
里考下的那本駕照
我們都在歌頌人工智能的偉大,但我們都知道,如今的AI對我們生活的改變,很多都基于計算能力的增強、數據量的龐大和算法架構的優化。可自然環境中無窮無盡的變量、每個用戶也有不同的個性化需要,這一切都在增加著人工智能算法的應用難度。
最關鍵的是,很多時候我們很難針對每一個應用模式都尋找到一個相應的數據庫,從而進一步阻礙了算法的實際應用。
面對這個問題,很多專家把希望寄托于遷移學習之上。下面就來聊聊,遷移學習到底是什么,它會怎樣改變人工智能的應用。
遷移學習——讓機器融會貫通
在目前的機器學習中常常出現這種情況,當我們想教會機器辨識一張圖片上的動物是貓還是狗時,我們需要大量的貓狗圖片數據。好不容易教會了,當把問題換成圖片上的動物是老虎還是狼時,過去的訓練無法發揮一點作用,只能從頭開始。又比如說,我們利用白天街景訓練出了一個可以在馬路上識別行人的模型,可到了晚上,這個模型的表現卻糟糕得令人咋舌。
類似的情況正在不斷地增加著機器學習應用場景的限制和成本,原因就在于機器缺少在學習上的遷移。什么叫學習上的遷移?就是當你學習過法語再學英語,學習速度會比只懂中文的人更快。讓機器在學習時可以舉一反三和融會貫通,是遷移學習的最終目的。
學會抽象思考是遷移學習的第一步
那么機器究竟是怎么遷移學習的?用一句形象的話說,是機器學會了抽取概念。
比如說,我們可以為機器模擬出一個訓練環境,就像玩游戲時的模擬教學關卡,學會了怎么玩,再去面對各種各樣的真實游戲場景。當然,這樣的學習方式一定要建立在模擬數據和現實數據十分相似的前提下,此時所謂遷移的難度也就大大降低了。
除此之外,遷移學習也可以讓機器通過特征進行遷移。如上文提到的從辨識貓狗到辨識狼虎,機器可以從貓與狗的區別中提取出長短吻、耳朵形狀等特征,將這些特征差異與不同答案的對應模式應用于狼與老虎的判斷中。
其他的還有結合深度神經網絡來進行基于模型的遷移,比如我們利用大量語料進行了基于普通話的語音識別訓練,當我們開始進行基于山東話的語音識別訓練時,雖然不能直接使用普通話的模型,但可以基于原有的模型,只需要少量的語料就可以完成訓練了。
相比“直接”的遷移模型,我們目前更多的還是在利用遷移學習減少模型訓練成本。如今遷移學習還在不斷地發展,出現了層次型的遷移學習,把問題分層,將能夠應用原有模型的層次固定,在其他層次再進行訓練。還有傳導式的遷移學習、遷移學習方式獲取等。
遷移學習怎么應用?在GTA5里訓練無人駕駛!
說了這么多,其實我們最關心的還是遷移學習的實際應用。
最容易理解的遷移學習,存在于機器模擬訓練環境之中。最典型的就是DeepMind通過仿真環境訓練機械手臂的案例。在2015年,DeepMind就將其作為最新研究成果推出。2017年又出現了無人駕駛項目Deep Drive在GTA5里訓練AI。
利用模擬環境訓練機器,雖然暫時不會加快家務機器人的應用,但對于工業生產來說,極大地降低了智能化的成本。對于各種工業作業的不同需求,應用機械也需要不同的算法模型,但直接在實物上訓練意味著巨大的成本。這時利用遷移學習的模擬訓練就能解決很多工業方面的需要。同時在無人駕駛上,很多平臺也都開放了自身的模擬器,幫助無人駕駛實現更快速的訓練。
除了模擬之外,特征識別也有很廣的應用,最典型的就是把用戶在通用領域的喜好遷移到個別領域之上。比如根據以往數據,得知用戶喜歡推理類電影,在為用戶推薦書籍時,也會為其優先推薦推理類小說。不僅僅讓智能推薦更加準確,在一些人機對話中,也可以通過增強對用戶的了解而減少對話的步驟。
除了以上兩點外,遷移學習還有大量應用案例。業內有人認為從深度學習到增強學習再到遷移學習的過程中,我們對數據的依賴程度越來越輕,所以遷移學習相比另外兩者更加“高級”。不過我們也可以換個思路,正確地了解和看待每一種學習方式,或許,多種理論的交會和共同發展才真正有益于機器學習。
七、遺傳算法:能欺騙神經網絡的“神算法”
有一款非常有趣的小游戲叫Boxcar 2D,游戲主要內容是用幾何圖形和圓形的輪子組成小汽車,不斷走過一條有上下波動的“路”,看什么形狀的小車可以走得更遠。但和大部分游戲不一樣的是,不用玩家自己手動拼裝小車,整個過程完全由算法自動進行,每次隨機生成小車,卡到路上了就重新來過。最后小車會越走越遠,整個過程中小車的形狀會越來越合適,一開始可能只是個“獨輪車”,到后期則會很接近我們生活中摩托車的樣子。
要問有什么案例能簡單明晰地體現出“智能”“自學習”的概念,這款游戲一定是首選。而這款游戲中,應用的就是遺傳算法。
什么是遺傳算法?
簡單來說,遺傳算法是一種隨機搜索算法,主要目的是用來優化。和自然界的遺傳一樣,遺傳算法秉持的是適者生存、優勝劣汰的原則。通過選擇、交叉和變異,不斷迭代出更優秀的解法。
通過編碼,將解空間變成編碼空間,從中選擇當前較為優秀的解當作“父母”,下一步則是將多種解的特征進行交叉,誕生下一代,最后經過變異成為“子嗣”。如果“子嗣”還是不能符合要求,那就再進行一次上述步驟,直到滿足要求。過程中,較差的基因就會一步步被淘汰。總之,這是一個枚舉的過程。就像長頸鹿的進化一樣,樹葉長在高處,每一只鹿都去嘗試吃樹葉,只有符合“標準”的長頸鹿能夠吃到食物、生存下來并誕生后代。
但要注意的是,這種算法很多時候不會給出一個“最優解”,而是給出一些較為接近的次優解,從矮子里面拔將軍。
在哪里能看到遺傳算法?
遺傳算法經常被用來解決一些調度類的問題,比如確定車間工作流程、飛機航線等。它是將工程、航行中所需要的資源消耗、時間等權值看作“染色體”,幾種染色體排列組合,最終選擇其中的較優方案。
此外,機器人中也會用到遺傳算法,尤其是快速定位、路徑規劃等。就像Boxcar這個游戲一樣,機器人在仿真環境中不斷嘗試接近目標,路線的優越度隨著路線的長度增加,結合機器人對自身位置的感知,最后得出較優解。
同時,遺傳算法也可以被應用于幫助神經網絡調整參數,只是這種方式需要的時間太長、運算量太大,屬于性價比較低的參數調整方式。
在游戲中,也能見到遺傳算法的影子。比如說很多游戲會有在同一場景面對多輪敵人的“生存模式”,在這一模式中,敵人的屬性是會不斷增強的,有了遺傳算法,就可以根據你自身屬性的變化不斷改變敵人的屬性,以增強游戲的難度。比如說你的法術強度高,敵人就會增加法術防御度;你的攻擊穿透性高,敵人就會增加血量。這樣一來相比直接增加屬性,可以有更好的游戲體驗。
從“騙人”到“寫詩”,遺傳算法有什么好玩的應用?
以上都是一些適用于實際場景的應用,由于遺傳算法簡單易用,我們可以看到很多娛樂化的、有趣的應用。
比如說,模仿圖形。在一款程序中,我們可以看到遺傳算法通過幾何圖形的不斷組合,最終慢慢變成接近案例圖形的樣子。
同時你還可以親自調整變異的傾向,最終成果雖然和原圖相比還有很大差距,但也不乏自己的風格。不過嘗試時就可以發現,整個過程時間很長,某種程度上也體現了遺傳算法的低效。
基于上述功能,遺傳算法還有一個非常有趣的玩法,那就是“欺騙”深度學習模型。
2014年有一篇論文曾經寫過,深度神經網絡(DNN)在圖片識別上有著很優異的表現。當用遺傳算法模擬圖片時,兩張圖片在人眼看來一模一樣,可深度神經網絡卻完全識別不出來;或者遺傳算法可以模擬出一張人眼看起來是“亂碼”的圖片,卻被深度神經網絡識別成正常的圖片。
這一點讓人們注意到了機器視覺和人類視覺的區別,和人類不一樣,機器還是會把圖像轉化為“數字”,再進行比對、識別。這也導致深度神經網絡有時候會把一張噪聲圖識別成動物、建筑等。
除了生成圖片,遺傳算法還可以生成音樂、宋詞等。將詞語和音符輸入,讓機器隨機組合,加入人類評分機制。整個過程和“讓猴子在打字機前坐幾十年可以寫出莎翁作品”的假說差不多。基本上只能用于娛樂,不太適合實戰。
其實,目前遺傳算法已經慢慢淡出了主流算法舞臺。雖然主旨是為了避開局部最優誤區,為無限解集問題尋找答案,可在實際應用時相比梯度和蒙特卡羅算法都沒有明顯的差異和優勢,常常被視作“玄學算法”。比如計算結果的穩定性差、求解過程沒有可復制性等都是遺傳算法的缺點。很長一段時間里,遺傳算法都被看作只能用來湊論文的算法。
不過理論也和技術一樣,會隨著實踐和研究不斷發展,神經網絡也曾被打入冷宮。DeepMind還提出了把神經網絡和遺傳算法結合,應用到遷移學習中的案例。或許,有朝一日遺傳算法還會重新進入我們的視野。
八、馬爾可夫鏈:啟蒙運動時的數學理論,機器學習的基礎設施
如果幾十年前的學術界也會像娛樂圈一樣發通稿,或許會出現這種情況:
《本屆神經信息處理系統國際會議圓滿落幕,貝葉斯學派艷壓全場》
《師承達爾文,自然進化學派講述初心》
不過,雖然貝葉斯學派用“概率”和“驗證”開啟了學習型AI之路。可在當年,對他們的嘲諷也不少,其中有一個特別有趣的段子是這樣的:
“換一個燈泡需要多少個貝葉斯學者?”
“不確定。”
“不確定需要多少個人?”
“不,是貝葉斯學者們不確定燈泡是不是壞了。”
馬爾可夫鏈條:指數終結者
的確,在貝葉斯相關理論的發展初期,概率這件事似乎是和推理相對立的。理論上來說,如果你想知道明天中午食堂做咖喱雞的概率是多少,只能拿出上個禮拜食堂的菜單,分別把周一到周五“做了咖喱雞沒做紅燒肉”“做了紅燒肉沒做咖喱雞”“做了小炒肉沒做咖喱雞”等很多種狀態羅列出來。這樣所帶來的就是結果的指數性暴增。
而想要避免這種問題,佩德羅·多明戈斯曾經舉過一個非常生動的例子。
隊長帶著縱隊行軍,想確認所有人都在跟著自己,可以用一種非常笨的方法:停下來自己數一數,還要走幾步就得數一下。而聰明的辦法是,問你身后的第一個人“你后面有幾個人”,每一個士兵都問身后的士兵同一個問題,直到最后一個人說“后面沒有人”。這樣倒數第二個人可以回答“我身后有一個人”,然后每個人都會在后面人報的數字上加1。
如此既能得到士兵的數量,還不用停下來。而這一縱隊士兵形成了一個鏈條,名叫馬爾可夫鏈條。
馬爾可夫鏈條的概念,就是指“一系列事件中,某一給定事件發生的概率只取決于以前剛剛發生的那一事件。”蘇聯數學家辛欽這樣解釋這一概念:客觀世界存在著這樣一種現象,當下對未來的影響程度,與過去無關。當下是已知的,過去和未來就存在著一種名為“馬爾可夫性”的獨立的特性。
馬爾可夫其人:數學、哲學、民主斗爭
說到馬爾可夫其人,還有不少傳奇事跡。這位來自俄國的數學家在中學時期就開始厭惡各種宗教的祈禱和懺悔,喜歡讀進步讀物。入讀彼得堡大學數學系后,馬爾可夫的數學天賦愈發凸顯,他師從著名的彼得堡學派數學家切比雪夫,致力于把概率論推向實際應用。
1896年,馬爾可夫正式成為彼得堡科學院的院士,他的《概率演算》不僅是數學學術著作,還扛起了唯物主義的大旗。在那個充滿了皇權、專治、愚昧教義的年代,深受民主啟蒙運動影響的馬爾可夫在用自己的方式為真理和科學搖旗吶喊。
同年,俄國的末代沙皇尼古拉斯二世上任,他粗暴專橫,阻止高爾基當選科學院院士。馬爾可夫和契訶夫等多名科學家、文學家一起表達了對沙皇行為的不滿,馬爾可夫甚至還遞交聲明,強調科學院無意取消高爾基當選院士的資格,不能被強加,最后甚至用辭職表達自己的不滿。
在馬爾可夫的余生中,他除了用心執教、研究學術外,一直在不斷試圖和強權斗爭。
在那個新世界體系逐漸破殼而出、舊世界體系逐漸坍縮的年代,馬爾可夫鏈條的概念有著太強烈的哲學寓意。
如何理解隱馬爾可夫模型?
回到之前的話題,我們要是想知道明天食堂做咖喱雞的概率是多少,只需要列一個矩陣,羅列出第一天吃了小炒肉/咖喱雞/紅燒肉,第二天吃咖喱雞的概率。
也就是說,在馬爾可夫的食堂菜單中,沒有星期一到星期五的菜單,只有第N天和第N+1天的概率。
比馬爾可夫鏈更出名的,是隱馬爾可夫模型(HMM)。在這里,我們不對算法進行太多數學方面的解釋,還是以食堂為例。我們在食堂能吃到小炒肉、咖喱雞、紅燒肉,是因為分別有三位廚師A、B、C當班掌勺做這幾個菜。而廚師隱藏在后廚,不被我們所發現。
這時我們的問題也變了,變成判斷明天B大廚當班的概率是多少。我們明白了今天吃到小炒肉,就是廚師A當班,明天吃到紅燒肉,就是廚師C當班。從菜品可以分析出有關隱藏在后廚的廚師的概率。
而這就是隱馬爾可夫——一個隱藏的狀態,隨著時間變化,改變著表象。
隨機是混沌世界中唯一的真理
在馬爾可夫鏈剛剛得出結論那陣,其實已經有類似的案例出現在其他學科的研究中,比如傳播學、遺傳學等,人們開始明白,很多事物不容易一步步推導出來,而是具有一定的隨機性,只是沒法把這種東西數學化。
這個世界的很多事都沒法清晰解讀出層層道理,正因為概率、隨機這種特性在生活中無處不在,才讓馬爾可夫鏈、隱馬爾可夫模型成為機器學習中的一種基礎設施。
舉個最簡單的例子,之前提到過分詞技術,擁有大量文字語料時,我們如何尋找分詞規律?
“我們如何尋找規律”這句話是表象狀態,隱藏在背后的,是“我們/如何/尋找/規律”這樣的狀態。
假設分詞模式有“A”“AX”“XAX”三種。句子中“我”字可以被分割入“-我”“我們”,“律”則可以被分割入“找規律”“規律”“律-”。其中“-”代表句子的開始和結束。隱馬爾可夫模型,就可以憑借上一個字的分詞狀態,判斷下一個字各種分詞狀態的概率。
比如,當“我”字被分割入“我們”,“們”字被分割入“們”“們如”等的概率就是0。
這樣只考慮前一個狀態的算法,極大地減少了計算量(不用總是總覽整個句子)。同樣的道理,在語音識別、機器翻譯、金融等多個領域都已經有了成熟的應用。雖然后來LSTM的出現憑借著強大的“記憶力”功能,在一些領域替代了隱馬爾可夫模型。但馬爾可夫鏈相關概念在機器學習,甚至整個科學界的牢固地位依然是無法撼動的。
可以說馬爾可夫鏈讓早期貝葉斯概率論有了更加實際的應用意義,到了后期,貝葉斯網絡的發展又將馬爾可夫鏈中的哲學思想蔓延到更廣的領域。
在今天,隱馬爾可夫模型隨處可見,可馬爾可夫隱藏在公式中的獨立思辨精神,又去哪了呢?
九、模仿學習:讓機器人從一段視頻中拜師學藝
有關于人工智能到底有多強大這件事,已經不用再做過多討論了。AlphaGo如何在圍棋領域“吊打”人類,或者Prisma如何模仿出大師的畫作,這些案例我們已經見了太多。
不過我們更關心的是,什么時候家里掃地機器人可以不那么弱智,別再咬著地上的數據線不放?
這是一個很普遍的狀況:人工智能面對單純環境中的計算問題、數據處理問題都可以表現得很好,可放到現實生活環境中卻是舉步維艱。很多實驗室連機械手臂抓舉雜物這項技術都沒能突破。
如何讓機器人干點實事?
為了能讓機器人們做點實事,人們想了很多辦法。比如用SLAM(即時定位與地圖構建)系統把機器人所在的整個區域構建成一個地圖,讓它們以計算的方式實現自主移動。又比如利用強化學習,為機器人的正確行為設置獎勵;或者是利用遷移學習,在仿真環境中訓練程序,再遷移到真實的機器人“腦”中。
這樣做的結果,或許可以讓工業生產線上的機械手臂更好地工作。可對于日常生活中的大部分場景而言,沒有固定不變的地圖,沒有可以設置獎懲的規則,更沒有可以完美仿真的環境。
更何況,以上這些做法,需要數據、大量的數據,以及無盡的訓練……
不過,加州大學伯克利分校曾在博客上展示過一段視頻,是一個小機器人在鋪床。而實現這一行為的方式,是通過一種更為前沿的方式——模仿學習(imitation learning)。
模仿學習:現在就開啟你的機器人學徒
何謂模仿學習?簡單來說,模仿學習是通過在某種意義上模仿人類行為,從而教會智能體如何像人類一樣與世界進行交互。
實際上在機器人學習(這里專指實體機器人)這件事上,專家們一直在向一個方向發展:用端到端神經網絡實現控制,讓機器人不需要編程就可以自行動作。
那么具體怎么做?坦白講,目前模仿學習還處在論文大戰中,每過三五個月就可能出現一種較新的訓練方式,但我們可以提出一些目前屬于“共識”類的概念。
首先,模仿學習對于人類來說,可能就是看看別人是怎么做的,然后自己再照著來。而機器人模仿的對象,則是一串動作序列。在模仿學習術語中,被稱作專家動作序列。
目前較為公認的做法是,為了貼合強化學習中非常好用的“獎勵”概念,把生成對抗神經網絡引入模仿學習,以生成模型生成機器人自己的動作序列,再用判別模型和專家序列做比對,比對而來的結果就和強化學習中的“獎勵”概念一樣,這樣機器人的動作序列就會和人類的專家序列越來越像。
至于如何提取專家動作序列,則和我們分析運動員的動作有些類似。把“上帝式”的第三人稱視角和可以觀察到的運動主體四周狀況分而論之。可以錄制第三人稱視角的運動視頻,一幀幀地把動作進行聚類,把圖像輸入到網絡,再到機器人的動作關節。又或者把第三人稱視角轉變成第一人稱視角,再將圖像信號映射到神經網絡之中等。
總之,目前DeepMind、OpenAI等機構都在研究模仿學習,我們看到的還僅僅是冰山一角而已。
如何更好地適應現實場景?在線學習或許是個辦法
這次加州大學伯克利分校展示的鋪床機器人,研究重點在于對機器人動作的糾錯。
在現實生活中,機器人在服務人類時不可能總有監工相伴,而模仿學習的訓練也不可能讓機器人永遠萬無一失。
解決辦法是,使用在線學習(on-policy)——一邊學習一邊產生樣本的訓練方式,為專家序列加入噪聲,從而提高魯棒性,并且可以為機器示范如何糾正錯誤動作。
就好像故意誤導機器人,讓它不小心把枕頭掉在地上,再教導它這時應該把枕頭撿起來。這樣在現實場景中,機器人就會知道枕頭掉在地上時應該做些什么了。
如果沒有這種解決方法,那么可能出現的情況就是,機器人正在鋪床,結果枕頭不小心掉在了地上,機器人立刻陷入了呆滯狀態,不知道該如何繼續。又或者,工作人員錄下幾百部花樣丟枕頭再撿起來、床單反了再正過來等“犯錯——修正”的示范視頻,轉換成專家動作序列再讓機器人學習。
相比之下,在線學習實在是太具性價比了。
更少、更少的數據
著名的AlphaGo Zero和今天的模仿學習,似乎有一些共同點:算法技術的發展,正在朝計算量越來越小、訓練數據越來越少的方向發展。
其中的必然性也很簡單,龐大的計算量意味高昂的成本,和人工智能的普及性相悖。至于訓練數據,我們要承認,現實生活就是一個龐大的隨機場,很多情況是不能提前通過數據訓練的。
而以模仿學習為代表的一系列前沿算法,最終發展目標就是Few shot learning、One shot learning,甚至Zero shot learning——用盡量少的樣本、一個樣本,甚至無樣本來完成訓練。
在未來,只需一部鋪床疊被的視頻,機器人就立刻能在酒店里上崗。不過從當前的發展情況來看,未來恐怕還有點遙遠。
把模仿學習應用到搶勞動力飯碗這件事上,意義似乎不大。筆者認為,模仿學習需要訓練樣本少這一特征,應該被應用于那些真正意義上“樣本少”的事情當中。
比如,那些技藝瀕臨失傳的民間手工藝。當年輕人不愿留在村子里,花費一輩子的時間學習如何做油紙傘、編竹筐時,拍攝下一兩部視頻,記錄下一些參數,就可以讓機器人成為這些技藝的傳承者。
機械曾經讓這個世界上的很多技藝瀕臨滅絕,而如今算法的出現,或許可以做出些許補救吧。
十、仿真環境:如何讓機器人有尊嚴地學習
在有關機器人造反、進攻人類的電影中,情節一般是這樣的:在遙遠的3×××年,人類世界已經奴役了機器人幾百年,一不小心某一個機器人開始覺醒,發現人類對自己又打又罵,還殘忍地把自己丟進熔爐,于是憤怒地揭竿而起。
你一定覺得這種情節距離我們很遙遠,現在的機器人要不是各種展會的座上賓,要不就像索菲亞一樣成了“網紅”,如果覺醒了也該是享受自己的人間生活吧。
不如我們為機器人打造一座模擬城市?
其實人們一直在尋找更給機器人面子的訓練方式,傳統訓練方式傷害的不僅僅是機器人,也包括人類。
在傳統的機器人訓練中,往往是用代碼寫出一大串動作序列,連接傳感器模塊和動作模塊。然后把機器人丟到一塊訓練場中,讓它一次次重復動作,觀察哪里出錯,記錄數據后從開發端口進行優化。在深度學習風行的今天,更需要讓機器人進行大量的實踐,才能不斷優化技術。這個過程不僅耗費時間和人力,更對場地有一定的需求。機械手臂、服務機器人這些還好說,難道研究無人駕駛,就只能像Uber一樣承包整座城市?
換個角度想,很多時候機器人在現實環境中訓練,出現的問題或者得來的反饋也會追溯到機器人OS的軟件層面,我們為什么不能直接訓練軟件呢?
于是,“仿真環境”這個神器就出現了。
所以仿真環境,就是用代碼寫成的仿真器,在其中加入物理引擎,把萬有引力、摩擦等邏輯加入到環境中,讓仿真環境更接近現實環境。你可以在仿真環境中建立各種形狀的對象和地形,將模擬出的智能體放在里面一遍遍地“跑”。
目前兩個最常見的仿真環境都是OpenAI的作品:Gym和Universe。前者自由度更高,后者則更加復雜。除了這兩個仿真器,還有很多人在游戲環境中訓練智能體——物理引擎技術本來就是應用于游戲之中,比如Minecraft、GTA這樣的沙盒游戲。后來被開發者們發現并利用了起來,像DeepMind就曾經在GAT5里訓練了一輛無人車。
在仿真環境中訓練AI本質上就是一種遷移學習,在低成本環境中進行大量訓練、制造大量訓練數據,再從數據中提取特征應用到現實環境里,雖然不能完全替代現實訓練,卻可以極大地減少對現實訓練的依賴。
或者讓機器人學會預見未來?
建立仿真環境還不夠,為了讓機器人們更有尊嚴地學習,伯克利的研究人員正在研究一種名為“預見視覺”的技術。
我們可以想一想,為什么人們如此注重機器人現實訓練和現實應用中產生的數據呢?是因為機器人不像人類,感官和動作通過大腦相連,機器人即使能看到周圍的環境,也很難理解自己的行為會對周圍對象造成什么影響。
經過訓練,機器手臂知道如何去拾取桌上的水果。可在現實應用時,如果在水果正前方有一杯水,結果往往有兩個:一、機器手臂直直地伸出去,碰翻了那杯水;二、機器手臂轉來轉去,不知如何是好。
可人類就能繞過那杯水拿起水果,因為我們知道如果直接伸手,水杯會被打翻。
伯克利的實驗就是給機器人一個攝像頭,然后把機器人放到任何一個環境中讓它們自己玩耍。而攝像頭背后的“大腦”則在利用循環卷積網絡對機器人看到的畫面進行分析,很快就能對接下來幾秒的畫面進行預測。
幾秒的預測雖然很短,卻能讓機器人預見自己動作之后的情況。理想狀態下,就不太容易出現那種為了執行任務而把周遭環境弄得一團糟的情況了。
預見視覺技術的應用,也讓無監督學習在機器人訓練中的比重加大,人類節省了時間,機器人也不用再受“虐待”。而預見視覺能力得到進一步增強,也會意味著機器智能(尤其是無人駕駛汽車)對傳感器的依賴減少。現在的無人車上裝滿了雷達傳感器,就是要依靠這些傳感器提醒汽車:“你離物體太近了!再往前會受傷!”有了預見視覺,一個全景攝像頭就能代替這些昂貴的傳感器。
費盡心機,只想讓你記得我的好
除了以上兩項,我們還想了很多幫助機器人學習的方法。
比如OpenAI曾經嘗試過讓機器人們互相對戰并從中進行自我訓練。為機器人們設立簡單的目標,比如把對手推倒,再加上一些獎勵機制,機器人們就能在對戰中學會很多動作。雖然讓機器人“自相殘殺”也很殘忍,但或許這樣能讓它們“記恨”同胞而不是我們……
總之,雖然現實環境一定是機器人訓練不可或缺的一部分,尤其是對“波士頓動力”這種動作機器人而言。但人類一直在嘗試如何少去親自摻和機器人訓練,這不僅僅是為了“機器人道主義”,也為了盡可能降低訓練這件事帶來的成本。
希望在未來,每個機器人都能有尊嚴地學習,并且在自我覺醒后記得人類的好。
十一、好奇心算法:當人工智能擁有好奇心,結果可能沒那么糟糕
好奇心,是人和人工智能最顯著的差異之一。從我們睜開雙眼看到這個世界開始,我們就在努力地了解著周圍的一切。我們了解世界的方式很多樣:一開始是試圖把所有東西放進嘴巴里,到后來我們想走遍這世界的每一個角落。
這也是生命中一件美妙的事情,在滿足好奇心的過程中,我們獲得了快樂。人類了解一切,不是為了完成某一個目標,而僅僅是一種來自本能的沖動。
可人工智能所做的,只有根據既定目標進行學習、搜索和計算。這也是強人工智能不會出現的證據之一:人類自己都沒弄明白“意識”為何會存在,更沒法將“本能”加在AI頭上。
不過在現有技術下,我們能否讓人工智能做出類似好奇的行為呢?比如給予無意義的探索行為一些獎勵,或者是把探索行為和完成工作相結合進行評分。
答案是可以。
好奇心幫助人工智能成為更棒的水管工
還記得我們第一次玩“超級馬里奧”的時候嗎?進入游戲的第一時間,我們通常都會試一試手柄上的每一個按鍵是做什么的,然后跳來跳去,嘗試觸碰游戲里的每一個小方塊。這就是好奇心最基本的表現。
那么AI在玩“超級馬里奧”時是怎樣的呢?通常情況下是應用了增強學習算法,用正負反饋機制幫助人工智能快速通關:踩死一只烏龜,獲得正向反饋;掉入懸崖,獲得反向反饋。問題是,只要能夠繼續過關,人工智能很難學會新的動作,這也就造成了當遇到新的關卡時,人工智能常常需要耗費很大力氣才能通過。
在一篇關于人工智能好奇心的論文中提到,利用傳統的增強學習方法訓練,在“超級馬里奧”的游戲過程中,人工智能卡在了游戲的30%處,因為它需要越過一個坑,而想要越過那個坑,需要15到20個特定順序的按鍵操作。由于之前在墜落進坑里時已經獲得了反向反饋,人工智能常常在坑的位置止步不前。
上述論文的作者,來自加州大學伯克利分校的研究團隊提出了一種新的思路,為人工智能加入了內部好奇心構型。以自監督的方式,預測自身行動會造成何種結果,并將這種算法稱作自監督預測算法。
當外部反饋減少時,內部好奇心構型會激勵人工智能通過探索環境去檢驗自我對于行動的預測。結果是,采取內部好奇心構型的人工智能不會盲目重復那些有正向反饋的動作,而是開始了解游戲環境,把握整體游戲進程,最終戰勝了那個坑。
好奇心不僅會害死貓,還會讓人工智能得“多動癥”
接下來,在DeepMind的計算機科學家赫斯特(Hester)和德州大學奧斯汀分校的彼得·斯通(Peter Stone)的研究中,同樣的概念被進一步具象化。
在強化學習的基礎上,他們開發了一種名為“TEXPLORE-VANIR”的算法。和自監督預測算法不同的是,“TEXPLORE-VANIR”為人工智能設立了內部獎勵機制,當人工智能探索環境時,即使這種行為對達到最終目標沒有好處,人工智能也會因為減少了外部環境的未知性而獲得來自內部的正向反饋。同時,在探索環境時發現了新事物,人工智能也會獲得正向反饋。
這么聽起來,是不是和人類的好奇心非常相像了?
并且“TEXPLORE-VANIR”也讓人工智能的好奇心不再止步于游戲中。在關于機器人工作的實驗中,面臨多項工作安排,“TEXPLORE-VANIR”算法能讓機器人表現得更好。原因是面臨多項工作時,普通深度學習算法會讓機器人不斷重復某一項工作中的動作,因為機器人曾經在完成這一項工作時獲得過正向反饋,當其他工作出現時,它還是會重復那些讓自己獲得過正向反饋的動作。這樣一來,就會浪費很多時間。
當人類表現出過度好奇時,會有怎樣的結果?最常見的,注意力無法集中,常常將手頭的工作半途而廢。同樣,人工智能擁有好奇心后也會有這樣的表現。搭載“TEXPLOREVANIR”算法的機器人在一項開門鎖的任務中表現較差,就是常常因為好奇而去探索環境,導致任務完成的延遲。甚至有學者稱,這是人工智能的“多動癥”。
這樣看來,如何平衡內部和外部的反饋將是讓人工智能好奇心發揮作用的最大問題。
沒有好奇心的人工智能只是機器?
我們更關心的是,讓人工智能擁有好奇心這件事究竟有什么用?是為了讓他們在游戲中更好地打敗我們,還是讓他們在執行任務時分心而變得低效?或者說讓他們更接近人類,可以更好地打敗我們?
首先,好奇心會讓人工智能在學習時更加高效。減少對外部環境反饋的依賴,意味著對已有數據的利用率更高。比如在機械手臂試圖抓起物品時,常常是把可能抓起物品的姿勢都嘗試一遍,直到把物品抓起來。對于人來說,這是根本不能接受的低效,可換到了一個充著電的機器上,似乎就沒人在意了。可笑的是,人工智能本應該替人類完成重復勞作的工作,結果卻是用更多的人工智能重復勞作,代替人類的重復勞作。可有了好奇心,人工智能可以先對環境、環境中的物體進行初步地了解,然后再加以行動,而不是無腦地用暴力窮舉解決問題。
其次,好奇心可以讓人工智能更好地適應現實應用環境,畢竟現實和游戲或者實驗不一樣,沒人會為人工智能的每個動作打分。當缺少外部環境反饋時,好奇心驅使的內部反饋就可以發揮很大作用。只有可以自我驅動的AI,才能在真正意義上幫助到人類,發現那些我們在設立目標時沒有發現的事,而不是像所有機器一樣聽從指令。
看到這里,是不是加重了對人工智能的恐懼?別擔心,大多數有關好奇心的算法目前還都停留在實驗階段。一是前面提過的,由于無法平衡內部反饋和外部反饋,好奇心常常會降低人工智能的工作效率,畢竟百分百地專注,是所有機器的優勢。二是傳統深度學習的“蘿卜加大棒”機制已經能滿足當下很多人工智能的應用。暴力窮舉雖然低效,但是十分有效。
但我們相信,不管以何種形式,未來的人工智能一定會出現類似好奇心的機制,在更了解這個世界的前提下,更好地服務人類。
十二、決策樹算法:隱藏在“當代玄學”外衣下的真相
智能這個詞,在當今似乎被賦予了一種非凡的意義:它能輕易參透人類的想法,理解過去甚至預測未來。
一切的機器學習算法最終都指向對某種情況的準確預測,而數據挖掘就是其中少不了的玩法之一。從已知數據中找到規律和意義,才能更進一步接近“機器預測未來”這件有著當代玄學意味的事。
今天就來簡單介紹一下眾多算法中較為經典、應用也相對多的決策樹算法。
什么是決策樹
決策樹,顧名思義,結構就像一棵樹,有分叉的枝杈和樹葉。枝杈的分叉處是關于目標某一個特征的判斷,枝杈本體則是關于該特征的判斷結果,而樹葉則是判斷過后產生的決策結果。
下圖就是一個最為簡單的分類樹決策,當我們看天氣預報時,根據降雨、霧霾、氣溫、活動范圍是室內還是室外等特征將自己的行為分類為出門和不出門。簡單來說,決策樹可以被看作一大堆if-then的判斷,每一個枝杈都是一條規則。

而我們看到這顆決策樹時,最想問的問題一定是,為什么要將降雨當作決策樹的第一個枝杈,為什么不是霧霾或氣溫?
關于特征劃分的選擇,就是決策樹學習算法的關鍵,往往也是不同決策樹學習算法的差異所在。
以最典型的ID3算法為例,ID3算法中采取“信息增益”為特征劃分的標準。拋開一切條件熵、信息熵等復雜的概念不談,信息增益可以被簡單理解為:同一個條件下,信息不確定性減少的程度。
也就是說,當用ID3算法為圖中決策樹劃分特征時,我們會擁有一個表格,其中有大量在各種天氣情況下是否出行的樣本。首先我們要通過公式從數據中得出,當降雨、霧霾等所有特征皆為未知時,我們對于出門這一信息的不確定性數值a。想要判斷信息增益,就要依次判斷當降雨、霧霾等某一特征作為已知條件時,我們對出門這一信息的不確定性數值b。兩者相減,就得出了某一特征的信息增益程度。信息增益程度最高的,自然就成為特征劃分的頂端,從而可以減少接下來的運算量。
可這種算法最容易出現的問題就是,當某一特征的數據嚴重少于其他特征時,得出的結果很容易出現誤差。比如在我們收集的數據中很少有關于人們在霧霾時是否出門的情況,卻有大量人們在降雨時是否出門的情況,這最終就會導致信息增益的計算錯誤。
應用場景:市場營銷和客戶關系管理的舊新聞
決策樹最典型的應用場景就是客戶關系管理(CRM),比如游戲行業內的流失預測模型。通過回溯用戶歷史行為,選擇登錄間隔、游戲內停留時長,甚至某一關卡是否過關等,從而去判斷究竟是哪一環節讓用戶對游戲失去興趣,從而實施對策。
如下圖所示,如果通過用戶歷史數據得到這樣的決策樹,我們就會知道,想要防止用戶的流失,我們需要:(1)通過獎勵鼓勵用戶登錄;(2)通過獎勵鼓勵用戶進行對戰等游戲內行為;(3)降低BossA難度。
除了CRM,市場營銷也常常應用到決策樹,其中的要點就是市場細分和用戶行為預測。

比如我們可以通過用戶性別、地域、職業、收入情況和歷史購買數據等將用戶分類,得出收入1萬左右的上海女性白領是我們的主要用戶,幾項特征的信息增益程度分別是“性別(女性)”>“地域(上海)”>“職業(白領)”>“收入(1萬左右)”。
這時需要投放廣告時,我們會優先確定廣告內容一定要是女性感興趣的,其次要確定投放地區選擇在上海,然后則要確定投放在上海寫字樓周邊。這樣就能圈定我們所需要用戶的性別、地域和職業了。
可問題是,我們無法區分出現在寫字樓的女性是白領還是清潔工,更沒辦法區分她們的收入。但是這不重要,畢竟職業和收入兩項特征的信息增益程度是最低的。
這就是決策樹最重要的作用,通過分類和排序讓我們可以進行取舍,從而盡量去實現精準營銷。
優點與缺點兼備,決策樹沒那么神奇
決策樹算法的優點有很多,比如計算過程相對簡單、容易理解,但它也有缺點。就像之前提到的,如果我選擇不出門,我可以清晰地提出“雖然沒有降雨也沒有霧霾,但是今天的氣溫低于18℃,所以我決定不出門”。而如果把數據給到和決策樹十分相似的神經網絡算法,得到則是一大堆比樹狀圖復雜太多的權重相關數據。
決策樹的應用非常廣泛,其應用歷史也很悠久。只是最近幾年又被“智能”的風吹了起來。
某家電商企業曾經大肆鼓吹自己的“智慧營銷”,聲稱自己能在“電商節”開始前就把貨品提前配送到有購買意向用戶附近的貨倉里。外行人一聽,還以為該企業的運營員工參透了“推背圖”,實際上,只要掌握了用戶收貨地址、歷史購買記錄等信息,通過決策樹就能實現。比如掌握了大量購買尿不濕用戶的數據,發現某條街道中購買尿不濕的用戶最多,那當然要把明天打三折銷售的奶粉提前送到這條街道的貨倉中了。
除了電商營銷,還有很多自稱Fintech的風控模型、能判斷員工是否流失的智能人力資源管理系統等。其實哪里有什么智能呢。只不過是這行混得久了,數據累積得多了;硬件發展了,計算能力變強了;融到資了,雇得起人做數據挖掘了。
之所以會出現“當代玄學”這一笑談,還不是因為在這些企業的“人工智能”里,有多少人工,就有多少“智能”。