머신러닝 어디까지 가능한가

머신러닝은 컴퓨터가 주어진 데이터를 가지고 계속 훈련을 하면서 시간이 지나가면서 점점 성능을 늘려가는 기술입니다. 좀 더 예를 들어보면 유튜브를 보다 보면 추천 영상이 내 관심사와 비슷하게 뜨는 신기한 경험을 했을 겁니다. 유튜브에서 영상을 많이 보면 볼수록 내가 많이 본 영상을 파악한 구글은 취향이 비슷한 다른 사람들의 데이터를 분석하여 추천해 주는 기술이 머신러닝의 사례입니다. 머신러닝 기술은 특정 유형의 패턴을 의식하는 것으로 누군가 기분이 나쁘면 머리를 흔드는 버릇이 있다고 한다면 이사항을 머신러닝이 학습을 하게 된다면 한 번도 본 적이 없는 사람이 머리를 흔들면 기분이 나쁜 상태라고 파악하게 됩니다. 일일이 사람의 규칙을 알려주지 않아도 데이터와 해달을 주면 규칙을 찾아내는 아주 똑똑한 방식입니다.

 

하지만 머신러닝도 단점은 존재합니다. 학습한 모델이 결과가 판단되지 않는 오류가 생기게 되면 결국 엔지니어가 직접 수정해주어야 한다는 점입니다.

코딩 코드 사진

 딥러닝 끝없는 도전

딥러닝은 머신러닝의 하위 개념으로 머신러닝과 같은 동작을 하지만 학습한 결과가 만족스럽지 않는다는 판단을 스스로 판단에 최적의 결과를 나올 수 있도록 스스로 학습하고 해결한다는 기능이 추가된 것입니다. 딥러닝은 인간의 뇌구조처럼 인공신경망 레이어를 가지고 있어 스스로 여러 상황을 만들어 최적의 결과를 도출해 낼 수 있습니다. 머신러닝이 수학의 정석을 문제와 답을 외우는 거라면 딥러닝은 문제를 푸는 과정에 A 공식, B 공식, C 공식이 있다면 여러 공식들을 모두 비교해서 가장 최적의 공식을 사용하여 답을 도출한다고 보시면 됩니다.

 

실제 딥러닝에 활용되는 신경망이라는 개념은 1950년도에 만들어졌지만 아무런 쓸모가 없게 됩니다. 그 시대의 느린 컴퓨터로 딥러닝의 많은 계산을 진행할 수 없었기 때문입니다. 그러다가 다시 급부상하게 된 건 대규모 데이터 처리가 가능한 환경이 만들어졌기 때문입니다. 기계가 여러 층으로 나눠서 학습을 하면서 신경망이 제대로 작동하려면 일단 데이터가 많아야 하기 때문에 컴퓨터의 성능도 매우 좋아야 하고 그러다 보니 컴퓨터 기술의 발전하면서 다시 각광을 받게 됩니다.

 

이미 인공지능은 QA분야에서는 인간을 뛰어넘었다는 평가를 받고 있습니다. 컴퓨터도 더 발전할 수 있고, 구글이 TPU 같은 침을 개발하고, 양자 컴퓨터 이야기도 나오고 있으니 데이터 문제도 곧 해결이 될 거라 생각됩니다.

인공지능 로봇사진

 진보하는 인공지능과 우리의 자세

그래픽카드를 만드는 걸로 유명한 NVIDIA에서 개발한 alias-free-gand이라는 것을 공개합니다. 굉장히 사람처럼 보이는 이미지나 동영상을 만들 수 있습니다. 요금 그렇지 않아도 게임 속에 주인공 모공이랑 줄새까지 표현이 되는데 진짜 사람 같아서 소름 끼칠 정도입니다. 깃헙에서는 Copilot라는 게 나왔는데 딥러닝으로 프로그래밍 코딩까지 만들어주는 단계까지 올라왔습니다. 그럼 이제 개발자들이 자리가 인공지능에게 빼앗긴다고 생각할 수도 있겠지만 그렇지는 않을 거 같습니다. 대신 개발자에게 필요한 능력이 바뀔 거 같습니다. 세부적인 코딩은 인공지능이 하고 전체적인 프로젝트 매니저의 역할을 더 많이 해야 할지도 모릅니다.

 

딥러닝이 아무리 좋아지고 편해진다고 해도 어디서든 한계는 존재합니다. 예를 들면 규칙을 스스로 찾아내는 딥러닝의 특성상 우리는 이 딥러닝에서 내놓은 결과가 도대체 어떻게 나왔는지 쉽게 이해하기 힘들 수 있습니다. 누가 무슨 잘못을 하면 우리는 도대체 왜 그런 생각을 하게 됐니라고 묻고 그게 틀렸다면 가르쳐줄 수 있지만 딥러닝에게는 왜 그런 결과를 냈냐고 묻는다는 게 쉽지 않게 됩니다.