컨볼 루션 신경망, 제한된 볼츠만 기계 및 자동 인코더의 차이점은 무엇입니까?


답변:


237

Autoencoder출력 장치입력 장치에 직접 연결 되는 간단한 3 계층 신경망 입니다. 예를 들어 다음과 같은 네트워크에서 :

여기에 이미지 설명을 입력하십시오

output[i]input[i]모든 가장자리가 있습니다 i. 일반적으로 숨겨진 단위의 수는 보이는 (입력 / 출력)의 수보다 훨씬 적습니다. 결과적으로 이러한 네트워크를 통해 데이터를 전달하면 먼저 입력 벡터를 더 작은 표현으로 "적합"하도록 압축 (인코딩) 한 다음 다시 재구성 (디코딩)하려고합니다. 훈련의 과제는 오류 또는 재구성을 최소화하는 것입니다. 즉, 입력 데이터에 가장 효율적인 컴팩트 표현 (인코딩)을 찾습니다.

RBM 은 비슷한 아이디어를 공유하지만 확률 론적 접근을 사용합니다. 결정적 (예 : 로지스틱 또는 ReLU) 대신 특정 (보통 가우스 이항) 분포를 가진 확률 적 단위를 사용합니다. 학습 절차는 여러 단계의 Gibbs 샘플링 (전파 : 가시적 샘플 숨겨진 표시, 재구성 : 숨겨진 숨겨진 샘플 표시, 반복) 및 재구성 오류를 최소화하기 위해 가중치 조정으로 구성됩니다.

여기에 이미지 설명을 입력하십시오

RBM의 직관은 눈에 보이는 임의의 변수 (예 : 다른 사용자의 영화 리뷰)와 숨겨진 변수 (영화 장르 또는 기타 내부 기능)가 있으며 훈련의 임무는이 두 변수 세트가 실제로 어떻게 서로 연결되어 있습니다 (이 예제에 대한 자세한 내용은 here 참조 ).

Convolutional Neural Networks 는이 두 가지와 다소 유사하지만 두 레이어 사이에서 단일 전역 가중치 행렬을 배우는 대신 로컬로 연결된 뉴런 세트를 찾는 것을 목표로합니다. CNN은 주로 이미지 인식에 사용됩니다. 그들의 이름은 "컨볼 루션"연산자 또는 단순히 "필터" 에서 비롯됩니다 . 간단히 말해, 필터는 컨볼 루션 커널의 간단한 변경을 통해 복잡한 작업을 수행하는 쉬운 방법입니다. 가우시안 블러 커널을 적용하면 부드럽게됩니다. Canny 커널을 적용하면 모든 모서리를 볼 수 있습니다. 그라디언트 기능을 얻으려면 Gabor 커널을 적용하십시오.

여기에 이미지 설명을 입력하십시오

( 여기 에서 이미지 )

컨볼 루션 신경망의 목표는 미리 정의 된 커널 중 하나를 사용하는 것이 아니라 데이터 별 커널배우는 것 입니다. 이 아이디어는 자동 인코더 또는 RBM과 동일합니다. 많은 저수준 기능 (예 : 사용자 리뷰 또는 이미지 픽셀)을 압축 된 고수준 표현 (예 : 필름 장르 또는 가장자리)으로 변환하지만 이제 가중치는 뉴런에서만 학습됩니다. 공간적으로 서로 가깝습니다.

여기에 이미지 설명을 입력하십시오

세 가지 모델 모두 유스 케이스, 장단점이 있지만 가장 중요한 특성은 다음과 같습니다.

  1. 자동 인코더는 가장 간단한 것입니다. 직관적으로 이해 가능하고 구현하기 쉽고 추론하기 쉽습니다 (예 : RBM보다 메타 매개 변수를 찾는 것이 훨씬 쉽습니다).
  2. RBM은 생성 적입니다. 즉, 일부 데이터 벡터 만 다른 데이터 벡터를 식별하는 자동 인코더와 달리 RBM은 지정된 결합 분포로 새 데이터를 생성 할 수도 있습니다. 또한 기능이 풍부하고 유연합니다.
  3. CNN은 매우 특정한 작업 (주로 인기있는 작업)에 주로 사용되는 매우 특정한 모델입니다. 이미지 인식에서 최상위 알고리즘의 대부분은 오늘날 CNN을 기반으로하지만 그 틈새 시장에서는 적용 할 수없는 경우가 거의 없습니다 (예 : 영화 검토 분석에 컨볼 루션을 사용하는 이유는 무엇입니까?).

UPD.

차원 축소

엑스엑스'<그런 다음 가장 중요한 구성 요소가 새로운 기준으로 사용됩니다. 이러한 각 구성 요소는 원래 축보다 데이터 벡터를 더 잘 나타내는 고급 기능으로 간주 될 수 있습니다.

심층 아키텍처

1..엑스=나는=1나는나는

케이

그러나 새로운 레이어 만 추가하는 것은 아닙니다. 각 계층에서 이전 계층의 데이터에 대한 최상의 표현을 배우려고합니다.

여기에 이미지 설명을 입력하십시오

위의 이미지에는 그러한 딥 네트워크의 예가 있습니다. 우리는 일반 픽셀로 시작하여 간단한 필터로 진행 한 다음 얼굴 요소를 사용하여 마지막으로 전체 얼굴로 끝납니다! 이것이 딥 러닝 의 본질입니다 .

이제이 예에서 이미지 데이터로 작업하고 공간적으로 가까운 픽셀의 더 큰 영역을 순차적으로 가져 왔습니다. 비슷하지 않습니까? 예, 심층 컨볼 루션 네트워크 의 예이기 때문 입니다. 그것은 자동 엔코더 또는 RBM을 기반으로하기 때문에 회선의 중요성을 강조하기 위해 회선을 사용합니다. 이것이 CNN이 자동 인코더 및 RBM과 다소 다른 이유입니다.

분류

여기에 언급 된 모델은 분류 알고리즘 자체로는 작동하지 않습니다. 대신, 사전 훈련 에 사용됩니다 (예 : 픽셀과 같은 저수준 및 사용하기 어려운 표현에서 고급 수준으로의 변형 학습). 일단 심층 (또는 심층이 아닌) 네트워크가 사전 훈련되면, 입력 벡터는 더 나은 표현으로 변환되고 최종 벡터는 최종적으로 실제 분류 자 ​​(예 : SVM 또는 로지스틱 회귀)로 전달됩니다. 위의 이미지에서 맨 아래에는 실제로 분류를 수행하는 구성 요소가 하나 더 있음을 의미합니다.


3
@ffriend 매우 짧고 명확한 설명. 이 주제들에 대해 많은 글이 있지만 브리핑은 환상적입니다. "RockTheStar"더 자세한 설명을 원하면 요슈아 벤 지오 (www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf) 100 페이지의 책을 읽을 수 있습니다.
Javierfdr

일련의 사건을 예측하기 위해 무엇을 사용 하시겠습니까?
skan

2
@skan : RNN을 살펴 보십시오 . 특히 LSTM 은 현재 매우 인기가 있습니다. RNN은 제 전문 분야가 아니기 때문에 자격을 갖춘 답변을 얻기 위해 더 자세한 내용을 가진 별도의 질문을 할 수도 있습니다.
ffriend

15

이러한 모든 아키텍처는 신경망으로 해석 될 수 있습니다. AutoEncoder와 Convolutional Network의 주요 차이점은 네트워크 하드와 이어링 수준입니다. 컨볼 루션 네트는 거의 고정되어 있습니다. 컨볼 루션 연산은 이미지 도메인에서 거의 로컬이므로 신경망보기의 연결 수가 훨씬 적습니다. 이미지 도메인에서의 풀링 (서브 샘플링) 동작은 또한 신경 도메인에서 고정 배선 된 신경 연결 세트이다. 네트워크 구조에 대한 이러한 토폴로지 제약. 이러한 제약 조건이 주어지면 CNN 교육은이 컨볼 루션 작업에 가장 적합한 가중치를 학습합니다 (실제로 여러 필터가 있음). CNN은 일반적으로 컨벌루션 제약 조건이 좋은 이미지 및 음성 작업에 사용됩니다.

반대로, 자동 인코더는 네트워크 토폴로지에 대해 거의 아무것도 지정하지 않습니다. 그들은 훨씬 더 일반적입니다. 아이디어는 입력을 재구성하기 위해 좋은 신경 변환을 찾는 것입니다. 인코더 (입력을 숨겨진 레이어로 투영) 및 디코더 (숨겨진 레이어를 출력으로 다시 투영)로 구성됩니다. 숨겨진 계층은 일련의 잠재 기능 또는 잠재 요소를 학습합니다. 선형 자동 인코더는 PCA와 동일한 부분 공간에 걸쳐 있습니다. 데이터 세트가 주어지면 데이터의 기본 패턴을 설명하기 위해 많은 기초를 배웁니다.

RBM도 신경망입니다. 그러나 네트워크에 대한 해석은 완전히 다릅니다. RBM은 네트워크를 피드 포워드가 아니라 숨겨진 변수와 입력 변수의 공동 확률 분포를 배우는 이분 그래프로 해석합니다. 그래픽 모델로 간주됩니다. AutoEncoder와 CNN은 결정적 기능을 학습합니다. 반면에 RBM은 생성 모델입니다. 학습 된 숨겨진 표현에서 샘플을 생성 할 수 있습니다. RBM을 훈련시키는 다른 알고리즘이 있습니다. 그러나 하루가 끝나면 RBM을 학습 한 후 네트워크 가중치를 사용하여 피드 포워드 네트워크로 해석 할 수 있습니다.


6

RBM은 일종의 확률 적 자동 인코더로 볼 수 있습니다. 실제로, 특정 조건 하에서 그것들은 동등한 것으로 나타났습니다.

그럼에도 불구하고, 그들이 다른 짐승이라고 믿는 것보다이 동등성을 나타내는 것이 훨씬 어렵습니다. 실제로, 나는 자세히 살펴보기 시작하자마자 세 가지 중에서 많은 유사점을 찾기가 어렵다는 것을 알게되었습니다.

예를 들어, 자동 엔코더, RBM 및 CNN으로 구현 된 기능을 적어두면 완전히 다른 세 가지 수학 식을 얻게됩니다.


1

RBM에 대해 많이 말할 수는 없지만 자동 인코더와 CNN은 서로 다른 두 가지 종류입니다. 자동 인코더는 감독되지 않는 방식으로 훈련되는 신경망입니다. 오토 인코더의 목표는 데이터를 해당 컴팩트 표현으로 변환하는 인코더와 원래 데이터를 재구성하는 디코더를 학습하여 데이터의보다 컴팩트 한 표현을 찾는 것입니다. 자동 인코더의 인코더 부분 (및 원래 RBM)은 더 깊은 아키텍처의 초기 가중치를 배우는 데 사용되었지만 다른 응용 프로그램이 있습니다. 본질적으로, 자동 인코더는 데이터의 클러스터링을 학습합니다. 대조적으로, CNN이라는 용어는 컨볼 루션 연산자 (종종 이미지 처리 작업에 사용될 때 2D 컨볼 루션)를 사용하여 데이터에서 특징을 추출하는 신경망 유형을 나타냅니다. 이미지 처리에서 필터는 이미지와 관련이있는 분류 작업과 같이 현재 진행중인 작업을 해결하기 위해 자동으로 학습됩니다. 훈련 기준이 회귀 / 분류 (감독) 또는 재구성 (비 감독)인지 여부는 아핀 변환의 대안으로서 컨볼 루션의 아이디어와 관련이 없습니다. CNN 자동 인코더를 사용할 수도 있습니다.


autoencoder는 지정된 입력과 동일한 정보를 작은 숨겨진 레이어로만 생성하도록 훈련 할 때 교육을 감독하므로 네트워크는 적절한 인코딩을 찾아서 입력을 숨겨진 레이어의 크기로 변환합니다. . SOM 또는 신경 가스와 같은 통계 네트워크에서 사용되는 비현실적인 훈련에서는 네트워크에 출력으로 표시되는 대상 정보가 없습니다.
SCI
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.