[플레이데이터 빅데이터 부트캠프]머신러닝 & 딥러닝 Deep Learning 개요

Deep Learning

  • 머신러닝의 대표적인 학습법
  • 여러 층을 거쳐 점점 추상화 단계로 접어드는 알고리즘 형태
  • 패턴을 찾기 위해선, 점 더 견고한 층이 필요하다.

활성화 함수와 편향

  • 각각의 뉴런 마다 특정 파라미터를 학습하기 위해 다른 편향들이 심어져 있다.
  • 역치를 넘어서면 넘으면, 인풋값이 활성화된다.
  • 편향 덕분에 input값이 ouput값을 찾아간다.
  • 오차를 맞춰 가는 동안 값을 저장해 둔다.

Multi Perceptron(MLP)

퍼셉트론을 층층히 쌓으므로 복잡한 연산도 가능해졌다.

딥러닝은 4개의 층 이상을 쌓은 구조이다.

역전파(Back Propagation)

  • 한 방향으로 진행되면, 검산을 할 수가 없으며, 꽤 좋은 예측력을 만들 수가 없다.
  • 예측값과 실제값의 차이인 오차를 계산하고, 이것을 다시 역으로 전파하여 가중치를 조정한다.
  • 이때, 역전파 과정에서는 최적화 함수를 사용한다.

기울기 소실 문제(Vanishing Gradient Problem)

  • 계층이 깊어질수록 학습이 어려운 기울기 소실 문제가 발생한다.
  • DBN(Deep Belief Network, 심층 신뢰 신경망)의 등장으로 기울기 소실 문제가 해결되었다.

활성화 함수

활성화 함수의 역할

  • 은닉층과 아웃풋에는 활성화함수가 하나하나씩 있다.
  • 입력의 총합을 어떻게 활성화 해서 출력하는 지를 결정하는 함수이다.
  • 각 노드가 이전 노드들로부터 전달 받은 정보를 다음 노드에 얼마만큼 전달해 줄지를 결정한다.
  • 가중치 값을 학습할 때 에러가 적게 나도록 도와주는 함수이다.

시그모이드 함수

  • 0이나 1일 사이의 값을 갖는 함수로 확률을 표현 가능하다.
  • 모델의 Layer가 많은 경우 잘 쓰지 않는다.
  • 모델이 깊어질 경우 탄젠트하이퍼볼릭 함수가 쓰여진다. (-1에서 1까지 있다.)

하이퍼볼릭 탄젠트

  • 값이 작아질수록 -1, 커질수록 1에 수렴
  • 모든 실수 입력 값에 대한 출력이 정의된다.
  • 출력이 실수값이라 Soft Desicion
  • 입력값이 0에 가까울 수록 출력이 빨라진다.
  • 모든 점에서 미분 가능하다.

ReLU 함수

  • 0보다 작은 값을 0으로 강제한다.
  • 양의 값은 선형이기 때문에 거리를 훨씬 더 잘 반영해 준다.
  • 이를 좀더 보정하기 위해 Leaky ReLU를 사용한다.
  • 딥러닝에서 가장 많이 사용된다.
  • 구현이 단순하고 연산이 매우 빠르다.

모델에 따른 활성화 함수의 사용

  • Multilabel Classification은 하나의 값을 여러 개의 기준으로 나누는 것을 의미한다.
  • 이미지 처리 모델인 CNN 모델에서는 ReLULeakyReLU를 주로 사용한다.
  • RNN 모델에서의 활성화 함수를 sigmoid 함수나 tanh함수를 사용다.
 

참조 이미지 : https://www.researchgate.net/profile/Zhenzhu-Meng/publication/339446790/figure/fig2/AS:862019817320450@1582532948784/A-biological-neuron-in-comparison-to-an-artificial-neural-network-a-human-neuron-b.png