๐ ๊ฐ์ ์ ๋ฆฌ
* Cousera ๊ฐ์ ์ค Andrew Ng ๊ต์๋์ Convolutional Neural Network ๊ฐ์๋ฅผ ๊ณต๋ถํ๊ณ ์ ๋ฆฌํ ๋ด์ฉ์ ๋๋ค.
* ์ด๋ฏธ์ง ์ถ์ฒ : Deeplearning.AI
Face Recognition
What is Face Recognition?
Face recognition ๋ฌธ์ ๋ verification๊ณผ ๊ตฌ๋ณ๋๋ค. Face verification์ 1:1 ๋น๊ต๋ผ๋ฉด Face Recognition์ 1:N ๋น๊ต๋ผ๋ ์ ์ด ๊ฐ์ฅ ํฐ ์ฐจ์ด์ ์ด๋ค.
One Shot Learning
One shot learning์ด๋ ํ ์ฌ์ง(example)๋ง ๋ณด๊ณ ๋ถ๋ฅ๋ฅผ ํ๋ ๊ฒ์ ๋งํ๋ค. Face recognition์์ one-shot learning์ ํด๊ฒฐํด์ผํ ๋ฌธ์ ์ค์ ํ๋์ด๋ค. ์๋์ ์์์์๋ ์ค๋ฅธ์ชฝ์ ์ฌ์ง์ ๋ณด๊ณ ์ผ์ชฝ์ ์ฌ์ง๊ณผ ๊ฐ์ ์ฌ๋์ธ ๊ฒ์ ํ๋ณํด์ผํ๋ค. Similarity function์ ์ฌ์ฉํด์ ๋ ์ด๋ฏธ์ง๊ฐ์ ์ ์ฌ๋๋ฅผ ๊ตฌํ๋ค. d(img1, img2)๋ก ํ์ํ๊ณ ํจ์ d์ ๊ฒฐ๊ณผ๊ฐ threshold ์ดํ์ด๋ฉด ๊ฐ์ ์ฌ๋, ์ด๊ณผ๋ฉด ๋ค๋ฅธ ์ฌ๋์ผ๋ก ํ๋ณํ๋ค
Siamese Network
์์์ ๋ ์ผ๊ตด ์ด๋ฏธ์ง๊ฐ์ ์ ์ฌ๋๋ฅผ ๊ตฌํ๋ ํจ์ d์ ๋ํด ์ธ๊ธํ์๋๋ฐ, ์ด๋ฅผ ์ํํ๋ ๋ฐฉ๋ฒ์ด Siamese Network ์ด๋ค. ๋ ๊ฐ์ ๋ค๋ฅธ ์ธํ์ ๋ํด ๋์ผํ conv layer๋ฅผ ์คํํ ๋ค์์ ๋น๊ตํ๋ ๊ฐ๋ ์ด Simese Network ์ด๋ค. ์ด๊ฑธ ์ ์ํ๋ ๋ ผ๋ฌธ์ด DeepFace์ธ๋ฐ ์ ์ ํ ๋ฒ ๋ณธ ์ ์ด ์๋ค. ์ด ๋ถ๋ถ์ ๋ํด์๋ ๋ค์์ ๋ ผ๋ฌธ ๋ฆฌ๋ทฐ๋ฅผ ์งํํด๋ณด๊ณ ์ถ๋ค. ์ถ๊ฐ์ ์ผ๋ก ๋ค์ ๋์ค๋ FaceNet์ ๋ํ ๋ ผ๋ฌธ๋ ํจ๊ป ์ฝ์ด๋ณด๊ธฐ๋ฅผ ์ถ์ฒํ์ จ๋ค.
์ธํ ์ด๋ฏธ์ง x์ ๋ํด์ f(x)๋ก ์ธ์ฝ๋ฉ์ ์งํํ๋ค. ๊ทธ ๋ค์ ๋ค๋ฅธ ์ฌ๋์ ๋ํด์๋ ๊ฑฐ๋ฆฌ ํจ์ d์ ๊ฐ์ ํฌ๊ฒ, ๊ฐ์ ์ฌ๋์ ๋ํด์๋ d์ ๊ฐ์ ์๊ฒ ํ์ต์ํจ๋ค. ์๋ฅผ ๋ค์ด ๊ฐ๊ฐ ๋ค๋ฅธ ์ฌ๋์ ์ด๋ฏธ์ง์ธ x1๊ณผ x2 ์ด๋ฏธ์ง๊ฐ ์์ ๋, x1๊ณผ x2๋ฅผ ์ธ์ฝ๋ฉํ์ฌ f(x1)๊ณผ f(x2)๋ก ํํํ๋ค. ๊ทธ๋ฐ ๋ค์ d(f(x1), f(x2))์ ๊ฐ์ ํฌ๊ฒ ํ์ฌ ํ์ต์ ์งํํ๋ค. N๋ช ์ ์ฌ๋์ด ์์ ๋ ๋ชจ๋ N๋ช ์ ๋ํด์ ๋๋ช ์ฉ ๋ฌถ์ด์ ์์ ๊ณผ์ ์ ์ํํด์ ํ์ต์ ์ํจ๋ค.
Triplet Loss
์ผ๊ตด ์ด๋ฏธ์ง์ ์ธ์ฝ๋ฉ์ ๋ํด์ ์ ๊ฒฝ๋ง์ ํ๋ผ๋ฏธํฐ๋ฅผ ์ ํ์ต์ํค๊ธฐ ์ํด์ Triplet Loss Function์ ์ฌ์ฉํ๋ค. ๋ ์ผ๊ตด์ ๋น๊ตํ๊ธฐ ์ํด์๋ Anchor image์ Positive image, Negative image 3๊ฐ๊ฐ ํ์ํ๋ค. Anchor image๋ ๊ธฐ์ค ์ด๋ฏธ์ง์ด๊ณ , Positive image๋ ๋์ผํ ์ธ๋ฌผ์ ์ด๋ฏธ์ง์ด๊ณ Negative image๋ ๋ค๋ฅธ ์ธ๋ฌผ์ ์ด๋ฏธ์ง์ด๋ค. Anchor์ Positive๊ฐ์ distance function์ ๊ฒฐ๊ณผ์ Anchor์ Negative ๊ฐ์ distance function์ ๊ฒฐ๊ณผ๋ฅผ ๋ด์ผํ๋๋ฐ, ์ด ๋ margin parameter์ธ α๊ฐ ์ฌ์ฉ๋๋ค. α๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๋ d(A, P)์ d(A, N)์ ๊ฐ์ด ๊ฐ์ผ๋ฉด ์๋์ ๋ค๋ฅด์ง๋ง ๋ ๊ฐ์ ์ฐจ๊ฐ 0 ์ดํ๋ผ๋ ๊ธฐ์ค์ ๋ง์กฑ์ํค๊ธฐ ๋๋ฌธ์ ์๋์ ๋ค๋ฅด๊ฒ ํ์ต๋ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ๋ฐ๋ผ์ 0.2์ margin parameter๋ฅผ ์ฌ์ฉํด์ผํ๋ค.
Face Verification and Binary Classification
Triplet loss ๋ง๊ณ ๋ Face verification์ ํ๋ ๋ฐฉ๋ฒ์ ๋ ์ฌ๋์ด ๊ฐ์์ง(1) ๋ค๋ฅธ์ง(0) ํ๋ณํ๋ binary classification ๋ฐฉ๋ฒ์ผ๋ก๋ ํด๊ฒฐํ ์ ์๋ค. ์ผ๊ตด์ ๋ํด ์ธ์ฝ๋ฉํ ์๋ฒ ๋ฉ ๊ฐ์ ๊ตฌํ๊ณ ์๋ฒ ๋ฉ ๊ฐ ๊ฐ์ ๋ก์ง์คํฑ ํ๊ท๋ฅผ ํ๋ค.
์ด ๊ณผ์ ์์ ๋งค๋ฒ ์ผ๊ตด์ ๋ํ ์๋ฒ ๋ฉ์ ๊ตฌํ ํ์๊ฐ ์๊ณ ์๋ฒ ๋ฉ๋ ๊ฐ์ DB์ ์ ์ฅํด์ ์ฌ์ฉํ ์ ์๋ค.
Neural Style Transfer
What is Neural Style Transfer?
What are deep ConvNets learning?
๊ฐ ๋ ์ด์ด์ ํ๋ ์ ๋๋ค์ ์๊ฐํํ์ฌ ์ด๋ค ํน์ง(feature)์ ๊ฐ์ง๊ณ ์๋์ง ์ดํด๋ณธ๋ค. layer 1์ผ๋ก ๊ฐ์๋ก ๋จ์ํ ํน์ง์ ๊ฐ๋๋ค.
Cost function
Style Transfer์์๋ content์ style ๋ ๊ฐ์ ๋ํ cost function์ด ํ์ํ๋ค. J_content์ J_style์ ํฉ์ด ์ต์ข cost function์ผ๋ก ์ฌ์ฉ๋๋ค.
Content Cost function
Style Cost Function
1D and 3D generalizations
๋๊ธ