「可解釋性」OR「準確性」?壓縮深度神經網絡模型讓你兩者兼得

“可解释性”OR“准确性”?压缩深度神经网络模型让你两者兼得

編者按:在機器學習的世界裡,準確性和可解釋性總是不可兼得:複雜的模型準確但令人費解,簡單的模型容易理解也容易出錯。微軟研究院首席研究員Rich Caruana在他數十年的職業生涯中花了很多精力來探索這個問題,在這個訪談中,他為我們分享了一個更精簡、更可解釋的“壓縮”模型,使“黑匣子”般的機器學習過程更加透明。本文是Rich Caruana採訪內容的文字精簡版,瞭解完整內容,請收聽文中採訪音頻。

“可解释性”OR“准确性”?压缩深度神经网络模型让你两者兼得

微軟首席研究員Rich Caruana博士

採訪音頻

在機器學習領域,長久以來存在一個難以取捨的問題——模型的準確性與可解釋性像“魚與熊掌”般不可兼得簡單如線性迴歸、邏輯迴歸,過程清晰明確,但無法用於分析複雜的問題複雜如神經網絡,機器學習過程和預測結果的準確來源於它繁複的結構。在今天,隨著神經網絡模型的不斷髮展,為了得到更精確的結果,這個模型越來越大,從初始的三、五層,變成五十、上百層,加上千萬個樣本、數億個權重,這使人們更難理解機器做出的預測,模型的運行速度也更緩慢。

線性迴歸、邏輯迴歸這些簡單又準確的模型,能夠很好地解決一些基礎的問題。但是隨著數據驅動時代的來臨,龐大的數據量要求我們使用更復雜的模型去囊括數據呈現的各種情況。但複雜的機器學習模型就像一個“黑匣子”,我們將數據送進去,它把結果輸出來,那盒子中發生了什麼呢?

我認為有兩個原因,使機器學習的過程像“黑匣子”般難以捉摸。

第一,是複雜模型本身的特性。三四十年前的人工智能(例如專家系統)完全是由人們手動編寫的,我們很容易理解背後的工作機制,而現在的人工智能大都基於機器學習和大數據。面對海量的數據,人們難以手動為機器創造一個準確的規則。通常的做法是將數據集交給一個數據引擎,讓它找到與目標結果相關的規律,學習這個規律,捕捉數據集中的所有規律,最後給出預測結果。這個過程中我們無法確信機器找到的規律是否準確,機器也不會告訴我們它的所作所為,這使我們難以透徹地理解整個過程。

第二,是模型的所有權歸屬問題,模型的所有者通常希望保護自己的模型。比如,某個公司開發的供法院付費使用的評估罪犯再次犯罪概率的模型,根據法律規定,這個模型的所有權是屬於這個公司,而法院也不希望有人通過研究該模型的工作機制從而找到鑽空子的機會。所以類似於這種模型是對其他人是嚴格保密的。

在讀研究生時,我的朋友在一個肺炎數據集上訓練模型時,得出了“哮喘病史能減少患者因肺炎死亡的幾率”的荒謬結論,事實上,哮喘病是肺炎的一個高危相關因素,但是數據顯示,哮喘病史的患者肺炎死亡率僅約為無哮喘病史患者的50%,這是因為哮喘病患者會較早注意到自己的發病症狀,及時就醫,能夠獲得高質量的、更加積極的治療。儘管在模型中修復這個小問題並不難,但這段經歷給了我一個警告:如果對機器學習模型的內部運行機制缺乏理解,模型的預測結果可能和現實情況存在很大的偏差

意識到這一點後,我花了很多精力試圖解決這個問題。90年代初,麥迪遜大學的一名研究生做了一件有趣的事,他訓練了一個決策樹模型來模擬神經網絡,使它和神經網絡模型的儘可能接近,以瞭解神經網絡模型的運行機制。15年前當我在康奈爾大學時,我們也採取了這個用簡單模型模擬複雜神經網絡的方法,用一個小而快的模型成功模擬了複雜模型所做出的預測,而且速度加快了上千倍

過去七年,我們在微軟開發了一個更簡單、可解釋的模型,我們叫它“

壓縮模型”或“蒸餾模型”。我們先訓練出龐大、精確的、上百層的深度神經網絡,再將深度神經網絡壓縮成較淺的神經網絡,保持它的準確率的同時提高運行效率

同時,為了避免機器學習產生類似“哮喘病史能減少患者因肺炎死亡的幾率”的結論,我們借鑑了由80年代後期統計學家提出的GAMs模型(Generalized Additive Models),在原本簡單的GAMs模型基礎上擴充了機器學習的方法,使它能更準確地擬合數據集的真實狀況,也更具可解釋性。

最後我想說,在人工智能的早期,行業裡流傳著這樣一句話:“你應該從事最困擾你的問題,因為這是突破瓶頸的絕佳機會,否則它總有一天會繼續困擾你。”在研究領域,我發現最困擾我的問題,往往就是最好的下一個研究方向。因此我也鼓勵大家去探索最令人困擾、最具有挑戰性的任務,即使不確定能否獲得回報,它也很值得。

你也許還想看

“可解释性”OR“准确性”?压缩深度神经网络模型让你两者兼得

感謝你關注“微軟研究院AI頭條”,我們期待你的留言和投稿,共建交流平臺。來稿請寄:[email protected]


分享到:


相關文章: