딥 러닝 학습 과정의 수학적 부분을 추적

딥 러닝은 어떤 구조로 움직이고 있을까 하는 의문에서 그 학습 과정을 수학적인 부분까지 조사해 보았습니다.

나 나름대로 이해한 곳까지를 본 기사에서 공개하고 싶습니다.

원래 딥 러닝은 어떤 것인가 하면.

예를 들어 필기 문자가 있다고 가정합니다. 컴퓨터에 이미지를 로드할 수 있지만 정확히 동일한 이미지가 아니라면 '동일한' 것으로 인식할 수 없습니다.

필기 문자와 같이, 표기가 축일 흔들리는 것이라고 곧 판단할 수 없게 되어 버립니다.

대량의 화상 데이터를 학습시키는 것으로 미지의 화상이 와도 판정하도록 할 수 있는 것이 딥 러닝입니다.

장래적으로는, 엑스레이 영상으로부터 인간의 육안으로는 확인할 수 없는 병리를 검지하는 등 인간의 능력을 넘은 판정이 기대되고 있습니다. 바둑의 세계에서는 이미 인공 지능이 인간에게 승리하고 있지요!


딥 러닝은 신경망이라는 계산 과정을 거칩니다. 이 신경망은 행렬 계산으로 나타낼 수 있습니다.


신경망에 의해 출력된 결과는 소프트 맥스 함수를 사용함으로써 확률로 해석되도록 변환할 수 있습니다. 이 출력 확률을 정답 데이터와 비교함으로써 실수를 바로잡고 학습할 수 있습니다.


정답 데이터와의 비교는 "오차"의 평가에서 이루어집니다. 오차가 크면 실수, 오차가 작으면 정답에 접근하고 있다는 것입니다.


이 오차 판정에 주어지는 것이 cross entropy error라고 불리는 함수입니다.


딥 러닝 학습 과정은 "오차"를 최소화하는 것을 목표로 수행됩니다.

최소화를 목표로 할 때 사용되는 것이 "미분"입니다. 미분을 하는 것으로 기울기(기울기)를 확인하고, 그 기울기 방향으로 파라미터를 이동시킨다는 것을 반복함으로써 오차의 최소값에 조금씩 가까이 가는 것입니다.


구체적으로는 가중 계수를 편미분하여 신경망의 최적화를 도모합니다.


가중 계수의 편미분에 의해 구배를 산출해, 그라디언트의 감소 방향으로 파라미터를 어긋나 가는 조작을 반복해 갑니다.





이번에는 신경망의 미분에 의한 학습 과정을 바라 보았습니다.

신경망에서는 오차 역전파법을 이용하여 학습해 가는 것도 가능하며, 이쪽이 보다 효율적인 계산 방법으로 채용되는 경우가 많습니다.

오차 역전파에 대해서도 공부해 나가려고 합니다.

참고
"0으로 만든 Deep Learning - 파이썬에서 배우는 딥 러닝의 이론과 구현"
사이토 야스히로 (저자) 출판사 : 오라일리 일본

좋은 웹페이지 즐겨찾기