:Google에서 open한 machine learning api~
※ Tensor flow는 data flow graph로 computation을 표현 할 수 있다면, Tensor Flow를 사용 가능하다.
-data flow graph : 오토마타 시간에 배웠던 개념중에 하나군..상수,변수 등의 데이터와 그 사이의 operation을 하나의 graph형식의 machine으로 만드는 것...
- 실세계의 데이터로 컴퓨터를 가르치는 방법중에 하나로, 고품질 음성인식, practical 컴퓨터 인식(vision), email spam차단, self-driving 자동차 등에 쓰임..
대부분의 ML은 Labeled Data를 필요로 하지만, self-taught learning과 deep learning 같은 것들은 Label이 없는 데이터 들로도 학습이 가능할지도 모른다는 것을 시사한다..
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
Tensor는 형이 있는 다차원 배열임
Computation을 Graph로 나타내며, 노드는 operation, 여기에 들어가는 데이터가 tensor가 됨
http://googleresearch.blogspot.kr/2015/11/tensorflow-googles-latest-machine_9.html를 참고함...