AI

[AI] 딥러닝 개념정리(정리중)

usingsystem 2026. 2. 10. 22:12
728x90

1. 신경망(Neural Network)과 딥러닝

신경망은 중요한 feature를 사람이 직접 설계하지 않고, 데이터로부터 스스로 특징을 학습하고 가중치(weight)를 부여하는 모델이다.
여러 층(layer)에 걸친 내부 파라미터를 학습하여 복잡한 패턴을 표현할 수 있으며, raw data를 거의 그대로 입력으로 사용 가능하다는 장점이 있다.
이러한 특성 때문에 컴퓨터 비전, 자연어 처리 등 다양한 분야에서 활용된다.

신경망은 지도학습(supervised learning)과 비지도학습(unsupervised learning) 모두에 사용될 수 있다.

신경망은 기본적으로 입력층(input layer), 은닉층(hidden layer), 출력층(output layer)으로 구성된다.
은닉층이 없는 경우 단층 퍼셉트론(perceptron) 또는 선형 모델과 유사한 형태가 된다.

 

뉴런(Perceptron)과 활성화 함수

신경망에서 하나의 뉴런(neuron)은 퍼셉트론(perceptron)이라고도 불리며, 하나의 함수로 볼 수 있다.
뉴런 내부에는 pre-activationactivation(활성화 함수) 단계가 존재한다.

z=w1x1+w2x2+bz = w_1 x_1 + w_2 x_2 + b

위 식이 pre-activation 값이며, 여기에 활성화 함수를 적용하면 다음 레이어로 전달되는 출력값이 된다.

 

만약 히든레이어없이 입력층과 출력층만 존재하고 출력층에 Linear Regression을 한다면 전통적인 머신러닝의 Linear Regression과 다를게 없다.

 

activation Functions 종류

sigmoid - output에서 많이 사용됨 범위 (0~1)

tanh - 시계열 데이터 처리에서 많이 사용됨 (-1 ~ 1)

relu -  현대 deep learning은 거의 relu사용 범위 ( 0~x), 기울기가 항상 1

 

activation(출력) 종류

Softmax Activation Function - 출력값의 다중 class 분류를 위해 출력값에 대해 정규화 (확률 분포 출력)

1) Neural Network 훈련의 핵심 방법

손실함수 → 역전파로 gradient 계산 → 경사하강법으로 업데이트

이 세 가지는 훈련 과정에서 모두 필수적으로 연결되어 동작합니다.

(1) 손실함수

경사하강법과 오차 역전파가 동작하려면 손실함수가 필요. 모델의 예측과 정답 사이의 차이를 수치로 나타냅니다.

비용함수(cost function), 목적함수(object function) 등으로 불리며 경사하강법이 가능하도록 미분 가능한 함수를 정의

손실함수는 모델 전체가 아니라 출력값에만 적용된다.

 

Input → Hidden Layers → Output Layer → Loss Function

 

딥러닝을 사용하여 문제를 해결 하기 위한 대표적 손실함수(loss) 구하는 3가지 ( 대부분 이 3가지를 사용 )

  • Linear Regression (선형회귀 문제에서) - MSE(Mean Squared Error) 실수 값을 예측하는 회귀 문제에서 사용된다.
  • Binary Classification (이진분류 or Logistic Regression 문제에서) - Binary-Cross-Entropy Sigmoid 출력과 함께 사용되며, 두 클래스 간 확률 예측에 사용된다.
  • Multi-Class Classification (다중분류 문제에서) - Categorical-Cross-Entropy Softmax 출력과 함께 사용되며, 여러 클래스 확률 분포를 학습한다.

(2) Backpropagation (오차 역전파)

손실 함수를 기준으로, 각 가중치가 얼마나 손실에 기여했는지 미분 해서 기울기(gradient  를 구합니다.즉 손실함수를 최소화 하는 방향으로 신경망 전체의 parameter(w혹은 b)가 어느 방향으로 얼마나 바뀌어야 하는지(gradient)를 계산하는것 (경사하강법에 사용할 방향을 구하는 부분임.)

(3) Gradient Descent (경사하강법)

미분에 의한 함수 기울기를 구해 최소값을 찾아가는 방법으로 오차 역전파로 계산된 gradient(기울기 방)를 사용해 가중치를 실제로 업데이트합니다.

목적 - 실제값과 예측값의 차이를 최소화 하는 parameter(w혹은 b) 발견

방법 - 손실함수를 정의하여 손실함수의 값이 0으로 수렴하도록 parameter (w혹은 b) 조절

new w = old w - (learning rate) * (gradient)

ㄴ learning rate - 이동속도

ㄴ gradient - 미분 기울기 방향 cost function, 음의기울기면 +, 양의 기울기면 - 

개념 역할
손실 함수 예측이 얼마나 틀렸는지 평가
역전파(backprop) 모든 파라미터의 gradient 계산
경사하강법(optimizer) gradient를 이용해 실제 파라미터 업데이트

 

2) 경사하강법안에 Global Minimum, Learning Rate, Optimizer

경사하강법은 손실 함수의 global minimum을 찾기 위해, learning rate를 사용하여 optimizer 방식으로 파라미터를 업데이트하는 과정이다.

(1) Global Minimum: 손실 함수의 최종 목표( 경사하강법의 목적지)

Global Minimum은 손실 함수가 가질 수 있는 전역 최소값을 의미한다. 손실 함수는 모델이 예측한 값과 실제 값의 차이를 수치로 표현한 것이며, 이 값이 작을수록 모델의 성능이 좋다고 볼 수 있다.

손실 함수의 값을 지형으로 비유하면, 다양한 언덕과 골짜기가 있는 복잡한 지형이 된다. 이때:

  • Local Minimum은 특정 영역에서 가장 낮은 지점이며
  • Global Minimum은 전체 지형에서 가장 낮은 지점이다.

딥러닝 모델의 학습 목표는 이론적으로는 Global Minimum에 도달하는 것이지만, 실제로는 파라미터 수가 매우 많고 지형이 복잡하기 때문에 Global Minimum을 정확히 찾는 것은 거의 불가능하다. 대신, 일반화 성능이 좋은 적절한 Local Minimum에 도달하는 것이 현실적인 목표가 된다.

(2) Learning Rate: 파라미터 업데이트 크기 (경사하강법의 한 걸음 크기)

Learning Rate는 한 번의 학습 단계에서 파라미터를 얼마나 크게 업데이트할지를 결정하는 하이퍼파라미터이다.

Learning Rate가 너무 크면 손실 함수의 최소점을 지나쳐 발산하거나 진동할 수 있고, 너무 작으면 학습 속도가 매우 느려지거나 최적점에 도달하지 못할 수 있다. 따라서 Learning Rate는 딥러닝 모델 학습에서 가장 중요한 하이퍼파라미터 중 하나로 간주된다.

(3) Optimizer: 파라미터를 어떻게 업데이트할 것인가 (경사하강법의 내려가는 방법)

Optimizer는 손실 함수에 대한 기울기(gradient)를 이용하여 파라미터를 어떤 방식으로 업데이트할지를 결정하는 알고리즘이다.

가장 기본적인 Optimizer는 Gradient Descent이며, 실제 딥러닝에서는 다음과 같은 알고리즘들이 널리 사용된다.

  • SGD (Stochastic Gradient Descent): 미니배치 단위로 파라미터를 업데이트하며, 노이즈를 통해 Local Minimum에서 탈출하는 데 도움이 된다.
  • Momentum: 이전 기울기 정보를 누적하여 진동을 줄이고 빠르게 수렴하도록 한다.
  • RMSProp: 파라미터별로 학습률을 조절하여 안정적인 학습을 돕는다.
  • Adam: Momentum과 RMSProp의 장점을 결합한 알고리즘으로, 현재 가장 많이 사용되는 기본 Optimizer로 간주된다.

Optimizer는 Learning Rate를 활용하여 파라미터 업데이트를 수행하며, 학습 속도와 안정성에 큰 영향을 미친다.

(4) 세 개념의 관계 정리

딥러닝 학습 과정에서 이 세 개념은 다음과 같은 흐름으로 연결된다.

  1. 손실 함수가 정의되고 Global Minimum이 이론적 목표가 된다.
  2. Backpropagation을 통해 각 파라미터에 대한 gradient가 계산된다.
  3. Optimizer가 Learning Rate를 사용하여 파라미터를 업데이트하고, 손실 함수의 최소값을 향해 이동한다.

즉, Global Minimum은 목표, Learning Rate는 이동 크기, Optimizer는 이동 전략이라고 볼 수 있다.

2. Hyper-parameter와 과적합 방지 기법

1) epoch

전체 DataSet의 neural network를 통해 한번 처리(학습)된 것으로 하나의 epoch는 한번에 처리하기 큰 사이즈 이므로 여러 개의 batch로 나누어 처리한다. 훈련을 위해서는 여러 번 epoch를 반복해야한다.

2) Dropout regularization

Dropout은 학습 과정에서 뉴런을 확률적으로 비활성화(drop)하는 정규화 기법으로, 특정 뉴런이나 feature에 대한 과도한 의존을 방지하여 과적합(overfitting)을 줄이기 위해 사용된다.

Dropout은 신경망을 랜덤한 서브네트워크들의 앙상블로 학습시키는 효과를 갖는다.

 

3. CNN(Convolutional neural network) - 합성곱 신경망

이미지처리에 특화된 딥러닝 네트워크이다.

 

CNN은 특별한 Layers를 가지고 있다.

(1) Convolutionnal Lyaer(합성곱층)

- Image 정보의 공간적 지역 특성 보존

- Filter(Kernel)을 이용한 이미지 특성 추출

filter은 스스로학습하는 parameter

 

(2) Pooling Layer(풀링층)

- Image data의 정보 손실 없는 압축 -> 계산량 및 메모리 사용량 축소, 파라미터의 수 감소(과적합 방지)

728x90