| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- 운영체제의 발달 과정
- 딥러닝
- 뿌..
- 절차적 사고의 장점
- 패킷트레이서 이용
- 기계어
- 레지스터
- 운영체제 목적
- 운영체제의 기능 1. 자원 관리 기능 2. 시스템 보호 3. 네트워크(통신 기능)
- 운영체제 서비스
- 운영체제의 미래
- 반복 구조 찾기
- 장치에 할당할 수 없는 NET ID Broadcast주소
- 겁나 많아
- 컴퓨터
- 절차적 사고
- gensim 3.7.3 설치 오류
- 말 인용
- 국립과천과학관
- 선택
- 소프트웨어 시대
- 순서도
- 앨런 튜링
- 미래 사회의 단위
- 출력
- 프로그래밍
- 처리
- 공부정리
- 해결 방안
- 소프트웨어
- Today
- Total
hye-_
인공신경망 본문
인공신경망
인공지능은 컴퓨터가 인간의 지능적인 행동을 모방할 수 있도록 하는 소프트웨어로 인간이 가진 지적능력의 일부 또는 전체를 인공적으로 구현한 것을 의미한다.
- 의미 →
컴퓨터가 스스로 생각하는 것처럼 보이게 만들기 위해 인간의 사고, 판단, 학습 같은 지능을 소프트웨어 형태로 흉내 내는 기술 전체를 의미한다. - 왜 →
인간은 상황을 판단하고 경험을 통해 학습하며 문제를 해결하는데, 이러한 능력을 컴퓨터에 부여하면 반복 작업 자동화뿐 아니라 복잡한 의사결정까지 수행할 수 있기 때문에 산업 전반에서 효율성과 정확성을 극대화하기 위해 인공지능이 필요하게 되었고, 결국 인간의 지능을 모방하는 것이 핵심 목표가 된다. - 용어뜻 →
인공지능(AI, Artificial Intelligence): 인간 지능을 모방하는 기술
지능적 행동: 학습, 추론, 문제 해결 능력 - 수식 →
AI ⊃ ML ⊃ DL - 예시 →
자율주행 자동차가 도로 상황을 판단하고 스스로 운전하는 것
인공지능을 구현하기 위해서 머신러닝(기계학습)을 이용하며, 머신러닝의 인공신경망을 기반으로 한 알고리즘이 딥러닝이다.
- 의미 →
AI를 만들기 위해 데이터를 통해 학습하는 머신러닝을 사용하고, 그중에서도 신경망 구조를 활용한 것이 딥러닝이다. - 왜 →
인공지능을 사람이 일일이 규칙으로 만들기에는 현실 세계가 너무 복잡하기 때문에 데이터로부터 자동으로 패턴을 학습하는 머신러닝이 필요하고, 특히 복잡한 데이터(이미지, 음성 등)를 처리하기 위해서는 다층 구조를 가진 인공신경망 기반의 딥러닝이 더 강력한 성능을 보이기 때문에 이러한 계층 구조가 만들어졌다. - 용어뜻 →
머신러닝(ML, Machine Learning): 데이터로부터 규칙 학습
딥러닝(DL, Deep Learning): 다층 신경망 기반 학습
인공신경망(ANN): 뉴런 구조 모방 모델 - 수식 →
y = f(Wx + b) - 예시 →
이미지에서 고양이를 자동으로 인식하는 모델
따라서 인공지능, 머신러닝, 딥러닝은 포함 관계를 가지고 있으며, 인공신경망은 머신러닝의 유형인 지도학습의 한 종류로 구분할 수 있다.
- 의미 →
AI 안에 ML이 있고, ML 안에 DL이 있으며, 신경망은 머신러닝의 한 방법이다. - 왜 →
인공지능이라는 큰 개념 안에서 데이터를 이용한 학습 방법이 머신러닝이고, 그중에서도 신경망 구조를 활용한 것이 딥러닝이기 때문에 자연스럽게 포함 관계가 형성되며, 또한 신경망은 입력과 정답 데이터를 이용해 학습하는 경우가 많기 때문에 지도학습 범주에 포함되는 경우가 많다. - 용어뜻 →
포함 관계: 집합 구조
지도학습(Supervised Learning): 정답(label)이 있는 학습 - 수식 →
AI ⊃ ML ⊃ DL ⊃ ANN - 예시 →
스팸메일 분류 모델 (정답 데이터 있음 → 지도학습)
또한 인공신경망이 XOR연산 불가 문제, 기울기 소멸 문제를 거쳐 현재의 딥러닝으로 정의되었기 때문에 딥러닝이 더 진보적인 개념을 가지고 있다.
- 의미 →
과거 신경망의 한계를 해결하면서 현재의 딥러닝이 발전했다. - 왜 →
초기 인공신경망은 단층 구조로 XOR 같은 비선형 문제를 해결하지 못했고, 다층 구조에서는 학습 과정에서 기울기가 점점 작아져 학습이 멈추는 기울기 소멸 문제가 발생했는데, 이를 활성화 함수(ReLU), 역전파 개선, 초기화 기법 등으로 해결하면서 딥러닝이 발전했고 기존보다 훨씬 강력한 모델이 되었기 때문에 더 진보적인 개념으로 평가된다. - 용어뜻 →
XOR 문제: 선형 분리 불가능 문제
기울기 소멸(Vanishing Gradient): 학습이 안 되는 현상 - 수식 →
σ(x) = 1 / (1 + e^-x) - 예시 →
딥러닝으로 이미지 인식 정확도가 급격히 상승
머신러닝의 유형은 모델을 학습시키는 과정에서 정답을 알려주느냐 그렇지 않느냐에 따라 지도학습과 비지도학습으로 구분된다.
- 의미 →
정답 데이터 유무에 따라 학습 방법이 나뉜다. - 왜 →
모델이 학습할 때 목표값(정답)이 있으면 그 차이를 줄이면서 학습할 수 있지만, 정답이 없으면 데이터의 구조나 패턴을 스스로 찾아야 하기 때문에 학습 방식이 완전히 달라지고, 이 차이에 따라 지도학습과 비지도학습으로 구분하는 것이 필수적이다. - 용어뜻 →
지도학습: 입력 + 정답
비지도학습: 입력만 존재 - 수식 →
지도학습: L = (y - ŷ)²
비지도학습: clustering - 예시 →
지도: 시험 점수 예측
비지도: 고객 군집화
인공신경망은 인간 두뇌의 학습 과정을 뉴런과 시냅스의 상호작용을 연산과정으로 간주하고 이를 재현한 분류, 예측 모델이다.
- 의미 →
뇌의 구조를 수학적으로 표현한 모델이다. - 왜 →
인간의 뇌는 뉴런 간 연결을 통해 정보를 처리하고 학습하는데, 이를 수학적 연산(가중치, 합, 활성화 함수)으로 표현하면 컴퓨터에서도 동일한 방식의 학습을 구현할 수 있기 때문에 이러한 생물학적 구조를 모방하여 인공신경망이 만들어졌고, 이는 분류와 예측 문제 해결에 매우 효과적이다. - 용어뜻 →
뉴런: 신경세포
시냅스: 뉴런 연결
분류(Classification), 예측(Prediction) - 수식 →
z = Σ(wᵢxᵢ) + b - 예시 →
손글씨 숫자 인식
인공신경망은 두뇌의 뉴런(신경세포)이 연결된 형태를 모방하여 착안되었으며, 뉴런은 시냅스를 거쳐 수상돌기(Dendrite)로 받아들인 외부의 전달물질을 세포체(Cell body)에 저장하다가 자신의 용량을 넘어서면 축색돌기(Axon)를 통해 외부로 전달물질을 내보낸다고 알려져 있다.
- 의미 →
생물학적 뉴런의 구조와 동작을 설명한 것이다. - 왜 →
인공신경망은 단순한 수학 모델이 아니라 실제 뇌의 작동 원리를 기반으로 만들어졌기 때문에 뉴런이 입력을 받고 일정 기준 이상이면 신호를 전달하는 구조를 그대로 모방하게 되었고, 이를 이해해야 인공신경망의 동작 원리도 제대로 이해할 수 있다. - 용어뜻 →
Dendrite: 입력 받는 부분
Cell body: 정보 저장
Axon: 출력 전달 - 수식 →
if Σ(wᵢxᵢ) > θ → activate - 예시 →
자극이 일정 이상이면 신경 신호 발생
즉, 생물학적인 뉴런이 다른 여러 개의 뉴런으로부터 입력값을 받아서 세포체에 저장하다가 자신의 용량을 넘어서면 외부로 출력값을 내보내는 것처럼, 인공신경망의 노드(세포체)는 여러 입력값을 받아서 일정 수준이 넘어서면 활성화되어 출력값을 내보낸다.
- 의미 →
뉴런 동작 = 신경망 노드 동작 - 왜 →
입력값을 단순히 전달하는 것이 아니라 일정 기준(임계값)을 넘어야 출력이 발생하도록 해야 의미 있는 정보만 다음 단계로 전달할 수 있고, 이러한 구조가 없으면 노이즈까지 모두 전달되어 학습 성능이 떨어지기 때문에 활성화 조건이 필수적으로 존재한다. - 용어뜻 →
노드(Node): 인공 뉴런
활성화(Activation): 출력 발생 조건 - 수식 →
a = f(Σ(wᵢxᵢ) + b) - 예시 →
ReLU: max(0, x)
이 과정에서 시냅스에 의해 뉴런과 뉴런을 연결하여 자극이 전달되게 되는데 이는 인공신경망에서 가중치를 학습함을 의미하게 된다.(인공신경망은 데이터로부터 가중치를 학습하는 매커니즘으로 구성된다)
- 의미 →
시냅스 = 가중치 역할 - 왜 →
뉴런 간 연결 강도가 다르듯이 인공신경망에서도 입력마다 중요도가 다르기 때문에 이를 가중치로 표현하고, 데이터 학습을 통해 이 가중치를 조정함으로써 모델이 점점 더 정확한 예측을 하도록 만드는 것이 핵심이며, 결국 학습이란 가중치를 최적화하는 과정이다. - 용어뜻 →
가중치(Weight): 중요도
학습(Learning): 가중치 업데이트 - 수식 →
W = W - η∇L - 예시 →
이미지 분류에서 특정 픽셀 패턴에 더 큰 가중치 부여
인공신경망의 진화 과정
인공신경망이 시간 흐름에 따라 어떻게 발전해왔는지
인공신경망은 단순히 한 번에 완성된 기술이 아니라 수십 년 동안 문제 해결과 실패를 반복하며 발전해왔기 때문에, 현재 딥러닝을 이해하려면 과거의 한계(XOR 문제, 기울기 소멸 등)와 해결 과정을 반드시 알아야 전체 구조와 흐름을 이해할 수 있다.
- 용어뜻 →
진화 과정: 시간에 따른 기술 발전 흐름
인공신경망(ANN): 뇌 구조 모방 모델 - 수식 →
ANN → MLP → DNN - 예시 →
단층 퍼셉트론 → 다층 퍼셉트론 → 딥러닝
인간의 신경 구조를 기반으로 하는 인공신경망의 개념이 1943년 정립되고, 현재의 딥러닝 시대로 진화해온 과정은 다음 연대표와 같다.
- 의미 →
1943년부터 시작된 신경망 개념이 지금 딥러닝까지 발전했다는 설명이다. - 왜 →
초기에는 단순한 뉴런 모델만 존재했지만, 데이터 증가와 컴퓨팅 성능 향상, 그리고 알고리즘 개선(역전파, ReLU 등)을 통해 점점 복잡한 구조를 학습할 수 있게 되었고, 그 결과 현재의 딥러닝 시대까지 도달했기 때문에 이 연대표는 기술 발전의 핵심 흐름을 보여준다. - 용어뜻 →
딥러닝: 다층 신경망 기반 학습
연대표: 시간 순서 정리 - 수식 →
y = f(Wₙ(...f(W₂(f(W₁x))))) - 예시 →
1943 → 퍼셉트론 → 다층 → 딥러닝
연대표 흐름
TLU(Electronic Brain) → Perceptron → ADALINE → XOR Problem → Multi-layered Perceptron → SVM → Deep Neural Network
TLU(Electronic Brain)
- 의미 →
가장 초기의 인공 뉴런 모델 - 왜 →
인간 뉴런의 "입력 → 임계값 → 출력" 구조를 단순하게 수학적으로 구현하기 위한 최초 시도였으며, 이후 모든 신경망의 기본 구조가 된다. - 용어뜻 →
TLU(Threshold Logic Unit): 임계값 기반 모델 - 수식 →
y = 1 if Σ(wᵢxᵢ) ≥ θ else 0 - 예시 →
스위치 ON/OFF 판단
Perceptron
- 의미 →
단층 신경망 - 왜 →
입력 데이터를 선형적으로 구분할 수 있는 모델로 발전했지만, 선형 분리만 가능하다는 한계가 존재했다. - 용어뜻 →
Perceptron: 선형 분류 모델 - 수식 →
y = sign(w·x + b) - 예시 →
직선으로 구분 가능한 데이터 분류
ADALINE
- 의미 →
퍼셉트론 개선 모델 - 왜 →
퍼셉트론은 단순히 분류만 했지만, ADALINE은 오차를 최소화하는 방식(최소제곱법)을 사용하여 더 안정적인 학습을 가능하게 만들었다. - 용어뜻 →
ADALINE: Adaptive Linear Neuron - 수식 →
L = (y - ŷ)² - 예시 →
연속값 예측 가능
XOR Problem
- 의미 →
단층 퍼셉트론이 해결 못하는 문제 - 왜 →
XOR은 선형적으로 분리할 수 없는 데이터이기 때문에 단층 구조로는 절대 해결할 수 없고, 이 문제 때문에 한동안 신경망 연구가 정체되는 암흑기가 발생했다. - 용어뜻 →
XOR: 비선형 문제 - 수식 →
출력: x₁ ⊕ x₂ - 예시 →
(0,0)=0, (1,1)=0, (0,1)=1, (1,0)=1
Multi-layered Perceptron (Backpropagation)
- 의미 →
다층 신경망 + 역전파 등장 - 왜 →
XOR 문제를 해결하기 위해 여러 층을 쌓고, 오차를 뒤에서 앞으로 전달하여 가중치를 업데이트하는 역전파 알고리즘이 등장하면서 신경망이 다시 발전하기 시작했다. - 용어뜻 →
Backpropagation: 오차 역전파 - 수식 →
W = W - η∂L/∂W - 예시 →
이미지 분류 성능 향상
SVM
- 의미 →
신경망 대체 모델 - 왜 →
신경망이 기울기 소멸 문제 등으로 성능이 제한되자, 더 안정적인 성능을 가진 SVM이 등장하면서 한동안 신경망보다 더 많이 사용되었다. - 용어뜻 →
SVM(Support Vector Machine): 마진 최대화 모델 - 수식 →
max margin - 예시 →
텍스트 분류
Deep Neural Network (Pretraining)
- 의미 →
현재 딥러닝 - 왜 →
기울기 소멸 문제를 해결하기 위해 사전학습(pretraining), ReLU, Dropout 등이 등장하면서 깊은 신경망도 학습 가능해졌고, 이로 인해 현재의 딥러닝 시대가 열렸다. - 용어뜻 →
Pretraining: 사전학습
ReLU: max(0,x) - 수식 →
ReLU(x) = max(0, x) - 예시 →
자율주행, 이미지 인식
1차 암흑기
원인: 퍼셉트론의 XOR 게이트 연산 불가능한 문제
- 의미 →
초기 신경망이 한계에 부딪힘 - 왜 →
선형 모델로는 비선형 문제를 해결할 수 없다는 것이 밝혀지면서 연구가 중단되었다.
해결: 다층퍼셉트론과 역전파 알고리즘 등장
- 의미 →
다층 구조로 해결 - 왜 →
여러 층을 쌓으면 비선형 문제를 해결할 수 있기 때문이다.
2차 암흑기
원인: 기울기 소멸 문제, SVM 등장
- 의미 →
신경망 다시 침체 - 왜 →
깊은 신경망에서 학습이 제대로 되지 않아 다른 모델이 대체했다.
해결: ReLU, Dropout, 초기화 개선
- 의미 →
딥러닝 부활 - 왜 →
기울기 소멸을 해결하고 과적합을 방지하면서 깊은 모델 학습이 가능해졌기 때문이다.
TLU
1943년 워렌 맥컬론 월터피츠는 생물학적 신경망 이론을 단순화한 이론을 발표하였는데, 이는 인간의 뇌를 수많은 신경세포가 연결된 디지털 네티워크 모델로 보고 이 신호처리 과정을 모델화하여 표현할 수 있다고 제안했다.
- 의미 →
인간의 뇌를 구성하는 뉴런들의 연결 구조를 단순화하여 컴퓨터에서 계산 가능한 모델로 표현할 수 있다고 제안한 최초의 인공신경망 개념이다. - 왜 →
당시에는 인간의 뇌가 어떻게 정보를 처리하는지 명확하게 수학적으로 설명되지 않았기 때문에, 이를 단순한 구조(입력 → 계산 → 출력)로 바꿔야 컴퓨터에서 구현이 가능했으며, 복잡한 생물학적 시스템을 그대로 구현하는 것은 불가능하므로 핵심 동작(신호 전달과 임계값 판단)만 추출하여 디지털 계산 모델로 바꾸는 것이 필수적이었기 때문에 이러한 단순화 이론이 등장했다. - 용어뜻 →
워렌 맥컬론(Warren McCulloch): 신경과학자
월터 피츠(Walter Pitts): 수학자
생물학적 신경망: 실제 뇌의 뉴런 연결 구조
디지털 네트워크 모델: 0과 1로 표현되는 계산 구조 - 수식 →
y = 1 if Σ(wᵢxᵢ) ≥ θ else 0 - 예시 →
여러 입력 신호를 받아 일정 기준 이상이면 출력이 발생하는 스위치 구조
이를 TLU라 한다.
- 의미 →
위에서 설명한 모델을 TLU(임계 논리 유닛)라고 부른다. - 왜 →
이 모델의 핵심이 입력값들을 더한 후 일정 기준값(임계값)을 넘는지 여부에 따라 출력이 결정되는 구조이기 때문에, 단순한 논리 판단 장치로 볼 수 있으며, 이러한 동작 방식이 논리회로와 유사하여 “임계값을 기준으로 판단하는 유닛”이라는 의미로 TLU라는 이름이 붙었고, 이후 모든 인공신경망의 기본 단위가 되었다. - 용어뜻 →
TLU(Threshold Logic Unit): 임계값 기반 뉴런 모델
Threshold(θ): 임계값
Logic Unit: 논리 판단 장치 - 수식 →
y = H(Σ(wᵢxᵢ) - θ)
(H: 계단 함수, Heaviside function)
- 예시 →
입력 합이 5 이상이면 1 출력, 아니면 0 출력하는 모델
정리
TLU = “입력 합이 임계값 넘으면 1, 아니면 0”인 최초의 인공 뉴런 모델
헵 규칙(Hebb Rule)
헵규칙은 두 개의 뉴런 A, B가 서로 반복적이고 지속적으로 점화(Firing)하여 어느 한쪽 또는 양쪽 모두에 어떤 변화를 야기한다면 상호 간 점화의 효율(Weight)은 점점 커지게 된다는 이론이다.
- 의미 →
두 뉴런이 동시에 자주 활성화될수록 그 연결 강도(가중치)가 점점 강해진다는 학습 원리를 설명하는 이론이다. - 왜 →
뇌에서는 자주 함께 활성화되는 뉴런들 사이의 연결이 점점 강화되는데, 이는 반복적인 자극이 신경 경로를 더 빠르고 강하게 만들기 때문이며 이러한 현상을 수학적으로 모델링하면 학습이라는 개념을 설명할 수 있고, 결국 데이터에서 반복적으로 나타나는 패턴을 더 중요하게 반영하기 위해 가중치를 증가시키는 방식이 필요하기 때문에 이 이론이 등장했다. - 용어뜻 →
Firing: 뉴런이 활성화되어 신호를 발생시키는 것
Weight: 연결 강도(가중치)
점화 효율: 신호 전달의 강도 - 수식 →
Δw = η x y
(η: 학습률, x: 입력, y: 출력)
- 예시 →
자주 같이 등장하는 단어 쌍이 있을수록 모델이 그 관계를 더 강하게 학습
헵의 학습 규칙(Hebb Learning Rule)이라고도 한다.
- 의미 →
위 이론을 헵 학습 규칙이라고 부른다는 정의이다. - 왜 →
이 이론을 제안한 학자 Donald Hebb의 이름을 따서 명명되었으며, 신경망 학습의 가장 기본적인 원리로 인정되었기 때문에 별도의 이름으로 정의되어 이후 다양한 신경망 학습 알고리즘의 기초 개념으로 사용되기 때문에 이러한 명칭이 붙었다. - 용어뜻 →
Hebb Learning Rule: 헵 학습 규칙
학습 규칙: 가중치를 업데이트하는 방법 - 수식 →
w_new = w_old + η x y - 예시 →
같이 활성화되는 입력은 가중치 증가
신호 전달 시 반복적 또는 지속적으로 신호가 자극됨에 따라, 뉴런 A에서 뉴런 B로 가는 경로인 시냅스 연결이 강화된다.
- 의미 →
신호가 반복되면 뉴런 간 연결이 강해진다는 설명이다. - 왜 →
신경계에서는 반복적으로 사용되는 경로일수록 효율성이 증가하여 신호 전달 속도가 빨라지고 연결 강도가 커지는데, 이는 생존에 유리한 정보를 빠르게 처리하기 위한 생물학적 적응 메커니즘이며, 이를 인공신경망에서도 동일하게 적용하여 자주 발생하는 패턴의 가중치를 높이는 방식으로 학습을 구현하기 때문에 이러한 설명이 중요하다. - 용어뜻 →
시냅스(Synapse): 뉴런 간 연결
강화: 연결 강도 증가 - 수식 →
w ∝ x y - 예시 →
반복 학습할수록 특정 입력 패턴에 더 민감해짐
이는 TLU에 가중치라는 개념이 적용되게 하여, 각 입력에 따라 중요도를 달리 구성할 수 있게 하였다.
- 의미 →
TLU에 가중치를 도입하여 입력마다 중요도를 다르게 설정할 수 있게 되었다는 의미이다. - 왜 →
초기의 TLU는 모든 입력을 동일하게 처리했지만 현실 데이터에서는 어떤 입력이 더 중요한 역할을 하기 때문에 이를 반영하지 않으면 정확한 판단이 불가능하며, 따라서 각 입력마다 다른 영향력을 부여하기 위해 가중치 개념이 도입되었고, 이는 모델이 데이터를 학습하면서 중요한 특징을 자동으로 강조할 수 있도록 만드는 핵심 요소가 된다. - 용어뜻 →
가중치(Weight): 입력의 중요도
TLU: 임계값 기반 뉴런 모델 - 수식 →
y = Σ(wᵢxᵢ) - 예시 →
시험 점수 예측에서 수학 점수에 더 큰 가중치 부여
각 두 개의 입력변수를 성별(X_1)과 나이(X_2)라고 가정하자, 만약 나이 변수가 더 중요한 변수라면, 나이(X_2) 변수의 가중치(Weight)를 높게 주어(X_1=0.2, X_2=0.5) 두 개의 값이 합쳐졌을 때 나이 변수의 영향력을 높일 수가 있게 되는 것이다.
- 의미 →
가중치를 통해 변수의 중요도를 조절할 수 있다는 예시이다. - 왜 →
모든 변수는 동일한 영향력을 가지지 않기 때문에 실제 모델에서는 더 중요한 변수에 더 높은 가중치를 부여해야 전체 예측 성능이 향상되며, 이를 통해 모델이 중요한 특징을 더 강하게 반영하도록 만들 수 있고, 결국 데이터의 패턴을 더 정확하게 학습할 수 있기 때문에 가중치 조정이 핵심이 된다. - 용어뜻 →
X₁: 성별 변수
X₂: 나이 변수
Weight: 중요도 계수 - 수식 →
y = 0.2X₁ + 0.5X₂ - 예시 →
나이가 더 중요한 경우 나이 영향이 더 크게 반영됨
헵 규칙은 후에 신경망 모델 학습 규칙의 토대가 되었다.
- 의미 →
헵 규칙이 이후 신경망 학습의 기본 원리가 되었다 - 왜 →
현대의 딥러닝에서 사용하는 복잡한 학습 알고리즘(역전파 등)도 결국 가중치를 조정하는 방식이라는 점에서 헵 규칙의 “함께 활성화되면 연결이 강화된다”는 개념을 확장한 것이며, 이 기본 원리가 없었다면 신경망이 데이터를 통해 스스로 학습하는 구조를 설계하기 어려웠기 때문에 헵 규칙은 모든 신경망 학습의 출발점이 되는 매우 중요한 이론이다. - 용어뜻 →
학습 규칙: 가중치 업데이트 방식
신경망 모델: 인공신경망 기반 모델 - 수식 →
W ← W + ΔW - 예시 →
딥러닝에서 반복 학습하며 가중치 계속 업데이트
정리
“같이 자주 활성화되는 뉴런은 연결이 강해진다 → 이것이 가중치 학습의 시작”
퍼셉트론과 아달라인
TLU 알고리즘과 헵의 규칙을 결합하여 프랑크 로젠블라트는 퍼셉트론 즉, 간단한 덧셈과 뺄셈을 하는 이층 구조의 학습 컴퓨터망에 근거한 패턴인식을 위한 알고리즘을 만들었다.
- 의미 →
TLU(임계값 모델)와 헵 학습 규칙을 결합하여 퍼셉트론이라는 초기 신경망 모델이 만들어졌으며, 이는 패턴 인식을 위한 학습 알고리즘이다. - 왜 →
TLU는 단순히 입력을 더해서 임계값을 넘는지만 판단하는 구조였고 학습 능력이 부족했기 때문에 여기에 헵 규칙을 결합하여 가중치를 조정할 수 있게 만들면 데이터로부터 학습이 가능해지고, 이를 통해 단순한 계산을 넘어 패턴을 인식하는 모델을 만들 수 있었기 때문에 퍼셉트론이 등장하게 되었다. - 용어뜻 →
프랑크 로젠블라트(Frank Rosenblatt): 퍼셉트론 창시자
퍼셉트론(Perceptron): 초기 신경망 모델
이층 구조: 입력층 + 출력층 - 수식 →
y = sign(Σ(wᵢxᵢ) + b) - 예시 →
이미지에서 숫자 0과 1을 구분하는 모델
퍼셉트론은 목표값을 정하고 현재 계산된 값이 목표값과 다르면 그만큼의 오차를 다시 퍼셉트론에 반영하여 오차를 줄여나가는 알고리즘이 적용되었으며, 인간의 신경망과 유사하게 만든 입력층, 출력층으로 구성되어 학습능력을 가진 신경망 모델로 정의되었다.
- 의미 →
퍼셉트론은 오차를 줄이면서 학습하는 구조이며, 입력층과 출력층으로 구성된 학습 가능한 모델이다. - 왜 →
단순히 결과를 내는 것만으로는 학습이 이루어지지 않기 때문에 목표값과 실제값의 차이를 이용해 가중치를 조정해야 점점 더 정확한 결과를 만들 수 있고, 이러한 피드백 구조가 있어야 모델이 데이터를 통해 스스로 개선될 수 있기 때문에 오차를 기반으로 학습하는 알고리즘이 필요하다. - 용어뜻 →
목표값(Target): 정답 값
오차(Error): 예측값과 실제값 차이
입력층(Input layer), 출력층(Output layer) - 수식 →
w = w + η(y - ŷ)x - 예시 →
틀린 예측을 하면 다음 학습에서 가중치 수정
퍼셉트론에서는 활성화 함수가 순입력 함수의 리턴값을 임계값과 비교하여 그 결과에 따라 1또는 -1을 출력한다.
- 의미 →
퍼셉트론은 임계값 기준으로 결과를 1 또는 -1로 출력한다. - 왜 →
출력을 단순한 이진 값으로 제한하면 분류 문제를 쉽게 해결할 수 있고, 계산이 단순해지며, 초기 컴퓨터 환경에서도 효율적으로 구현이 가능했기 때문에 이러한 계단형 활성화 함수가 사용되었고 이는 선형 분류 문제를 해결하는 데 적합한 구조였다. - 용어뜻 →
활성화 함수: 출력 결정 함수
순입력 함수: Σ(wᵢxᵢ) - 수식 →
y = sign(z), z = Σ(wᵢxᵢ) - 예시 →
합이 0보다 크면 1, 아니면 -1
따라서 퍼셉트론의 가중치 업데이트는 학습 데이터에 대한 활성화 함수의 리턴값과 학습 데이터의 실제 결과값이 같은지 다른지에 따라 이루어지게 된다.
- 의미 →
예측이 맞았는지 틀렸는지에 따라 가중치를 수정한다. - 왜 →
퍼셉트론은 연속적인 오차 크기를 반영하는 것이 아니라 단순히 맞았는지 틀렸는지를 기준으로 가중치를 조정하기 때문에 계산이 단순하지만, 정밀한 조정이 어렵고 복잡한 문제에서는 성능이 제한되는 특징이 있으며, 이러한 방식은 초기 학습 모델로는 적합하지만 한계도 존재한다. - 용어뜻 →
리턴값: 예측값
가중치 업데이트: weight 수정 - 수식 →
if y ≠ ŷ → w = w + ηyx - 예시 →
틀리면 가중치 수정, 맞으면 유지
1960년 베나드 윈드로와 테드 호프은 퍼셉트론의 성능을 개선한 인공신경망 알고리즘인 아달라인 논문을 발표한다.
- 의미 →
퍼셉트론을 개선한 ADALINE이 등장했다. - 왜 →
퍼셉트론은 단순히 맞고 틀림만으로 학습하기 때문에 미세한 오차를 반영하지 못하는 한계가 있었고, 이를 해결하기 위해 오차의 크기까지 고려하여 가중치를 조정하는 더 정교한 모델이 필요했기 때문에 ADALINE이 개발되었다. - 용어뜻 →
베나드 윈드로(Bernard Widrow)
테드 호프(Ted Hoff)
ADALINE: Adaptive Linear Neuron - 수식 →
L = (y - ŷ)² - 예시 →
예측값과 실제값 차이를 기반으로 학습
아달라인은 단층신경망에서 적당한 가중치를 알아내기 위해 출력값을 오차에 비례하게 가중치를 조절하는 인공신경망 알고리즘이며, 역전파 알고리즘의 기본 이론이 되었다.(아달라인은 델타규칙이라고도 한다.)
- 의미 →
아달라인은 오차 크기에 따라 가중치를 조정하는 모델이다. - 왜 →
퍼셉트론은 단순히 맞고 틀림만 반영하지만, 실제 문제에서는 오차의 크기가 중요하기 때문에 이를 반영해야 더 정밀한 학습이 가능하고, 이러한 방식이 이후 경사하강법과 역전파 알고리즘으로 발전하게 되었기 때문에 매우 중요한 기초 이론이 된다. - 용어뜻 →
델타 규칙(Delta Rule): 오차 기반 학습
역전파: 오차를 뒤로 전달하는 방식 - 수식 →
Δw = η(y - ŷ)x - 예시 →
오차가 크면 더 크게 가중치 수정
퍼셉트론과 아달라인의 차이점은 가중치(Weight) 업데이트를 위한 활성화 함수(Active Function)가 다른 것인데, 퍼셉트론이 출력값인 1 또는 -1을 실제 결과값과 비교한다면, 아달라인은 신경망의 출력값과 실제 결과값을 직접 비교하여 오차가 최소화되도록 하는 손실 함수(Loss Function)를 사용한다.
- 의미 →
퍼셉트론은 단순 비교, 아달라인은 오차 최소화 방식이다. - 왜 →
퍼셉트론은 출력이 이진값이라서 오차의 크기를 반영할 수 없지만, 아달라인은 연속적인 출력값을 사용하여 실제값과의 차이를 계산할 수 있고 이를 최소화하는 방향으로 학습하기 때문에 더 안정적이고 정밀한 학습이 가능하다. - 용어뜻 →
Loss Function: 오차 측정 함수
Active Function: 활성화 함수 - 수식 →
L = (y - ŷ)² - 예시 →
예측 0.8 vs 실제 1 → 오차 반영
순입력 함수의 출력값과 실제 결과값의 오차를 손실 함수로 계산하고 손실 함수의 값이 최소가 되도록 최소제곱법을 이용하여 가중치를 조정하게 된다.
- 의미 →
오차를 최소화하도록 가중치를 조정한다. - 왜 →
오차를 최소화하는 방향으로 가중치를 조정해야 모델이 데이터를 가장 잘 설명할 수 있고, 최소제곱법은 계산이 간단하면서도 최적의 해를 찾을 수 있는 방법이기 때문에 초기 신경망 학습에서 널리 사용되었다. - 용어뜻 →
최소제곱법(OLS): 오차 제곱 최소화 방법 - 수식 →
min Σ(y - ŷ)² - 예시 →
오차가 가장 작아지는 직선 찾기
이러한 매커니즘은 경사하강법, 회귀분석, 서포트벡터머신 알고리즘에서 최적의 가중치를 찾기 위해 사용하게 된다.
- 의미 →
이 방식은 다양한 알고리즘의 기본이 된다. - 왜 →
모든 머신러닝 모델의 핵심은 오차를 줄이기 위한 최적의 파라미터를 찾는 것이며, 이를 위해 손실 함수를 정의하고 이를 최소화하는 방식이 필요하고, 경사하강법은 이러한 최소화 과정을 효율적으로 수행하는 방법이기 때문에 다양한 알고리즘에서 공통적으로 사용된다. - 용어뜻 →
경사하강법(Gradient Descent): 최적화 방법
회귀분석: 예측 모델
SVM: 분류 모델 - 수식 →
W = W - η∇L - 예시 →
오차가 줄어드는 방향으로 계속 이동
정리
퍼셉트론 = 맞고 틀림 기준 / 아달라인 = 오차 크기 기준 (→ 딥러닝의 시작)
퍼셉트론의 한계
퍼셉트론은 AND, OR, NAND 게이트를 휼륭하게 구분해 냈다.
- 의미 →
퍼셉트론은 AND, OR, NAND와 같은 논리 게이트 문제를 잘 해결할 수 있는 모델이다. - 왜 →
이러한 논리 게이트들은 입력값들을 하나의 직선으로 구분할 수 있는 선형 분리(linearly separable) 문제이기 때문에 퍼셉트론이 가진 “직선 하나로 데이터를 나누는 구조”로 충분히 해결이 가능하며, 입력값과 가중치의 선형 결합을 통해 경계선을 만들 수 있기 때문에 이러한 단순 논리 문제에서는 매우 효과적으로 작동한다. - 용어뜻 →
AND: 둘 다 1일 때만 1
OR: 하나라도 1이면 1
NAND: AND의 반대
선형 분리: 직선으로 나눌 수 있는 데이터 - 수식 →
y = sign(w₁x₁ + w₂x₂ + b) - 예시 →
직선 하나로 두 클래스 분리 가능
AND 게이트는 2개의 입력값 중 모두 1인 값만 출력값이 1이 되므로 하나의 녹색 원(y=1)과 흰색 원(y=0)을 구분할 수 있다.
- 의미 →
AND 게이트는 (1,1)만 1이므로 쉽게 분리된다. - 왜 →
출력값이 1인 경우가 단 하나의 점에 해당하기 때문에 나머지 점들과 직선 하나로 충분히 구분이 가능하며, 이 경우 데이터가 매우 단순하게 분포되어 있기 때문에 선형 모델인 퍼셉트론이 쉽게 경계를 학습할 수 있다. - 용어뜻 →
y: 출력값
입력값: x₁, x₂ - 수식 →
y = x₁ ∧ x₂ - 예시 →
(1,1)=1 나머지는 0
OR 게이트 또한 2개의 입력값 중 1개만 1이면 출력값도 1이므로 선 하나로 녹색 원 (y=1)과 흰색 원(y=0)을 구분할 수 있다.
- 의미 →
OR 게이트도 직선 하나로 분리 가능하다. - 왜 →
출력값이 1인 영역이 넓고 하나의 방향으로 모여 있기 때문에 하나의 직선으로 0과 1을 구분하는 것이 가능하며, 이 역시 선형 분리 가능한 문제이기 때문에 퍼셉트론이 쉽게 학습할 수 있는 구조이다. - 용어뜻 →
OR: x₁ 또는 x₂가 1이면 1 - 수식 →
y = x₁ ∨ x₂ - 예시 →
(0,1), (1,0), (1,1)=1
NAND 게이트 또한 마찬가지이다.
- 의미 →
NAND도 선형 분리 가능하다. - 왜 →
NAND는 AND의 반대 구조이기 때문에 데이터 배치가 여전히 직선 하나로 나눌 수 있는 형태를 유지하고 있으며, 단순히 출력값만 반전된 형태이기 때문에 퍼셉트론으로 충분히 분리 가능하다. - 용어뜻 →
NAND: NOT(AND) - 수식 →
y = ¬(x₁ ∧ x₂) - 예시 →
(1,1)=0 나머지=1
하지만 XOR 게이트의 경우 선 하나로 표현이 가능하지 않다.
- 의미 →
XOR은 직선 하나로 분리할 수 없다. - 왜 →
출력값이 1인 점들이 서로 대각선 방향으로 떨어져 있고 0인 점들도 반대 대각선에 위치하기 때문에 어떤 직선을 그어도 두 클래스가 섞이게 되며, 이는 선형 모델로는 해결할 수 없는 비선형 분리 문제이기 때문에 퍼셉트론으로 해결이 불가능하다. - 용어뜻 →
XOR: 서로 다르면 1
비선형 분리: 직선으로 나눌 수 없음 - 수식 →
y = x₁ ⊕ x₂ - 예시 →
대각선 형태로 분포
XOR 게이트는 입력값 두 개가 서로 다른 값을 가지고 있을 때만 출력값이 1이되고 입력값 두 개가 서로 같은 값을 가지면 출력값이 0이되는 게이트이기 때문에 출력값 0(하얀색 원)과 1(녹색 원)이 대각선에 위치한다.
- 의미 →
XOR은 대각선 구조로 데이터가 배치된다. - 왜 →
(0,1), (1,0)이 1이고 (0,0), (1,1)이 0이기 때문에 같은 값과 다른 값이 서로 교차 형태로 나타나며, 이러한 구조는 직선 하나로 분리할 수 없고 반드시 비선형 경계가 필요하게 된다. - 용어뜻 →
대각선 분포: 교차 형태 데이터 - 수식 →
y = (x₁ + x₂) mod 2 - 예시 →
(0,1)=1, (1,0)=1
XOR 게이트에서 하얀색 원과 녹색 원을 직선 하나로 나누는 것은 불가능하므로 단층퍼셉트론으로는 XOR 게이트를 구현할 수 없다.
- 의미 →
단층 퍼셉트론으로 XOR 해결 불가 - 왜 →
퍼셉트론은 입력을 선형 결합하여 하나의 직선 경계만 만들 수 있기 때문에 복잡한 구조를 표현할 수 없으며, XOR처럼 비선형 경계를 필요로 하는 문제에서는 반드시 여러 개의 경계(또는 곡선)가 필요하기 때문에 단층 구조로는 해결이 불가능하다. - 용어뜻 →
단층 퍼셉트론: 하나의 선만 생성
선형 모델: 직선 기반 모델 - 수식 →
y = sign(w·x + b) - 예시 →
직선 하나로 분리 실패
따라서 적어도 두 개의 선이 필요하다.
- 의미 →
XOR은 여러 경계가 필요하다. - 왜 →
데이터가 교차 형태로 존재하기 때문에 한 번에 나눌 수 없고, 최소 두 개 이상의 직선을 이용해 공간을 나누어야 각각의 클래스가 제대로 분리되며, 이는 곧 모델이 더 복잡한 표현력을 가져야 한다는 의미가 된다. - 용어뜻 →
결정 경계: 데이터를 나누는 기준선 - 수식 →
두 개 이상의 선형 결합 필요 - 예시 →
두 개 직선으로 영역 분리
즉, 다층퍼셉트론 모델이 필요하지만 1969년 당시에는 이러한 모델을 학습시킬 방법이 존재하지 않았고, 이는 학계에서 약 20년간 인공신경망을 연구하지 않는 결과(1차 AI 겨울)를 초래하였다.
- 의미 →
다층 구조가 필요했지만 학습 방법이 없어 연구가 중단되었다. - 왜 →
다층 퍼셉트론은 비선형 문제를 해결할 수 있지만, 당시에는 가중치를 어떻게 학습해야 하는지에 대한 알고리즘(역전파)이 존재하지 않았기 때문에 실제로 사용할 수 없었고, 이로 인해 신경망이 쓸모없다고 판단되어 연구가 중단되면서 AI 발전이 정체되는 암흑기가 발생했다. - 용어뜻 →
다층퍼셉트론(MLP): 여러 층 신경망
1차 AI 겨울: 연구 침체기 - 수식 →
(당시 학습 불가능) - 예시 →
신경망 연구 중단 → 이후 역전파로 부활
정리
퍼셉트론은 선형 문제만 가능 → XOR 불가 → 다층 필요 → 당시 학습법 없음 → AI 겨울 발생
다층퍼셉트론
다층퍼셉트론(MLP)을 사용하면 여러 개의 선으로 분류하는 효과를 얻을 수 있기 때문에 XOR게이트의 분류 문제를 해결할 수 있게 된다.
- 의미 →
다층퍼셉트론을 사용하면 여러 개의 결정 경계를 만들어 XOR 문제를 해결할 수 있다. - 왜 →
단층 퍼셉트론은 하나의 직선만 만들 수 있기 때문에 XOR처럼 교차된 데이터 구조를 분리할 수 없지만, 다층퍼셉트론은 은닉층을 통해 여러 개의 선형 결합을 수행하고 이를 조합함으로써 하나의 직선이 아닌 여러 개의 경계를 형성할 수 있으며, 이로 인해 비선형 분리 문제를 해결할 수 있게 되기 때문에 XOR 문제 해결이 가능해진다. - 용어뜻 →
MLP(Multi-Layer Perceptron): 다층 신경망
결정 경계: 데이터를 나누는 선 - 수식 →
y = f(W₂ · f(W₁x + b₁) + b₂) - 예시 →
두 개 이상의 직선을 조합해 XOR 분리
단층퍼셉트론은 입력층과 출력층만 존재하지만, 다층퍼셉트론은 중간에 은닉층(Hidden Layer)이라 불리는 층을 더 추가하였다.
- 의미 →
단층은 2층 구조, 다층은 중간에 은닉층이 존재한다. - 왜 →
단층 구조는 입력을 바로 출력으로 연결하기 때문에 복잡한 패턴을 표현할 수 없지만, 중간에 은닉층을 추가하면 입력 데이터를 한 번 더 변환하고 새로운 특징을 생성할 수 있으며, 이 과정에서 비선형적인 표현이 가능해지기 때문에 복잡한 문제를 해결할 수 있는 능력이 생긴다. - 용어뜻 →
입력층(Input Layer): 데이터 입력
은닉층(Hidden Layer): 중간 계산층
출력층(Output Layer): 결과 출력 - 수식 →
z₁ = f(W₁x), y = f(W₂z₁) - 예시 →
입력 → 은닉층 → 출력 구조
은닉층이 존재할 경우 XOR 게이트는 기존의 AND, NAND, OR 게이트의 조합으로 만들 수있기 때문에 퍼셉트론에서 층을 추가하면서 만들 수있다.
- 의미 →
XOR은 AND, OR, NAND 조합으로 구현 가능하다. - 왜 →
XOR은 단순한 하나의 선형 함수로 표현할 수 없지만, AND, OR, NAND와 같은 선형적으로 분리 가능한 함수들을 조합하면 복잡한 논리 구조를 만들 수 있으며, 은닉층이 이러한 중간 계산을 수행하는 역할을 하면서 여러 개의 단순한 연산을 결합하여 복잡한 비선형 문제를 해결할 수 있게 된다. - 용어뜻 →
조합: 여러 함수 결합
논리 게이트: AND, OR, NAND - 수식 →
XOR = (x₁ NAND x₂) AND (x₁ OR x₂) - 예시 →
여러 퍼셉트론을 조합하여 XOR 구현
이렇게 층을 여러 겹으로 쌓아가면서 선형 분류만으로 풀지 못했던 문제를 비선형적으로 풀 수 있게 된다.
- 의미 →
층이 많아질수록 비선형 문제 해결 가능 - 왜 →
각 층은 입력 데이터를 변환하는 역할을 하며, 여러 층을 거치면서 데이터는 점점 더 복잡한 형태로 변환되고, 이 과정에서 단순한 선형 분리로는 해결할 수 없던 문제를 여러 번의 변환을 통해 비선형적으로 표현할 수 있게 되며, 결국 깊은 신경망은 매우 복잡한 패턴까지 학습할 수 있게 된다. - 용어뜻 →
비선형(Non-linear): 직선으로 표현 불가능
층(Layer): 신경망 구성 단위 - 수식 →
y = fₙ(...f₂(f₁(x))) - 예시 →
이미지 인식, 음성 인식
각 층에서 오차는 역전파 알고리즘을 통해 업데이트해 나간다.
- 의미 →
오차를 뒤에서 앞으로 전달하며 학습한다. - 왜 →
출력층에서 발생한 오차를 각 층으로 전달하여 가중치를 조정해야 전체 네트워크가 올바르게 학습할 수 있으며, 역전파 알고리즘은 미분을 이용해 오차가 각 가중치에 얼마나 영향을 미쳤는지를 계산하고 이를 기반으로 가중치를 업데이트하기 때문에 다층 구조에서도 효율적인 학습이 가능해진다. - 용어뜻 →
역전파(Backpropagation): 오차 전달 알고리즘
오차(Error): 실제값과 예측값 차이 - 수식 →
W = W - η∂L/∂W - 예시 →
출력 오차 → 은닉층 → 입력층 순으로 업데이트
정리
은닉층 = 여러 선을 만드는 역할 → 그래서 XOR 해결 가능 → 학습은 역전파로 진행
역전파 알고리즘
다층퍼셉트론으로 단순한 XOR 문제를 해결할 수 있었지만, 복잡한 비선형 구조의 XOR 문제는 다층퍼셉트론을 이루는 수많은 퍼셉트론 각각의 가중치(Weight)와 편향(Bias) 값을, 구조가 복잡하고 어렵다는 이유로 수정할 방법이 없었다.
- 의미 →
MLP로 XOR은 해결되지만, 복잡한 구조에서는 가중치와 편향을 어떻게 학습해야 할지 방법이 없었다는 의미이다. - 왜 →
다층퍼셉트론은 여러 층과 많은 뉴런으로 구성되어 있기 때문에 각 뉴런의 가중치와 편향이 서로 얽혀 영향을 주는데, 출력 오차가 어디에서 발생했는지 정확히 알 수 없으면 어떤 가중치를 얼마나 수정해야 하는지 계산할 수 없고, 이로 인해 복잡한 구조에서는 학습 자체가 불가능했기 때문에 해결 방법이 필요했다. - 용어뜻 →
가중치(Weight): 입력 중요도
편향(Bias): 기준 이동값
비선형 구조: 직선으로 표현 불가능한 구조 - 수식 →
y = f(W₂ · f(W₁x + b₁) + b₂) - 예시 →
복잡한 이미지 인식에서 어떤 뉴런을 수정해야 하는지 알 수 없음
이러한 복잡한 비선형 구조의 XOR 문제를 해결하기 위해 1986년 제프리 힌튼 교수는 다층퍼셉트론(MLP) 구조를 이용해 어떤 결과가 예측되었을 때, 그 예측이 틀리다면 은닉층 노드들의 오차를 확인하고 오차가 작아지는 방향으로 역전파시켜 가중치와 편향값을 학습시키는 신경망을 제안하여 이를 해결함을 입증하였다.
- 의미 →
힌튼이 역전파 알고리즘을 통해 MLP 학습 문제를 해결했다. - 왜 →
출력 오차를 단순히 출력층에서만 보는 것이 아니라, 그 오차가 각 은닉층의 뉴런에 어떻게 영향을 주었는지를 계산해서 거꾸로 전달하면 각 가중치가 오차에 얼마나 기여했는지 알 수 있고, 이를 통해 모든 층의 가중치를 체계적으로 수정할 수 있기 때문에 복잡한 다층 구조에서도 학습이 가능해졌다. - 용어뜻 →
제프리 힌튼: 딥러닝 발전 핵심 인물
역전파: 오차를 뒤로 전달하는 알고리즘
은닉층: 중간 계산층 - 수식 →
∂L/∂W = chain rule 적용 - 예시 →
틀린 결과 → 오차 → 은닉층까지 전달 → 가중치 수정
이를 역전파 알고리즘이라 한다.
- 의미 →
이 방법을 역전파 알고리즘이라고 정의한다. - 왜 →
오차를 출력층에서 시작하여 입력 방향으로 거꾸로 전달하면서 학습하기 때문에 “역방향으로 전파한다”는 의미에서 역전파라는 이름이 붙었고, 이는 다층 신경망 학습의 핵심 알고리즘으로 자리잡게 되었다. - 용어뜻 →
Backpropagation: 역전파 - 수식 →
W = W - η∂L/∂W - 예시 →
오차를 뒤로 보내면서 학습
역전파 알고리즘은 딥러닝의 가중치 학습의 개념 정립, 속도는 느리지만, 모델의 안정적인 결과를 얻을 수 있는 장점, 다층퍼셉트론의 은닉층 학습 한계 해결.
- 왜 →
역전파는 모든 가중치를 미분 기반으로 계산하여 업데이트하기 때문에 계산량이 많아 속도가 느릴 수 있지만, 각 가중치가 오차에 미치는 영향을 정확하게 반영할 수 있어 학습이 안정적으로 이루어지고, 기존에 학습이 불가능했던 은닉층까지 학습할 수 있게 만들어 딥러닝의 핵심 기반이 되었다. - 용어뜻 →
딥러닝: 다층 신경망 학습
안정적 결과: 일관된 학습 - 수식 →
gradient descent - 예시 →
복잡한 모델에서도 안정적으로 학습 가능
역전파 알고리즘은 순전파와 역전파를 반복적으로 수행하면서 가중치와 편향을 최적화시키며, 수행 절차는 다음과 같다.
- 의미 →
순전파와 역전파를 반복하며 학습한다. - 왜 →
한 번의 계산으로는 최적의 가중치를 찾을 수 없기 때문에 입력 → 출력 계산(순전파)과 오차 전달(역전파)을 반복하면서 점점 오차를 줄여야 하며, 이 반복 과정이 없으면 모델은 학습되지 않고 초기 상태에 머물게 된다. - 용어뜻 →
순전파: 입력 → 출력 계산
최적화: 최적 값 찾기 - 수식 →
W ← W - η∇L - 예시 →
반복 학습으로 점점 정확도 증가
역전파 알고리즘 학습 절차
1.환경변수 지정(입력값, 결과값, 학습률, 활성함수, 가중치 등).
- 의미 →
학습에 필요한 변수 설정 단계이다. - 왜 →
모델이 학습을 시작하기 위해서는 어떤 데이터를 사용할지, 얼마나 빠르게 학습할지, 어떤 함수로 계산할지를 미리 정의해야 하며, 이러한 설정이 모델 성능에 직접적인 영향을 주기 때문에 반드시 사전에 설정이 필요하다. - 용어뜻 →
학습률(η): 업데이트 크기
활성함수: 출력 결정 함수 - 수식 →
η ∈ (0,1) - 예시 →
학습률 0.01 설정
2.신경망 실행.
- 의미 →
입력값을 넣어 출력 계산 - 왜 →
모델이 현재 상태에서 어떤 결과를 내는지 확인해야 오차를 계산할 수 있으며, 이 단계가 없으면 학습 방향을 결정할 수 없기 때문에 반드시 수행된다. - 용어뜻 →
Forward pass: 순전파 - 수식 →
ŷ = f(Wx + b) - 예시 →
입력 → 출력 계산
3. 결과를 실제값과 비교.
- 의미 →
예측값과 정답 비교 - 왜 →
오차를 계산해야 가중치를 수정할 수 있으며, 이 과정이 없으면 모델이 잘못 예측했는지 알 수 없기 때문에 학습이 불가능하다. - 용어뜻 →
오차(Error): y - ŷ - 수식 →
L = (y - ŷ)² - 예시 →
예측 0.7 vs 실제 1
4. 출력층 가중치 수정.
- 의미 →
출력층 가중치 업데이트 - 왜 →
출력층은 직접적으로 오차와 연결되어 있기 때문에 가장 먼저 수정되며, 이 값이 변해야 전체 모델의 출력이 개선된다. - 용어뜻 →
출력층: 마지막 층 - 수식 →
ΔW = -η∂L/∂W - 예시 →
출력 오차 반영
5.은닉층 가중치 수정.
- 의미 →
은닉층도 업데이트 - 왜 →
출력층뿐 아니라 은닉층도 결과에 영향을 주기 때문에 오차를 분배하여 수정해야 전체 모델이 제대로 학습된다. - 용어뜻 →
은닉층: 중간층 - 수식 →
chain rule 적용 - 예시 →
오차를 나눠서 전달
6. 결과 출력.
- 의미 →
최종 결과 출력 - 왜 →
학습 결과를 확인하고 다음 반복을 진행하기 위해 필요하다. - 용어뜻 →
출력(Output) - 수식 →
ŷ - 예시 →
최종 예측값 출력
순전파 신경망(FNN)은 정보의 흐름이 순환 사이클 없이 입력층, 은닉층, 출력층으로 정보가 전방으로(한 방향으로) 전달되는 인공신경망인데 반해, 역전파 알고리즘은 출력층, 은닉층, 입력층 역순(순전파와 반대로)으로 정보가 전달된다.
- 의미 →
순전파는 앞으로, 역전파는 뒤로 흐른다. - 왜 →
순전파는 결과를 계산하기 위한 과정이고, 역전파는 오차를 전달하기 위한 과정이기 때문에 방향이 반대로 설정되며, 이 두 과정이 함께 있어야 학습이 가능하다. - 용어뜻 →
FNN: Feedforward Neural Network - 수식 →
Forward: x → y
Backward: y → x - 예시 →
입력→출력 / 출력→입력
역전파 알고리즘 학습 절차
1단계 순전파 수행: 입력층에서 출력층으로 순전파 수행, 가중치 초기화.
- 의미 →
순전파로 출력 계산 - 왜 →
현재 모델 상태를 알아야 오차 계산 가능 - 용어뜻 →
초기화: 초기값 설정 - 수식 →
ŷ = f(Wx) - 예시 →
초기 예측 수행
2단계 오차 측정 : 출력층 오차를 최소화하는 가중치 탐색 출력층에서부터 역방향 진행, 손실 함수 사용.
- 의미 →
오차 계산 후 줄이는 방향 탐색 - 왜 →
오차 최소화가 학습의 목표이기 때문 - 용어뜻 →
손실함수: 오차 측정 함수 - 수식 →
L = (y - ŷ)² - 예시 →
오차 계산
3단계 가중치 조정 : 학습률만큼 수정한 가중치로 조정, 오차값을 배분하여 가중치 갱신, 경사하강법 등 사용.
- 의미 →
가중치 업데이트 - 왜 →
오차 줄이기 위해 반복적으로 수정 필요 - 용어뜻 →
경사하강법: 최적화 알고리즘 - 수식 →
W = W - η∇L - 예시 →
오차 줄이는 방향 이동
4단계 반복 수행 : 목표 도달 시까지 위 과정을 반복, N회 수행(최적화 될때까지)
- 의미 →
학습 반복 - 왜 →
한 번으로는 최적값 도달 불가 - 용어뜻 →
N회: 반복 횟수 - 수식 →
iterate until convergence - 예시 →
수천 번 반복
결론적으로 역전파 알고리즘은 인공신경망의 가중치와 편향을 손실 함수와 학습 알고리즘을 이용하여 최적화시키는 매커니즘을 제시하였다.
- 의미 →
역전파는 가중치 최적화 방법이다. - 왜 →
신경망의 핵심은 최적의 가중치를 찾는 것이고, 이를 위해 오차를 계산하고 그 오차를 줄이는 방향으로 반복적으로 업데이트하는 구조가 필요하며, 역전파가 이 과정을 가능하게 만들었기 때문에 딥러닝의 핵심 알고리즘이 되었다. - 용어뜻 →
최적화: 최적값 찾기 - 수식 →
argmin L(W) - 예시 →
최적 모델 학습 완료
역전파 = “오차를 뒤로 보내면서 가중치를 최적화하는 알고리즘”
손실 함수
손실 함수는 지도학습에서 모델(알고리즘)이 예측한 값과 실제 정답의 차이를 비교하기 위한 함수이다.
- 의미 →
손실 함수는 모델의 예측값과 실제값의 차이를 계산하는 함수이다. - 왜 →
모델이 얼마나 잘 예측했는지를 정량적으로 평가해야 학습 방향을 결정할 수 있는데, 단순히 맞았다 틀렸다만으로는 부족하고 오차의 크기를 수치로 표현해야 가중치를 어떻게 수정할지 판단할 수 있기 때문에 예측값과 실제값의 차이를 계산하는 함수가 반드시 필요하다. - 용어뜻 →
손실 함수(Loss Function): 오차 측정 함수
지도학습(Supervised Learning): 정답이 있는 학습 - 수식 →
L = (y - ŷ)² - 예시 →
예측값 8, 실제값 10 → 오차 2 → 손실 계산
즉, 학습 중에 알고리즘이 얼마나 잘못 예측하는 정도를 확인하기 위한 함수로써 파라미터를 최적화(Aptimization)하기 위해 손실 점수(Loss Score)를 최소화하는 것이 목적이 된다.
- 의미 →
손실 함수는 오차를 측정하고 이를 최소화하는 것이 목표이다. - 왜 →
머신러닝의 핵심은 모델의 파라미터(가중치, 편향)를 조정하여 예측 성능을 높이는 것인데, 이를 위해서는 어떤 방향으로 수정해야 하는지 기준이 필요하며 손실 함수는 그 기준 역할을 하여 손실이 작아지는 방향으로 파라미터를 조정하게 만들어 최적의 모델을 찾도록 한다. - 용어뜻 →
파라미터(Parameter): 가중치, 편향
최적화(Optimization): 최적값 찾기
손실 점수: 오차 값 - 수식 →
argmin L(W) - 예시 →
오차 10 → 5 → 1로 줄이는 과정
신경망 성능의 나쁨을 나타내는 지표로, 현재 모델이 훈련 데이터를 얼마나 잘 처리하지 못하느냐를 나타내는 지표로 사용하게 된다.
- 의미 →
손실 함수는 모델 성능이 얼마나 나쁜지를 나타낸다. - 왜 →
정확도와 같은 지표는 결과만 보여주지만, 손실 함수는 예측이 얼마나 틀렸는지의 정도를 보여주기 때문에 모델이 어느 정도 잘못 학습하고 있는지 세밀하게 확인할 수 있으며, 이를 통해 학습 과정에서 문제를 진단하고 개선할 수 있다. - 용어뜻 →
훈련 데이터: 학습에 사용하는 데이터
성능 지표: 모델 평가 기준 - 수식 →
L = Σ(y - ŷ)² - 예시 →
손실이 크면 성능이 나쁨
모델 학습 중에 손실 점수가 커질수록 학습이 잘 안 되고 있다고 해석할 수 있고, 반대로 손실 점수가 작아질수록 학습이 잘 이루어지고 있다고 해석한다.
- 의미 →
손실이 크면 나쁨, 작으면 좋음 - 왜 →
손실 함수는 예측 오차를 직접적으로 반영하기 때문에 값이 크다는 것은 예측이 많이 틀렸다는 의미이고, 값이 작다는 것은 예측이 실제값에 가까워졌다는 의미이며, 따라서 손실 값의 변화는 모델이 학습을 잘하고 있는지 판단하는 가장 중요한 기준이 된다. - 용어뜻 →
손실 값: 오차 크기 - 수식 →
L ↓ → 성능 ↑ - 예시 →
손실 100 → 10 → 1로 감소
이처럼 손실 함수는 모델 학습의 길잡이 역할을 하는 중요한 역할을 담당하게 된다.
- 의미 →
손실 함수는 학습 방향을 결정한다. - 왜 →
모델이 어떤 방향으로 가중치를 수정해야 할지 알려주는 기준이 없으면 학습이 무작위로 이루어지게 되는데, 손실 함수는 “이 방향으로 가면 더 좋아진다”는 기준을 제공하여 학습이 올바른 방향으로 진행되도록 만들어 주기 때문에 매우 중요한 역할을 한다. - 용어뜻 →
길잡이: 학습 방향 기준 - 수식 →
∇L 방향으로 이동 - 예시 →
손실 감소 방향으로 업데이트
손실 함수의 종류
1) 목적 : 회귀(Regression) :MAE, MSE, RMSE, MSLE, MAD 등.
- 의미 →
회귀 문제에서 사용하는 손실 함수 종류이다. - 왜 →
회귀 문제는 연속값을 예측하기 때문에 오차의 크기를 정확하게 측정하는 것이 중요하며, 각 손실 함수는 오차를 측정하는 방식이 다르기 때문에 상황에 따라 적절한 함수를 선택해야 모델 성능을 최적화할 수 있다. - 용어뜻 →
MAE: 평균 절대 오차
MSE: 평균 제곱 오차
RMSE: 제곱근 오차
MSLE: 로그 기반 오차
MAD: 평균 절대 편차 - 수식 →
MSE = (1/n)Σ(y - ŷ)² - 예시 →
집값 예측 오차 계산
2)목적: 분류(classfication): CE, KL-Divergence 등.
- 의미 →
분류 문제에서 사용하는 손실 함수이다. - 왜 →
분류 문제에서는 단순 오차보다 확률 분포의 차이를 측정하는 것이 중요하기 때문에 Cross Entropy나 KL Divergence와 같은 함수가 사용되며, 이는 예측 확률과 실제 정답 분포 간의 차이를 효과적으로 측정하여 모델을 학습시키는 데 적합하다. - 용어뜻 →
CE(Cross Entropy): 교차 엔트로피
KL-Divergence: 분포 차이 측정 - 수식 →
CE = -Σ y log(ŷ) - 예시 →
고양이/강아지 분류 확률 비교
손실 점수를 파라미터(가중치)에 최적화시키기 위한 알고리즘으로 경사하강법 등을 사용하게 된다.
- 의미 →
손실을 줄이기 위해 경사하강법 사용 - 왜 →
손실 함수는 방향만 알려줄 뿐 실제로 어떻게 가중치를 바꿀지는 별도의 알고리즘이 필요하며, 경사하강법은 손실 함수의 기울기를 이용해 가장 빠르게 감소하는 방향으로 이동하면서 최적의 가중치를 찾을 수 있기 때문에 가장 널리 사용되는 최적화 방법이다. - 용어뜻 →
경사하강법(Gradient Descent): 최적화 알고리즘
기울기(Gradient): 변화 방향 - 수식 →
W = W - η∇L - 예시 →
손실 줄어드는 방향으로 가중치 이동
정리
손실 함수 = “오차 측정 기준” / 경사하강법 = “그걸 줄이는 방법”
경사하강법
경사하강법은 역전파 알고리즘을 이용하여 기울기가 0이 되는 것을 판단하는 방법으로 손실 점수를 미분하여 가중치를 최적화시키는 역할을 한다.
- 의미 →
경사하강법은 손실 함수의 기울기를 이용해 가중치를 최적화하는 방법이다. - 왜 →
모델이 잘 학습되기 위해서는 손실 함수가 최소가 되는 지점을 찾아야 하는데, 이 최소 지점을 찾기 위해서는 현재 위치에서 어느 방향으로 이동해야 손실이 줄어드는지를 알아야 하며, 이를 위해 손실 함수를 미분하여 기울기를 구하고 그 기울기를 기반으로 가중치를 업데이트하는 방법이 필요하기 때문에 경사하강법이 사용된다. - 용어뜻 →
경사하강법(Gradient Descent): 기울기 기반 최적화
기울기: 함수 변화율
미분: 변화량 계산 - 수식 →
W = W - η∇L - 예시 →
오차가 줄어드는 방향으로 가중치 이동
손실 점수의 기울기가 0이 된다는 의미는 가중치의 변화가 더 이상 없음을 설명하며, 이는 가중치가 최적화됐음을 뜻한다.
- 의미 →
기울기가 0이면 최적 지점이다. - 왜 →
기울기가 0이라는 것은 함수가 더 이상 증가하지도 감소하지도 않는 평평한 지점에 도달했다는 의미이며, 이 지점에서는 어떤 방향으로 이동해도 손실이 더 줄어들지 않기 때문에 최적의 가중치 상태라고 판단할 수 있으며, 이는 최적화의 종료 조건이 된다. - 용어뜻 →
기울기 0: 극값 지점
최적화: 최적값 상태 - 수식 →
∇L = 0 - 예시 →
더 이상 오차가 줄지 않는 상태
경사하강법의 사전적 의미는 기울기 하강 혹은 기울기 확장으로 풀이할 수 있으며, 손실 함수의 최소값 위치를 찾기 위해, 손실 함수의 기울기 반대방향으로 학습률만큼 조금씩 이동해 가면서 최적의 파라미터를 찾으려는 알고리즘이다.
- 의미 →
기울기 반대 방향으로 이동하며 최적값을 찾는다. - 왜 →
기울기는 함수가 가장 빠르게 증가하는 방향을 나타내기 때문에 그 반대 방향으로 이동하면 가장 빠르게 감소하는 방향으로 이동하게 되며, 이를 반복하면 손실이 점점 줄어들어 최소값에 도달하게 되고, 학습률을 이용해 이동 크기를 조절함으로써 안정적인 학습이 가능해진다. - 용어뜻 →
학습률(η): 이동 크기
파라미터: 가중치 - 수식 →
W = W - η∇L - 예시 →
내리막길로 조금씩 내려가는 과정
임의의 초기 가중치(w)를 선정하여 손실 점수L(W)를 계산하고 이를 편미분한 기울기를 이동 방향으로, 학습률만큼 이동하게 된다.
- 의미 →
초기 가중치에서 시작해 기울기 방향으로 이동한다. - 왜 →
처음부터 최적값을 알 수 없기 때문에 임의의 값에서 시작해야 하며, 현재 위치에서 손실 함수의 기울기를 계산하면 어느 방향으로 이동해야 손실이 줄어드는지를 알 수 있고, 이를 기반으로 조금씩 이동하면서 점진적으로 최적값에 가까워지게 된다. - 용어뜻 →
편미분: 변수 하나 기준 미분
초기값: 시작 가중치 - 수식 →
W₁ = W₀ - η∂L/∂W - 예시 →
랜덤 시작 → 점점 최적값 접근
이 과정을 반복하면서 손실 함수의 편미분값이 0이 됐을 때의 가중치(전역최소값, 최소 손실 점수)가 모델의 최적 파라미터로 확정된다.
- 의미 →
기울기가 0이 되는 지점이 최적값이다. - 왜 →
반복적으로 이동하면서 손실을 줄이다 보면 어느 순간 더 이상 줄어들지 않는 지점에 도달하게 되는데, 이 지점이 바로 최적의 가중치 상태이며, 이때 모델은 데이터에 대해 가장 적절한 예측을 수행할 수 있는 상태가 된다. - 용어뜻 →
전역최소값(Global Minimum): 가장 작은 값
최적 파라미터: 최적 가중치 - 수식 →
argmin L(W) - 예시 →
최소 오차 지점 도달
경사하강법 매커니즘
Step1:임의의 초기 가중치 선택.
- 의미 →
학습 시작을 위한 초기값 설정 - 왜 →
최적값을 알 수 없기 때문에 아무 값에서 시작해야 하며, 이 초기값이 이후 학습 경로에 영향을 주기 때문에 중요한 단계이다. - 용어뜻 →
초기화: 초기값 설정 - 수식 →
W₀ - 예시 →
랜덤 값 설정
Step2:초기 가중치에 해당하는 손실 점수값을 편미분하여 기울기(경사도) 계산.
- 의미 →
현재 위치에서 기울기 계산 - 왜 →
어느 방향으로 이동해야 손실이 줄어드는지 알기 위해 기울기를 계산해야 하며, 이는 학습 방향을 결정하는 핵심 과정이다. - 용어뜻 →
경사도: 기울기 - 수식 →
∇L(W) - 예시 →
오차 증가 방향 파악
Step3:가중치를 경사 방향으로 학습률만큼 이동 후 다음 기울기 계산.
- 의미 →
가중치를 이동시키고 다시 계산 - 왜 →
한 번 이동으로는 최적값에 도달할 수 없기 때문에 이동 → 계산 → 이동 과정을 반복하여 점진적으로 최적값에 가까워지기 위해 필요하다. - 용어뜻 →
학습률: 이동 크기 - 수식 →
W = W - η∇L - 예시 →
조금 이동 후 다시 방향 확인
Step4: 스텝1~3을 반복하여 기울기가 0이 되는(손실 함수가 최소값) 값을 찾음.
- 의미 →
반복하여 최적값 찾기 - 왜 →
최적값은 한 번의 계산으로 찾을 수 없기 때문에 반복적으로 이동하면서 점점 더 작은 손실 값을 찾아야 하며, 이 반복 과정이 학습의 핵심이다. - 용어뜻 →
반복(iteration) - 수식 →
repeat until ∇L=0 - 예시 →
수천 번 반복 학습
모델을 학습할 때 학습률은 경사하강법에서 얼마만큼 경사각을 내려갈 것인지 정하는 하이퍼파라미터이다.
- 의미 →
학습률은 이동 크기를 결정한다. - 왜 →
이동 크기가 너무 작으면 학습이 매우 느려지고, 너무 크면 최적값을 지나칠 수 있기 때문에 적절한 값을 설정해야 안정적인 학습이 가능하다. - 용어뜻 →
하이퍼파라미터: 사람이 설정하는 값 - 수식 →
η - 예시 →
η=0.01
학습률이 작을 경우 최소 손실 점수에 수렴하기 위해 반복해야 하는 값이 많으므로 학습시간이 오래걸리며, 지역최소값(Local Minimum)에 수렴할 수 있다.
- 의미 →
학습률이 작으면 느리고 Local Minimum에 빠질 수 있다. - 왜 →
이동 폭이 작으면 조금씩만 움직이기 때문에 최적값에 도달하기까지 많은 반복이 필요하고, 중간에 존재하는 지역 최소값에 도달하면 더 이상 이동하지 못하고 멈출 가능성이 있기 때문에 문제가 된다. - 용어뜻 →
Local Minimum: 부분 최소값 - 수식 →
L_local - 예시 →
중간 지점에서 멈춤
반대로 학습률이 너무 클 경우 학습시간은 적게 걸리나, 증감이 너무 커서 전역최소값(Global Minimum) 반대편으로 건너뛰어 최소 손실 점수에서 멀어질 수 있다.
- 의미 →
학습률이 크면 최적값을 지나친다. - 왜 →
이동 폭이 너무 크면 최소값 근처에서 정확하게 멈추지 못하고 계속 왔다 갔다 하거나 최적값을 넘어가버리게 되어 오히려 손실이 줄어들지 않고 학습이 불안정해지기 때문이다. - 용어뜻 →
Global Minimum: 전체 최소값 - 수식 →
overshoot 발생 - 예시 →
최적점 지나쳐버림
이를 고려하여 적절하 학습률을 설정해야 한다
- 의미 →
적절한 학습률 설정이 중요하다. - 왜 →
학습률은 모델 성능과 학습 속도를 동시에 결정하는 중요한 요소이기 때문에 너무 크지도 작지도 않은 값을 선택해야 안정적이고 빠른 학습이 가능하며, 이는 모델 성능에 직접적인 영향을 준다. - 용어뜻 →
적절한 학습률: 최적 η - 수식 →
η_optimal - 예시 →
적절한 값으로 빠르고 안정적인 학습
정리
경사하강법 = “기울기 반대 방향으로 이동하면서 손실 최소화”
경사하강법의 종류
배치 경사하강법(BGD) :
파라미터를 업데이트할 때마다 모든 학습 데이터를 사용하여 기울기를 계산한다 단점은 시간 오래 걸림(메모리 사용 증가), 지역최소점에 빠질 수 있다.
- 의미 →
배치 경사하강법은 전체 데이터를 한 번에 사용하여 기울기를 계산하고 가중치를 업데이트하는 방법이다. - 왜 →
전체 데이터를 모두 사용하면 손실 함수의 정확한 기울기를 계산할 수 있기 때문에 안정적이고 일관된 방향으로 학습이 진행되지만, 데이터가 많아질수록 계산량이 매우 커지고 메모리 사용량도 증가하며, 또한 항상 동일한 방향으로만 이동하기 때문에 특정 지점에서 멈추는 지역최소값(Local Minimum)에 빠질 가능성이 존재한다. - 용어뜻 →
BGD(Batch Gradient Descent): 전체 데이터 사용
파라미터: 가중치, 편향
지역최소점(Local Minimum): 부분 최소값 - 수식 →
W = W - η (1/N) Σ∇Lᵢ - 예시 →
데이터 10만 개 → 한 번에 모두 계산 후 업데이트

확률적 경사하강법(SGD):
파라미터를 업데이트할 때, 무작위로 샘플링된 훈련 데이터를 하나씩만 이용하여 기울기를 계산(배치 사이즈 =1)한다 장점은 지역 최소점에 빠질 가능성을 줄일 수 있음(전역최소점이 목표) 단점은 전역최소점을 못 찾을 수 있음, 샘플의 선택이 확률적이기 때문에 불안정할 수 있다.
- 의미 →
SGD는 데이터를 하나씩 사용하여 빠르게 업데이트하는 방법이다. - 왜 →
전체 데이터를 사용하는 대신 하나의 데이터만 사용하면 계산 속도가 매우 빨라지고, 매번 다른 데이터로 인해 기울기가 조금씩 흔들리면서 이동하게 되는데, 이 흔들림 덕분에 지역최소값에 갇히지 않고 빠져나올 가능성이 높아지지만, 동시에 이러한 랜덤성 때문에 학습이 불안정해지고 최적의 전역최소값(Global Minimum)에 정확히 수렴하지 못할 수도 있다. - 용어뜻 →
SGD(Stochastic Gradient Descent): 확률적 경사하강법
배치 사이즈: 한 번에 사용하는 데이터 개수
전역최소점(Global Minimum): 전체 최소값 - 수식 →
W = W - η∇L(xᵢ) - 예시 →
데이터 1개씩 업데이트 → 빠르지만 흔들림 존재
미니배치 경사하강법:
파라미터를 업데이트할 때, 무작위로 샘플링된 학습 데이터를 배치사이즈가 1이 아닌 특정 단위별로 기울기를 계산한다 장점은 배치 경사하강법보다 학습속도 빠름, 확률적 경사하강법보다 안정적이다.
- 의미 →
미니배치 경사하강법은 일부 데이터 묶음을 사용하여 업데이트하는 방법이다. - 왜 →
전체 데이터를 사용하는 BGD는 너무 느리고, 하나만 사용하는 SGD는 너무 불안정하기 때문에 그 중간 형태로 일정 크기의 데이터 묶음을 사용하면 계산 효율성과 안정성을 동시에 확보할 수 있으며, 이는 실제 딥러닝에서 가장 많이 사용되는 방식이다. - 용어뜻 →
미니배치(Mini-batch): 데이터 일부 묶음
배치 사이즈: 묶음 크기 - 수식 →
W = W - η (1/m) Σ∇L(xᵢ) - 예시 →
데이터 100개씩 묶어서 업데이트
정리
BGD = 느리지만 안정 / SGD = 빠르지만 불안정 / Mini-batch = 둘의 균형
인공신경망 활성화 함수
퍼셉트론은 입력과 가중치들의 곱을 모두 더한한 뒤 활성화 함수를 적용해서 그 값이 0보다 크면 1, 0보다 작으면 -1을 출력하는 선형 분류기의 구조였다.
- 의미 →
퍼셉트론은 입력값과 가중치를 곱한 후 더하고, 활성화 함수를 통해 1 또는 -1을 출력하는 선형 분류 모델이다. - 왜 →
입력값들을 단순히 더하는 것만으로는 분류 기준을 만들 수 없기 때문에 각 입력에 중요도를 반영하는 가중치를 곱하고 이를 합산한 뒤, 일정 기준(임계값)을 통해 결과를 결정해야 분류가 가능하며, 이러한 방식은 계산이 단순하면서도 선형적으로 데이터를 구분할 수 있기 때문에 초기 분류 모델로 적합했다. - 용어뜻 →
가중치(Weight): 입력 중요도
활성화 함수: 출력 결정 함수
선형 분류기: 직선으로 나누는 모델 - 수식 →
y = sign(Σ(wᵢxᵢ) + b) - 예시 →
합이 0보다 크면 1, 작으면 -1 출력
예를 들어, 입력값에 의해 1,000의 값이 계산되었다고 가정했을 때, 입력값을 100으로 나누는 활성화 함수를 사용하면 다음 노드로 전달하는 값은 10이 된다.
- 의미 →
활성화 함수는 값을 변환하여 다음 층으로 전달한다. - 왜 →
입력값의 가중합은 매우 큰 값이 될 수 있는데, 이 값을 그대로 다음 층으로 전달하면 값이 점점 커지거나 불안정해질 수 있기 때문에 적절한 함수로 값을 변환하여 일정한 범위로 조절하는 과정이 필요하며, 이를 통해 신경망의 계산을 안정적으로 유지할 수 있다. - 용어뜻 →
노드(Node): 신경망의 계산 단위
활성화 함수: 값 변환 함수 - 수식 →
a = f(z) = z / 100 - 예시 →
1000 → 10으로 변환
즉, 활성화 함수를 이용하여 입력된 데이터의 가중합을 출력신호로 변환하여, 은닉층의 출력값을 특정 범위나 실수값으로 정규화하고 은닉층과 출력층에서 각 출력값을 제한하기 위해 사용된다.
- 의미 →
활성화 함수는 값을 변환하고 제한하는 역할을 한다. - 왜 →
가중합 값이 그대로 전달되면 값의 크기가 계속 커지거나 학습이 불안정해질 수 있기 때문에 활성화 함수를 사용하여 값을 일정 범위로 제한하거나 비선형 변환을 수행해야 하며, 이를 통해 모델이 복잡한 패턴을 학습할 수 있고 동시에 계산 안정성을 유지할 수 있기 때문에 필수적인 요소이다. - 용어뜻 →
정규화: 값 범위 조정
은닉층: 중간층
출력층: 최종층 - 수식 →
a = f(z), z = Σ(wᵢxᵢ) - 예시 →
ReLU: max(0, x), Sigmoid: 0~1 범위로 변환
정리
활성화 함수 = “가중합을 변환해서 값 범위 제한 + 비선형성 추가”
활성화 함수 종류
1. 항등 함수 (Identity Function) = 선형 함수
- 의미 →
입력값을 그대로 출력하는 가장 단순한 함수이다. - 왜 →
이 함수는 아무런 변환을 하지 않기 때문에 입력 정보가 그대로 다음 층으로 전달되지만, 이런 구조만 사용하면 여러 층을 쌓아도 결국 하나의 선형 변환과 동일해져버리기 때문에 신경망의 표현력이 증가하지 않고 복잡한 문제를 해결할 수 없기 때문에 실제 딥러닝에서는 거의 사용되지 않는다. - 용어뜻 →
항등 함수: 입력 = 출력
선형 함수: 직선 형태 함수 - 수식 →
y = x - 예시 →
5 입력 → 5 출력 - 도식 →
y
↑
| /
| /
| /
|/
+----------→ x
2. 계단 함수 (Step Function)
- 의미 →
입력값이 기준보다 크면 1, 작으면 0을 출력하는 함수이다. - 왜 →
초기 신경망에서는 복잡한 연산보다 단순한 이진 판단이 중요했기 때문에 값이 특정 기준을 넘는지 여부만 판단하는 구조가 필요했고, 이 함수는 계산이 매우 단순하여 초기 퍼셉트론에서 사용되었지만 미분이 불가능하기 때문에 학습이 어렵다는 단점이 있다. - 용어뜻 →
이진 함수: 0 또는 1 출력
임계값: 기준 값 - 수식 →
y = 0 (x < 0)
y = 1 (x ≥ 0) - 예시 →
x=2 → 1 / x=-1 → 0 - 도식 →
y
↑ ─────── (1)
|
|
|───── (0)
+----------→ x
3. 부호 함수 (Sign Function)
- 의미 →
입력값이 양수면 1, 음수면 -1을 출력하는 함수이다. - 왜 →
단순히 값이 양수인지 음수인지에 따라 분류를 수행하기 위해 사용되며 퍼셉트론에서 이진 분류를 수행할 때 활용되었지만, 계단 함수와 마찬가지로 미분이 불가능하여 역전파 기반 학습에는 적합하지 않다. - 용어뜻 →
Sign: 부호 판별
이진 출력: 두 값만 출력 - 수식 →
y = -1 (x < 0)
y = 1 (x ≥ 0) - 예시 →
x=3 → 1 / x=-2 → -1 - 도식 →
y
↑ ─────── (1)
|
|
|───── (-1)
+----------→ x
4. 시그모이드 함수 (Sigmoid Function) = 로지스틱 함수
- 의미 →
입력을 0과 1 사이 값으로 변환하는 함수이다. - 왜 →
출력을 확률처럼 해석할 수 있기 때문에 분류 문제에서 매우 유용하며, 연속적이고 미분 가능하기 때문에 역전파 학습이 가능하지만, 입력값이 커지면 기울기가 0에 가까워지는 기울기 소멸 문제가 발생하여 깊은 신경망에서는 성능이 저하되는 문제가 있다. - 용어뜻 →
Sigmoid: S자 형태 함수
확률 출력: 0~1 범위 - 수식 →
y = 1 / (1 + e^-x) - 예시 →
x=0 → 0.5 - 도식 →
y
↑ ─────
| /
| /
| /
+----------→ x
5. 하이퍼볼릭탄젠트 함수 (Tanh)
- 의미 →
출력을 -1 ~ 1 사이로 변환하는 함수이다. - 왜 →
시그모이드보다 중심이 0에 맞춰져 있어 학습이 더 빠르게 진행되는 장점이 있지만, 여전히 기울기 소멸 문제가 존재하기 때문에 깊은 신경망에서는 한계가 있으며, 주로 은닉층에서 사용되던 함수이다. - 용어뜻 →
tanh: 쌍곡선 탄젠트
정규화: 값 범위 제한 - 수식 →
y = tanh(x) - 예시 →
x=0 → 0 - 도식 →
y
↑ ─────
| /
| /
| /
| /
|/
+----------→ x
6. 렐루 함수 (ReLU)
- 의미 →
음수는 0, 양수는 그대로 출력하는 함수이다. - 왜 →
시그모이드와 tanh의 기울기 소멸 문제를 해결하기 위해 등장했으며, 계산이 매우 단순하고 양수 영역에서는 기울기가 유지되기 때문에 깊은 신경망에서도 학습이 잘 이루어지고 현재 딥러닝에서 가장 널리 사용되는 활성화 함수이다. - 용어뜻 →
ReLU: Rectified Linear Unit
비선형 함수: 직선 아님 - 수식 →
y = 0 (x < 0)
y = x (x ≥ 0) - 예시 →
x=-3 → 0 / x=5 → 5 - 도식 →
y
↑
| /
| /
| /
|___/
+----------→ x
7. 파라메트릭 렐루 함수 (PReLU)
- 의미 →
ReLU의 개선형으로 음수에서도 작은 값이 나오도록 하는 함수이다. - 왜 →
ReLU는 음수 영역에서 완전히 0이 되어 뉴런이 죽는 문제(Dead ReLU)가 발생할 수 있기 때문에, 이를 해결하기 위해 음수 영역에도 작은 기울기를 주어 정보가 계속 흐르도록 만들어 학습 성능을 향상시키기 위해 사용된다. - 용어뜻 →
PReLU: Parametric ReLU
a: 기울기 파라미터 - 수식 →
y = ax (x < 0)
y = x (x ≥ 0) - 예시 →
x=-2 → -0.02 (a=0.01) - 도식 →
y
↑
| /
| /
| /
| /
| /
| /
|/
+----------→ x
다차원 배열의 행열곱 연산
다차원 배열의 계산은 가중치의 값을 보다 편하게 하기 위해서 행렬 연산을 이용하는 것이다.
- 의미 →
신경망의 가중치 계산을 효율적으로 하기 위해 행렬 연산을 사용한다. - 왜 →
신경망은 입력값과 가중치를 곱하고 더하는 연산을 수없이 반복하는 구조인데, 이러한 연산을 하나씩 처리하면 계산량이 너무 많아져 현실적으로 처리할 수 없기 때문에 여러 값을 한 번에 계산할 수 있는 행렬 연산을 사용하면 병렬 처리와 효율적인 계산이 가능해지고, 특히 GPU와 같은 병렬 연산 장치를 활용할 수 있기 때문에 반드시 행렬 형태로 계산해야 한다. - 용어뜻 →
다차원 배열: 여러 차원의 데이터 구조
행렬 연산: 배열 기반 계산
가중치: 입력 중요도 - 수식 →
Y = WX + b - 예시 →
여러 입력을 한 번에 계산하는 신경망
한두 개의 신경망 층은 인간이 계산할 수 있을지 모르겠지만 그 이상의 수많은 뉴런층으로 구성된 신경망의 가중치를 일일이 계산하는 것은 불가능한 일이다.
- 의미 →
신경망이 커지면 사람이 직접 계산하는 것은 불가능하다. - 왜 →
딥러닝 모델은 수천 개에서 수백만 개 이상의 가중치를 가지는 경우가 많기 때문에 사람이 직접 하나씩 계산하는 것은 시간적으로나 계산량 측면에서 불가능하며, 이러한 문제를 해결하기 위해 자동화된 계산 방식과 수학적 구조가 필요하고, 그 핵심이 바로 행렬 연산이다. - 용어뜻 →
뉴런: 신경망의 계산 단위
층(Layer): 신경망 구성 단위 - 수식 →
연산량 ≈ O(n² 이상) - 예시 →
이미지 모델 → 수백만 가중치 존재
이를 쉽게 할 수 있도록 돕는 것이 행렬 연산이다.
- 의미 →
행렬 연산이 계산을 쉽게 만들어준다. - 왜 →
행렬 연산은 여러 개의 곱셈과 덧셈을 한 번에 처리할 수 있도록 해주기 때문에 반복적인 계산을 줄이고 계산 속도를 크게 향상시킬 수 있으며, 또한 컴퓨터 구조와도 잘 맞아 병렬 처리가 가능하기 때문에 대규모 신경망 계산에서 필수적인 방법이다. - 용어뜻 →
행렬(Matrix): 2차원 배열
병렬 연산: 동시에 계산 - 수식 →
Y = WX - 예시 →
입력 100개 → 한 번에 계산
예제로 (12) * (23)의 행렬곱이다.
- 의미 →
(1×2 행렬과 2×3 행렬의 곱셈 예시이다. - 왜 →
행렬 곱은 앞 행렬의 열 수와 뒤 행렬의 행 수가 같아야 계산이 가능하며, 이러한 구조를 통해 여러 입력과 가중치를 연결할 수 있고, 신경망의 입력층과 다음 층을 연결하는 기본 원리가 된다. - 용어뜻 →
행렬곱: 행과 열을 이용한 연산
차원(Dimension): 행과 열 크기 - 수식 →
(1×2) · (2×3) - 예시 →
[1×2] × [2×3] → 가능
안쪽이 2=2로 동일하고 결과값은 1*3으로 바깥쪽의 값으로 이루어진 행렬 차원을 보인다.
- 의미 →
행렬 곱은 안쪽 차원이 같아야 하고 결과는 바깥 차원이 된다. - 왜 →
행렬 곱은 각 행과 열을 곱해 더하는 방식이기 때문에 앞 행렬의 열 개수와 뒤 행렬의 행 개수가 같아야 계산이 가능하며, 계산 결과는 앞 행렬의 행과 뒤 행렬의 열로 결정되기 때문에 결과 차원은 바깥쪽 값으로 구성된다. - 용어뜻 →
내적: 행렬 곱 계산 방식
차원: 행렬 크기 - 수식 →
(1×2)(2×3) → (1×3) - 예시 →
[ a b ] × [ c d e ] → 결과 1×3
Y의 값들은 활성화 함수를 통해 변환된다.
- 의미 →
행렬 연산 결과는 활성화 함수를 거쳐 출력된다. - 왜 →
행렬 연산만 수행하면 결과는 단순한 선형 결합에 불과하기 때문에 아무리 층을 많이 쌓아도 결국 하나의 선형 모델과 동일해지며, 이를 방지하고 복잡한 패턴을 학습하기 위해 비선형성을 추가해야 하는데, 이 역할을 수행하는 것이 활성화 함수이기 때문에 반드시 필요하다. - 용어뜻 →
활성화 함수: 비선형 변환 함수
출력 Y: 다음 층으로 전달되는 값 - 수식 →
Y = f(WX + b) - 예시 →
WX 계산 → ReLU 적용 → 다음 층 전달
정리
신경망 계산 = “행렬곱 + 활성화 함수”
출력층의 활성화 함수
소프트맥스 함수(Softmax function)는 출력노드(Output Node)의 출력값을 0~1로 제한하는 활성화 함수이다.
- 의미 →
소프트맥스 함수는 출력값을 0과 1 사이의 확률 값으로 변환하는 함수이다. - 왜 →
다중 클래스 분류 문제에서는 각 클래스에 대한 확률을 구해야 하기 때문에 단순한 값이 아니라 전체 합이 1이 되는 확률 형태로 출력이 필요하며, 이를 통해 모델이 어떤 클래스일 가능성이 높은지를 비교할 수 있기 때문에 출력값을 0~1로 제한하고 확률로 변환하는 소프트맥스 함수가 필요하다. - 용어뜻 →
Softmax: 확률 변환 함수
Output Node: 출력 노드 - 수식 →
yᵢ = e^{zᵢ} / Σ e^{zⱼ} - 예시 →
[2,1,0] → [0.7, 0.2, 0.1]
예를 들면, 소프트맥스 함수에 해 1.2값은 0.46, 0.9값은 0.34, 0.4값은 0.20으로 제한되었으며 출력값의 합은 1이 됨을 알 수 있다.
- 의미 →
소프트맥스를 적용하면 값들이 확률 형태로 변환되고 합이 1이 된다. - 왜 →
소프트맥스는 각 값을 지수 함수로 변환한 뒤 전체 합으로 나누기 때문에 값의 상대적인 크기를 유지하면서도 전체 합이 1이 되도록 정규화되며, 이를 통해 각 값이 하나의 확률로 해석될 수 있도록 만들어준다. - 용어뜻 →
정규화(Normalization): 합을 1로 만드는 과정
확률 분포: 값들의 합이 1인 상태 - 수식 →
Σ yᵢ = 1 - 예시 →
0.46 + 0.34 + 0.20 = 1
최종 출력값으로 0.46이 가장 높다는 것을 알았기 때문에 이는 곧 정답(1)이 됨을 의미하며, 0.46을 1으로, 0.34와 0.20을 0으로 변환할 수 있는데, 이러한 값으로 변환하는 워드임베딩 방식을 원핫인코딩이라고 한다.
- 의미 →
가장 큰 확률을 1로 보고 나머지를 0으로 바꾸는 방식이다. - 왜 →
분류 문제에서는 여러 클래스 중 하나를 선택해야 하기 때문에 가장 높은 확률을 가진 값을 정답으로 판단하고 이를 명확하게 표현하기 위해 1과 0으로 이루어진 벡터 형태로 변환하는데, 이러한 방식이 모델 학습과 평가에 용이하기 때문에 원핫 인코딩이 사용된다. - 용어뜻 →
원핫인코딩(One-hot encoding): 하나만 1, 나머지는 0
정답 클래스: 가장 높은 확률 값 - 수식 →
argmax(y) → 1 - 예시 →
[0.46, 0.34, 0.20] → [1, 0, 0]
워드임베딩은 단어 간 유사도 및 중요도 파악을 위해 단어를 저차원의 실수 벡터로 맵핑하여 의미적으로 비슷한 단어를 가깝게 배치하는 수치화 방법이다.
- 의미 →
단어를 숫자 벡터로 바꾸고 의미가 비슷한 단어를 가깝게 표현하는 방법이다. - 왜 →
컴퓨터는 텍스트를 직접 이해할 수 없기 때문에 단어를 숫자로 변환해야 하며, 단순한 숫자 변환이 아니라 의미를 반영해야 자연어 처리 성능이 좋아지기 때문에 비슷한 의미를 가진 단어들이 벡터 공간에서 가깝게 위치하도록 만드는 워드 임베딩이 필요하다. - 용어뜻 →
워드임베딩: 단어 → 벡터 변환
벡터: 숫자 배열
유사도: 의미적 가까움 - 수식 →
word → ℝⁿ 벡터 - 예시 →
king - man + woman ≈ queen
정리
Softmax = 확률 출력 / One-hot = 정답 표시 / Embedding = 의미를 가진 숫자 표현
기울기 소멸 문제
기울기 소멸 문제란 역전파 알고리즘으로 가중치를 수정할 때, 은닉층으로 오차가 거의 전달되지 않는 문제이다.
- 의미 →
기울기 소멸은 오차가 뒤로 전달되지 않아 학습이 안 되는 문제이다. - 왜 →
역전파는 출력층에서 발생한 오차를 각 층으로 전달하면서 가중치를 수정하는 방식인데, 이 과정에서 오차가 계속 곱해지면서 점점 작아지게 되고, 특히 깊은 신경망에서는 앞쪽 층으로 갈수록 오차가 거의 0에 가까워지기 때문에 가중치를 업데이트할 수 없게 되어 학습이 멈추게 된다. - 용어뜻 →
기울기(Gradient): 변화량
은닉층: 중간층
역전파: 오차 전달 - 수식 →
∂L/∂W → 0 - 예시 →
앞쪽 층은 학습이 안 되고 뒤쪽만 학습됨
바꿔 말하면 인공신경망 활성화 함수의 출력값이 곱해지다 보면 가중치에 따른 결과값의 기울기가 0이 되어 버려서, 경사하강법을 이용할 수 없게 되는 문제라 정리할 수 있다.
- 의미 →
기울기가 0이 되어 학습이 불가능해지는 현상이다. - 왜 →
역전파 과정에서는 각 층의 미분값이 계속 곱해지는데, 이 값들이 1보다 작은 경우가 많아 여러 번 곱해지면 급격히 작아지며 결국 0에 가까워지고, 이로 인해 경사하강법에서 이동할 방향을 잃게 되어 가중치가 업데이트되지 않는 상태가 된다. - 용어뜻 →
경사하강법: 최적화 방법
기울기 0: 업데이트 불가능 상태 - 수식 →
∏ (f'(x)) → 0 - 예시 →
0.5 × 0.5 × 0.5 → 0.125 → 계속 작아짐
이는 인공지능 2차 암흑기의 주요 원인으로, 많은 연구와 논문이 기각되는 상황을 만들었으며, 발생 원인은 다음과 같이 정리할 수있다.
- 의미 →
기울기 소멸은 AI 발전을 막은 주요 원인이다. - 왜 →
딥러닝 모델이 제대로 학습되지 않으면 성능이 나오지 않기 때문에 연구 결과가 의미 없다고 판단되어 학계에서 신경망 연구가 외면받게 되었고, 이로 인해 AI 연구가 정체되는 시기가 발생하게 되었으며 이를 2차 AI 겨울이라고 부르게 된다. - 용어뜻 →
AI 겨울: 연구 침체기 - 수식 →
학습 실패 → 성능 저하 - 예시 →
딥러닝 연구 중단
기울기 소멸 문제의 주요 발생 원인 1) 시그모이드 함수의 사용 :
시그모이드 함수는 0과 1사이의 값을 출력, 역전파 알고리즘을 수행하기 위해 경사하강법을 이용하여 은닉층의 출력값을 미분하게 되는데 그 표현값은 0~0.25 사이의 값으로 전달 따라서 미분 계산 반복 시 0에 가까운 값이 되어 가중치를 학습하지 못함, 하이퍼볼릭탄젠트 함수 또한 동일 현상 발생.
- 의미 →
시그모이드와 tanh는 기울기 소멸을 발생시킨다. - 왜 →
시그모이드 함수의 미분값은 최대가 0.25이기 때문에 역전파 시 여러 층을 거치면서 이 값이 계속 곱해지면 매우 빠르게 0에 가까워지며, tanh 역시 비슷한 형태를 가지기 때문에 깊은 신경망에서는 기울기가 거의 사라져 앞쪽 층의 학습이 이루어지지 않는 문제가 발생한다. - 용어뜻 →
Sigmoid: S자 함수
tanh: -1~1 함수
미분값: 변화율 - 수식 →
σ'(x) = σ(x)(1 - σ(x)) ≤ 0.25 - 예시 →
0.25 × 0.25 × 0.25 → 0.0156
기울기 소멸 문제의 주요 발생 원인 2) 초기 파라미터(가중치) 정확도 낮음 :
초기 파라미터(가중치) 정확도가 낮아, 가중치가 모델의 적합되기 위해 많은 학습량 필요.
- 의미 →
초기 가중치 설정이 나쁘면 학습이 어려워진다. - 왜 →
초기 가중치가 너무 작거나 잘못 설정되면 신호 전달 자체가 약해지고, 역전파 과정에서도 기울기가 더 작아지면서 학습이 제대로 진행되지 않으며, 이로 인해 더 많은 반복 학습이 필요하거나 학습이 아예 실패할 가능성이 높아진다. - 용어뜻 →
초기화: 가중치 초기 설정
파라미터: 가중치 - 수식 →
W ~ small value - 예시 →
초기값 너무 작으면 학습 느림
기울기 소멸 문제의 주요 발생 원인 3) 연산량 부족:
현재의 컴퓨팅 파워는 클라우드 컴퓨팅, GPU 등을 이용하여 고성능을 적용할 수 있으나, 당시(1980~1990년대)의 컴퓨팅 파워로는 모델을 적합시기기 위해서 무한한 시간 필요, 알고리즘의 활용 한계로 불필요한 인공신경망 노드를 모두 학습하여 연산량을 증가시킴.
- 의미 →
과거에는 계산 능력이 부족해서 학습이 어려웠다. - 왜 →
딥러닝은 매우 많은 연산을 필요로 하는데 당시의 컴퓨터 성능으로는 이를 처리할 수 없었기 때문에 학습 시간이 매우 오래 걸리거나 사실상 불가능했으며, 비효율적인 구조까지 모두 학습해야 했기 때문에 연산량이 급격히 증가하여 실용적인 활용이 어려웠다. - 용어뜻 →
GPU: 병렬 연산 장치
연산량: 계산량 - 수식 →
O(n^k) - 예시 →
수십 년 걸릴 계산 → 현재는 GPU로 해결
정리
기울기 소멸 = “미분값이 계속 곱해져서 0이 되어 학습이 안 되는 문제”
기울기 소멸 문제 해결 방법
기울기 소멸 문제는 시그모이드 활성화 함수를 렐루(ReLU) 활성화 함수로 변경함으로 발생 가능성을 낮출 수 있으며, 그 외에 적용할 수 있는 방법은 다음과 같다.
- 의미 →
기울기 소멸은 ReLU로 바꾸면 줄일 수 있고 다른 해결 방법도 존재한다. - 왜 →
시그모이드 함수는 미분값이 매우 작아 여러 층을 지나면서 기울기가 급격히 감소하는 반면, ReLU는 양수 영역에서 기울기가 1로 유지되기 때문에 기울기 감소 현상이 훨씬 덜 발생하며, 이를 통해 깊은 신경망에서도 학습이 가능해지기 때문에 활성화 함수 변경이 중요한 해결책이 된다. - 용어뜻 →
ReLU: Rectified Linear Unit
시그모이드: S자 함수 - 수식 →
ReLU(x) = max(0, x) - 예시 →
시그모이드 → 기울기 작음 / ReLU → 유지됨
기울기 소멸 문제 해결 방법 1) 활성화 함수의 교체 :
방법 1 렐루 활성화 함수 사용 :
0보다 큰 값이 나올 경우, 그대로 반환하기 때문에 미분에 의해 줄어드는 범위가 시그모이드보다 적음, 파라메트릭 렐루 함수등도 동일한 효과를 얻을 수 있음.
- 의미 →
ReLU나 PReLU를 사용하면 기울기 소멸이 줄어든다. - 왜 →
ReLU는 입력이 양수일 경우 기울기가 1이기 때문에 역전파 과정에서 기울기가 줄어들지 않고 유지되며, PReLU는 음수 영역에서도 작은 기울기를 유지하도록 하여 정보가 완전히 사라지는 것을 방지하기 때문에 시그모이드보다 훨씬 안정적인 학습이 가능하다. - 용어뜻 →
PReLU: Parametric ReLU
기울기 유지: gradient 유지 - 수식 →
PReLU(x) = ax (x<0), x (x≥0) - 예시 →
ReLU → 빠른 학습 / PReLU → dead neuron 방지
기울기 소멸 문제 해결 방법 2) 초기 파라미터(가중치) 정확도 향상 :
방법 1 배치정규화 :
각 층 입력값의 평균과 표준편차를 다시 맞추고 입력값이 쏠리는 것을 막아, 가중치 초기화에 훨씬 덜 민감해져 기울기 소멸 문제를 예방.
- 의미 →
Batch Normalization으로 입력 분포를 안정화한다. - 왜 →
각 층의 입력값이 특정 범위로 치우치면 활성화 함수가 포화 영역에 들어가 기울기가 작아지는데, 배치 정규화를 통해 평균과 분산을 일정하게 유지하면 이러한 문제를 방지할 수 있고, 결과적으로 기울기가 안정적으로 유지되어 학습이 잘 진행된다. - 용어뜻 →
배치정규화(BatchNorm): 입력 정규화
표준편차: 분산 정도 - 수식 →
x̂ = (x - μ) / σ - 예시 →
입력값 분포 안정 → 학습 개선
방법2 비지도학습 이용:
RBM(Restrict Bolizman Machine), 오코인코더 등의 비지도학습을 이용하여 초기 가중치 정확도 향상.
- 의미 →
비지도학습으로 초기 가중치를 개선한다. - 왜 →
랜덤 초기화보다 데이터의 구조를 반영한 초기 가중치를 사용하면 학습이 훨씬 빠르고 안정적으로 진행되며, 특히 깊은 신경망에서는 초기값이 매우 중요한데, 비지도학습을 통해 좋은 시작점을 제공함으로써 기울기 소멸 문제를 완화할 수 있다. - 용어뜻 →
RBM: Restricted Boltzmann Machine
오토인코더: 입력을 압축 후 복원 - 수식 →
pretrained W - 예시 →
사전 학습 후 미세 조정
방법 3 사전학습 :
사전학습된 모델의 파라미터를 이용해 모델을 초기화한 뒤, 실제 해결하려는 문제 데이터에 미세조정(Fine Tuning)하게 되면 처음부터 학습시키는 것보다 더 높은 성능을 얻을 수있음.
- 의미 →
사전학습 후 미세조정하면 성능이 좋아진다. - 왜 →
이미 학습된 모델은 일반적인 특징을 잘 추출할 수 있기 때문에 이를 기반으로 새로운 문제에 맞게 조금만 수정하면 훨씬 빠르고 정확한 학습이 가능하며, 이는 초기 가중치 문제를 해결하는 효과적인 방법이다. - 용어뜻 →
Fine-tuning: 미세 조정
Pretraining: 사전 학습 - 수식 →
W_new = W_pretrained + ΔW - 예시 →
ImageNet 모델 → 특정 데이터에 적용
기울기 소멸 문제 해결 방법 3) :
방법 1 드롭아웃 사용 :
드롭아웃은 인공신경망 학습 시 임의의 노드를 생략하고 학습하는 알고리즘, 불필요한 노드의 학습을 제거함으로써 가중치가 동조화되는 현상 회피.
- 의미 →
Dropout은 일부 노드를 제거하며 학습한다. - 왜 →
모든 뉴런이 서로 의존하게 되면 특정 패턴에 과도하게 맞춰지는 문제가 발생하는데, 드롭아웃은 일부 뉴런을 제거하여 다양한 경로를 학습하게 만들고 과적합을 방지하며 동시에 기울기 흐름이 특정 경로에만 집중되지 않도록 한다. - 용어뜻 →
Dropout: 노드 제거 기법
동조화: 특정 패턴에 집중 - 수식 →
node = 0 (확률 p) - 예시 →
학습 시 일부 뉴런 OFF
방법 2 규제화 적용 :
불필요한 노드의 학습을 줄이거나 제거하기 위해 파라미터(가중치)에 규제화 적용, L2규제, L1규제.
- 의미 →
규제를 통해 불필요한 가중치를 줄인다. - 왜 →
모델이 너무 복잡해지면 특정 가중치가 과도하게 커져 학습이 불안정해질 수 있는데, 규제를 통해 가중치를 제한하면 모델이 단순해지고 안정적인 학습이 가능해지며 기울기 문제도 완화된다. - 용어뜻 →
L1: 절댓값 규제
L2: 제곱 규제 - 수식 →
L = loss + λ||W||² - 예시 →
가중치 크기 제한
방법3 조기 종료:
모델이 과적합되기 전 훈련을 멈추는 정규화 기법, 훈련 중 주기적으로 성능 검증을 하다가 성능이 더 좋아지지 않으면 과적합이라 판단하고 훈련을 멈추는 방법(검증 데이터 사용), 과적합 방지 방법으로 사용 가능.
- 의미 →
과적합 전에 학습을 멈춘다. - 왜 →
모델이 계속 학습하면 훈련 데이터에만 맞춰지고 일반화 성능이 떨어지기 때문에, 검증 데이터를 통해 성능을 확인하면서 더 이상 개선되지 않으면 학습을 중단하여 최적의 상태를 유지하는 것이 중요하다. - 용어뜻 →
조기 종료(Early Stopping)
과적합: 데이터 과도 적합 - 수식 →
validation loss ↑ → stop - 예시 →
성능 안 좋아지면 학습 종료
2006년 힌튼 교수가 기울기 소멸 문제에 대한 해법을 제시하였음에도 불구하고 인공신경망이라는 주제는 학회에서 냉대를 받았다.
- 의미 →
해결책이 나왔지만 인정받지 못했다. - 왜 →
당시에는 컴퓨팅 자원이 부족하고 실용적인 성과가 부족했기 때문에 연구자들이 신경망보다 다른 방법(SVM 등)을 더 선호했으며, 이로 인해 신경망은 한동안 주목받지 못했다. - 용어뜻 →
힌튼: 딥러닝 핵심 인물 - 수식 →
N/A - 예시 →
연구 외면
그래서 부정적 이미지를 가지고 있던 인공신경망이라는 이름은 심층신경망 혹은 딥러닝으로 다시 태어나게 되었다.
- 의미 →
이름이 딥러닝으로 바뀌었다. - 왜 →
기존 인공신경망은 실패 이미지가 강했기 때문에 새로운 기술과 성과를 강조하기 위해 이름을 바꾸고 다시 연구가 활성화되었으며, 이는 마케팅과 연구 전략 측면에서도 중요한 변화였다. - 용어뜻 →
딥러닝: 심층 신경망 - 수식 →
Deep NN - 예시 →
ANN → DL
이러한 과정을 거쳐 2016년 알파고의 등장이 있었고, 또한 많은 연구들이 활발히 진행되고 있다.
- 의미 →
딥러닝이 성공 사례를 만들었다. - 왜 →
알파고와 같은 성공 사례는 딥러닝의 가능성을 입증했고, 이를 통해 기업과 연구기관이 적극적으로 투자하면서 AI 발전이 가속화되었다. - 용어뜻 →
알파고: AI 바둑 프로그램 - 수식 →
N/A - 예시 →
이세돌 vs 알파고
현재는 인공지능의 전성기가 왔다고 해도 무방할 것이다.
- 의미 →
현재 AI가 매우 발전했다. - 왜 →
컴퓨팅 성능, 데이터, 알고리즘이 모두 발전하면서 다양한 분야에서 AI가 활용되고 있으며, 이는 과거와 비교할 수 없을 정도로 발전한 상태이다. - 용어뜻 →
AI 전성기: 기술 확산 시기 - 수식 →
N/A - 예시 →
자율주행, GPT
기울기 폭주 : 기울기가 점차 커져 파라미터(가중치)들이 비정상적으로 큰 값이 되면서 결국 발산되어 파라미터(가중치) 학습이 안 되는 문제점.
- 의미 →
기울기가 너무 커져 학습이 실패하는 문제이다. - 왜 →
기울기가 너무 크면 업데이트가 과도하게 이루어져 가중치가 계속 커지면서 발산하게 되고, 이로 인해 모델이 안정적인 값을 찾지 못하고 학습이 불가능해진다. - 용어뜻 →
폭주(Exploding Gradient): 기울기 증가 문제 - 수식 →
W → ∞ - 예시 →
값이 계속 커져 학습 실패
기울기 소멸과 학습 효율의 문제점은 유사함.
- 의미 →
기울기 소멸과 폭주는 모두 학습 문제이다. - 왜 →
두 문제 모두 기울기의 크기가 적절하지 않아 발생하는 현상으로, 하나는 너무 작아서 학습이 안 되고 다른 하나는 너무 커서 학습이 불안정해지는 문제이기 때문에 결국 최적의 기울기를 유지하는 것이 중요하다. - 용어뜻 →
학습 효율: 학습 성능 - 수식 →
∇L → 0 or ∞ - 예시 →
너무 작거나 너무 큰 경우 모두 실패
정리
👉울기 소멸 = 너무 작음 / 기울기 폭주 = 너무 큼 → 둘 다 학습 실패 원인
'3. 빅데이터 모델링 > 분석 기법 적용' 카테고리의 다른 글
| 연관분석 (0) | 2026.03.23 |
|---|---|
| 서포트벡터머신 (0) | 2026.03.22 |
| 의사결정나무 (0) | 2026.03.20 |
| 로지스틱회귀분석 (0) | 2026.03.19 |
| 비선형회귀와 규제가 있는 회귀분석, 일반화 선형 모델 (1) | 2026.03.19 |