본문 바로가기

LG Aimers

Module6. 딥러닝 (1)

Part1.  심층신경망의 기본 동작 과정

[Deep learning ]

: 두뇌 속에 있는 뉴런 혹은 신경세포를 본 따서 그리고 그 신경세포들이 서로 연결관계에 있으면서 정보를 점점 더 고수준의 정보로 처리하고 여러 지능적인 task를 수행할 수 있도록 수학적인 알고리즘으로 만든 것.

  • 기계 학습의 일종이 딥러닝
  • 하나하나의 뉴런이 모여서 신경망을 구성
  • 같은 계층의 뉴런들은 같은 정보를 받아서 각자 나름대로 정보를 처리하고 다음 계층의 뉴런에게 전달
  • 계층이 매우 깊어진 것이 딥러닝
  • 많은 학습 데이터 양 +  높은 사양의 하드웨어 + 진보된 알고리즘 필요

 

[Perceptron ]

: 뉴런의 동작 과정을 수학적으로 본 따서 만든 알고리즘 

  • f : 활성화함수 

-> layer를 쌓으면 복잡한 task도 가능해짐 (XOR gate)

 

[Forward Propagation]

a : activation, W : weight matrix

  • 예시 - MNIST 

 

[Softmax Classifier]

  • sigmoid output 과 Mean-Squared Error Loss -> gradient 값이 작아 학습이 느리다는 문제
  • Softmax Layer

지수함수를 통해 양수 범위로 변환 후 비율 값으로 계산해 출력

  • softmax loss(cross-entropy loss, negative log-likelihood)

정답에 대한 확률값이 x, -logx값이 loss가 됨

  • Logistic Regression : negative class에 해당하는 가중치는 0으로 가정하고 이에 대한 가상의 확률 값을 구하고 positive class에 해당하는 가중치만을 학습을 통해 최적화된 값으로 도출해낸다.

 


Part2.  심층신경망의 학습 과정

[Backpropagation]

  • 간단한 logistic regression에서 나아가 multi-layer perceptron 그리고 다양한 neural network architecture들에 대해서 computational graph를 만들 수가 있음
  • 여기에 data item을 입력으로 줘서 forward propagation 계산 과정을 수행하고 최종적으로 loss 값을 계산
  • loss를 minimize할 수 있도록 backpropagation 과정을 통해 직접적으로 업데이트할 parameter에 대한 loss function의 gradient값을 구함
  • 그 parameter들을 gradient descent 알고리즘을 통해 업데이트 수행  

 

[Activation function]

  • sigmoid activation : 0부터 1 사이의 수로 맵핑 
    -> 문제: gradient 값의 최댓값이 1/4 => 앞쪽으로 갈수록 gradient vanishing 문제
  • tanh activation : -1에서 1사이의 수로 맵핑
    -> 여전히 gradient vanishing 문제
  • ReLU : 음수면 0, 양수면 그대로 맵핑 (많이 사용)
    -> 양수에서는 gradient가 그대로이기 때문에 학습 빨라짐

 

[Batch Normalization]

: 값이 큰 gradient 입력값으로 제한을 두는 것

1) normalize - tanh 입력값의 범위를 0을 중심으로 하는 분포로 제한, 분모로 학습한 분산 값 

2) ax+b, a^2 : 분산, b : 평균 -> 해당 데이터를 가지는 고유의 평균, 분산 복원


Part3.  합성곱 신경망 (CNN)의 동작 원리 및 이를 통한 이미지 분류

[ConvNet]

  1. Filtering

  • filter와 image patch의 겹치는 부분 곱해서 다 더한 값으로 구성된 activation map 생성
  • filter의 갯수만큼 activation map 생성
  • 이미지의 갯수 -> 채널

1층 더 결합, 채널 3

2. Pooling

-> size를 줄여주는 효과 

 

3. Fully Connected layer

 

4. 최종 모델

  • trainable 가중치는 convolution에 존재 (filter의 coefficient, filter의 패턴)

 

5. Hyperparameters

  • Convolution
    • Number of filters
    • size of filters
  • Pooling
    • window size
    • window stride (window 옮기는 간격)
  • Fully Connected
    • number of layers
    • number of neurons

 

[Residual Network]

  • 많이 사용되고 있는 CNN구조
  • 만드고 싶은 출력을 위해 입력 대비 얼마만큼을 더해 줄지 혹은 빼줄지 그 추가 값만을 layer에서 만들어줌
  • skip connection - 필요할 때는 건너뛸 수 있음 ->f(x) 거의 0, x만 입력
    => layer의 파라미터들이 random initialization에서 순기능까지 시간이 오래 걸리는 단점 해결

  • Revolution of Depth

강의 내용 정리 : LG Aimers AI Essential Course - Module6 by 카이스트 주재걸 교수님

 

 

 

'LG Aimers' 카테고리의 다른 글

Module 7. B2B 마케팅  (0) 2024.01.21
Module6. 딥러닝 (2)  (0) 2024.01.20
Module4. 지도학습(분류/회귀)  (0) 2024.01.16
Module2. Mathematics for ML  (1) 2024.01.11
Module3. Machine Learning개론  (1) 2024.01.11