오토인코더
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
- 1. 개요
- 2. 역사
- 3. 종류
- 4. 수학적 원리
- 5. 응용
- 5.1. 차원 축소 (Dimensionality Reduction)
- 5.2. 특징 학습 (Feature Learning)
- 5.3. 생성 모델 (Generative Model)
- 5.4. 이상 탐지 (Anomaly Detection)
- 5.5. 정보 검색 (Information Retrieval)
- 5.6. 이미지 처리 (Image Processing)
- 5.7. 신약 개발 (Drug Discovery)
- 5.8. 기계 번역 (Machine Translation)
- 5.9. 검색 엔진 최적화 (Search Engine Optimization, SEO) (영어 문서)
- 참조
1. 개요
오토인코더는 입력 데이터를 잠재 공간으로 인코딩하고 다시 원래 공간으로 디코딩하는 인공 신경망의 한 종류이다. 1980년대에 처음 등장하여, 차원 축소, 특징 학습, 생성 모델링, 이상 탐지, 정보 검색 등 다양한 분야에 응용되고 있다. 오토인코더는 인코더와 디코더로 구성되며, 재구성 오차를 최소화하도록 학습된다. 2000년대 이후 딥러닝 기술의 발전과 함께 다양한 변종이 개발되었으며, 특히 변분 오토인코더, 희소 오토인코더, 잡음 제거 오토인코더, 축소 오토인코더, 스택 오토인코더 등이 널리 사용된다.
더 읽어볼만한 페이지
- 신경망 아키텍처 - 홉필드 네트워크
홉필드 네트워크는 상호 연결된 뉴런으로 구성된 순환 신경망으로, 모든 뉴런이 서로 연결되고 연결 가중치가 대칭적인 특징을 가지며, 연상 메모리로서 입력된 패턴을 가장 가까운 저장된 패턴으로 수렴시키는 방식으로 작동하여 최적화 문제 해결 및 패턴 인식 등에 응용된다. - 신경망 아키텍처 - 알렉스넷
알렉스넷은 2012년 이미지 인식 대회에서 우승하며 딥 러닝과 CNN의 중요성을 알린 모델이며, GPU를 활용하여 학습 속도를 높이고 8개의 층으로 구성되어 컴퓨터 비전과 딥 러닝 연구 발전에 기여했다. - 차원 축소 - 독립 성분 분석
독립 성분 분석(ICA)은 데이터가 통계적으로 독립적인 성분들의 혼합이라는 가정하에, 데이터에서 독립적인 성분들을 찾아내는 통계적 계산 방법으로, 다양한 알고리즘 개발을 거쳐 블라인드 신호 분리, 뇌파 분석, 얼굴 인식 등 여러 분야에 응용된다. - 차원 축소 - 특징 선택
특징 선택은 머신러닝에서 모델 성능 향상과 해석력 증진을 위해 데이터에서 가장 관련성 높은 특징들의 부분 집합을 선택하는 과정으로, 통계적 방법에서 시작하여 필터 방법, 래퍼 방법, 임베디드 방법 등 다양한 알고리즘과 메타휴리스틱 알고리즘을 활용한다. - 기계 학습 - 비지도 학습
비지도 학습은 레이블이 없는 데이터를 통해 패턴을 발견하고 데이터 구조를 파악하는 것을 목표로 하며, 주성분 분석, 군집 분석, 차원 축소 등의 방법을 사용한다. - 기계 학습 - 지도 학습
지도 학습은 레이블된 데이터를 사용하여 입력 데이터와 출력 레이블 간의 관계를 학습하는 기계 학습 분야로, 예측 모델 생성, 알고리즘 선택, 모델 최적화, 정확도 평가 단계를 거치며, 회귀 및 분류 문제에 적용되고 다양한 확장 기법과 성능 평가 방법을 활용한다.
오토인코더 | |
---|---|
개요 | |
![]() | |
종류 | 인공신경망 |
학습 방법 | 비지도 학습 |
목적 | 효율적인 데이터 인코딩 학습 |
상세 내용 | |
구성 요소 | 인코더 디코더 |
특징 | 데이터의 차원 축소 특징 추출 생성 모델링 |
활용 분야 | 이미지 처리 자연어 처리 추천 시스템 |
변형 모델 | 변분 오토인코더(VAE) 잡음 제거 오토인코더(DAE) 희소 오토인코더(SAE) |
관련 연구 | 표현 학습 심층 학습 신경망 압축 |
2. 역사
오토인코더는 1980년대부터 'autoassociator',[72] 'Diabolo network' 등의 이름으로 불리며 연구되기 시작했다.[73] 초기에는 주로 차원 축소나 특징 학습에 응용되었으나, 점차 데이터의 생성모델을 학습하는 데에도 널리 사용되었다.[77][78]
1980년대 인공신경망 연구가 활발해지면서, 1986년에는 신경망을 "자동 연관 모드"로 설정하는 방법이 제안되었다.[23] 이는 음성 및 이미지 처리에 적용되었다.[24][25][26][38]
2000년대 중반, 제프리 힌턴(Geoffrey Hinton) 교수가 딥러닝(Deep Learning) 기술을 통해 심층 오토인코더 학습 방법을 제안하면서 성능이 크게 향상되었다.[27] 2010년대에는 변분 오토인코더(VAE) 등 다양한 변형 모델이 등장하며 생성 모델 분야에서 중요한 역할을 하고 있다. Stable Diffusion의 VAE, DALL-E 1과 같은 트랜스포머 기반 이미지 생성기의 이산 VAE 등 더 큰 AI 시스템의 구성 요소로 오토인코더 모듈이 사용되기도 했다.
2. 1. 초기 역사 (1980년대 ~ 2000년대 초)
오토인코더는 'autoassociator'[72] 또는 'Diabolo network'라고도 불렸다.[73] 오토인코더는 1980년대에 처음 응용되었다.[71][74][75][76] 초기에는 차원 축소나 특징 학습에 주로 사용되었으나, 데이터의 학습 생성모델에도 널리 사용되었다.[77][78] 2010년대 개발된 가장 강력한 인공지능 중 일부는 심층 인공신경망 안에 오토인코더를 포함하고 있다.[79](Oja, 1982)는[21] PCA가 항등 활성화 함수를 가진 하나의 은닉층을 가진 신경망과 동일하다고 언급했다. 오토인코딩에서 입력-은닉 모듈은 인코더이고, 은닉-출력 모듈은 디코더이다. 이후 (Baldi and Hornik, 1989)[22]와 (Kramer, 1991)[7]는 PCA를 오토인코더로 일반화하여 "비선형 PCA"라고 명명했다.
1986년에는[23] 신경망을 "자동 연관 모드"로 설정하는 것이 제안되었다. 이는 (Harrison, 1987)[24]과 (Elman, Zipser, 1988)[25]에서 음성에 대해, (Cottrell, Munro, Zipser, 1987)[26]에서는 이미지에 대해 구현되었다.[38] (Hinton, Salakhutdinov, 2006)에서는[27] 심층 신뢰 신경망이 개발되었다. 이들은 제한된 볼츠만 머신 쌍을 인코더-디코더 쌍으로 훈련시킨 다음, 첫 번째 쌍의 잠재 표현에 대해 다른 쌍을 훈련시키는 방식으로 진행했다.[28]
오토인코더의 첫 번째 적용은 1990년대 초로 거슬러 올라간다.[35][29][16] 초기에는 차원 축소 또는 특징 학습에 주로 응용되었지만, 이 개념은 데이터의 생성 모델을 학습하는 데 널리 사용되었다.[30][31]
초창기에는 용어가 불확실했기 때문에 오토인코더는 항등 매핑,[32][7] 자동 연관,[33] 자기 지도 역전파,[7] 또는 Diabolo 네트워크라고도 불렸다.[34][8]
2. 2. 딥러닝 기반 발전 (2000년대 중반 ~ 현재)
2006년, 제프리 힌턴 교수는 제한된 볼츠만 머신(Restricted Boltzmann Machine, RBM)을 이용한 심층 오토인코더 학습 방법을 제안하여 성능을 크게 향상시켰다.[27] 이 방법은 제한된 볼츠만 머신 쌍을 인코더-디코더 쌍으로 훈련시킨 다음, 첫 번째 쌍의 잠재 표현에 대해 다른 쌍을 훈련시키는 방식으로 진행되었다.[28] 2010년대 이후, 변분 오토인코더(VAE), 잡음 제거 오토인코더(Denoising Autoencoder, DAE) 등 다양한 변형 모델이 등장하면서 활용 분야가 넓어졌다.[79] Stable Diffusion의 VAE, DALL-E 1과 같은 트랜스포머 기반 이미지 생성기의 이산 VAE 등 더 큰 AI 시스템의 구성 요소로 오토인코더 모듈이 사용되기도 했다.3. 종류
오토인코더는 다양한 변형 모델이 존재하며, 각각 다른 특징과 목적을 가지고 있다. 다음은 그 예시이다.
- 변분 오토인코더 (VAE): 변분 베이즈 방법을 이용한 오토인코더이다.[7]
- 축소 오토인코더 (Contractive AutoEncoder)
- 포화 오토인코더 (Saturating AutoEncoder)
- 비모수적 유도 오토인코더 (Nonparametrically Guided AutoEncoder)
- 펼침 재귀 오토인코더 (Unfolding Recursive AutoEncoder)
3. 1. 기본 오토인코더
오토인코더는 입력 데이터를 압축하여 저차원 표현(잠재 표현)으로 만들고, 이를 다시 원래 데이터로 복원하는 가장 기본적인 형태이다. 오토인코더는 인코더와 디코더 두 부분으로 구성되는데, 인코더는 입력 데이터를 저차원의 잠재 표현으로 압축하고, 디코더는 이 잠재 표현을 다시 원래의 입력 데이터로 복원한다.[7][18]일반적으로 인코더와 디코더는 다층 퍼셉트론(MLP)으로 구성된다. 예를 들어 1계층 MLP 인코더는 다음과 같이 표현할 수 있다.
:
여기서 는 활성 함수, 는 가중치 행렬, 는 편향 벡터이다.
오토인코더의 목표는 입력 데이터와 출력 데이터 간의 차이, 즉 재구성 오차를 최소화하는 것이다. 이를 위해 손실 함수를 정의하고, 경사 하강법과 같은 최적화 기법을 사용하여 손실 함수를 최소화하는 인코더와 디코더의 파라미터를 찾는다.
대부분의 경우, 입력 데이터는 데이터 집합으로 주어지며, 재구성 품질 함수로는 L2 손실, 즉 유클리드 노름의 제곱을 사용한다. 그러면 최적 오토인코더를 찾는 문제는 최소 제곱법 최적화 문제가 된다.
:
오토인코더는 코드 공간의 차원이 입력 데이터의 차원보다 작은 "부족한(undercomplete)" 오토인코더 형태로 설계된다. 이를 통해 오토인코더는 입력 데이터를 압축하거나 차원 축소하는 효과를 얻을 수 있다.[7][18]
코드 공간의 차원이 입력 공간보다 크거나 같은 경우("과다한(overcomplete)" 오토인코더) 또는 은닉 유닛에 충분한 용량이 주어지면 오토인코더는 항등 함수를 학습하여 쓸모없게 될 수 있다. 그러나 실험 결과에 따르면 과다한 오토인코더도 유용한 특징을 학습할 수 있다.[8]
3. 2. 변분 오토인코더 (Variational Autoencoder, VAE)
변분 오토인코더는 변분 베이즈 방법의 일종이다. 기본적인 오토인코더와 구조적으로 유사하지만, VAE는 다른 목표를 가지고 설계되었으며, 수학적 공식도 다르다. 이 경우 잠재 공간은 고정된 벡터가 아닌 분포의 혼합으로 구성된다.
알 수 없는 확률 함수 와 다변량 잠재 인코딩 벡터 로 특징지어지는 입력 데이터셋 가 주어졌을 때, 목표는 데이터를 가 되도록 네트워크 매개변수 집합 로 정의된 분포 로 모델링하는 것이다.
3. 3. 희소 오토인코더 (Sparse Autoencoder, SAE)
신경과학의 희소 코딩 가설에서 영감을 받은 희소 오토인코더(SAE)는 오토인코더의 한 종류로, 코드 가 희소 코드가 되도록, 즉 대부분의 항목에서 0에 가깝도록 만든다. 희소 오토인코더는 입력보다 더 많은 은닉 유닛을 포함할 수 있지만, 동시에 활성화될 수 있는 은닉 유닛의 수는 적다.[9] 희소성을 장려하면 분류 작업의 성능이 향상된다.[10]
희소성을 강제하는 주요 방법은 두 가지가 있다.
- k-희소 오토인코더: 잠재 코드에서 가장 큰 k개 활성화를 제외한 모든 활성화를 0으로 고정한다.[10]
- k-희소 오토인코더는 표준 오토인코더의 잠재 레이어에 "k-희소 함수"를 삽입하여 구현한다.
- k-희소 함수: (은 가 상위 k개에 속하는 경우, 그렇지 않으면 0)
- 역전파는 인 항목의 기울기를 0으로 설정하고, 인 항목의 기울기를 유지하는 방식으로 이루어진다. 이는 ReLU 함수의 일반화된 형태이다.[10]
- 희소성 정규화: k-희소 오토인코더의 완화된 버전으로, 희소성을 강제하는 대신 희소성 정규화 손실을 추가하여 최적화한다.[11]
- 최적화 식: (은 희소성 강제 정도)
희소성 정규화 손실을 정의하기 위해서는 각 레이어에 대한 "원하는" 희소성 , 각 희소성을 얼마나 강제할 것인지에 대한 가중치 , 두 희소성의 차이를 측정하는 함수 가 필요하다.
각 입력 에 대해, 각 레이어 에서 활성화의 실제 희소성은 다음과 같이 계산된다.
(는 입력 에 대한 번째 레이어의 번째 뉴런의 활성화)
하나의 레이어에 대한 입력 에 대한 희소성 손실은 이고, 전체 오토인코더에 대한 희소성 정규화 손실은 희소성 손실의 가중 평균 합계이다.
일반적으로 함수 는 쿨백-라이블러 (KL) 발산,[10][11][12][13] L1 손실, L2 손실 등이 사용된다.
- (쿨백-라이블러 발산)
- (L1 손실)
- (L2 손실)
또는, 희소성 정규화 손실은 "원하는 희소성"에 대한 언급 없이 가능한 한 많은 희소성을 강제하도록 정의될 수 있다.
(는 오토인코더의 번째 레이어의 활성화 벡터, 은 L1 노름 또는 L2 노름)
희소 오토인코더(sparse autoencoder영어)는 피드포워드 신경망 학습에서 일반화 능력을 향상시키기 위해 정규화 항을 추가한 오토인코더이다. 단, 네트워크의 가중치가 아닌 중간층의 값을 0에 가깝게 만든다.
3. 4. 잡음 제거 오토인코더 (Denoising Autoencoder, DAE)

'''디노이징 오토인코더'''(DAE)는 "좋은" 표현을 얻기 위해 ''재구성 기준''을 변경하여 학습하는 방식이다.[35][15]
DAE는 원래 Mark A. Kramer에 의해 "강력한 자동 연관 네트워크"라고 불렸으며,[14] 훈련 과정에서 표준 오토인코더의 입력에 의도적으로 잡음(noise)을 추가하여 훈련한다. 잡음 과정은 확률 분포 로 정의되며, 이는 함수 에 적용된다. 즉, 함수 는 메시지 를 받아 잡음이 섞인 버전 로 만든다. 함수 는 확률 분포 를 사용하여 무작위로 선택된다.
작업 가 주어졌을 때, DAE를 훈련시키는 문제는 최적화 문제이다: 즉, 최적의 DAE는 잡음이 섞인 메시지를 받아 원래 메시지를 복구하려고 시도해야 하며, 따라서 "디노이징"이라는 이름이 붙었다.
일반적으로 잡음 과정 는 훈련 및 테스트 중에만 적용되며, 실제 사용 중에는 적용되지 않는다.
DAE의 사용은 두 가지 가정을 따른다.
잡음 과정의 예는 다음과 같다.
- 가산 등방성 가우시안 잡음
- 마스킹 잡음 (입력의 일부가 무작위로 선택되어 0으로 설정됨)
- 염후추 잡음 (입력의 일부가 무작위로 선택되어 무작위로 최소값 또는 최대값으로 설정됨).[15]
DAE는 입력층 데이터에 노이즈를 추가하여 학습시킨 것이다. 제약이 있는 볼츠만 머신과 결과가 거의 일치한다. 노이즈는 확률 분포가 알려져 있다면 이에 따르는 것이 좋지만, 알려져 있지 않은 경우에는 균등 분포를 사용해도 좋다.
3. 5. 축소 오토인코더 (Contractive Autoencoder, CAE)
'''축소 오토인코더'''(Contractive Autoencoder, CAE)는 표준 오토인코더 손실에 수축 정규화 손실을 추가한 모델이다. 수식은 다음과 같다.:
여기서 는 얼마나 많은 수축성을 적용할 것인지를 나타낸다. 수축 정규화 손실은 입력에 대한 인코더 활성화의 프로베니우스 노름 야코비 행렬의 기댓값으로 정의된다.
:
가 측정하는 것은 다음과 같다.
:
모든 메시지 와 그 안의 작은 변화 에 대해, 가 작으면 메시지의 작은 인접 영역이 코드의 작은 인접 영역으로 매핑됨을 의미한다. 이는 두 그림이 정확히 동일하지 않더라도 동일하게 보일 수 있는 방식과 같이 메시지의 작은 변화가 코드의 작거나 심지어 0의 변화로 이어짐을 의미하므로 바람직한 속성이다.
DAE는 CAE의 무한소 한계로 이해할 수 있다. 작은 가우스 입력 노이즈의 한계에서 DAE는 재구성 함수가 작지만 유한 크기의 입력 섭동에 저항하게 하고, CAE는 추출된 특징이 무한소 입력 섭동에 저항하게 한다.
3. 6. 스택 오토인코더 (Stacked Autoencoder)

역전파에서는 일반적으로 중간층이 2층 이상인 경우, 극소해로 수렴해 버린다. 그래서 중간층 1층만으로 오토인코더를 만들어서 학습시킨다. 다음으로, 중간층을 입력층으로 간주하여 또 다른 층을 쌓는다. 이를 반복하여 다층화된 오토인코더를 만드는 방법을 스택 오토인코더라고 한다.
4. 수학적 원리
오토인코더는 인코더와 디코더라는 두 부분으로 구성된다. 인코더는 입력 데이터 를 저차원의 잠재 변수 로 압축하고, 디코더는 이 잠재 변수 를 다시 원래 데이터 으로 복원한다. 오토인코더의 목표는 입력 데이터와 복원된 데이터 간의 차이, 즉 재구성 오차(reconstruction error)를 최소화하는 것이다.[7][18]
오토인코더의 "품질"을 평가하기 위해 "작업"이 필요하다. 작업은 기준 확률 분포 와 재구성 품질 함수 로 정의된다. 는 이 와 얼마나 다른지 측정한다. 오토인코더의 손실 함수는 다음과 같다.
:
주어진 작업 에 대한 "최적" 오토인코더는 이다. 최적 오토인코더는 일반적으로 경사 하강법을 사용하여 찾으며, 이 과정을 "오토인코더 훈련"이라고 한다.
대부분 기준 분포는 데이터 세트 로 주어진 경험적 분포이며, 다음과 같다.
:
여기서 는 디랙 델타 함수이다. 품질 함수는 L2 손실, 즉 이며, 는 유클리드 노름이다. 그러면 최적 오토인코더를 찾는 문제는 최소 제곱 최적화가 된다.
:
오토인코더는 3층 인공 신경망에서 입력층과 출력층에 동일한 데이터를 사용하여 비지도 학습을 시킨 것이다. 교사 데이터가 실수 값이고 값 영역이 없는 경우, 출력층의 활성화 함수는 항등 함수(선형 변환)가 선택되는 경우가 많다. 중간층의 활성화 함수도 항등 함수를 선택하면 결과는 주성분 분석과 거의 일치한다. 실용적으로는 입력과 출력의 차이를 구하여 이상 감지에 이용된다.
오토인코더 네트워크 는 인코더 네트워크 와 디코더 네트워크 로 구성된다. 결정론적 해석에서 AE는 "재구성된 입력"을 직접 출력한다. 즉, 이다.
4. 1. 정의
오토인코더는 다음 요소들로 구성된다.- 두 개의 집합:
- 디코딩된 메시지 공간
- 인코딩된 메시지 공간
- 일반적으로 와 는 유클리드 공간이며, 이고 이다.
- 두 개의 파라미터화된 함수 집합:
- 인코더 집합 는 로 파라미터화된다.
- 디코더 집합 는 로 파라미터화된다.
모든 에 대해, 로 표현하며, 이를 코드, 잠재 변수, 잠재 표현, 잠재 벡터 등으로 부른다. 모든 에 대해, 로 표현하며, 이를 (디코딩된) 메시지로 부른다.
일반적으로 인코더와 디코더는 모두 다층 퍼셉트론(MLP)으로 정의된다. 1계층 MLP 인코더 는 다음과 같다.
:
여기서 는 요소별 활성 함수이고, 는 "가중치" 행렬이며, 는 "편향" 벡터이다.

오토인코더는 종종 단일 층 인코더와 단일 층 디코더로 훈련되지만, 다층(심층) 인코더와 디코더를 사용하는 것은 많은 장점을 제공한다.[35]
오토인코더 네트워크 는 인코더 네트워크 와 디코더 네트워크 로 구성된다. 결정론적 해석에서 AE는 "재구성된 입력"을 직접 출력한다. 즉, 이다.
4. 2. 학습
오토인코더는 주어진 "작업"에 대해 "최적"의 오토인코더를 찾는 방식으로 학습된다. 이 작업은 기준 확률 분포 와 재구성 품질 함수 로 정의된다. 는 이 와 얼마나 다른지를 측정한다.오토인코더의 손실 함수는 다음과 같이 정의된다.
:
주어진 작업 에 대한 "최적" 오토인코더는 이다.
일반적으로 최적 오토인코더를 찾기 위해 경사 하강법을 사용한다. 이 과정을 "오토인코더 훈련"이라고 한다.
대부분의 경우, 기준 분포는 데이터 세트 로 주어진 경험적 분포이며, 다음과 같다.
:
여기서 는 디랙 델타 함수이다. 품질 함수는 L2 손실이다: , 는 유클리드 노름이다. 그러면 최적 오토인코더를 검색하는 문제는 최소 제곱 최적화가 된다.
:
제프리 힌턴은 다층 심층 오토인코더를 훈련하기 위해 심층 신뢰 네트워크 기술을 개발했다. 그의 방법은 인접한 두 레이어 집합을 각각 제한된 볼츠만 머신으로 취급하여 사전 훈련이 좋은 해법에 근사하도록 한 다음, 역전파를 사용하여 결과를 미세 조정하는 것을 포함한다.[18]
심층 오토인코더에서 전체 아키텍처를 함께 훈련하는 공동 훈련이 더 나은지에 대한 연구자들의 논쟁이 있었다.[19] 2015년 연구에 따르면 공동 훈련은 계층별 방법에 비해 더 나은 데이터 모델과 더 대표적인 분류 기능을 학습하는 것으로 나타났다.[19] 그러나 실험 결과에 따르면 공동 훈련의 성공은 채택된 정규화 전략에 크게 의존한다.[19][20]
4. 3. 확률론적 해석 (일본어 문서)
오토인코더(AE)는 잠재 변수를 가진 심층 잠재 변수 모델로 해석될 수 있다. 오토인코더 네트워크 는 인코더 네트워크 와 디코더 네트워크 로 구성된다.[67][68]확률론적 관점에서 AE는 다음과 같이 정식화할 수 있다.
:
5. 응용
오토인코더는 차원 축소와 정보 검색이라는 두 가지 주요 응용 분야를 가지고 있지만,[71] 현대에는 다양한 분야에서 활용되고 있다.
- 차원 축소: 데이터의 중요한 특징을 유지하면서 데이터의 크기를 줄이는 데 사용된다.
- 정보 검색: 관련 정보를 더 빠르고 효율적으로 찾을 수 있도록 돕는다.[71]
- 이상 감지: 일반적인 데이터와 다른 이상치를 탐지하는 데 사용된다.[14][41][42][43][44][45]
- 이미지 처리: 이미지 압축, 이미지 잡음 제거, 초해상도 등의 작업에 활용된다.[48]
- 신약 개발: 새로운 약물 후보 물질을 발굴하는 데 사용된다.[58][59]
- 기계 번역: 한 언어에서 다른 언어로 텍스트를 번역하는 데 사용된다.[61][62]
5. 1. 차원 축소 (Dimensionality Reduction)
오토인코더의 가장 전통적인 응용 사례는 차원 축소 또는 특징 학습이다.[77][78]
2006년 Hinton의 연구에서는[18] 여러 층의 오토인코더를 RBM 스택으로 사전 훈련한 다음, 그 가중치를 사용하여 점진적으로 작은 은닉층을 가진 딥 오토인코더를 초기화하여 30개 뉴런의 병목 현상에 도달했다. 그 결과 30차원 코드는 주성분 분석(PCA)의 처음 30개 구성 요소에 비해 더 작은 재구성 오류를 나타냈으며, 데이터 클러스터를 명확하게 분리하여 정성적으로 해석하기 쉬운 표현을 학습했다.[35][18]
차원 표현은 분류와 같은 작업의 성능을 향상시킬 수 있다.[35] 실제로 차원 축소의 특징은 의미적으로 관련된 예제를 서로 가깝게 배치하는 것이다.[37]

선형 활성화를 사용하거나 단일 시그모이드 은닉층만 사용하는 경우, 오토인코더의 최적 솔루션은 주성분 분석(PCA)과 밀접한 관련이 있다.[38][39] 크기가 인 단일 은닉층(여기서 는 입력 크기보다 작음)을 가진 오토인코더의 가중치는 처음 개의 주성분에 의해 span되는 것과 동일한 벡터 부분 공간을 span하며, 오토인코더의 출력은 이 부분 공간에 대한 직교 투영이다. 오토인코더 가중치는 주성분과 같지 않으며 일반적으로 직교하지 않지만, 특이값 분해를 사용하여 주성분을 복구할 수 있다.[40]
그러나 오토인코더의 잠재력은 비선형성에 있으며, 이를 통해 모델은 PCA에 비해 더 강력한 일반화를 학습하고, 정보 손실을 상당히 줄여 입력을 재구성할 수 있다.[18]
오토인코더는 중간층의 차원 수 이 입출력층의 차원 수 보다 작도록 제약되어 있다. 왜냐하면 의 경우, 오토인코더는 항등 변환만으로 재구성 오차를 0으로 만들수 있기 때문이다.[65]
오토인코더는 차원 축소를 실현하지만, 이것이 좋은 표현 학습을 반드시 의미하지는 않는다.[66] 을 작게 함으로써 입력 중 정보량이 많은 (더 적은 양으로 이미지를 재구성할 수 있는) 특징만이 저장될 것으로 기대되지만, 이것이 특징량으로서 우수하다고 단정할 수는 없다.
5. 2. 특징 학습 (Feature Learning)
오토인코더는 데이터의 차원 축소나 특징 학습에 주로 사용되지만, 생성 모델 학습 등 다양한 분야에도 활용된다.[77][78] 1980년대부터 연구된 오토인코더는[71][74][75][76] 2010년대 딥러닝 인공신경망의 핵심 구성 요소로 자리 잡았다.[79]힌턴(Hinton)의 2006년 연구에서는[18] 여러 층의 오토인코더를 RBM 스택으로 사전 훈련하는 방식으로 30차원의 코드를 얻었다. 이 코드는 주성분 분석(PCA)의 처음 30개 구성 요소보다 더 작은 재구성 오류를 보였으며, 데이터 클러스터를 명확하게 구분하여 해석하기 쉬운 표현을 학습했다.[35][18]
차원 표현은 분류와 같은 작업의 성능을 향상시킬 수 있으며,[35] 의미적으로 관련된 예제를 서로 가깝게 배치하는 특징을 가진다.[37] 정보 검색 분야에서는 저차원 공간에서 검색 효율성을 높이는 데 활용된다.[37] 2007년 러스 살라흐트디노프와 힌턴은 의미론적 해싱에 오토인코더를 적용하여 저차원 이진 코드를 생성하고, 이를 해시 테이블에 저장하여 정보 검색을 지원하는 방법을 제안했다.[37]
오토인코더는 중간층의 차원 수를 입출력층보다 작게 제한하여 차원 축소를 수행한다.[65] 그러나 이러한 차원 축소가 반드시 좋은 표현 학습을 의미하는 것은 아니다.[66] 입력 중 정보량이 많은 특징만이 저장될 것으로 기대되지만, 이것이 특징량으로서 우수하다고 단정할 수는 없다.
5. 3. 생성 모델 (Generative Model)
오토인코더의 변형 모델을 사용하여 훈련 데이터와 유사한 새로운 데이터를 생성할 수 있다. VAE 등이 이러한 생성 모델에 해당하며, 이미지 생성, 음성 합성, 텍스트 생성 등 다양한 분야에서 활용되고 있다.[71]5. 4. 이상 탐지 (Anomaly Detection)
오토인코더는 이상 감지에 활용된다.[14][41][42][43][44][45] 훈련 데이터의 가장 두드러진 특징을 복제하도록 학습함으로써, 모델은 가장 자주 관찰되는 특성을 정확하게 재현하도록 학습하게 된다. 이상치에 직면했을 때 모델의 재구성 성능은 악화된다. 대부분 정상적인 인스턴스만 있는 데이터로 오토인코더를 훈련한다. 또는 이상치의 빈도가 관찰 집합에 비해 작아서 학습된 표현에 대한 기여를 무시할 수 있는 경우도 있다. 훈련 후, 오토인코더는 "정상" 데이터는 정확하게 재구성하지만, 익숙하지 않은 이상 데이터는 재구성하지 못한다.[43] 재구성 오류(원본 데이터와 저차원 재구성 간의 오류)는 이상치를 감지하기 위한 이상 점수로 사용된다.[43]그러나 최근 문헌에 따르면 특정 오토인코딩 모델이 직관에 반하여 이상 예제를 재구성하는 데 매우 능숙하여, 결과적으로 이상 감지를 신뢰할 수 없다는 것이 밝혀졌다.[46][47]
오토인코더는 3층 인공 신경망에서 입력층과 출력층에 동일한 데이터를 사용하여 비지도 학습을 시킨 것이다. 교사 데이터가 실수 값이고 값 영역이 없는 경우, 출력층의 활성화 함수는 항등 함수(즉, 출력층은 선형 변환)가 선택되는 경우가 많다. 중간층의 활성화 함수도 항등 함수를 선택하면 결과는 주성분 분석과 거의 일치한다. 실용적으로는 입력과 출력의 차이를 이상 감지에 이용한다.
입력층 데이터에 노이즈를 추가하여 학습시킨 오토인코더는 제약이 있는 볼츠만 머신과 결과가 거의 일치한다. 노이즈는 확률 분포가 알려져 있다면 이에 따르는 것이 좋지만, 알려져 있지 않은 경우에는 균등 분포를 사용해도 좋다.
5. 5. 정보 검색 (Information Retrieval)
오토인코더는 정보 검색 분야에서 주로 활용된다.[71]힌턴(Hinton)의 2006년 연구에서는 여러 층의 오토인코더를 RBM 스택으로 사전 훈련한 뒤, 그 가중치를 사용하여 점진적으로 작은 은닉층을 가진 딥 오토인코더를 초기화하여 30개 뉴런의 병목 현상을 만들었다. 그 결과, 30차원 코드는 주성분 분석(PCA)의 처음 30개 구성 요소보다 더 작은 재구성 오류를 나타냈으며, 데이터 클러스터를 명확하게 분리하여 해석하기 쉬운 표현을 학습했다.[35][18]
차원 표현은 의미적으로 관련된 예제를 서로 가깝게 배치하는 특징이 있어,[37] 분류와 같은 작업의 성능을 향상시킬 수 있다.[35]
5. 6. 이미지 처리 (Image Processing)
오토인코더는 이미지 처리에 유용하게 활용된다.[48]예를 들어, 오토인코더는 JPEG 2000에 필적하는 성능을 보이는 손실 이미지 압축 분야에서 다른 접근 방식을 능가하는 성능을 보여주었다.[49]
또한, 오토인코더는 이미지 전처리 과정에서 이미지 잡음 제거에 유용하게 사용된다.[50][51][52]
오토인코더는 의료 영상과 같이 더 까다로운 환경에서도 사용되는데, 이미지 잡음 제거[53] 및 초해상도[54][55] 기술에 활용된다. 이미지 지원 진단 분야에서 오토인코더는 유방암 감지[56], 알츠하이머병의 인지 기능 저하와 MRI로 훈련된 오토인코더의 잠재적 특징 간의 관계를 모델링하는 데 적용되었다.[57] 오토인코더는 입력층 데이터에 노이즈를 추가하여 학습시키는데, 이는 제약이 있는 볼츠만 머신의 결과와 거의 일치한다. 노이즈는 확률 분포가 알려져 있다면 그에 따르는 것이 좋지만, 알려져 있지 않은 경우에는 균등 분포를 사용해도 좋다.
5. 7. 신약 개발 (Drug Discovery)
[36] 2019년에는 변이형 오토인코더로 생성된 분자가 쥐 실험에서 검증되었다.[58][59]5. 8. 기계 번역 (Machine Translation)
오토인코더는 신경망 기계 번역(NMT)이라고 불리는 기계 번역에 적용되어 왔다.[61][62] 전통적인 오토인코더와는 다르게, 출력은 입력과 일치하지 않으며 다른 언어로 되어 있다. NMT에서 텍스트는 학습 절차로 인코딩될 시퀀스로 처리되며, 디코더 측에서는 대상 언어의 시퀀스가 생성된다. 언어별 오토인코더는 중국어 분해 기능과 같은 추가적인 언어학적 특징을 학습 절차에 통합한다.[63] 더 효과적인 트랜스포머 네트워크를 사용할 수 있게 되면서, 기계 번역은 오토인코더로 수행되는 경우가 드물어졌다.5. 9. 검색 엔진 최적화 (Search Engine Optimization, SEO) (영어 문서)
오토인코더는 차원 축소를 통해 데이터의 특징을 추출하고, 이를 바탕으로 검색 엔진 최적화(SEO)에 필요한 텍스트 처리, 노이즈 감소, 메타 태그 생성 등 다양한 작업에 활용될 수 있다. 2006년 힌턴(Hinton)의 연구[18]에서는 여러 층의 오토인코더를 RBM 스택으로 사전 훈련한 후, 그 가중치를 사용하여 딥 오토인코더를 초기화하는 방식으로 30차원 코드를 생성했다. 이 코드는 주성분 분석(PCA)의 처음 30개 구성 요소보다 더 작은 재구성 오류를 보였으며, 데이터 클러스터를 명확하게 분리하여 해석하기 쉬운 표현을 학습했다.[35][18]차원 표현은 의미적으로 관련된 예제를 서로 가깝게 배치하는 특징을 가지므로,[37] 분류와 같은 작업의 성능을 향상시킬 수 있다.[35]
참조
[1]
서적
Machine learning for data science handbook
[2]
간행물
An Introduction to Variational Autoencoders
2019
[3]
논문
Transforming auto-encoders
http://www.cs.toront[...]
Springer, Berlin, Heidelberg
2011-06-14
[4]
서적
Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow
O’Reilly Media, Inc.
[5]
간행물
Modeling word perception using the Elman network
http://ntur.lib.ntu.[...]
2008
[6]
간행물
Autoencoder for words
2014
[7]
간행물
Nonlinear principal component analysis using autoassociative neural networks
https://www.research[...]
1991
[8]
간행물
Learning Deep Architectures for AI
http://www.iro.umont[...]
2009
[9]
서적
The Master Algorithm: How the Quest for the Ultimate Learning Machine Will Remake Our World
Basic Books
2015
[10]
arXiv
K-Sparse Autoencoders
2013
[11]
문서
Sparse autoencoder
https://web.stanford[...]
2011
[12]
간행물
3D Object Recognition with Deep Belief Nets
http://dl.acm.org/ci[...]
Curran Associates Inc.
2009
[13]
간행물
Facial expression recognition via learning deep sparse autoencoders
2018-01-17
[14]
간행물
Autoassociative neural networks
https://dx.doi.org/1[...]
1992-04-01
[15]
간행물
Stacked Denoising Autoencoders: Learning Useful Representations in a Deep Network with a Local Denoising Criterion
2010
[16]
간행물
Autoencoders, Minimum Description Length and Helmholtz Free Energy
https://proceedings.[...]
Morgan-Kaufmann
1993
[17]
arXiv
Concrete Autoencoders for Differentiable Feature Selection and Reconstruction
2019-01-27
[18]
간행물
Reducing the Dimensionality of Data with Neural Networks
2006-07-28
[19]
arXiv
Is Joint Training Better for Deep Auto-Encoders?
2014
[20]
문서
Deep Boltzmann machines
2009
[21]
간행물
Simplified neuron model as a principal component analyzer
https://link.springe[...]
1982-11-01
[22]
간행물
Neural networks and principal component analysis: Learning from examples without local minima
https://www.scienced[...]
1989-01-01
[23]
서적
Parallel Distributed Processing: Explorations in the Microstructure of Cognition: Foundations
https://direct.mit.e[...]
The MIT Press
1986
[24]
문서
A Connectionist framework for continuous speech recognition
Cambridge University Ph. D. dissertation
1987
[25]
간행물
Learning the hidden structure of speech
https://pubs.aip.org[...]
1988-04-01
[26]
간행물
Learning Internal Representation From Gray-Scale Images: An Example of Extensional Programming
https://escholarship[...]
1987
[27]
간행물
Reducing the Dimensionality of Data with Neural Networks
2006-07-28
[28]
간행물
Deep belief networks
[29]
간행물
Deep learning in neural networks: An overview
2015-01
[30]
arXiv
Auto-Encoding Variational Bayes
2013
[31]
url
Generating Faces with Torch
http://torch.ch/blog[...]
2015
[32]
간행물
Neural networks and principal component analysis: Learning from examples without local minima
https://www.scienced[...]
1989-01-01
[33]
간행물
A learning algorithm for boltzmann machines
http://doi.wiley.com[...]
1985-03
[34]
간행물
Training Methods for Adaptive Boosting of Neural Networks
https://proceedings.[...]
MIT Press
1997
[35]
서적
Deep Learning
http://www.deeplearn[...]
MIT Press
2016
[36]
웹사이트
Fashion MNIST
https://github.com/z[...]
2019-07-12
[37]
논문
Semantic hashing
2009-07-01
[38]
논문
Auto-association by multilayer perceptrons and singular value decomposition
http://infoscience.e[...]
1988
[39]
서적
Proceedings of the 5th ACM Conference on Bioinformatics, Computational Biology, and Health Informatics - BCB '14
http://dl.acm.org/ci[...]
2014
[40]
arXiv
From Principal Subspaces to Principal Components with Linear Autoencoders
2018
[41]
서적
2019 IEEE International Conference on Industrial Engineering and Engineering Management (IEEM)
IEEE
2019-12
[42]
서적
Proceedings of the MLSDA 2014 2nd Workshop on Machine Learning for Sensory Data Analysis
ACM Press
2014-12
[43]
문서
Variational Autoencoder based Anomaly Detection using Reconstruction Probability
http://dm.snu.ac.kr/[...]
2015
[44]
서적
Proceedings of the 23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining
ACM
2017-08-04
[45]
논문
A study of deep convolutional auto-encoders for anomaly detection in videos
2018
[46]
arXiv
Do Deep Generative Models Know What They Don't Know?
2019-02-24
[47]
논문
Likelihood Regret: An Out-of-Distribution Detection Score For Variational Auto-encoder
https://proceedings.[...]
2020
[48]
arXiv
Lossy Image Compression with Compressive Autoencoders
2017
[49]
서적
International Conference on Learning Representations
2017-04
[50]
문서
Simple sparsification improves sparse denoising autoencoders in denoising highly corrupted images
2013-02
[51]
arXiv
Boltzmann Machines and Denoising Autoencoders for Image Denoising
2013
[52]
논문
A Review of Image Denoising Algorithms, with a New One
https://hal.archives[...]
2005
[53]
서적
2016 IEEE 16th International Conference on Data Mining Workshops (ICDMW)
IEEE
2016-12
[54]
논문
Coupled Deep Autoencoder for Single Image Super-Resolution
2017-01
[55]
서적
2017 IEEE 14th International Symposium on Biomedical Imaging (ISBI 2017)
2017
[56]
논문
Stacked Sparse Autoencoder (SSAE) for Nuclei Detection on Breast Cancer Histopathology Images
2016-01
[57]
논문
Studying the Manifold Structure of Alzheimer's Disease: A Deep Learning Approach Using Convolutional Autoencoders
2020
[58]
논문
Deep learning enables rapid identification of potent DDR1 kinase inhibitors
2019
[59]
간행물
A Molecule Designed By AI Exhibits 'Druglike' Qualities
https://www.wired.co[...]
[60]
서적
2017 2nd IEEE International Conference on Communication Systems, Computing and IT Applications (CSCITA)
2017
[61]
arXiv
On the Properties of Neural Machine Translation: Encoder-Decoder Approaches
2014
[62]
arXiv
Sequence to Sequence Learning with Neural Networks
2014
[63]
arXiv
Incorporating Chinese Radicals into Neural Machine Translation: Deeper Than Character Level
2018
[64]
논문
Reducing the Dimensionality of Data with Neural Networks
https://www.cs.toron[...]
2006-07-28
[65]
문서
autoencoder where Y is of the same dimensionality as X (or larger) can achieve perfect reconstruction simply by learning an identity mapping.
https://www.jmlr.org[...]
2010
[66]
문서
The criterion that representation Y should retain information about input X is not by itself sufficient to yield a useful representation.
https://www.jmlr.org[...]
2010
[67]
문서
a deterministic mapping from X to Y, that is, ... equivalently ... The deterministic mapping that transforms an input vector into hidden representation is called the '''encoder'''.
https://www.jmlr.org[...]
2010
[68]
문서
". This mapping is called the '''decoder'''. ... In general is not to be interpreted as an exact reconstruction of , but rather in probabilistic terms as the parameters (typically the mean) of a distribution "
https://www.jmlr.org[...]
2010
[69]
문서
" is called the decoder ... ... associated loss function ... ... This yields
[70]
논문
Nonlinear principal component analysis using autoassociative neural networks
https://www.research[...]
1991
[71]
서적
Deep Learning
http://www.deeplearn[...]
MIT Press
2016
[72]
저널
Nonlinear Autoassociation Is Not Equivalent to PCA
https://doi.org/10.1[...]
2000-03-01
[73]
저널
Training Methods for Adaptive Boosting of Neural Networks
https://proceedings.[...]
MIT Press
1997
[74]
문서
Ackley, D. H., Hinton, G. E., & Sejnowski, T. J. (1985). A learning algorithm for Boltzmann machines. Cognitive Science, 9, 147-169.
https://www.cs.toron[...]
[75]
저널
Deep learning in neural networks: An overview
2015-01
[76]
문서
Hinton, G. E., & Zemel, R. S. (1994). Autoencoders, minimum description length and Helmholtz free energy. In Advances in neural information processing systems 6 (pp. 3-10).
[77]
ArXiv
Auto-Encoding Variational Bayes
2013
[78]
문서
Generating Faces with Torch, Boesen A., Larsen L. and Sonderby S.K., 2015
http://torch.ch/blog[...]
[79]
서적
The Master Algorithm: How the Quest for the Ultimate Learning Machine Will Remake Our World
Basic Books
2015
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com