자동 엔코더의 목적은 무엇입니까?


10

오토 인코더 는 나중에 재구성하기 위해 입력의 압축 된 표현을 배우는 신경망으로, 차원 축소에 사용될 수 있습니다. 그것들은 인코더와 디코더 (별도의 신경망이 될 수 있음)로 구성됩니다. 차원 축소는 데이터가 희박 해지고 "통계적 유의성"을 얻는 것이 더 어려운 차원의 저주와 관련된 문제를 처리하거나 완화하기 위해 유용 할 수 있습니다. 따라서 자동 엔코더 (및 PCA와 같은 알고리즘)를 사용하여 차원의 저주를 처리 할 수 ​​있습니다.

자동 엔코더를 사용하여 차원 축소에 관심을 갖는 이유는 무엇입니까? 차원 축소가 목적인 경우 PCA를 사용할 수없는 이유는 무엇입니까?

차원 축소를 수행하려는 경우 입력의 잠재 표현을 압축 해제해야하는 이유 또는 왜 자동 인코더에 디코더 부분이 필요한가? 사용 사례는 무엇입니까? 일반적으로 나중에 압축을 풀기 위해 입력을 압축해야하는 이유는 무엇입니까? 원래 입력을 사용하여 시작하는 것이 낫지 않습니까?


1
CrossValidated SE에 대한 다음 질문 stats.stackexchange.com/q/82416/82135 도 참조하십시오 .
nbro

답변:


6

데이터에서 어떤 종류의 패턴이 표현되고 있는지 생각하는 것이 중요합니다.

모든 이미지가 균일 한 강도가되도록 그레이 스케일 이미지의 데이터 세트가 있다고 가정합니다. 인간의 두뇌로서이 데이터 세트의 모든 요소는 강도 값인 단일 숫자 매개 변수로 설명 할 수 있습니다. 이것은 각 치수 (각 픽셀을 다른 치수로 생각할 수 있음)가 완전히 선형 적으로 연관되어 있기 때문에 PCA가 잘 작동하는 것입니다.

대신 중앙 원의 흑백 128x128px 비트 맵 이미지 데이터 세트가 있다고 가정하십시오. 인간의 두뇌로서이 데이터 세트의 모든 요소가 원의 반지름 인 단일 숫자 매개 변수로 완전히 설명 될 수 있음을 금방 알 수 있습니다. 이것은 16384 이진 차원에서 매우 인상적인 수준의 감소이며, 더 중요한 것은 의미 적으로 의미있는 데이터 속성입니다. 그러나 PCA는 해당 패턴을 찾지 못할 수도 있습니다.

귀하의 질문은 "목적이 차원 축소 인 경우 PCA를 사용할 수없는 이유는 무엇입니까?"입니다. 간단한 대답은 PCA가 차원 축소를위한 가장 간단한 도구이지만 자동 인코더와 같은보다 강력한 기술이 찾을 수있는 많은 관계를 놓칠 수 있다는 것입니다.


3

자동 인코더 (특히, 디코더 또는 자동 인코더의 생성 모델)의 사용 사례는 입력을 노이즈 제거하는 것입니다. denoising autoencoders 라고하는이 유형의 자동 인코더 는 부분적으로 손상된 입력을 가져 와서 해당하는 손상되지 않은 입력을 재구성하려고 시도합니다. 이 모델에는 여러 가지 용도가 있습니다. 예를 들어 손상된 이미지가있는 경우 노이즈 제거 자동 인코더를 사용하여 손상되지 않은 이미지를 복구 할 수 있습니다.

자동 인코더와 PCA는 관련이 있습니다 :

완전히 연결된 단일 숨겨진 레이어, 선형 활성화 함수 및 제곱 오류 비용 함수가있는 자동 인코더는 주성분 로딩 벡터에 의해 스팬 된 것과 동일한 부분 공간에 걸쳐 있지만 가중치는로드 벡터와 동일하지 않은 가중치를 훈련시킵니다.

자세한 내용 은 Elad Plaut의 Principal Subspaces에서 Linear Autoencoders를 사용하여 Principal Components 까지 (2018)를 참조하십시오. PCA와 자동 인코더 사이의 관계를 설명하는 이 답변 도 참조하십시오 .


3

PCA는 벡터 투영 (축 변경)을 변경할 수있는 변환을 생성하는 선형 방법입니다.

PCA는 최대 분산의 방향을 찾기 때문에 일반적으로 높은 판별 성을 갖지만 대부분의 분산 방향이 가장 차별적 인 방향임을 보장하지는 않습니다.

LDA는 벡터가 클래스 A 또는 B에 속하는지 여부를 결정하는 데 가장 적합한 방향을 찾을 수있는 변환을 만드는 선형 방법입니다.

PCA 및 LDA에는 선형 제한을 극복 할 수있는 비선형 커널 버전이 있습니다.

오토 인코더는 다른 종류의 손실 함수로 차원 축소를 수행 할 수 있으며 비선형 일 수 있으며 많은 경우 PCA 및 LDA보다 성능이 우수 할 수 있습니다.

아무것도 할 수있는 최고의 머신 러닝 알고리즘이 없을 수도 있습니다. 간혹 딥 러닝과 신경망이 간단한 문제로 인해 과도하게 사용되기 때문에 PCA와 LDA가 다른 복잡한 차원 축소 작업보다 먼저 시도 될 수 있습니다.


1
LDA는 질문과 어떤 관련이 있습니까?
nbro

LDA는 차원 축소로 사용할 수 있습니다. 원래 알고리즘은 하나의 투영 만 도출하지만보다 정확한 모델링을 위해 더 낮은 순위의 차별적 방향을 얻는 데 사용할 수 있습니다.
Pedro Henrique Monforte

욕심 많은 알고리즘이기 때문에 PCA는 최대 분산을 보장하지 않습니다.
Mathieu Bouville

PCA에는 닫힌 솔루션이 있으며 주축은 항상 최대 분산 방향에 있습니다. 탐욕스러운 알고리즘은 아니지만 (하나만 구현할 수 있음)
Pedro Henrique Monforte

1
  1. 네트워크를 훈련시키기위한 손실 함수를 계산하기 위해서는 디코더 절반이 필요하다. 생성 구성 요소에만 관심이 있더라도 GAN에서 '적'이 여전히 필요한 방법과 유사합니다.
  2. 자동 인코더는 데이터의 비선형 임베딩을 배울 수 있으므로 바닐라 PCA보다 강력합니다.
  3. 오토 인코더는 차원 축소를 넘어서는 응용 분야 를 가지고 있습니다 .
    • 새로운 데이터 포인트 생성 또는 보간 수행 (VAE 참조)
    • 노이즈 제거 필터 만들기 (예 : 이미지 처리)
    • 데이터 압축 / 압축 해제
    • 링크 예측 (예 : 약물 발견)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.