딥러닝/모두를 위한 딥러닝 시즌1

[모두를 위한 딥러닝 시즌1] Lec08. 딥러닝: 시작과 XOR 문제, Back-propagation

CoGam 2024. 2. 10. 17:11
728x90

이번 강의부터 본격적으로 딥러닝에 대해서 배우기 시작한다.

 

그 시작 강의이기에 딥러닝이 어떻게 발전했는지 간략한 역사를 배운다.

가볍게 알아두면 좋을 것 같다.

 

 

딥러닝, 인공신경망 이라는 것을 말에서 알 수 있듯이 사람의 뇌에 있는 

신경망을 컴퓨터에서 구현하려는 목적으로 생겨났다.

 

컴퓨터를 사람처럼 생각하게 만들기 위한 방법이었다고 할 수 있다.

 

 

 

연구자들은 weight과 bias를 이용하여 결과를 출력하는 신경망의 작동을 

식으로 표현하였고, 이때부터 이것을 컴퓨터에 적용하기 위한 노력이 시작된다.

 

 

 

하지만 당시 기술력으로는 현재와 같은 수준의 딥러닝이 존재하지 않았다.

연구가 막 시작되던 때였고 뒷받침해줄만한 컴퓨터도 존재하지 않았을 것이다.

하지만 과학자들은 위와같이 너무 먼 미래를 미리 생각하였고 기대감에 부풀었다.

 

왜 기대감에 부풀었고, 이후 어떤 부분에서 어려움을 느꼈을까?

 

 

당시 연구자들은 컴퓨터가 And/Or 문제를 풀어낼 수 있으면 인간처럼 생각하는 것이 

가능하다고 믿었다. 이는 우리가 앞서 배운 선형 모델로도 충분히 해결할 수 있다.

직선을 하나만 이용하면 분류가 가능하기 때문이다.

 

 

 

하지만 지금까지 있던 선형 모델로 해결할 수 없던 문제가 있었는데 바로 XOR 문제였다.

하나의 직선을 이용해서는 어떻게 긋더라도 이 문제를 풀어내는 것이 어려웠다.

 

 

 

머신러닝, 딥러닝계의 큰 영향을 미친 Marvin Minsky 교수님이 1969년 책을 하나 쓰게 되는데, 

이 책에서 그는 왜 이 문제를 푸는 것이 불가능한지를 수학적으로 증명하였다.

 

결론적으로 다층 퍼셉트론을 필요로 했는데 당시 기술로는 이것을 구현하지 못하고 있었다.

 

그렇게 XOR 문제는 풀 수 없는 것처럼 보였다.

 

 

 

하지만 70, 80년대에 역전파 (Backpropagation) 기법이 연구되면서 

관련된 문제가 조금씩 풀리기 시작하였다.

 

다층 퍼셉트론을 사용하게되면 은닉층에서 손실을 줄일 수 있도록 

weight과 bias 값을 업데이트 하는 과정이 필요한데 기존에는 그 방법을 알지 못했다.

 

하지만 역전파라는 기법을 통하여 

 

input -> 다층 퍼셉트론 -> 결과, 

결과 -> 다층 퍼셉트론 -> 다시 input...

 

의 과정을 통해 손실을 계속해서 줄일 수 있도록 weight과 bias를 

업데이트 하는 것이 가능해졌다.

 

이런 기본적인 아이디어는 CNN, RNN 등 딥러닝 모델의 개발로 이어졌고,

해당 모델들은 각 분야에서 다양한 가능성을 보이며 발전해나갔다.

 

 

그러나 앞으로 무궁무진한 발전을 이룰 수 있을 것 같던 인공신경망에 

아직 한 가지 문제가 있었다.

 

 

 

역전파를 하는 과정에서 층이 많을수록 앞쪽 층에 미치는 영향이 작아진다는 점이다.

앞쪽 층의 weight과 bias가 올바른 방향으로 업데이트 되지 않는다는 문제가 생기는 것이다.

 

 

 

반응형