229得票13回答
Keras,如何获取每个层的输出?

我用CNN训练了一个二分类模型,这是我的代码model = Sequential() model.add(Convolution2D(nb_filters, kernel_size[0], kernel_size[1], border_mode=...

215得票12回答
为什么对于相同问题,二元交叉熵和分类交叉熵会表现出不同的性能?

我正在尝试使用卷积神经网络按主题对文本进行分类。当我使用二元交叉熵时,准确率约为80%;而使用分类交叉熵时,准确率约为50%。我不明白这是为什么。这是一个多类问题,难道我不得不使用分类交叉熵,并且使用二元交叉熵的结果是没有意义的吗? model.add(embedding_layer) mo...

198得票4回答
卷积神经网络中1D、2D和3D卷积的直观理解

请问有人能够清楚地解释卷积神经网络(在深度学习中)中的1D、2D和3D卷积之间的区别,并且用例子加以说明吗?

194得票13回答
为什么反向传播神经网络必须使用非线性激活函数?

我阅读了一些有关神经网络的内容,我理解单层神经网络的一般原理。我理解需要额外的层,但为什么要使用非线性激活函数? 这个问题之后还有一个问题:什么是反向传播中使用的激活函数的导数?

187得票10回答
在Keras中,“Flatten”的作用是什么?

我正在尝试理解Keras中Flatten函数的作用。以下是我的代码,这是一个简单的两层神经网络。它接收形状为(3,2)的二维数据,并输出形状为(1,4)的一维数据:model = Sequential() model.add(Dense(16, input_shape=(3, 2))) mod...

173得票9回答
tf.nn.embedding_lookup函数是用来做什么的?

tf.nn.embedding_lookup(params, ids, partition_strategy='mod', name=None) 我无法理解这个函数的职责。它是否像查找表一样?这意味着返回与每个id(在ids中)对应的参数? 例如,在skip-gram模型中,如果我们使用tf...

173得票5回答
为什么我们要在PyTorch中“打包”序列?

我试图复制如何在rnn中使用变长序列输入进行打包,但我想我首先需要了解为什么我们需要“打包”序列。 我明白为什么我们需要将它们“填充”,但是为什么需要通过pack_padded_sequence进行“打包”呢?

170得票6回答
Keras中验证模型时,verbose的作用是什么?

我第一次运行LSTM模型。 这是我的模型:opt = Adam(0.002) inp = Input(...) print(inp) x = Embedding(....)(inp) x = LSTM(...)(x) x = BatchNormalization()(x) pred = Den...

170得票8回答
运行时错误:输入类型(torch.FloatTensor)和权重类型(torch.cuda.FloatTensor)应该相同。

device = torch.device("cuda" if torch.cuda.is_available() else "cpu") model.to(device) for data in dataloader: inputs, lab...

159得票2回答
Keras中的多对一和多对多LSTM示例

我会尝试理解LSTMs以及如何使用Keras构建它们。我发现,原则上有4种模式可以运行RNN(图片中的右侧4种)。 图片来源:Andrej Karpathy 现在我想知道每个模式在Keras中的最简代码片段是什么样的,类似于: model = Sequential() model.ad...