오토인코더
오토인코더
-
데이터에 대한 효율적인 압축을 신경망을 통해 자동으로 학습하는 모델
-
일반적으로 입력 데이터 자체가 라벨로 사용 -> 비지도 학습에 속함
-
Input에서 들어와 신경망을 통해 잠재변수 code가 된다.
-
압축된 code는 다시 신경망을 통과해 output 된다.
class Autoencoder(mm.Module):
def __init__(self):
super(Autoencoder,self).__init__()
self.encoder = nn.Linear(28*28,20)
self.decoder = nn.Linear(20,28*28)
def forward(self,x):
x = x.view(batch_size,-1)
encoded = self.encoder(x)
out = self.decoder(encoder).view(batch_size,1,28,28)
return out
model = Autoencoder()
loss_func = nn.MSELoss()
optimizer = torch.optim.Adam(model.parameters(),lr = learning_rate)
for i in range(num_epoch):
for j,[image,label] in enumerate(train_loader):
optimizer.zero_grad()
output = model.forward(image)
loss = loss_func(output,image)
loss.backward()
optimizer.step()
합성곱 오토인코더
- 입력값에 필터의 가중치를 각각 곱한 결과의 합을 통해 계산되었다면 전치 합성곱 연산은 하나의 입력값을 받아 여기에 서로 다른 가중치를 곱해 필터의 크기만큼 입력값을 '퍼뜨리는' 역할을 한다.
시맨틱 세그멘테이션
- 오토인코더의 여러 다양한 방식 중 하나
교재 : 파이토치 첫걸음
Author And Source
이 문제에 관하여(오토인코더), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@aelim0409/오토인코더저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)