神经网络会在不同的运行时翻译成同一句话吗?我可以在运行时收到很多翻译的句子吗?

Will Neural Network translate to the same sentence in different runtimes? And can I receive many translated sentences at a runtime?

我打算使用神经网络(CNN、RNN 等)以句子为单位从一种语言翻译成另一种语言。我想知道这个网络是否会在不同的运行时给我们相同的句子。我们可以在运行时有很多翻译的句子吗?

假设我们有这些场景:

Runtime 1: sentence --- a
Runtime 2: sentence --- a
Runtime 3: sentence --- b
Runtime 4: sentence --- a, b, c, etc

NW会给我们带来哪些场景?谢谢!

如果您有两个相同的神经网络(相同的架构和相同的权重),则推理是确定性的:两个相同的输入将产生相同的输出。如果您在神经网络的体系结构中使用某种随机性,则情况并非如此,例如,如果您使用 Variational Autoencoder (VAE), or a Generative Adversarial Network (GAN),因为您将学习和抽样统计分布。

关于你的第二个问题:神经网络以张量为输入,并提供张量作为输出。输入可以是一维张量(向量)、二维张量(矩阵),甚至是 666 维张量(尽管不推荐)。说到底,神经网络的推理只是一系列的张量积。

当你学习线性代数时,你会了解到在张量的乘积中,你总是可以将一个张量与其自身(或与另一个相同大小的张量)叠加在一个特定的维度上,表达式将保持正确。因此,如果你正确地堆叠你的输入张量(我猜你的句子的单热编码),你可以 运行 你的预测作为 批处理 。在这种情况下,您的输出张量(翻译句子的单热编码)也将堆叠在一起。但请注意 (1) 这样的批处理应该适合内存,并且 (2) 批处理越大,计算量就越大。

是的,只要你有 2 个不同的神经网络。虽然我同时不是这方面的专家,因为我只做过一次。