卷积神经网络中并行和顺序卷积的差异

时间:2017-06-13 08:46:26

标签: tensorflow neural-network deep-learning conv-neural-network

我正在尝试使用张量流来实现卷积神经网络以对文本进行分类。我已经找到了一些实现的模型,特别是发现了两个实现:

[我不允许发布2个以上的链接,我会尝试在评论中提供来源]

然而,他们的架构似乎有根本的不同。第一个模型使用与输入数据平行的卷积,而第二个模型以顺序方式使用卷积。我用张量板可视化了两个模型:

首先是并行卷积。在卷积之后,结果会合并,并且一个完全连接的层将创建输出。

parallel use of convolutions

顺序卷积似乎更直接,我们使用前一层的结果作为下一层的输入。

sequential use of convolutions

所以我的问题是,因为两者都用于对文本进行分类,这两种实现之间存在差异,哪种更适合分类文本?

1 个答案:

答案 0 :(得分: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。这个和'顺序'模型之间的唯一区别是他明确地显示了不同的过滤器大小 - 但功能的数量完全相同。

你的'并行'和'顺序'都是平行的:每个特征映射都会被复杂化。单独汇集。