我正在使用CNN进行文本分类,在我的模型中,平展层之后,我直接使用输出层,而不使用密集层。是正确的还是必须使用致密层?
仅作为示例:
model.add(Conv1D(filters=100, kernel_size=2,,padding='same' ,activation='relu'))
model.add(MaxPooling1D(pool_size=2))
model.add(Flatten())
model.add(Dense(3, activation='softmax'))
答案 0 :(得分:1)
通常,您不必使用密集层。但是,由于卷积的输出确实包含一些空间信息,因此使用其中一个可能有意义。
我假设您已经了解了卷积的工作原理。在这种情况下,想象一下句子中某个位置的激活对于分类的最终结果意味着什么。
甚至还有端到端CNN,例如GoogleNet,它(顾名思义)也没有完全连接的层。