#1 근자감
1958년, 코넬 Aeronautical Lab 에서 인지학자로 연구하던 Frank Rosenblatt 박사는 인간의 뉴론을 흉내 낸 당시의 Computer System을 보고는...
곧, 걷고, 말하고, 보고, 쓸 수 있으며, 스스로 재생산 해 낼 수 있는 장치가 나타날 것
이라고 주장한다. 이 기사는 당시 뉴욕 타임스에까지 실리면서, 사람들에게 인공지능의 미래에 대해 근자감을 심어주게 된다.
#2 지나친 비판론자
이렇게 희망적이던 인공지능에 대한 연구는 1969년 MIT AI Lab 책임자였던 Marvin Minsky 교수에 의해 박살나는데,
이 분은, 뉴론을 본 뜬 인공지능 신경망이 XOR 문제를 풀 수 없을 거라는 것을 증명하며,
No one on earch had found a viable way to train *
이라고 말하며, 그 동안 있었는 인공지능, 신경망 연구에 찬물을 끼얹게 된다. 워낙 유명했던 분이라...이후에 인공지능 연구는 수면아래로 떨어져 사람들의 관심사에서 멀어져 갔다.
#3 부활
Minsky 교수의 주장은 1974년 Paul Werbos 에 의해 Backpropagation이란 방법으로 XOR 문제가 해결 될 수 있다는 연구가 보고되었다. 하지만, 불행하게 이 결과는 아무에게도 주목 받지 못했고...
1986년 Hinton 이라는 분도 같은 주장을 하기 시작하자, 그때서야 사람의 이 주장을 주목하기 시작했다.
1980년 말, LeCun 교수 (Le-NET5)는 Convolution Neural Networks 라는 방법을 제안했고, 이 방법을 사용해서 1990년 후반 즈음에는 CNN 을 사용해서 문자를 인식하는데 거의 90% 정확도를 얻게되는 대 성공을 하게되었다.
🔹 XOR 문제의 난관: 퍼셉트론의 한계
초창기 인공지능 모델이었던 **퍼셉트론(Perceptron, 단층 신경망)**은 선형 분류기였는데, 이는 직선 하나로 데이터를 구분하는 방식이었음.
하지만, XOR 문제는 단순한 직선으로 구분할 수 없는 비선형 문제!
📌 즉, 단층 퍼셉트론(Perceptron)으로는 XOR 문제를 해결할 수 없었음!
🔹 해결 방법: 다층 신경망(MLP, Multi-Layer Perceptron)의 등장
1970년대 후반, **다층 신경망(Multi-Layer Perceptron, MLP)**이 등장.
✅ 핵심 아이디어: "숨겨진 계층(Hidden Layer)"을 추가하면 비선형 문제 해결 가능!
📌 다층 신경망(MLP)으로 XOR 문제 해결하는 과정
1. 입력층 → 숨겨진 계층(은닉층, Hidden Layer) 추가
단순한 퍼셉트론 대신 2개의 뉴런을 가진 은닉층을 추가함
2. 비선형 활성화 함수(예: 시그모이드, ReLU) 적용
직선으로 해결할 수 없던 문제를 곡선 형태로 변형하여 해결
3. 출력층에서 XOR 연산을 수행
🔹 1986년, 백프로파게이션(Backpropagation) 알고리즘의 등장
하지만 다층 신경망이 있다고 해도, 가중치를 어떻게 학습할 것인가? 하는 문제 발생.
✅ 1986년, 루멜하트(David Rumelhart)와 힌턴(Geoffrey Hinton) 등이 "오차 역전파(Backpropagation)" 알고리즘을 발표하면서, 다층 신경망을 학습하는 방법이 해결.
👉 Backpropagation 덕분에 다층 신경망이 효과적으로 학습할 수 있게 되면서, XOR 문제를 해결할 수 있게 됨!
#4 또 좌절
그러다가 다시 큰 문제에 봉착하게 되었다. 복잡한 문제를 풀기 위해서는 보다 Deep 한 Neural Net 을 만들어야 하는데, 이 경우 Backpropagation이 영향을 별로 줄 수 없게 되어 별로 효과가 없다는 것이 알려지게 되었다. 이로서 Neural Network 는 두 번째 침제기에 이른다.
해결책은 약간 뜬금없이 캐나다에서 나온다. 캐나다에서 어떤 응용처 없는 기술도 기초 연구를 할 수 있게 지원하는 연구기관이 만들어지는데, 바로 CIFAR 였다. 이 연구소가 생기면서 XOR 문제를 해결했던 Hinton 교수가 미국에서 캐나다로 연구지를 옮기게 된다.
#5 도약
2006 년 Hinton 과 Bengio 교수가 중요한 논문을 내게 되는데, 내용은 CNN 학습에 있어서 초기값이 매우 중요하며, 초기값이 잘 선택된다면 Deep Network 을 구축해도 아주 복잡한 문제를 풀 수 있다는 것을 보여줬다. 이 즈음에 Neural Network 이라고 하면 사람들의 주목을 잘 받지 못해서, CNN 학습 방법을 Deep Leaning 이라는 말로 다시 정의하게 된다.
이 방법을 통해 2011년 ImageNet 에서 기존 알고리즘을 사용 할 때, 분류 오류가 26.2% 였던 것을, Hinton 교수의 제자였던 Alex에 의해 2012년 15.3% 로 감소시킨 결과를 발표한다. 이 기술은 현재는 Neural networks 를 통해 그림을 구분하는 것을 넘어서, 그림을 자연어로 설명할 수 있을 정도가 되었다.
후에 Hinton 교수가 그 동안 Neural Network 연구가 부침이 있었던 이유를 네가지 들어서 설명했다.
1. 학습한 Data가 수 천 개로 너무 작았다.
2. 컴퓨터의 계산 속도가 현재에 비해 너무 느렸다.
3. 초기 Weight 값을 너무 무식하게 초기화했다.
4. 우리는 잘못 된 방식의 Non-linearity 함수를 사용하고 있었다.
'Vision > Machine Learning' 카테고리의 다른 글
[Tip] Google Colab 환경에서 Argumentparser 사용 (0) | 2023.07.03 |
---|---|
Image Inpainting for Irregular Holes Using Partial Convolutions (0) | 2023.06.28 |
GAN (Generative Adversarial Networks ) (0) | 2023.06.20 |
Context Encoder (0) | 2023.06.17 |
SRCNN ( Super-Resolution CNN ) (0) | 2023.06.16 |