Learning Explanatory Rules from Noisy Data 閱讀筆記1
摘要
神經網路有過擬合問題,核心還是要有大量數據 近似數據分布 以泛化 ,
相反,Logic programming比如Inductive Logic Programming用很少數據訓練後就能推理,但是Logic Programming對 雜訊的加入 和 數據的錯誤標註 沒有魯棒性,更嚴重的是,Logic Programming不能應用到 數據歧義的 非符號 領域 比如 raw像素。
這篇文章提出Differentiable Inductive Logic framework可以有Logic Programming的特性(少量數據即泛化),同時解決了Logic Programming對訓練數據的雜訊和錯誤沒有魯棒性的問題,以及因為Differentiable Inductive Logic framework是用反向傳播和似然函數訓練,所以可以解決 數據歧義 的問題,
Introduction
Inductive Logic Programming (ILP) 是一種從examples里構建邏輯程序的技術,提供一些正examples和負examples,ILP構建可以entails所有正examples的邏輯程序,但是不會entails任何負examples的邏輯程序
從機器學習的角度看,ILP可看做是實現一個 用examples訓練的 基於規則的二分類器,可以把根據每個example的axioms把每個example分類為正或負,同時新的規則會被ILP在訓練中推斷出來。
ILP有很多優點:
1,訓練學到的程序有很清晰的符號結構,也就是能檢查、理解、糾錯
2,只需很少的數據,因為ILP會包括很多能覆蓋訓練數據的special-case ad-hoc rules
3,ILP支持連續學習和遷移學習:程序在一個階段訓練完了,可以複製到知識庫,然後再進行下一階段的訓練
ILP的缺點:
不能有雜訊, 錯誤, 歧義的數據:如果正examples和負examples有任何錯誤label,就訓練不到想要的規則。
神經網路的優點:
對雜訊和歧義有魯棒性
為了實現本文想實現的相同目標,像神經圖靈機、DNC這樣的工作,沒有明顯的構建一個程序的符號表示,相反,它們通過訓練學習一個隱含分布在網路參數里 的網路 來達到目的。
我們的可微分結合ILP的工作?ILP有兩個優點:
1,我們的新系統?ILP,對雜訊有魯棒性,也就是可以抵抗 錯誤標籤的數據
2,我們的新系統?ILP,能輸入歧義數據,比如能輸入raw un-preprocessed的像素。而ILP只能輸入 符號樣的 數據。(?ILP連到CNN可以輸入MNIST圖像,而ILP只能輸入一些文本之類的符號數據)
然而我們的新系統?ILP也有兩個缺點:
1,不可見和不可解釋性,不知道訓練後能泛化到什麼程度
2,如果我們用10訓練,用20測試,還可以,但用100測試就不行了。
Background
Logic Programming
Inductive Logic Programming (ILP)
(由於論文太長,決定分篇連載。。)
推薦閱讀:
※基於不平衡樣本的推薦演算法研究
※基於NLP的股價預測
※讓我們一起來學習CNTK吧
※BOW 演算法,被CNN 打爆之前的王者
※譜聚類的consistency
TAG:機器學習 |