3-3 딥러닝 학습방법 이해

마친자·2024년 2월 6일
post-thumbnail

비선형 모델인 신경망(neural network)

[참고]소프트 맥스

  • 소포트맥스 함수는 모델의 출력을 확률로 해석할 수 있게 변환해주는 연산입니다.
  • 분류 문제를 풀떄 선형모델과 소프트맥스 함수를 결합하여 예측
  • 학습을 하는 경우는 사용하나, 추론으로 할때는 최댓값을 가진 주소만을 1로 출력하는 연산을 사용하므로 소포트 맥스가 아닌 원핫벡터를 사용함 np.max() 하는 이유는 소프트맥스는 지수함수를 사용하는데 너무 큰 숫자가 들어올때 오버플로우 현상이 나타날 수 있기 때문에 사용

신경망은 선형모델과 활성함수(activation function)를 합성한 함수이다

  • 선형모델에 나온 출력값을 소프트맥스를 취해 분류문제를 해결
  • 활성함수는 보통은 비선형함수로서 선형모델에서 나온 출력물 각각의 원소에 적용
    • 소프트맥스는 출력물 전체에 적용한다면, 다른 주소에 있는 출력값을 고려하지 않고 해당하는 주소의 값을 고려(벡터값이 아닌 실수값)
  • 활성함수는 잠재벡터(z)의 각 노드에 개별적으로 적용하여 새로운 잠재벡터(H)를 만든다
  • 신경망에서 활성함수가 필요한 이유는 비선형 근사를 하기 위해서이다.

활성함수

  • 활성함수는 R위에 정의된 비선형 함수로서 딥러닝에서 매우 중요한 개념
  • 활성함수를 쓰지 않으면 딥러닝은 선형모형과 차이가 없다
  • 시그모이트 함수나 tanh함수는 전통적으로 많이 쓰이던 활성함수지만 딥러닝에서 ReLU 함수를 많이 쓰고 있다.

다층 퍼셉트론은 신경망이 여러층 합성된 함수이다.

  • 1...L까지 순차적인 신경망 계산은 순전파(forward propagation)

왜 층을 여러개를 쌓나요?

  • 이론적으로 2층 신경망으로도 임의의 연속함수를 근사할 수 있습니다.
  • 그러나 층이 깊을수록 목적함수를 근사하는데 필요한 뉴런(노드)의 숫자가 훨씬 빨리 줄어들어 좀 더 효율적으로 학습이 가능하다

역전파 알고리즘

딥러닝은 역전파(backpropagation) 알고리즘을 이용하여 각 층에 사용된 패러미터를 학습합니다.

  • 각 층 패러미터의 그레디언트 벡터는 윗층부터 역순으로 계산하게 됩니다

  • 역전파 알고리즘은 합성함수 미분법인 연쇄법칙 기반 자동미분을 사용합니다

    • 미분 예시

    • 메모리를 순전파보다 더 많이 사용함

profile
마루에 미친자

0개의 댓글