0

我試圖用tensorflow實現卷積神經網絡來分類文本。我已經發現了一些實施模式,尤其是兩種實現方式發現:卷積神經網絡中並行和順序卷積之間的區別

[我不能發佈超過2個鏈接,我會盡量提供意見的來源然而,他們似乎

在架構上有着根本性的不同。第一個模型使用與輸入數據並行的卷積,而第二個模型以順序方式使用卷積。我用tensorboard可視化兩個模型:

首先並行卷積。卷積後,將結果拼接起來,並用一個完全連接的層創建輸出。

parallel use of convolutions

連續迴旋似乎更直截了當,我們使用的結果形成上一層作爲輸入下一個層。

sequential use of convolutions

所以我的問題是,因爲二者都用於分類文本,其中介於這兩種實現之間的差異,哪一個更適合文本分類的?

+0

實施來源: - http://www.wildml.com/2015/12/implementing-a-cnn-for-text-classification-in-tensorflow/ - https://github.com/ scharmchi/char-level-cnn-tf –

回答

2

這不是'平行'與'順序'所必需的。從我看到的是'並行'實現實際上只是一個卷積層,然而與不同的濾波器大小

基本上,如果你只是有一個卷積層93x3特點將是:

input     convoluted     pooling   
x * y * 1    x' * y' * 9     x'' * y'' * 9 

因此,基本上,每個過濾器經過相同的彙集和卷積運算。

但是'順序'模型的主要區別在於他使用不同過濾器尺寸的功能

input     convoluted     pooling   concat (may also flatten 
x * y * 1    x1 * y1 * 3     x1' * y1' * 3 x123' * y123' * 9 
         x2 * y2 * 3     x2' * y2' * 3 
         x3 * y3 * 3     x3' * y3' * 3 

然後再把它轉換成óne。這與「順序」模型唯一的區別在於他明確顯示了不同的過濾器尺寸 - 但功能的數量完全相同。

您的'平行'和'順序'都是平行的:每個特徵映射都會被單獨彙集起來。

+0

你是絕對正確的,非常感謝你的解釋,這樣做更有意義! –