语言翻译神经网络的许多例子:
“猫坐在垫子上” -> [模型] -> “le chat etait assis sur le tapis”
使用 RNN,尤其是 LSTM。例如,请参阅带有神经网络的句子语言翻译,具有简单的层结构(如果可能是顺序的)和Keras 中序列到序列学习的十分钟介绍 。
是否有(不太复杂)尝试仅使用 CNN 而不使用 RNN/LSTM 进行语言翻译?
你有 Keras 的例子吗?
语言翻译神经网络的许多例子:
“猫坐在垫子上” -> [模型] -> “le chat etait assis sur le tapis”
使用 RNN,尤其是 LSTM。例如,请参阅带有神经网络的句子语言翻译,具有简单的层结构(如果可能是顺序的)和Keras 中序列到序列学习的十分钟介绍 。
是否有(不太复杂)尝试仅使用 CNN 而不使用 RNN/LSTM 进行语言翻译?
你有 Keras 的例子吗?
我刚用谷歌搜索:
我在 GitHub 上找到的所有实现都在 PyTorch 中。我没有发现太多我并不感到惊讶:CNNs 在 NLP 中的应用很有趣,但在这方面他们从未击败过 RNNs。在注意力模型出现之后,尤其是变形金刚,这类模型并没有得到进一步的发展。事实上,我链接到你的最新论文是从 2018 年开始的——即 NLP 速度的冰河时代。
如果你真的想深入了解卷积 NMT 的这个主题,我建议你查看可用的基于 torch 的代码,并尝试在 Tensorflow/Keras 中制作副本。这是一项艰苦的工作,但仍然是一个花哨的模型。祝你好运!
CNN 和 RNN 具有不同的架构,旨在解决不同的问题。
图像有很多像素,因此有很多特征。减少一些特征不会对图像的内容产生太大影响。CNN 旨在减少特征。
NLP 是上下文驱动的。单词在句子中越远,它对当前单词的上下文/含义的重要性就越小。RNN/LSTM/Transformer 旨在根据与当前单词的距离来维持该记忆。因此,这些架构更适合 NLP 类型的场景。注意力只是通过将注意力集中在一些特定的词上来帮助实现相同的目标(当然,注意力也可以与 CNN 一起使用)。
现在最初的问题是,CNN 可以用于 RNN。是的,但在这种情况下,您必须根据您想理解/翻译的句子自己控制多少内存(以 CNN 步幅/窗口大小等形式)。
简单地说,RNN 比 CNN 更能解决这个问题,因此社区付出了更多努力。