모플로 2021. 7. 25. 19:06
반응형

Softmax

  • 모델의 출력을 확률로 해석할 수 있게 변환(확률 벡터로 변환
  • 주어진 데이터가 어떤 클래스에 어느정도의 확률로 속하는지 알 수 있음
  • 학습에만 필요하고 추론할 때는 one-hot-vector를 사용
  • 선형모델에 사용
  • 출력물의 모든 값을 고려

Activation function (활성함수)

  • 해당 주소에 해당하는 값만 갖고 계산
  • vector가 아닌 실수값만 input으로 받음
  • 이 활성함수를 이용해서 선형으로 나온 출력물을 비선형으로 출력할 수 있고 이때의 비선형 출력물을 잠재벡터(히든벡터)라고 부르기도하고 뉴런이라고 부름
  • 실수값을 입력으로 받고 실수값을 return함
  • 활성함수를 사용하지 않으면 딥러닝은 선형모형과 차이가 없음
  • 최근 ReLU를 사용

    (이미지 출처: boostcamp ai precourse)
  • 신경망은 선형 모델과 활성함수를 합성한 함수
  • 활성함수는 각 벡터에 개별적으로 적용됨

다층 신경망 (Multi-layer perceptron)

  • 신경망이 여러층 합성된 함수

    (이미지 출처: boostcamp ai precourse)
  • 층이 깊을수록 목적함수를 근사하는데 필요한 뉴런(노드)의 숫자가 훨씬 빨리줄어들어 더 효율적으로 학습이 가능
  • 층이 적으면 뉴런의 숫자가 기하급수적으로 늘어나서 넓은 신경망이 돼아함

Forward propation, Back propagation

  • forward propagation
    • 순차적인 신경망 계산으로 학습이 아니라 주어진 입력이 왔을 때 출력물을 내뱉는 과정
    • x라는 입력을 받아서 최종출력까지 보낼 때 선형 모델과 활성함수를 반복적으로 적용하는 과정
  • back propagation:
    • 경사하강법을 적용해서 각각의 가중치 행렬들을 학습시킬때 각각의 가중치에대한 gradient vector를 적용을해야 경사하강법을 적용할 수 있음
    • 선형모델은 한층에서만 적용하기 때문에 gradient vector를 동시에 계산할 수 있지만 딥러닝은 순차적으로 쌓아서 계산하기 때문에 한번에 할 수없고 역전파 알고리즘을 통해 역순으로 순차적으로 한번씩 계산해야함
    • 역전파 알고리즘은 합성함수 미분법인 연쇄법칙(chain-rule) 기반 자동미분(auto -differentiation)을 사용
    • 연쇄법칙의 작동원리가 그대로 back propagation에 사용됨
  • 연쇄법칙 미분 원리
  • # z를 x에대하여 미분할 때 z = (x+y)**2 w = (x+y) z = w**2

dz/dx = dz/dw * dw/dx

1) dz/dw = 2w
2) dw/dx = 1
3) dz/dw * dw/dx = 2w * 1
4) dz/dx = 2(x+y)

- 메모리에 각 뉴런, 노드에 해당하는 값을 저장해야 값을 계산할 수 있음 -> 메모리 사용량이 높음








반응형