CHAPTER 3 신경망

신경망 성문 지니가 도로시와 토토에게 ‘신경망의 세계’로 들어가는 대문을 가리키며 3장의 핵심 여정을 안내하고 있어요.

지니의 안내

  • 지니: “도로시, 토토! 퍼셉트론 성문을 통과한 것을 축하해. 이제부터는 매끄러운 마법을 쓰는 ‘신경망의 세계’가 펼쳐질 거야!”
  • 도로시: “와! 퍼셉트론은 우리가 손으로 직접 가중치를 맞춰줘야 해서 조금 까다로웠는데, 신경망은 데이터로부터 자동으로 학습할 수 있다니 신기해!”
  • 토토: “(신나게 짖으며) 멍멍! 지니, 신경망 나라 지도를 보여줘!”

3장 세부 목차

신경망 지도 지니가 마법 나침반으로 은닉층과 활성화 함수들이 가득한 신경망 지도를 짚어보이고 있어요.

학습자의 학습 흐름과 흥미를 이끌기 위해 총 7개의 서브 챕터로 나누어 모험을 진행합니다. 아래 링크를 클릭해 순서대로 모험에 합류해 보세요!

03.1 퍼셉트론에서 신경망으로

신경망의 기본 형태(입력층, 은닉층, 출력층)를 살펴보고, 입력 신호 총합을 출력으로 매핑해 주는 활성화 함수(activation function)의 개념적 등장을 이해합니다.

03.2 활성화 함수

임계값 기준으로 급격히 변하는 계단 함수와 매끄러운 S자 곡선을 그리는 시그모이드(sigmoid) 함수, 그리고 최근 딥러닝에서 주로 쓰이는 ReLU 함수의 수학적 성질과 구현을 비교합니다.

03.3 다차원 배열의 계산

넘파이(NumPy)를 사용한 행렬의 내적(dot product) 계산 원리를 배우고, 행렬 곱을 활용해 신경망 가중치 연산을 한 번에 처리하는 스마트한 연산 기법을 체화합니다.

03.4 3층 신경망 구현하기

입력층부터 은닉층을 거쳐 출력층까지 신호가 차례로 전달되는 순방향 처리(forward propagation) 전 과정을 딕셔너리와 행렬 계산을 통해 파이썬 코드로 집대성합니다.

03.5 출력층 설계하기

회귀 분석에 적합한 항등 함수와 분류 문제에 쓰이는 소프트맥스(softmax) 활성화 함수의 수학적 정의를 알아보고, 오버플로를 방지하는 안정적인 소프트맥스 코드를 설계합니다.

03.6 손글씨 숫자 인식

MNIST 손글씨 이미지 데이터셋을 불러와, 이미 학습 완료된 가중치 매개변수 피클 파일과 결합하여 높은 정확도로 숫자를 판별해 내는 추론 시스템 및 배치(batch) 처리 최적화를 구현합니다.

03.7 정리

3장에서 다룬 활성화 함수의 중요성, 다차원 배열을 통한 순전파 구현 효율성, 출력층 설계 패턴 및 핵심 내용들을 총정리합니다.


🌟 3장을 마치며: 신경망

3장에서는 고정된 가중치 연산에서 벗어나, 매끄러운 출력 곡선을 만들어 학습을 가능하게 하는 신경망의 구조와 그 핵심 신호 전달 체계인 활성화 함수를 탐색했습니다.

  • 인공 뉴런에서 신경망으로: 은닉층의 개념을 도입하고, 각 뉴런이 선형적인 가중 신호 합을 비선형적인 활성화 함수를 통해 다음 뉴런에 전달하는 신경망 기본 유닛을 이해했습니다.
  • 매끄러운 비선형성: 계단 함수의 한계를 넘어 연속적인 실수를 전파하는 시그모이드 함수와 연산 속도가 빠르고 0 이하 신호를 차단하는 ReLU 함수 등, 딥러닝 학습에서 역전파의 실마리가 되는 비선형 활성화 함수들의 특징을 비교했습니다.
  • 행렬 연산의 효율성: 여러 뉴런 사이의 복잡한 가중치 연산을 단 한 번의 넘파이 행렬 내적(np.dot)으로 간결하게 실행하는 코딩 기법을 마스터했습니다.
  • 배치 처리의 위력: 데이터를 1장씩 순차 연산하기보다는 일정 묶음(배치) 단위로 행렬을 구성하여 연산 장치의 I/O 병목을 줄이고 컴퓨터 연산 효율을 극대화하는 실전 노하우를 학습했습니다.

신경망 탐험 진행 신경망 정복을 위해 힘차게 다음 단계로 나아가는 도로시, 지니, 그리고 토토

3층 신경망 구조와 손방향 추론 처리를 완성했으니, 다음 4장 신경망 학습에서는 가중치 매개변수의 초깃값들을 오차를 평가하는 손실 함수와 기울기를 활용한 경사하강법을 이용하여 스스로 최적화해 나가는 놀라운 자동 학습 메커니즘을 본격적으로 구현해 보겠습니다!

서브목차