나는이 용어를이 사이트에서 많이 보았습니다. 특히 convolutional-neural-networks 및 neural-networks 태그에서 .
신경망은 인간의 두뇌에 기반을 둔 시스템이라는 것을 알고 있습니다. 그러나 Convolutional Neural Network와 일반 Neural Network 의 차이점은 무엇 입니까? 단지 하나 개의 많은 더, 에헴, 복잡하고 뒤얽힌 다른 것보다?
나는이 용어를이 사이트에서 많이 보았습니다. 특히 convolutional-neural-networks 및 neural-networks 태그에서 .
신경망은 인간의 두뇌에 기반을 둔 시스템이라는 것을 알고 있습니다. 그러나 Convolutional Neural Network와 일반 Neural Network 의 차이점은 무엇 입니까? 단지 하나 개의 많은 더, 에헴, 복잡하고 뒤얽힌 다른 것보다?
답변:
TLDR : 회선 신경망은 하나 이상의 회선 층을 갖는 신경망의 서브 클래스입니다. 로컬 정보 (예 : 이미지의 주변 픽셀 또는 텍스트의 주변 단어)를 캡처하고 모델의 복잡성을 줄입니다 (빠른 훈련, 더 적은 샘플 필요, 과적 합 가능성 감소).
딥 컨벤 셔널 신경 네트워크를 포함한 여러 신경 네트워크 아키텍처를 묘사 한 다음 차트를 참조하십시오 .
신경망 (NN) 또는보다 정확하게 인공 신경망 (ANN) 은 빅 데이터 및 빠른 컴퓨팅 기능 (대부분의 딥 러닝)의 가용성으로 인해 최근 많은 주목을받은 기계 학습 알고리즘 클래스입니다. 알고리즘은 본질적으로 ANN의 다른 변형입니다.
ANN의 클래스는 등 여러 가지 아키텍처 커버 길쌈 신경망 ( CNN ), 재발 성 신경 네트워크 ( RNN ) 예를 들어 LSTM 와 GRU , Autoencoders , 그리고 깊은 신념 네트워크를 . 따라서 CNN은 ANN의 한 종류 일뿐입니다.
일반적으로 ANN은 연결되어 있고 조정 가능한 단위 (일명 노드, 뉴런 및 인공 뉴런)의 모음으로, 한 유닛에서 다른 유닛으로 신호 (일반적으로 실제 값)를 전달할 수 있습니다. 단위의 수, 유형 및 서로 연결되는 방식을 네트워크 아키텍처라고합니다.
구체적으로, CNN은 하나 이상의 컨볼 루션 유닛 계층을 갖는다 . 컨볼 루션 유닛은 이전 레이어에서 여러 유닛의 입력을 수신하여 함께 근접성을 만듭니다. 따라서 (작은 이웃을 형성하는) 입력 장치는 가중치를 공유합니다.
컨볼 루션 유닛 (풀링 유닛뿐만 아니라)은 다음과 같이 특히 유용합니다.
(깊은) CNN에 대한 자세한 내용은 다음을 읽으십시오.
ps ANN은 "인간의 두뇌에 기반을 둔 시스템"이 아니라 , 뉴런 연결에서 영감을 얻은 시스템 클래스 가 동물의 두뇌에 존재합니다.
CNN (Convolutional Neural Networks)은 계산상의 복잡성을 줄이고 번역 불일치를 보장하기 위해 구조적 제약이있는 신경망입니다 (네트워크는 이미지 인식의 관점에서 번역에 상관없이 입력 패턴을 동일하게 해석합니다) : 바나나는 위치에 관계없이 바나나입니다 영상). Convolutional Neural Networks에는 세 가지 중요한 아키텍처 기능이 있습니다.
로컬 연결성: 한 계층의 뉴런은 공간적으로 가까운 다음 계층의 뉴런에만 연결됩니다. 이 디자인은 연속 레이어 간의 대부분의 연결을 차단하지만 가장 유용한 정보를 전달하는 연결은 유지합니다. 여기서의 가정은 입력 데이터가 공간적 중요성을 가지고 있거나 컴퓨터 비전의 예에서 두 개의 먼 픽셀 간의 관계가 두 개의 가까운 이웃보다 덜 중요하다는 것입니다.
공유 가중치 : 이것은 CNN을 "컨볼 루션"으로 만드는 개념입니다. 한 레이어의 뉴런이 가중치를 공유하도록함으로써 순방향 통과 (네트워크를 통해 데이터를 공급)는 이미지에 필터를 집어 넣어 새로운 이미지를 생성하는 것과 같습니다. CNN 교육은 필터 학습의 과제가됩니다 (데이터에서 찾아야 할 기능 결정).
풀링 및 ReLU : CNN 에는 풀링 레이어와 ReLU 함수의 두 가지 비선형 성이 있습니다. 풀링 레이어는 입력 데이터 블록을 고려하여 단순히 최대 값을 전달합니다. 이렇게하면 출력 크기가 줄어들고 학습 할 추가 매개 변수가 필요하지 않으므로 풀링 레이어는 종종 네트워크 크기를 조정하고 시스템을 계산 한계 미만으로 유지하는 데 사용됩니다. ReLU 함수는 하나의 입력 x를 가져오고 최대 {0, x}를 리턴합니다. ReLU(x) = argmax(x, 0)
. 이는 모델의 표현력을 높이기 위해 비선형 성으로 tanh (x) 또는 sigmoid (x)와 비슷한 효과를 나타냅니다.
다른 대답에서 언급했듯이 스탠포드의 CS 231n 과정은 이에 대해 자세히 설명합니다. 확인 이 작성 가이드 및 강의 자세한 내용입니다. 같은 블로그 게시물 이 하나 와 이 것은 또한 매우 도움이됩니다.
CNN이 왜 그 구조를 가지고 있는지 궁금한 점이 있다면, CNN 이 소개 한 논문을 읽어 보시고이 글을 소개 한 논문을 읽고 아마도 Yann Lecun과 Christopher Manning이 선천적 선행에 대해 논의한 내용을 확인해 보십시오 ( 우리는 모델의 아키텍처를 설계합니다).
콘벌 루션 신경망 갖는 하나 컨벌루션 층. 일반적인 신경망이 느슨하게 말해서 인간 뇌에서 영감을 얻은 경우 (매우 정확하지는 않음), 컨볼 루션 신경망은 시각 피질 시스템, 인간 및 기타 동물 (진리에 더 가까운)에서 영감을 얻습니다. . 이름에서 알 수 있듯이이 레이어는 학습 가능한 필터 (일명 커널 )를 사용 하여 컨벌루션을 적용합니다 . 결과적으로 네트워크는 이미지의 패턴 (가장자리, 모서리, 호, 복잡한 그림)을 학습합니다. 컨볼 루션 신경망은 일반적으로 풀링 및 고밀도 레이어와 같은 다른 레이어를 포함 할 수 있습니다.
이 문제에 대한 CS231n 튜토리얼 을 적극 권장합니다 . 매우 상세하고 많은 훌륭한 시각화 기능이 포함되어 있습니다.