오늘 시험을 쳤는데, 조금 망한것같다 ㅋㅋㅋㅋㅋ 알고보니 Perceptron과 Backpropogation을 공부를 안하고 간게 아닌가;;
하.. 이번주에 빡세게 정리하고, 코드까지 돌려봐야겠다.
기존 Perceptron에서는 하나의 Activation Funtion이 사용되어, 출력층에서 Non-linearly Separate 데이터를 분류할수가 없었다. MLP에서는 Layer를 추가 (은닉층)하여 Deep learning을 만들어, 기존 데이터의 배열을 Linear하게 Transform한것이다.
은닉층을 지난 노드의 출력값이 출력층으로 전달된 후 (Feed Foward)의 예측값과 타겟값의 error를 줄이는 방향으로 weight를 업데이트 해줍니다. 이를 backpropagation이라고 합니다.
출력 범위가 0-1 사이인 곡선.
Gradient Vanishing 문제가 나타날수 있음.
x가 0보다 크면 기울기가 1이되고, 0보다 작으면 함수값이 0이되어 뉴런을 제거하여, Back Propogation을 더 길게 할수 있다. -- Drop-out (랜덤하게 일부노드를 0으로 세팅) 기법도 자주사용