더북(TheBook)

케라스를 사용하면 몇 줄의 코드로 완전한 딥러닝 워크플로를 수행할 수 있습니다. 저수준 API의 유연성과 고수준 API의 사용 편의성 덕분에 텐서플로와 케라스는 산업계와 학계에서 채택하는 측면에서 딥러닝 프레임워크 분야를 선도하는 생태계를 형성하고 있습니다(이 트윗(http://mng.bz/vlDJ)을 참고하세요). 아직 진행 중인 딥러닝 혁명의 일부로서 많은 사람이 딥러닝에 접근할 수 있게 만드는 역할을 과소평가해서는 안 됩니다. 텐서플로와 케라스 같은 프레임워크가 없을 때는 CUDA 프로그래밍 기술과 C++로 신경망을 개발한 풍부한 경험이 있는 사람만이 실제 딥러닝을 수행할 수 있었습니다. 텐서플로와 케라스를 사용하면 GPU로 가속되는 심층 신경망을 큰 기술 없이 적은 노력으로 만들 수 있습니다. 하지만 한 가지 문제가 있었습니다. 텐서플로나 케라스 모델을 자바스크립트나 웹 브라우저에서 바로 실행할 수 없었습니다. 브라우저에서 훈련된 딥러닝 모델을 사용하려면 백엔드 서버로 HTTP 요청을 보내야 했습니다. 이것이 TensorFlow.js가 등장한 이유입니다. TensorFlow.js는 구글에서 딥러닝 관련 데이터 시각화와 인간-컴퓨터 상호 작용 분야의 두 전문가인 니킬 소랫(Nikhil Thorat)과 다니엘 스밀코프(Daniel Smilkov)가 시작했습니다.25 앞서 언급했듯이 매우 인기가 많은 텐서플로 플레이그라운드의 심층 신경망 데모가 TensorFlow.js 프로젝트의 시발점이 되었습니다. 2017년 9월 텐서플로 저수준 API와 비슷한 저수준 API를 가진 deeplearn.js 라이브러리가 공개되었습니다. deeplearn.js는 WebGL 가속 신경망 연산을 제공하여 웹 브라우저에서 빠른 추론 속도로 신경망을 실행할 수 있습니다.

deeplearn.js의 초기 성공 이후에 더 많은 구글 브레인(Google Brain)의 팀원이 이 프로젝트에 합류했고, 이름을 TensorFlow.js로 바꾸었습니다. 자바스크립트 API가 크게 바뀌면서 텐서플로와의 API 호환성을 높였습니다. 또한, 케라스 스타일의 고수준 API가 저수준 API 위에 구축되었습니다. 이를 사용해 훨씬 쉽게 자바스크립트 라이브러리에서 딥러닝 모델을 정의하고 훈련하고 실행할 수 있습니다. 케라스의 성능과 사용 편의성에 대해 앞서 언급한 것은 모두 TensorFlow.js에도 해당됩니다. 상호 운영성을 더욱 강화하기 위해 TensorFlow.js가 텐서플로와 케라스에서 저장한 모델을 로딩하거나 반대로 내보내기 위한 변환기를 만들었습니다. 2018년 봄 텐서플로 개발자 서밋과 구글 I/O에 소개(www.youtube.com/watch?v=YB-kfeNIPCEwww.youtube.com/watch?v=OmofOvMApTU 참고)된 이후로 TensorFlow.js는 빠르게 인기가 높은 자바스크립트 딥러닝 라이브러리가 되었습니다. 현재 깃허브에서 비슷한 라이브러리 중에는 스타(star)와 포크(fork) 수가 가장 많습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.