방명록
- 비선형 액티베이션, 역전파, 이진분류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$ 이기 때문이다
- 로그는 단조 증가하기 때문에 상관이 없다
반응형'인공지능 > 인공지능 기초' 카테고리의 다른 글
Univeral Approximation Theorem, Vanishing Gradient 방지 (2) 2024.02.28 MSE, log-likelihood, MLE, 다중 분류 (2) 2024.02.27 Momentum, Adam, Validation, DNN (2) 2024.02.25 선형 회귀, 경사 하강법, 가중치 초기화, SGD (2) 2024.02.24 비지도, 자기지도, 강화학습, 인공신경망 (0) 2024.02.23 다음글이 없습니다.이전글이 없습니다.댓글