Skip to content

๐Ÿฆพ Automatic Differentiation (์ž๋™๋ฏธ๋ถ„) โ€‹

์ž๋™๋ฏธ๋ถ„์€ ๋ธํƒ€๋…ผ๋ฒ•๊ณผ ๊ฐ™์€ ์ˆ˜์น˜ ๋ฏธ์คŒ๊ณผ๋Š” ๊ตฌ๋ถ„๋˜๋Š” ๋ฏธ๋ถ„ ๋ฐฉ์‹์ด๋‹ค. ์ˆ˜์น˜ ๋ฏธ๋ถ„์˜ ๊ฒฝ์šฐ ๊ธฐํ˜ธ์œ„์ฃผ์˜ ๋Œ€์ˆ˜ํ•™์  ๊ทœ์น™์„ ์ปดํ“จํ„ฐ ์—ฐ์‚ฐ์— ์ ์šฉํ•˜๋‹ค ๋ณด๋‹ˆ ๋น„ํšจ์œจ์ ์ด๋ฉฐ, ๋ฐ˜์˜ฌ๋ฆผ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค.

๋”ฐ๋ผ์„œ, ๋‹ค์ˆ˜์˜ input์— ๋Œ€ํ•œ ๋ฏธ๋ถ„๊ฐ’์„ ๊ตฌํ•ด์•ผ ํ•˜๋Š” ์ปดํ“จํ„ฐ ์—ฐ์‚ฐ ํ™˜๊ฒฝ์—์„œ๋Š” ์ž๋™๋ฏธ๋ถ„์„ ํ™œ์šฉํ•œ๋‹ค. ์ž๋™๋ฏธ๋ถ„์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ํŽธ๋ฏธ๋ถ„์˜ ์—ฐ์‡„๋ฒ•์น™๊ณผ ๊ฐ™์€ ์—ฐ์‡„๋ฒ•์น™์„ ์ ์šฉํ•˜์—ฌ ๊ณ„์‚ฐํ•˜๋ฉฐ, y->x์˜ ์ˆœ์„œ๋กœ ๋ฏธ๋ถ„ ์—ฐ์‚ฐ์„ ์ง„ํ–‰ํ•œ๋‹ค.

์ž๋™๋ฏธ๋ถ„์€ ๋”ฅ๋Ÿฌ๋‹๊ณผ ๋จธ์‹ ๋Ÿฌ๋‹์—์„œ ์•„์ฃผ ๊ธฐ๋ณธ์ ์ด๊ณ  ํ•ต์‹ฌ์ ์ธ ์—ฐ์‚ฐ์œผ๋กœ, ์—ญ์ „ํŒŒ ๋ฐฉ์‹์„ ํ†ตํ•œ ๊ฐ€์ค‘์น˜ ๊ฐฑ์‹  ๊ณผ์ •์— ํ™œ์šฉ๋œ๋‹ค.

PyTorch์™€ Tensorflow๋Š” ์ž๋™๋ฏธ๋ถ„์„ ๊ณ„์‚ฐํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋ฉฐ, ์ด๋“ค์„ ํ™œ์šฉํ•ด ๋”ฅ๋Ÿฌ๋‹์˜ ์‹ ๊ฒฝ๋ง์„ ๊ตฌํ˜„ํ•œ๋‹ค. ์ด ๋‘ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์ž๋™๋ฏธ๋ถ„์€ ์—ญ์ „ํŒŒ(backward pass)๋กœ ๊ณ„์‚ฐ๋œ๋‹ค.