Notice
Recent Posts
Recent Comments
Link
«   2026/02   »
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
Tags
more
Archives
Today
Total
관리 메뉴

Silver bullet

DL 핵심 개념 : Perceptron의 2가지 연산과 비선형 함수 / Activation Function & ReLU / XOR 문제와 Multi-Layer Perceptron 본문

AI/AI

DL 핵심 개념 : Perceptron의 2가지 연산과 비선형 함수 / Activation Function & ReLU / XOR 문제와 Multi-Layer Perceptron

밀크쌀과자 2024. 7. 12. 13:50

(Single-Layer) Perceptron (단층 퍼셉트론, SLP)

  • 뉴런을 본따 만든 알고리즘 하나의 단위
  • 2가지 연산을 적용하여 출력값 계산
    • 1) 넘겨져 온 데이터와 θ들의 Linear combination을 계산 (합 & 곱)
    • 2) 선형결합의 결과에 Activation function (활성화 함수)을 적용 : Linear combination의 결과값이 Non-linear Function을 거치게 하여 최종 출력값을 계산 → 다음 layer로 얼마나 넘겨줄지 결정
더보기

→ 가장 적합한 θ(Theta)들의 set을 찾는 것이 목표!

선형 함수로 표현하지 못하는 것을 비선형 함수로 풀어보자


Actination Functions

: [이전 레이어의 모든 입력에 대한 가중 합]을 받아 출력 값을 생성하여 다음 레이어로 전달하는 비선형 함수

step function : Threshold는 직접 지정 가능

더보기

Step function : 미분하면 항상 0이라서 이전 perceptron으로 돌아가지 못한다. / Threshold 부분은 미분 불가

Sigmoid / tanh

 

더보기

sigmoid, tanh : 가장 기울기 값이 큰 부분이 0.25밖에 안됨 → 이전 perceptron으로 돌아갈 때마다 값이 점점 0에 수렴하게됨

ReLU : when x < 0, y = 0 / when x < 0, y = x

더보기

ReLU : 미분 값이 0 아니면 1이다. 꺾이는 지점 미분 불가능 / 미분 값이 0일 경우 되돌아갈때 연결 값이 끊긴다고 생각하여 Dead Neuron이라고 함 → 보완할 수 있는 Leaky ReLU, Exponential ReLU 등이 있음


XOR 문제

 

XOR 문제 발생 : 선형 분리 불가능

더보기

XOR : 하나의 Perceptron으로는 풀이가 불가능

Multi-Layer  Perceptron (MLP == ANN)

XOR 문제 풀이

 


(Artificial) Neural Network (인공 신경망)

: Perceptron을 모은 Layer를 깊이 방향으로 쌓아나가면서 복잡한 모델을 만들어내어 보다 더 어려운 문제를 풀어낼 수 있음

- MLP 역시도 일종의 ANN

- Hidden layers == Learnable kernels

 

- Input Layer : 외부로부터 데이터를 입력 받는 신경망 입구의 layer

- Hidden Layer : Input layer와 Output layer 사이의 모든 layers

- Output Layer : 모델의 최종 연산 결과를 내보내는 신경망 출구의 layer

  • 결과값을 그대로 받아 Regression,
  • Sigmoid를 거쳐 Binary Classification
  • Softmax를 거쳐 K-class Classification

 

Forward Propagation (Feedforward Neural Network)

: Input Layer 에서 시작하여 순방향으로 계산해 나아가며 Output Layer까지 값을 전파해나가는 신경망(노드들 간의 연결이 cycle / loop를 이루지 않음)

 

- Hidden Layer의 Neuron 수와 Hidden Layer의 개수는 신경망 설계자의 직관과 경험에 의존

- Hidden Layer의 Neuron 수가 너무 많으면 Overfitting이 발생, 너무 적으면 데이터를 충분히 표현하지 못함 (Underfitting)

 

Feedforward 신경망의 학습 : 원하는 결과를 얻기 위해 Neuron사이의 적당한 가중치 θ 들을 알아내는 것

→ Model의 Output과 실제 정답의 차이를 바탕으로 Cost function을 구성하고, Cost를 낮추도록 Gradient Decsent 를 적용하여 최적의 가중치 θ를 찾아감

 

Back Propagation Algorithm (오차 역전파 알고리즘)

: 학습된 출력 값과 실제 값과의 차이인 오차를 계산하여 Feedforward 반대인 역방향으로 전파(Propagation)하는 알고리즘

 

- Multi-Layer Perceptron으로 XOR 문제 해결

- 그러나 Layer가 복잡해질수록 연산이 복잡해져서 현실적으로 매우 비효율적

- 이러한 문제를 해결하기 위해 Back propagation 알고리즘 도입

- Forward 방향으로 한번 연산을 한 다음 그 결과값(Cost)를 역방향(backward)으로 전달해가면서 Parameter를 Update (각 weight마다 Cost에 미치는 영향을 계산하여 Cost를 줄이도록 weight를 update)

오차 역전파

 

더보기

모델이 틀린 정도를 역방향으로 전달하며 '미분'하고 곱하고 더하는 것을 반복하여 Parameter( θ )를 갱신한다. 

더보기

Vanishing Gradient : 레이어가 깊어질수록 앞선 오차 값이 역방향으로 뒤까지 전달 되지 않는 문제 발생

→ ReLU Function으로 Activation function을 적용하면서 해결됨