11.1 Sequential Processing

Untitled

Untitled

์ง€๊ธˆ๊นŒ์ง€ ๋ด์™”๋˜ networks๋“ค์€ ๋ชจ๋‘ Fig. 11์™€ Eq. 11.1 ์™€ ๊ฐ™์ด sequential ํ•˜๊ฒŒ ์—ฐ์‚ฐํ•˜์˜€๋‹ค.

11.1.1 Limitation of Sequential Processing

์šฐ๋ฆฌ๋Š” ์›ํ•œ๋‹ค๋ฉด ์–ผ๋งˆ๋“ ์ง€ layer๋ฅผ ๋งŽ์ด ์Œ“์•„ ์ •๋ง deepํ•œ ๋ชจ๋ธ์„ ์„ค๊ณ„ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ณผ VGGNet (18 layers) ์ด AlexNet (8 layers) ๋ณด๋‹ค ์ข‹์€ ์„ฑ๋Šฅ์„ ๋‚ธ ๊ฒƒ์ฒ˜๋Ÿผ, deeperํ•œ ๋ชจ๋ธ์€ ๋˜ํ•œ ๋” ์ข‹์€ ์„ฑ๋Šฅ์„ ๋‚ผ ๊ฒƒ์ด๋ผ๊ณ  ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์žˆ๋‹ค.

Untitled

ํ•˜์ง€๋งŒ Fig. 11.2์—์„œ ๋ณด์ด๋Š” ์‹คํ—˜์€ ์˜คํžˆ๋ ค layer๋ฅผ ๊นŠ๊ฒŒ ์Œ“์•˜์„ ๋•Œ (56 layers) ์–•๊ฒŒ ์Œ“์€ ๋ชจ๋ธ (20 layers) ๋ณด๋‹ค training, test ๋ชจ๋‘ ์—์„œ ๋” ์•ˆ์ข‹์€ ์„ฑ๋Šฅ์„ ๋ณด์ž„์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

์ด๋Ÿฌํ•œ ํ˜„์ƒ์˜ ์›์ธ์€ ์•„์ง ๋ช…ํ™•ํžˆ ๋ฐํ˜€์ง€์ง€ ์•Š์•˜๋‹ค. ํ•œ๊ฐ€์ง€ ์ถ”์ธก์€ initialization ๋‹จ๊ณ„์—์„œ, ๋ชจ๋ธ์˜ early layers์˜ parameters๋ฅผ update ํ•  ๋•Œ loss gradients ๊ฐ€ ์˜ˆ์ธก ๋ถˆ๊ฐ€ํ•˜๊ฒŒ ๋ณ€ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์•ž์„œ He initialization ๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ parameters๋ฅผ ์ ์ ˆํžˆ initialize ํ•˜๋ฉด ํ•˜์ง€ ์•Š์•˜์„ ๋•Œ๋ณด๋‹ค gradient ์˜ ๋ณ€ํ™”๊ฐ€ ๊ทธ๋ ‡๊ฒŒ ์‹ฌํ•˜์ง€ ์•Š๋‹ค.

ํ•˜์ง€๋งŒ, Gradient descent์™€ ๊ฐ™์€ finite ํ•œ step์˜ ํฌ๊ธฐ๋ฅผ ๊ฐ–๋Š” optimization algorithm๊ณผ ๋‹ฌ๋ฆฌ, ์‹ค์ œ gradient๋Š” parameters์˜ infinitesimal ํ•œ ๊ตฌ๊ฐ„ ($\Delta x \rightarrow 0$) ์—์„œ์˜ ๊ธฐ์šธ๊ธฐ๋ฅผ ๊ตฌํ•œ ๊ฒƒ์ด๋‹ค. ์•„๋ฌด๋ฆฌ step size ๋ฅผ ์ž˜ ์„ ํƒํ•˜๋”๋ผ๋„ loss surface๊ฐ€ step size ๋ณด๋‹ค ์ž‘์€ ๊ณต๊ฐ„์—์„œ ๋ณ€๋™์„ฑ์ด ํฌ๋‹ค๋ฉด, update ๋œ parameters ๋Š” ์ „ํ˜€ ์—‰๋šฑํ•œ ๊ณณ์— ๋„๋‹ฌํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

early layers์—์„œ์˜ gradient ๊ฐ€ ์˜ˆ์ธก ๋ถˆ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋ณ€ํ•ด์„œ ๋ชจ๋ธ์ด ๊นŠ์–ด์งˆ ์ˆ˜ ์—†๋‹ค๋Š” ๊ฐ€์ •์€ ํ•˜๋‚˜์˜ ๋ ˆ์ด์–ด๋ฅผ ๊ฐ–๋Š” ๋ชจ๋ธ์„ ๊ฐ€์ง€๊ณ  ์ด๋ฅผ ๋’ท๋ฐ›์นจ ํ•  ์ˆ˜ ์žˆ๋‹ค.

Untitled

Fig. 11.3a) ์€ ํ•˜๋‚˜์˜ ๋ ˆ์ด์–ด๋ฅผ ๊ฐ–๋Š” ๋ชจ๋ธ์˜ ๊ฐ x๊ฐ’์— ๋Œ€ํ•œ gradient ์ด๋‹ค. $x$์˜ ๊ฐ’์— ๋”ฐ๋ผ gradient ์˜ ๋ณ€๋™์„ฑ์ด ํฌ์ง€ ์•Š๋‹ค. (๊ฐ $x$ ์—์„œ์˜ ๊ธฐ์šธ๊ธฐ๋ฅผ ๋ณด๋ฉด๋จ.). ๋ฐ˜๋ฉด, Fig. 11.3b)์—์„œ๋Š” 24๊ฐœ์˜ ๋ ˆ์ด์–ด๋ฅผ ๊ฐ–๋Š” ์ƒ๋Œ€์ ์œผ๋กœ ๊นŠ์€ ๋„คํŠธ์›Œํฌ๋Š” $x$๊ฐ€ ๋ณ€ํ•จ์— ๋”ฐ๋ผ gradient๊ฐ€ ์˜ˆ์ธก ๋ถˆ๊ฐ€ํ•˜๊ฒŒ ๋ณ€ํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ($x$์˜ ์ž‘์€ ๋ณ€ํ™”์—๋„ gradient ๊ฐ€ ํฐ ํญ์œผ๋กœ ๋ณ€ํ•˜๊ธฐ ๋•Œ๋ฌธ์— parameter์˜ update๋„ ๋ถˆ๊ทœ์น™์ ์œผ๋กœ ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค.)

์ด๋Ÿฌํ•œ gradient๋“ค์˜ ๋ณ€ํ™”์˜ autocorrelation ์„ ๊ตฌํ•˜๋ฉด Fig. 11.3c) ์™€ ๊ฐ™์ด ๊ตฌํ•ด๋ณผ ์ˆ˜ ์žˆ๋‹ค. layer๊ฐ€ ๊นŠ์–ด์งˆ ์ˆ˜๋ก $\Delta x$ ๊ฐ€ ์•„์ฃผ ์ž‘์„ ๋•Œ๋งŒ autocorrelation ๊ฐ’์ด ํฐ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ˜„์ƒ์„ shattered gradients phenomenon ์ด๋ผ๊ณ  ํ•œ๋‹ค.

Shattered gradient ๋Š” ๋ชจ๋ธ์ด ๊นŠ์–ด์งˆ ์ˆ˜๋กฃ early layers์˜ ๋ณ€ํ™”๊ฐ€ output์„ ๊ต‰์žฅํžˆ ๋ณต์žกํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ณ„์‚ฐํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•œ๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

Untitled

Eq. 11.3 ์—์„œ๋Š” $\bold{f_1}$ ์˜ gradient ๋ฅผ ๊ณ„์‚ฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” $\bold{f_2, f_3, f_4}$ ์˜ gradient ๋ฅผ chain rule ์— ๋”ฐ๋ผ ์ˆœ์ฐจ์ ์œผ๋กœ ๊ณฑํ•ด์•ผํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ $\bold{f_1}$ ์— ์˜ํ–ฅ์„ ์ฃผ๋Š” parameter ๋ฅผ update ํ•˜๋ฉด $\bold{f_2, f_3, f_4}$ ์—๋„ ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ๋ฐ–์— ์—†๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ๋งค training example ์— ๋Œ€ํ•˜์—ฌ ๊ตฌํ•œ gradient ๊ฐ€ ๊ต‰์žฅํžˆ messy ํ•  ์ˆ˜ ๋ฐ–์— ์—†์„ ๊ฒƒ์ด๋‹ค.