[AI] 과거를 알면 미래가 보인다 - Perceptron (2)
"기초부터 차근 차근"
요즘 개발자들이 AI에 많이들 관심을 가지는것 같습니다만 "perceptron"을 물어보면 모르는 경우가 대부분입니다. AI = tensorflow라는 개념을 가지고 있지요. 사실 요즘은 오픈소스 생태계가 너무도 잘되어 있어서 SRE적으로 접근해도 됩니다. 그런데 개념을 잡지 못하면 오래가지 못해서 한계에 부딧칠겁니다. 근데 요즘 나오는 Deep Learning 기법들부터 이해하려하면 .... 또 역시 포기하게 되겠지요. Neural Network개념은 1960년대에 나온 개념입니다. 8비트 컴터도 없던 시절이지요. 이때 개념들부터 이해해 나가면 종국에는 Deep Learning의 영역까지 확장할수있을꺼라 확신합니다.
AI (Artificial Intelligence)의 역사
1980년대 부터 개발을 하고 AI에 관심을 가져온 사람으로써 경험과 느낌들을 기반으로 기술한 역사로 "역사학" 공부하시는분들하고는 의견이 다를 수 있음을 밝힙니다.
perceptron은 1950년대에 "Frank Rosenblatt"이 수학적으로 제안한 AI의 초기 모델로 다들 기본적으로 알고 있는 뉴런이라는 인간의 뇌의 구조에 기반한 아이디어로 정립된 이론입니다. 8비트 컴퓨터가 나오기도 전에 이미 수학적으로 AI를 설계했다는 얘기지요.
이번 포스팅은 지난 포스팅 [AI] 과거를 알고 미래가 보인다 - Perceptron(1)에 이어집니다.
다층 퍼셉트론의 등장
1980년대 컴퓨팅 파워의 비약적인(?) 발전에 힘입어 단층 퍼센트론의 "선형학습"의 문제를 해결하고자 더 많은 "컴퓨팅 파워"을 사용하는 쪽으로 "neural network"이 발전하였고 결국은 복잡한 곡선 학습이 가능한 다층 퍼셉트론이 등장합니다.
입력과 출력사이에 히든레이어를 두어서 출력값을 다수의 노드에서 연결강도를 조정함으로써 "선형학습"문제를 해결하고 "XOR"문제를 해결합니다.
이때 BPNN ( Back Propagation Neural Nework ), SOM (Self-Organizing Map)등을 부각되고 "지도학습", "비지도학습", "강화학습"등의 연구와 실제 응용 세례들이 등장합니다. finally는 "전문가 시스템" 즉 특정분야에서는 인간의 판단을 일부 대신할수있는 시스템을 만들수있지 않을까 하는 개념들이 등장합니다.
이때 활발히 상용화 되었던 것들이 "음성인식", "얼굴인식", "번호판인식"등의 제품들이 마구마구 나왔던것이 기억이 납니다.
그런데 이때 나왔던 제품들 정말 쓰레기에 가까웠습니다. 사실 정확한 판단을 위해서는 수많은 히든레이어가 필요하고 더많은 계층의 히든레이어가 필요했는데 그당시 장비들의 컴퓨팅파워는 그 계산량을 감당할수없었지요. ㅠ.ㅠ
이러한 상용화의 실패는 "제2의 AI 암흑기"를 불러옵니다.
시장은 더이상 AI에 대한 기대를 버리고 "시스템"과 "알고리즘"에 의존한 상용제품들을 내 놓고 IT산업을 발전 시킴니다.
클라우드의 등장
그디어 클라우드의 시대가 열립니다. 지금 신세대 개발자들에게는 당연한 환경이겠지만 10년~20년전 클라우드, 클러스터같은 개념이 소개되었을때 정말 적응하는데 힘들었던 기억이 납니다.
각설하고 클라우드의 등장은 "무한한" 컴퓨팅 파워을 제공했고 이 무한한 컴퓨팅 파워를 바탕으로 Neural Network는 심각하게 복잡한 계산을 가능하게 했고 두둥~~~ "알파고"가 등장합니다.
Deep Learning의 등장
"무제한"의 컴퓨팅파워를 바탕으로 NN은 NN자체를 시간에 따라 복제하기 시작하고 히든레이어를 복제하고 이전 레이어로 역전파하기 시작했습니다. 과거의 컴퓨팅 파워로는 상상도 못하지만 지금은 가능한 시대가 되었습니다.
DNN ( Deep Neural Network ) 입니다. 그냥 딱봐도 어마어마한 계산량이지요.. 단순히 그린거지.. 상용화를 위해서는 하나의 히든레이에 수백 수천개의 노드가 필요합니다.
RNN ( recurrent neural network ) 입니다. 아싸리 입력에 따른 히든레이어를 복사해 나가고 가중치도 전파해 나갑니다. 계산량을 감히 상상도 할 수 없습니다.
마치면서
1편 부터 2편까지 모두 읽었다면 딥러닝이란것이 갑자기 어디서 툭 튀어 나온것도 아니고 굉장히 획기적인 신기술도 아니라는것을 알 수 있을것입니다. 시대의 흐름을 잘 읽은 사람들의 작품이라 하겠습니다. 그런데 개인적으로 AI분야에 많은 개발자들이 진입하려하는것에 좀 우려감이 있습니다. 왜냐하면 거기에는 여러분의 intelligence가 필요하지 않기 때문입니다.
개인적으로는 Ai와도 연관되겠지만
- Big Data Minning
- Big Data Aggregating
분야가 AI와 발맞출수있는 올바른 방향이라 생각됩니다.