Я читаю книгу «Глубокое обучение для кодеров с Fastai & Pytorch». Я все еще немного смущен тем, что делает модуль встраивания. Это кажется короткой и простой сетью, за исключением того, что я не могу обернуть голову вокруг того, что встраивается иначе, чем линейно без предвзятости. Я знаю, что он выполняет некоторую более быструю вычислительную версию точечного продукта, где одна из матриц представляет собой однократную кодированную матрицу, а другая-матрица встраивания. Это фактически выбрать кусок данных? Пожалуйста, укажите, где я ошибаюсь. Вот одна из простых сетей, показанных в книге. < /P>
class DotProduct(Module):
def __init__(self, n_users, n_movies, n_factors):
self.user_factors = Embedding(n_users, n_factors)
self.movie_factors = Embedding(n_movies, n_factors)
def forward(self, x):
users = self.user_factors(x[:,0])
movies = self.movie_factors(x[:,1])
return (users * movies).sum(dim=1)
Подробнее здесь: https://stackoverflow.com/questions/654 ... ely-afterw