我正在尝试使用张量流来实现卷积神经网络以对文本进行分类。我已经找到了一些实现的模型,特别是发现了两个实现:
[我不允许发布2个以上的链接,我会尝试在评论中提供来源]
然而,他们的架构似乎有根本的不同。第一个模型使用与输入数据平行的卷积,而第二个模型以顺序方式使用卷积。我用张量板可视化了两个模型:
首先是并行卷积。在卷积之后,结果会合并,并且一个完全连接的层将创建输出。
顺序卷积似乎更直接,我们使用前一层的结果作为下一层的输入。
sequential use of convolutions
所以我的问题是,因为两者都用于对文本进行分类,这两种实现之间存在差异,哪种更适合分类文本?
答案 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。这个和'顺序'模型之间的唯一区别是他明确地显示了不同的过滤器大小 - 但功能的数量完全相同。
你的'并行'和'顺序'都是平行的:每个特征映射都会被复杂化。单独汇集。