Deep learning overall
- 딥러닝은 1. 어떠한 Input을 받아서 2. 적절한 계산을 한 후 3. output을 내는 이 과정이 Recursive하게 반복되는 모양임을 알 수 있다.
- 이를 약간 수학적으로 표현하면 Input과 Output 모두 vector로 바꾸어 함수 을 거치게 되고, 이 함수에서 나온 결과를 next layer의 input으로 삼아서 계산을 하는 방식
- 저 일련의 과정을 거치는 하나의 개체?를 Perceptron(Neuron)이라고 하며, 이 Perceptron을 통하여 Binary Classification을 할 수 있다.
- Neuron의 그림에서 볼 수 있듯이 과정이 크게 3가지로 나누어지는데, 각 과정에 대해서 살펴보자.
Weighted sum
- Weighted sum은 말 그대로 합계를 하는데, 가중치를 곱해서 더해주는 방식이다.
- 들어온 Input들에 대해 학습을 한 Weight(우리가 정해주는 것이 아니라 학습해주는 요소이다)들을 곱해서 다 더하는 과정을 Weighted sum이라고 한다.
- 이때, 마지막 Bias는 편향이라고 하는데, Input들에 관계없이 추가적으로 더해주는 값이다. 이도 학습을 하는 요소
- 식으로 표현하면 으로 나타낼 수 있다.
Activation Function
- Weighted sum을 할 경우 값이 굉장히 커질 수도 있는데, 이 과정을 가지고 다음 과정을 가지면 값이 걷잡을 수 없을 정도로 커진다.
- 또한, 단순히 Weight들을 합한 값들이 어떠한 의미를 가진다고는 할 수가 없음.
- 각 Feature들의 선형 연산으로 알맞은 답이 나올 수는 없고, Non-linear한 관계들끼리도 나타내주기 위해서는 선형성을 바꿔주는 함수가 필요함
- 추후 나오겠지만 Weight들을 학습하는 과정에선 Back Propagation을 하게 되는데 그 과정에서 미분을 해야하기 때문에 반드시 Activation function은 미분가능 하여야 함
- 대표적으로 Sigmoid function, ReLU, Leakly ReLU 등이 있고, 그 중에서 ReLU를 가장 많이 씀
- MLP를 할 때 자세하게 소개될 예정
Appendix
- Sigmoid function
- ReLU function
- Leakly ReLU function
XOR Problem
- AI에서 가장 고전적인 문제이며, 첫 번째 빙하기가 오게 한 문제
- 퍼셉트론이 초기에 고안되었을 때, 말했다시피 이진적인 분류는 가능했음
- 예를 들어 Output이 10 이상이면 Yes를, 10보다 작으면 No를 도출하는 분류
- 그러면, 2종류 이상의 분류도 가능할 것인가?가 대두가 되었음
- 이러한 2종류 이상의 분류 중 가장 대표적인 것이 XOR 연산
- XOR 연산이란 두 개가 같은 값이면 No를, 다른 값이면 Yes를 내는 연산
- 그러면, 좌표평면에서 너부러져 있는 값에서 하나의 퍼셉트론을 이용하여 XOR 연산을 하는 것은 불가능하다는 것을 의미 ⇒ 인공지능의 의미가 굉장히 떨어짐
- 왜냐면, 두 종류 이상의 분류도 못하는데 Non-linear한 데이터들은 더 분류하기 힘들 것이기 때문! ⇒ 이를 해결하기 위해 Multilayer perceptron가 대두
Uploaded by N2T