๐ŸงฉTensorflow Certification ์ทจ๋“ํ•˜๊ธฐ - part 1. ๊ธฐ๋ณธ ๊ฐœ๋…๊ณผ Tensorflow์˜ ๋™์ž‘์›๋ฆฌ

vincaยท2022๋…„ 12์›” 27์ผ
0

๐ŸŒ• AI/DL -Tenserflow Certification

๋ชฉ๋ก ๋ณด๊ธฐ
1/11
post-thumbnail

Introduction

  1. ๋ณธ ๊ธ€์€ ์ธ๊ณต์ง€๋Šฅ ์ž๊ฒฉ์ฆ์ธ Tensorflow Certification lv1์ž๊ฒฉ์ฆ ์ทจ๋“์— ํ•„์š”ํ•œ ๋‚ด์šฉ์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค.
  2. ๊ธฐ๋ณธ ๋”ฅ๋Ÿฌ๋‹ ๊ฐœ๋…์„ ์•Œ๊ณ  ์žˆ๋‹ค๋Š” ๊ฐ€์ •ํ•˜์— ์‹ค์Šต ์œ„์ฃผ์˜ ๋‚ด์šฉ์œผ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ, ๋”ฅ๋Ÿฌ๋‹ ๊ฐœ๋…์— ๊ด€ํ•ด์„œ๋Š” ๊นŠ๊ฒŒ ์„ค๋ช…ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  3. ๋ฌธ์ œ์˜ ๊ฒฝ์šฐ, ์‹ค์ œ๋กœ ๋‚˜์˜จ ๊ธฐโ–  ๋ฌธ์ œ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

TensorFlow 2.0

  • 9์›” 30์ผ ๊ณต์‹ ์—…๋ฐ์ดํŠธ ๋จ
  • keras : TensorFlow, Caffe, CNTK, Thean๋“ฑ์˜ API๋ฅผ ๋ฌถ์–ด๋‘” ๊ณ ์ˆ˜์ค€ API
  • TensorFlow๊ฐ€ Keras๋ฅผ ์ธ์ˆ˜ (Tensorflow ๋‚ด์— ๋‚ด์ œํ™” ํ•จ)

๊ฐ„๋‹จํ•œ ๊ธฐ๋ณธ ๊ฐœ๋… ๋ณต์Šต

Epoch

  • ์ „์ฒด ๋ฐ์ดํ„ฐ๊ฐ€ ๋ชจ๋‘ ํ•™์Šตํ•œ ๋‹จ์œ„(1)
    ex.) 100๊ฐœ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์„ ๋•Œ, 5epoch์ด๋ผ๋Š” ๊ฒƒ์€ ์ด 100๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ 5๋ฒˆ ํ•™์Šต ์‹œํ‚ค๋Š” ๊ฒƒ.

Loss

  • ์ •๋‹ต๊ณผ์˜ ์˜ค์ฐจ๋ฅผ ์˜๋ฏธ

Accuracy(acc)

  • ์ •ํ™•๋„(0~1), 1 = 100%๋ฅผ ์˜๋ฏธ

Supervised Learning

  • ์ง€๋„ ํ•™์Šต
  • ์ž…๋ ฅ๋ฐ์ดํ„ฐ, ์ถœ๋ ฅ๋ฐ์ดํ„ฐ๊ฐ€ ์ „๋ถ€ ์กด์žฌ (์ฆ‰. ์ •๋‹ต(y)๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง)
    ex.) ๋ถ„๋ฅ˜(Classification), ํšŒ๊ท€(Regression)๊ฐ€ ์กด์žฌ

Unsupervised Learning

  • ๋น„์ง€๋„ ํ•™์Šต
    ex.) ๊ตฐ์ง‘(Clustering)

ํ•™์Šต ์ˆœ์„œ

  1. ํ•„์š”ํ•œ API ๋ฐ ๋ชจ๋“ˆ import
  2. ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ
  3. ๋ชจ๋ธ(Sequential)
  4. ์ƒ์„ฑ(Compile)
  5. ํ•™์Šต(fit)

์ž…๋ ฅ์ธต, ์€๋‹‰์ธต, ์ถœ๋ ฅ์ธต

  • ์ž…๋ ฅ์ธต : ๋ช‡๊ฐœ์˜ feature๊ฐ€ ๋“ค์–ด์˜ค๋Š”๊ฐ€? input shape์˜ ์ง€์ •์ด ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค.
    ์ฆ‰, Classfication์— ์žˆ์–ด์„œ, ๋ช‡๊ฐœ์˜ feature๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” ์ง€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฐœ์ˆ˜๋ฅผ input shape๋ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์€๋‹‰์ธต : ์–ผ๋งˆ๋‚˜ ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์„ ๊นŠ๊ฒŒ ๋งŒ๋“ค์ง€ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.
  • ์ถœ๋ ฅ์ธต : sigmoid๋˜๋Š” softmax๋ฅผ ์ฃผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Classfication๋˜๋Š” ๊ฐœ์ˆ˜์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

์ง€๊ธˆ ๋ชฐ๋ผ๋„ ํ—ท๊ฐˆ๋ ค๋„ ์ƒ๊ด€์—†์Šต๋‹ˆ๋‹ค.
์‹ค์Šต ๋ฌธ์ œ๋ฅผ ํ†ตํ•ด ๋ฐ”๋กœ ๊ตด๋ ค๋ณด์‹œ๋ฉด ์ดํ•ด๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

๋ฌธ์ œ - Certification Category

x, y์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋Š” 1์ฐจ์› ํ•จ์ˆ˜์ธ y=wx+b๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๋ชจํ˜•์„ ๋งŒ๋“ค์–ด ๋ณด๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

๋น ๋ฅธ ์‹ค์Šต์„ ์œ„ํ•ด Colab ์ฃผ์†Œ๋ถ€ํ„ฐ ๋‚จ๊น๋‹ˆ๋‹ค.

Certification Category - Goolge Colab

Colab์„ ํ‚ค๊ณ  ์œ„์—์„œ ๋ถ€ํ„ฐ ์ฝ์–ด๊ฐ€๋ฉฐ ํ•œ์นธ, ํ•œ์นธ ์‹คํ–‰(shift + Enter)๋งŒ ํ•˜์…”๋„ ๋ฉ๋‹ˆ๋‹ค.
๋ธ”๋กœ๊ทธ์—๋Š” ํ•ด๋‹น ๋‚ด์šฉ์— ๋Œ€ํ•œ ์ถ”๊ฐ€์ ์ธ ์„ค๋ช…์ด ๋ถ™์—ฌ์ง‘๋‹ˆ๋‹ค.

0. GPU ์„ค์ •ํ•˜๊ธฐ

๋ณธ ์‹ค์Šต์€ Goolge Colab์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
๋ณธ์ธ์ด GPU๊ฐ€ ์žˆ๊ณ , ๋”ฅ๋Ÿฌ๋‹ ํ•™์Šต ํ™˜๊ฒฝ ๊ตฌ์ถ•์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด, ๊ตฌ์ถ•ํ•ด๋„ ์‚ฌ์šฉํ•˜์…”๋„ ๋ฉ๋‹ˆ๋‹ค.
ํ—ˆ๋‚˜ ์ƒ๋‹นํžˆ ๊ท€์ฐฎ๊ณ  ๋ณต์žกํ•˜๋ฏ€๋กœ ๋ชจ๋“  ๊ฒŒ ๋‹ค ํ•ด๊ฒฐ๋˜์–ด์žˆ๋Š” Google Colab์„ ์‚ฌ์šฉํ•˜๋„๋ก ํ•ฉ์‹œ๋‹ค.

ํŒŒ์ผ -> ๋…ธํŠธ ์„ค์ • -> GPU๋กœ ์ˆ˜์ •

1. ํ•„์š”ํ•œ ๋ชจ๋“ˆ Import

Tensorflow๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ํ•„์š”ํ•œ ๋ชจ๋“ˆ๊ณผ ํŒจํ‚ค์ง€๋ฅผ Importํ•ฉ๋‹ˆ๋‹ค.
numpy๋Š” ํ–‰๋ ฌ ๋ฐ ๋ฒกํ„ฐ๋“ฑ์˜ ์ˆ˜ํ•™์  ๋ฐ์ดํ„ฐ๋ฅผ ์‰ฝ๊ฒŒ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด ํŒŒ์ด์ฌ์—์„œ ์ œ๊ณตํ•˜๋Š” ๋ชจ๋“ˆ์ž…๋‹ˆ๋‹ค.

2. ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ

์šฐ๋ฆฌ๊ฐ€ ๋ˆˆ์œผ๋กœ ๋ดค์„ ๋•Œ, ์ด๋ฅผ ๋ฐ˜์˜ํ•˜๋Š” ๊ทธ๋ž˜ํ”„๋Š” y=x+6์ด๋ผ๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด๋ฅผ ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์„ ํ†ตํ•ด์„œ ๊ทธ๋ž˜ํ”„๋ฅผ ์ฐจ์ธฐ ์˜ˆ์ธกํ•˜๋Š” ๊ณผ์ •์„ ์‚ดํŽด ๋ด…์‹œ๋‹ค.

3. ๋ชจ๋ธ ์ •์˜

๋ชจ๋ธ์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

  • Dense Layer
    Fully Connected Layer๋ฅผ ๋œปํ•ฉ๋‹ˆ๋‹ค.
    1๊ฐœ์˜ ๋…ธ๋“œ๋กœ ๊ตฌ์„ฑ๋˜์–ด์žˆ๊ณ , input shape ์ฆ‰, data์˜ feature๋Š” x๊ฐ€ 1๊ฐœ์ด๋ฏ€๋กœ 1๊ฐœ์ž…๋‹ˆ๋‹ค.

  • input shape
    ๋งŒ์•ฝ x1, x2, x3 3๊ฐœ์˜ feature๋กœ y๋ฅผ ์˜ˆ์ธกํ•œ๋‹ค๋ฉด input shape๋Š” 3์ด ๋ฉ๋‹ˆ๋‹ค.
    ํ•ด๋‹น ๋ชจ๋ธ์—์„œ๋Š” x1 -> y1 ์ฆ‰, ํ•˜๋‚˜์˜ x๋‹น ํ•˜๋‚˜์˜ y๊ฐ€ ๊ฒฐ์ •๋˜๋ฏ€๋กœ feature๊ฐ€ 1์ž…๋‹ˆ๋‹ค.

์ถ”๊ฐ€๋กœ ์ „์ฒด ๋ฐ์ดํ„ฐ์˜ ๊ฐœ์ˆ˜๋Š” (x,y) ์„ธํŠธ 6๊ฐœ๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ์ด 6๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

4. ๋ชจ๋ธ ์ƒ์„ฑ

  • optimizer
    ์ตœ์ ํ™” ํ•จ์ˆ˜(์—…๋ฐ์ดํŠธ ์‹œํ‚ค๋Š” ํ•จ์ˆ˜)๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค.
    SGD ๋ฐฉ๋ฒ•์œผ๋กœ ๊ฐ ๋ฐ์ดํ„ฐ๋งˆ๋‹ค ํ•™์Šต์ด ์ด๋ฃจ์–ด์ง€๋„๋ก ๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค.
  • loss
    ์†์‹ค(๋น„์šฉํ•จ์ˆ˜)๋ฅผ ๋œปํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํ˜„์žฌ ํ‰๊ท  ์ œ๊ณฑ์˜ค์ฐจ์ธ MSE๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

SGD, MSE ๋“ฑ์— ๊ด€ํ•œ ๋‚ด์šฉ์€ SGD / MSE ๋ฅผ ์ฐธ๊ณ  ํ•˜์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค.

5. ๋ชจ๋ธ ์ƒ์„ฑ

์ƒ์„ฑํ•œ ๋ชจ๋ธ์„ ํ•™์Šต ์‹œํ‚ต๋‹ˆ๋‹ค.
์ด 1200๋ฒˆ์„ ํ•™์Šต์‹œํ‚ค๋Š”๋ฐ, SGD ๋ฐฉ์‹์œผ๋กœ ํ•™์Šต๋˜๋ฏ€๋กœ 6x1200 = 7200๋ฒˆ์˜ update๊ฐ€ ์ˆ˜ํ–‰๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
verbos๋Š” ๋ชจ๋ธ์„ ํ•™์Šต์‹œํ‚ค๋ฉด์„œ ํ•ด๋‹น ๋ชจ๋ธ์ด ํ•™์Šต๋˜๋Š” ๊ณผ์ •์„ ์ถœ๋ ฅํ•ด์„œ ์‹œ๊ฐ์ ์œผ๋กœ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

6. ๊ฒ€์ฆ

ํ•™์Šต์ด ์™„๋ฃŒ๋œ ๋ชจ๋ธ์— (x = 10)์„ ๋„ฃ์–ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.
๊ทธ ๊ฒฐ๊ณผ 16.000046, 16์— ๊ฐ€๊นŒ์šด ๊ฐ’์ด ์ถœ๋ ฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๊ฐ€ ์˜ˆ์ธกํ•œ ๊ทธ๋ž˜ํ”„์ธ y = x + 6์™€ ๊ฑฐ์˜ ์œ ์‚ฌํ•œ ๊ฐ’์„ ๋‚˜ํƒ€๋‚ด๊ณ , ์ž˜ ํ•™์Šต๋˜์—ˆ๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๊ฒ ์Šต๋‹ˆ๋‹ค.

profile
๋ถ‰์€ ๋ฐฐ ์˜ค์ƒ‰ ๋”ฑ๋‹ค๊ตฌ๋ฆฌ ๊ฐœ๋ฐœ์ž ๐ŸฆƒCloud & DevOps

0๊ฐœ์˜ ๋Œ“๊ธ€