TF -2 ์๋ ์ด 3๋ฌธ์ ๊ฐ ๋์ต๋๋ค.
2๋ฌธ์ ๋ ์ด๋ฏธ์ง ๋ถ๋ฅ
1๋ฌธ์ ๋ ์ ํ ๋ฐ์ดํฐ
์ฌ๊ธฐ์๋ ๊ธฐ๋ณธ ๊ฐ๋ ์ ์์๋ณด๊ณ ๋ค์ part 3์์ Fashion Mnist์ ๋ํด์ ์ค์ต์ ์งํํด ๋ณด๋๋ก ํฉ์๋ค.
๊ณผ์ ํฉ์ ๋ฐฉ์ง๋ฅผ ์ํด์ Valid data๊ฐ ์ต์ ์ Loss๋ฅผ ๊ฐ์ง๋ ๋ถ๋ถ์ ์ ์ฅํ๊ณ ์ด๋ฅผ ๋ถ๋ฌ์ค๋ ๋ฐฉ์์ผ๋ก ์ฌ์ฉํ ๊ฒ์ ๋๋ค.
early stopping์ ํ์ง์๊ณ , ํ์ต์ epoch๋๊น์ง ์ด๋ฃจ์ด์ง๋, ์ต์ ์ CheckPoint์ weight๋ฅผ ์ ์ฅํ๊ณ ์ด๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ์์ ๋๋ค.
๋๋ฌด ๋ง์ ํ์ต์ test data์ ๋ํด์ ๊ฐํ์ธ ๊ฒฐ๊ณผ๊ฐ ๋์ฌ ๊ฒ๋๋ค.
์ด ๋ถ๋ถ์ด ์ดํด๊ฐ ์๋๋ค๋ฉด, ๊ณผ์ ํฉ ํํธ๋ฅผ ์ดํด๋ณด์๊ธธ ๋ฐ๋๋๋ค.
garyscale ์์์ ๊ฒฝ์ฐ 1channel๋ก 0~255์ ํฝ์
๋ฐ์ดํฐ๋ฅผ ๊ฐ์ต๋๋ค.
0~255 ์ฌ์ด์ ๋ฒ์๋ฅผ 0~1์ฌ์ด์ ๋ฒ์๋ก ์ ๊ทํ(Normalization) ํด์ฃผ๋ ๊ณผ์ ์ด ํ์ํฉ๋๋ค.
์ํซ ์ธ์ฝ๋ฉ๊ณผ๋ ๋ค๋ฆ
๋๋ค. ๋จ์ํ ๋ฐ์ดํฐ๋ฅผ ์ ๊ทํ์
๋๋ค.
์ด ๊ณผ์ ์ ์ ํด์ฃผ๋๊ณ ์?
๊ทธ๋ฅ ํฉ๋๋ค. ํญ์ ํด์๊ณ , ๋ชจ๋๊ฐ ๊ทธ๋ ๊ฒ ํฉ๋๋ค.
๋ฒ์๊ฐ ํฌ๋ค๋ณด๋ฉด ๋ฏธ๋ถ๋์ ๊ณ์ฐ์ด ๊ทธ๋งํผ ํฌ๊ธฐ์ ๋ชจ๋ธ์ ํ์ต์ด ์ง๋ํ๊ฑฐ๋, ์ ๋๋ก ํ์ต์ด ์๋๋ ๋ถ์์ ํ๊ฒ ๋์ฌ ๊ฒฝ์ฐ๊ฐ ํฝ๋๋ค.
์ ๊ทํ๋ฅผ ์ํ์
๋, ๋ชจ๋ธ์ ์ ํ์ต๋๊ณ ๊ตด๋ฌ๊ฐ๋๋ค.
ํ์ง๋ง ์ ๊ทํ๋ฅผ ํ๋ค๋ฉด ๋ ํ์ต์ด ์ ๋๋ ๊ฒ์ ์ง์ ํ์ธ ํด ๋ณด์๋ฉด ์ฆ๋ช
๋๊ณ ์ดํด๋ฉ๋๋ค.
๊ทธ ์ ๋๋ก๋ง ์์๋ก์๋ค.
์ปดํจํฐ๋ 0, 1์ ์ซ์๋ฐ์ ๋ชจ๋ฅด๋ ์ ์
๋๋ค.
๊ทผ๋ฐ ๋ฌธ์, ๊ทธ๊ฒ๋ ํ๊ธ์ธ ๋ด, ์ฌ๋ฆ, ๊ฐ์, ๊ฒจ์ธ์ ์์๋จน์ผ๋ผ๊ณ ํ๊ณ ํ์ตํ๋ผ๊ณ ํ๋ฉด ์๊ฐ ์์๋จน๊ณ ํ์ตํ ๊น์?
๋ถ๊ฐ๋ฅํฉ๋๋ค. ํ๊ธ์ ์ธ์ ๋ฐฐ์ฐ๊ณ ์์์๊ฒ ์ต๋๊น?
๋ฐ๋ผ์ ์ด๋ฅผ ์ํซ ์ธ์ฝ๋ฉ์ด๋ผ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํฉ๋๋ค.
๋ค์๊ณผ ๊ฐ์ด n์ฐจ์์ ๋ฐฑํฐ๋ก ํํํ๋ฉด ๋ฉ๋๋ค.
ํ์ฑํจ์๋ผ๊ณ ํฉ๋๋ค.
์ ์ด๊ฒ ํ์ํ ๊น์?
์๋ ์ฌ์ง์ ๋ด
์๋ค.
Dense Layerํ๋๋ '์ ํ ํจ์' ์
๋๋ค.
์ ํ ํจ์๋ผ๋ ๊ฒ์ ์ง์ ์ ๋ํ๋ด๋ ์ฆ, ์ ์ ํํ์
๋๋ค.
์ด๋ฌํ ์ ํ ํจ์๋ง์ ์ธต์ ์์ผ๋ฉด ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.
๋ฌด์จ ๋ฌธ์ ์ผ๊น์?
์ ํํจ์๋ง์ผ๋ก๋ ์ธต์ ์๋ ์๋ฏธ๊ฐ ์์ด์ง๋๋ค.
์ธต์ ์๋ ์ด์ ๋ ๋ ์ด๋ ต๊ณ ๋ณต์กํ ๋ฌธ์ ๋ค, ์์จ ์ฃผํ์ด๋ ์ฑ๋ด ์ํ๊ณ ์๊ฐ์ ๋์ฑ ๋ณต์กํ ๊ทธ๋ฐ ๊ฒ๋ค์ ํด๊ฒฐํ๊ธฐ์ํด ๊น์ ์ธต์ด ํ์ํฉ๋๋ค.
๊ทผ๋ฐ, ์ ํ์ผ๋ก ์ด๋ฃจ์ด์ง Dense Layer๋ค๋ง์ผ๋ก ์์ผ๋ฉด ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.
y = ax + b ๋ฅผ ๋ช์ญ๋ฒ ๊ณฑํด๋ดค์, ๊ฒฐ๊ตญ "์ ํ"์
๋๋ค. ์ง์ ํ๋ ๋ก ๊ทธ์ด์๋ ํด๊ฒฐ ํ ์ ์๋ ๋ฌธ์ ๊ฐ ๋งค์ฐ๋งค์ฐ ํ์ ์ ์
๋๋ค.
์ฆ, ์ด๋ฌํ ์ ํ์ ์ด๋ ค์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ์๋ ๋ถ๊ฐ๋ฅํฉ๋๋ค.
์ฐ๋ฆฌ๋ ์ด๋ ต๊ณ ๋ณต์กํ ๋์ฑ ๋ค์ํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์๋ ๊ณก์ (๋น์ ํ)์ด ํ์ํฉ๋๋ค.
๋ฐ๋ผ์ "๋น์ ํ"ํจ์๋ฅผ ์ธต์ ์ค๊ฐ์ค๊ฐ์ ์ถ๊ฐํด์ค๋๋ค.(ReLU์ ๊ฐ์, ReLU๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๋ํ ์ค๋ช
ํ์ต๋๋ค.)
์ด๋ ๊ฒ ๋๋ฉด ์ ํ x ๋น์ ํ = ๋น์ ํ ์ด๋๋ฏ๋ก, ๊ฐ๋ฅํ๊ฒ ๋๋ฏ๋ก ์ ํ์ผ๋ก ํด๊ฒฐ ํ์ง๋ชปํ๋ xor๊ณผ ๊ฐ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค๋ ๋ป๊ณผ ๋์ผํฉ๋๋ค.
๊ฐ๊ฐ ๋ค๋ฅธ ๋น์ฉํจ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๋น์ฉํจ์(Cost Fuction)์ด๋ wegiht์ ๋ฐ๋ฅธ loss๋ฅผ ๋ํ๋ธ ๊ทธ๋ํ ์
๋๋ค.
์ด๋ฌํ ํจ์๋ฅผ ๊ฒฝ์ฌํ๊ฐ๋ฒ์ ํตํด์ ํด๋น ๊ทธ๋ํ์ loss๊ฐ์ด ์ต์๊ฐ ๋๋ weight๋ฅผ ์ฐพ๋ ๋ฐฉํฅ์ผ๋ก ๋ชจ๋ธ์ update๋๊ฒ ๋์ฃ .
Class๊ฐ ์ฌ๋ฌ๊ฐ(2๊ฐ ์ด์) ์์ ๋ ๋ถ๋ฅํ๋ ๊ฒ์
๋๋ค.
ํด๋น a, b, c๊ฐ ์์ ๋ (0.2
, 0.3
, 0,5
)์ ๊ฐ์ด ์ด ํฉ์ด 1์ด ๋๋ ํ๋ฅ ๋ก ๋์ค๊ฒ ๋๊ณ , ํด๋น ํ๋ฅ ๊ฐ ์ค ๊ฐ์ฅ ํฐ C๋ก ๋ถ๋ฅ๊ฐ ๋ฉ๋๋ค.
Class๊ฐ 2๊ฐ ์ฆ, ์ด์ง ๋ถ๋ฅ ๋ฌธ์ ์์ ์ฌ์ฉํฉ๋๋ค.
a, b 2๊ฐ์ Class๊ฐ ์์ ๋ 0.5๋ณด๋ค ํฌ๋ฉด 1, 0.5๋ณด๋ค ์์ผ๋ฉด 0์ผ๋ก ๋ถ๋ฅ๋๋๋ก ํ์ฌ ์ด์ง ๋ถ๋ฅ๋ฅผ ์ํํฉ๋๋ค.
์ฌ์ค ๋ ์ฐจ์ด๋ ๊ฑฐ์ ์์ต๋๋ค.
์๋๋ฉด Cross Entropy์์ ์์ 2๊ฐ ์ ํํ ๊ฒ์ด BCE์ด๊ธฐ ๋๋ฌธ์ด์ฃ .
ํ์ง๋ง, Softmax์์๋ Cross Entroy๋ฅผ ์ฌ์ฉํ๊ณ , BCE๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ด๋ ๋จ์ง ์ด์ง๋ถ๋ฅ์, ๋ค์ค ๋ถ๋ฅ์ ๋ฌธ์ ์ด๊ธฐ์ ๋ฐ๋ก ์ฌ์ฉํ๋ ๊ฒ ๋ฟ์
๋๋ค.
์ฌ๋ฌ๊ฐ๋๊น ์ฌ๋ฌ๊ฐ ์ฐ๋ ๊ฑฐ๊ณ ์ด์ง์ด๋๊น 2๊ฐ๋ง ๋ถ๋ฅํ๋ฉด๋๋ binary(์ด์ง)์ ์ฌ์ฉํ๋ ๊ฒ์
๋๋ค.
์ํซ ์ธ์ฝ๋ฉ์ด ๋์ง์์ ๋ฐ์ดํฐ์ ๋ํด์ ์ํซ ์ธ์ฝ๋ฉ์ ์ํํด์ฃผ๋ loss Function์
๋๋ค.
์ํซ ์ธ์ฝ๋ฉ์ ์ด์ ์ ๋ํด์๋ ์์์ ์์ ํ์ต๋๋ค.
sigmoid๋ฅผ ์ฌ์ฉํ๋ ๊ณณ์ sparse_binary_crossentroy์ ๊ฐ์ loss function์ด ์์๊น์?
๋ค ์์ต๋๋ค. ๋ฐ๋ผ์ ์ด์ง ๋ถ๋ฅ๋ฅผ ์ํํ๋๋ฐ ์์ด, ๋ง์ฝ ์ํซ์ธ์ฝ๋ฉ์ด ํ์ํ ๊ฒฝ์ฐ๋ผ๋ฉด Dense(2, activation=softmax)์ ๊ฐ์ด ๋ค์ค๋ถ๋ฅ์ด์ง๋ง 2์ด์์ธ ๊ฒฝ์ฐ๋ก ํ์ฌ ๋ถ๋ฅ๋ฅผ ์ํํ๋ฉด ๋ฉ๋๋ค.