ML lab 10 DeepLearning
lec10-1: Sigmoid 보다 ReLU 전에 공부했던 것을 정리하자면, activation function은 값이 다음 레이어로 넘어갈 때 범위 안의 값으로 변환시켜주는 함수이다. 위와 같이 sigmoid 함수로 다음 레이어에 값을 넘겨주는 것을 알 수 있다. 위 그림처럼 한 개의 x만 입력 값을 받는 것이 아니라 여러 값을 받을 수도 있다. 위 그림처럼 3개의 레이어를 만들어 한개의 input layer,output layer, hidden layer로 설정할 수 있다. 레이어에서 다음 레이어로 넘어갈 때 활성화 함수를 거쳐서 값을 변환시킨 뒤 넘겨야한다. 그러나 전 layer의 output 갯수와 다음 layer의 input 갯수는 맞추어야 한다. 이러한 과정을 tensorboard로 나타내려면 아래와 같은 코드를 써야한다. 텐서보드로 보면 코드로 보는 것보다 훨씬 직관적이고 이해하기 쉽다. 마지막으로 sigmoid를 이용해 결과를 출력해보면 아래와 같은 낮은 정확도를 보인다. 낮은 정확도를 보이는 이유를 분석해보자. sigmoid는 양의 정수가 커지면 커질수록 최대 1로 다가가기 때문에 1보다 작은 값들을 곱해나가다보니 너무 작은 수가 되버린다. 그래서 나온 활성화 함수가 ReLU이다. ReLU의 그래프는 아래와 같다. 양의 정수가 커지면 커질수록 더 큰 값을 갖게되는 함수를 만들었다. 그리고 sigmoid 대신에 ReLU 함수를 써보면 코드는 아래와 같다. 마지막에는 digmoid 함수를 쓴다. 왜냐하면 입력을 받을 때 0과 1 사이의 값으로 받기 때문이다 . ReLU를 쓰고 정확도를 체크해보니 100프로가 나온 것을 알 수 있다. ReLU 말고도 아래와 같이 더 많은 활성화 함수가 존재한다. lec10-2: Weight 초기화 위 문제는 lay...