본문 바로가기

대외활동/ABC 지역주도형 청년 취업역량강화 ESG 지원산업

[220928 ABC] 신경망의 기본 개념

반응형

다층 퍼셉트론(Multi-Layer Perceptron)

  • 그림의 선이 전부 가중치에 해당함
  • 실제로 사용한 퍼셉트론은 굉장히 많음
    • 연산 비용이 큼
    • 벡터화(Vectorization)을 이용

활성화 함수

  • XOR 게이트 문제에서 ReLU 활성화 함수를 사용
    • 비선형 활성화 함수
    • 선형 활성화 함수를 쓰면, f(f(f(x))) → f(x)와 동일
    • 층을 쌓는 의미가 없어져... → 비선형 활성화 함수 사용으로 해결

  • 대표적으로 사용되는 시그모이드(Sigmoid), 하이퍼볼릭 탄젠트(tanh), ReLU 활성화 함수
    • 그 외에 PReLU, ELU, Leaky-ReLU, swish 등이 존재

왼쪽부터 순서대로 시그모이드(Sigmoid), 하이퍼볼릭 탄젠트(tanh), ReLU 활성화 함수

경사하강법

  • Gradient Descent Alforithm (경사하강법)
    • 특정 함수에서의 미분을 통해 얻은 기울기를 활용하여 최적의 값을 찾아가는 방법
    • 그림에서 사용하고 있는 학습률(Ir)은 성능, 학습 속도에 중요한 영향을 끼치는 하이퍼파라미터
      • 학습률이 너무 높으면 학습이 되지 않을 수 있음
      • 그렇다고 너무 낮으면, 최적값에 도달하기 전에 학습이 종료
      • 주로 1e-3(0.001)을 기본값으로 사용
    • 위 함수는 어느 지점에서 출발해도 경사를 따라가다 보면 최적값(손실이 최소가 되는 지점)에 도달함
    • 하지만 우리가 만날 함수 공간은?

  • 경사하강법은 항상 최적값을 반환한다는 보장을 할 수 없음
    • 왼쪽 점에서 시작할 경우
      • 전역 최솟값 ← Good!!
    • 오른쪽 점에서 시작할 경우
      • 지역 최솟값 ← Bad!!
  • 가중치 초기화 문제
    • weight initialization
    • 왼쪽 점? 오른쪽 점?
    • 특별한 경우가 아닌 이상, 케라스가 제공하는 기본값을 사용해도 무방
    • Glorot(Xavier), he, Lecun 초기화
  • 배치 단위를 사용하여 진행
    • 확률적 경사 하강법
    • SGD; Stochastic Gradient Descent

신경망 학습 최적화 Optimization

  • 하이퍼파라미터를 어떻게 설정하느냐에 따라서 학습의 결과가 천차만별로 달라짐
  • 신경망 모델의 학습과 그 결과에 따른 손실함수의 값을 최소화하는 방향으로 하이퍼파라미터의 값을 찾는 것이 최적화의 목표
  • 최적의 가중치 값을 구하기 위해서 앞에서는 미분을 통해 기울기를 구하여 가중치 값을 갱신하는 방법인 확률적 경사하강법(Stochastic Gradient Descent; SGD) 방법
  • 확률적 경사하강법 이외에도 다양한 최적화 기법을 통해 최적의 하이퍼파라미터 조합을 찾을 수 있음

 

반응형