본문 바로가기

딥 러닝

딥 러닝 합성곱 신경망의 구조 5장 중

딥 러닝이라는 것은 은닉층(중간층)이 몇 겹으로 중첩된 신경망으로, 심층 학습이라고 번역되기도 합니다.

은닉이 구조를 가짐으로써 보다 효율적으로 학습이 진행되도록 한 신경망입니다.

그 중에서도 특히 근래에 각광을 받고 있는 것이 합성곱 신경망(CNN) 입니다.

이러한 합성곱 신경망이 어떤 구조로 기능을 하는가를 개괄적인 신경망의 구조 에 등장했던 운반원, 검사원, 판정원의 세가지 역할을 하는 담당자로 해설하기로 합니다.

12개의 뉴런으로 구성되는 입력층 3개의 뉴런으로 구성되는 중간층(은닉층) 그리고 2개의 뉴런으로 구성되는 출력층

은닉층이 수행하는 특징 추출이 핵심

은닉층은 검사원 역할

합성곱 신경망의 은닉층에도 동일하게 검사원 담당자가 상주하고, 특징 패턴의 검사작업을 합니다.

신경망의 검사원은 보고를 기다리는 타입, 이에 비해서 합성곱 신경망은 검사원이 적극적으로 정보를 수집하러 가는 타입

합성곱 신경망 입력층의 역할

신경망으로 이미지 정보를 나르는 '운반원'에 대응

각 화서에 1명씩 담당자가 배치되고, 각 담당자의 임무는 입력된 화소정보(신호의크기)를 가공하지 않고 그대로 위층에 보고

합성곱 신경망 은닉층의 역할

신경망과 합성곱 신경망의 차이

신경망의 은닉층이 정보를 받는 방법 입력층 담당자 전원으로부터 검사원은 정보를 받는다.

합성곱 신경망의 은닉층이 정보를 받는 방법 입력층 담당자를 작게 나누어 그룹화하여 정보를 받는다.

합성곱 신경망의 경우 함유율은 특징 패턴의 유사돌 하고 표현하는게 어룰릴지도 모름

신경망은 은닉층의 각 검사원은 입력 이미지를 일괄 처리하기 때문에 출력은 한 개의 함유율을 가지지만, 합성곱 신경망은 입력 이미지를 잘게 나눈것으로 출력은 함유율의 표

합성곱 신경망의 은닉층에는 검사원 스탭을 3명으로 가정했기 때문에 1명당 1장, 총 3장의 표가 출력되고, 이 표한 세트가 하나의 합성곱층을 형성 컨볼루션층  이라고도 부름

풀림층 : 실제로 100 X 100 화소 이상의 이미지를 취급하므로, 검사원을 다시 정보의 압축을 시도

예를들면 합성곱층으로 얻어진 각 출력표를 2x2 크기로 구분하고 그 구분된 네 개중 가장 큰 값을 최대값으로 산출

합성곱층에 있는 3장의 표에 이 처리를 실행하고 압축된 표들을 풀링층이라 부릅니다.

풀링층으로부터 정보를 조합하는 방식은 신경망의 경우와 같다

풀링층의 각 성분으로부터 나오는 화살표에 가중치를 붙여 담당한 숫자가 어떤가의 판단이 쉽도록 값을 설정합니다.

매개변수의 결정법

임계값은 주어진 것으로 가정하고 이야기를 진행했고 그러나 그것을 어떤값으로 설정하면 좋은지는 처음에는 불명확

그것을 결정하기 위해서 합성곱 신경망 스스로 결정하는 방벙을 이용

이상의 계산법은 신경망의 경우와 동일

수학 모델의 최적하롸라고 부르는 기법이고 학습이라고도 부릅니다.

신경망의 한계

이미지 식별을 신경망이 수행할 때, 대상이 되는 이미지가 갖는 화소수가 커지면, 은닉층의 가중치가 커지고, 컴퓨터의 자원을 다 써버리게 됩니다.

이 문제의 해결하는 것이 합성공 신경망이다..

훈련데이터의 정답

정답으로 설정한 데이터를 훈련데이터라고 합니다.

Xij = 입력층 i행 j열에 있는 뉴런의 이름

Xij = 입력층 i행 j열에 있는 뉴런의 출력값

은닉층 뉴런의 출력은 표형식

작게 나누어 표시하므로 하나의 뉴런이 출력하는 값은 단일하지 않고 지역에 따른 표 형식

복수 개의 뉴런이 배치되어있으므로 은닉층 뉴런이 출력하는 표는 복수개이고 이 출력표 세트가 합성곱 츠

신경망을 현실 제이터에 적용하면, 신경망을 연결하는 화살의 수가 방대하게 되고 결정해야 할 모델의 매개변수 수가 컴퓨터의 능력을 넘어서게 됩니다. 그 원인은 입력층 뉴런과 은닉층 뉴런이 모두 결합되어 있기 때문입니다. 이와 같은 결합 방식을 전결합 이라고 합니다.

신경망은 전결합

합성곱 신경망은 입력층 뉴런을 조금씩 나누어서 검토

입력층 뉴런을 작게 나누는 것으로 은닉층 뉴런이 검토하는 화살의 수가 줄어듭니다.

6X6개의 세분화된 각 지역에 대해서 은닉층의 뉴런은 4장에서 신경망 때와 동일한 처리를 합니다 이 때, 세분화된 입력층의 뉴런에 주어진 '가중치' 는 아래 그림과 같은 표로 표현 할 수 있습니다.

필터는 세분화된 입력층의 뉴런에 주어진 가중치의 표

13 은닉층의 활성화 함수를 변경

지금까지 뉴런의 활성화 함수로 시그모이드 함수를 이용 했습니다.

시그모이드 함수에만 구애 받을 필연성은 없습니다.

여기에서는 시그모이드 함수대신 램프 함수 를 이용합니다.

뉴런으로 시그모이드 뉴런을 이용했습니다.

시그모이드 뉴런이라는 것은 시그모이드 함수 O(x)를 활성화 함수로 이용하는 인공 뉴런입니다.

램프함수의 장점은 계산이 단순합니다.

실용적인 합성곱 신경망은 방대한 수의 뉴런으로 구성되기 때문에 계산이 쉽다는 것은 다행스러운 일

계싼이 쉬운 램프함수를 활성화 함수로 하는 뉴런을 ReLU라고 부릅니다

ReLU 의 출력은 0과 1사이로 한정되지 않습니다.

출력의 해석이 어렵다는 결점이 있습니다.

 해석이 불필요한 은닉층(중간층)의 뉴런으로 자주 이용됩니다.

12 매개변수에 음수를 허용하면

신경망의 기본은 인공 뉴런입니다.

필터의 성부도 가중치라고 생각되기 때문에 지금까지 매개변수 전반에 걸쳐서 음수를 배제한 것입니다.

바이어스 : 음수를 허용하기 위한 준비

쎄타 는 임계값이라고도 부르고 생물학적으로 뉴런의 특성을 표현하는 값입니다. 직관적으로 말하면 쎄타가 크면 그 뉴런은 자극에 대해서 흥분하기 어렵고(즉 둔감) 쎄타가 작으면 흥분하기 쉽다(즉 민감) 라는 감수성을 나타냄

임계값 쎄타 를 변경한 매개변수 v를 바이어스라고 부릅니다.

합성곱의 의미

수학적인 의미에서는 이와 같은 매개변수의 감소는 계산효율을 높이는 효과를 낳습니다.

신경망의 구조에서는 동일한 좌우의 패턴이 다른 것으로 간주됩니다.

신경망은 입력층 전체를 한번에 취급하기 때문입니다.

그러나 합성곱 신경망에서는 다음 필터를 이용하여 동일한 것으로 특징 추출 할 수 있습니다.

합성곱층의 뉴런이 산출한 출력표의 각 성분을 필터를 통해서 본 화소 정보가 압축되어 있습니다.

그러나 실제의 이미지를 취급할 때에는 아직 정보량이 너무 많기 때문에 추가로 정보의 압축을 실행합니다. 이것이 풀링층의 역할입니다.

합성곱층 뉴런 의 출력표를 보면 이 표는 6X6 성분을 가지고 있다 

2X2 구역으로 분할한다

그리고 각 구역의 최댓값을 그 구역의 대표값으로 채택합니다

각 구역으로부터 대표값을 골라내어 그것을 p11^F1, P33^F1 이라고 나타낸다.

이 대표값을 고르는 방식으로 유명한 것 중의 하나가 구역의 최댓값을 선출하는 방법입니다.

p11^F1= MAX(. . . .)

P33^F1= MAX(. . . .)

합성곱층에 압축된 화소정보를 추가로 압축하는 방법을 Max 풀링 이라고 부릅니다.

합성곱층의 출력표 3장은 크기 3x3 3장의 표로 압축됩니다. 이와 같이 합성곱층을 축약한 새로운 표를 만드는 충을 풀링층이라고 부르며, 풀링층을 구성하는 표를 풀링표 라고 부르기도 합니다. 출력층은 신경망과 동일한 기능 출력층과 풀링층은 전결합으로 연결된다. 신경망의 경우에는 출력층 뉴런과 은닉층 뉴런과는 전결합 됩니다. 출력층 첫번째 뉴런에 관해서 입력읜 선형합 a^01과 이것으로부터 얻어진 출력 Z1을 구체적으로 작성해 냅니다.

목적함수 Qt를 구한다.

고려중인 신경망에서 출력층의 출력을 z1, z2 두개, 여기에 대응해서 훈련데이터에 있는 정답을 t1, t2라고 하면 정답과 출력값과의 오차 Q는 

Q =  (t1 - z1)^2 + (t2 - z2)^2

그러나 이 논의는 필기체 숫자 이미지 하나를 대상으로 하는것이라 훈련 데이터 전체에 대해서 생각 할때 신경망 전체에 관해서 이것을 모두 더해야만 합니다. 즉 k번째 필기체 숫자 이미지에 관한 오차 Qk를 오차의식 (1)으로부터 구하고 그것들은 모두 더한 Qt를 구합니다.

Qt = Q1 + Q2 + .. + Q190 

목적함수 = 총합 Qt

훈련데이터 전체에 관해서 생각할 떄 이 오차의 총합 Qt 가 신경망이 산출한 이름값과 정답과의 오차가 됩니다.

Qt 를 목적함수라고 부릅니다.

매개변수(즉 필터의 각 성분, 가중치, 임계값) 의 결정이 남아있습니다. 지금까지의 모든 계산은 가상의 매개변수 상에서 이루졌지만 신경망 출력값의 의미를 놀리하면 실제의 매개변수 상에서 이루어져야 합니다.

완성된 워크시트를 이용하여 합성곱 신경망을 결정합니다.

수학적으로 그 결정법을 최적하라고 부르지만 그 구조는 회귀 분석과 신경망의 경우와 동일합니다.