Как правило, наследование от nn.Module
необходимо только тогда, когда вы хотите иметь обучаемые переменные в этом модуле, в противном случае наследовать его необязательно.
То же самое относится к функциям потерь, если они не содержат таких переменных (что, как я полагаю, является основным случаем), наследование не требуется.