이번 강의부터 본격적으로 딥러닝에 대해서 배우기 시작한다.
그 시작 강의이기에 딥러닝이 어떻게 발전했는지 간략한 역사를 배운다.
가볍게 알아두면 좋을 것 같다.
딥러닝, 인공신경망 이라는 것을 말에서 알 수 있듯이 사람의 뇌에 있는
신경망을 컴퓨터에서 구현하려는 목적으로 생겨났다.
컴퓨터를 사람처럼 생각하게 만들기 위한 방법이었다고 할 수 있다.
연구자들은 weight과 bias를 이용하여 결과를 출력하는 신경망의 작동을
식으로 표현하였고, 이때부터 이것을 컴퓨터에 적용하기 위한 노력이 시작된다.
하지만 당시 기술력으로는 현재와 같은 수준의 딥러닝이 존재하지 않았다.
연구가 막 시작되던 때였고 뒷받침해줄만한 컴퓨터도 존재하지 않았을 것이다.
하지만 과학자들은 위와같이 너무 먼 미래를 미리 생각하였고 기대감에 부풀었다.
왜 기대감에 부풀었고, 이후 어떤 부분에서 어려움을 느꼈을까?
당시 연구자들은 컴퓨터가 And/Or 문제를 풀어낼 수 있으면 인간처럼 생각하는 것이
가능하다고 믿었다. 이는 우리가 앞서 배운 선형 모델로도 충분히 해결할 수 있다.
직선을 하나만 이용하면 분류가 가능하기 때문이다.
하지만 지금까지 있던 선형 모델로 해결할 수 없던 문제가 있었는데 바로 XOR 문제였다.
하나의 직선을 이용해서는 어떻게 긋더라도 이 문제를 풀어내는 것이 어려웠다.
머신러닝, 딥러닝계의 큰 영향을 미친 Marvin Minsky 교수님이 1969년 책을 하나 쓰게 되는데,
이 책에서 그는 왜 이 문제를 푸는 것이 불가능한지를 수학적으로 증명하였다.
결론적으로 다층 퍼셉트론을 필요로 했는데 당시 기술로는 이것을 구현하지 못하고 있었다.
그렇게 XOR 문제는 풀 수 없는 것처럼 보였다.
하지만 70, 80년대에 역전파 (Backpropagation) 기법이 연구되면서
관련된 문제가 조금씩 풀리기 시작하였다.
다층 퍼셉트론을 사용하게되면 은닉층에서 손실을 줄일 수 있도록
weight과 bias 값을 업데이트 하는 과정이 필요한데 기존에는 그 방법을 알지 못했다.
하지만 역전파라는 기법을 통하여
input -> 다층 퍼셉트론 -> 결과,
결과 -> 다층 퍼셉트론 -> 다시 input...
의 과정을 통해 손실을 계속해서 줄일 수 있도록 weight과 bias를
업데이트 하는 것이 가능해졌다.
이런 기본적인 아이디어는 CNN, RNN 등 딥러닝 모델의 개발로 이어졌고,
해당 모델들은 각 분야에서 다양한 가능성을 보이며 발전해나갔다.
그러나 앞으로 무궁무진한 발전을 이룰 수 있을 것 같던 인공신경망에
아직 한 가지 문제가 있었다.
역전파를 하는 과정에서 층이 많을수록 앞쪽 층에 미치는 영향이 작아진다는 점이다.
앞쪽 층의 weight과 bias가 올바른 방향으로 업데이트 되지 않는다는 문제가 생기는 것이다.
'딥러닝 > 모두를 위한 딥러닝 시즌1' 카테고리의 다른 글
[모두를 위한 딥러닝 시즌1] Lec10-01. ReLU activation function (3) | 2024.02.10 |
---|---|
[모두를 위한 딥러닝 시즌1] Lec09. XOR 문제 딥러닝으로 풀기 (1) | 2024.02.10 |
[모두를 위한 딥러닝 시즌1] Lec07-2. Training/Testing 데이터 셋 (0) | 2024.02.08 |
[모두를 위한 딥러닝 시즌1] Lec07-1. 학습 rate, Overfitting, 그리고 일반화 (Regularization) (1) | 2024.02.08 |
[모두를 위한 딥러닝 시즌1] Lec06. Softmax Regression의 개념과 Cost (2) | 2024.02.07 |