CHAPTER 4 신경망 학습
이번 장의 주제는 신경망 학습입니다. 여기서 학습이란 훈련 데이터로부터 가중치 매개변수의 최적값을 자동으로 획득하는 것을 뜻합니다. 이번 장에서는 신경망이 학습할 수 있도록 해주는 지표인 손실 함수를 소개합니다. 이 손실 함수의 결괏값을 가장 작게 만드는 가중치 매개변수를 찾는 것이 학습의 목표입니다. 이번 장에서는 손실 함수의 값을 가급적 작게 만드는 기법으로, 함수의 기울기를 활용하는 경사법을 소개합니다.
지니가 도로시와 토토를 데리고 자동으로 최적의 가중치를 계산해 문이 열리는 신비한 ‘신경망 학습성’으로 진입하고 있어요.
지니의 학습성 가이드
- 지니: “도로시, 토토! 3층 신경망 성까지 오느라 고생 많았어. 이번에는 성안에 숨겨진 비밀 장치들이 가중치 매개변수의 최적값을 ‘자동’으로 찾아내는 신경망 학습(Learning)의 영역으로 들어갈 거야!”
- 도로시: “와! 이전까지는 우리가 가중치 값을 수작업으로 입력해 줬었는데, 이제는 데이터만 던져주면 성이 알아서 학습해서 스스로 지능을 갖추게 되는 거구나! 정말 신기해!”
- 토토: “왈왈! (꼬리를 치며) 자동으로 움직이는 성이라니 신난다 멍!”
4장 세부 목차
학습자의 학습 흐름과 흥미를 이끌기 위해 총 6개의 서브 챕터로 나누어 모험을 진행합니다. 아래 링크를 클릭해 순서대로 모험에 합류해 보세요!
지니가 칠판 가득 4장에서 마주할 핵심 마법 원리(손실 함수, 수치 미분, 경사 하강법)를 그려 지도를 만들어 주고 있어요.
지니의 로드맵 브리핑
- 지니: “4장의 핵심 코스는 세 가지야. 첫째, 우리의 예측이 얼마나 틀렸는지 채점해 주는 손실 함수. 둘째, 골짜기로 내려가는 길의 기울기를 측정하는 수치 미분. 셋째, 이 기울기를 따라 가중치를 조금씩 갱신하는 경사 하강법이야!”
- 도로시: “손실 함수의 점수를 낮추기 위해 미분의 기울기를 구하고, 그 방향으로 계속 발걸음을 옮기는 모험이구나! 지도 덕분에 길을 잃지 않겠어!”
- 토토: “멍멍! (지도를 유심히 보며) 골짜기의 맨 밑바닥이 목표점이다 멍!”
04.1 데이터에서 학습한다!
신경망이 사람이 고안한 수작업 특징 설계에서 탈피하여 데이터 그대로를 스스로 종단간(end-to-end) 학습하는 패러다임과 훈련/시험 데이터 분할의 의의를 배웁니다.
04.2 손실 함수
학습 평가의 기준이 되는 평균 제곱 오차(MSE)와 교차 엔트로피 오차(CEE)의 수식을 알아보고, 정확도 대신 오차율(미분 가능성)을 손실 함수 지표로 삼아야 하는 수학적 직관을 이해합니다.
04.3 수치 미분
미분의 개념을 복습하고 컴퓨터에서 발생하는 반올림 오차와 근사 오차를 보정하기 위해 중심 차분을 활용한 파이썬 수치 미분 코드 구현법을 익힙니다.
04.4 기울기
모든 변수의 편미분을 벡터로 정리한 기울기(gradient)의 개념을 바탕으로, 손실 함수의 출력값을 최소화하는 경사 하강법(gradient descent method)과 적절한 학습률 설정의 중요성을 체화합니다.
04.5 학습 알고리즘 구현하기
2층 신경망 클래스(TwoLayerNet)를 설계하여 미니배치 데이터 추출부터 기울기 계산, 경사 하강 매개변수 갱신, 에폭 단위의 훈련/시험 데이터 정확도 추이를 모니터링하는 종합 학습 루프를 구축합니다.
04.6 정리
4장에서 배운 손실 함수의 의의, 미니배치 학습의 효율성, 수치 미분을 통한 기울기 획득법 등의 핵심 내용을 한눈에 정리합니다.
🌟 4장을 마치며: 신경망 학습
4장에서는 신경망이 데이터로부터 정답에 부합하도록 가중치를 스스로 조율해 나가는 ‘학습(Learning)’ 메커니즘을 상세히 다루었습니다.
- 수작업에서 기계 학습으로: 특징 추출 방법(SIFT, HOG 등)을 사람이 고민하지 않고, 원본 데이터 형태 그대로를 활용하여 ‘종단간(end-to-end)’으로 표현력을 학습하는 딥러닝의 강점을 고찰했습니다.
- 지표의 미분 가능성: 정확도처럼 0과 1 등으로 딱딱 끊어지는 불연속 지표 대신, 미소한 매개변수 변화에도 매끄럽게 요동치며 올바른 피드백을 주는 손실 함수의 중요성을 수학적으로 이해했습니다.
- 경사 하강의 첫걸음: 훈련 데이터 전체가 아닌 임의의 표본 덩어리(미니배치)를 무작위로 추출하여 학습하는 확률적 경사 하강법(SGD)을 구현하고, 최적 매개변수를 추적하는 나침반 역할을 해주는 수치 미분 기울기 연산을 완성했습니다.
다만 수치 미분은 모든 가중치 매개변수 원소 하나하나마다 순전파 계산을 반복해야 하므로 파라미터가 수억 개에 달하는 딥러닝 학습 시 엄청난 연산 병목을 유발합니다. 이 한계를 극복하고 번개처럼 빠른 역전파 연산을 실현하는 5장 오차역전파법(Backpropagation)에서 신경망 학습의 진정한 효율성을 완성해 보겠습니다!
삼총사가 밤하늘의 5장 표지판을 바라보며, 더 빠르고 강력한 역전파 마법을 배우러 갈 기대감에 부풀어 있어요.
도로시의 모험 일지
- 도로시: “4장 학습 과정을 마치고 나니 드디어 신경망이 스스로 공부하는 흐름을 완벽하게 이해하게 됐어! 비록 매개변수가 많을 땐 속도가 좀 느리지만 말이야.”
- 지니: “후후, 그 연산 속도 병목을 단숨에 날려버릴 번개 마법이 바로 다음 코스인 5장 오차역전파법이야. 준비됐으면 어서 다음 성문으로 나아가자!”
- 토토: “왈왈! (앞장서서 뛰어가며) 5장 성문으로 돌격이다 멍!”