높은 수준의 RNN vs CNN


53

저는 RNN (Recurrent Neural Networks)과 그 품종 및 CNN (Convolutional Neural Networks)과 품종에 대해 생각하고 있습니다.

이 두 가지 요점이 공정한 것입니까?

  • CNN을 사용하여 구성 요소 (예 : 이미지)를 하위 구성 요소 (예 : 이미지의 오브젝트 개요와 같은 이미지의 오브젝트)로 분리하십시오.
  • RNN을 사용하여 하위 구성 요소 (이미지 캡션, 텍스트 생성, 언어 번역 등)의 조합을 작성하십시오.

이 진술에서 부정확 한 부분을 지적하려는 사람은 감사하겠습니다. 여기서의 목표는 CNN 및 RNN 사용에 대한보다 명확한 기반을 얻는 것입니다.

답변:


42

CNN은 공간에서 패턴을 인식하는 방법을 배웁니다. 따라서 CNN은 이미지의 구성 요소 (예 : 선, 곡선 등)를 인식하는 방법을 배우고 이러한 구성 요소를 결합하여 더 큰 구조 (예 :면, 물체 등)를 인식하는 방법을 배웁니다.

매우 일반적인 방식으로 RNN은 시간이 지남에 따라 패턴을 인식하는 방법을 배우게 될 것이라고 말할 수 있습니다. 따라서 텍스트를 번역하도록 훈련 된 RNN은 "hot"이라는 단어가 앞에 오면 "dog"이 다르게 번역되어야한다는 것을 알 수 있습니다.

그러나 두 종류의 NN이 이러한 패턴을 나타내는 메커니즘은 다릅니다. CNN 의 경우 이미지의 모든 다른 서브 필드 에서 동일한 패턴을 찾고 있습니다. RNN의 경우 (가장 간단한 경우) 이전 단계의 숨겨진 레이어를 다음 단계에 대한 추가 입력으로 공급합니다. RNN은이 프로세스에서 메모리를 빌드하지만 CNN이 다른 공간 영역에서 동일한 패턴을 찾는 것과 같은 방식으로 다른 시간 조각에서 동일한 패턴을 찾지 않습니다.

여기서 "시간"과 "공간"이라고 말하면 너무 문자 그대로 받아 들여서는 안됩니다. 예를 들어 이미지 캡션을 위해 단일 이미지에서 RNN을 실행할 수 있으며 "시간"의 의미는 단순히 이미지의 다른 부분이 처리되는 순서입니다. 따라서 처음에 처리 된 객체는 나중에 처리 된 객체의 캡션을 알려줍니다.


3
많이 복사 된 그래픽 인 karpathy.github.io/assets/rnn/diags.jpeg 에서 RNN 모델의 차이점에 대한 직관을 얻을 수 있습니다 . CNN은 MLP 및 기타 비 재귀 모델과 함께 일대일 모델 사례 만 구현합니다.
Neil Slater

@NeilSlater 나는 이 이미지 의 원본 기사 조차 알고 있지만 유용한 이미지를 추출 할 수는 없습니다. 이미지에서 배운 내용을 자세히 설명해 주시겠습니까?
Hi-Angel

2
@ Hi-Angel : 이미지는 모델이 매핑 할 수있는 단일 개체와 시퀀스 간의 가능한 관계를 시각화합니다. 순열을 이미 잘 이해했다면 아무것도 얻지 못할 수 있습니다. 기사에 이미지가 나타나는 이유는 RNN의 상대적 유연성을 보여주기 때문입니다. RNN은 표시된 모든 다른 유형의 문제 (예 : 4 번째 항목과 일치하는 언어 번역 문제에 사용될 수 있음)에 적용될 수 있습니다. 피드 포워드 네트워크는 첫 번째 이미지와 일치하는 문제에만 적용됩니다.
Neil Slater


23

CNN과 RNN의 차이점은 다음과 같습니다.

CNN :

  1. CNN은 고정 크기 입력을 사용하여 고정 크기 출력을 생성합니다.

  2. CNN은 피드 포워드 인공 신경망의 한 유형으로, 최소한의 전처리를 사용하도록 설계된 다층 퍼셉트론의 변형입니다.

  3. CNN은 뉴런 사이의 연결 패턴을 사용합니다. 각각의 뉴런은 시야를 바둑판 식으로 배열하는 중첩 영역에 반응하는 방식으로 배열 된 동물 시각 피질의 조직에서 영감을 얻었습니다.

  4. CNN은 이미지 및 비디오 처리에 이상적입니다.

RNN :

  1. RNN은 임의의 입력 / 출력 길이를 처리 할 수 ​​있습니다.

  2. RNN은 피드 포워드 신경망과 달리 내부 메모리를 사용하여 임의의 입력 시퀀스를 처리 할 수 ​​있습니다.

  3. 반복적 인 신경망은 시계열 정보를 사용합니다 (즉, 내가 마지막에 말한 내용이 다음에 말할 내용에 영향을 미칩니다).

  4. RNN은 텍스트 및 음성 분석에 이상적입니다.



고밀도 계층이없는 CNN은 임의 크기의 입력을 사용할 수 있습니다.
Mikael Rousson

1

CNN이 구성 요소를 하위 구성 요소로 나누지 않고 겹치는 하위 구성 요소 (반복적 인 필드)에서 동일한 패턴을 찾기 위해 공유 가중치를 사용하기 때문에 두 문장이 정확하지 않다고 생각합니다. 분할 및 정복 알고리즘이 아닙니다.

일반적으로 CNN은 로컬 및 위치 불변 (위치와 무관) 기능을 추출하는 경향이 있으며 RNN은 멀리 떨어져 있어도 시간에 따라 다른 패턴을 찾는 경향이 있습니다.

예를 들어 자연어에 모두 적용하는 경우 CNN은 로컬 및 위치 불변 특징을 추출하는 데 능숙하지만 장거리 의미 론적 종속성을 캡처하지는 않습니다. 로컬 키 문구 만 고려합니다.

결과가 전체 문장 또는 장거리 의미 론적 의존성에 의해 결정될 때 저자가 NLP 탁에 대한 두 가지 아키텍처를 비교 한이 논문에서 보여 지듯이 CNN은 효과적이지 않습니다 .

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