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

코딩세상

[딥러닝 기초] 2장 텐서플로우와 딥러닝 학습 방법 - 딥러닝 모델의 학습 방법 본문

인공지능

[딥러닝 기초] 2장 텐서플로우와 딥러닝 학습 방법 - 딥러닝 모델의 학습 방법

필륭 2023. 8. 30. 16:50

- 딥러닝 모델이란?

 

딥러닝 모델

 

딥러닝 모델이란 앞서 1장에서 설명했던 것처럼 퍼셉트론을 여러개 쌓은 다층 퍼셉트론 중 히든 레이어의 개수가 3층 이상인 모델을 뜻합니다.

 

 

 

 

- 딥러닝 모델의 구성 요소

 

딥러닝 모델의 구성요소

 

딥러닝 모델은 위 그림과 같이 

  • 노드간의 연결 강도를 나타내는 가중치(Weight)
  • 각 층을 구성하는 요소인 Node/Unit
  • 모델을 구성하는 층인 Layer

로 이루어져 있습니다. 각각에 대한 설명은 추후에 더 자세히 설명하겠습니다.

 

 

 

- 딥러닝 모델의 학습 방법

 

딥러닝 모델은 Loss function(손실 함수)의 값을 최소화 하기 위해 최적화(Optimization) 알고리즘을 적용합니다.

 

 

 

- 손실함수(Loss Function)과 최적화(Optimizer)

 

손실함수와 최적화

 

손실함수는 위 그림 중 왼쪽의 그래프와 같이 실제 값과 예측 값 사이의 오차값을 나타내는 함수입니다.

회귀 모델과 분류 모델에 따라 사용되는 손실함수가 서로 다르며 대표적으로 사용하는 손실함수에 대한 예는 아래와 같이 들 수 있습니다.

 

- 회귀

  • MSE(Mean Square Error)
  • RMSE(Root Mean Square Error)
  • MAE(Mean Absolute Error)

 

- 분류

  • entropy
  • Cross entropy
  • Binary Crossentropy
  • Categorical Crossentropy
  • Sparse Categorical Crossentropy

현재 진행하는 포스팅은 딥러닝에 대한 기초를 폭 넓게 이해하는 것이므로 각각의 손실함수에 대한 자세한 설명은 추후 더 자세히 설명하겠습니다. 

 

최적화는 위 그림 중 오른쪽 그래프와 같이 오차값을 최소화 하는 모델의 인자를 찾는 것입니다.

최적화 함수는 더 나은 방향으로 발전해왔으며, 최적화 함수가 어떻게 발전 해왔는지에 대한 과정은 아래의 사진을 통해 확인할 수 있습니다.

 

최적화 함수(Optimizer)의 발달 과정

 

 

 

 

- 딥러닝 모델의 학습 방법 이해하기

 

그러면 우리는 딥러닝 모델의 학습 방법을 

" 예측값과 실제값 간의 오차값을 최소화하기 위해 오차값을 최소화하는 모델의 인자를 찾는 알고리즘을 적용"

한다고 설명할 수 있습니다.

 

 

 

- 가장 기본적인 최적화 알고리즘, Gradient Descent(GD)

 

Gradient Descent(GD)

가장 기본적인 최적화 알고리즘인 Gradient Descent란?

신경망의 가중치들을 W라고 했을 때, 손실함수 Loss(W)의 값을 최소화 하기위해 기울기를 이용하는 방법입니다.

 

 

 

- 각 가중치들의 기울기를 구하는 방법

 

 

딥러닝에서는 역전파(Backpropagation)을 통해 각 가중치들의 기울기를 구할 수 있습니다. 

 

 

 

- Boom times의 배경 : 역전파(Backpropagation)

 

 

 

역전파의 개념은 첫 번째 AI의 겨울이 끝나고 다층 퍼셉트론이 등장하면서  다층 퍼셉트론을  효과적으로 학습시키기 위해서 역전파가 필요했기 때문에 같은 시기에 나오게 되었습니다.

 

 

 

- 순전파(Forward propagation)의 정의

 

순전파

역전파의 설명에 앞서 순전파(Forward propagation)에 대해서 먼저 설명하면 데이터가 입력되고 각각의 히든 레이어를 통과하여 가중치와 함께 계산된 값이 Output으로 나오는 과정을 말합니다.

 

 

 

- 순전파 예시

 

순전파 예시

 

위에서 설명한 내용을 실제 값을 이용하여 표시하면 다음 그림과 같이 나타낼 수 있습니다.

 

 

 

- 역전파(Backpropagation)의 정의

 

 

순전파와 역전파

 

그렇다면 역전파의 정의는 앞서 설명한 순전파와는 반대로 Target 값(나의 목표)과 실제 모델이 예측한 Output값이 얼마나 차아나는지 계산한 후 오차값을 다시 뒤로 전파해가며 변수들을 갱신하는 알고리즘을 말합니다.

 

 

 

- 역전파 예시

 

역전파 예시

 

앞서 설명한 순전파에서 계산한 값을 바탕으로 반대로 각 perceptron의 값을 계산하여 가중치를 조절하게 됩니다. 

 

따라서 Deep Learning 모델은 이와 같은 순전파와 역전파의 과정을 오차 값이 0에 가깝게 되도록 계속 반복하게 됩니다.

 

 

 

 

 

 

 

# 출처

 

엘리스 AI 트랙 7기 - [강의자료]  텐서플로우와 딥러닝 학습 방법

 

옵티마이저의 발전 도표 참고

https://velog.io/@woooa/TIL-%EA%B2%BD%EC%82%AC-%ED%95%98%EA%B0%95%EB%B2%95%EA%B3%BC-%EC%98%B5%ED%8B%B0%EB%A7%88%EC%9D%B4%EC%A0%80

 

[TIL] 경사 하강법과 옵티마이저

경사 하강법은 손실 함수의 경사(Gradient)가 작아지는 방향으로 업데이트 하는 방법이다. 매 Iteration마다 해당 가중치에서 비용 함수의 도함수(=비용 함수를 미분한 함수)를 계산해 경사가 작아질

velog.io

 

 

 

 

 

 

 

 

Comments