지금 계산하는 식
경사하강법
무엇을 최소화하나
「데이터와 모델」 그림의 점을 끌어 옮기면 오차 함수의 모양과 가장 낮은 자리가 함께 바뀝니다.
신경망 구조 (Neural Network)
딥러닝은 데이터를 입력받는 입력층, 패턴을 분석하는 은닉층, 결과를 내놓는 출력층으로 구성됩니다. 각 노드들은 가중치(선)로 연결되어 정보를 전달합니다.
Guide 관찰 포인트
- 버튼을 눌러 입력 노드, 은닉층, 뉴런 수를 실시간으로 조절해 보세요.
- 정보 전달 버튼 클릭 시 데이터가 층(Layer)을 통과하는 과정을 볼 수 있습니다.
Architecture
신경망 구조 설계 및 시뮬레이션
데이터의 특징(Feature) 개수
모델의 복잡성과 학습 깊이
각 층이 가질 연산 유닛의 개수
설정을 변경하면 신경망 구조 그림이 즉시 업데이트됩니다. 준비가 되면 아래 버튼을 눌러 연산을 시작하세요.
지금 계산하는 식
뉴런의 계산
| x₁ | x₂ | 정답 |
|---|
줄을 눌러 신경망에 넣을 데이터를 고릅니다.
은닉층 활성화 함수
출력층은 0~1 사이 값으로 답하도록 시그모이드로 고정했습니다.
지금 계산하는 식
파라미터 9개 — 한 줄이 뉴런 하나(은닉1 · 은닉2 · 출력), 화살표 앞이 바뀌기 전 값
가중치 갱신
결정 경계 학습 (Decision Boundary)
딥러닝은 비선형 데이터(단순한 직선으로 나눌 수 없는 데이터)를 구불구불한 경계선을 만들어 분류해냅니다. 학습이 반복(Epoch)될수록 경계가 정교해집니다.
실험해 보기
- 원형 데이터가 파란색/주황색 영역으로 나뉘어 가는 과정을 확인하세요. 데이터에 노이즈가 섞여 있어 경계에 걸친 점 몇 개는 끝까지 맞히지 못합니다. 노이즈를 올릴수록 더 많이 틀립니다.
- 뉴런 수가 적으면(예: 2개) 복잡한 모양을 만들기 어렵습니다. 뉴런 수를 늘려 차이를 관찰하세요.
과적합 (Overfitting)
모델이 너무 복잡하면 훈련 데이터(Train)의 사소한 노이즈까지 다 외워 버립니다. 이 경우 오히려 새로운 시험 데이터(Validation)를 예측할 때 오차가 커지는 현상이 발생합니다.
관찰 포인트
- 「모델 복잡도」를 높게 설정하고 실행해 보세요.
- 파란 선(훈련 오차)은 0에 가깝게 줄어들지만, 빨간 선(검증 오차)은 중간부터 오히려 다시 솟아오르는(Overfitting) 것을 볼 수 있습니다.
- 복잡도를 「매우 낮음」으로 두면 두 선이 나란히 내려가 벌어지지 않습니다. 두 설정을 번갈아 실행해 비교해 보세요.
- 이 그래프의 값은 실제 학습 기록이 아니라, 과적합이 나타나는 전형적인 모양을 보여 주려고 수업용으로 지어낸 값입니다.
복잡할수록 과적합 위험 상승