1956년 다트머스 회의에서 최초로 '인공지능' 용어를 사용한 이래, <연결주의>와 <기호주의> 두 학파로 크게 구분 되었다. 연결주의는 사람의 뇌 구조를 본 떠서 기계의 지능을 구현하자고 주장한 학파이다. 연결주의라고 불리는 이유는 '뇌 신경망이 시냅스로 여러 뉴런이 연결된 구조'를 가지고 있기 때문이다. 이에 '프랭클린 로젠블랫'은 컴퓨터도 신경망으로 학습시켜 추론하게 하자는 퍼셉트론 신경망을 제시하게 되었다.
[AI 1차 겨울 -1969]
로젠블랫의 퍼셉트론 신경망에 관심과 지원이 집중될 때, 마빈 민스키와 그의 제자 시모어 페퍼트는 1969년 퍼셉트론의 문제점과 한계를 수학적 증명으로 발표하였다. 퍼셉트론은 AND 혹은 OR 같은 선형분리가 가능한 문제는 가능하지만, 선형(LINEAR) 방식으로 데이터를 구분할 수 없는 XOR 문제에는 적용할 수 없다는 것이었다. 이에 인공지능의 1차 겨울이 도래하게 되었다.
[AI 1차 겨울 해결-1986]
침체되던 인공지능 연구를 살리고 딥러닝을 발전시킨 것은 '제프리 힌튼' 이었다. 그는 1986년 다층 퍼셉트론(Multi-LayerPerceptrons)과 역전파(Back-Propagation) 알고리즘을 실험적으로 증명하였다. 이를 통해 AI 겨울을 불러 온 XOR 문제를 해결하며 암흑기를 깨고 인공 신경망과 AI연구가 다시 되살아 났다.
기존의 퍼셉트론으로는 XOR문제를 해결할 수 없었지만, 다층 퍼셉트론과 역전파 알고리즘이 그 해결책이 되었다. 다층 퍼셉트론은 히든 레이어라는 중간층을 추가함으로써 XOR문제를 해결하였고, 역전파 알고리즘은 정방연산(Feed-Forward) 이후 오차를 후방으로 다시 보내는 방법으로 가중치 값을 최적화하여 다층 신경망을 가능하게 만들었다.
[AI 2차 겨울 -1990s]
AI연구는 다시 다층 퍼셉트론과 인공신경망으로 주목 받았지만 신경망에 적용할 수 있는 범위는 한정적이었다. 크고 복잡한 데이터를 다루려면 히든 레이어를 여러 개 연결해야 하는데, 다층 퍼셉트론과 역전파 방법만으로는 한계가 보였기 때문이다.
결정적으로 AI의 두 번째 겨울이 찾아오게 만든 문제는 '기울기 소실(Gradient Vanishing Problem) & Overfitting' 이었다. 다층신경망은 Hidden Layer를 늘려야 복잡한 문제의 해결이 가능한데, 인공신경망의 계층이 깊어질 수록 학습에 중요한 역할을 하는 입력층의 가중치 조정이 제대로 되지 않았다(Gradient(기울기)가 사라져버림). 또한, 신경망이 깊어질 수록 너무 정교한 패턴을 감지하게 되어 훈련 데이터 외의 새로운 데이터에 대해서는 정확성이 떨어지는 과적합이 발생하였다. 결국 다층 신경망 활용의 제한성, 복잡한 연산 처리가 힘든 당시 컴퓨터 성능 등으로 다시 인공지능의 암흑기가 도래하며 관련 산업이 침체하기 시작했다.
[AI 2차 겨울 해결]
당시와 달리 하드웨어 성능은 시간이 갈 수록 비약적으로 발전하였으며, 전에 비해 비교가 되지 않는 컴퓨팅 능력을 연구에 활용할 수 있게 되었다. 이에, 지난 암흑기 동안에도 꿋꿋히 연구를 계속해온 '제프리 힌튼'은 [A fast learning algorithm for deep belief nets] 논문을 통해 가중치(weight)의 초기값을 제대로 설정한다면, 깊은 신경망을 통한 학습이 가능하다는 것을 밝혀냈다. 이에 DNN(Deep Neural Network)라는 용어를 사용하며 본격적으로 딥러닝 용어가 사용되었다. 또한, 1998년 제프리 힌튼 교수 밑에서 박사후과정을 밟고 있던 얀 레쿤(Yann LeCun)이 요슈아 벤지(Yoshua Benjio)와 함께 볼츠만 머신에 BackPropagation을 결합하여 CNN을 완성함으로써 딥러닝의 획기적인 전환점을 만들었다. 이후에 얀 레쿤은 상용제품으로 미국 우편국에서 손글씨 우편번호를 자동인식하는 LeNet5를 개발함으로써 상용화에 성공하기도 하였다.
'AI' 카테고리의 다른 글
미드저니 (0) | 2022.09.16 |
---|---|
DenseNet (0) | 2022.07.28 |
[논문 분석] EAST: An Efficient and Accurate Scene Text Detector (0) | 2022.02.20 |
fit, transform, fit_transform (0) | 2022.02.01 |
활성화 함수 Activation Function (0) | 2021.12.27 |