TensorFlow

:Google에서 open한 machine learning api~


Tensor flow는 data flow graph로 computation을 표현 할 수 있다면, Tensor Flow를 사용 가능하다.


-data flow graph : 오토마타 시간에 배웠던 개념중에 하나군..상수,변수 등의 데이터와 그 사이의 operation을 하나의 graph형식의 machine으로 만드는 것...


machine learning 

- 실세계의 데이터로 컴퓨터를 가르치는 방법중에 하나로, 고품질 음성인식, practical 컴퓨터 인식(vision), email spam차단, self-driving 자동차 등에 쓰임..


대부분의 ML은 Labeled Data를 필요로 하지만, self-taught learning과 deep learning 같은 것들은 Label이 없는 데이터 들로도 학습이 가능할지도 모른다는 것을 시사한다..



DistBelief

Google의 딥러닝 인프라스트럭처.. 2011년에 개발됨

1. 고양이 사례에 이용

엄청나게 큰 neural network(16000개의 CPU core, 1billion개의 neural connection)를 구성해서 youtube동영상(unlabeled data)을 1주일 정도 보여줬더니.. 그 neural network가 고양이를 알아보기 시작함..

.DistBelief 를 이용해 이미지 분류 테스트를 한 관련논문-상대적으로 70프로의 성능 향상이 있었음(Building High-level Features Using Large Scale Unsupervised Learning,2012,ICML)

2. Google 앱의 speech recognition에 적용하여 성능을 25프로 향상시킴 

3. Google Photo 에도 사용

※ 한계점 : 설정이 어렵고, google의 internal resource에 tightly coupled 되어 있어 외부에서 사용은 불가능 했다...

이를 개선하여...외부로 open한것이 Tensor Flow!!!

게다가 TensorFlow가 DistBelief보다 2배나 더 빠르다는 연구 결과도 있다


사용하는 언어 : Python, C++

Python interface사용 가능

차후에 SWIG를 통ㅇ해 JAVA, Lua, Javscript,R까지 확장 할 수도 있음...




license 

: Apache license2.0


※ Apache License 2.0 - http://www.apache.org/licenses/LICENSE-2.0


Tensor는 형이 있는 다차원 배열임

Computation을 Graph로 나타내며, 노드는 operation, 여기에 들어가는 데이터가 tensor가 됨







http://googleresearch.blogspot.kr/2015/11/tensorflow-googles-latest-machine_9.html를 참고함...

+ Recent posts