๐ŸงฉTensorflow Certification ์ทจ๋“ํ•˜๊ธฐ - part 2. CheckPoint, One-hot Incoding

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

๐ŸŒ• AI/DL -Tenserflow Certification

๋ชฉ๋ก ๋ณด๊ธฐ
2/11

Introduction

TF -2 ์—๋Š” ์ด 3๋ฌธ์ œ๊ฐ€ ๋‚˜์˜ต๋‹ˆ๋‹ค.
2๋ฌธ์ œ๋Š” ์ด๋ฏธ์ง€ ๋ถ„๋ฅ˜
1๋ฌธ์ œ๋Š” ์ •ํ˜• ๋ฐ์ดํ„ฐ

์—ฌ๊ธฐ์„œ๋Š” ๊ธฐ๋ณธ ๊ฐœ๋…์„ ์•Œ์•„๋ณด๊ณ  ๋‹ค์Œ part 3์—์„œ Fashion Mnist์— ๋Œ€ํ•ด์„œ ์‹ค์Šต์„ ์ง„ํ–‰ํ•ด ๋ณด๋„๋ก ํ•ฉ์‹œ๋‹ค.

CheckPoint

๊ณผ์ ํ•ฉ์˜ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด์„œ Valid data๊ฐ€ ์ตœ์ ์˜ Loss๋ฅผ ๊ฐ€์ง€๋Š” ๋ถ€๋ถ„์„ ์ €์žฅํ•˜๊ณ  ์ด๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

early stopping์„ ํ•˜์ง€์•Š๊ณ , ํ•™์Šต์€ epoch๋๊นŒ์ง€ ์ด๋ฃจ์–ด์ง€๋˜, ์ตœ์ ์˜ CheckPoint์˜ weight๋ฅผ ์ €์žฅํ•˜๊ณ  ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

๋„ˆ๋ฌด ๋งŽ์€ ํ•™์Šต์€ test data์— ๋Œ€ํ•ด์„œ ๊ฐœํŒ์ธ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ฌ ๊ฒ๋‹ˆ๋‹ค.
์ด ๋ถ€๋ถ„์ด ์ดํ•ด๊ฐ€ ์•ˆ๋œ๋‹ค๋ฉด, ๊ณผ์ ํ•ฉ ํŒŒํŠธ๋ฅผ ์‚ดํŽด๋ณด์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค.

garyscale ์˜์ƒ์˜ ๊ฒฝ์šฐ 1channel๋กœ 0~255์˜ ํ”ฝ์…€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ–์Šต๋‹ˆ๋‹ค.
0~255 ์‚ฌ์ด์˜ ๋ฒ”์œ„๋ฅผ 0~1์‚ฌ์ด์˜ ๋ฒ”์œ„๋กœ ์ •๊ทœํ™”(Normalization) ํ•ด์ฃผ๋Š” ๊ณผ์ •์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์›ํ•ซ ์ธ์ฝ”๋”ฉ๊ณผ๋Š” ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ๋‹จ์ˆœํžˆ ๋ฐ์ดํ„ฐ๋ฅผ ์ •๊ทœํ™”์ž…๋‹ˆ๋‹ค.
์ด ๊ณผ์ •์„ ์™œ ํ•ด์ฃผ๋ƒ๊ณ ์š”?

๊ทธ๋ƒฅ ํ•ฉ๋‹ˆ๋‹ค. ํ•ญ์ƒ ํ•ด์™”๊ณ , ๋ชจ๋‘๊ฐ€ ๊ทธ๋ ‡๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

๋ฒ”์œ„๊ฐ€ ํฌ๋‹ค๋ณด๋ฉด ๋ฏธ๋ถ„๋Ÿ‰์˜ ๊ณ„์‚ฐ์ด ๊ทธ๋งŒํผ ํฌ๊ธฐ์— ๋ชจ๋ธ์˜ ํ•™์Šต์ด ์ง„๋™ํ•˜๊ฑฐ๋‚˜, ์ œ๋Œ€๋กœ ํ•™์Šต์ด ์•ˆ๋˜๋Š” ๋ถˆ์•ˆ์ •ํ•˜๊ฒŒ ๋‚˜์˜ฌ ๊ฒฝ์šฐ๊ฐ€ ํฝ๋‹ˆ๋‹ค.

์ •๊ทœํ™”๋ฅผ ์•ˆํ•˜์…”๋„, ๋ชจ๋ธ์€ ์ž˜ ํ•™์Šต๋˜๊ณ  ๊ตด๋Ÿฌ๊ฐ‘๋‹ˆ๋‹ค.
ํ•˜์ง€๋งŒ ์ •๊ทœํ™”๋ฅผ ํ•œ๋‹ค๋ฉด ๋” ํ•™์Šต์ด ์ž˜ ๋˜๋Š” ๊ฒƒ์„ ์ง์ ‘ํ™•์ธ ํ•ด ๋ณด์‹œ๋ฉด ์ฆ๋ช…๋˜๊ณ  ์ดํ•ด๋ฉ๋‹ˆ๋‹ค.

๊ทธ ์ •๋„๋กœ๋งŒ ์•Œ์•„๋‘ก์‹œ๋‹ค.

์›ํ•ซ ์ธ์ฝ”๋”ฉ

์ปดํ“จํ„ฐ๋Š” 0, 1์˜ ์ˆซ์ž๋ฐ–์— ๋ชจ๋ฅด๋Š” ์• ์ž…๋‹ˆ๋‹ค.
๊ทผ๋ฐ ๋ฌธ์ž, ๊ทธ๊ฒƒ๋„ ํ•œ๊ธ€์ธ ๋ด„, ์—ฌ๋ฆ„, ๊ฐ€์„, ๊ฒจ์šธ์„ ์•Œ์•„๋จน์œผ๋ผ๊ณ ํ•˜๊ณ  ํ•™์Šตํ•˜๋ผ๊ณ  ํ•˜๋ฉด ์–˜๊ฐ€ ์•Œ์•„๋จน๊ณ  ํ•™์Šตํ• ๊นŒ์š”?

๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ํ•œ๊ธ€์„ ์–ธ์ œ ๋ฐฐ์šฐ๊ณ  ์•‰์•„์žˆ๊ฒ ์Šต๋‹ˆ๊นŒ?

๋”ฐ๋ผ์„œ ์ด๋ฅผ ์›ํ•ซ ์ธ์ฝ”๋”ฉ์ด๋ผ๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์ด n์ฐจ์›์˜ ๋ฐฑํ„ฐ๋กœ ํ‘œํ˜„ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

activation Function

ํ™œ์„ฑํ•จ์ˆ˜๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
์™œ ์ด๊ฒŒ ํ•„์š”ํ• ๊นŒ์š”?

์•„๋ž˜ ์‚ฌ์ง„์„ ๋ด…์‹œ๋‹ค.

Dense Layerํ•˜๋‚˜๋Š” '์„ ํ˜• ํ•จ์ˆ˜' ์ž…๋‹ˆ๋‹ค.
์„ ํ˜• ํ•จ์ˆ˜๋ผ๋Š” ๊ฒƒ์€ ์ง์„ ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ฆ‰, ์„ ์˜ ํ˜•ํƒœ์ž…๋‹ˆ๋‹ค.
์ด๋Ÿฌํ•œ ์„ ํ˜• ํ•จ์ˆ˜๋งŒ์˜ ์ธต์„ ์Œ“์œผ๋ฉด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

๋ฌด์Šจ ๋ฌธ์ œ์ผ๊นŒ์š”?

์„ ํ˜•ํ•จ์ˆ˜๋งŒ์œผ๋กœ๋Š” ์ธต์„ ์Œ“๋Š” ์˜๋ฏธ๊ฐ€ ์—†์–ด์ง‘๋‹ˆ๋‹ค.

์ธต์„ ์Œ“๋Š” ์ด์œ ๋Š” ๋” ์–ด๋ ต๊ณ  ๋ณต์žกํ•œ ๋ฌธ์ œ๋“ค, ์ž์œจ ์ฃผํ–‰์ด๋‚˜ ์ฑ—๋ด‡ ์•ŒํŒŒ๊ณ ์™€๊ฐ™์€ ๋”์šฑ ๋ณต์žกํ•œ ๊ทธ๋Ÿฐ ๊ฒƒ๋“ค์„ ํ•ด๊ฒฐํ•˜๊ธฐ์œ„ํ•ด ๊นŠ์€ ์ธต์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๊ทผ๋ฐ, ์„ ํ˜•์œผ๋กœ ์ด๋ฃจ์–ด์ง„ Dense Layer๋“ค๋งŒ์œผ๋กœ ์Œ“์œผ๋ฉด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
y = ax + b ๋ฅผ ๋ช‡์‹ญ๋ฒˆ ๊ณฑํ•ด๋ดค์ž, ๊ฒฐ๊ตญ "์„ ํ˜•"์ž…๋‹ˆ๋‹ค. ์ง์„ ํ•˜๋‚˜ ๋ก ๊ทธ์–ด์„œ๋Š” ํ•ด๊ฒฐ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๊ฐ€ ๋งค์šฐ๋งค์šฐ ํ•œ์ •์ ์ž…๋‹ˆ๋‹ค.

์ฆ‰, ์ด๋Ÿฌํ•œ ์„ ํ˜•์€ ์–ด๋ ค์šด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ์—๋Š” ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ์–ด๋ ต๊ณ  ๋ณต์žกํ•œ ๋”์šฑ ๋‹ค์–‘ํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ณก์„ (๋น„์„ ํ˜•)์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ "๋น„์„ ํ˜•"ํ•จ์ˆ˜๋ฅผ ์ธต์˜ ์ค‘๊ฐ„์ค‘๊ฐ„์— ์ถ”๊ฐ€ํ•ด์ค๋‹ˆ๋‹ค.(ReLU์™€ ๊ฐ™์€, ReLU๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋˜ํ•œ ์„ค๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค.)
์ด๋ ‡๊ฒŒ ๋˜๋ฉด ์„ ํ˜• x ๋น„์„ ํ˜• = ๋น„์„ ํ˜• ์ด๋˜๋ฏ€๋กœ, ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋˜๋ฏ€๋กœ ์„ ํ˜•์œผ๋กœ ํ•ด๊ฒฐ ํ•˜์ง€๋ชปํ•˜๋Š” xor๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋œป๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

Softmax, Sigmoid์˜ Loss Function

๊ฐ๊ฐ ๋‹ค๋ฅธ ๋น„์šฉํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
๋น„์šฉํ•จ์ˆ˜(Cost Fuction)์ด๋ž€ wegiht์— ๋”ฐ๋ฅธ loss๋ฅผ ๋‚˜ํƒ€๋‚ธ ๊ทธ๋ž˜ํ”„ ์ž…๋‹ˆ๋‹ค.
์ด๋Ÿฌํ•œ ํ•จ์ˆ˜๋ฅผ ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•์„ ํ†ตํ•ด์„œ ํ•ด๋‹น ๊ทธ๋ž˜ํ”„์˜ loss๊ฐ’์ด ์ตœ์†Œ๊ฐ€ ๋˜๋Š” weight๋ฅผ ์ฐพ๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ๋ชจ๋ธ์€ update๋˜๊ฒŒ ๋˜์ฃ .

Softmax

Class๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ(2๊ฐœ ์ด์ƒ) ์žˆ์„ ๋•Œ ๋ถ„๋ฅ˜ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
ํ•ด๋‹น a, b, c๊ฐ€ ์žˆ์„ ๋•Œ (0.2, 0.3, 0,5)์™€ ๊ฐ™์ด ์ด ํ•ฉ์ด 1์ด ๋˜๋Š” ํ™•๋ฅ ๋กœ ๋‚˜์˜ค๊ฒŒ ๋˜๊ณ , ํ•ด๋‹น ํ™•๋ฅ ๊ฐ’ ์ค‘ ๊ฐ€์žฅ ํฐ C๋กœ ๋ถ„๋ฅ˜๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

sigmoid

Class๊ฐ€ 2๊ฐœ ์ฆ‰, ์ด์ง„ ๋ถ„๋ฅ˜ ๋ฌธ์ œ์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
a, b 2๊ฐœ์˜ Class๊ฐ€ ์žˆ์„ ๋•Œ 0.5๋ณด๋‹ค ํฌ๋ฉด 1, 0.5๋ณด๋‹ค ์ž‘์œผ๋ฉด 0์œผ๋กœ ๋ถ„๋ฅ˜๋˜๋„๋ก ํ•˜์—ฌ ์ด์ง„ ๋ถ„๋ฅ˜๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

Binary Cross Entropy & Categorical Cross Entropy

์‚ฌ์‹ค ๋‘˜ ์ฐจ์ด๋Š” ๊ฑฐ์˜ ์—†์Šต๋‹ˆ๋‹ค.
์™œ๋ƒ๋ฉด Cross Entropy์—์„œ ์•ž์— 2๊ฐœ ์„ ํƒํ•œ ๊ฒƒ์ด BCE์ด๊ธฐ ๋•Œ๋ฌธ์ด์ฃ .

ํ•˜์ง€๋งŒ, Softmax์—์„œ๋Š” Cross Entroy๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , BCE๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
์ด๋Š” ๋‹จ์ง€ ์ด์ง„๋ถ„๋ฅ˜์™€, ๋‹ค์ค‘ ๋ถ„๋ฅ˜์˜ ๋ฌธ์ œ์ด๊ธฐ์— ๋”ฐ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ ๋ฟ์ž…๋‹ˆ๋‹ค.
์—ฌ๋Ÿฌ๊ฐœ๋‹ˆ๊นŒ ์—ฌ๋Ÿฌ๊ฐœ ์“ฐ๋Š” ๊ฑฐ๊ณ  ์ด์ง„์ด๋‹ˆ๊นŒ 2๊ฐœ๋งŒ ๋ถ„๋ฅ˜ํ•˜๋ฉด๋˜๋Š” binary(์ด์ง„)์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Sparse Categorical Crossentropy๋Š”?

์›ํ•ซ ์ธ์ฝ”๋”ฉ์ด ๋˜์ง€์•Š์€ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด์„œ ์›ํ•ซ ์ธ์ฝ”๋”ฉ์„ ์ˆ˜ํ–‰ํ•ด์ฃผ๋Š” loss Function์ž…๋‹ˆ๋‹ค.
์›ํ•ซ ์ธ์ฝ”๋”ฉ์˜ ์ด์ ์— ๋Œ€ํ•ด์„œ๋Š” ์œ„์—์„œ ์„œ์ˆ  ํ–ˆ์Šต๋‹ˆ๋‹ค.

sigmoid๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ณณ์— sparse_binary_crossentroy์™€ ๊ฐ™์€ loss function์ด ์—†์„๊นŒ์š”?

๋„ค ์—†์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด์ง„ ๋ถ„๋ฅ˜๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š”๋ฐ ์žˆ์–ด, ๋งŒ์•ฝ ์›ํ•ซ์ธ์ฝ”๋”ฉ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ๋ผ๋ฉด Dense(2, activation=softmax)์™€ ๊ฐ™์ด ๋‹ค์ค‘๋ถ„๋ฅ˜์ด์ง€๋งŒ 2์ด์ƒ์ธ ๊ฒฝ์šฐ๋กœ ํ•˜์—ฌ ๋ถ„๋ฅ˜๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

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

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