前沿 | XNN:打開了自己黑箱的神經網路
選自Medium
作者:
Shagun Maheshwari
機器之心編譯
參與:陳韻竹、路
本文介紹了一種旨在「打開」並解釋神經網路的新模型 XNN(可解釋神經網路)。該網路包含三個重要組成部分:投影層、子網路、組合層。XNN 還可用於替代複雜模型,無論將 XNN 用作主要模型還是用於更複雜模型的替代模型,XNN 都可以直接解釋模型如何使用輸入特徵進行預測。
將人工神經網路應用到特定系統的最大障礙之一是它的「黑箱」屬性。XNN(可解釋的神經網路)是一種旨在「打開並解釋」神經網路黑箱的新模型。
使用人工神經網路和機器學習演算法訓練機器像人腦一樣學習信息已經越來越流行。這讓機器能夠準確地輸出給定任務的預測結果。
在給定任務下訓練的 ANN 能進行貓和狗的分類
再舉一個例子,假定你想要訓練一台機器,使其能根據客戶憑證確定銀行的哪些客戶離開銀行的概率最高。
神經網路將在包含每個客戶憑證(例如信用評分)的大數據集上進行訓練。它通過變數選擇識別數據中的哪些特徵對客戶的去留影響最大。神經網路將學習這些特徵,並通過學習特徵,根據其憑證(特徵)自行準確預測哪些客戶離開銀行的概率最高。(參見:https://www.linkedin.com/pulse/creating-deep-neural-net-accurately-predict-churn-rate-maheshwari/)
這些模型對大型數據集非常有效,因為在大型數據集中很難進行手動的變數選擇和特徵工程。另外,與傳統統計方法相比,它們具有更好、更準確的預測性能。
黑箱
然而 ANN 的一個問題在於,它們是黑箱。這意味著數據分析師或建模人員很難解釋輸入特徵與其響應(輸出)之間的關係。神經網路越複雜意味著添加的神經元和層數越多,這使解釋和確定 ANN 中的哪個函數導致輸出變得愈發困難。
應用
理解黑箱並具備解釋模型行為的能力非常重要,這是因為機器學習模型和 ANN 的使用需要納入醫療保健和金融等領域。事實證明,機器學習模型有可能徹底改變這些行業,提高某些任務的效率。
瘋狂的是,研究人員實際上能創建一種機器學習演算法來識別乳腺癌患者身體組織圖像中的乳腺癌模式,而且效果比人類病理學家還要好!機器學習模型能夠更快地識別乳腺癌模式,準確率達 89%,高於訓練有素的人類病理學家的平均準確率 73%!這只是 ANN 和機器學習模型多種實現方式的一個示例,它們能提供比傳統人類方法更高效、準確的工具。
然而,儘管這些模型的準確率和效率已經經過驗證,但人們仍在猶豫是否將它們納入醫療保健和銀行業等領域,因為這些模型具備黑箱屬性。解釋模型並解釋其行為的能力對於這些行業至關重要,因為它們涉及處理高風險問題並且必須受到嚴格監管。
可解釋神經網路
可解釋神經網路(XNN)是機器學習模型的一項新進展,旨在為模型提供可解釋的洞察力,消除其黑箱屬性。這意味著它能夠提供關於特徵以及網路完成輸出(預測)過程中所學得的非線性變換的直白解釋。通過該模型,研究者能清楚地解釋輸入特徵與複雜神經網路輸出之間的關係,因為 XNN 網路結構包含解釋這種關係的機制,並能對可視化該網路所學習的函數起到幫助作用。
XNN 基於加性索引模型的概念,如下所示:
f (x) = g1 β1T x+ g2 β2T x+ · · · + gK βKT x
左側的函數可以表示為 K 個平滑函數 gi(·) 的和。這些平滑函數(即嶺函數)都用於在網路中訓練的輸入特徵的線性組合(βiT x)。這使得加性索引模型能夠提供靈活的框架,通過嶺函數逼近網路內的任意複雜函數,從而提供關於特徵和網路學得的非線性變換的解釋。
可解釋神經網路架構
可解釋神經網路提供加性索引模型的替代公式作為結構化神經網路。XNN 內置了解釋機制,這有助於解釋和理解模型內部過程以及該模型學到的函數。
替代公式如下:
f (x) = μ + γ1 h1 β1T x+ γ2 h2 β1T x+ · · · + γK hK βKT x
位移參數 μ 和尺度參數 γk 被用於模型擬合:通過正則化選擇適當數量的嶺函數。
XNN 結構中三個重要的組成部分包括:
i) 投影層(第一個隱藏層);
ii) 子網路(下圖的中間部分);
iii) 組合層(最後的隱藏層)。
XNN 結構
投影層
輸入層包含將輸入神經網路的所有信息。輸入層全連接到投影層,在投影層上傳遞特徵(信息)。投影層由 K 個節點組成(每個節點對應一個嶺函數)。第一個隱藏層中的節點 i 的權重對應相應嶺函數輸入的係數(βi)。嶺函數有助於逼近輸入特徵中的複雜函數。投影層使用線性激活函數,以確保該層中的每個節點都學習輸入特徵的線性組合。應用了嶺函數的投影層中每個節點的輸出恰好可以用作一個子網路的輸入。
子網路
子網路主要用於學習應用於輸入特徵的嶺函數。嶺函數對於子網路而言非常重要,因為它們逼近投影層的複雜函數。這使得子網路更容易學習並提供所習得的嶺函數的可解釋性,從而使數據分析師有能力理解子網路的運作、理解從輸入到輸出的過程。子網路只需要有足夠的結構,使每一個子網路都能學習大量單變數函數。在模擬中,研究者發現,使用由具有非線性激活函數的兩個隱藏層組成的子網路,足以在擬合模型時學習足夠靈活的嶺函數。
組合層
組合層是 XNN 的最後一個隱藏層,由單個節點組成。節點的輸入包括嶺函數的所有輸出以及在子網路中學習和添加的權重。在該層上使用線性激活函數,因此整個網路的輸出是所有嶺函數的加權和的線性組合。
XNN 組件可視化
內置於 xNN 中的結構(如投影層和子網路)提供了一種機制來解釋這種網路所學習的函數。該內置機制用投影和單變數嶺函數這些相對簡單的術語描述模型學得的複雜函數,以確保模型可解釋。
下圖展示了研究者如何解釋和可視化子網路中的單變數變換和嶺函數。
嶺函數(左)和訓練的 XNN 的對應投影索引(右)。
第一列解釋了單變數函數,其中包含由子網路學習到達其輸出的權重。第二列顯示 βi 的值,即投影係數。投影係數說明輸入特徵的哪個組合在通過子網路之前用作了每個嶺函數的輸入。這非常有用,因為上圖展示了網路最相關的特徵:縮放嶺函數和投影係數。
在上面的例子中,從 xNN 的結構我們可以看出 Subnetwork 1 已經學習了立方勒讓德函數 (f3(·)),Subnetwork 2 已經學習了二次函數 (f2(·)),並且只有 x2 的係數非零。
XNN 作為替代模型
XNN 還可以用作機器學習模型的替代模型,例如隨機森林(RF)和前饋神經網路(FNN)。
有點像這樣……但不完全如此。
在這種情況下,RF 和 FNN 被認為是基礎模型。由於 XNN 被設計為一個可解釋模型,因此我們可以使用輸入特徵和基礎模型預測的相應輸出值來訓練 XNN。然後,XNN 就可以解釋基礎模型所學到的關係!
使用更容易解釋的替代模型來幫助解釋複雜的機器學習模型,極大地增加了將機器學習模型融入不同行業的能力。
可解釋神經網路(XNN)是一個關鍵的機器學習模型。與其他機器學習模型不同,它能「打開」神經網路的黑箱。該模型的結構和設計方式使其可以解釋學習的特徵以及導致其輸出或預測值的函數。這些可解釋性特徵非常吸引人,它本質上是有可加性的,並且能通過納入神經網路的機制(如子網路)直接得到解釋。
無論將 XNN 用作主要模型還是用於更複雜模型的替代模型,XNN 都可以直接解釋模型如何使用輸入特徵進行預測。這項技術為將機器學習模型整合入眾多不同行業提供了巨大的優勢,因為它能夠超越現有系統,並且能夠清晰解釋它如何獲得輸出。
相關論文:Explainable Neural Networks based on Additive Index Models
論文地址:https://arxiv.org/abs/1806.01933
原文鏈接:https://medium.com/@shagunm1210/the-explainable-neural-network-8f95256dcddb
本文為機器之心編譯,
轉載請聯繫本公眾號獲得授權
。?------------------------------------------------
加入機器之心(全職記者 / 實習生):hr@jiqizhixin.com
投稿或尋求報道:
content
@jiqizhixin.com廣告 & 商務合作:bd@jiqizhixin.com
※一線技術人、媒體人為你講述AI最新應用
※《頭號玩家》Oasis的混合現實版來了!Magic Leap面世
TAG:機器之心 |