作者簡介:範力欣博士是諾基亞技術 (Nokia Techonologies) 的 Principal scientist。他的研究領域包括機器學習、計算機視覺、影像影片處理、大資料處理、擴增實境和虛擬現實、移動計算和普適計算等。他發表了 50 多篇論文和近百篇專利申請。加入諾基亞以前,範力欣博士曾在施樂歐洲研究中心 (XRCE) 工作,其合作的 Visual categorization with Bags of keywords 論文,獲得廣泛關注和引用。
將模糊邏輯與深度學習進行融合的動機
深度學習發展到今天,很大程度上依然是一個「實驗主導」的、「先有實驗結果再找可能解釋」的學科。對實驗結果的理論解釋,爭議不斷,而且隨著時間的推移,研究者們給出的解釋也不斷在發展——換言之,這是一個尚未出現堅實理論基礎的學科。
而深度學習的可解釋性之所以重要,是因為,如果試圖將神經網路用於醫學診斷或無人車駕駛等涉及倫理決策的任務中,決定的路徑必須是清晰的,而且對決策的解釋權仍然需要把握在人手中。2013 年左右,以 Hinton 為代表的科學家試圖以決策樹模型的邏輯決策來解釋神經網路,在保留效能的同時提高可解釋性。而在 2017 年的 NIPS 上,也有兩個 workshop 以可解釋性為主題,探討為神經網路引入可解釋性的不同路徑。
模糊邏輯,作為一種基於邏輯推理規則的人工智慧方法,其優點是可解釋性強,決策機制容易被人理解。所以,從 80 年代就有研究提出,將模糊邏輯比較好的解釋性,與神經網路的學習能力相結合,組成模糊神經網路 (fuzzy neural network FNN)。而我近期的工作,則是在深度學習的基礎上,重新定義模糊神經網路 [1]。研究目的仍然是取長補短,用邏輯推理規則,來解釋和規範神經網路的學習機制。可喜的是,從模糊邏輯的角度來看,很多基於經驗的深度學習方法,都有了合理的解釋。
回顧人工智慧的歷史,從上世紀 60 年代開始引人注目的模糊邏輯 (fuzzy logic),發展歷程中經歷了一個完整的從經驗主導到夯實理論基礎,從大規模投入應用到日漸式微的過程。「你所經歷的我都經歷過」,讓模糊邏輯相對於深度學習有了極大的借鑑意義。模糊邏輯或許並不為今天的深度學習研究者所熟知,但查詢谷歌趨勢,我們可以看到直至 2016 年以前,模糊邏輯的關鍵詞搜尋量都是超過深度學習的。如果把時間軸拉得更長,我們可以看到模糊邏輯的關注度從 70 年代到 90 年代後期,經歷了一次大幅度的增長,而當時的深度學習則「養在深閨人未識」。
當時的模糊邏輯,一方面,仍然面對其數學基礎薄弱、理論支撐不足的批評。但是另一方面,以日本為主的電器廠商,將基於模糊邏輯的模糊控制廣泛應用在了冰箱、彩電等各種家電中。而業界的大範圍應用進一步資助和推動了學界對模糊邏輯理論的深入研究。可惜的是,從 90 年代開始,模糊邏輯和整個人工智慧領域的研究都進入了寒冬期。現實裡「能解決的問題都解決了,解決不了的仍然解決不了」,導致模糊邏輯研究的範圍越來越窄,逐漸與實際應用脫節,關注度也日漸式微。
什麼是模糊邏輯
模糊邏輯是用於處理部分真實的邏輯概念和推理規則。數學上,模糊邏輯用連續的真實度來擴充套件二值化的布林真值。所以模糊邏輯的陳述更接近於日常人們的問題和語意陳述,因為「真實性」在語言溝通中多數時候是部分(非二元)的,不精確的(不準確的,不清晰的,模糊的)和主觀的。
舉個例子,命題 1:「小明是一個高個男生。」如果是一個二值原理場景,那麼命題 1 只能是真的或者假的。模糊邏輯可以更好地模擬命題中的不確定性部分:多高算高?與誰相比?如果我們設定門限(threshold):認為 180cm 以上的毋庸置疑是高個男人,S(height ≥ 180)= 1,170 以下的毋庸置疑是矮個男人,S(height ≤ 170)= 0。並且建立一個線性的隸屬函式,那麼我們就可以得到,S(height = 175)= 0.5,這樣一個判斷:「身高 175 的小明是一個高個男生」的真實性為 0.5。當然,如果用不同的隸屬函式,就代表了不同的邏輯判斷。
簡而言之,模糊邏輯是將二值邏輯中的二值替換成多值(多值可以是三值、多值、有限多有理數、無限多有理數)。模糊邏輯更好地模擬了人的思維與交流過程中的不確定性,也同時保留了邏輯推理的可重複和可解釋性。從發展歷史來說,模糊邏輯 (fuzzy logic) 這個術語是 UC Berkeley 的教授 Lotfi Aliasker Zadeh 於 1965 在他的論文「Fuzzy sets」中提出。而多值邏輯的數學概念,從上世紀二十年代開始,已經有盧卡西維茨 (Łukasiewicz),哥德爾 (Gödel),塔斯基 (Tarski) 等數理邏輯學家做了深入研究。
重新定義模糊神經網路
在 90 年代初,就存在對模糊神經網路的充分研究。在明年一月,IEEE 的期刊 Transactions on Fuzzy Systems 會推出深度學習特刊。模糊邏輯和神經網路有多種結合方式,在前深度學習時代,有的方式把模糊邏輯和神經網路模組拼接或並行,還有一些把每一個神經元的運算模糊化 ([2])。
我最近的工作 Generalized Hamming Network(GHN)在網路結構上屬於上圖(i)這類,即對每個神經元進行模糊化的型別。而與傳統 FNN 的區別,在於不需要刻意新增模糊過程,而是對一般的神經元計算進行規範,使之遵循模糊邏輯的「異或」運算規則。具體的運算公式也很簡潔 (如下),很容易驗證,這個公式在輸入 0 或 1 時,就退化為一般的二值異或運算。而下圖中的紅藍函式曲面,可以看作是擴充套件到實數域的真值表。其中,偏紅或藍的部分,代表確定性高的判斷,而白色接近 0.5 的區域則包含了比較模糊,不確定的判斷 (細節見 [1])。
類比於深度學習的影像卷積運算,將異或運算當作一個濾波運算元,作用於輸入影像:
則可以推匯出, 只要 bias term 嚴格按照以下公式設定:
那麼每一個神經元的輸出就是對輸入 X 和神經元引數 W 做模糊異或非的邏輯運算結果。注意,這裡 bias term 是受引數 W 和輸入 X 約束而直接設定的,不需要透過學習演算法來最佳化。
從邏輯異或的角度,神經元的運算可以解釋為對 X 和 W 的相似度測量, 也就是計算兩者之間的泛化漢明距離 (generalized hamming distance GHD)。沿著這個思路,Rectified Linear Unit (ReLU) 一類的啟用函式,事實上是對測得的漢明距離設定門限。進一步說,由於 GHD 是有正有負的,ReLU 其實只是擷取了在正數端一半的資訊,而遮蔽掉了另一半負數端的資訊。我們的實驗表明,保留正負兩端的資訊 (double-thresholding),是能夠提高學習效率和識別準確率的。
廣泛採用的 batch normalization(BN 批歸一化),事實上是用最佳化學習的方法來約束 bias term 使之與引數 W 一同變化,從而達到防止引數梯度爆炸的目的。而在 GHN 中,按公式計算的偏置項是受引數 W 和輸入 X 控制的,與引數同步增加(減少),但符號相反。所以,按公式計算的偏置項自然會有控制輸出、使其不會無限制地增加的特點,即使是使用較大的學習率時,也可以有效避免梯度爆炸。相比於批歸一化,GHN 的優勢在於它是按邏輯關係推匯出來的,沒有經過任何啟發式過程,具有批歸一化所沒有的可解釋性。
必須要說明的是,在學習效率上,GHN 計算出來的偏置項在一些實驗中不如批歸一化最佳化出來的偏置項。我們的看法是,先驗的邏輯異或關係(XOR)不一定是實際資料中的最優。邏輯關係本身,也應該按實際資料呈現的關係進行最佳化,這也是我們近期的研究工作之一。
接下來的研究
結合模糊邏輯和深度學習的研究才剛剛起步,打比方說,去年的成果相當於在兩座相對的山峰之間,建立了一個空中索道。接下來,還需要建立更紮實的基礎和引入更廣泛的應用。長遠來看,我們希望能夠透過這方面的研究,將人工智慧的兩大流派,即基於邏輯關係的符號學派和基於機率統計的連線學派,結合起來取長補短。
這些進一步的工作,一方面體現在我們近期的研究中。另一方面,也希望有更多年輕的學者和同學,加入到這個行列裡面來。所以我們在七月份瑞典舉行的 IJCAI,組織了這樣一個題為「Toward Interpretable Deep Learning Via Fuzzy Logic」的 tutorial[3], 而在八月份的北京 ICPR 上也會再講一次同樣題目的 tutorial[4]. 歡迎大家報名參加,交流學習。
References:
[1] L. Fan. (2017) "Revisit Fuzzy Neural Network: Demystifying Batch Normalization and ReLU with Generalized Hamming Network", NIPS 2017.
[2] Takagi, H. (2000). Fusion Technology of Neural Networks and Fuzzy
Systems : A Chronicled Progression from the Laboratory to Our Daily Lives.
Journal of Applied Mathematics, 10(4):120.
[3] IJCAI 2018 Tutorial: Toward Interpretable Deep Learning via Fuzzy Logic, http://web.fsktm.um.edu.my/~cschan/ijcai2018
[4] ICPR 2018 Tutorial: Toward Interpretable Deep Learning Via Fuzzy Logic, http://www.icpr2018.org/index.php?m=content&c=index&a=show&catid=47&id=9