TensorFlow

모두를 위한 엔드 투 엔드 오픈소스 머신러닝 플랫폼입니다. 도구, 라이브러리, 커뮤니티 리소스로 구성된 TensorFlow의 유연한 환경입니다.

www.tensorflow.org

1. 텐서플로우 이름의 뜻

텐서플로우(Tensorflow)에서 텐서(Tensor)는 "다차원 수학 배열(Multidimensional arry of numbers)라고 말한다. 우선 숫자 한 개는 스칼라(scalar)이다. 이 스칼라와 비슷한 성질을 가진 또다른 스칼라들을 같이 묶어 놓은, 1차원 배열을 벡터(vector)라고 하고, 이를 rank1 tensor 라고 한다. 또 이 벡터들을 여러개 묶어 놓은 2차원 배열을 매트릭스(Matrix)라고 하고, 이를 rank2 tensor라고 한다. 여기서 각각의 숫자들을 우리가 다룰 데이터, 텐서를 그 데이터들의 집합이라고 생각하면 된다.

우리는 이 데이터들을 가지고 원하는 연산을 하기 위한 모델링 작업을 하고 모델링 작업을 통한 연산은 텐서플로우에서 거대한 dataflow 그래프로 나타내어진다. 이렇게 되면, 텐서 형태의 데이터들이 그 모델을 구성하는 연산들의 그래프를 따라 흐르면서 연산이 일어난다. 이것이 텐서플로우이다. 데이터를 의미하는 텐서(Tensor)와 그래프를 따라 연산이 흐르면서 수행되는 상태(flow)를 합쳐 텐서플로우라는 이름이 나오게 되었다.

 

2. 그래서 텐서플로우란?

텐서플로우는 구글 브레인 팀이 개발한 수치 계산과 대규모 머신러닝을 위한 오픈소스 라이브러리이다. 다수의 머신러닝과 딥러닝 모델, 알고리즘 등을 결합해 추상화하여 원하는 모델에 접근하기 쉽게해주었다. 또한, 배우고 이해하기 쉬운 파이썬(Python) 언어를 사용하여 모델링을 하고, 또 실제 계산 작업은 성능이 좋은 C++로 작업하기 때문에 그 속도도 상당히 빠르다. 즉, 텐서플로우는 파이썬 라이브러리지만, 파이썬에서 동작하는 것이 아니라 파이썬으로 텐서플로우를 구동하여 C++에서 연산한다고 생각하면 된다.

텐서플로우의 가장 큰 이점 중에 하나는 바로 '추상화'에 있다. 알고리즘 구현할 때 세부적인 면에 신경을 쓸 필요 없이, 그저 어플리케이션의 전체적인 논리에만 집중하여 개발할 수 있다. 이렇게 개발을 하고나면 그 이면의 low-level의 연산에 대해서는 텐서플로우가 알아서 처리해주기 때문에, 이를 이용하여 우리는 간단하게 머신러닝 모델을 만들 수 있게 되는 것이다.

유명한만큼 텐서플로우는 다양한 API와 데이터셋, 도구들을 제공한다. 대표적으로 딥러닝 신경망 Keras API와 미술과 음악의 창작 과정에서 머신러닝을 탐구하는 Magenta 등의 라이브러리, 구글 클라우드에서 실행되는 Jupyter notebook 환경인 CoLab, 텐서플로우의 dataflow 그래프를 한눈에 이해하기 쉽게 시각화해주는 텐서보드(Tensorboard), 그리고 머신러닝 벤치마크 제품 등의 다양한 도구들, 그리고 Google 리서치 데이터세트, Kaggle 데이터 세트 등 다양한 종류의 데이터셋 역시 제공하고 또 이를 통해 학습한 다양한 모델 역시 제공하고 있다.

이와 같은 도구들을 사용하여 무궁무진하게 그 활용방안을 늘려갈 수 있다. 많은 대기업에서 이미 텐서플로우를 활용하여 서비스를 제공하고 있다. Airbnb는 텐서플로우를 사용해 이미지를 분류하고, Paypal에서는 시시각각 변하는 복잡한 사기 패턴을 인식한다. 우리나라의 예로는 Kakao mobility에서 텐서플로우 Serving을 사용해서, 승차 요청을 이행하기 위해 운전자를 파견할 때 운행 완료율을 예측하고, Naver Shopping에서는 제품을 체계적으로 구성하고 사용자가 더 쉽게 검색할 수 있도록 쇼핑 제품의 카테고리를 자동으로 분류한다. 이렇게 활용되는 예제들을 크게 이미지, 텍스트, 데이터분석으로 나눌 수 있으며, 우리는 앞으로 텐서플로우를 활용한 object classification과 object segmentation에 대해 알아볼 것이다.

728x90
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 라이프코리아트위터 공유하기
  • shared
  • 카카오스토리 공유하기