추천시스템에 AutoEncoder 적용하기

less than 1 minute read

AutoEncoder을 추천시스템에 적용하는 방법에 대해서 생각해보고자 한다.

import torch
import torch import nn, optim

class Autoencoder(nn.Module):
    def __init__(self):
        super(Autoencoder, self).__init__()
        #이미지 처리?
        self.encoder = nn.Sequential(
            nn.Linear(28*28, 128),
            nn.ReLU(),
            nn.Linear(128, 64),
            nn.ReLU(),
            nn.Linear(64, 12),
            nn.ReLU(),
            nn.Linear(12, 3),
        )
        self.decoder = nn.Sequential(
            nn.Linear(3, 12),
            nn.ReLU(),
            nn.Linear(12, 64),
            nn.ReLU(),
            nn.Linear(64, 128),
            nn.ReLU(),
            nn.Linear(128, 28*28),
            nn.Sigmoid(),
        )

    def forward(self, x):
        encoded = self.encoder(x)
        decoded = self.decoder(encoded)
        return encoded, decoded

추천시스템에 흔히 사용하는 Autoencoder 종류

자주 사용하는 autoencoder의 종류는 아래와 같다.

  • VAE(Variational Autoencoder)

  • DAE(Denoising Autoencoder)

  • SDAE(Stacked Denoising Autoencoder)

  • MDAE(Marginalized Denoising Autoencoder)

  • Deep Autoencoder?

Reference

https://towardsdatascience.com/recommendation-system-series-part-6-the-6-variants-of-autoencoders-for-collaborative-filtering-bd7b9eae2ec7

Comments