미래연구소 14기 수원캠퍼스 4주차 (2020.07.30)

Saulabi·2021년 11월 23일
0

미래연구소

목록 보기
4/12

미래연구소

먼저 3주차의 과제를 리뷰해본다.주어진 이미지 데이터들이 고양이인지 아닌지를 판별하는 모델링 과정을 코딩하는 과제가 주어졌었다.이미지 데이터는 64 x 64를 3채널(RGB)로써 * 3 이되어 12288의 shape을 가지게 되었고이를 고양이인지 아닌지를 판별하니 결과를 0과 1로 도출하는 Sigmoid함수를 Activate Function으로 하여 모델링 하였다train accuracy : 99%test accuracy : 82%를 얻었지만 우리 집 강아지 사진을 넣어본 결과 고양이란다..ㅜ

activation의 접선 기울기가 0에 가까워지면 -> dw의 감소 -> gradient descent가 잘 일어나지 않게 된다.

  • vanishing gradient (학습이 일어나지 않음)

이러한 현상이 sigmoid를 사용했을 때에 일어날 수 있다.

  • 요즈음은 Relu함수를 activation function으로 사용.

  1. sigmoid

장점 : binary classification의 output layer라는 특수한 상황에 적합

단점 : gradient descent 속도 저하

  1. tanh

장점 : sigmoid보다는 vanishing gradient가 덜하다. ( g'(z)의 최댓값이 1 )

단점 : gradient descent 속도 저하

  1. ReLU

장점 : sigmoid, tanh의 vanishing gradient 문제 해결

단점 : 그래도 절반이 gradient가 0 ( dying ReLU 현상 )

  1. Leaky ReLU

장점 : dying ReLU 현상을 해결

단점 : ReLU 보다는 비선형성이 덜하다

activation이 non-linear해야 하는 이유

딥러닝은 거대한 합성함수이다.

구분을 위한 왜곡된 함수가 필요 -> 일차함수가 아니어야 한다 -> non-linear

그림자료 -> 다양한 모양의 함수를 만들 수 있다.

w,b가 gradient descent에 따라 변하면서 최적의 딥러닝 함수를 찾는다.

zeros initialization

  • row symmetric현상이 일어난다.

대책

w[l] = 0.01 * np.random.randn(shape)

0개의 댓글