๊ฐœ์š”

style transfer์—์„œ๋Š” input์˜ style์„ target์˜ style๊ณผ ๋งž๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ๋Š” ๋ฐฉ๋ฒ•์ด ํ•„์š”ํ•œ๋ฐ, ์ด์— ๋Œ€ํ•œ ๋ฐฉ๋ฒ•๋ก ์˜ ํ•ต์‹ฌ์„ ๋‹ด๋‹นํ•˜๋Š” Gram Matrix์— ๋Œ€ํ•ด ์•Œ์•„๋ณธ๋‹ค.

์ˆ˜์‹

๋จผ์ €, ๋…ผ๋ฌธ์—์„œ ์ œ์•ˆํ•˜๊ณ  ์žˆ๋Š” Gram Matrix์˜ ํ˜•ํƒœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

์šฐ๋ฆฌ๋Š” ์‰ฌ์šด ์ดํ•ด๋ฅผ ์œ„ํ•ด์„œ ์ฑ„๋„, ์ •๊ทœํ™” ๊ณผ์ •์„ ์ œ๊ฑฐํ•œ ์ฑ„๋กœ ์‚ดํŽด๋ณด์ž.

  • l : layer
  • F : Filter
  • i, j : Filter Index

์ˆ˜์‹์œผ๋กœ ๋“ค์–ด์˜จ๋‹ค๋ฉด ์—ฌ๊ธฐ๊นŒ์ง€๋งŒ ์ฝ์œผ๋ฉด ๋œ๋‹ค.

์˜๋ฏธ

์ด๋ฏธ์ง€ ๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•˜์ž. ํ•ด๋‹น ๋ฒกํ„ฐ๋Š” 2์ฐจ์› ์ด๋ฏธ์ง€๊ฐ€ ์žˆ์„ ๋•Œ, ์ด๋ฅผ 1์ฐจ์›์œผ๋กœ faltten ํ•œ ๊ฒƒ์ด๋‹ค. ์ด ์ด๋ฏธ์ง€์˜ ํฌ๊ธฐ๋ฅผ M=3์ด๋ผ ํ•˜์ž.

\\vec{x}=\[x_0, x_1, x_2\]

๊ฐ ์ด๋ฏธ์ง€๊ฐ€ ํ†ต๊ณผํ•˜๋Š” ํ•„ํ„ฐ(M=2)๊ฐ€ 2๊ฐœ ์žˆ๋‹ค๊ณ  ํ•˜์ž. ํ•ด๋‹น ํ•„ํ„ฐ๋Š” ๋กœ ํ‘œ๊ธฐํ•œ๋‹ค. ๊ฐ๊ฐ์˜ filter์— image๋ฅผ ํ†ต๊ณผ์‹œํ‚จ ๊ฒฐ๊ณผ๋ฅผ ๋ผ ํ•˜์ž.

\\mathbf{F} = \\begin{bmatrix} F_1(x_0) & F_1(x_1) & F_1(x_2) \\ F_2(x_0) & F_2(x_1) & F_2(x_2) \\end{bmatrix}

๋Š” ํ•„ํ„ฐ์— ํ”ฝ์…€์„ ๋„ฃ์—ˆ์„ ๋•Œ์˜ activation(response)์ด๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด Gram Matrix์˜ ์˜๋ฏธ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์•Œ์•„๋ณด์ž. ์ผ๋‹จ

\\begin{align} G^l\_{ij} &= \\sum\_{\text{all term}} \\begin{bmatrix} F\_{00}F\_{00} + F\_{01}F\_{01} + F\_{11}F\_{11} & F\_{00}F\_{10} + F\_{01}F\_{11} + F\_{02}F\_{12} \\ F\_{10}F\_{00} + F\_{10}F\_{01} + F\_{12}F\_{02} & F\_{10}F\_{10} + F\_{11}F\_{11} + F\_{12}F\_{12} \\end{bmatrix} \\ &= \\sum\_{\text{all term}} \sum_k \\begin{bmatrix} {F\_{0k}}^2 & F\_{0k}F\_{1k} \\ F\_{0k}F\_{1k} & {F\_{0k}}^2 \\end{bmatrix} \\end{align}

์–ด๋””์„œ ๋งŽ์ด ๋ณธ ๋ชจ์–‘์ด๋‹ค. pixel๋ณ„ filter activation์˜ Covariance์ด๋‹ค! ๊ฒฐ๊ณผ์ ์œผ๋กœ ๋ฐœ์ƒํ•˜๋Š” ๋ชจ๋“  ํ•ญ์„ ๋”ํ•˜๊ฒŒ๋˜๋ฉด ๋‹ค์Œ์˜ ์˜๋ฏธ์ด๋‹ค.

pixel์˜ filter activation๋“ค์— ๋Œ€ํ•œ covariance ๋ชจ๋“  ํ•ญ์˜ ํ•ฉ

์ด๋ ‡๊ฒŒ ๋ฐœ์ƒํ•œ ๊ฐ’์„ ๊ฐ€์ง€๊ณ  input์˜ filter๊ฐ€ ์›ํ•˜๋Š” target filter์˜ gram matrix ๊ฐ’๊ณผ ๊ฐ™๋„๋ก ํ•™์Šต์„ ์ง„ํ–‰ํ•œ๋‹ค.

์ตœ์ข…์ ์œผ๋กœ๋Š” ๋ฐ€๋„๋กœ ๋‚˜๋ˆ„์–ด์„œ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

Reference