標籤:

氣和深度學習1:綜述

春節假期在國外旅遊,看了一篇別人分享的一篇文章和兩本書。

文章是《揚.克里克:前往人工智慧的未來,要先回到中國的歷史》

書是:

《Fundamentals of Deep Learning (Nikhil Buduma)》

《Chinese Philosophy: An Introduction (Ronnie L. Littlejohn)》

有不少想法,所以,我想通過這個系列幾篇文檔把這些想法整理一下。

首先說一些泛泛的想法,首先是,我有個感覺,文化真的是無法翻譯的,那本《Chinese Philosophy》我感覺已經對很多中文經典的語義表達得非常接近了,但我幾乎可以肯定,看那本書的外國人,根本不知道這是在說什麼。

這裡面有個很大的問題,是詞語的多義性。我們說「天地」,可不是說「Heaven and Earth」。我們的天地,不僅僅表示天空和土地,它還表示天地中間的萬物。而且如果加上天地人,它還表示我們關注的三極。這就是所謂語義的內涵和外延,每個詞語表示的意思不僅僅是那個語義本身的意思。反過來,英語中說Heaven,對應的可不是Earth,它常常還對應Hell。Heaven是The place where God lives and where good people go after they die。

你說這種外延你怎麼翻譯?

所以,哲學要翻譯不是不可能,但必須重建語言空間,基於對應的文化來翻譯才有可能,我也能給我印度和英國的朋友解釋什麼是道德經,但原句翻譯只是胡猜。

反過來也是一樣的,優美的英語無法直接翻譯為中文。下面是《傲慢與偏見》國內版本的第一句:

有錢的單身漢總要娶位太太,這是一條舉世公認的真理。

看完這句話我看下去的信心就受到打擊了,這種胡言亂語完全打動不了我。

然後你再看看英文版:

It is a truth universally acknowledged, that a single man in possession of a good fortune must be in want of a wife.

英國人那種尖酸刻薄躍然紙上。

中國人說「一條舉世公認的真理」,是嚴肅的,正經的。但英國人說a truth universally acknowledged,是過度的,誇張的,明顯不正經的。中國人說單身漢,大部分時候指缺乏勢力的,一個吃飽,全家不餓的。英國人說一個single man in possession of a good fortune,說的可不是這個意思,這說的是「一個有錢人,但他為大家提供了一個機會,那就是成為他的老婆,就可以拿到他的地位和錢」。所以這句話的重點不是「單身漢有錢了想要找老婆」,而是「這個有錢佬居然沒有結婚!機會啊,機會!」

如果僅僅從表面的語義上說,這裡的中文翻譯沒有任何問題,但它基本上丟失原文的全部感覺。

這是我想說的第一個感想:各位做軟體的同行,還有即將的同行們,好好學好英語是正道啊。現代工業文化,在幾十年間,很大程度上都被聚焦到美國了,重要的知識都是用英語表述的,被翻譯過的書籍折損率很高的,這種捷徑選不得的。

在我看這本《Fundamentals of Deep Learning》之前,我其實看過相當不少的國內翻譯的,或者國內專家寫的關於深度學習的介紹和教材的。反正我只是懂了一點點「事實」和「表象」,根本沒有搞清楚深度學習本質是什麼。但這本書很短時間內就給我把事情說得相當清楚了。那種舉重若輕的能力,是大部分國內能看到的書沒有辦法比的。所以,真心要學東西,還是多逛逛Google圖書,整個環境和文化背景不同,兩者的層次還是很不一樣的。我毫不懷疑,再經過幾十年的技術沖刷,我們也會產生同級別的大師和「小師」,畢竟知識還是來自實踐,但顯然不是現在。

這裡準備寫3到5篇博文,總結一下,我現在理解到的Deep Learning是什麼。

在本文開始的時候,我提到《揚.克里克:前往人工智慧的未來,要先回到中國的歷史》,我倒不是要推薦這個文章。這種標題,總能讓我想到某種陷阱:「中國人看了以為外國人崇尚中國文化,外國人看了覺得中國文化真是土鱉」。糾纏在這種「他看不看得起我」的名上,本身就是土鱉行為。

我提到這個文章,是要指出裡面一個大部分人都會誤會的對中國文化概念的錯誤理解,這就是氣。

什麼是「氣」?

「氣」是一種天地能量,驅動著這個世界的發展?你這樣理解,就表示你完全不明白中國文化,不明白「有拱璧而先駟馬,不如坐進此道」的道理。

看下面這條線:

現在把它修改一下:

你還能看到那條線嗎?實際上,你能。你腦子裡可以補出那根線來。這中間斷掉的,就是「氣」。

這裡面有「能量」嗎?

這和能量毫無關係,這是Pattern!

為什麼你認為它是能量?因為你想得到它,控制它,改變它。你希望「吸收天地靈氣」,然後來個「龜-波-氣-功——Bong!」

所以你不明白為什麼中國哲學是一種「自然哲學」(Ontology)。自然之道,不是擁有,不是改變,而是順應和利用,是和它合一。

我們的「天地」變成現在這個樣子,不是有外部的「氣」在牽引著它,而是組成天地的每個實體都擁有自己的能量,它們綜合作用形成現在的樣子,這些樣子裡面有Pattern,我們發現了這個Pattern,這是「氣」。「氣」不需要理由,因為「理由」(就算它存在),背後也是複雜度——我們只知道它是這樣的,但我們不知道為什麼。「氣」不在萬物之外,「氣」是萬物本身(的Pattern)。

這是氣的道理。

也是深度學習的道理。

我們來看看下面這個成績表:

你能看出什麼東西來嗎?你從這裡最多能找你家兒子及格了沒有。

我們從這個角度來看呢?:

這些圖我都用抽取其中兩個維度作為橫坐標和縱坐標繪製的(當然,大部分簡單學過統計都知道這是「散點圖」),從這些點的聚集,我們可以看到這個班這次考試的特點:平時成績好的,考試也成績好。男同學比女同學多,最好成績,最差成績的都是男同學,女生都在平均的位置。動手能力也具有相關性,考試成績好的,實驗成績也好。

為什麼會這樣?你當然可以找理由,但我們不關心,我們首先認知的是:它呈現這樣的「特徵」。既然它現在呈現這樣的特徵,它的下一次發生,「很可能」也呈現這樣的特徵,至於為什麼?那是另一個話題,我們首先關心這個可能性,我們不那麼關心那個「為什麼」。

這是個很有趣的事情,信息在某個大小,和提取的情況下,才呈現出特徵來。《上帝擲骰子嗎》裡面舉過一個類似的例子,大概是這樣的:

下面這美女長得怎麼樣:

你根本不知道。

放大一點呢?

你可能覺得不錯(網上隨便下的圖,侵刪)。

再放大呢?:

我不知道你怎麼看。

但特徵只在特定的大小和角度上呈現的。

這是我們形成思考的基本方式,我們不是基於「邏輯」來思考的,我們是基於特徵來思考的。我們再看一個簡單的例子:加入我們「關注」了這個時間的某個現象。這個現象我們「感覺」和三個「原因」相關,我們把這個現象表達為一個方程q=f(x,y,z),我們看著它的發生,我們要猜它的規律,這個過程可能是這樣的:

第一次經驗:f(1,2,3)=14:按人的一般線性思維,他自然用線性逼近,認為f(x,y,z)=ax+by+cz。所以——啊,知道了,(a,b,c)=(7,2,1),(基本上是胡謅,沒有經驗嘛)

第二次經驗:f(3,2,1)=10:啊,看起來把a弄得太大了,縮一下吧,(a,b,c)=(2,3,2)

第三次經驗:f(1,1,1)=6:看來還是不太好,再來調整一下?(a,b,c)=(1,2,3),完美

如果後面再發生一萬次經驗,都和這個經驗一致,那我們就認為這個規律是這樣的了。第一萬零一次不是呢?——啊,那是「例外」,例外很多怎麼辦?那就接近就可以了,這叫線性回歸:

這樣,我們對這個世界的理解就可以簡單用截矩和斜率來解釋了,雖然有偏差,但大部分時候是「接近正確」的,背後是否有確定性的因素在左右著?也許吧,但我們不Care,沒有確定飯的卡路里含量難道就不吃飯了?差不多就行啦。

當然,規律不總是線性的,聚焦就好了,它還可以是這樣的:

這是聚集到一個點了。

或者更複雜是這樣的:

這就需要更複雜的參數來做「歸納」了。

我們很自然可以發現,參數越多,逼近得越好。那麼,有沒有一種萬能的逼近方法,通過這種方法來逼近更多的Pattern呢?

啊,那就是現在炒得熱火朝天的神經網路了,它的具體原理我們下一篇討論,我們先簡單理解:神經網路是用成千上萬個參數來逼近高維空間中的大量的(幾百萬之類的)的點,嘗試逼近出一種模式來。

我們先不討論這種逼近演算法的方法和效果。我們回到最基本的問題上來:

首先,我們一直以為,思維的本質是邏輯,是嚴格的,但從前面的討論看來,人的思維似乎並非如此,嚴格的邏輯思維只是我們很多非嚴格思維的精華,但就如同吃飯,我們吃的大部分不是「精華」,只吃「精華」你只會營養不良。我們過去對智能的理解是錯誤的,智能大部分不是邏輯,而是Pattern。

而且,很多Pattern還被冠以「邏輯」之名。就好比我在這裡寫的一堆文檔,說得似乎頭頭是道,其實我只是把幾個現實強行用邏輯關聯在一起而已,等更多的點進來訓練我,這些邏輯就變了。

第二,我們以為「認識」,是了解一個事物的「本質」,但從這裡的討論,我們發現,認識並非了解事物的本質,而是通過忽略某些數據,從而從數據中提取出Pattern來。然後拿Pattern來做邏輯思維的判斷。

那麼,我們提取參數的不同,就會獲得完全不同的判斷。所以神經網路中層數和演算法僅僅決定了逼近的精確度,真正決定能否提取成功的是選取的訓練參數(要素)和解析度——我們能否把那張照片放大或者縮小到可以提取出模型來那個大小,才是事情成敗的關鍵。

就好比我這個文檔:PCIE匯流排的地址問題,裡面的信息大部分都是PCIE中的,都已經存在的東西,再寫一個有什麼意義?——實際上是有意義的,因為它提取了一個Pattern,得到了其中一個「特徵」,「學習」,大部分時候就這麼回事,如果什麼都吸取進來的話,特徵就不存在了。這個觀察很重要,這是虛弱的機器學習(如果用CNN對比人腦的話)的意義所在,人的腦子雖然牛,但它的輸入是被視聽觸感所限制的,輸入被限制,能提取的Pattern也被限制了,而機器學習大大擴展了這個範圍。

同一份知識,換一個參數提取Pattern,會得到完全不同的東西。

你知道吧,這兩個「認識」,讓我相當不爽——老子半輩子製造和研究「邏輯」(寫程序嘛),到頭來,我們新興的技術是一種「不要邏輯」的技術。它強調的是「試」,「感覺」,「靈光一閃」,「經驗」,「調整」……這些它么沒有腦子的,缺乏邏輯的,神神兜兜的,缺乏共性的,卻極耗算力的玩意兒……

好了,現在我們最後來談談「氣」這個問題。我前面簡單的歸納,說「氣」其實是個Pattern,這說起來彷彿是這樣的:我們人的思考,是一個神經網路(比人工神經網路複雜得多的神經網路),但我們的理智,僅僅是神經網路的輸出,但神經網路的中間,有一組很大的參數,在控制著我們每波經驗的實際輸出過程,這形成了一組非理智的「感覺」,這種感覺裡面,也有Pattern,會改變我們的實際決策,所以,知識,除了有「理智的,有邏輯的知識」,還有「感性的,無邏輯的知識」,這種知識,同樣在左右我們的最終決策。

而基於氣的思維,更接近傳統中國哲學,而基於邏輯的思維,更接近「現代思維」——我這裡不用「西方思維」,原因是其實一直以來,就算沒有其他思維的侵入,我們也不斷嘗試用邏輯思維來考慮問題。邏輯思維的直觀性很好,人類思維在發展後,會越來越趨向於使用這種思維,但這種思維不是萬能的。這裡面有一個「有-無」之辯在裡面。

設想一下,你有一群人,要排隊過關,一個接一個,這時效率是最高的。這時,突然來了一個旅行團,10個人,導遊過來說,「大家行行好,我們的飛機馬上就要起飛了,讓我們先去吧」,這沒有問題,讓他們插個隊,這個事情仍可以維持高效。但後面一位大爺出來說了,「你們這樣搞不行,我也快要遲到了,本來還好,他們這麼一插隊,我怎麼辦?事情總要講個先來後到吧?」,導遊說,「你跟我說,先來後到?剛才上電梯的時候不是你插隊,讓我們一個團友多等了3趟,我們也不會現在才到」。旁邊一個女士不答應了:「你那個團友多等也不能怪旁人,如果不是他有狐臭,大家都不想他進那個電梯,怎麼會有這麼件事?」

「對於狐臭這個問題,我們要來談談契約社會的問題了……」

「……」

「你的這個問題,我們要從明朝時候,我太爺爺的一個夜壺說起……」

看到沒有?關注邏輯的缺陷在於,邏輯是無窮無盡的,如果深究邏輯,就可能什麼都得不到。而「氣」一說,是說,在設定目標以後,我要用我已有的訓練模型,直接找一個模式出來,這個模式不一定對,但它是「存在模式」的。深度學習的關鍵也在這裡,它不強求邏輯,它求的是某種維度下的模式。以及這種模式和目標的關係。

推薦閱讀:

守弱的內涵和外延
找到道法自然的「度」
自然,守弱和Plan B
知不知

TAG:軟體架構 |