오토인코더란?
Autoencoder는 어떻게 작동하나요?
Autoencoder는 입력값을 재구성하여 출력합니다. Autoencoder는 인코더와 디코더라는 2개의 더 작은 신경망으로 구성됩니다. 훈련 중에 인코더는 입력 데이터로부터 잠재 표현이라고 하는 일련의 특징을 학습합니다. 이와 동시에 디코더는 그러한 특징을 토대로 데이터를 재구성하도록 훈련됩니다. 그러면 autoencoder는 이전에 본 적이 없는 입력값을 예측하는 데 적용할 수 있습니다. Autoencoder는 일반화가 매우 용이하며 영상, 시계열, 텍스트 등 다양한 데이터형에 사용할 수 있습니다.
어떤 응용 사례에서 autoencoder를 사용하나요?
Autoencoder는 인코더가 훈련될 때 입력값의 모든 잡음을 자연적으로 무시합니다. 이 기능은 입력값과 출력값이 비교될 때 잡음을 제거하거나 이상을 감지하는 데 이상적입니다. (그림 2 및 3 참조)
잠재 표현은 합성 데이터 생성에 사용할 수도 있습니다. 예를 들면 실제 같아 보이는 손글씨나 텍스트 문구를 자동으로 작성할 수 있습니다. (그림 4)
시계열 기반 autoencoder는 신호 데이터의 이상을 감지하는 데 사용할 수도 있습니다. 예를 들어 예측 정비에서는 산업 기계에서 수집한 정상 동작 데이터로 autoencoder를 훈련시킬 수 있습니다. (그림 5)
이렇게 훈련된 autoencoder는 이후에 새로운 수신 데이터로 테스트를 거칩니다. Autoencoder 출력값으로부터의 변동이 크면 이상 동작임을 가리키는 것이며, 이렇게 되면 조사가 필요할 수 있습니다. (그림 6)
요점
- Autoencoder는 비지도 학습이므로 레이블 지정 입력 데이터가 훈련에 불필요합니다.
- Autoencoder에는 다음과 같이 다양한 엔지니어링 작업에 알맞은 다양한 종류가 있습니다.
- 컨벌루션 Autoencoder - 디코더 출력값이 인코더 입력값 모방을 시도하며 잡음 제거에 유용함
- 변분 Autoencoder - 생성적 모델을 만들며, 이상 감지에 유용함
- LSTM Autoencoder - 시계열 응용 사례를 위한 생성적 모델을 만듦
예제 및 방법
소프트웨어 참조
참조: 딥러닝이란?, 장단기 기억 신경망, 컨벌루션 신경망이란?, 이상 감지