맺음말 – First Contact with TensorFlow

tensorflowbookcover-1024x7122x이 글은 스페인 카탈루냐 공과대학의 Jordi Torres 교수가 텐서플로우를 소개하는 책 ‘First Contack with TensorFlow‘을 번역한 것입니다. 이 글은 원 도서의 라이센스(CC BY-NC-SA 3.0)와 동일한 라이센스를 따릅니다.

목록으로가기

탐험은 혁신을 이끄는 원동력입니다. 혁신은 경제를 발전시킵니다. 그러니 우리 모두 탐험을 떠납시다. – Edith Wdder (역주: 에디스 위더는 해양학자로 거대 오징어의 영상을 최초로 담아낸 것으로 유명합니다. TED 강의가 감동적이네요. 추천합니다.)

이 책은 앞으로 다가올 테크놀러지 세상에서 분명히 커다란 역할을 하게될 텐서플로우를 어떻게 사용하는지 설명하는 워밍업 정도 수준의 입문서입니다. 물론 텐서플로우 외에 다른 패키지들도 있고 각각은 특정 문제에 잘 최적화 되어 있습니다. 텐서플로우 패키지외에 다른 툴들도 공부해 보세요.

이런 패키지들에는 다양한 면면들이 있습니다. 어떤 것들은 보다 전문화되어 있고 어떤 것들은 덜 그렇습니다. 어떤 패키지들은 다른 것보다 설치하기 어렵기도 합니다. 어떤 툴들은 문서화가 잘 되어 있고 반면 어떤 것들은 어떻게 쓰는지 자세한 정보를 찾기는 어려우나 작동하는데는 아무런 문제가 없습니다.

중요한 사실 하나는 구글이 텐서플로우를 출시한 다음날 한 트윗을 읽었는데 2010~2014년 기간동안 새로운 딥러닝 패키지가 47일 마다 출시되었고 2015년에는 22일 마다 출시되었다고 합니다. 놀랍지 않은가요? 제가 이 책의 첫장에서 언급했었던 Awesome Deep Learning에 방대한 리스트가 정리되어 있습니다.

의심할바 없이 딥러닝 분야는 2015년 11월 구글의 텐서플로우 출시에 크게 영향을 받았습니다. 지금은 독보적으로 깃허브에서 가장 인기있는 머신러닝 라이브러리입니다.

두번째로 깃허브에서 인기있는 머신러닝 라이브러리는 사실상 파이썬 공식 범용 머시러닝 프레임워크인 사이킷런(scikit-learn)입니다. 사이킷런을 사용하는 유저는 구글에서 만든 텐서플로우의 간소화된 인터페이스인 사이킷 플로우(Scikit Flow, skflow, 역주: 현재는 텐서플로우 소스에 통합되었습니다)를 사용해서 텐서플로우를 쓸 수 있습니다.

실제적으로 사이킷 플로우는 사이킷런과 유사한 방식으로 뉴럴 네트워크를 훈련하고 최적화시켜 주는 텐서플로우 라이브러리를 위한 고수준 래퍼(wrapper)입니다. 이 라이브러리는 선형 모델에서 딥러닝까지 폭넓게 커버하고 있습니다.

저의 개인적인 의견으로는 텐서플로우 분산 버전과 텐서플로우 서빙, 사이킷 플로우가 출시된 후에는 텐서플로우가 사실상 딥러닝 라이브러리의 주류가 될 것이라 생각합니다.

딥러닝은 음성 인식, 이미지 인식, 물체 감지와 많은 다른 분야에 어마어마한 기술의 발전을 가져왔습니다. 미래에는 어떻게 될까요? 네이처에 실린 Yann LeCun, Yoshua Bengio, Geoffery Hilton의 리뷰에 따르면 그 답은 비감독 학습(unsupervised learning)입니다. 그들은 비감독 학습이 감독 학습보다 장기적인 측면에서 더 중요하게 될 것이라고 예측했습니다. 사람과 동물의 학습은 크게 보면 비감독 학습입니다. 우리는 사물의 이름을 불러서 이해하는 것이 아니라 관찰함으로써 세상을 구성하는 것에 대해 이해합니다.

그들은 CNN과 강화학습을 이용한 리커런트 뉴럴 네트워크(Recurrent Neural Network, RNN)의 결합 시스템이 미래에 크게 발전할 것이라고 많은 기대를 가지고 있습니다. RNN은 히든 유닛에서 지난 시퀀스의 엘리먼트를 기억하면서 한번에 하나의 엘리먼트를 시퀀스 입력으로 처리합니다. 텐서플로우에서 RNN 구현에 대한 소개는 텐서플로우 튜토리얼의 리커런트 뉴럴 네트워크를 참고하세요.

한편으로는 딥러닝 분야가 직면한 많은 난관이 있습니다. 학습시간 때문에 새로운 종류의 슈퍼컴퓨터가 필요로 되고 있습니다. 급격히 늘어나고 있는 여러 종류의 대량의 데이터를 분석하기 위해 빅 데이터 분석 방법과 컴퓨터 시스템의 놀라운 성능향상을 통합시키기 위해서 아직 많은 연구들이 필요합니다.

과학의 발전은 하나의 뛰어난 아이디어가 아니고 보통 여러 학문의 많은 사람들이 길고 지속적으로 노련한 결과입니다. 딥러닝, 일반적으로 말하면 머신러닝도 예외는 아닙니다. 우리는 학제간 연구가 새로운 시대에 커다란 역할을 맡게 될 아주 놀라운 시기로 접어들고 있습니다. 바로 바르셀로나의 UPC와 BSC-CNS가 고성능 컴퓨터와 빅데이터 기술을 함께 연구한 것처럼 말입니다.