鏈接-讀書筆記
複雜性蘊含於萬物之間的鏈接,我們看到在網絡中,表面的無序和深層的有序共存。網絡普遍具有先發優勢、適者生存、健壯和脆弱並存的特點,樞紐節點和層級結構在各種網絡中廣泛存在。這些複雜網絡的規律,成了我們今天高效利用大數據,進而發展人工智能的一把鑰匙。
無尺度網絡模型
在過去,人們認為網絡都是隨機形成的,把這些網絡都叫作隨機網絡。比方一場酒會有100個人,他們一開始互不相識,是孤立的100個節點,但是當酒會結束的時候,這100人已經形成了一個複雜網絡。每個人都會認識幾個人,但是從進門到出門,每個人都不知道自己會認識誰,會認識幾個人,所有節點之間的鏈接都是不確定的。這就是一個隨機網絡的形成過程。作者指出,這種隨機網絡的形成速度可以非常快,門檻也非常低。在這個例子裡,只要每個人認識至少一個人,不出半個小時,這100個人就能全部鏈接起來。
在現實生活中,我們每個人都認識不止一個人,所以我們之間的鏈接就更加緊密了。由此產生了一個非常著名的理論,叫作六度分隔。你和這世界上任何一個人之間,最多通過6個人就能搭上關係。即便你想認識美國總統也是如此。用隨機網絡來解釋,如果每個人認識100個人,那麼通過6個中間人,我能搭上關係的人理論上有多少呢?1萬億人,是地球人口的140倍。這就是隨機網絡的力量。可以說,鏈接無處不在。你從任何一個網頁出發,平均只需要19次點擊,就能跳轉到另外任何一個網頁。自然界裡也是一樣,在食物鏈網絡中,任何兩個物種之間的平均間隔只有2個物種。因此六度分隔和類似的現象,在生活中確實非常常見。
在隨機網絡的基礎上,作者進一步提出了「樞紐節點」這一概念和無尺度網絡模型。什麼是樞紐節點?就是在一個網絡中比其他節點擁有更多鏈接的節點,在人類社會中,樞紐節點就是那些社交面非常廣、朋友非常多的人。
現實生活中的網絡不是像隨機網絡那樣均勻分布的:比如一場酒會下來,有的人新認識了百八十人,有的人只認識了兩三個人。再比如有些善於交際的人,微信好友有幾千人,有些爺爺奶奶的微信好友只有家裡的幾口人。一個網絡的結構,主要是樞紐節點在支配和起作用。我們人類社會是怎麼保持緊密鏈接的呢?靠的就是樞紐節點聯繫起不同的社交圈子。「社交圈」指的是一群人關係非常緊密,在整個社交網絡中就是一個「小世界」,每個小世界裡都有樞紐節點,也就是社交達人。除了圈子裡的人,他們還認識很多圈外的人。這樣圈內人通過他們就間接認識了很多圈外人,從而劃分出了強關係和弱關係。同一個圈子裡的人,他們的關係非常緊密,就是強關係。而從樞紐節點向其他圈子伸出去的橄欖枝,就是弱關係。整個社交網絡就像切開的幾大塊藕,每個社交圈都是一塊藕,每一塊藕的內部都是強關係,而藕塊之間連着的絲就是弱關係。
在這樣一個網絡里,節點之間的重要性差別巨大,服從二八定律,也就是20%的成員占據了80%的資源。如果一個網絡的所有節點的重要性都服從二八定律,有少量的樞紐節點非常重要,大量的節點沒有那麼重要,我們就叫它無尺度網絡。所謂無尺度,指的是我們沒法用同樣的尺度、同一個標準去衡量這些節點。
可不要小看這個發現。無尺度網絡的提出,顛覆了人們長期以來對複雜網絡的認識。過去人們以為複雜網絡都是隨機網絡,忽視了樞紐節點的巨大力量。事實上,所有網絡中都必然存在這種兩極分化,均勻的、完全隨機的節點分布是不存在的。從隨機網絡到無尺度網絡,我們看到人們對複雜網絡的認識加深了一步,如果說隨機網絡是無序的、雜亂無章的,那麼無尺度網絡就是無序和有序並存的。表面上看,每個節點都散亂地鏈接着其他節點,但是一旦抓住樞紐節點,整個網絡的結構就變得清晰起來,無序之中浮現出了有序。
複雜網絡的共有特點
複雜網絡的共有特點主要有三個,分別是先發優勢、適者生存和健壯性與脆弱性並存。
先發優勢
在複雜網絡中,先發優勢是一個非常明顯的特點,網絡中越早產生的節點越容易成為樞紐節點。因為一個網絡在一開始的時候,節點數量不多,後來產生的節點,總是傾向於鏈接網絡中已有的節點,這樣最早的一批節點自然就能獲得最多的鏈接。
比如,在微信公眾號這樣一個複雜網絡中,節點的數量已經超過了2000萬個,很多人都在羨慕那些做得早的公號,它們中很多都成為了閱讀量保持在10萬+的大號。這就是因為在這個網絡中,不管是後來的公號,還是後來關注公號的用戶,都願意靠近那些已經存在於網絡中的重要節點。換句話說,公號做得早,內容積累多,自然比一個新註冊的公號更容易吸粉,更容易得到其他公號的轉載,這個做得早的公號自然就更容易成為樞紐節點,成為大號。而公號越長越大,它擴散出去的影響力也就越大,就更容易吸粉,這就像滾雪球一樣,成了一種先發優勢。
適者生存
比如,有一個公眾號,很多女性朋友都愛看,叫咪蒙。它起步很晚,2016年年初才開始更新,短短一年的時間裡,粉絲數從0漲到了800萬,平均每天漲2萬多粉。很多人說公號已經殺成紅海,沒機會了,但是咪蒙在公眾號這樣一個無尺度網絡中成為新的樞紐節點。因為它競爭力更強,適應度更高,能獲得的鏈接當然就會更多。一個公眾號如果文章寫得多、寫得好,能夠引起更多人的共鳴和分享欲,即便一開始粉絲很少,也能通過在朋友圈得到的大量分享迅速漲粉,成為無尺度網絡中的樞紐節點。
健壯性與脆弱性並存
複雜網絡還有一個非常重要的特點,就是它既健壯又脆弱。這是怎麼回事呢?健壯,是因為除了樞紐節點以外的其他節點對整個網絡來說都是次要的,砍掉這種節點,不會影響整個網絡的連通。就像一隻壁虎,你砍掉了它的尾巴,並不會要了它的命,甚至過一陣子還會再生一條尾巴出來。因為尾巴不是壁虎身體網絡中的樞紐節點,它身體上其他節點的聯繫還是完好的,樞紐節點會繼續輸送養料,保持整個網絡的連通,這就是無尺度網絡的健壯性所在。那為什麼又說它脆弱呢?是因為一旦樞紐節點被破壞,網絡的結構就會發生重大變化。甚至會出現整體性的故障。就像你戳中了壁虎的心臟,壁虎很快就會死亡。因為心臟是它的樞紐節點,一旦被破壞,整個系統就會迅速崩塌。即便身體的其他部分都完好無損,也無濟於事。這就是無尺度網絡的脆弱性所在。
如何看待覆雜網絡的發展
如果我們把科學發展的過程倒過來看,把蓬勃發展的人工智能比作繁茂的枝葉,那麼大數據的精準分析就是為枝葉輸送養料的樹幹,而對複雜網絡的深刻洞察就是最底層,也最基礎的樹根。沒有樹根,上面的枝葉和樹幹都是空談。
傳統的人工智能依賴科學家給它輸入的各種規則模型,只能解決一些規則清楚的問題。但是今天的人工智能已經能自己解決一些模糊的、規則不明確的問題了。能做到這一點,是因為支撐它的是能夠進行深度學習的神經網絡。這種神經網絡的特點是,它像寶塔一樣,有很多層結構,每一層神經網絡都有很多個關鍵的節點,它們接收上一層處理完的數據結果,共同解決一個問題,把自己這一層的輸出結果傳遞到下一層去做進一步的處理。現在最流行的深度神經網絡分為兩種:一種是處理空間分布數據的卷積神經網絡,另一種是處理時間分布數據的循環神經網絡。它們的結構特點,都與無尺度網絡有着密不可分的關係。
卷積神經網絡可以用來做圖片識別,它對圖片的分析方法和我們分析無尺度網絡一樣,都是抓住樞紐節點。比方說現在有100萬張貓和狗的圖片混在一起,要挑出其中2張10厘米見方的照片,一張是黑貓,一張是黑狗,都是白色的背景。怎麼挑呢?我們把一張照片看作一個網絡,它的每個像素都是一個節點。如果按隨機網絡的分析方法,你是抓不出主次來的,可能對着白色的像素分析了半天卻一無所獲。而如果按照無尺度網絡的分析方法,就會非常清楚。比方說,我們可以讓計算機用一個3×3的框,去框住這張照片的局部,一塊一塊去分析,如果框住了白色的背景就去掉,不做分析,如果框住黑貓黑狗的軀幹部分,發現同樣區分不出來,那也把它去掉,最後發現,兩張照片區別最大的是貓臉和狗臉。抓住臉的不同就是抓住了像素網絡中的樞紐節點,這是第一層神經網絡要處理的問題。
接下來,第二層神經網絡要做什麼呢?對這100萬張臉的分析本身也很複雜,需要把所有貓臉和所有狗臉分開,這第二層神經網絡就是把臉部的所有像素當做一個無尺度網絡,抓住其中的樞紐節點進行分析,比如眼睛、鼻子、嘴巴、耳朵,做進一步的刻畫和區分。第三層神經網絡,就是對這些器官的特點再往下細分,直到最後一層神經網絡對單個像素進行分析。整個神經網絡就是把區別貓和狗的任務拆解成許多任務,一層一層處理,抓住樞紐節點,刻畫重要特徵。
這個過程還體現出無尺度網絡適者生存、優勝劣汰的特點。人工智能並不知道,自己每一層分析的是什麼,比如它不知道這一層分析的是貓的眼睛還是耳朵,但是它知道,如果這一層分析的這個東西,比方說瞳孔的粗細,經過大量照片數據的訓練,能顯著地把兩種動物分開,成功率超過80%,那麼判斷瞳孔粗細的這個樞紐節點就會得到加權,得到進一步壯大,它在整個網絡中的地位就會提高。相反,假如發現對鬍鬚的像素分析不好用,經常會把貓和狗分錯,那麼這條通路就會被降權,這個節點的重要性就會下降。整個神經網絡在上百萬張照片的訓練中不斷進行這樣的自我調整,各個節點的重要性發生動態變化,最後形成一個識別率最高的神經網絡。這個深度學習的過程,就是一個無尺度網絡中適者生存、不適者被淘汰的過程。
還有另外一種深度神經網絡,叫循環神經網絡,它和無尺度網絡的關係也是通過樞紐節點來體現的。這兩年有一個名詞特別火,叫「神經網絡翻譯」,像谷歌、百度、有道這些公司,都說自家的翻譯軟件用的是神經網絡翻譯,質量堪比人工翻譯。這項技術的背後,就是循環神經網絡在起作用。過去的機器翻譯,是把一句話里的字詞做切分,比方說「我吃飯了」這一句話,切分成「我」「吃飯」「了」,然後把這3個部分逐個翻譯,再按英文的語序重新組合。這樣的翻譯就像對待隨機網絡一樣,把每個部分的重要性都看成是一樣的,把它們翻譯完了拼湊起來,非常生硬,而且出錯的概率很大。比方說:「小明從前門走過來了。」機器在切分這句話的時候就會出問題,到底是把「從前」切分出來作為一個詞翻譯呢,還是把「前門」作為一個詞翻譯呢?機器不知道,很可能翻譯出來的意思就是:小明、從前、門走過來了。
但是應用循環神經網絡的翻譯就不會出現這樣的錯誤,它會把一整句話看成表達完整意思的網絡,進行整體分析。它在翻譯「小明」兩個字的時候,不是孤立地分析,而是把「小明」看作一個樞紐節點,賦予很高的權重,同時關聯後文,比如「從前門走」這四個字里,最重要的是動詞「走」,那就提高它的權重,看作第二個樞紐節點,那麼「從前門」就是一個意思整體。接下來,按順序分析「從」這個字的時候,注意到「小明」和後面的「走」都是和「從」進行搭配的,提高它們的權重,那「前門」作為一個方位名詞和「從」的搭配關係就非常明確了。
這樣在翻譯每個字詞的時候,都在語料庫的大數據中捕捉前後文裡面和這個字詞搭配關係最緊密的字詞,賦予它們更高的權重,相當於抓住了一個樞紐節點周圍的樞紐節點,就可以清晰地看到剩下的字詞只是次要的節點,在整句話里起到修飾和補充的作用,就不會出現「從前」和「前門」分不清楚的問題了。事實證明這樣的神經網絡翻譯,經過多種語言的測試,錯誤率比原來的機器翻譯降低了55%到85%。
從圖片識別和神經網絡翻譯這兩個例子我們可以看到,人工智能背後的深度神經網絡和無尺度網絡有着非常緊密的關係。雖然這些年網絡科學的發展日新月異,但是我們看到,最前沿的科技中同樣滲透着無尺度網絡,這個網絡模型已經成為今天的科學家用來搭建複雜網絡、分析複雜網絡的一個基礎設施。複雜網絡縱有千姿百態,無尺度都是它不變的內核。對無尺度網絡的深刻洞察和廣泛應用,再加上海量的大數據對網絡節點進行不斷地訓練和調整,才有深度神經網絡和人工智能的存在。所以我們說,複雜網絡是樹根,大數據是樹幹,人工智能是樹枝樹葉。我們既要看到繁茂的枝葉和粗壯的樹幹,也要看到樹根奠定了它們賴以生長的基礎。