치수 축소를위한 자동 엔코더가 대칭 인 이유는 무엇입니까?


13

나는 자동 엔코더 또는 신경망의 전문가가 아니므로 어리석은 질문이라면 용서하십시오.

차원 축소 또는 고차원 데이터에서 클러스터 시각화를 위해 자동 엔코더를 사용하여 2 개의 노드로 네트워크 계층의 출력을 검사하여 (손실) 2 차원 표현을 만들 수 있습니다. 예를 들어 다음 아키텍처를 사용하면 세 번째 레이어의 출력을 검사합니다.

[X]N1=100N2=25(N3=2)N4=25N5=100[X]

여기서 는 입력 데이터이고 N ll 번째 레이어 의 노드 수입니다 .XNll

이제 제 질문은 왜 대칭 구조를 원합니까? 깊은 '압축'단계의 미러가 아니라면 유사하게 복잡한 '압축 해제'단계가있어 2 개의 노드 출력이 생성되어 매우 직관적이지 않습니까? 다시 말해, 더 간단한 디코딩 단계를 갖지 않아도 2 개의 노드를 가진 레이어의 출력이 반드시 더 단순 해지지 않을까요?

압축 해제 단계가 덜 복잡할수록 2D 표현이 더 단순해야 (더 선형 적인가) 생각합니다. 더 복잡한 감압 단계는 더 복잡한 2D 표현을 허용합니다.

답변:


13

오토 인코더의 대칭에는 특별한 제약이 없습니다.

처음에는, 사람들은 최대한 같은 대칭을 적용하는 경향이 :뿐만 아니라 층 대칭 있었다뿐만 아니라 무게 인코더와 디코더의 레이어는 어디에 공유 . 이것은 필수 조건은 아니지만 특정 손실 함수 (예 : RBM 점수 일치) 를 사용할 수 있으며 최적화 할 매개 변수 수의 절반을 효과적으로 줄이면 정규화 역할을 수행 할 수 있습니다 . 그러나 요즘에는 아무도 인코더 디코더 가중치 공유를 강요하지 않는다고 생각합니다.

아키텍처 대칭 에 대해서는 인코더와 디코더에서 동일한 수의 레이어, 동일한 유형의 레이어 및 동일한 레이어 크기를 찾는 것이 일반적 이지만 그럴 필요는 없습니다 .

예를 들어, 컨볼 루션 자동 엔코더에서는 과거에는 인코더에서 컨볼 루션 레이어와 디코더에서 디컨 볼 루션 레이어를 찾는 것이 매우 일반적 이지만 이제는 아티팩트 문제가 적기 때문에 디코더에서 업 샘플링 레이어를 볼 수 있습니다.


7

귀하의 질문은 확실히 제자리에 있지만 "딥 러닝에서 X 또는 Y를해야합니까?"와 같은 형식의 질문이 있음을 발견했습니다. 답변이 하나뿐입니다.

둘 다 사용해보십시오

딥 러닝은 매우 경험적인 분야이며 비대칭 자동 인코더가 도메인에서 작동하는 경우이를 사용하고 논문을 게시하십시오.


2

나는 질문을하기 위해 광범위한 실험을했다. 내 실험에 따르면 인코딩 경로 (NN의 왼쪽 다리)는 레이어가 적거나 넓어야합니다. 나는 보통 너무 많은 레이어를 사용하지만 인코딩 경로에 두 배의 노드를 사용합니다. 이에 대한 설명이 없습니다. 이러한 구성만으로 인해 수렴 속도가 빨라졌습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.