본문 바로가기

Python/Data Analysis

Data Analysis / DL / Basic(2)

< 오차 역전파 (back propagation) >

▷ 미분을 사용해서 weight와 bias값을 전부 바꾸기에는 시간이 너무 오래걸린다.

▷ "paul"이라는 사람이 chain rule을 이용해서 미분을 행렬연산으로 대체하여 해결하는 방법을 찾음

▷ 오차값을 이용하여 W를 역방향으로 행렬연산하여 갱신가능

back propagation


< Vanishing Gradient >

▷ Sigmoid 함수를 사용하므로 값이 0~1 사이로 줄여진다.

▷ W에 Sigmoid를 적용해 나가므로 오차 역전파를 진행할수록 점점 0에 수렴해나가고, 제일 처음 layer는 W의 변경이 거의 없게 되는 현상

▷ layer 수가 많을 수록 Vanishing Gradient 현상이 심화된다.

▷ ReLU(Rectified Linear Unit - max(0, x)) 함수를 activation으로 이용해서 해결 가능

ReLU 함수


< Deep Learning - MNIST 예제 실습 >

▷ Tensorflow 1.15 버전을 이용해서 구현해보자

1. 단일 layer를 이용한 구현

▷ 정확도 : 90%


2. 다중 layer를 이용한 구현(초기화, activation 설정 X)

▷ Hidden layer를 추가해서 구현 가능

▷ 정확도 : 93%


3. 다중 layer를 이용한 구현(초기화, activation 설정 O)

▷ W 초기화를 랜덤으로 하지않고, He's 초기법을 활용해서 구현

▷ sigmoid를 사용하지 않고, Relu 함수를 activation으로 이용해서 구현

▷ 정확도 : 97%

'Python > Data Analysis' 카테고리의 다른 글

Data Analysis / DL / CNN  (0) 2020.11.02
Data Analysis / ML / SVM  (0) 2020.10.21
Data Analysis / DL / Basic  (0) 2020.10.16
Data Analysis / ML / Tensorflow 2.x(2)  (0) 2020.10.15
Data Analysis / ML / Tensorflow 2.x(1)  (0) 2020.10.15