[Deep Learning] Deep Learning 개요
오랜만에 듣게 된 딥러닝
어쩌다보니 또 딥러닝을 하고 있었다. 학부 때 열심히 공부했던 내용들이 스쳐지나간다. 좋은 점은 우겨넣기만 하느라 정리되지 않았던 내용들이 조금씩 갈무리 된다는 느낌?
자료도 많고, 컴퓨팅 파워도 있고, 많은 기능이 추가된 PyTorch… 오랜만에 들었던 딥러닝 강의는 힘빼고 들어도 가볍게 들리는 벤치 프레스 느낌이었다. 뗄래야 뗄 수 없겠군.
퇴근하고 뽀작뽀작 공부해 볼 분야가 늘었다. 다행(?)이다. 사람이 어떻게 고기만 먹고 사나. 웹 공부하다가 딥러닝도 좀 보고 그래야겠다. 무겁지 않게. 가볍게.
딥러닝이 등장하기까지
딥러닝의 등장과 관련된 역사를 아주 짧게 확인하려한다. 그러기 위해서는 인류 궁극의 목표인 인공지능이라는 개념을 빼놓을 수 없다. 인공지능이란? 인공적이란 것은 자연적인 것의 반대로 이해하면 된다.
그럼 지능은?
- 지식: 어떤 대상에 대하여 알게 된 인식이나 이해
- 지능: 어떤 것에 대한 올바른 의미나 사실을 파악하고 대응하는 능력
인공지식이란 말은 생소하다. 지능이다. 다시 정리해보면 인공지능이란 주어진 정보에서 지식을 추출해 이를 주어지는 문제 상황에 활용해 대응하는 능력이다.
여기서 주어진 정보에서 지식을 추출하는 작업을 학습이라고 하자. 이걸 기계가 하는 현상이 바로 기계학습이다. 데이터로부터 스스로 학습하여 문제를 해결하는 것이다.
그런데 기계학습은 어렵다. 내가 기계학습을 공부하는 것만큼 기계가 특징들을 학습하는 것이 어렵다. 기계는 정우성님과 윤종신님을 같다고 생각할 수 있다. 진지하다.
세상은 복잡계이다. 위와 같은 단순한 구분을 넘어 자세, 명령, 위험요소 등을 인지하고 예측해야하는 문제들을 해결하는 것이야말로 우리가 생각하는 인공지능이다.
1950년 Artificial Inteligence 란 개념의 첫 등장에서 1990년 Machine Learning, 그리고 2012년 Deep Learning 까지 이를 위한 다양한 방법들이 등장했다가 사라졌다.
딥러닝의 핵심은?
공부한지 얼마 안 된 딥린이의 생각으로는 신경망(Neural Network) 과 역전파(Back-propagation) 라고 생각한다.
우리 뉴런이 자극을 전달할 때, 주변으로부터 받은 자극의 합이 역치를 넘어서면 전달한다고 한다. 그림의 출처를 가보면 더욱 자세한 설명이 나와있다. 저런 노드들이 엄청나게 많이 모여있으면 신경망이 된다.
역전파는 인간으로 따지면 전설로만 들었던 80~90년대 학교생활 같다. 옆에서 보고있다가 틀리는 순간 후드려 맞는다. 정답에 가까울 수록 약하게 맞는다.
아예 정답을 맞추는 최적화가 불가능하니 최대한 정답에 가깝게! 그러니까 Loss 를 최소로 줄여보자는 한 마음 한 뜻으로 피드백을 주는 것이다. 이 피드백은 각 노드들에 전달되어 정답과 차이를 최소화하는 방향으로 Weight 라 불리는 값들을 바꿔준다.
오차 역전파 관련 자료는 너무나 많다. 감 잃으면 가끔 들려 찾아보려고 기록하는 블로그들이니 참고하면 좋을 것 같다.
앞으로 딥러닝을 대하는 태도
딥러닝 공부를 해봤다
라거나 딥러닝 모델을 설계해봤습니다
같은 경험들이 더 이상 스펙이 아닌 시대가 오는 것 같다. 오히려 짱짱한 GPU가 없어도 시간을 들여 성실하게 공부만 한다면 충분히 이해할 수 있을 만큼 자료가 많아지는 것 같다.
이 글을 쓰면서 어쩌면 딥러닝이란 기술을 조금 접했던 것이지 대단했던게 아니었구나라는 생각과 자조가 섞인 반성도 했다. 혁신적인 방법론과 설계로 딥러닝 분야를 계도한 소수가 대단한 것이지, 내가 대단한 것이 아니야 느낌?
어떠한 분야든 항상 겸손함(Humility) 을 잃으면 안 된다고 생각한다. 코드를 잘 짜는 것도 능력이고 모델을 잘 설계하는 것도 능력이오. 데이터를 잘 정제하는 것도 능력이며 결과를 해석하는 것도 능력이다. 그치만 아직 멀었다 라는 생각으로 그냥 공부하는게 제일 중요한 것 같다.
다시 한 번 느꼈다. 나는 아무 것도 모른다. 나는 감자다. 무슨 생각을 해 ㅎㅎ 공부나 하자.
Leave a comment