CapsNet [Kor]
Gu et al. / Capsule Network is Not More Robust than Convolutional Network / CVPR 2021
Last updated
Gu et al. / Capsule Network is Not More Robust than Convolutional Network / CVPR 2021
Last updated
๋ฅ๋ฌ๋์ ์ ๋ ๊ฐ ์ฑ๋ฅ์ ๋์ฌ ์๊ณ ๋ง์ ์์ญ์์ ์ธ๊ฐ์ ์ถ์ํ์ง๋ง, ๋ถํํ๋ ๊ทผ๋ณธ์ ์ธ ๋ถ๋ถ์์์ ๋ฐ์ ์ ๋๋๋ค. ํ์ฌ์ ๋ฅ๋ฌ๋์ด hard AI๊ฐ ๋๊ธฐ ์ํด์๋ ๊ทน๋ณตํด์ผ ํ ๋ง์ ๊ณผ์ ์ค, Capsule network๊ฐ ์ฃผ๋ชฉํ๋ ๊ฒ์ viewpoint equivariance์ ๋ํ ๊ฒ์ด๋ค.
์ ํ๋ ์ ํ์ต๋ Object detection ๋ชจ๋ธ์์ ์ํ๋ฅผ ์ฌ๋ฌ ๊ฐ๋์์ ์ฐ์ ์ฌ์ง์ ๋ฃ์์ ๋ Average Precision(AP)๊ฐ ์ด๋ป๊ฒ ๋ณํ๋์ง๋ฅผ ๋ํ๋ธ ๊ฒ์ด๋ค. ์ฌ๋์ ์ํ๋ฅผ ์ด๋ค ๊ฐ๋์์ ๋ณด์๋ ์ํ๋ผ๊ณ ์ธ์งํ ์ ์์ง๋ง, ๋ฅ๋ฌ๋ ๋ชจ๋ธ์ ์ฑ๋ฅ์ 0.1์์ 1.0๊น์ง ๋ค์ํ๊ฒ ๋ถํฌํ๋ค.
๊ทธ ์ด์ ๋ฅผ ๋ฅ๋ฌ๋์ ์ธ์ด๋ก ์ค๋ช ํ์๋ฉด training data(์ด ๊ฒฝ์ฐ PASCAL VOC)์ bias๊ฐ ์์๊ธฐ ๋๋ฌธ์ด๋ค. ์ฌ๋์ ์ํ๋ฅผ ๋ฌด์์ elevation๊ณผ azimuth์์ ๊ท ์ผํ๊ฒ ์ดฌ์ํ์ง ์๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธ๋ฌ๋ฉด ๋ชจ๋ ๋ฐฉํฅ์์ ์ดฌ์ํ ์ํ๋ฅผ ๋ฐ์ดํฐ์ ํฌํจ์ํค๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ ๊น? ์ด๋ก ์ ๊ทธ๋ ๋ค. ํ์ง๋ง ๋ชจ๋ object๋ฅผ ๋ชจ๋ ๊ฐ๋์์ ์ดฌ์ํ ๋ฐ์ดํฐ๋ฅผ ๋ง๋๋ ๊ฒ์ ํ์ค์ ์ผ๋ก ๋ถ๊ฐ๋ฅํ๊ณ , ๋ฐ๋์งํ์ง๋ ์๋ค.
"The set of real world images is infinitely large and so it is hard for any dataset, no matter how big, to be representative of the complexity of the real world." [2]
์ด๋ ๋ถ๋ช ์ด๋ ค์ด ๋ฌธ์ ์ด์ง๋ง ๊ทผ๋ณธ์ ์ผ๋ก ํด๊ฒฐ์ด ๋ถ๊ฐ๋ฅํ ๋ฌธ์ ๋ก ์ทจ๊ธํ๋ ๊ฒ์ ๋ง์ค์ฌ์ง๋ค. ์๋ํ๋ฉด ์ธ๊ฐ์ '์ํ'๋ผ๋ ๋ฌผ์ฒด๋ฅผ ์ธ์ํ๊ธฐ ์ํด์ ์๋ฐฑ ๊ฐ์ ์ํ๋ฅผ ๋ชจ๋ ๋ฐฉํฅ์์ ๊ด์ฐฐํ ์๋ง ์ฅ์ ๋ฐ์ดํฐ๋ฅผ ํ์๋ก ํ์ง ์๊ธฐ ๋๋ฌธ์ด๋ค. Geoffrey Hinton์ ์ด๊ฒ์ด ์ธ๊ฐ์ ๋ฌผ์ฒด์ part-whole hierarchy๋ฅผ ํ์ ํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ผ๊ณ ์๊ฐํ๊ณ , ์ค๋ ์ ๋ถํฐ ์ด๋ฅผ ๋ฅ ๋ฌ๋์์ ์คํํ๊ธฐ ์ํ ์ฐ๊ตฌ๋ฅผ ํ๋ค.
์ด ๊ฐ๋ ์ CapsNet[3] ๋ ผ๋ฌธ์ ํตํด ๋๋ฆฌ ์๋ ค์ก์ง๋ง, ๊ทธ ๊ณ ๋ฏผ์ ํจ์ฌ ์ด์ ์ ๋ ผ๋ฌธ๋ค์์๋ถํฐ[4] [5] ์ฐพ์ ์ ์๋ค. ์์ฝํ์๋ฉด, ์ฌ๋์ ์ํ๋ฅผ ์ด๋ค ํน์ ํ ๊ฐ๋์์์ ์ด๋ฏธ์ง๋ก์จ ๊ธฐ์ตํ๋ ๋์ '๊ธด ๊น๊ฐ ๋ค์ ๋ฑ๋ฐ์ด๊ฐ ์๊ณ ์ ์์ ํ๊ฑธ์ด๊ฐ ์๋ ๊ฒ'์ผ๋ก ์ธ์งํ๊ธฐ ๋๋ฌธ์ viewpoint equivariance๋ฅผ ์์ฐ์ค๋ฝ๊ฒ ๋ฌ์ฑํ๋ค๋ ๊ฒ์ด๋ค.
"There is strong psychological evidence that people parse visual scenes into part-whole hierarchies and model the viewpoint-invariant spatial relationship between a part and a whole as the coordinate transformation between intrinsic coordinate frames that they assign to the part and the whole."[6]
์ฌ๋์ ์ค์ ๋ก ๋ ์์์ 3d ์ขํ๊ณ๋ฅผ ๋ง๋ค์ด ๊ทธ ์์์ object์ ํํ๋ฅผ ์ธ์ํ๋ค. ์ด๋ psychological evidence๋ก ๋ท๋ฐ์นจ๋๊ณ , ์ฐ๋ฆฌ์ ์์์๋ ๋ถํฉํ๋ค. Part-whole hierarchy๋ฅผ ์ธ์งํ ์ ์๋ค๋ฉด viewpoint equivariance๋ ์์ฐ์ค๋ฝ๊ฒ ๋ฌ์ฑ๋ ๊ฒ์ด๊ณ , ๋ฐ๋๋ก part-whole hierarchy ์์ด viewpoint equivariance๋ฅผ ๋ฌ์ฑํ๋ ๊ฒ ์ญ์ ์์ํ๊ธด ํ๋ค๋ค.
๋ฌผ๋ก ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ์ด๋ฅผ ์คํํ๊ธฐ ์ํ ์ฐ๊ตฌ๋ค์ด ์์์ง๋ง, ํน์ ํ transform์ invariantํ kernel์ ์ฌ์ฉํ๊ฑฐ๋ data augmentation์ ์์กดํ๋ ๋ฑ์ ๋ฐฉ์์ผ๋ก viewpoint equivariance๋ฅผ ์์ฐ์ค๋ฝ๊ฒ ๋ฌ์ฑํ๋ ๋ฐฉํฅ๊ณผ๋ ๊ฑฐ๋ฆฌ๊ฐ ์์๋ค. [7,8,9] ๊ทธ๋ฆฌ๊ณ ํ์ค์์ ๊ฐ๋ฅํ transformation matrix๋ ๋ฌดํํ ๋ง๊ธฐ์ ์ด๋ฅผ invariance๋ฅผ ํตํด ๋ฌ์ฑํ๋ ค๋ ๋ฐฉ์์ ๋ช ํํ ํ๊ณ๊ฐ ์๋ค.
๊ทธ๋ ๋ค๋ฉด part-whole hierarchy๋ฅผ ๋ฅ๋ฌ๋์ ์ด๋ป๊ฒ ๊ตฌํํ ๊ฒ์ธ๊ฐ ๋ผ๋ ๋ฌธ์ ๋ง ๋จ๋๋ค. Bottom-up ๋ฐฉ์์ ๋ฅ ๋ฌ๋์์ ์ฐ๋ฆฌ๊ฐ ๋ฌด์์ด 'ํ๊ฑธ์ด'์ด๊ณ ๋ฌด์์ด '๋ฑ๋ฐ์ด'์ธ์ง ์ง์ ์๋ ค์ค ์๋ ์์ง๋ง, ์ต์ํ ๋คํธ์ํฌ๊ฐ ์ด๋ฐ ๊ฐ๋ ๋ค์ ๋ด๊ณ ํ์ตํ ์ ์๋๋ก ๊ตฌ์กฐ๋ฅผ top-down์ผ๋ก ๊ตฌ์ถํด ์ค ์๋ ์์ ๊ฒ์ด๋ค. ๊ทธ๋ ๊ฒ ๋ฑ์ฅํ ๊ธฐ๋ ๋น์ ์ธ ์ฒซ ์ํ์ด [3], 'Capsule Network'์๋ค. ์ด ๋ ผ๋ฌธ์ ๋ฅ๋ฌ๋ ์ปค๋ฎค๋ํฐ์์ ํฐ ์ด์๊ฐ ๋์๊ณ , ์๋ฐฑ ํธ์ ํ์ ์ฐ๊ตฌ๊ฐ ๋์๋ค.
Capsule network๋ฅผ ์ด๋ ต๊ฒ ์ค๋ช ํ ๋ฐฉ๋ฒ์ ๋ง์ง๋ง ๊ฐ๋ ์ ์ผ๋ก๋ ๋จ์ํ๊ฒ ์ดํดํ ์ ์๋ค. ์ฐ์ , ํ๊ฑธ์ด์ ์กด์ฌ ์ ๋ฌด๋ฅผ ๋จ ํ๋์ scalar value๋ก ํํํ๋ ๊ฒ์ ๋ฌด๋ฆฌ๊ฐ ์์ ๊ฒ์ด๋ค. ํ๊ฑธ์ด์ ์์์ด๋ ์ง๊ฐ ๋ฑ์ ๋ฌผ๋ก ์ด๊ณ , part-whole hierarchy๋ฅผ ์ํด์๋ ํ๊ฑธ์ด๊ฐ ์ด๋ค ๊ฐ๋๋ก ๋ถ์ด ์๋์ง์ ๋ํ ์ ๋ณด๋ ์ ์งํด์ผ๋ง ํ๋ค. ์ข์์ ๋ฑ๋ฐ์ด๊ฐ ์ํ์ผ๋ก ์ฐ๊ฒฐ๋์ด ์๋ค๋ฉด ์ด๋ ๋์ด์ ์ํ๊ฐ ์๋๊ธฐ ๋๋ฌธ์ด๋ค. ์ด๋ฐ ์ ๋ณด๋ฅผ ๋ด๊ธฐ ์ํด ๊ฐ๋จํ CNN์ ํตํด feature vector๋ฅผ ๋ฝ๊ณ , 8~16๊ฐ์ feature๋ฅผ ๋ฌถ์ด ํ๋์ capsule๋ก ๋ง๋ ๋ค.
Deep learning์ ์ฐ์ฐ์ ๊ธฐ๋ณธ์ ์ผ๋ก linearํ๊ธฐ ๋๋ฌธ์ ๋จ์ํ ๋ช ๊ฐ์ feature๋ฅผ ๋ฌถ์ด ๋๋ ๊ฒ ๋ง์ผ๋ก๋ ์๋ฌด ์ผ๋ ๋ฐ์ํ์ง ์๋๋ค. ๊ฐ๊ฐ์ capsule์ object๋ฅผ ๋ํ๋ด๋ ๋จ์๋ก์จ ๊ธฐ๋ฅํ๊ฒ ํ๊ธฐ ์ํด ์ ํํ ๋ฐฉ๋ฒ์ 'routing algorithm'์ด๋ผ๋ ๊ฒ์ธ๋ฐ, ์ด๋ capsule ๋จ์๋ก ์๋ํ๋ Hebbian learning[10]์ผ๋ก ์ดํดํ ์ ์๋ค. ์ด๊ธฐ์๋ ๋ชจ๋ ์บก์์ด ๋์ผํ ๊ฐ๋๋ก ์ฐ๊ฒฐ๋๋ค. ๊ทธ๋ ๊ฒ high-level capsule์ ๊ฐ์ด ๊ฒฐ์ ๋๋ฉด, ๊ทธ activation๊ณผ ์ align๋๋ low-level capsule๊ณผ์ ์ฐ๊ฒฐ์ด ๊ฐํ๋๋ค. ๊ทธ๋ ๊ฒ high-level capsule์ ๊ฐ์ ์ ๋ฐ์ดํธํ๊ณ , ์ด๋ฅผ ๋ฐ๋ณตํ๋ค.
์ฌ๊ธฐ์ ๊ฐ์๊ธฐ Hebbian learning์ด ์ ๋ฑ์ฅํ๋์ง, ์ด๋ป๊ฒ ์ด๋ฐ ๊ณผ์ ์ด (3d object์) part-whole hierarchy๋ฅผ ๊ตฌ์ถํ๊ณ viewpoint equivariance๋ฅผ ๋ฌ์ฑํ ์ ์๋์ง ์ดํดํ์ง ๋ชปํ๋ค๋ฉด, ๋น์ ์ ์ดํด๋ ฅ์ด ๋ถ์กฑํ ๊ฒ์ด ์๋๋ผ ์ง๊ทนํ ์ ์์ ์ธ ์ฌ๊ณ ๋ฅผ ํ ๊ฒ์ด๋ ์์ฌํด๋ ์ข๋ค. Routing algorithm์ด ์ด๋ค ๋ฉ์ปค๋์ฆ์ผ๋ก viewpoint equivariance๋ฅผ ๋ฌ์ฑํ๋์ง์ ๋ํ ์ค๋ช ์ ๋ ผ๋ฌธ ์ด๋์๋ ์ฐพ์๋ณผ ์ ์์ผ๋ฉฐ, ์ ์ ํ์ ๋ณด๊ฒ ์ง๋ง ์ค์ ๋ก ๊ทธ๋ฐ ๋ฉ์ปค๋์ฆ์ ์กด์ฌํ์ง ์๊ธฐ ๋๋ฌธ์ ์ค๋ช ํ ๋ฐฉ๋ฒ๋ ์๋ค.
๊ฐ๋จํ ์ฌ๊ณ ์คํ์ ํด ๋ณด์. 3D viewpoint equivariance๋ณด๋ค ํจ์ฌ ๊ฐ๋จํ ๊ฒ์ผ๋ก ์ฐ๋ฆฌ๋ 2D์์ rotational equivariance๋ฅผ ๋ฌ์ฑํ๋ ๊ฒ์ ํ์ ๋ชฉํ๋ก ์๊ฐํ ์ ์์ ๊ฒ์ด๋ค. ์ฐ๋ฆฌ๊ฐ capsule network๋ฅผ ์ ํ์ต ์์ผ์ 'T' ๋ผ๋ ๊ธ์๋ฅผ ์ธ์ํ๊ฒ ๋ง๋ค์๋ค๊ณ ํ์. ์ฒซ ๋ฒ์งธ capsule์ ์ค์์ ์๋ '๊ธด vertical line'์ ํ์ตํ๊ณ , ๋ ๋ฒ์งธ capsule์ '์งง์ horizontal line'์ ์ธ์งํ๋๋ก ํ์ต๋์๋ค. ๊ทธ๋ฆฌ๊ณ ์์ ์บก์์ด '๊ธด vertical line ์์ ์งง์ horizontal line์ด ์๋ค๋ฉด ์ด๊ฒ์ letter 'T'์ด๋ค' ๋ผ๋ ๊ฒ์ ์ด๋ป๊ฒ๋ ํ์ตํ๋ค๊ณ ๊ฐ์ ํด ๋ณด์.
๊ทธ๋ฐ๋ฐ ๊ฐ์๊ธฐ, ํ์ต ๋ฐ์ดํฐ์๋ ์๋ ๊ธฐ์ธ์ด์ง 'T'๊ฐ input์ผ๋ก ๋ค์ด์จ๋ค. ์ฝ๊ฐ๋ง ๊ธฐ์ธ์ด์ก๋ค๊ณ ์๊ฐํด๋ ์ข๊ณ ์์ ํ ์ํ์ผ๋ก ๋์ ๋ค๊ณ ์๊ฐํด๋ ์ข๋ค. ์ด์ capsule์ '๊ธด horizontal line ์ฐ์ธก์ ์งง์ vertical line์ด ์๋ค๋ฉด ์ด๊ฒ์ธ letter 'T'์ด๋ค' ๋ผ๋ ๊ฒ์ ์ธ์งํด์ผ๋ง ํ๋ค. ์ฒซ ๋ฒ์งธ capsule์ ๋ณธ๋ vertical line์ ํ์ตํ์ง๋ง ๋์ฐ horizontal line์ activate ๋์ด์ผ ํ๊ณ , ๋ ๋ฒ์งธ ์บก์์ ๋ฐฉํฅ์ ๋ฐ๊พธ๋ ๊ฒ๋ฟ๋ง์ด ์๋๋ผ ์์ ์์น๊ฐ ๋ณํํ๋ฉฐ, ์์ ์บก์์ ์ฒซ ๋ฒ์งธ ์บก์์ด horizontal line์ activate๋์๋ค๋ ๊ฒ์ผ๋ก๋ถํฐ T์ ์๋ฉด์ ์ฐ์ธก์์ ์ฐพ์์ผ ํ๋ค๋ ๊ฒ์ ์ฌ๊ณ ํด์ผ๋ง ํ๋ค. ์ด๋ป๊ฒ ์ด๊ฒ ๊ฐ๋ฅํ ๊น? Capsule ์ฌ์ด์ ์ ์ฉ๋๋ Hebbian learning์ด ์ด๋ป๊ฒ ์ด๋ฅผ ๋ฌ์ฑํ ์ ์์๊น? ์ ์ด์ ์ฝ๊ฐ์ด๋ผ๋ ๋์์ด ๋๊ธฐ๋ ํ ๊น?
Original Capsule paper[3,11]์ ์ํ๋ฉด, ''๊ทธ๋ ๋ค''. ๊ทธ๋ค์ routing algorithm์ด ์๋ฒฝํ viewpoint equivariance๋ ์๋์ง๋ผ๋, ์ต์ํ ๊ธฐ์กด์ CNN๋ณด๋ค ๋ robustํจ์ ์คํ์ ์ผ๋ก ๋ณด์๋ค. ๊ทธ๊ฒ์ด ๋ง์ ์ฌ๋๋ค์ด capsule network์ ์ถฉ๊ฒฉ์ ๋ฐ์ ์ด์ ์ด๋ค. ํ์ง๋ง ์ด๋ ์ด๋ค ์ํ์ ์ฆ๋ช ์ ๋ฌผ๋ก ์ด๊ณ ์ถฉ๋ถํ ๋ฉ๋ ๊ฐ๋ฅํ ์ค๋ช ์์ด ์ค์ง ์คํ์ผ๋ก์จ ์ฆ๋ช ๋์๋ค. ๋ง์ฝ์ ๊ทธ ์คํ์ด ๋ถ์ ๋๋ค๋ฉด, ์ฐ๋ฆฌ๋ Capsule Network๊ฐ ํ์ฌ ์ด๋ป๊ฒ ์๋ํ๊ณ ์๋์ง์ ๋ํด ๋ค์ ํ ๋ฒ ์๊ฐํด ๋ณด์์ผ ํ ๊ฒ์ด๋ค.
์ด ๋ ผ๋ฌธ์ CapsNet์ ์ฑ๋ฅ์ด ๊ธฐ๋ ์ดํ๋ผ๋ ๊ฒฐ๊ณผ๋ฅผ ๋ด์ ์ฒซ ๋ฒ์งธ ์ฐ๊ตฌ๊ฐ ์๋๋ค. ๋จ์ํ ์ฑ๋ฅ ๋น๊ต์์ ์ด์ ์ ์ฐพ์ง ๋ชปํ ์ฐ๊ตฌ๋ ์์๊ณ [13,14], SmallNorb๋ Rotational MNIST ๋ฑ์ ๋ฐ์ดํฐ๋ฅผ ํตํด CapsNet์ด ์ผ๋ฐ CNN๋ณด๋ค ๋ฑํ viewpoint change์ robustํ์ง ์๋ค๋ ๊ฒ์ ๋ณด์ธ ์ฐ๊ตฌ๋ค๋ ์์๋ค[15,16,17].
๊ทธ๋ ๋ค๋ฉด ๋ฌธ์ ๊ฐ ์๊ธด๋ค. ๊ฐ์ dataset์์ ๊ฐ์ network๋ก ์คํ์ ํ๋๋ฐ ๋ค๋ฅธ ๊ฒฐ๋ก ์ด ๋์๋ค. ๊ทธ๋ ๋ค๋ฉด ๋ ์ค ํ ์ชฝ์ ๊ฑฐ์ง๋ง์ ํ๊ณ ์๋ค๋ ๊ฒ์ธ๊ฐ? ์ ํ๋ฆฌ ํํผ์ด ์คํ ๊ฒฐ๊ณผ๋ฅผ ์กฐ์ํด์ ๋ ผ๋ฌธ์ ์ฐ๊ณ NIPS์ ICLR์ ์ค์๋ค๋ ์๋ฏธ์ธ๊ฐ? ์๋, ๊ผญ ๊ทธ๋ ์ง๋ ์๋ค. ์ด ๋ ผ๋ฌธ์ ๊ทธ๋ฐ '์คํด'๊ฐ ๋ฐ์ํ ๊ณผ์ ์ ์์ธํ ๋ฐํ๋ค.
CapsNet ๋ ผ๋ฌธ์์, ์ ์๋ Capsule network๊ฐ CNN๋ณด๋ค general performance๊ฐ ๋ ๋์ ๊ฒ์ ๋ฌผ๋ก ์ด๊ณ viewpoint change์ ๋ํด ๋ robustํ๋ค๊ณ ์คํ์ ํตํด ๋ฐํ๋ค. ํ์ง๋ง 'CNN'์ ๋จ์ผํ ๋ชจ๋ธ์ ์ง์นญํ์ง ์๋๋ค. AlexNet์ด๋ VGG๋ ์๊ณ , ResNet, SENet, MobileNet, EfficientNet ๋ฑ ์๋ง์ architecture๊ฐ ์กด์ฌํ๋ค. ๊ทธ๋ฌ๋ฉด ์ด๋ค ์ค ๊ฐ์ฅ ์ข์ SOTA ๋ชจ๋ธ๊ณผ ๋น๊ตํ๋ฉด ๋ ๊น? ์ด๋ ๊ณต์ ํ ๋น๊ต์ด๊ธฐ๋ ํ์ง๋ง, ๋จ 4๊ฐ์ layer๋ฅผ ๊ฐ์ง CapsNet์ด ์๋ฐฑ ๊ฐ์ layer์ ์์ฒ๋ง ๊ฐ์ parameter๋ฅผ ๊ฐ์ง ๋ชจ๋ธ์ ์ด๊ฒจ์ผ๋ง ๊ฐ์น๋ฅผ ์ธ์ ๋ฐ์ ์ ์๋ค๋ฉด ์ด๋ ์ง๋์น๊ฒ ๊ฐํนํ ์ฒ์ฌ๊ฐ ๋ ๊ฒ์ด๋ค.
๊ทธ๋์ ์ ์๋ค์ด ์ฑํํ ๋ฐฉ์์ CapsNet๋ณด๋ค ๋ ํฐ, layer ์๋ ๋น์ทํ๋ ๋ ๋ง์ parameter๋ฅผ ๊ฐ์ง ๋ชจ๋ธ์ ๊ฐ์ ธ์ ๋น๊ตํ ๊ฒ์ด๋ค. ์ธ๋ป ์ด๋ ๊ณต์ ํด ๋ณด์ธ๋ค. ๋ฌด๋ ค parameter ๊ฐ์๊ฐ ๋ ๋ฐฐ๋ ๋ ๋ง์ CNN์ ์๋๋ก ์น๋ฆฌํ๊ธฐ ๋๋ฌธ์ด๋ค. ์๋ฐํ๊ฒ ๋งํ์๋ฉด CapsNet์ '๋น์ทํ ํฌ๊ธฐ๋ฅผ ๊ฐ์ง ๋ชจ๋ ๊ฐ๋ฅํ CNN๋ค์ ์ฑ๋ฅ์ upper bound'๋ฅผ ๋์ด์ผ ํ๋ค. ํ์ง๋ง ์ด๊ฒ์ด ๋ถ๊ฐ๋ฅํ ๊ฒ์ ์๊ธฐ์ ์์ ๋ณด๋ค ๋ ํฐ CNN์ ์ ๋นํ ํ๋ ๋ง๋ค๊ณ , ์ด๊ฒ์ด ์ ์ ํ upper bound๊ฐ ๋๋ฆฌ๋ผ ๋ฏฟ์๋ค. ์ค๋ง ๊ทธ๋ฐ ์ฌ์ํ ์ธ๋ถ์ฌํญ๋ค๋ก ์ธํด parameter 2๋ฐฐ์ ์ฐจ์ด๊ฐ ๋ค์งํ์ง ์์ ๊ฒ์ด๋ค. ๊ทธ๋ฌ๋ฏ๋ก CapsNet์ routing algorithm์ด ์ ์๋ํด์ ์ข์ ์ฑ๋ฅ์ ๋ด๋ ๊ฒ์ด ํ๋ฆผ์๋ค. ๊ทธ๋ฐ๊ฐ?
ํฌ๊ฒ ๋ณด์๋ฉด, Capsule network์์ routing algorithm์ ์ ๊ฑฐํ๋ฉด ์ผ๋ฐ CNN์ด ๋๋ค. ๋ ๊ตฌ์ฒด์ ์ผ๋ก๋, shared transform matrix์ ์์ํ activation function(squash), ๊ทธ๋ฆฌ๊ณ reconstruction์ผ๋ก auxiliary loss๋ฅผ ์ฃผ๊ณ MarginLoss๋ก ํ์ตํ๋ CNN์ด ๋๋ค. ๊ทธ๋ ๋ค๋ฉด ์ด๋ฐ ์ฐจ์ด๋ค์ ํ๋์ฉ on/offํด ๊ฐ๋ฉด์ ์คํ์ ํด ๋ณธ๋ค๋ฉด CapsNet์ ์ด๋ค ์์๊ฐ ์ค์ ๋ก ์ฑ๋ฅ์ ์ํฅ์ ๋ฏธ์ณค๋์ง๋ฅผ ์ ์ ์์ ๊ฒ์ด๋ค.
Model์ (viewpoint) transformation์ ๋ํ robustness๋ฅผ ์ง์ ์ ์ผ๋ก ์ธก์ ํ๊ธฐ ์ํด AffNIST dataset[3,17]์ด ์ฃผ๋ก ์ฌ์ฉ๋๋ค. Training ์์๋ ์ ์์ ์ธ MNIST ๋ฐ์ดํฐ๋ง ๋ณด์ฌ์ฃผ๊ณ , ์ฌ๊ธฐ์ ๊ฐ์ข affine transform์ ๊ฐํ ์ด๋ฏธ์ง๋ก evaluateํ์ฌ generalization power๋ฅผ ์ธก์ ํ๋ค.
๋ง์ฝ์ CapsNet์ robustness๊ฐ capsule ๊ตฌ์กฐ์ ์ํ ๊ฒ์ด๋ผ๋ฉด routing algorithm์ ์ฌ์ฉํ์ ๋ ๊ฐ์ฅ ํฐ ์ฑ๋ฅ์ ํฅ์์ด ์์ ๊ฒ์ด๋ค. ํ์ง๋ง routing algorithm์ robustness์ ๋์์ด ๋์ง ์๊ณ ์คํ๋ ค ์ฑ๋ฅ์ด ์ํญ ๊ฐ์ํ์ผ๋ฉฐ, ์ด ๊ฒฐ๊ณผ๋ ๋ค๋ฅธ ์ฐ๊ตฌ์์ ๋ณด๊ณ ํ ๊ฒ[16,17]๊ณผ ๊ฐ๋ค. ์คํ๋ ค squash function ๋ฑ ๋ถ๊ฐ์ ์ธ ์์๊ฐ ์ฑ๋ฅ์ ๋์ด์ฌ๋ฆฐ ์์ธ์ธ ๊ฒ์ผ๋ก ๋ณด์ด๋ฉฐ, ์ด ์ธ์ ์ ์๋ค์ kernel size๊ฐ AffNIST์์์ ์ฑ๋ฅ์ ๊ฒฐ์ ์ ์ธ ์ํฅ์ ๋ฏธ์น๋ค๋ ์ฌ์ค์ ์์๋๋ค.
๋คํธ์ํฌ ๊ตฌ์กฐ์ ๊ด๊ณ์์ด kernel size๊ฐ ์ปค์ง์๋ก robustness๊ฐ ์ปค์ง์ ์ ์ ์๋ค. CapsNet์ (9,9) kernel์ ์ฌ์ฉํ๊ณ ์ ๋ ผ๋ฌธ์์ baseline CNN์ (5,5)๋ฅผ ์ฌ์ฉํ๋ค. ์ด๋ ์๋ํ๊ฑด ์๋์น ์์๊ฑด CapsNet์๊ฒ ์ ๋ฆฌํ ์คํ ์ค๊ณ์๋ ๊ฒ์ผ๋ก ๋ณด์ด๋ฉฐ, ์ ์๋ค์ ์์ ๊ฐ์ ์คํ ๊ฒฐ๊ณผ๋ฅผ ํ ๋๋ก (9,9) kernel๊ณผ average pooling์ ์ฌ์ฉํ ๊ฐ๋จํ 3-layer network(5.3M parameter)๋ก AffNIST์์ CapsNet์ ํฌ๊ฒ ์ํํ๋ ์ฑ๋ฅ์ ์ป์ ์ ์์๋ค.
์ ๋ ผ๋ฌธ์์ CapsNet์ด 35M๊ฐ์ parameter๋ฅผ ๊ฐ์ง CNN๋ณด๋ค ์ฑ๋ฅ์ด ์ข์๋ค๊ณ ๋ณด๊ณ ํ ๊ฒ์ ์๊ฐํ๋ฉด ๋คํธ์ํฌ์ ๊ตฌ์กฐ์ ๋ฐ๋ผ transform์ ๋ํ robustness์ ํฐ ์ฐจ์ด๊ฐ ๋ฐ์ํจ์ ์ ์ ์๋ค. ๊ทธ๋ฆฌ๊ณ CapsNet์ ์ ์๋ค์ ์ด๋ฅผ ์์์น ๋ชปํ๊ณ ๋๋ฌด ๋์ baseline์ ์ค์ ํ์ฌ ์๋ชป๋ ๊ฒฐ๋ก ์ ๋์ถํ ๊ฒ์ผ๋ก ๋ณด์ธ๋ค. ์ด๋ ์ฐ์ฐ์ผ ์๋ ์๊ณ , ์ํ๋ ๊ฒฐ๊ณผ๊ฐ ๋์ฌ ๋๊น์ง ์คํ์ ๋ฐ๋ณตํ๊ธฐ ๋๋ฌธ์ผ ์๋ ์๋ค.
๋ฅ๋ฌ๋ ์ฐ๊ตฌ๋ noise์ ํนํ ์ทจ์ฝํ๋ค. ์ ์ ํ Baseline์ ์ก๋ ๊ฒ์ ์ธ์ ๋ ์ด๋ ค์ฐ๋ฉฐ, ๋๊ฐ์ ์คํ์ ์ํํด๋ ๋งค๋ฒ ๋ค๋ฅธ ๊ฒฐ๊ณผ๊ฐ ๋์ค๊ณ , ์ฝ๊ฐ์ ์ฐจ์ด๋ก ์์ ํ ์๋ชป๋ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์๋ ์๊ธฐ์ ์คํ ๊ฒฐ๊ณผ์ ์ฌ์ฐ๋ ์ด๋ ต๋ค. ๋๋ฌธ์ ์๋ชป๋ ๋ ผ๋ฌธ์ด ๋์์ ๋ ์ด๋ฅผ ๊ฒ์ฆํ๋ ๊ฒ๋ ์ฝ์ง ์๋ค. ๊ฒฐ๊ณผ๊ฐ ์ฌ์ฐ๋์ง ์๋ ๋๋ถ๋ถ์ ๋ ผ๋ฌธ๋ค์ ๋๋ถ๋ถ ์กฐ์ฉํ ๋ฌปํ์ง๋ง Capsule network์ ๊ฒฝ์ฐ์๋ ์์ง๊น์ง๋ ์๋ชป๋ ๊ฐ์ ์ ๊ธฐ์ดํ ํ์ ์ฐ๊ตฌ๋ค์ด ๊พธ์คํ ๋์ค๊ณ ์๋ค.
์ด ์ฌ๊ฑด์ ๋ ผ๋ฌธ์ ์ธ ๋ ์ ์ ํ baseline์ ๊ฐ์ง๊ณ ๊ฐ์ค์ ์ง์ ๊ฒ์ฆํ๋ ๊ฒ์ ์ค์์ฑ์ remindํด ์ค๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๋ฐ ์์น์ ์ ๋๋ก ์งํค์ง ์์ ๋ ผ๋ฌธ์ ๋ํด์๋ ํ ๋ฒ ๋ ์์ฌํ๊ณ ๊ฒ์ฆํด์ผ ํ ๊ฒ์ด๋ค.
CapsNet ์์ฒด๋ ์ฑ๊ณต์ ์ด์ง ์์์ง๋ง ๊ทธ ๊ณผ์ ์ ์ด๋ฅด๋ ๋ ผ๋ฆฌ๋ ์ฌ์ ํ ์ฃผ๋ชฉํ ๋ง ํ๋ฉฐ, part-whole hierarchy๋ฅผ ์ํด capsule ๊ตฌ์กฐ๊ฐ ํ์ํ๋ค๋ ๋ ผ๋ฆฌ๋ ์ฌ์ ํ ์ ํจํ ์ ์๋ค. CapsNet์ ์ฑ๊ณต์ ์ด์ง ๋ชปํ์ง๋ง capsule์ด๋ผ๋ ๊ฐ๋ ์ ์กด์ฌ ๊ฐ์น๊ฐ ๋ถ์ ๋์๋ค๊ธฐ๋ณด๋ค๋ ๊ฐ capsule์ ์๋ฏธ๋ฅผ ๋ถ์ฌํ๋ routing algorithm์ด ์ ๋๋ก ์๋ํ์ง ์๋๋ค๊ณ ํด์ํ๋ ๊ฒ์ด ๋ ์ ํํ ๊ฒ์ด๋ค. ํนํ ์ฒ์ ์ ์๋ ๋ routing algorithm์ ์ํ์ ์ผ๋ก stableํ์ง ๋ชปํ ๊ฒ์ผ๋ก ๋ณด์ธ๋ค.[15]
Geoffrey Hinton์ ์ดํ์ ๋ ผ๋ฌธ์์ ๊ฐ patch์ ํ๋์ capsule์ ํ ๋นํ๊ณ ์ด๋ค์ด ๊ณ์ธต ๊ฐ์ ์ํธ์์ฉํ๋ ์๋ก์ด ๊ตฌ์กฐ๋ฅผ ์ ์ํ๋ฉด์ CapsNet์ด ์ฑ๊ณตํ์ง ๋ชปํ ์ด์ ๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ๋ถ์ํ๋ค.
"The fundamental weakness of capsules is that they use a mixture to model the set of possible parts. This forces a hard decision about whether a car headlight and an eye are really different parts. If they are modeled by the same capsule, the capsule cannot predict the identity of the whole. If they are modeled by different capsules the similarity in their relationship to their whole cannot be captured."[18]
์ด ์์๊ฐ ์ ์ ํ์ง ์๋์ง์ ์ฌ๋ถ์ ๋ฌด๊ดํ๊ฒ, ์ฐ๋ฆฌ๋ capsule์ด๋ผ๋ ๊ตฌ์กฐ๊ฐ ํ์ํ๋ค๋ ์ฌ์ค์ ๋์ฒด๋ก ๊ณต๊ฐํ์ง๋ง capsule network๊ฐ ์ฐ๋ฆฌ๊ฐ ์ํ๋ ๋๋ก ๋์ํ๋๋ก ํ์ตํ๊ฒ ๋ง๋๋ ๋ฒ์ ์์ง ์ฐพ์ง ๋ชปํ๋ค. ์ด๋ค ์ฌ๋๋ค์ ๋ฐ์ดํฐ์ ๋ถ์กฑ์ ์ด์ ๋ก ๊ผฝ๋๋ค. ๋ฌผ์ฒด์ ๊ตฌ์กฐ๋ฅผ ํ์ ํ๊ณ part-whole hierarchy๋ฅผ ๊ตฌ์ถํ๋ ๊ฒ์ image classificationํ๋ ๊ฒ๋ณด๋ค ํจ์ฌ ์ด๋ ต๋ค. Linear transform์ ๋ฐ๋ณต์ผ๋ก๋ ์ ํ ์ ์๋ task๋ฅผ ๊ตณ์ด ๋ ์ด๋ ค์ด ๋ฐฉ๋ฒ์ผ๋ก ์ํํ ์ด์ ๋ ์๊ณ , ๊ทธ๋ ๊ฒ ํ ๋งํ ์ ๋ณด๋ ๋ถ์กฑํ๋ค๋ ๊ฒ์ด๋ค. ๋๋ฌธ์ viewpoint equivariance๋ training ๋ฐฉ๋ฒ์ ํ์ (unsupervised learning ๋ฑ)์ด ์ ํ๋์ด์ผ ๋ฌ์ฑ๋ ์๋ ์๋ค. ์ด์จ๊ฑฐ๋ ๊ทธ ๋์๋ capsule์ด ์์ ๊ฒ์ด๋ผ ๋ฏฟ์ด ์์ฌ์น ์๋ ์ฌ๋๋ค์ด ์๊ณ , ๋๋ ๊ฑฐ๊ธฐ์ ์ผ๋ถ ๊ณต๊ฐํ๋ค.
[1] Qiu, Weichao, and Alan Yuille. "Unrealcv: Connecting computer vision to unreal engine." European Conference on Computer Vision. Springer, Cham, 2016.
[2] Yuille, Alan L., and Chenxi Liu. "Deep nets: What have they ever done for vision?." International Journal of Computer Vision 129.3 (2021): 781-802.
[3] Sabour, Sara, Nicholas Frosst, and Geoffrey E. Hinton. "Dynamic routing between capsules." arXiv preprint arXiv:1710.09829 (2017).
[4] Hinton, Geoffrey E., Alex Krizhevsky, and Sida D. Wang. "Transforming auto-encoders." International conference on artificial neural networks. Springer, Berlin, Heidelberg, 2011.
[5] Hinton, Geoffrey E. "Mapping part-whole hierarchies into connectionist networks." Artificial Intelligence 46.1-2 (1990): 47-75.
[6] Hinton, Geoffrey. "Some demonstrations of the effects of structural descriptions in mental imagery." Cognitive Science 3.3 (1979): 231-250.
[7] Esteves, Carlos, et al. "Equivariant multi-view networks." Proceedings of the IEEE/CVF International Conference on Computer Vision. 2019.
[8] Kim, Jinpyo, et al. "CyCNN: a rotation invariant CNN using polar mapping and cylindrical convolution layers." arXiv preprint arXiv:2007.10588 (2020).
[9] Marcos, Diego, Michele Volpi, and Devis Tuia. "Learning rotation invariant convolutional filters for texture classification." 2016 23rd International Conference on Pattern Recognition (ICPR). IEEE, 2016.
[10] โHebbian theoryโ Wikipedia, Wikimedia Foundation, https://en.wikipedia.org/wiki/Hebbian_theory
[11] Hinton, Geoffrey E., Sara Sabour, and Nicholas Frosst. "Matrix capsules with EM routing." International conference on learning representations. 2018.
[12] Gu, Jindong, Volker Tresp, and Han Hu. "Capsule Network is Not More Robust than Convolutional Network." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2021.
[13] Andersen, Per-Arne. "Deep reinforcement learning using capsules in advanced game environments." arXiv preprint arXiv:1801.09597 (2018).
[14] Xi, Edgar, Selina Bing, and Yang Jin. "Capsule network performance on complex data." arXiv preprint arXiv:1712.03480 (2017).
[15] Paik, Inyoung, Taeyeong Kwak, and Injung Kim. "Capsule networks need an improved routing algorithm." Asian Conference on Machine Learning. PMLR, 2019.
[16] Mukhometzianov, Rinat, and Juan Carrillo. "CapsNet comparative performance evaluation for image classification." arXiv preprint arXiv:1805.11195 (2018).
[17] Gu, Jindong, and Volker Tresp. "Improving the robustness of capsule networks to image affine transformations." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020.
[18] Hinton, Geoffrey. "How to represent part-whole hierarchies in a neural network." arXiv preprint arXiv:2102.12627 (2021).