๊น๋๊ด
(Dong Kwan Kim)
โ iD
Copyright ยฉ The Korean Institute of Electrical Engineers(KIEE)
Key words
Attention Mechanism, Code Generation, Screen Images, Convolutional Neural Network (CNN), Domain-Specific Language (DSL)
1. ์ ๋ก
์นํ์ด์ง ์์ฉ๋ค์ ์ผ๋ฐ์ ์ผ๋ก ํด๋ผ์ด์ธํธ ๊ณ์ธต, ์์ฉ ๋ก์ง ๊ณ์ธต, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ณ์ธต์ผ๋ก ๊ตฌ์ฑ๋๋ค. ํด๋ผ์ด์ธํธ ๊ณ์ธต์ ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด ์ฌ์ฉ์์ ์
๋ ฅ
๋ฐ ์ถ๋ ฅ ์์
์ ์ํํ๋ ๋ชจ๋๋ก ์นํ์ด์ง์ ๊ตฌ์ฑ์์, ์, ๋ชจ์ ๋ฑ์ ์คํ์ผ, ํ๋ฉด ๋ ์ด์์ ๋ฑ์ด ์ค์ํ ์์์ด๋ค. ๋ถ์ ์ ํ ํํ์ด์ง ํ๋ฉด ๊ตฌ์ฑ์
ํด๋น ์น์ฌ์ดํธ์ ์ฌ์ฉ ๊ฐ๋ฅ์ฑ(Userability)์ ๋จ์ดํธ๋ ค ์๋น์ค ํ์ง์ ๋์ ์ํฅ์ ๋ฏธ์น ์ ์๋ค.
์นํ์ด์ง ํ๋ฉด ๊ตฌ์ฑ์ ๋นIT์ ๋ฌธ๊ฐ์ธ ์น ๋์์ด๋๋ค์ ์ํด ์ ์๋๋ฉฐ ์น ๊ฐ๋ฐ์๋ค์ ํ๋ฉด ์ด๋ฏธ์ง๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์น ํ๋ก๊ทธ๋๋ฐ์ ์ํํ๋ค. ํํ์ด์ง ํ๋ฉด ์ด๋ฏธ์ง์์
HTML ๋ฑ์ ์์ค ์ฝ๋๋ฅผ ๊ฐ๋ฐํ๋ ์์
์ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ๊ณ ์ค๋ฅ ๋ฐ์์ด ๋น๋ฒํ ์ ์์ผ๋ฏ๋ก, ์๋ ์ฝ๋ ์์ฑ ๊ธฐ๋ฅ์ด ์ฌ์ฉ๋๋ค๋ฉด ๊ฐ๋ฐ ์์ฐ์ฑ์ ๋์ผ
์ ์์ ๊ฒ์ด๋ค.
๋ณธ ๋
ผ๋ฌธ์ ์นํ์ด์ง์ ํด๋ผ์ด์ธํธ ๋ชจ๋ ๊ฐ๋ฐ์ ์์ฐ์ฑ์ ๋์ด๊ธฐ ์ํด ์นํ์ด์ง ํ๋ฉด ์ด๋ฏธ์ง์์ ์์ค ์ฝ๋๋ฅผ ์๋ ์์ฑํ๋ ๋ฅ๋ฌ๋ ๋คํธ์ํฌ ๋ชจ๋ธ์ ์ ์ํ๋ค.
์ด๋ฏธ์ง์ ํ
์คํธ ์ฝ๋ ์ฒ๋ฆฌ์ ๋ฅ๋ฌ๋ ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ ์
๋ ฅ ์ด๋ฏธ์ง์ ๋ถํฉํ๋ ์์ค ์ฝ๋๋ฅผ ์๋ ์์ฑํ๊ณ ์ ํ๋ค. ์ด๋ฏธ์ง ์ฒ๋ฆฌ์ ๋ฐ์ด๋ ํฉ์ฑ๊ณฑ ์ ๊ฒฝ๋ง์
์ด์ฉํ์ฌ ์ด๋ฏธ์ง์ ํฌํจ๋ ์นํ์ด์ง ๊ตฌ์ฑ์์, ์คํ์ผ, ํ๋ฉด ๋ ์ด์์ ๋ฑ์ ๊ดํ ํน์ฑ์ ์ถ์ถํ๊ณ ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ค๊ฐ ๋จ๊ณ์ ํ
์คํธ ๊ธฐ๋ฐ ์์ค ์ฝ๋๋ฅผ
์์ฑํ๋ค. ์ค๊ฐ ๋จ๊ณ์ ์ธ์ด๋ Domain-Specific Language (DSL)๋ผ๊ณ ํ๋ฉฐ ํน์ ๋ชฉ์ ์ ์ํด ์ค๊ณ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ์ด๋ฏธ์ง-์ฝ๋
๋ณํ ๋ฌธ์ ์์ญ์์ ์ค์ ์์ฑํ ์ฝ๋์ ์ค๊ฐ ํํ ์ฝ๋๋ก HTML ๋ณด๋ค ๊ฐ๊ฒฐํ๊ณ ์ง๊ด์ ์ด๋ค. ์์ฑ๋ DSL ์ฝ๋๋ ๋ณํ ํ๋ก๊ทธ๋จ์ ์ํด HTML, CSS
๋ฑ์ ํํ์ด์ง ๊ด๋ จ ์ฝ๋๋ก ๋ณํ๋๋ค. ์ด๋ฏธ์ง์ ๋ณต์ก๋์ ๋ฐ๋ผ, ์ด๋ฏธ์ง์์ ์์ฑ๋ ์์ค ์ฝ๋๊ฐ ์์ฑ๋ ํํ๊ฐ ์๋ ์ ์์ง๋ง, ํ๋ฉด ์ด๋ฏธ์ง์์ ์ฒ์๋ถํฐ
์ฝ๋๋ฅผ ๊ฐ๋ฐํ๋ ๊ฒ๋ณด๋ค๋ ์ด์ ๋ฒ์ ์ ์ฝ๋ ์ ๊ณต์ด ์นํ์ด์ง ๊ฐ๋ฐ์ ์์ฐ์ฑ์ ๋์ผ ์ ์์ ๊ฒ์ด๋ค. ๋ณธ ๋
ผ๋ฌธ์ ๋ํ์ ์ธ ์ด๋ฏธ์ง-์ฝ๋ ๋ณํ ์์คํ
์ธ Pix2code
[1]์ ์ดํ
์
๊ณ์ธต [2]์ ์ถ๊ฐํ Pix2code-ATT ๋ชจ๋ธ์ ์๊ฐํ๋ค. ๋ํ ์๋กญ๊ฒ ์ถ๊ฐ๋ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ์ด์ฉํ์ฌ ์ ์๋ ๋ชจ๋ธ์ ํ์ฉ ๊ฐ๋ฅ์ฑ์ ํ์ธํ๋ค.
์ด๋ฏธ์ง-์ฝ๋ ๋ณํ์ ์ง์์ ์ธ ๊ด์ฌ์ ๋๋ ์ฐ๊ตฌ์ฃผ์ ๋ก ์๋กญ๊ฒ ์ ์๋๋ ๋ฅ๋ฌ๋ ๊ธฐ์ ์ ์ ์ฉํ์ฌ ๋์ฑ ํจ๊ณผ์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ํ ์ ์์ ๊ฒ์ด๋ค. ํนํ, ์นํ์ด์ง
ํ๋ฉด๋ฟ๋ง ์๋๋ผ ๋ชจ๋ฐ์ผ ์์คํ
์ ํ๋ฉด์๋ ์ ์ฌํ ๊ธฐ์ ๋ค์ด ์ ์ฉ๋ ์ ์๋ค. ๋ชจ๋ฐ์ผ ํ๋ซํผ์ ๋ฐ๋ผ ์ธ๋ถ์ ์ผ๋ก ํ๋ฉด ๊ตฌ์ฑ์์, ํ๋ฉด ๋ฐฐ์น ๊ด๋ฆฌ์, ํ๋ฉด
๋ฐฐ์น ๊ธฐ๋ฒ ๋ฑ์ด ๋ค๋ฅด์ง๋ง ์ผ๋ฐ์ ์ธ ์ฌํญ๋ค์ ๊ณต์ ๋ ์ ์์ ๊ฒ์ด๋ค.
๋ณธ ๋
ผ๋ฌธ์ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌ์ฑ๋๋ค. 2์ฅ์์๋ ์ด๋ฏธ์ง-์ฝ๋ ๋ณํ์ ๋ํ ๊ด๋ จ ์ฐ๊ตฌ๋ฅผ ๊ธฐ์ ํ๊ณ , 3์ฅ์์๋ ํ๋ฉด ์ด๋ฏธ์ง์์ ์ฝ๋๋ฅผ ์๋ ์์ฑํ๊ธฐ ์ํ
์ ์ ๋ชจ๋ธ์ ์๊ฐํ๋ค. 4์ฅ์ ์ ์๋ ๋ชจ๋ธ์ ์ด์ฉํ ์คํ ๊ฒฐ๊ณผ์ ๋ชจ๋ธ์ ์ฑ๋ฅ์ ํ๊ฐํ๋ค. 5์ฅ์ ๊ฒฐ๋ก ๊ณผ ํฅํ ์ฐ๊ตฌ ๋ฐฉํฅ์ ์ ์ํ๋ค.
2. ๊ด๋ จ ์ฐ๊ตฌ
์ด๋ฏธ์ง-์ฝ๋ ๋ณํ์ ๋ฅ๋ฌ๋์ ์ด๋ฏธ์ง ์บก์
๋ฌธ์ ์ ํ๊ณผ ์ ์ฌํ๋ค. ์ฃผ์ด์ง ์ด๋ฏธ์ง๋ฅผ ์ค๋ช
ํ๋ ํ
์คํธ๋ฅผ ์์ฑํ๋ฏ์ด ์ด๋ฏธ์ง์ ๋ํ ์์ค ์ฝ๋๋ฅผ ์์ฑํ๋ค.
Tony Beltramelli๊ฐ ๋ฐํํ Pix2code ๋ชจ๋ธ์ ๋ฅ๋ฌ๋ ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง์์ ํ๋ก๊ทธ๋จ ์ฝ๋๋ฅผ ์์ฑํ๋ ๋ํ์ ์ธ ๋คํธ์ํฌ ๋ชจ๋ธ์ด๋ฉฐ
๊ทธ ํ ์ ์ฌํ ๋ฒ์ฃผ์ ์ํ๋ ์ฐ๊ตฌ๋ค์ด Pix2code์ ๋ชจ๋ธ์ด๋ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ๋ณ๊ฒฝํ ์ฐ๊ตฌ๋ฐฉ๋ฒ์ ์๊ฐํ๊ณ ์๋ค. Pix2code ๋ชจ๋ธ์
์นํ์ด์ง ์ด๋ฏธ์ง์์ DSL ์ฝ๋๋ฅผ ์๋ ์์ฑํ๋ค. DSL ์ฝ๋๋ ์๋ ๋ณํ ๋ชจ๋์ ์ํด HTML ์ฝ๋๋ก ์๋ ๋ณํ๋๋ค. Pix2code๋ ์ด๋ฏธ์ง ์ฒ๋ฆฌ๋ฅผ
์ํ CNN๊ณผ ํ
์คํธ ์ํ์ค์ธ DSL ์ฝ๋ ์ฒ๋ฆฌ๋ฅผ ์ํ LSTM ๋ชจ๋ธ๋ก ๊ตฌ์ฑ๋๋ค.
Pix2code ์์คํ
์ ์ฑ๋ฅ ํฅ์์ ์ํด ๋ณํ๋ ํํ์ ์ธ์ฝ๋-๋์ฝ๋ ๋ชจ๋ธ์ด ์ ์๋๊ณ ์๋ค. Y. Liu et al. [3]์ Pix2code์ ๋์ฝ๋ ๋ชจ๋์ ๊ตฌ์ฑํ๋ LSTM ๊ณ์ธต ๋์ BiLSTM ๋ชจ๋ธ์ ์ฌ์ฉํ์๋ค. W. Zhang et al. [4]์ Rapid Combined Model์ ํตํด ๊ธฐ์กด ์ธ์ฝ๋-๋์ฝ๋ ๊ธฐ๋ฐ์ ์ด๋ฏธ์ง-์ฝ๋ ๋ณํ ๋ชจ๋ธ์ ํ์ต ์๊ฐ์ ๋จ์ถํ๊ณ ์์ฑ๋ ์ฝ๋์ ์ ํ๋๋ฅผ ๋์ด๊ณ ์
ํ์๋ค.
์ด๋ฏธ์ง-์ฝ๋ ๋ณํ ๋ชจ๋ธ์ ํ์ต์ฉ ๋ฐ์ดํฐ ์ธํธ์ ๋ฐ๋ผ ํฌ๊ฒ ์ํฅ์ ๋ฐ๋ ์ง๋ํ์ต ๊ธฐ๋ฐ ๋ชจ๋ธ์ด๋ฏ๋ก ์์ง์ ๋ฐ์ดํฐ ์ธํธ๊ฐ ๋ชจ๋ธ์ ์ฑ๋ฅ์ ๊ฒฐ์ ํ๋ ์ค์ ์์
์ค ํ๋์ด๋ค. ์์์
์ผ๋ก ์์ฑ๋ ๋ฐ์ดํฐ ์ธํธ [5]๋ ํ๋ฐฑ์ ์ค์ผ์น ์ด๋ฏธ์ง [6, 7]๋ฅผ ํ์ต ๋ฐ ์ํ ๋ฐ์ดํฐ๋ก ์ฌ์ฉํ๊ธฐ๋ ํ๋ค.
์ด๋ฏธ์ง-์ฝ๋ ๋ณํ ๋ฌธ์ ๋ ์ธ์ฝ๋-๋์ฝ๋ ๊ธฐ๋ฐ์ ๋ฅ๋ฌ๋ ๋ชจ๋ธ๊ณผ ๋๋ถ์ด ์ด๋ฏธ์ง ๋ด์ ๊ฐ์ฒด ํ์ง์ฉ ์๊ณ ๋ฆฌ์ฆ์ธ Faster R-CNN, YOLO ๋ฑ๊ณผ ๋ ์ด์์
์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉํ ํด๊ฒฐ์ฑ
์ด ์ ์๋๋ค [8,9,10,11]. ๋ฒํผ, ํ
์คํธ, ํค๋, ํผ ๋ฑ ์นํ์ด์ง ์ด๋ฏธ์ง์ ํฌํจ๋ ๊ตฌ์ฑ์์๋ฅผ ๊ฐ์ฒด ํ์ง ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์๋ณํ๊ณ ํํ์ด์ง ์ ์ฒด ๊ตฌ์กฐ๋ ๋ ์ด์์ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์ถ์ถํ๋ค.
K. Kikuchi et al. [12]์ ๋จ์ ๊ตฌ์กฐ๋ณด๋ค๋ ๋ค๋ฅธ ์ปดํฌ๋ํธ๋ค์ ํฌํจํ๋ ์ปจํ
์ด๋ ์ปดํฌ๋ํธ๋ค์ ์ค์ฌ์ผ๋ก ์ต์ ํ ๊ธฐ๋ฐ ๊ณ์ธต์ ๋ ์ด์์ ๋ชจ๋ธ์ ์ ์ํ๋ค. D. S. Baule et
al. [13]์ ๊ธฐ์กด ๊ธฐ๊ณํ์ต/๋ฅ๋ฌ๋ ๊ธฐ๋ฐ์ ์ด๋ฏธ์ง-์ฝ๋ ๋ณํ ์๊ณ ๋ฆฌ์ฆ, ๋ชจ๋ธ, ํ์ต ๋ฐ์ดํฐ ์ ํ, ์ฑ๋ฅ ํ๊ฐ ๋ฐฉ๋ฒ์ ์ฅ๋จ์ ์ ๋น๊ต ์ค๋ช
ํ๋ค. ์ด๋ฏธ์ง-์ฝ๋ ๋ณํ
๋ชจ๋ธ์ ์นํ์ด์ง๋ฟ๋ง ์๋๋ผ ์๋๋ก์ด๋๋ iOS์ ์ ์ฉ๋ ์ ์๋ค. ๋ชจ๋ฐ์ผ ์ด์ ํ๋ซํผ์ ๋ฐ๋ผ ํ๋ฉด์ ๊ตฌ์ฑํ๋ ์ปดํฌ๋ํธ๊ฐ ๋ค๋ฅด์ง๋ง, ์นํ์ด์ง์ ํ์ฉ๋
๋ฐฉ๋ฒ๋ค์ด ์ ์ฉ๋ ์ ์์ ๊ฒ์ด๋ค [14].
3. Pix2code-ATT ๋ชจ๋ธ
๋ณธ ์ฅ์์๋ ์ด๋ฏธ์ง-์ฝ๋ ๋ณํ์ ์ํ Pix2code ๋ชจ๋ธ์ ์ดํ
์
๋ชจ๋์ ์ถ๊ฐํ Pix2code-ATT ๋ชจ๋ธ์ ๋ํด ์ค๋ช
ํ๋ค.
3.1 Pix2code-ATT ์๊ฐ
๊ทธ๋ฆผ 1์ ์ด๋ฏธ์ง์์ ํด๋นํ๋ ์ฝ๋๋ฅผ ์์ฑํ๋ ์ด๋ฏธ์ง-์ฝ๋ ๋ณํ ๋ชจ๋ธ์ ๋ํ๋ธ๋ค. ์ฃผ์ด์ง ์น ์ด๋ฏธ์ง๋ ์ค์ ์น ์ด๋ฏธ์ง์ ๋นํด ๊ฐ์ํ ํํ์ด๋ฉฐ ์์ฑ๋ ์ฝ๋๋
ํด๋น ์ด๋ฏธ์ง์ ๋ถํฉํ๋ DSL ์ฝ๋์ด๋ค. DSL ์ฝ๋๋ ํน์ ๋ชฉ์ ์ ์ํด ์ค๊ณ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ์ค์ ์์ฑํ ์ฝ๋์ ์ค๊ฐ ํํ์ด๋ฉฐ HTML ๋ณด๋ค
๊ฐ๊ฒฐํ๊ณ ์ง๊ด์ ์ด๋ค. ์ด๋ฏธ์ง์์ HTML ์ฝ๋๋ฅผ ์ง์ ์์ฑํ๋ ๊ฒ๋ณด๋ค DSL ์ฝ๋๋ฅผ ์์ฑํจ์ผ๋ก์จ ์ฝ๋ ์์ฑ์ด ๋ณด๋ค ๊ฐ๊ฒฐํด์ง๊ณ ๋ํ ์ฐจํ์ HTML์ด
์๋ ๋ค๋ฅธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์์ฑํ ์ ์์ด ํ์ฅ์ฑ ์ธก๋ฉด์์ ํจ๊ณผ์ ์ด๋ค. ์๋ฅผ ๋ค์ด, ์๋๋ก์ด๋ ์ฝ๋๋ iOS ์ฝ๋๋ก ํ์ฅํ ์ ์๋ค. ๋ํ, ์์ฑ
์ธ์ด์ ๋ฐ๋ผ DSL์ ํ์ฅํ ์ ์๋ค. DSL ์ฝ๋๋ฅผ HTML ์ฝ๋๋ก ๋ณํํ๋ ์์
์ ์ฌ์ ์ ์ ์๋ ํ
ํ๋ฆฟ์ ์ํด ์ฒ๋ฆฌ๋๋ค.
๊ทธ๋ฆผ 1. ์นํ์ด์ง ์ด๋ฏธ์ง์์ ์์ค ์ฝ๋ ์์ฑ
Fig. 1. Generating Source Code from Webpage Images
3.2 Pix2code-ATT ๊ตฌ์กฐ
๊ทธ๋ฆผ 2๋ Pix2code-ATT ๋ชจ๋ธ์ ๊ตฌ์กฐ๋ฅผ ๋ํ๋ธ๋ค. Pix2code๋ฅผ ๊ตฌ์ฑํ๋ ์ธ์ฝ๋์ ๋์ฝ๋๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ดํ
์
๋ชจ๋์ ์ถ๊ฐํ๋ค. ์ด๋ฏธ์ง ๋ฐ์ดํฐ๋
CNN์ ํตํด, DSL ์ฝ๋๋ LSTM ๋ชจ๋์ ํตํด ์ธ์๋๋ค. ์ถ์ถ๋ ์ด๋ฏธ์ง ํน์ฑ๊ณผ DSL ํน์ฑ์ ํน์ฑ ์ฐ๊ฒฐ(Feature Concatenation)
๊ณผ์ ํ ๋์ฝ๋ ๊ธฐ๋ฅ์ LSTM ๋ชจ๋์ ์
๋ ฅ์ผ๋ก ์ฌ์ฉ๋๋ค. LSTM ๋์ฝ๋๋ ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ด๋ฏธ์ง ์ปดํฌ๋ํธ์ ํด๋นํ๋ DSL ํ ํฐ์ ์์ฑํ๋ค. ์ถ๊ฐ๋
์ดํ
์
๋ชจ๋์ LSTM์ ์ฅ๊ธฐ ์์กด์ฑ(Long-term Dependencies) ๋ฌธ์ [15]์ ๋ํ ํด๋ฒ์ด ๋ ์ ์์ ๊ฒ์ด๋ค. LSTM์ด RNN์ ์ฅ๊ธฐ ์์กด์ฑ ๋ฌธ์ ์ ๋ํ ํด๋ฒ์ผ๋ก ์ ์๋์์ง๋ง, ์ฌ์ ํ ๊ฐ์ ๋ฌธ์ ์ ์ ๊ฐ์ง๋ค. ์ดํ
์
๋ชจ๋์
์
๋ ฅ ์ํ์ค ๋ด์ ๊ฐ ํ ํฐ์ ๋ํด ๊ฐ์ค์น๋ฅผ ๋ถ์ฌํ์ฌ ์ค์ํ ์ ๋ณด์ ๋ ์ง์คํ๊ณ , ๋ ์ค์ํ ์ ๋ณด์๋ ๋ ์ง์คํ๋๋ก ํ๋ค. ์ดํ
์
๋ชจ๋์ LSTM์
์ฅ๊ธฐ ์์กด์ฑ ๋ฌธ์ ์ ๋ณด๋ค ํจ๊ณผ์ ์ผ ๊ฒ์ผ๋ก ๊ธฐ๋๋๋ค.
๊ทธ๋ฆผ 2. Pix2code-ATT ์ ์ฒด ๊ตฌ์กฐ
Fig. 2. The Overall Architecture of Pix2code-ATT
๊ทธ๋ฆผ 3์ Pix2code-ATT ๋ชจ๋ธ์ ๊ตฌ์ฑํ๋ ์นํ์ด์ง ์ด๋ฏธ์ง ์ฒ๋ฆฌ๋ฅผ ์ํ CNN ๋ชจ๋ ๊ณ์ธต๊ณผ ์ถ๋ ฅ ํ์์ ๋ํ๋ธ๋ค. ํ๋ฉด ์ด๋ฏธ์ง์ ํน์ฑ ์ถ์ถ์ ์ํด
์ผ๋ผ์ค ํ๋ ์์ํฌ๊ฐ ์ ๊ณตํ๋ Conv2D ๊ณ์ธต์ 4๊ฐ ์ฌ์ฉํ๋ค. ์
๋ ฅ ๋ฐ์ดํฐ์ ๊ณต๊ฐ ์ฐจ์์ ์ค์ด๊ธฐ ์ํด ์ต๋ ํ๋ง์ด ์ฌ์ฉ๋๊ณ ๋ชจ๋ธ์ ๊ณผ์ ํฉ์ ๋ฐฉ์งํ๊ธฐ
์ํด dropout ๊ณ์ธต์ ์ฌ์ฉํ์๋ค. 4๊ฐ์ Conv2D ๊ณ์ธต์์ ์ถ์ถ๋ ํน์ฑ๋งต์ flatten ๊ณ์ธต์์ 1์ฐจ์ ๋ฒกํฐ๋ก ๋ณํ๋๋ฉฐ ์์ ์ฐ๊ฒฐ(Fully-connected)
์ ๊ฒฝ๋ง ๊ณ์ธต์ผ๋ก ์
๋ ฅ๋๋ค.
๊ทธ๋ฆผ 3. Pix2code-ATT์ CNN ๊ตฌ์กฐ
Fig. 3. The Architecture of the CNN in Pix2code-ATT
๊ทธ๋ฆผ 4๋ Pix2code-ATT์ ์ฌ์ฉ๋ LSTM ์
์ ๋ํ ์๊ฐ์ ํํ๊ณผ ํด๋นํ๋ ์์์ ๋ํ๋ธ๋ค [16]. LSTM ๊ตฌ์กฐ์ ํน์ฑ์ ์
๋ ฅ ๊ฒ์ดํธ(it), ๋ง๊ฐ ๊ฒ์ดํธ(ft), ์ถ๋ ฅ ๊ฒ์ดํธ(ot)๋ฅผ ํตํด ์ ๋ณด์ ํ๋ฆ์ ์กฐ์ ํ๋ ๊ฒ์ดํธ(Gate) ๋ฉ์นด๋์ฆ์
์ฌ์ฉํ๋ค. ฯ์ ฯ๋ ํ์ฑํํจ์๋ก ๊ฐ๊ฐ ์๊ทธ๋ชจ์ด๋์ ํ์ดํผ๋ณผ๋ฆญํ์ ํธ๋ฅผ ๋ํ๋ธ๋ค. ์
์ํ(Cell State, ct)๋ ์ด์ ์ํ์์ ํ์ฌ ์ํ๋ก
์ ๋ฌ๋๋ ๋ฉ๋ชจ๋ฆฌ ๊ธฐ๋ฅ์ ์ํํ๋ฉฐ ์
๋ ฅ ๊ฒ์ดํธ์ ๋ง๊ฐ ๊ฒ์ดํธ๋ฅผ ํตํด ์กฐ์ ๋ ์ ๋ณด๋ค์ด ๋ํด์ ธ ์๋ก์ด ์
์ํ๋ฅผ ์์ฑํ๋ค.
๊ทธ๋ฆผ 4. Long Short-Term Memory(LSTM) ์
์ ๊ตฌ์กฐ
Fig. 4. The Architecture of Long Short-Term Memory(LSTM) Cell
๊ทธ๋ฆผ 5. ํธ๋์คํฌ๋จธ ๋ธ๋ก์ ๊ตฌ์กฐ
Fig. 5. The Architecture of the Transformer Block
๊ทธ๋ฆผ 5๋ Pix2code-ATT ๋ชจ๋ธ์์ ์ฌ์ฉํ ํธ๋์คํฌ๋จธ ๋ธ๋ก๊ตฌ์กฐ [17]๋ฅผ ๋ํ๋ธ๋ค. ํธ๋์คํฌ๋จธ ๋ธ๋ก์ MultiHeadAttention, LayerNormalization, Dense, Dropout ๋ ์ด์ด๋ก ๊ตฌ์ฑ๋๋ค.
MultiHeadAttention ๋ ์ด์ด๋ Self-Attention ๊ตฌํ์ ์ํด ์ฌ์ฉ๋๋ฉฐ ์
๋ ฅ ๋ฐ์ดํฐ์ ๋ํด ๋ค์ค ํค๋ ์ดํ
์
์ ์ํํ๋ค. ํ์ดํผํ๋ผ๋ฏธํฐ์ธ
num_heads๋ ์ดํ
์
ํค๋ ๊ฐ์๋ฅผ ๋ํ๋ด๋ฉฐ ์คํ์์ 8๊ฐ์ ํค๋๊ฐ ์ฌ์ฉ๋๋ค. ์ด๋ 8๊ฐ์ ๋ณ๋ ฌ ์ดํ
์
์ด ์ด๋ฃจ์ด์ง์ ๋ํ๋ธ๋ค. ์
๋ ฅ ๋ฐ์ดํฐ์ ๋ํด
๊ฐ๊ฐ์ ์ดํ
์
๊ฐ์ค์น๋ฅผ ๊ณ์ฐํ๊ณ , ๊ฐ์คํฉ์ ํตํด ์ดํ
์
๊ฒฐ๊ณผ๋ฅผ ์์ฑํ๋ค. ๋ณ๋ ฌ ์ดํ
์
์ ๋ชจ๋ ์ํํ ํ ๋ชจ๋ ์ดํ
์
ํค๋๋ฅผ ์ฐ๊ฒฐ(Concatenate)ํ๋ค.
LayerNormalization ๋ ์ด์ด๋ ์
๋ ฅ ๋ฐ์ดํฐ์ ํ๊ท ๊ณผ ํ์คํธ์ฐจ๋ฅผ ์ฌ์ฉํ์ฌ ๋ ์ด์ด ์ ๊ทํ๋ฅผ ์ํํ๋ค. ์
๋ ฅ ๋ฐ์ดํฐ์ ๋ํด ์์ ์ฐ๊ฒฐ ์ ๊ฒฝ๋ง์
์ ์ฉํ๋ Dense ๋ ์ด์ด๊ฐ ์ฌ์ฉ๋๋ฉฐ ํ์ฑํ ํจ์๋ก๋ ReLU๋ฅผ ์ฌ์ฉํ๋ค. Dense ๋ ์ด์ด ์ดํ์ Dropout ๋ ์ด์ด๋ฅผ ํตํด ์
๋ ฅ ๋ฐ์ดํฐ์ ์ผ๋ถ๋ฅผ
๋ฌด์์๋ก ์ ํํ์ฌ ๋๋กญ์์์ ์ํํจ์ผ๋ก์จ ๊ณผ์ ํฉ ๋ฐฉ์ง ํจ๊ณผ๋ฅผ ๊ธฐ๋ํ๋ค.
4. Pix2code-ATT ๋ชจ๋ธ ์ฑ๋ฅ ํ๊ฐ
์ด๋ฏธ์ง-์ฝ๋ ๋ณํ ๋ฌธ์ ์ ๋ํ Pix2code-ATT ๋ชจ๋ธ์ ์ ์ฉ ๊ฐ๋ฅ์ฑ์ ๊ฒ์ฆํ๊ธฐ ์ํด ์คํ์ ์ํํ์๋ค. ์ฝ๋ ์์ฑ ์คํ์ ์ฌ์ฉ๋ ๋ฐ์ดํฐ ์ธํธ์
๋ฐ๋ผ ์คํโ
๊ณผ ์คํโ
ก๋ก ๋ถ๋ฅ๋๋ค. ์คํโ
์์๋ Pix2code ๋ชจ๋ธ์ด ์ ๊ณตํ๋ ๊ธฐ๋ณธ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ์ฌ์ฉํ์ผ๋ฉฐ ์คํโ
ก์์๋ ๊ธฐ๋ณธ ๋ฐ์ดํฐ ์ธํธ์ ์๋ก์ด
๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ์ฌ ์คํํ์๋ค. ์๋กญ๊ฒ ์ถ๊ฐ๋ ๋ฐ์ดํฐ๋ ๊ธฐ๋ณธ ๋ฐ์ดํฐ์ ์๋ก์ด row๋ฅผ ์ถ๊ฐํ์ฌ ๋ ๋ณต์กํ๊ฒ ํฉ์ฑํ ๋ฐ์ดํฐ์ด๋ค. ์คํ์ ์ํด ํ์ด์ฌ 3.8๊ณผ
ํ
์ํ๋ก์ฐ2 2.12 ๋ฒ์ ์ด ์ฌ์ฉ๋์์ผ๋ฉฐ Intel(R) Core i9-10900@3.7GHz์ GPU NVIDIA GeForce RTX 3093
(24 GB)์์ ์ํํ์๋ค.
4.1 ์คํโ
: Pix2code ๋ฐ์ดํฐ ์ธํธ์ ๋ํ ์ฑ๋ฅ ํ๊ฐ
์คํโ
์์๋ Pix2code์์ ์ ๊ณตํ๋ ๊ธฐ๋ณธ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ์ฌ์ฉํ๋ค. Pix2code-ATT ๋ชจ๋ธ ํ์ต์ ์ํด 1,219๊ฐ ์ด๋ฏธ์ง์ ์ด๋ฏธ์ง์ ํด๋นํ๋
DSL ์ฝ๋๊ฐ ์ฌ์ฉ๋์์ผ๋ฉฐ ๋ชจ๋ธ์ ์ํ์ ์ํด 523๊ฐ์ ์ด๋ฏธ์ง๊ฐ ์ฌ์ฉ๋์๋ค. ์ด๋ฏธ์ง์์ ์์ฑ๋ HTML ์ฝ๋๋ Bootstrap CSS๋ฅผ ๋ฐ๋ฅธ๋ค.
ํ ์ฅ์ ์ด๋ฏธ์ง๋ ํ๋์ ํํ์ด์ง ํ๋ฉด์ ๋ํ๋ด๋ฉฐ ํฌ๊ฒ header, ์ฌ๋ฌ ๊ฐ์ row, footer๋ก ๊ตฌ์ฑ๋๋ค. ๊ฐ ๊ตฌ์ฑ์์๋ HTML์ div
ํ๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ฉด์ ๊ตฌ์ฑํ๋ค. header๋ ์ฌ๋ฌ ๊ฐ์ ๋ฒํผ์ผ๋ก ๊ตฌ์ฑ๋๋ฉฐ ํ์ฑํ ํน์ ๋นํ์ฑํ๋๋ค. row๋ 1๊ฐ, 2๊ฐ, ๋๋ 4๊ฐ์ ์ปฌ๋ผ์ผ๋ก
๊ตฌ์ฑ๋๋ค. ๊ฐ ์ปฌ๋ผ์ small-title, text, ๋ฒํผ์ผ๋ก ๊ตฌ์ฑ๋๋ค. ์ด๋ฏธ์ง๊ฐ ๋ํ๋ด๋ ํ๋ฉด ๊ตฌ์ฑ์ ์ค์ ํํ์ด์ง์ ๋นํด ๋จ์ํ ํํ์ด์ง๋ง ์ ์ํ๋
๋ชจ๋ธ์ ์ฑ๋ฅ์ ํ๊ฐํ๊ธฐ์ ์ ์ ํ ๊ฒ์ผ๋ก ํ๋จ๋๋ค.
๊ทธ๋ฆผ 6์ ํ๋ จ ๋ฐ ์ํ ๋ฐ์ดํฐ ์ธํธ์ ํฌํจ๋ row ์ปดํฌ๋ํธ ๊ฐ์๋ฅผ ๋ํ๋ธ๋ค. DSL ํ์ผ์ ๋ฐ๋ผ ์ปดํฌ๋ํธ row ๊ฐ์๋ ํ๋์์๋ถํฐ ์
๊น์ง ๋ถํฌํ๋ค.
ํ๋ จ์ฉ ์ด๋ฏธ์ง์์ ์ธ ๊ฐ์ row๋ก ๊ตฌ์ฑ๋ ๋ฐ์ดํฐ์ ๋น์จ์ 76%์ด๊ณ , ์ ์ฒด ์ํ์ฉ ์ด๋ฏธ์ง์์ ์ธ ๊ฐ์ row ๊ตฌ์ฑ๋ ์ด๋ฏธ์ง๋ 80%์ ํด๋นํ๋ค.
์ด๋ฏธ์ง์ ํฌํจ๋ row ์ปดํฌ๋ํธ์ ์๊ฐ ๋ง์์๋ก ๋ณต์ก๋๊ฐ ์ฆ๊ฐํ๋ฉฐ ์ธ์์ด ์คํจํ๋ ๋ถ๋ถ์ด ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ด ๋์์ง ์ ์๋ค. ์ด๋ฏธ์ง์ ๋ถ๋ถ ์ธ์ ์คํจ๋
์์ฑ ์ฝ๋์ ๋ฏธ์์ฑ์ ์ด๋ํ๋ค. row๊ฐ 1, 2, 3๊ฐ์ธ ๊ฒฝ์ฐ, row์ ํฌํจ๋ ์ปดํฌ๋ํธ๋ ์ต์ 3๊ฐ์์ ์ต๋ 36๊ฐ ๊ตฌ์ฑ๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก row
๊ฐ์๊ฐ ๋ง๊ณ ๋ด๋ถ ๊ตฌ์ฑ ์ปดํฌ๋ํธ๊ฐ ๋ง์ ๊ฒฝ์ฐ, ํด๋น ์ด๋ฏธ์ง์ ๋ํ ์ธ์๋ฅ ์ด ๋จ์ด์ง ์ ์๋ค.
๊ทธ๋ฆผ 6. ํ๋ จ ๋ฐ ์ํ ๋ฐ์ดํฐ ์ธํธ์ ํฌํจ๋ row ๊ฐ์
Fig. 6. The Number of Rows in the Training and Testing Datasets
๊ทธ๋ฆผ 7์ ๊ธฐ๋ณธ ๋ฐ์ดํฐ ์ธํธ์ ์ ์ฉ๋ Pix2code์ Pix2code-ATT ๋ชจ๋ธ์ ์ํฌํฌ ๊ฐ์ ๋ฐ๋ฅธ ํ์ต ์์ค์ ๋ํ๋ธ๋ค. ๋ชจ๋ธ์ ํ์ต ์์ ํ ์ํฌํฌ
๊ฐ์ด 5๊ฐ ๋๋ ์์ ๊น์ง ํ์ต ์์ค์ด ๊ธํ๊ฒ ๋จ์ด์ง๊ณ ์์์ ์ ์ ์์ผ๋ฉฐ ๋๋ต 9.5 ๋์ ์ ํ๋ (Accuracy)๋ฅผ ์ ์งํ๋ค. ์ดํ ์ํฌํฌ์๋
ํ์ต ์์ค์ ํฐ ๋ณํ๊ฐ ์์ด ์ํฌํฌ 70์ด ๋ ๋๊น์ง ์ผ์ ํ ๊ฐ์ ์ ์งํจ์ ์ ์ ์๋ค. ์ฆ, ์ํฌํฌ ์ด๊ธฐ์ ๋ ๋ชจ๋ธ์ ๋ํ ํ์ต์ด ์ถฉ๋ถํ ์ด๋ฃจ์ด์ง๋ฉฐ
์ํฌํฌ 50 ์ดํ์ ๋ ๋ชจ๋ธ์ ํ์ต ์์ค์ด ๊ฑฐ์ ์ ์ฌํด์ง๊ณ ์๋ค.
๊ทธ๋ฆผ 7. ์ํฌํฌ์ ๋ฐ๋ฅธ ํ์ต ์์ค ์๊ฐํ
Fig. 7. Visualizing Training Loss in terms of the Epoch Size
๋ ๋ชจ๋ธ์ ์ฑ๋ฅ ํ๊ฐ๋ฅผ ์ํด ๊ฐ ๋ชจ๋ธ์ด ์์ฑํ DSL ์ฝ๋์ Ground-truth์ ํด๋นํ๋ ์ ๋ต ์ฝ๋์์ ์ค๋ฅ์จ์ ์ธก์ ํ์๋ค. ์ค๋ฅ์จ ๋ฉํธ๋ฆญ์
๊ธฐ๋ฐ์ผ๋ก ์ ํ๋ ์ธก๋ฉด์์ ์ ์๋ ๋ชจ๋ธ์ DSL ์ฝ๋ ์์ฑ ๊ธฐ๋ฅ์ ํ๊ฐํ๋ค. ์ค๋ฅ์จ์ ์ ๋ต DSL ์ฝ๋์ ๋ํด ์์ฑ๋ DSL ์ฝ๋์ ์ค๋ฅ๋ฅผ ์ ๋ํํ๋ค
[18]. ์ค๋ฅ์จ์ [0, 1] ์ฌ์ด์ ๋ถํฌํ๋ฉฐ ์์ฑ ์ฝ๋๊ฐ ์๋ฒฝํ๊ฒ ์ผ์นํ ๊ฒฝ์ฐ๋ ์ค๋ฅ๊ฐ ์์ผ๋ฏ๋ก ์ค๋ฅ์จ์ 0์ด ๋๋ฉฐ ์์ฑ ์ฝ๋์ ๊ธธ์ด๊ฐ ๋ค๋ฅด๊ฑฐ๋ ์์ฑ๋ DSL ํ ํฐ์ด ๋ชจ๋ ๋ค๋ฅธ
๊ฒฝ์ฐ๋ ์ต๋ ์ค๋ฅ์จ์ธ 1์ด ํ ๋น๋๋ค. Ground-truth ์ฝ๋์ ์์ฑ๋ ์ฝ๋์ ๊ธธ์ด๊ฐ ๋ค๋ฅธ ๊ฒฝ์ฐ๋ ์ต๋ ์ค๋ฅ๊ฐ์ธ 1์ด ํ ๋น๋๋ค. ์ ์ฒด ๊ธธ์ด๊ฐ ๊ฐ์
๊ฒฝ์ฐ๋ ์์ฑ ์ฝ๋์ ํ ํฐ๊ณผ Ground-truth ํ ํฐ์ด ๋์ผํ๋ฉด 0์, ๋ค๋ฅธ ๊ฒฝ์ฐ๋ 1์ ํ ๋นํ๋ค. ๋ชจ๋ ํ ํฐ์ ๋ํด ์ํธ ๋น๊ต๋ฅผ ์ ์ฉํ๋ค.
ํ 1์ ๋ฉํฐํค๋ ์ดํ
์
์ธต์ ํค๋ ์(2, 4, 8๊ฐ ์ ์ฉ)์ ๋ฐ๋ฅธ Pix2code-ATT ๋ชจ๋ธ์ด ์์ฑํ ์ฝ๋ ์ค๋ฅ์จ์ด๋ค. ์คํ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ์ค๋ฅ์จ์ด ์ต์์ธ
ํค๋ ์๋ฅผ 8๋ก ์ค์ ํ๋ค.
ํ 1 ์ดํ
์
๊ณ์ธต ํค๋ ์์ ๋ฐ๋ฅธ Pix2code-ATT์ ์ค๋ฅ์จ
Table 1 The Error Rates of Pix2code-ATT in terms of Number of Heads in the Attention
Layer over the Basic Pix2code Datasets
#Epoch
|
Error Rates(%)
|
2 Heads
|
4 Heads
|
8 Heads
|
10
|
19.90
|
16.35
|
20.16
|
20
|
14.03
|
15.93
|
29.24
|
30
|
18.17
|
22.03
|
26.28
|
40
|
15.77
|
15.58
|
11.91
|
50
|
18.05
|
12.78
|
6.81
|
ํ 2๋ ์ ์๋ 8 ํค๋ Pix2code-ATT์ ๊ธฐ์กด Pix2code์ ์ฑ๋ฅ ๋น๊ต๋ฅผ ์ํด ์ค๋ฅ์จ์ ์ธก์ ํ ๊ฒฐ๊ณผ์ด๋ค. 1,219๊ฐ ์ด๋ฏธ์ง์ ์์ํ๋ DSL
์ฝ๋๊ฐ ๊ฐ ๋ชจ๋ธ์ ํ์ต์ ์ฌ์ฉ๋์์ผ๋ฉฐ ์ค๋ฅ์จ์ ์ํ์ฉ ๋ฐ์ดํฐ์ธ 523๊ฐ์ ์ด๋ฏธ์ง์ ์ ์ฉ๋์๋ค. Pix2code ๋ชจ๋ธ์ ๊ฒฝ์ฐ, 60 ์ํฌํฌ์์ ์ค๋ฅ์จ์ด
10.92๋ก ์ต์๊ฐ์ ๋ณด์์ผ๋ฉฐ Pix2code-ATT ๋ชจ๋ธ์ 50 ์ํฌํฌ์์ ์ค๋ฅ์จ์ด 6.81๋ก Pix2code์ ๋นํด ์ฑ๋ฅ์ด ์ฐ์ํจ์ ์ ์ ์๋ค.
ํ 2 ์ํฌํฌ ๊ฐ์ ๋ฐ๋ฅธ Pix2code-ATT์ Pix2code์ ์ค๋ฅ์จ ๋น๊ต
Table 2 Comparison of the Error Rate of Pix2code-ATT and Pix2code in terms of Epoch
Size over the Basic Datasets
#Epoch
|
Error Rates(%)
|
Pix2code
|
Pix2code-ATT
|
10
|
24.74
|
20.16
|
20
|
27.63
|
29.24
|
30
|
26.04
|
26.28
|
40
|
12.95
|
11.91
|
50
|
14.73
|
6.81
|
60
|
10.92
|
12.61
|
70
|
17.49
|
15.02
|
4.2 ์คํ โ
ก: ๋ณต์กํ ํฉ์ฑ ๋ฐ์ดํฐ ์ธํธ์ ๋ํ ์ฑ๋ฅ ํ๊ฐ
์คํโ
ก๋ ์คํโ
์์ ์ฌ์ฉํ ๋ฐ์ดํฐ ์ธํธ์ ์ถ๊ฐ ์์ฑํ ์ด๋ฏธ์ง์ ์ฝ๋๋ก ๊ตฌ์ฑ๋ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ์ฌ์ฉํ๋ค. ๊ทธ๋ฆผ 8๊ณผ ๊ฐ์ด ๊ธฐ์กด ๋ฐ์ดํฐ ์ธํธ์ ์๋ก์ด row๋ฅผ ๋ง์ง๋ง์ ์ถ๊ฐํ๋ค. ์๋กญ๊ฒ ์ถ๊ฐ๋ row๋ค์ 1, 2, ๋๋ 4๊ฐ์ ์ปฌ๋ผ์ผ๋ก ๊ตฌ์ฑ๋๋ค. ๊ฐ ์ปฌ๋ผ์ ๋ฒํผ๊ณผ
ํ
์คํธ๋ก ๊ตฌ์ฑ๋๋ค. ๊ทธ๋ฆผ 8์์ ๊ธฐ์กด ์ด๋ฏธ์ง๋ 3๊ฐ์ row๋ก ๊ตฌ์ฑ๋์์ผ๋ฉฐ ์๋กญ๊ฒ 4๋ฒ์งธ row๊ฐ ์ถ๊ฐ๋ ์ด๋ฏธ์ง๊ฐ ์์ฑ๋์๋ค. ์ถ๊ฐ๋ ์ด๋ฏธ์ง๋ ์์๋ก ๊ฒฐ์ ๋๋ฉฐ ์ด์ ํด๋นํ๋
DSL ์ฝ๋๋ฅผ ํ์ธํ ์ ์๋ค.
๊ทธ๋ฆผ 8. ์ถ๊ฐ๋ ๋ง์ง๋ง row(์ด๋ฏธ์ง์์ ๋ฅ๊ทผ ์ฌ๊ฐํ ํ์ ๋ถ๋ถ)์ ์์ํ๋ DSL ์ฝ๋
Fig. 8. The Added row marked with the Round Square in the Image and its Corresponding
DSL Code
๊ทธ๋ฆผ 9๋ ์ถ๊ฐ๋ ๋ฐ์ดํฐ ์ธํธ์ ํฌํจ๋ row ๊ฐ์์ ๋ถํฌ๋ฅผ ๋ํ๋ธ๋ค. ํ๋ จ ๋ฐ ์ํ ๋ฐ์ดํฐ์ ๋น์จ์ด 8:2๋ก ๊ฐ๊ฐ 2,368๊ฐ์ 592๊ฐ์ด๋ค. ๊ธฐ๋ณธ ๋ฐ์ดํฐ
์ธํธ์ 4๋ฒ์งธ row๊ฐ ์ถ๊ฐ๋๋ฉฐ ์ด 1,218๊ฐ์ ๋ฐ์ดํฐ๊ฐ ์ฆ๊ฐํ์๋ค. 4๋ฒ์งธ row์ ์ถ๊ฐ๋ ๊ธฐ์กด ์ด๋ฏธ์ง์ ๋นํด ์ด๋ฏธ์ง ๋ณต์ก๋๊ฐ ์ฆ๊ฐํ์๋ค.
๊ทธ๋ฆผ 9. ํ์ฅ๋ ํ๋ จ ๋ฐ ์ํ ๋ฐ์ดํฐ ์ธํธ์ row ๊ฐ์
Fig. 9. The Number of rows in the Extended Training and Testing Datasets
์๋กญ๊ฒ ์ถ๊ฐ๋ row์ ๋ํด ์์ฑ๋ ์ฝ๋๋ ๋ฒํผ ์ ๋ณด ๋ฑ ์ผ๋ถ ๋ด์ฉ์ด ์ธ์๋์ง ์๊ฑฐ๋ row์ ๋ง์ง๋ง ๊ดํธ(\})๊ฐ ๋๋ฝ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ์๋ค (๊ทธ๋ฆผ 10 ์ฐธ์กฐ). ๋ํ, row์ quadruple์ double๋ก ์ธ์ํจ์ผ๋ก์จ ์์ฑ๋ ์ฝ๋์ ๊ธธ์ด๊ฐ Ground-true ์ฝ๋์ ๊ธธ์ด์ ๋นํด ์งง์์ง๋ ๊ฒฝ์ฐ๊ฐ
๋ฐ์ํ์๋ค. ๊ธธ์ด์ง DSL ์ฝ๋๋ก ์ธํด ํ์ต๊ณผ ์ํ ๊ณผ์ ์์ ์ ํ๋๊ฐ ๋จ์ด์ง ๊ฒ์ผ๋ก ํ๋จ๋๋ฉฐ ์ ์๋ ๋ชจ๋ธ์ ํ์ดํผํจ๋ฌ๋ฏธํฐ๋ฅผ ์ธ๋ถ ์กฐ์ ํ๊ฑฐ๋ ์๋ก์ด
๋ชจ๋ธ ๊ณ์ธต์ ์ถ๊ฐํจ์ผ๋ก์จ ์ฑ๋ฅ ๊ฐ์ ์ ๊ธฐ๋ํ ์ ์์ ๊ฒ์ด๋ค.
๊ทธ๋ฆผ 10. DSL ์ฝ๋ ์์ฑ ์คํจ ์ฌ๋ก๋ค
Fig. 10. The Failure Cases of DSL Code Generation
ํ 3์ ํ์ฅ๋ ๋ฐ์ดํฐ ์ธํธ์ ๋ํด์ Pix2code-ATT์ DSL ์์ฑ ์ฝ๋์ ์ค๋ฅ์จ์ ํํํ๋ค. ์ํฌํฌ ๊ฐ์ด 5 ์ดํ๋ก ์๋ฌ์จ์ด ์ผ์ ๋ฒ์๋ด์์ ์ ์ง๋จ์
์ ์ ์๋ค. ์ํฌํฌ 5 ์์ ์ ํ์ต ์์ค์ด ํฌ๊ฒ ์ค์๋ ์ฌํญ์ ๋ฐ์ํ ๊ฒฐ๊ณผ๋ผ๊ณ ํ๋จ๋๋ค.
ํ 3 ํ์ฅ๋ ๋ฐ์ดํฐ ์ธํธ์ ๋ํด ์ํฌํฌ ๊ฐ์ ๋ฐ๋ฅธ Pix2code-ATT์ ์ค๋ฅ์จ
Table 3 The Error Rate of Pix2code-ATT in terms of Epoch Size on the Extended Datasets
#Epoch
|
Error(%)
|
5
|
32.79
|
10
|
18.81
|
20
|
26.66
|
30
|
23.58
|
40
|
20.47
|
50
|
20.23
|
60
|
19.95
|
70
|
21.16
|
5. ๊ฒฐ๋ก ๋ฐ ํฅํ ์ฐ๊ตฌ ๋ฐฉํฅ
๋ณธ ๋
ผ๋ฌธ์์ ์ ์ํ ์ฝ๋ ์์ฑ ๋ชจ๋ธ์ Tony Beltramelli์ Pix2code ๋ชจ๋ธ๊ณผ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ค. CNN๊ณผ LSTM์ผ๋ก ๊ตฌ์ฑ๋,
์นํ์ด์ง ์ด๋ฏธ์ง์์ DSL ์ฝ๋๋ฅผ ์๋ ์์ฑํ๋ ๊ธฐ์กด ๋ชจ๋ธ์ ์ดํ
์
๊ณ์ธต์ ์ถ๊ฐํ์๋ค. ๋ํ, ๋ฐ์ดํฐ ์ธํธ์ ๋ณํ์๋ ์ ์๋ ๋ชจ๋ธ์ ์ฑ๋ฅ์ด ์๋ฏธ ์์์
์คํํ์๋ค. ์ ์๋ Pix2code-ATT ๋ชจ๋ธ์ ์ํด HTML ์ฝ๋์ ์ผ๋ถ๋ผ๋ ์๋ ์์ฑ๋๋ค๋ฉด, ์น์ฌ์ดํธ UI ๊ฐ๋ฐ์ ์์ฐ์ฑ์ ๋์ผ ์ ์์ ๊ฒ์ผ๋ก
๊ธฐ๋๋๋ค. ๋น์ ๋ฌธ ํ๋ก๊ทธ๋๋จธ์ธ ์น ๋์์ด๋์ ์นํ์ด์ง ๊ฐ๋ฐ์ ์ฌ์ด์ ํ๋ก๊ทธ๋๋ฐ ๋ฅ๋ ฅ ์ฐจ์ด๋ฅผ ์ฝ๋ ์๋ ์์ฑ์ ํตํด ์ค์ผ ์ ์์ ๊ฒ์ผ๋ก ๊ธฐ๋๋๋ค.
ํฅํ ์ฐ๊ตฌ ๋ด์ฉ์ผ๋ก ์ค์ ์ ์ธ ์นํ์ด์ง ์ด๋ฏธ์ง๋ก ๊ตฌ์ฑ๋ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ๊ตฌ์ถํ๋ค๋ฉด, ๋ณด๋ค ์ ๋ขฐ์ฑ ์๊ณ ์ค์ฉ์ ์ธ Pix2code- ATT ๋ชจ๋ธ์ ๊ฐ๋ฐํ
์ ์์ ๊ฒ์ด๋ค. ๋ํ, ๊ทธ๋ํฝ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๊ฐ ์ค์์๋๋ ๋ชจ๋ฐ์ผ ์์ฉ ๋ถ์ผ์๋ ์ ์๋ ์ ๊ทผ๋ฐฉ๋ฒ์ ์ ์ฉํ ์ ์์ ๊ฒ์ผ๋ก ๊ธฐ๋๋๋ค.
Acknowledgements
This research was supported by Basic Science Research Program through the National
Research Foundation of Korea(NRF) funded by the Ministry of Education(No. 2021R1I1A3056172)
References
T. Beltramelli, โPix2code: Generating code from a graphical user interface screenshot,โ
ArXiv, 2017. [Online]. Available: https://arxiv.org/abs/1705.07962.
Zhang, Zhihang, Ye Ding, and Chenlin Huang, โAutomatic Front-end Code Generation from
image Via Multi-Head Attention,โ 2023 4th International Conference on Computer Engineering
and Application (ICCEA), IEEE, 2023.
Y. Liu, Q. Hu, and K. Shu. โImproving pix2code based Bi-directional LSTM,โ In 2018
IEEE International Conference on Automation, Electronics and Electrical Engineering
(AUTEEE), IEEE, 2018.
W. Zhang, S. Luan, and L. Tian, โA Rapid Combined Model for Automatic Generating Web
UI Codes,โ Wireless Communications and Mobile Computing, 2022.
S. Riaz, A. Arshad, S. S. Band, and A. Mosavi, โTransforming hand drawn wireframes
into front-end code with deep learning,โ Computers, Materials & Continua, vol. 72,
no. 3, pp. 4303โ4321, 2022.
A. Robinson, โSketch2code: Generating a website from a paper mockup,โ ArXiv, 2019.
[Online]. Available: https://arxiv. org/abs/1905.13750.
V. Jain, P. Agrawal, S. Banga, R. Kapoor, and S. Gulyani, โSketch2Code: Transformation
of Sketches to UI in Real- time Using Deep Neural Network,โ ArXiv, 2019. [Online].
Available: https://arxiv.org/abs/1910.08930v1.
T. Bouรงas and A. Esteves, โConverting Web Pages Mockups to HTML using Machine Learning,โ
In Proceedings of the 16th International Conference on Web Information Systems and
Technologies, 2020.
Y. Xu, L. Bo, X. Sun, B. Li, J. Jiang, and W. Zhou. โimage2emmet: Automatic code generation
from web user interface image,โ Journal of Software: Evolution and Process, 2021.
J. S. Ferreira, A. Restivo, and H. S. Ferreira, โAutomatically Generating Websites
from Hand-drawn Mockups,โ In Proceedings of the 16th International Joint Conference
on Computer Vision, Imaging and Computer Graphics Theory and Applications. 2021.
X. Yao, โAutomatic GUI Code Generation with Deep Learning,โ PhD dissertation, Manchester
Metropolitan University, 2022.
K. Kikuchi, M. Otani, K. Yamaguchi, and E. Simo-Serra, โModeling Visual Containment
for Web Page Layout Optimization,โ Computer Graphics Forum. vol. 40. no. 7. 2021.
D. de Souza Baulรฉ, C. G. von Wangenheim, A. von Wangenheim, and J. C. Hauck, โRecent
Progress in Automated Code Generation from GUI Images Using Machine Learning Techniques,โ
J. Universal Computer Science, 26(9), 2020.
C. Chen, T. Su, G. Meng, Z. Xing, and Y. Liu, โFrom UI Design Image to GUI Skeleton:
A Neural Machine Translator to Bootstrap Mobile GUI Implementation,โ 2018 IEEE/ACM
40th International Conference on Software Engineering (ICSE), Gothenburg, Sweden,
2018.
S. Hochreiter and J. Schmidhuber., โLong short-term memory,โ Neural computation, 9(8):1735โ1780,
1997.
F. A. Gers, J. Schmidhuber, and F. Cummins, โLearning to forget: Continual prediction
with lstm,โ Neural computation, 12(10), 2000.
Text classification with Transformer, https://keras.io/examples/nlp/text_classification_with_transformer/,
Accessed July 1, 2023.
X. Pang, Y. Zhou, P. Li, W. Lin., W. Wu, and J. Wang, โA novel syntax-aware automatic
graphics code generation with attention-based deep neural network,โ Journal of Network
and Computer Applications, 2020.
์ ์์๊ฐ
๊น๋๊ด (Kim, Dong Kwan)
In 1993 and 1998, respectively, he earned his B.S. and M.S. degrees in the Department
of Computer Engineering at Soongsil University. He later completed his Ph.D. in Computer
Science at Virginia Tech in 2009, specializing in software engineering. He currently
holds the position of an associate professor in the Department of Computer Engineering
at Mokpo National Maritime University. His research interests include deep learning,
software evolution, run-time systems, and mobile programming. E-mail: dongkwan@mmu.ac.kr