В чем разница между слоем внедрения со смещением сразу после этого и линейным слоем в PyTorch?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 В чем разница между слоем внедрения со смещением сразу после этого и линейным слоем в PyTorch?

Сообщение Anonymous »

Я читаю книгу «Глубокое обучение для программистов с помощью fastai и PyTorch». Я все еще немного не понимаю, что делает модуль внедрения. Кажется, это короткая и простая сеть, за исключением того, что я не могу понять, что встраивание делает иначе, чем линейное без предвзятости. Я знаю, что он выполняет более быструю вычислительную версию скалярного произведения, где одна из матриц представляет собой матрицу с горячим кодированием, а другая — матрицу внедрения. Фактически это делается для того, чтобы выбрать фрагмент данных? Пожалуйста, укажите, где я ошибаюсь. Вот одна из простых сетей, показанных в книге.
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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»