我一直在使用 Tensorflow,刚刚开始学习 PyTorch。我正在关注教程:https ://pytorch.org/tutorials/beginner/nlp/word_embeddings_tutorial.html#sphx-glr-beginner-nlp-word-embeddings-tutorial-py
我们尝试创建一个 n-gram 语言模型。但是,有一点我不明白。
class NGramLanguageModeler(nn.Module):
def __init__(self, vocab_size, embedding_dim, context_size):
super(NGramLanguageModeler, self).__init__()
self.embeddings = nn.Embedding(vocab_size, embedding_dim)
self.linear1 = nn.Linear(context_size * embedding_dim, 128)
self.linear2 = nn.Linear(128, vocab_size)
self.linear1 = nn.Linear(context_size * embedding_dim, 128)
为什么我们将embedding_dim 与context_size 相乘?embedding_dim 输入大小不是吗?那么为什么我们要乘以上下文大小呢?