Я читаю книгу «Глубокое обучение для программистов с помощью 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
В чем разница между слоем внедрения со смещением сразу после этого и линейным слоем в PyTorch? ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как правильно настроить LSTM с линейным слоем для обнаружения слов пробуждения
Anonymous » » в форуме Python - 0 Ответы
- 37 Просмотры
-
Последнее сообщение Anonymous
-