텐서플로(TensorFlow)는 머신 러닝과 딥 러닝을 위해 만들어진 오픈소스 소프트웨어 라이브러리다.
머신 러닝과 딥 러닝은 컴퓨터가 복잡한 패턴을 자동으로 인식해 똑똑한 결정을 내리도록 만드는 알고리즘이다.
머신 러닝의 알고리즘은 크게 지도 학습과 비지도 학습으로 나눌 수 있다. 두 방법의 주요 차이점은, 지도 학습은 프로그래머가 컴퓨터에게 해야 할 행위를 가르쳐주는 것인 반면, 비지도 학습은 모든 과정을 컴퓨터가 스스로 하도록 한다는 점이다.
딥 러닝은 머신 러닝의 한 분과며, 최근에는 인공지능 구현에 머신 러닝을 접목하는 사례가 늘어나고 있다. 이것이 가능한 이유는, 딥 러닝 알고리즘이 사람의 두뇌를 모방하려는 특징을 갖기 때문이다.
이런 흥미로운 주제를 다루기 위해 구글 브레인 팀은 이 책의 주제인 텐서플로를 개발했다.
텐서플로의 프로그래밍적 기능을 다루기 위해서는 먼저 파이썬(Python) 프로그래밍 언어에 대해 알아둬야 한다. 파이썬은 재미있고 사용하기 쉬운 범용 프로그래밍 언어며, 꼭 배워둬야 할 프로그래밍 언어 중 하나로 빠르게 자리 잡고 있다.
이 책은 텐서플로의 모든 기능을 다루지는 않는다. 하지만 텐서플로의 주요 개념을 소개하고 독자들로 하여금 최대한 효율적으로 텐서플로를 학습할 수 있게 돕는다. 각 장마다 텐서플로의 주요한 특징에 대해 프로그래밍 예제를 들어 설명하며, 머신 러닝과 딥 러닝을 다루며 마주치게 될 문제에 대해서도 다룬다.
텐서플로는 거대하고 복잡하다. 하지만 기본적인 사용법을 익혀둔다면 사용하기 아주 쉽게 구성돼 있다. 이 책과 함께라면 이 과정이 좀 더 수월할 것이다.
최신 버전의 텐서플로를 사용한 딥러닝의 핵심 개념을 소개한다. 텐서플로란 2011년에 출시된 수학, 머신 러닝 및 딥러닝 구현을 위한 구글의 오픈 소스 프레임워크다. 이후 텐서플로는 학계와 연구에서 업계로 널리 채택돼 최근에는 가장 안정적인 버전 1.0이 통합 API로 출시됐다. 텐서플로는 첨단 아키텍처를 구현하고 연구하는 데 필요한 유연성을 제공하는 동시에 사용자가 수학적인 세부 사항이 아닌 모델 구조에 집중할 수 있도록 한다. 독자는 실습모델 구축, 데이터 수집 및 변환 등을 통해 딥러닝 프로그래밍 기술을 배우게 될 것이다.