SlideShare a Scribd company logo
TENSORFLOW 개요
2016.12.02 (금) 이효정
Index
■ 딥러닝과 텐서플로
■ 텐서플로 설치
■ 선형회귀분석
– 변수간의 관계에 대한 모델
– 비용함수와 경사 하강법 알고리즘
– 알고리즘 실행
딥러닝과 텐서플로
딥러닝과 텐서플로
딥러닝
■ 신경망 알고리즘을 주로 사
용
– 퍼셉트론 알고리즘
■ CNN과 RNN
– CNN(합성곱 신경망)
 이미지 내의 물체 인식
– RNN(순환 신경망)
 번역과 음성인식
텐서플로
■ 최근의 딥러닝 연구에 널
리 사용되는 라이브러리
텐서플로
■ 기본 구조
– 데이터 플로 그래프를 사용하여 수치 연산을 수행한다.
 그래프의 노드 : 수학 연산
 그래프의 에지 : 다차원 데이터 배열
– 수치 연산을 기호로 표현한 그래프 구조를 만들고 처리한다.
■ 장점
– CPU, GPU의 장점 모두 이용 가능
– 모바일 플랫폼, 64비트 리눅스에서 모두 이용 가능
– 텐서보드 모듈
 많은 정보를 모니터링하고 디스플레이 해준다.
 참고 : https://goo.gl/6Cyr20
텐서플로 vs 텐서플로 서빙
텐서플로
■ 입력된 데이터를 가지고
머신러닝 알고리즘을 만
들어 모델을 훈련시켜준
다.
텐서플로 서빙
■ 훈련된 모델에 클라이언
트로부터 들어오는 입력
데이터를 반영해준다.
텐서플로 설치
#0 파이썬과 파이참 설치
■ 파이썬 설치
■ 파이썬 개발 환경인 파이참 설치
#1 docker 설치와 환경 설정
■ 텐서플로는 리눅스에서 작동하므로 가상 머신 역할을 해 주는
docker tool box를 설치
■ docker quick start terminal 실행
– docker-machine create vdocker –d virtualbox
 최초 1회 실행!
– docker-machine ls
 vdocker의 상태가 Running인지 확인한다
– Stopped이라면 docker-machine start vdocker
■ 터미널 종료
#1 docker 설치와 환경 설정
#2 cmd에서 docker 이미지 다운로드
■ cmd 실행
■ 아래 명령 입력 (띄어쓰기에 주의한다.)
– FOR /f "tokens=*" %i IN ('docker-machine env --shell
cmd default') DO %i
■ docker 이미지 다운로드 (최초 1회 실행!)
– docker run –v /c/Users/ML:/home/ML –it python bash
 자신의 파이참 프로젝트 경로를 제대로 써 주기
■ 생성된 이미지명 확인하기
– 확인 : docker ps –a
– 삭제 : docker ps rm (image name)
 안된다면 docker stop (image name) 하고 삭제 명령 재입력
#3 생성된 컨테이너 입장
■ 재시동 및 입장
– docker restart (image name)
– docker attach (image name) + Enter (약간의 버그!)
 안되면 docker start (image name) 입력 후 attach 실행
#4 텐서플로 설치
■ https://www.tensorflow.org/versions/r0.11/get_started/os_set
up.html
– 자신의 컴퓨터 환경에 맞는 명령어 수행하여 텐서플로 설치
■ 완료되면 자신의 프로젝트 폴더로 이동하여 프로젝트를
실행해본다!
– cd (path)
– python (file name)
 파일명 앞 부분까지 입력하고 Tab키를 누르면 해당 파일명 자동 완성
#5 설치 완료 후 다시 입장하는 과정
#6 간단한 예제 실행
: 알고리즘 기술 > 세션 생성 > 연산 실행!
■ placeholder
– 프로그램 실행 중 값을 변경할 수
있는 ‘심벌릭’ 변수
■ tensor
– 동적 크기 갖는 다차원 데이터 배
열
■ mul()
– 텐서 조작을 위해 텐서플로가 제
공하는 많은 수학 연산 함수 중
하나
■ Session()
– 세션 생성함으로써 프로그램이
텐서플로 라이브러리와 상호작
용
Note that…
■ 텐서플로에서 연산과 데이터에 대한 모든 정보는 그래프
구조 안에 저장됨
– 노드 : 수학 연산
 데이터 입력과 출력의 위치를 표현하거나 저장된 변수를 읽고 씀
– 에지 : 입력 값과 출력 값으로 연결된 노드 간의 관계를 표현 + 텐
서플로의 기본 자료구조인 텐서 운반!
선형 회귀 분석
변수 간의 관계에 대한 모델
비용 함수와 경사 하강법 알고리즘
알고리즘 실행
선형 회귀 분석(linear regression)이란?
■ 변수들 사이의 관계를 분석하는 데 사용하는 통계학적 방
법
■ 독립변수 xi, 상수항 b와 종속변수 y간의 관계를 모델링
■ 단순회귀와 다중회귀
– 단순회귀 : 두 변수 간의 관계인 경우
– 다중회귀 : 여러 개의 변수를 다루는 경우
변수 간의 관계에 대한 모델 : y =
W*x+b
■ 이차원 좌표계에 데이터를 생성하는 파이썬 프로그램 작
성
■ 위 샘플 데이터에 맞는 최적의 직선을 찾는 문제
비용 함수(cost function)와 경사 하강법
알고리즘(gradient descent)
■ 문제 : 입력 데이터로부터 출력을 추정할 수 있는 학습 알
고리즘을 훈련시키기
– W와 b 두 개의 매개변수로 모델 표현 가능
– 입력 데이터 x_data를 이용해 출력 데이터 y_data를 만들 수 있는
최적의 매개변수 W와 b를 찾기
비용 함수와 경사 하강법 알고리즘
■ 비용함수(=오차함수)
– 반복이 일어날 때마다 개선 여부를 확인하기 위해 얼마나 좋은
(나쁜) 직선인지 측정
– W와 b를 매개변수로 받아 직선이 얼마나 데이터에 잘 맞는지를
기준으로 오차 값을 리턴
 여기서는 비용함수로 평균제곱오차(mean square error) 사용
– 실제 값과 알고리즘이 반복마다 추정한 값 사이의 거리를 오차로 하
는 값의 평균
– 비용함수 최소화 = 적합한 모델 찾는 것
비용 함수와 경사 하강법 알고리즘
■ 경사하강법
– 일련의 매개변수로 된 함수가 주어지면 초기 시작점에서 함수의
값이 최소화 되는 방향으로 매개변수를 변경하는 것을 반복적으
로 수행하는 알고리즘
 함수의 기울기를 음의 방향으로 진행하면서 반복적으로 최적화 수행
 거리 값 제곱 : 양의 값을 만들기 위해
 비용함수는 미분 가능 : 기울기 계산해야 하므로
– 매개변수(W, b)의 초기 값에서 시작하여 W, b를 수정해가며 비
용함수를 최소화하는 변수 값을 찾아낸다!
비용 함수와 경사 하강법 알고리즘
■ 경사하강법의 실제 연산
– 그래프 구성
 바닥의 2차원 공간 : W, b로 구
성
– 각 점은 하나의 직선 표현
 높이 : 해당 직선에 대한 오차
– 연산 : 평면의 한 지점에서 시작
해 더 작은 오차를 갖는 직선을
찾아 이동!
 비용 함수의 기울기를 계산
– W와 b에 대한 편미분 연산
 기울기는 오차가 낮은 곳의 방
향을 가리킴
알고리즘 실행
■ data set 생성
■ train에 경사하강법 적용한 옵티마이저 할당
■ train을 여러 번 반복하여 적합한 W, b 찾기
#1 data set 생성
#2 경사 하강법 반복해 적합한 W, b 찾
기
용어 정리
■ 학습 속도(learning rate)
– 텐서플로가 각 반복 때마다 얼마나 크게 이동할 것인가를 제어
– 크게하면 정확성 ↓ (최솟값을 지나쳐버릴 수 있음)
– 작게하면 시간 ↑ (최솟값 찾는 데에 너무 많은 반복이 필요함)
참고자료
■ 텐서플로 첫걸음, 조르디 토레스(박해선 옮김), 한빛미디어㈜
■ 인공지능 해커웨이 강의 자료
■ 텐서플로 백서 – http://goo.gl/CNSdsB
■ 경사하강법 이미지 - http://www.mathworks.com/matlabcentral/fx_files/27631/1/fff.png
Ad

Recommended

2017 tensor flow dev summit
2017 tensor flow dev summit
Tae Young Lee
 
랩탑으로 tensorflow 도전하기 - tutorial
랩탑으로 tensorflow 도전하기 - tutorial
Lee Seungeun
 
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)
Lee Seungeun
 
Chapter 9 - convolutional networks
Chapter 9 - convolutional networks
KyeongUkJang
 
Tensorflow for Deep Learning(SK Planet)
Tensorflow for Deep Learning(SK Planet)
Tae Young Lee
 
Denoising auto encoders(d a)
Denoising auto encoders(d a)
Tae Young Lee
 
딥러닝의 기본
딥러닝의 기본
deepseaswjh
 
Deep Learning Into Advance - 1. Image, ConvNet
Deep Learning Into Advance - 1. Image, ConvNet
Hyojun Kim
 
Image Deep Learning 실무적용
Image Deep Learning 실무적용
Youngjae Kim
 
개발자를 위한 공감세미나 tensor-flow
개발자를 위한 공감세미나 tensor-flow
양 한빛
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 3장. 분류
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 3장. 분류
Haesun Park
 
인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝
Jinwon Lee
 
Rnn개념정리
Rnn개념정리
종현 최
 
A Beginner's guide to understanding Autoencoder
A Beginner's guide to understanding Autoencoder
Lee Seungeun
 
쫄지말자딥러닝2 - CNN RNN 포함버전
쫄지말자딥러닝2 - CNN RNN 포함버전
Modulabs
 
밑바닥부터 시작하는딥러닝 8장
밑바닥부터 시작하는딥러닝 8장
Sunggon Song
 
Ai 그까이거
Ai 그까이거
도형 임
 
Tensorflow
Tensorflow
chs71
 
Ch.5 Deep Learning
Ch.5 Deep Learning
PartPrime
 
1.Introduction to Python and TensorFlow
1.Introduction to Python and TensorFlow
Haesun Park
 
인공 신경망 구현에 관한 간단한 설명
인공 신경망 구현에 관한 간단한 설명
Woonghee Lee
 
4.representing data and engineering features
4.representing data and engineering features
Haesun Park
 
R.T.Bach
R.T.Bach
수철 박
 
텐서플로우로 배우는 딥러닝
텐서플로우로 배우는 딥러닝
찬웅 주
 
REALM
REALM
Hoon Heo
 
파이썬 데이터과학 레벨2 - 데이터 시각화와 실전 데이터분석, 그리고 머신러닝 입문 (2020년 이태영)
파이썬 데이터과학 레벨2 - 데이터 시각화와 실전 데이터분석, 그리고 머신러닝 입문 (2020년 이태영)
Tae Young Lee
 
2.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-3
Haesun Park
 
2.linear regression and logistic regression
2.linear regression and logistic regression
Haesun Park
 
텐서플로우 기초 이해하기
텐서플로우 기초 이해하기
Yong Joon Moon
 
Tensorflow regression 텐서플로우 회귀
Tensorflow regression 텐서플로우 회귀
beom kyun choi
 

More Related Content

What's hot (20)

Image Deep Learning 실무적용
Image Deep Learning 실무적용
Youngjae Kim
 
개발자를 위한 공감세미나 tensor-flow
개발자를 위한 공감세미나 tensor-flow
양 한빛
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 3장. 분류
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 3장. 분류
Haesun Park
 
인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝
Jinwon Lee
 
Rnn개념정리
Rnn개념정리
종현 최
 
A Beginner's guide to understanding Autoencoder
A Beginner's guide to understanding Autoencoder
Lee Seungeun
 
쫄지말자딥러닝2 - CNN RNN 포함버전
쫄지말자딥러닝2 - CNN RNN 포함버전
Modulabs
 
밑바닥부터 시작하는딥러닝 8장
밑바닥부터 시작하는딥러닝 8장
Sunggon Song
 
Ai 그까이거
Ai 그까이거
도형 임
 
Tensorflow
Tensorflow
chs71
 
Ch.5 Deep Learning
Ch.5 Deep Learning
PartPrime
 
1.Introduction to Python and TensorFlow
1.Introduction to Python and TensorFlow
Haesun Park
 
인공 신경망 구현에 관한 간단한 설명
인공 신경망 구현에 관한 간단한 설명
Woonghee Lee
 
4.representing data and engineering features
4.representing data and engineering features
Haesun Park
 
R.T.Bach
R.T.Bach
수철 박
 
텐서플로우로 배우는 딥러닝
텐서플로우로 배우는 딥러닝
찬웅 주
 
REALM
REALM
Hoon Heo
 
파이썬 데이터과학 레벨2 - 데이터 시각화와 실전 데이터분석, 그리고 머신러닝 입문 (2020년 이태영)
파이썬 데이터과학 레벨2 - 데이터 시각화와 실전 데이터분석, 그리고 머신러닝 입문 (2020년 이태영)
Tae Young Lee
 
2.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-3
Haesun Park
 
2.linear regression and logistic regression
2.linear regression and logistic regression
Haesun Park
 
Image Deep Learning 실무적용
Image Deep Learning 실무적용
Youngjae Kim
 
개발자를 위한 공감세미나 tensor-flow
개발자를 위한 공감세미나 tensor-flow
양 한빛
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 3장. 분류
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 3장. 분류
Haesun Park
 
인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝
Jinwon Lee
 
Rnn개념정리
Rnn개념정리
종현 최
 
A Beginner's guide to understanding Autoencoder
A Beginner's guide to understanding Autoencoder
Lee Seungeun
 
쫄지말자딥러닝2 - CNN RNN 포함버전
쫄지말자딥러닝2 - CNN RNN 포함버전
Modulabs
 
밑바닥부터 시작하는딥러닝 8장
밑바닥부터 시작하는딥러닝 8장
Sunggon Song
 
Ai 그까이거
Ai 그까이거
도형 임
 
Tensorflow
Tensorflow
chs71
 
Ch.5 Deep Learning
Ch.5 Deep Learning
PartPrime
 
1.Introduction to Python and TensorFlow
1.Introduction to Python and TensorFlow
Haesun Park
 
인공 신경망 구현에 관한 간단한 설명
인공 신경망 구현에 관한 간단한 설명
Woonghee Lee
 
4.representing data and engineering features
4.representing data and engineering features
Haesun Park
 
텐서플로우로 배우는 딥러닝
텐서플로우로 배우는 딥러닝
찬웅 주
 
파이썬 데이터과학 레벨2 - 데이터 시각화와 실전 데이터분석, 그리고 머신러닝 입문 (2020년 이태영)
파이썬 데이터과학 레벨2 - 데이터 시각화와 실전 데이터분석, 그리고 머신러닝 입문 (2020년 이태영)
Tae Young Lee
 
2.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-3
Haesun Park
 
2.linear regression and logistic regression
2.linear regression and logistic regression
Haesun Park
 

Similar to Howto_Tensorflow+Linear Regression (20)

텐서플로우 기초 이해하기
텐서플로우 기초 이해하기
Yong Joon Moon
 
Tensorflow regression 텐서플로우 회귀
Tensorflow regression 텐서플로우 회귀
beom kyun choi
 
Mylab
Mylab
Lee Gyeong Hoon
 
텐서플로우-기초 프로그래밍
텐서플로우-기초 프로그래밍
jdo
 
01 linear regression
01 linear regression
CHUN HO LEE
 
1 linear regression
1 linear regression
CHUN HO LEE
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련
Haesun Park
 
딥러닝을 위한 Tensor flow(skt academy)
딥러닝을 위한 Tensor flow(skt academy)
Tae Young Lee
 
Deep Learning from scratch 5장 : backpropagation
Deep Learning from scratch 5장 : backpropagation
JinSooKim80
 
신경망 첫걸음 - 한빛미디어 요약
신경망 첫걸음 - 한빛미디어 요약
고포릿 default
 
Lec 00, 01
Lec 00, 01
Jinhwan Suk
 
Tensorflow 101
Tensorflow 101
GDG Korea
 
마이캠퍼스 딥러닝스쿨(한돌) 파트#2-딥러닝핵심
마이캠퍼스 딥러닝스쿨(한돌) 파트#2-딥러닝핵심
마이캠퍼스
 
딥러닝-오차역전파법2
딥러닝-오차역전파법2
jdo
 
​『골빈해커의 3분 딥러닝』 맛보기
​『골빈해커의 3분 딥러닝』 맛보기
복연 이
 
3. Install - Tensorflow
3. Install - Tensorflow
merry7
 
From maching learning to deep learning
From maching learning to deep learning
Yongdae Kim
 
EveryBody Tensorflow module1 GIST Jan 2018 Korean
EveryBody Tensorflow module1 GIST Jan 2018 Korean
Jaewook. Kang
 
해커에게 전해들은 머신러닝 #1
해커에게 전해들은 머신러닝 #1
Haesun Park
 
DL from scratch(6)
DL from scratch(6)
Park Seong Hyeon
 
텐서플로우 기초 이해하기
텐서플로우 기초 이해하기
Yong Joon Moon
 
Tensorflow regression 텐서플로우 회귀
Tensorflow regression 텐서플로우 회귀
beom kyun choi
 
텐서플로우-기초 프로그래밍
텐서플로우-기초 프로그래밍
jdo
 
01 linear regression
01 linear regression
CHUN HO LEE
 
1 linear regression
1 linear regression
CHUN HO LEE
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련
Haesun Park
 
딥러닝을 위한 Tensor flow(skt academy)
딥러닝을 위한 Tensor flow(skt academy)
Tae Young Lee
 
Deep Learning from scratch 5장 : backpropagation
Deep Learning from scratch 5장 : backpropagation
JinSooKim80
 
신경망 첫걸음 - 한빛미디어 요약
신경망 첫걸음 - 한빛미디어 요약
고포릿 default
 
Tensorflow 101
Tensorflow 101
GDG Korea
 
마이캠퍼스 딥러닝스쿨(한돌) 파트#2-딥러닝핵심
마이캠퍼스 딥러닝스쿨(한돌) 파트#2-딥러닝핵심
마이캠퍼스
 
딥러닝-오차역전파법2
딥러닝-오차역전파법2
jdo
 
​『골빈해커의 3분 딥러닝』 맛보기
​『골빈해커의 3분 딥러닝』 맛보기
복연 이
 
3. Install - Tensorflow
3. Install - Tensorflow
merry7
 
From maching learning to deep learning
From maching learning to deep learning
Yongdae Kim
 
EveryBody Tensorflow module1 GIST Jan 2018 Korean
EveryBody Tensorflow module1 GIST Jan 2018 Korean
Jaewook. Kang
 
해커에게 전해들은 머신러닝 #1
해커에게 전해들은 머신러닝 #1
Haesun Park
 
Ad

More from Hyo jeong Lee (10)

Project_Automatic Photo Classification Web Service
Project_Automatic Photo Classification Web Service
Hyo jeong Lee
 
Progress_190118
Progress_190118
Hyo jeong Lee
 
Progress_190130
Progress_190130
Hyo jeong Lee
 
Progress_190213
Progress_190213
Hyo jeong Lee
 
Progress_190412
Progress_190412
Hyo jeong Lee
 
Progress_190315
Progress_190315
Hyo jeong Lee
 
Paper_Scalable database logging for multicores
Paper_Scalable database logging for multicores
Hyo jeong Lee
 
Paper_An Efficient Garbage Collection in Java Virtual Machine via Swap I/O O...
Paper_An Efficient Garbage Collection in Java Virtual Machine via Swap I/O O...
Hyo jeong Lee
 
Paper_Design of Swap-aware Java Virtual Machine Garbage Collector Policy
Paper_Design of Swap-aware Java Virtual Machine Garbage Collector Policy
Hyo jeong Lee
 
Howto_Tensorflow-slim
Howto_Tensorflow-slim
Hyo jeong Lee
 
Project_Automatic Photo Classification Web Service
Project_Automatic Photo Classification Web Service
Hyo jeong Lee
 
Paper_Scalable database logging for multicores
Paper_Scalable database logging for multicores
Hyo jeong Lee
 
Paper_An Efficient Garbage Collection in Java Virtual Machine via Swap I/O O...
Paper_An Efficient Garbage Collection in Java Virtual Machine via Swap I/O O...
Hyo jeong Lee
 
Paper_Design of Swap-aware Java Virtual Machine Garbage Collector Policy
Paper_Design of Swap-aware Java Virtual Machine Garbage Collector Policy
Hyo jeong Lee
 
Howto_Tensorflow-slim
Howto_Tensorflow-slim
Hyo jeong Lee
 
Ad

Howto_Tensorflow+Linear Regression

  • 2. Index ■ 딥러닝과 텐서플로 ■ 텐서플로 설치 ■ 선형회귀분석 – 변수간의 관계에 대한 모델 – 비용함수와 경사 하강법 알고리즘 – 알고리즘 실행
  • 4. 딥러닝과 텐서플로 딥러닝 ■ 신경망 알고리즘을 주로 사 용 – 퍼셉트론 알고리즘 ■ CNN과 RNN – CNN(합성곱 신경망)  이미지 내의 물체 인식 – RNN(순환 신경망)  번역과 음성인식 텐서플로 ■ 최근의 딥러닝 연구에 널 리 사용되는 라이브러리
  • 5. 텐서플로 ■ 기본 구조 – 데이터 플로 그래프를 사용하여 수치 연산을 수행한다.  그래프의 노드 : 수학 연산  그래프의 에지 : 다차원 데이터 배열 – 수치 연산을 기호로 표현한 그래프 구조를 만들고 처리한다. ■ 장점 – CPU, GPU의 장점 모두 이용 가능 – 모바일 플랫폼, 64비트 리눅스에서 모두 이용 가능 – 텐서보드 모듈  많은 정보를 모니터링하고 디스플레이 해준다.  참고 : https://goo.gl/6Cyr20
  • 6. 텐서플로 vs 텐서플로 서빙 텐서플로 ■ 입력된 데이터를 가지고 머신러닝 알고리즘을 만 들어 모델을 훈련시켜준 다. 텐서플로 서빙 ■ 훈련된 모델에 클라이언 트로부터 들어오는 입력 데이터를 반영해준다.
  • 8. #0 파이썬과 파이참 설치 ■ 파이썬 설치 ■ 파이썬 개발 환경인 파이참 설치
  • 9. #1 docker 설치와 환경 설정 ■ 텐서플로는 리눅스에서 작동하므로 가상 머신 역할을 해 주는 docker tool box를 설치 ■ docker quick start terminal 실행 – docker-machine create vdocker –d virtualbox  최초 1회 실행! – docker-machine ls  vdocker의 상태가 Running인지 확인한다 – Stopped이라면 docker-machine start vdocker ■ 터미널 종료
  • 10. #1 docker 설치와 환경 설정
  • 11. #2 cmd에서 docker 이미지 다운로드 ■ cmd 실행 ■ 아래 명령 입력 (띄어쓰기에 주의한다.) – FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd default') DO %i ■ docker 이미지 다운로드 (최초 1회 실행!) – docker run –v /c/Users/ML:/home/ML –it python bash  자신의 파이참 프로젝트 경로를 제대로 써 주기 ■ 생성된 이미지명 확인하기 – 확인 : docker ps –a – 삭제 : docker ps rm (image name)  안된다면 docker stop (image name) 하고 삭제 명령 재입력
  • 12. #3 생성된 컨테이너 입장 ■ 재시동 및 입장 – docker restart (image name) – docker attach (image name) + Enter (약간의 버그!)  안되면 docker start (image name) 입력 후 attach 실행
  • 13. #4 텐서플로 설치 ■ https://www.tensorflow.org/versions/r0.11/get_started/os_set up.html – 자신의 컴퓨터 환경에 맞는 명령어 수행하여 텐서플로 설치 ■ 완료되면 자신의 프로젝트 폴더로 이동하여 프로젝트를 실행해본다! – cd (path) – python (file name)  파일명 앞 부분까지 입력하고 Tab키를 누르면 해당 파일명 자동 완성
  • 14. #5 설치 완료 후 다시 입장하는 과정
  • 15. #6 간단한 예제 실행 : 알고리즘 기술 > 세션 생성 > 연산 실행! ■ placeholder – 프로그램 실행 중 값을 변경할 수 있는 ‘심벌릭’ 변수 ■ tensor – 동적 크기 갖는 다차원 데이터 배 열 ■ mul() – 텐서 조작을 위해 텐서플로가 제 공하는 많은 수학 연산 함수 중 하나 ■ Session() – 세션 생성함으로써 프로그램이 텐서플로 라이브러리와 상호작 용
  • 16. Note that… ■ 텐서플로에서 연산과 데이터에 대한 모든 정보는 그래프 구조 안에 저장됨 – 노드 : 수학 연산  데이터 입력과 출력의 위치를 표현하거나 저장된 변수를 읽고 씀 – 에지 : 입력 값과 출력 값으로 연결된 노드 간의 관계를 표현 + 텐 서플로의 기본 자료구조인 텐서 운반!
  • 17. 선형 회귀 분석 변수 간의 관계에 대한 모델 비용 함수와 경사 하강법 알고리즘 알고리즘 실행
  • 18. 선형 회귀 분석(linear regression)이란? ■ 변수들 사이의 관계를 분석하는 데 사용하는 통계학적 방 법 ■ 독립변수 xi, 상수항 b와 종속변수 y간의 관계를 모델링 ■ 단순회귀와 다중회귀 – 단순회귀 : 두 변수 간의 관계인 경우 – 다중회귀 : 여러 개의 변수를 다루는 경우
  • 19. 변수 간의 관계에 대한 모델 : y = W*x+b ■ 이차원 좌표계에 데이터를 생성하는 파이썬 프로그램 작 성 ■ 위 샘플 데이터에 맞는 최적의 직선을 찾는 문제
  • 20. 비용 함수(cost function)와 경사 하강법 알고리즘(gradient descent) ■ 문제 : 입력 데이터로부터 출력을 추정할 수 있는 학습 알 고리즘을 훈련시키기 – W와 b 두 개의 매개변수로 모델 표현 가능 – 입력 데이터 x_data를 이용해 출력 데이터 y_data를 만들 수 있는 최적의 매개변수 W와 b를 찾기
  • 21. 비용 함수와 경사 하강법 알고리즘 ■ 비용함수(=오차함수) – 반복이 일어날 때마다 개선 여부를 확인하기 위해 얼마나 좋은 (나쁜) 직선인지 측정 – W와 b를 매개변수로 받아 직선이 얼마나 데이터에 잘 맞는지를 기준으로 오차 값을 리턴  여기서는 비용함수로 평균제곱오차(mean square error) 사용 – 실제 값과 알고리즘이 반복마다 추정한 값 사이의 거리를 오차로 하 는 값의 평균 – 비용함수 최소화 = 적합한 모델 찾는 것
  • 22. 비용 함수와 경사 하강법 알고리즘 ■ 경사하강법 – 일련의 매개변수로 된 함수가 주어지면 초기 시작점에서 함수의 값이 최소화 되는 방향으로 매개변수를 변경하는 것을 반복적으 로 수행하는 알고리즘  함수의 기울기를 음의 방향으로 진행하면서 반복적으로 최적화 수행  거리 값 제곱 : 양의 값을 만들기 위해  비용함수는 미분 가능 : 기울기 계산해야 하므로 – 매개변수(W, b)의 초기 값에서 시작하여 W, b를 수정해가며 비 용함수를 최소화하는 변수 값을 찾아낸다!
  • 23. 비용 함수와 경사 하강법 알고리즘 ■ 경사하강법의 실제 연산 – 그래프 구성  바닥의 2차원 공간 : W, b로 구 성 – 각 점은 하나의 직선 표현  높이 : 해당 직선에 대한 오차 – 연산 : 평면의 한 지점에서 시작 해 더 작은 오차를 갖는 직선을 찾아 이동!  비용 함수의 기울기를 계산 – W와 b에 대한 편미분 연산  기울기는 오차가 낮은 곳의 방 향을 가리킴
  • 24. 알고리즘 실행 ■ data set 생성 ■ train에 경사하강법 적용한 옵티마이저 할당 ■ train을 여러 번 반복하여 적합한 W, b 찾기
  • 25. #1 data set 생성
  • 26. #2 경사 하강법 반복해 적합한 W, b 찾 기
  • 27. 용어 정리 ■ 학습 속도(learning rate) – 텐서플로가 각 반복 때마다 얼마나 크게 이동할 것인가를 제어 – 크게하면 정확성 ↓ (최솟값을 지나쳐버릴 수 있음) – 작게하면 시간 ↑ (최솟값 찾는 데에 너무 많은 반복이 필요함)
  • 28. 참고자료 ■ 텐서플로 첫걸음, 조르디 토레스(박해선 옮김), 한빛미디어㈜ ■ 인공지능 해커웨이 강의 자료 ■ 텐서플로 백서 – http://goo.gl/CNSdsB ■ 경사하강법 이미지 - http://www.mathworks.com/matlabcentral/fx_files/27631/1/fff.png

Editor's Notes

  • #14: apt-get install python-pip python-dev export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.11.0-cp35-cp35m-linux_x86_64.whl pip install --upgrade $TF_BINARY_URL