了解卷積神經網絡如何使用TDA學習
在我之前的文章中,我討論了如何對卷積神經網絡(CNN)學習的權重進行拓撲數據分析,以便深入了解正在學習的內容以及如何學習它。
這項工作的重要性可歸納如下:
它使我們能夠了解神經網絡如何執行分類任務。
它允許我們觀察網絡的學習方式
它允許我們看到深層網絡中的各個層如何在它們檢測到的內容上有所不同
在這篇文章中,我們展示了如何將這種理解用於實際目的。那些是:
如何使用持久同源性的條形碼長度來推斷CNN的準確性。
我們的研究結果如何從一個數據集推廣到下一個數據集。
使用持久同源條形碼方法如何定量測量數據集的定性性質。
我們需要回顧上一篇文章中的一些想法。引入的一個想法是使用持久同源作為測量數據形狀的工具。在我們的例子中,我們使用持久同源性來測量圓形的大小和強度或“明確定義”。
我們首先回顧一下持久同源性的概念。持久同源性分配給任何數據集並標註“條形碼”,它是間隔的集合。在維度=0時,條形碼輸出反映了數據集分解為集群或組件。
對於更高維度,持久同源性測量除聚類分解之外的幾何特征的存在。在dimension=1的情況下,條形碼測量數據集中循環的存在。
? 在左邊,條形碼包括一個長條和一些更短的條。長條反映了圓的存在,而較短的條反映了噪聲。在右邊,我們再次有對應於噪音的短桿和兩個不同長度的長桿。這些條反映了兩個環的存在,條的不同長度對應於環的大小。條形的長度也可以反映出可能被稱為循環的“明確定義”的東西。
在左邊,我們有一個非常明確的循環及其條形碼。在右側,循環中添加了一些噪聲,使得更加分散且定義不太明確。右邊最長的條比左邊的條長。因此,最長條的長度可以反映環的明確定義。
推斷CNN的準確性
實際上是通過條形碼中存在一個長條來確認的。我們現在想要了解隨著訓練的進展,循環形狀是如何演變的。
我們通過檢查條形碼中最長條的長度(可以在訓練的任何階段計算)與訓練點的準確度之間的相關性來實現這一點。我們對兩個數據集MNIST和第二個房號數據集進行了這些計算,稱為SVHN。
跨數據集的推廣
第二個發現涉及從一個數據集到另一個數據集的泛化過程。具體來說,我們訓練了基於MNIST的CNN,並在應用於SVHN時檢查其準確性。我們使用三種不同的方法進行了培訓。
測量可變性
第三個發現涉及檢查兩個數據集的可變性。定性地,我們可以確定SVHN比MNIST具有更多的可變性。反過來,我們希望SVHN提供更豐富的數據集和更精確的權重向量數據集。實際上,SVHN的持續時間間隔明顯長於MINST(1.27對1.10)。這從上面進一步證實,所生成的圓模型的“良好定義性”與神經網絡的質量之間存在強相關性。
加起來
拓撲分析在這種類型的分析挑戰中有用的原因是它提供了一種將復雜數據集壓縮為可理解且可能可操作的形式的方法。在這裏,與許多其他數據分析問題一樣,獲得對數據中“頻繁出現的圖案”的理解至關重要。上述觀察結果表明,拓撲分析可用於獲得對CNN學習和泛化能力的控制和理解。這些方面還有許多進一步的想法,我們將在以後的文章中討論。(歡迎轉載分享)
了解卷積神經網絡如何使用TDA學習