재형이의 성장통 일지
  • 비선형 액티베이션, 역전파, 이진분류
    2024년 02월 26일 07시 36분 04초에 업로드 된 글입니다.
    작성자: 재형이
    반응형
     
     
    • 다양한 해석이 가능하다는 것을 보여주기 위해서 여러가지를 보여주시는데 어렵네요
    • 해석이 가능할려면 일단 이해를 하고 있어야 하는데, 하나 하나 이해하기가 벅차군...
    • 이진 분류, 베르누이 분포, 시그모이드, 로짓 어쩌구~
    • 흐흐흐

    점심 나가서 먹을 것 같아

     

     

     

     


     

     

     

     

     

     

     

    1. 비선형 액티베이션 (Non-Linear Activation)이 중요한 이유

    • 지난번에 인공신경망을 수식으로 표현해보았다
    • 그렇다면 더 깊은 더더 깊은 인경 신공망도 표현할 수 있을까?
    • 할 수 있다! 단, 비선형 액티베이션일 때만!
    • 왜 선형 액티베이션에서는 안되는걸까?
    • 선형 액티베이션에서는 인공 신경망이 아무리 깊어져도 의미가 없어진다

    • 인공 신경망이 아무리 깊어진다고 할 지라도 선형 액티베이션이라면 히든 레이어가 다 의미가 없어짐
    • 따라서, non-linear activation은 중요하다..!
      (입력, 출력간의 비선형 관계도 나타낼 수 있고 깊을수록 복잡한 함수 표현 가능)

    2. 역전파 (BackPropagation)

    • 깊은 인경 신경망에서 W를 어떻게 구할 수 있을까?

    • $W_{2}$는 이렇게 구하면 된다
    • 그러면 $W_{1}$도 이렇게 하면 될까? 아니다
    • $W_{1}$이나 $d_{1}$ 이 바뀔 때 $n_{1}$ 에만 영향을 주는게 아니다 밑에 파란 놈한테도 영향을 주게 된다

    • 즉, 영향을 주는 놈들을 다 고려해주어야 한다
    • 그래서 단순히 $W_{1}$처럼 구하면 안된다

    • 이런식으로 다 더해주어야 한다
      모든 경로를 고려해주어야 함!
    • 이렇게 미분이 뒤로 전달되니까 이런 것을 역전파라고 부른다

    3. 이진 분류

    • 키와 몸무게를 보고 살을 빼야할 지, 쪄야할 지 알려주는 모델을 만든다고 해보자
    • 만약에 비선현 액티베이션 중 하나인 Unit Step Function을 사용한다면?
      (hidden layer없이 unit step function을 activation으로 사용하면 퍼셉트론이라 함)
    • 입력: 키와 몸무게
      출력: 1 (빼야 할 사람) 또는 0 (쪄야 할 사람)

    • 이런 식으로 경계가 선형적인 선형 분류를 사용할 수 있다
    • 경계를 기준으로 위쪽은 살을 빼야하고 아래쪽은 살을 쪄야한다
    • 근데 이렇게 한다면 만약에 아래와 같은 사람은 살을 빼는게 맞는걸까...? 우리 공식에 의하면 1과 0뿐이므로 빼는게 맞지만... 이게 맞나...?

    • 그리고 Unit Step Function은 미분이 불가능하다

    이런 모양이기 때문에

    • 이렇게 단순히 1과 0으로 구분하지 말고 1과 0 사이의 값들로 구분한다면 확률로 알려줄 수 있지 않을까?
      예를 들어서 이 사람은 살을 빼는게 맞을 확률이 90%! 이 사람은 56%! 이런 식으로
    • 그러기 위해서 Unit Step Function을 부드럽게 만들어보자. 다음처럼

    • 이런걸 Sigmoid라고 부른다
    • 시그모이드는 전구간 미분이 가능하고 확률로 해석이 가능하다
    • 대신 가장 합리적인 분류 기준 선을 찾아야 한다

    • 그렇다면 이번엔 강아지와 고양이 사진을 입력으로 넣고 Sigmoid 액티베이션을 사용하는 분류 모델을 만들어보자
    • 입력을 3x100x100인 사진이라고 하고 곧바로 출력 층으로 연결한다고 하자
    • 머신의 출력을 강아지 사진일 확률로 정의하고 강아지면 q=1, 고양이면 q=0 이 나오도록 하자
      → 머신의 출력(예측 q)과 나와야할 출력(정답 p)
    • q = 1 이 나오게 하자는 q를 최대화하자와 같은 의미이다. 왜냐하면 출력값의 범위가 1에서 0 사이이기 때문이다
      q = 0 이 나오게 하자는 1-q를 최대화하자와 같은 의미이다
    • 따라서 $q^{p}(1-q)^{1-p}$ 를 최대화하자라고 한 줄로 표현할 수 있다
    • 즉, $q^{p}(1-q)^{1-p}$은 첫번째 사진을 뽑았을 때 해당 동물에 대한 확률이라고 볼 수 있고, 지금 여러장을 뽑는 것이므로 확률은 각각을 곱한 것과 같다
    • 즉, $q_{1}^{p_{1}}(1-q_{1})^{1-p_{1}} \times q_{2}^{p_{2}}(1-q_{2})^{1-p_{2}} \times q_{3}^{p_{3}}(1-q_{3})^{1-p_{3}} ...$을 최대로 하는 것을 구하는 것과 같다
    • 근데 여기서 $q^{p}(1-q)^{1-p}$는 0과 1 사이의 값이므로 계속 곱하게 되면 0에 수렴하게 된다
    • 이것을 막기 위해 로그를 취해준다
      → 로그를 취하면 곱이 합으로 변한다

    • 근데 그냥 로그를 취해줘도 상관이 없는걸까? → Yes!
    • 왜냐하면 $argmax \log x = argmax x$ 이기 때문이다
    • 로그는 단조 증가하기 때문에 상관이 없다

     

     

     

     

     

     


     

     

     

     

     

     

     

    반응형
    댓글