본문 바로가기

그냥, 코딩

[개발자를 위한 머신러닝&딥러닝] 텐서플로(Tensorflow) 소개

반응형

구성

  • 1부(1~11장) : 다양한 문제를 해결하는 머신러닝 모델을 텔서플로로 구축하는 방법을 설명
  • 2부(12~20장) : 모델을 안드로이드, iOS로 배포하고 웹 브라우저에서 자바스크립트로 실행하여 클라우드로 배포하는 시나리오를 다룸

수행하기 위한 필요한 기술

책 전반부는 텐서플로로 다양한 모델 구조를 만들어 보는 것이 목표, 즉 유일한 선수 지식은 파이썬(python)

 

Part1. 모델구축

1장 텐서플로(Tensorflow) 소개 

 인공지능을 구현하기 위해 머신러닝과 딥러닝이 좋은 출발점이지만, 처음에는 다양한 선택 사항과 새로운 용어에 압도당하기 쉽다. 이 책은 컴퓨터 비전, 자연어 처리 등의 시나리오를 사용해 사람처럼 행동하는 모델을 만든다. 

1.1 머신러닝이란

규칙 & 데이터  ⇒ 전통적인 프로그래밍 ⇒  정답

1.2 전통적인 프로그래밍의 한계

 전통적인 프로그램으로 구현할 수 있는 시나리오는 규칙을 유도할 수 있어야만 가능하다. 규칙이 없는 시나리오는? 코드가 너무 복잡해지므로 개발하기가 매우 어렵다!

예를 들어, 활동 감지를 생각해보자.

  • 걷기: 4km/h 이하일 때
  • 달리기: 4km/h 초과 12km/h 이하
  • 자전거 타기: 12km/h 초과

1.3 프로그래밍에서 학습으로

하지만, 골프를 하는 활동을 감지하기 위해선 머신러닝이 필요하다!

정답 & 데이터  ⇒ 머신러닝 ⇒  규칙

이제는 더 이상 규칙을 직접 찾지 않고, 데이터에 레이블(정답)을 부여한 다음 컴퓨터가 직접 규칙을 찾도록 유도한다. 그렇다면 전통적인 프로그래밍처럼 규칙을 만들어 나가는 것이 아닌, 심박수, 위치, 속도 등과 같은 정보를 감지하는 여러 센서를 사용해 여러 활동을 하는 많은 데이터가 축적된다. 그 축적된 데이터로 레이블(정답)을 매칭하는 코드를 작성하는 것이 개발자의 일이다.  

1.4 텐서플로(Tensorflow)란

 머신러닝 모델을 만들고 사용하기 위한 오픈 소스 플랫폼. 머신러닝에 필요한 많은 알고리즘과 패턴을 텐서플로에 구현해놓았기 때문에 이면에 있는 수학이나 로직을 모두 배울 필요가 없고 당면한 문제에만 집중할 수 있다. 웹, 클라우드, 모바일, 임베디드 시스템으로 모델을 배포하는 것까지 지원한다.

  • 훈련: 머신러닝 모델을 만드는 과정
  • 추론: 모델이 훈련되고 나면 이를 사용해 새로운 입력을 인식하거나 분류

# 모델 훈련을 위해 필요 사항 

  1. 모델 자체를 설계하기 위한 API
    1. 모든 것을 직접 코딩한다.
    2. 컴퓨터가 학습하는 로직을 파악해 코드로 구현한다.(권장하지 않음)
    3. 텐서플로에 내장된 추정기를 사용한다.
  2. 하나의 칩(Chip)을 사용한다.
    1. CPU(Central Processing Unit)
    2. GPU(Graphics Processing Unit)
    3. TPU(Tensor Processing Unit)
  3. 모든 모델의 핵심은 데이터

 

 

 

 

 

반응형