2018.09.12

“웹브라우저에서 머신러닝을” 텐서플로우 자바스크립트 라이브러리 Tensorflow.js

Paul Krill | InfoWorld
구글 텐서플로우 오픈소스 머신러닝 라이브러리가 자바스크립트로 확장됐다. 주인공은 Tensorflow.js로, 이 자바스크립트 라이브러리는 머신러닝 모델을 웹 브라우저에서 배치하는 데 사용한다.

Image Credit : GettyImagesBank

WebGL 가속화 라이브러리인 Tensorflow.js는 또한 Node.js 서버용 자바스크립트 런타임에도 사용할 수 있으며, 텐서플로우 생태계의 일부이기도 하다. 머신러닝을 웹 브라우저에서 바로 배치할 수 있기 때문에 별도의 드라이버가 필요없으며, 개발자는 코드를 실행하기만 하면 된다.

자바스크립트 툴 생태계를 내세운 이 프로젝트는 브라우저 기반 머신러닝용 Deeplearn.js 라이브러리에서 진화한 것으로, Deeplearn.js는 Tensorflow.js 코어로 알려져 있다.

Tensorflow.js API는 저수준 자바스크립트 선형대수 라이브러리나 고수준 계층 API를 사용해 머신러닝 모델을 구축할수 있다. 또 Tensorflow.js 모델 컨버터는 기존 모델을 브라우저나 Node.js에서 에서 구동할 수 있는데, 기존 모델을 브라우저와 연결된 센서 데이터를 사용해 재훈련할 수도 있다. 텐서는 중앙 데이터 유닛 역할을 한다. 또한 신경망 구축용으로 케라스 영향을 받은 고수준 API가 포함되어 있다.

Tensorflow.js는 텐서플로우의 파이썬 API와 유사한 API가 있다. 하지만 이 자바스크립트 API는 아직 파이썬 API의 모든 기능을 다 지원하지는 못한다. Tensorflow.js 측은 합리적인 수준에서 파이썬 API와 동일한 수준을 구현할 것이라 약속하지만, 한편으로는 개성적인 자바스크립트 API를 제공하고자 한다. Tensorflow.js는 AVX 라이브러리를 사용한 텐서플로우 파이썬 API의 50~60% 속도로 동작한다.

Tensorflow.js에서 향후 개선할 계획인 기능은 다음과 같다.

- 모델과 데이터의 신속한 가상화를 수행하기 위한 가상화 라이브러리
- 브라우저에서의 성능 향상
- WebGL 최적화
- 브라우저 및 Node 전용 데이터 API
- 서버리스 방식 통합점을 포함하는 Node.js 상의 클라우드 통합
- libuv 비동기 I/O 라이브러리를 이용한 비동기 지원 개선

한편, Tensorflow.js가 신경망 구축에 사용할 수 있는 유일한 자바스크립트 라이브러리는 아니다. MIT 학생들이 만든 텐서파이어(TensorFire)도 웹 페이지에서 신경망을 실행한다.  editor@itworld.co.kr

2018.09.12

“웹브라우저에서 머신러닝을” 텐서플로우 자바스크립트 라이브러리 Tensorflow.js

Paul Krill | InfoWorld
구글 텐서플로우 오픈소스 머신러닝 라이브러리가 자바스크립트로 확장됐다. 주인공은 Tensorflow.js로, 이 자바스크립트 라이브러리는 머신러닝 모델을 웹 브라우저에서 배치하는 데 사용한다.

Image Credit : GettyImagesBank

WebGL 가속화 라이브러리인 Tensorflow.js는 또한 Node.js 서버용 자바스크립트 런타임에도 사용할 수 있으며, 텐서플로우 생태계의 일부이기도 하다. 머신러닝을 웹 브라우저에서 바로 배치할 수 있기 때문에 별도의 드라이버가 필요없으며, 개발자는 코드를 실행하기만 하면 된다.

자바스크립트 툴 생태계를 내세운 이 프로젝트는 브라우저 기반 머신러닝용 Deeplearn.js 라이브러리에서 진화한 것으로, Deeplearn.js는 Tensorflow.js 코어로 알려져 있다.

Tensorflow.js API는 저수준 자바스크립트 선형대수 라이브러리나 고수준 계층 API를 사용해 머신러닝 모델을 구축할수 있다. 또 Tensorflow.js 모델 컨버터는 기존 모델을 브라우저나 Node.js에서 에서 구동할 수 있는데, 기존 모델을 브라우저와 연결된 센서 데이터를 사용해 재훈련할 수도 있다. 텐서는 중앙 데이터 유닛 역할을 한다. 또한 신경망 구축용으로 케라스 영향을 받은 고수준 API가 포함되어 있다.

Tensorflow.js는 텐서플로우의 파이썬 API와 유사한 API가 있다. 하지만 이 자바스크립트 API는 아직 파이썬 API의 모든 기능을 다 지원하지는 못한다. Tensorflow.js 측은 합리적인 수준에서 파이썬 API와 동일한 수준을 구현할 것이라 약속하지만, 한편으로는 개성적인 자바스크립트 API를 제공하고자 한다. Tensorflow.js는 AVX 라이브러리를 사용한 텐서플로우 파이썬 API의 50~60% 속도로 동작한다.

Tensorflow.js에서 향후 개선할 계획인 기능은 다음과 같다.

- 모델과 데이터의 신속한 가상화를 수행하기 위한 가상화 라이브러리
- 브라우저에서의 성능 향상
- WebGL 최적화
- 브라우저 및 Node 전용 데이터 API
- 서버리스 방식 통합점을 포함하는 Node.js 상의 클라우드 통합
- libuv 비동기 I/O 라이브러리를 이용한 비동기 지원 개선

한편, Tensorflow.js가 신경망 구축에 사용할 수 있는 유일한 자바스크립트 라이브러리는 아니다. MIT 학생들이 만든 텐서파이어(TensorFire)도 웹 페이지에서 신경망을 실행한다.  editor@itworld.co.kr

X