딥러닝의 motivation
이 그림을 사람이 아닌 컴퓨터가 2이구나 하고 인식할 수 있게 만들기.
how?
이미지를 각 grid로 나누어 픽셀로 구분하고 값(0or1)을 넣어 input vector로 이용한다. 이를 conv layer를 통해 훑은 후 linear layer를 통해 마지막 softmax로 도출할 수도 있고, 처음부터 flatten하고 linear layer를 거쳐 값(클래스)을 도출해낼 수 있다. f:R256 -> R10 => 이를 토대로 np.argmax or torch.max(output, 1)를 통해 예측
인간 뇌세포에 있는 뉴런을 모방하여 만든 것이 퍼셉트론
input vectorㆍweights + bias (weight sum)-> activation ft (non-linear 그림은 sigmoid를 통해 이진분류(신호를 보낸다, 안 보낸다.))-> output vector(0or1) : f:Rk->R
프로그래밍과 러닝
뉴런과 비슷하게 input, bias, weight로 생각하고, step ft을 activation으로 생각. 중요한 점은 weight를 정하기 쉽지 않다. 만약 weight가 너무 많다면?! 이를 사람이 다 프로그래밍으로 정하기는 어려울 것이다. 이를 컴퓨터가 학습하며 최적의 파라미터를 만들 수 있게 수 많은 데이터를 넣고 딥러닝을 통해 찾는 것이다!
1969년 퍼셉트론에 대해 XOR문제를 풀지 못함에 따라 한계점을 지적 : AI Winter 1
=> multi layer perceptron을 통해 line을 두 개를 놓고 분류 => backpropagation 등장! 각각의 weight들을 컴퓨터가 효율적으로 학습할 수 있게 된다.
MLP : FeedForwardNetwork
: input layer / hidden layer(node) / output layer
hidden layer가 많아짐에 따라 정교하게 구분이 용이하게 된다.(layer는 hidden과 output)
고려대학교 오승상 교수님 강의 : https://www.youtube.com/watch?v=XXBdN7NOij8&list=PLvbUC2Zh5oJvByu9KL82bswYT2IKf0K1M&index=2