SW/인공지능

인공지능 : CNN : 개요, 개념, 원리, 소개

얇은생각 2019. 7. 31. 07:30
반응형

CNN (Convolutional Neural Network)의 기본 개요

컨벌루션 레이어의 원리, 활성화 함수, 풀링 레이어 및 완전 연결 레이어


CNN(Convolutional Neural Network)는 컴퓨터 비전 또는 시각적 이미지를 분석하는 데 사용되는 신경 네트워크 클래스입니다.


인공지능 : CNN : 개요, 개념, 원리, 소개



Convolutional Layer

컴퓨터는 이미지를 픽셀로 읽으며 행렬 (NxNx3)로 표현됩니다. 이미지는 3 개의 수로 (rgb)를 사용한다, 그래서 3이 있습니다.


Convolutional layer는 일련의 학습 가능한 필터를 사용합니다. 필터는 원본 이미지 (입력)에 있는 특정 피처 또는 패턴의 존재를 감지하는 데 사용됩니다. 일반적으로 행렬 (MxMx3)로 표현되며 크기는 작지만 입력 파일과 동일한 뎁스입니다.


이 필터는 입력 파일의 너비와 높이를 가로 질러 컨벌루션(슬라이딩)되고 활성화 맵을 제공하기 위해 내적이 계산됩니다.


상이한 특징을 검출하는 상이한 필터들이 입력 파일에 컨벌루션되고, 활성화 맵들의 세트가 출력되며, 이는 CNN의 다음 층으로 전달됩니다.


인공지능 : CNN : 개요, 개념, 원리, 소개


인공지능 : CNN : 개요, 개념, 원리, 소개



인공지능 : CNN : 개요, 개념, 원리, 소개


필터를 사용하여 활성화 맵 가져 오기


활성화 맵의 차원을 결정하는 데 사용되는 공식이 있습니다.


(N + 2P-F) / S + 1; N = 이미지 (입력) 파일의 크기

P = 패딩

F = 필터의 디멘션

S = 스트라이드




활성화 기능

활성화 함수는 신경망의 끝이나 신경망 사이에 놓이는 노드입니다. 이것들은 뉴런의 발화 여부를 결정하는 데 도움을 줍니다.


"활성화 함수는 입력 신호에 대해 수행하는 비선형 변환입니다. 이 변환 된 출력은 뉴런의 다음 계층 입력으로 전송됩니다. "- Analytics Vidhya


인공지능 : CNN : 개요, 개념, 원리, 소개

활성화 함수


위의 그림과 같이 다양한 유형의 활성화 기능을 가지고 있지만 ReLU (Rectified Linear Unit)에 중점을 둡니다.


ReLU 기능은 오늘날 신경망에서 가장 널리 사용되는 활성화 기능입니다. ReLU가 다른 활성화 기능보다 갖는 가장 큰 장점 중 하나는 동시에 모든 뉴런을 활성화하지 않는다는 것입니다. 위의 ReLU 함수 이미지에서 모든 음수 입력을 0으로 변환하고 뉴런이 활성화되지 않는다는 것을 알 수 있습니다. 이것은 시간당 활성화되는 뉴런이 적기 때문에 매우 효율적입니다. 이것은 긍정적인 영역에 포화되지 않습니다. 실제로 ReLU는 tanh 및 sigmoid 활성화 기능보다 6 배 빠른 속도로 수렴합니다.


ReLU가 제시하는 단점은 음의 영역에서 포화됨으로써 해당 영역의 그래디언트가 0이라는 점입니다. 그라디언트가 0인 경우 역전파 중에 모든 가중치가 업데이트되지 않고 이를 수정하기 위해 Leaky ReLU를 사용합니다. 또한, ReLU 기능은 제로 중심이 아닙니다. 즉, 최적의 지점에 도달하려면 더 길 수 있는 지그재그 경로를 사용해야합니다.




Pooling Layer

풀링 레이어는 CNN 아키텍처의 컨볼루션 레이어간에 볼 수 있습니다. 이 레이어는 기본적으로 네트워크의 공간 크기를 점진적으로 줄임으로써 오버 피팅을 제어하면서 네트워크의 매개 변수 및 계산량을 줄입니다.


이 레이어에는 두 가지 작업이 있습니다. 평균 풀링 및 최대 풀링이 있습니다. 이 글에서는 맥스 풀링에 대해서만 논의 할 것입니다.


맥스 풀링에서 최대 값만 가져옵니다. 이것은 실제로 입력을 통해 슬라이딩하는 필터를 사용하여 수행됩니다. 모든 스트라이드에서 최대 매개 변수가 제거되고 나머지는 드랍됩니다. 이것은 실제로 네트워크를 다운 샘플링합니다.


컨볼루션 계층과 달리 풀링 계층은 네트워크의 깊이를 대체하지 않으며, 깊이 차원은 변경되지 않습니다.


인공지능 : CNN : 개요, 개념, 원리, 소개

최대 풀링


Max-pooling 후 출력에 대한 공식 :

(N-F) / S + 1; 여기서 N = 풀링 층에 대한 입력 치수

F = 필터의 치수

S = 보폭




Fully connected Layer

이 레이어에서 뉴런은 이전 레이어의 모든 활성화에 대한 Fully connected Layer를 가집니다. 따라서 활성화는 행렬 곱셈과 그 뒤에 바이어스 오프셋을 사용하여 계산할 수 있습니다. 이것이 CNN 네트워크의 마지막 단계입니다.


컨볼루션 뉴럴 네트워크는 실제로 숨겨진 레이어와 Fully connected Layer로 구성됩니다.


인공지능 : CNN : 개요, 개념, 원리, 소개

반응형