1.1.5 그림 3개로 딥러닝의 작동 원리 이해하기

1.1.4 딥러닝에서 ‘딥’이란 무엇일까? | 목차 | 1.1.6 지금까지 딥러닝의 성과

 

이제 머신 러닝이 많은 입력과 타깃target의 샘플을 관찰하면서 입력(예: 이미지)을 타깃(예: ‘고양이’ 레이블)에 매핑mapping하는 것임을 알았습니다. 심층 신경망은 이런 입력-타깃 매핑을 간단한 데이터 변환기(층)를 많이 연결하여 수행한다는 것도 배웠습니다. 이런 데이터 변환은 샘플에 노출됨으로써 학습이 이루어집니다. 이제 어떻게 이런 학습이 일어나는지 자세히 살펴봅시다.

층에서 입력 데이터가 처리되는 상세 내용은 일련의 숫자로 이루어진 층의 가중치weight에 저장되어 있습니다. 기술적으로 말하면 어떤 층에서 일어나는 변환은 그 층의 가중치를 파라미터parameter로 가지는 함수로 표현됩니다(그림 1-7 참고). (이따금 가중치를 그 층의 파라미터라고도 부릅니다.6) 이런 맥락으로 보면 학습은 주어진 입력을 정확한 타깃에 매핑하기 위해 신경망의 모든 층에 있는 가중치 값을 찾는 것을 의미합니다. 하지만 어떤 심층 신경망은 수천만 개의 파라미터를 가지기도 합니다. 이런 경우에 모든 파라미터의 정확한 값을 찾는 것은 어려운 일로 보입니다. 파라미터 하나의 값을 바꾸면 다른 모든 파라미터에 영향을 끼치기 때문입니다!

036_1

그림 1-7 신경망은 가중치를 파라미터로 가진다

어떤 것을 조정하려면 먼저 관찰해야 합니다. 신경망의 출력을 제어하려면 출력이 기대하는 것보다 얼마나 벗어났는지를 측정해야 합니다. 이는 신경망의 손실 함수loss function 또는 목적 함수objective function가 담당하는 일입니다.7 신경망이 한 샘플에 대해 얼마나 잘 예측했는지 측정하기 위해 손실 함수가 신경망의 예측과 진짜 타깃(신경망의 출력으로 기대하는 값)의 차이를 점수로 계산합니다(그림 1-8 참고).

036_2

그림 1-8 손실 함수가 신경망의 출력 품질을 측정

기본적인 딥러닝 방식은 이 점수를 피드백 신호로 사용하여 현재 샘플의 손실 점수가 감소되는 방향으로 가중치 값을 조금씩 수정하는 것입니다(그림 1-9 참고). 이런 수정 과정은 딥러닝의 핵심 알고리즘인 역전파Backpropagation 알고리즘을 구현한 옵티마이저optimizer가 담당합니다. 다음 장에서 역전파가 어떻게 작동하는지 상세하게 설명하겠습니다.

초기에는 네트워크의 가중치가 랜덤한 값으로 할당되므로 랜덤한 변환을 연속적으로 수행합니다. 자연스럽게 출력은 기대한 것과 멀어지고 손실 점수가 매우 높을 것입니다. 하지만 네트워크가 모든 샘플을 처리하면서 가중치가 조금씩 올바른 방향으로 조정되고 손실 점수가 감소합니다. 이를 훈련 반복training loop이라고 하며, 충분한 횟수만큼 반복하면(일반적으로 수천 개의 샘플에서 수십 번 반복하면) 손실 함수를 최소화하는 가중치 값을 산출합니다. 최소한의 손실을 내는 네트워크가 타깃에 가능한 가장 가까운 출력을 만드는 모델이 됩니다. 다시 한 번 말하지만 이 간단한 메커니즘이 확장되면 마술 같은 결과를 만듭니다.

 


 

역주 이런 파라미터를 모델 파라미터라고도 합니다. 이 책에서는 혼동을 피하기 위해 파이썬 프로그램의 함수와 클래스에 전달할 때 사용하는 파라미터는 매개변수로 번역합니다.
7 역주 또는 비용 함수cost function라고도 부릅니다. 정확하게 말하면 비용 함수는 모든 훈련 데이터에 대한 손실 함수의 합을 나타내고 목적 함수는 더 일반적인 용어로 최적화하기 위한 대상 함수를 의미합니다. 보통 이 세 가지 용어를 크게 구분하지 않고 혼용하여 사용하는 경우가 많습니다.

 

1.1.4 딥러닝에서 ‘딥’이란 무엇일까? | 목차 | 1.1.6 지금까지 딥러닝의 성과

 

이 글은 도서출판 길벗에서 출간한  “케라스 창시자에게 배우는 딥러닝“의 1장~3장입니다. 이 책의 저작권은 (주)도서출판 길벗에 있으므로 무단 복제 및 무단 전제를 금합니다.

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중

This site uses Akismet to reduce spam. Learn how your comment data is processed.