구글 머신러닝 단기집중과정

구글 머신러닝 단기집중과정 - ML 개념 - TF 첫걸음

오핸 2021. 6. 18. 14:54
728x90
반응형

* 특이사항으로는 TF 첫걸음의 동영상 강의가 들어가지지 않는다. 참고하길 바란다.

 

 

텐서플로우 첫걸음: 도구

 

다음 그림은 텐서플로우 도구함의 현재 계층구조를 보여 줍니다.

그림 1. 텐서플로우 도구함 계층구조

 

다음 표에는 여러 레이어의 목적이 요약되어 있습니다.

도구함 설명
에스티메이터(tf.estimator) 높은 수준의 OOP API
tf.layers/tf.losses/tf.metrics 일반 모델 구성요소용 라이브러리
텐서플로우 낮은 수준의 API

 

텐서플로우는 다음 두 요소로 구성됩니다.

 

 

이 두 구성요소는 자바 컴파일러 및 JVM과 유사합니다. JVM이 여러 하드웨어 플랫폼에서 구현되는 것과 마찬가지로 텐서플로우도 여러 CPU와 GPU에서 구현됩니다.

 

어느 API를 사용해야 하나요? 문제를 해결하는 최고 수준의 추상화를 사용해야 합니다. 추상화 수준이 높을수록 더 사용하기 쉽지만 (설계상) 유연성이 떨어집니다. 먼저 최고 수준의 API로 시작하여 모든 작업을 실행하는 것이 좋습니다. 특별한 모델링 문제를 해결하기 위해 더 유연한 추상화가 필요하면 한 수준 아래로 이동합니다. 각 수준은 낮은 수준의 API를 사용하여 제작되므로 계층구조를 낮추는 것이 합리적입니다.

 

 

 

tf.estimator API

 

머신러닝 단기집중과정 내 대부분의 실습에서 tf.estimator를 사용합니다. 낮은 수준의(원시) 텐서플로우를 사용해도 실습의 모든 작업을 실행할 수 있지만 tf.estimator를 사용하면 코드 행 수가 크게 줄어듭니다.

 

tf.estimator는 scikit-learn API와 호환됩니다. scikit-learn은 Python의 매우 인기 있는 오픈소스 ML 라이브러리로, Google 직원을 비롯하여 100,000명이 넘는 사람들이 이용하고 있습니다.

 

tf.estimator로 구현된 선형 회귀 프로그램의 형식은 대체로 다음과 같습니다.

 

import tensorflow as tf

# Set up a linear classifier.
classifier = tf.estimator.LinearClassifier()

# Train the model on some example data.
classifier.train(input_fn=train_input_fn, steps=2000)

# Use it to predict.
predictions = classifier.predict(input_fn=predict_input_fn)

 


주요 용어

 

 

 

TensorFlow 첫걸음: 프로그래밍 실습

 

머신러닝 단기집중과정을 진행하는 동안 고급 TensorFlow API인 tf.estimator를 사용하여 모델을 코딩함으로써 학습한 원리와 기법을 실습에 적용하게 됩니다.

 

머신러닝 단기집중과정 프로그래밍 실습에서는 코드, 출력 및 설명 텍스트를 하나의 공동작업 문서로 결합하는 데이터 분석 플랫폼을 사용합니다.

 

★ 프로그래밍 실습은 별도의 설정이 필요 없이 브라우저에서 바로 실행되며 Colaboratory 플랫폼을 이용합니다. Colaboratory는 대부분의 주요 브라우저에서 지원되며 Chrome 및 Firefox 데스크톱 버전을 대상으로 가장 꼼꼼한 테스트가 이루어졌습니다. 실습을 다운로드하여 오프라인에서 실행하시려면 이 안내를 확인하여 로컬 환경 설정에 관해 자세히 알아보세요.

 

다음 세 개의 실습을 지정된 순서로 실행하세요.

  1. Pandas 빠른 가이드: Pandas는 데이터 분석 및 모델링에 중요한 라이브러리이며 TensorFlow 코딩에 널리 사용됩니다. 이 가이드에서는 이 교육 과정에 필요한 Pandas 정보를 모두 제공합니다. 이미 Pandas를 알고 있으면 이 실습을 건너뛸 수 있습니다.
  2. TensorFlow 첫걸음: 선형 회귀에 관해 알아봅니다.
  3. 합성 특성과 이상점: 합성 특성 및 입력 이상점의 효과를 알아봅니다

 

 

 

머신러닝 단기집중과정 실습에서 자주 사용되는 초매개변수

 

많은 코딩 실습에 다음과 같은 초매개변수가 포함됩니다.

 

  • steps: 총 학습 반복 횟수입니다. 한 단계에서 한 배치의 손실을 계산한 후, 이 값을 사용하여 모델의 가중치를 한 번 수정합니다.
  • batch size: 하나의 단계와 관련된 예시의 수(임의로 선택됨)입니다. 예를 들어 SGD의 batch size는 1입니다.

 

다음 수식이 적용됩니다.

 

$$ total\,number\,of\,trained\,example\,=\,batch\,size\,*\,steps $$

 

 

 

 

머신러닝 단기집중과정 실습에서 사용되는 편의 변수

 

여러 실습에 다음과 같은 편의 변수가 포함됩니다.

 

  • periods: 보고의 세부사항을 제어합니다. 예를 들어 periods가 7로 설정되고 steps가 70으로 설정되면 실습에서 10단계마다(또는 7번) 손실 값을 출력합니다. 초매개변수와 달리 periods의 값을 수정하지 않아도 됩니다. periods를 수정해도 모델이 학습하는 내용은 변경되지 않습니다.

 

다음 수식이 적용됩니다.

 

$$ number\,of\,training\,examples\,in\,each\,period\,=\,\frac{batch\,size\,*\,steps}{periods} $$

 

 

주요 용어

728x90
반응형