ZeweiChu/PyTorch-Course

3.language-model.ipynb中最后一层为什么使用的linear层而不是softmax

Closed this issue · 1 comments

褚博士,您好
我想问下第三课语言模型中为什么最后一层使用的是linear而不是softmax?这样做似乎对这个模型没有什么影响,loss依然下降了,但最后输出应该是一个分类器。这就相当于做二分类任务时,不用sigmoid直接用交叉熵CE作为loss函数,想请教下这样对于分类会造成什么样的影响?反之,如果做分类任务时,不用交叉熵只用sigmoid和MSE作为loss函数,又会有什么影响呢?感觉后者的影响更大。

image
懂了,原来是nn.CrossEntropyLoss()内含了softmax。。。