《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動態(tài) > 前沿 | XNN:打開了自己黑箱的神經網絡

前沿 | XNN:打開了自己黑箱的神經網絡

2018-08-18

本文介紹了一種旨在「打開」并解釋神經網絡的新模型 XNN(可解釋神經網路)。該網絡包含三個重要組成部分:投影層、子網絡、組合層。XNN 還可用于替代復雜模型,無論將 XNN 用作主要模型還是用于更復雜模型的替代模型,XNN 都可以直接解釋模型如何使用輸入特征進行預測。


將人工神經網絡應用到特定系統(tǒng)的最大障礙之一是它的「黑箱」屬性。XNN(可解釋的神經網絡)是一種旨在「打開并解釋」神經網絡黑箱的新模型。


使用人工神經網絡和機器學習算法訓練機器像人腦一樣學習信息已經越來越流行。這讓機器能夠準確地輸出給定任務的預測結果。

微信圖片_20180818105337.gif

在給定任務下訓練的 ANN 能進行貓和狗的分類


再舉一個例子,假定你想要訓練一臺機器,使其能根據(jù)客戶憑證確定銀行的哪些客戶離開銀行的概率最高。


神經網絡將在包含每個客戶憑證(例如信用評分)的大數(shù)據(jù)集上進行訓練。它通過變量選擇識別數(shù)據(jù)中的哪些特征對客戶的去留影響最大。神經網絡將學習這些特征,并通過學習特征,根據(jù)其憑證(特征)自行準確預測哪些客戶離開銀行的概率最高。(參見:https://www.linkedin.com/pulse/creating-deep-neural-net-accurately-predict-churn-rate-maheshwari/)


這些模型對大型數(shù)據(jù)集非常有效,因為在大型數(shù)據(jù)集中很難進行手動的變量選擇和特征工程。另外,與傳統(tǒng)統(tǒng)計方法相比,它們具有更好、更準確的預測性能。


黑箱


然而 ANN 的一個問題在于,它們是黑箱。這意味著數(shù)據(jù)分析師或建模人員很難解釋輸入特征與其響應(輸出)之間的關系。神經網絡越復雜意味著添加的神經元和層數(shù)越多,這使解釋和確定 ANN 中的哪個函數(shù)導致輸出變得愈發(fā)困難。

微信圖片_20180818105357.jpg

應用


理解黑箱并具備解釋模型行為的能力非常重要,這是因為機器學習模型和 ANN 的使用需要納入醫(yī)療保健和金融等領域。事實證明,機器學習模型有可能徹底改變這些行業(yè),提高某些任務的效率。


瘋狂的是,研究人員實際上能創(chuàng)建一種機器學習算法來識別乳腺癌患者身體組織圖像中的乳腺癌模式,而且效果比人類病理學家還要好!機器學習模型能夠更快地識別乳腺癌模式,準確率達 89%,高于訓練有素的人類病理學家的平均準確率 73%!這只是 ANN 和機器學習模型多種實現(xiàn)方式的一個示例,它們能提供比傳統(tǒng)人類方法更高效、準確的工具。

微信圖片_20180818105419.jpg

然而,盡管這些模型的準確率和效率已經經過驗證,但人們仍在猶豫是否將它們納入醫(yī)療保健和銀行業(yè)等領域,因為這些模型具備黑箱屬性。解釋模型并解釋其行為的能力對于這些行業(yè)至關重要,因為它們涉及處理高風險問題并且必須受到嚴格監(jiān)管。


可解釋神經網絡


可解釋神經網絡(XNN)是機器學習模型的一項新進展,旨在為模型提供可解釋的洞察力,消除其黑箱屬性。這意味著它能夠提供關于特征以及網絡完成輸出(預測)過程中所學得的非線性變換的直白解釋。通過該模型,研究者能清楚地解釋輸入特征與復雜神經網絡輸出之間的關系,因為 XNN 網絡結構包含解釋這種關系的機制,并能對可視化該網絡所學習的函數(shù)起到幫助作用。


XNN 基于加性索引模型的概念,如下所示:


f (x) = g1 β1T x+ g2 β2T x+ · · · + gK βKT x


左側的函數(shù)可以表示為 K 個平滑函數(shù) gi(·) 的和。這些平滑函數(shù)(即嶺函數(shù))都用于在網絡中訓練的輸入特征的線性組合(βiT x)。這使得加性索引模型能夠提供靈活的框架,通過嶺函數(shù)逼近網絡內的任意復雜函數(shù),從而提供關于特征和網絡學得的非線性變換的解釋。


可解釋神經網絡架構


可解釋神經網絡提供加性索引模型的替代公式作為結構化神經網絡。XNN 內置了解釋機制,這有助于解釋和理解模型內部過程以及該模型學到的函數(shù)。


替代公式如下:


f (x) = μ + γ1 h1 β1T x+ γ2 h2 β1T x+ · · · + γK hK βKT x


位移參數(shù) μ 和尺度參數(shù) γk 被用于模型擬合:通過正則化選擇適當數(shù)量的嶺函數(shù)。


XNN 結構中三個重要的組成部分包括:


i) 投影層(第一個隱藏層);

ii) 子網絡(下圖的中間部分);

iii) 組合層(最后的隱藏層)。

微信圖片_20180818105447.jpg

XNN 結構


投影層


輸入層包含將輸入神經網絡的所有信息。輸入層全連接到投影層,在投影層上傳遞特征(信息)。投影層由 K 個節(jié)點組成(每個節(jié)點對應一個嶺函數(shù))。第一個隱藏層中的節(jié)點 i 的權重對應相應嶺函數(shù)輸入的系數(shù)(βi)。嶺函數(shù)有助于逼近輸入特征中的復雜函數(shù)。投影層使用線性激活函數(shù),以確保該層中的每個節(jié)點都學習輸入特征的線性組合。應用了嶺函數(shù)的投影層中每個節(jié)點的輸出恰好可以用作一個子網絡的輸入。


子網絡


子網絡主要用于學習應用于輸入特征的嶺函數(shù)。嶺函數(shù)對于子網絡而言非常重要,因為它們逼近投影層的復雜函數(shù)。這使得子網絡更容易學習并提供所習得的嶺函數(shù)的可解釋性,從而使數(shù)據(jù)分析師有能力理解子網絡的運作、理解從輸入到輸出的過程。子網絡只需要有足夠的結構,使每一個子網絡都能學習大量單變量函數(shù)。在模擬中,研究者發(fā)現(xiàn),使用由具有非線性激活函數(shù)的兩個隱藏層組成的子網絡,足以在擬合模型時學習足夠靈活的嶺函數(shù)。

微信圖片_20180818105524.jpg

組合層


組合層是 XNN 的最后一個隱藏層,由單個節(jié)點組成。節(jié)點的輸入包括嶺函數(shù)的所有輸出以及在子網絡中學習和添加的權重。在該層上使用線性激活函數(shù),因此整個網絡的輸出是所有嶺函數(shù)的加權和的線性組合。


XNN 組件可視化


內置于 xNN 中的結構(如投影層和子網絡)提供了一種機制來解釋這種網絡所學習的函數(shù)。該內置機制用投影和單變量嶺函數(shù)這些相對簡單的術語描述模型學得的復雜函數(shù),以確保模型可解釋。


下圖展示了研究者如何解釋和可視化子網絡中的單變量變換和嶺函數(shù)。


嶺函數(shù)(左)和訓練的 XNN 的對應投影索引(右)。


第一列解釋了單變量函數(shù),其中包含由子網絡學習到達其輸出的權重。第二列顯示 βi 的值,即投影系數(shù)。投影系數(shù)說明輸入特征的哪個組合在通過子網絡之前用作了每個嶺函數(shù)的輸入。這非常有用,因為上圖展示了網絡最相關的特征:縮放嶺函數(shù)和投影系數(shù)。


在上面的例子中,從 xNN 的結構我們可以看出 Subnetwork 1 已經學習了立方勒讓德函數(shù) (f3(·)),Subnetwork 2 已經學習了二次函數(shù) (f2(·)),并且只有 x2 的系數(shù)非零。


XNN 作為替代模型


XNN 還可以用作機器學習模型的替代模型,例如隨機森林(RF)和前饋神經網絡(FNN)。

微信圖片_20180818105547.gif

有點像這樣……但不完全如此。


在這種情況下,RF 和 FNN 被認為是基礎模型。由于 XNN 被設計為一個可解釋模型,因此我們可以使用輸入特征和基礎模型預測的相應輸出值來訓練 XNN。然后,XNN 就可以解釋基礎模型所學到的關系!


使用更容易解釋的替代模型來幫助解釋復雜的機器學習模型,極大地增加了將機器學習模型融入不同行業(yè)的能力。


可解釋神經網絡(XNN)是一個關鍵的機器學習模型。與其他機器學習模型不同,它能「打開」神經網絡的黑箱。該模型的結構和設計方式使其可以解釋學習的特征以及導致其輸出或預測值的函數(shù)。這些可解釋性特征非常吸引人,它本質上是有可加性的,并且能通過納入神經網絡的機制(如子網絡)直接得到解釋。


無論將 XNN 用作主要模型還是用于更復雜模型的替代模型,XNN 都可以直接解釋模型如何使用輸入特征進行預測。這項技術為將機器學習模型整合入眾多不同行業(yè)提供了巨大的優(yōu)勢,因為它能夠超越現(xiàn)有系統(tǒng),并且能夠清晰解釋它如何獲得輸出。


本站內容除特別聲明的原創(chuàng)文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯(lián)系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。