본문 바로가기

CS/머신러닝

텐서플로 소개

728x90


머신러닝을 공부하기 위해 구글의 OPEN API인 TensorFlow(텐서플로,텐서플로우)를 사용할 예정이다.


What is TensorFlow?

공식 홈페이지 https://www.tensorflow.org/




구글이 공개한 머신러닝을 위한 오픈소스 라이브러리

현재 텐서플로는 검색, 구글 앱의 음성인식, 메일을 읽고 예시 답장을 제공하는 G메일 인박스의 ‘똑똑한 답장’ 서비스, 구글포토의 검색 등에 적용되어 있다.

핵심기술은 C++로 작성됬으며, 프론트엔드 부분은 파이썬으로 구현되었다.

운영체제는 리눅스와 OS X를 지원합니다. (Window는 안됨)




먼저 단어의 뜻을 naver에서 검색해 봤다.

Tensor : 벡터의 확장 개념. 수학, 물리학에서 중요한 역할을 하는 텐서는 벡터의 개념을 포함한다.

Flow : 흐름.

Tensor라는 단어가 좀 어렵긴한데, 결론은 거대한 자료의 흐름이라는 말이다.


자료의 흐름을 어떻게 설명하는가?

시각적으로 표현한게 Data Flow Graph가 된다.

Tensors Flowing출처 - 텐서플로 공식 홈페이지


Data Flow Graph는 수학적인 계산을 node와 edge로 구성된 directed graph로 표현한 것이다.

Node는 수학적인 연산을 실시하고, 데이터를 입력받고(교육), 결과를 보내고, 고정된 변수를 읽고 쓰는 작업도 표현한다.

Edge는 node간의 입,출력을 표현한다. edge는 동적-다차원 배열/텐서를 전송한다.

쉽게 말하면, 전달되는 데이터를 텐서라고 하며, 데이터가 어디로 흘러가고 어떻게 처리되는 가를 쉽게 도식화 한 것이라 볼 수 있다.



Andrew Ng 교수님의 수업을 들으면 좋지만, 일단 한글로 공부를 하겠다.

아래는 머신러닝을 한글로 강의해주시는 Sung Kim 교수님(홍콩과기대) 강의 링크 모음이다.

이 강의를 보고 공부를 진행 할 예정이다.

https://hunkim.github.io/ml/


참고 자료

https://www.tensorflow.org/

http://thegear.co.kr/10202