개발자는 이제 인공지능을 공부해야 합니다.

2017. 7. 17. 23:13 Posted by 아는 개발자

2016년 3월 이세돌과 알파고의 대결이 시작되기 전까지만해도 알파고의 승리를 점치는 사람은 거의 없었습니다. 경우의 수가 제한된 장기나 체스에 비해 바둑은 수가 거의 무한에 가까워 현재 컴퓨팅 능력으로는 기계가 이 모든 경우의 수를 계산하기는 무리라는 것이 대부분 바둑계 전문가들의 생각이었지요. 하지만 모두의 예상을 뒤엎고 알파고는 10년간 세계를 평정했던 이세돌을 4:1로 제압합니다. 그리고 올해 한층 더 진화된 알파고는 현 인간계 바둑랭킹 1위 커제를 상대로 단 한판도 내주지 않고 우승합니다. 알파고의 기세를 보니 당분간(어쩌면 평생) 이 기계를 이길 수 있는 인간은 나오지 않을 것 같습니다.



(알파고를 상대로 거둔 이세돌의 1승은 인류의 마지막 승리가 될 것이라고 합니다)


바둑 경기가 시작되기 전만 해도 우리는 인공지능이 아주 먼 미래라 생각했었습니다. 사실 컴퓨터 전공생들이라면 배우는 컴퓨터 역사에서도 인공지능 기술은 잠깐 번쩍하고 말던 기술이었습니다. 매번 역사속에 등장 할 때마다 이론은 출중하나 하드웨어 성능 문제로 빛을 보지 못했었죠. 그런데 이번에 다시 등장한 인공지능의 기세는 심상치 않습니다. 초기엔 단순한 노무작업 정도만 할 것이라 예상했는데 요즘의 인공지능은 간단한 스포츠 기사도 쓰고 스스로 광고도 만들기 시작했습니다. 그뿐만이 아닙니다. 창의성의 영역이라 여겨지는 예술에도 침투하기 시작했습니다. 다량의 예술 작품을 학습한 인공지능은 직접 그림을 그리기도 하고 단편 소설을 쓰기도 합니다. 인공지능이 만든 작품 중 몇몇은 저같은 일반인들은 전혀 구분 하지 못할 정도로 고퀄로 보이는 작품들도 있습니다.


(유명 예술가의 화풍을 학습한 인공지능의 작품입니다. 놀랍지 않나요?)


일반인들도 놀라우시겠지만 저처럼 인공지능 관련 일에 종사하고 있지 않는 개발자들은 더더욱 놀랍습니다. 중앙처리장치와 메모리의 성능이 좋아지면서 컴퓨터 산업 전반의 발전이 있을 것이라고 예상은 했습니다만 이정도일 줄은 몰랐습니다. 그리고 놀람과 동시에 두려움도 엄습합니다. 인공지능 시장이 확장하면 할 수록 들러리였던 영역은 더더욱 들러리가 될 확률이 매우 높아졌습니다. 대학시절 저를 감동시켰던 운영체제는 역사가 오래된 만큼 관련 연구도 완료된 상태이고 관련 문제들의 솔루션도 모두 만들어 졌습니다. 앞으로는 더 좋은 페이지 할당 알고리즘이나 더 훌륭한 스케줄링을 만든다고 해도 좋은 논문거리는 되지 못할 것입니다. 이 영역 종사자들이 아마 앞으로 해야할 일은 아마 과거에 이뤄왔던 연구들을 잘 조합하는 것에 불과 할지도 모릅니다. 원가 절감이라는 획기적인 아이디어를 들고 나온 가상화 기술도 Docker가 등장하면서 클라우드 컴퓨팅에서 한물 간 기술이 되버렸습니다. 더이상 발전할 요소가 없다, 한물 간 기술이 되었다는 말은 곧 그 기술을 파고 들었던 개발자의 밥줄이 끊긴다는 말과 같습니다.


(운영체제는 연구가 오래 됐고 Docker가 등장하며 가상화 기술은 한물간 기술이 됐습니다)


우리 모두 역사의 흐름을 무시한 나머지 굶주림을 면치 못했던 조선 후기 양반들과 같은 실수를 하고 싶어하진 않을 것입니다. 남들이 알아주지 않는 분야를 파고든 예술가는 역사책에 이름을 남기지만 남들이 알아주지 않는 기술을 파고든 개발자는 이름 남길 곳이 깃로그 밖에 없습니다. 한물간 기술을 부여잡고 수요가 생기길 기다리는 것은 본인 뿐만 아니라 가족까지 굶이기 딱 좋은 행동입니다. 그렇게 되지 않으려면 개발자들은 시대의 기술 트렌드를 읽고 팔로우 해야합니다. 거의 3-4년을 주기로 트렌드 기술이 있었고 이번에는 인공지능 기술이 트렌드가 됐지요. 그런데 지금까지 나왔던 기술들과 다르게 인공지능의 진입장벽이 높아보입니다. 수식이 난무한 이론도 따라기 벅찰 것 같은데 저걸 다 일일히 코딩하자니 언제쯤 구현을 해볼 수 있을지 가늠이 되지 않습니다.


(분명 공학수학을 수료한 것 같은데 뭔소린지 통 모르겠네요, 하하하)


이런 고민을 하는 개발자를 위해 구글은 올해 4월에 인공지능용 라이브러리 tensorflow 를 공개했습니다. 이건 python으로 짠 인공지능 개발 툴입니다. 학습에 쓸 데이터와 기본적인 인공지능 이론을 갖춘 개발자는 tensorflow에서 제공하는 함수를 이용해 (손쉽게)AI를 만들수 있게 됐습니다. 휴 한시름 덜었습니다. 저런걸 일일히 다 코딩하자니 앞이 깜깜했는데 이미 툴은 다 마련되어 있었다니 천만 다행입니다.





그래도 여전히 첩첩 산중인것 같습니다. 결론적으로는 tensorflow가 있어도 이론을 공부해야하고 위의 수식도 언젠간 배워야 한다는 말이지 않습니까? 얼른 알파고 같은걸 만들어내야 할 것 같은데 마음만 초조하고 뭐부터 시작해야 할지는 모르겠습니다. 대학시절에 인공지능 강의를 하나도 수강하지 않았던 것이 후회되기 시작합니다. 야간대학 속성 강좌라도 등록해야 할 것 같기도 합니다. 하지만 굳이 대학까지 갈 필요는 없습니다. 이미 코세라에 인공지능 개발시 필요한 기초적인 머신러닝 강의가 마련되어 있고 tensorflow 튜토리얼에서도 논문까지 첨부해주면서 설명해줍니다. 다행히 공부할 자료는 인터넷에 널려 있습니다. 우린 이걸 잘 활용해야 합니다.


물론 강의 내용이 쉽지 않고 논문이 술술 읽히지는 않습니다. 하지만 현재 무모하게 트랙을 밟아보고 있는 사람으로서 해볼만 하다고는 생각합니다. 100%까진 아니어도 '이것을 어떻게 쓰면 좋겠다'고 감 정도는 잡아본것 같습니다. 앞으로 저의 매거진에선 인공지능 지식이 전무한 개발자가 코세라 강의와 tensorflow로 공부한 내용을 공유해보려고 합니다. 영어와 수식이 난무한 인공지능에서 엑기스만 뽑아내 저와 같은 개발자들이 쉽게 인공지능을 접할 수 있는 글을 쓰도록 하겠습니다.



728x90