[AI부트캠프] 오토인코더

Codincidence·2021년 9월 9일
0

딥러닝

목록 보기
12/13

🏆 학습목표

  • AutoEncoder (AE)의 구성에 대해서 설명할 수 있어야 합니다.
  • AE의 학습과정을 이해할 수 있다.
  • Latent variable의 추상적 개념을 정의할 수 있고,
  • 이를 활용하여 기본적인 information retrieval problem를 해결해본다.
  • AE의 활용방안에 대해서 생각해볼 수 있다.

🔥Warm up

node

노드에 인풋(x)이 들어오면
노드 안의 가중치(w)와 곱해지고
편향값이 더해져 (b)
시그모이드에 보내진다. 최종값 = sigmoid(wx + b)

dense = node가 여러 개 붙어있음 인풋 여러 개, 아웃풋 여러개
인풋이 어떻든 간에 노드의 개수만큼 아웃풋이 나옴
인풋값이 어떤 차원의 인풋값이든 간에 덴스에 넣으면 개발자가 정한 아웃풋값이 나옴

오토인코더

encoder
차원을 줄여 나가는 dense 레이어들을 인풋레이어

latent vector
가장 낮은 차원의 벡터를 생성하는 덴즈 레이어

decoder
함축된 latent vector를 덴즈 레이어로 차원을 늘려줌

optimize : 디코더 최종 아웃풋과 실제 인풋 이미지 픽셀 값의 차이를 줄여줌



🌈class

Autoencoder

  • 비지도학습 방식 (or self-supervised learning)
    => 레이블링이 없는 이미지를 스스로 압축하고 복원하면서 특징을 잡아냄

  • 목적 : 이미지를 효과적으로 압축, 데이터 시각화를 위한 차원 축소, 이상치 감소

  • 구조 : 인코더 디코더

    • 인코더 : 차원 축소 => latent
    • 디코더 : 복구
  • 데이터의 핵심 요소를 찾아 요약하고, 요약된 정보를 이용해 다시 재구성해 요약이 잘 됐는지 확인함

    • 이 과정에서 역전파가 이뤄지면서 가중치들이 학습 됨.
    • 잘 학습이 되면 디코더 부분이 필요 없어지고 인코더만 해도 됨
  • 이용

    • 노이즈를 제거 (노이즈가 제거된 데이터의 특징 값을 추출하는 특성값 추출기로 사용할 수 있다.)
      차원을 축소하다 보면 이미지의 특징이 아닌 노이즈는 사라짐
      중요한 의미를 갖는 신호 외의 정보는 제거 됨
    • 이상치 감지
  • 노이즈를 넣으면 > CNN을 강하게 키움 > 똑똑한 애가 계산 잘함

오토인코더는 레이블링 되지 않은 데이터에 사용된다.
인코더로 차원을 줄여서 특성 추출해 특징을 학습한다.
디코더로 차원을 다시 늘려서 잘했는지 확인을 한다.

stacked AE
a. 핵심개념 : 어러 AE 쌓아올림 (블럭처럼)
b. AE의 layer가 너무 깊어지면 학습이 잘 안될 수 있어서 여러개의 AE를 쌓아올린 모델이다.

lattent veriable

  • input data 중 중요한 특징만 남아있는 것
  • image를 대표하는 feature


축소된 latent layer를 softmax에 넣어서 클래스를 나눠서 사용




❗QnA

  1. mnist의 크기가 (28, 28, 1)이란게 mnist의 image 크기가 28x28 pixel이라는 의미일까요?
    A. (가로, 세로, 채널)

  2. 일단은 정상범주 사람의 데이터만 넣고 테스트의 비정상적인 사람을 하는건가요?
    A. 이상치 탐지 > 정상범주 학습 > 테스트 정상, 비정상

  3. 모델에 input_shape를 넣을 때는 실제 이미지의 픽셀과 다른 값을 넣으면 모델이 알아서 크롭해서 사용하게 되나요?
    A. 네 에러가 날 수 있어여 ㅋ

  4. 왜 가중치를 재활용 할까요?

w1, w2, w3, w4
가중치를 다시 학습할 필요가 없어서 파라미터가 줄어들음

  1. 이상치 발견용 오토 인코더
    a. 학습할 때 특징
    i. 정상치를 학습해서
    ii. 이상치가 나오면 loss가 많이 뜨니까 그걸로 판단

  2. mnist로 잘 학습된 ae가 있다면 cifar10을 학습하지 않고 mnist로 학습된 ae에서 인코더로 cifat10을 분류할 수 있나요?
    A. mnist가 편향된 자료긴 한데 잘 학습됐다는 전제가 있다면 가능하다

profile
우연도 실력

0개의 댓글

관련 채용 정보