๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

A PIECE OF DATA/๐Ÿ• ๋”ฅ๋Ÿฌ๋‹

[๋”ฅ๋Ÿฌ๋‹ ๊ธฐ์ดˆ] ๋จธ์‹ ๋Ÿฌ๋‹ ๊ธฐ์ดˆโ‘ข(Neural Nets for XOR)

* ๋”ฅ๋Ÿฌ๋‹ session์€ Sung Kim๋‹˜์˜ ๊ฐ•์˜ (์œ ํŠœ๋ธŒ)๋ฅผ ์š”์•ฝ/์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.

** Sung Kim๋‹˜์˜ ๊ฐ•์˜์™€ ์ž๋ฃŒ๋Š” ์•„๋ž˜์˜ ์ž๋ฃŒ๋ฅผ ์ฐธ๊ณ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

- Andrew Ng's ML class

- Convolutional Neural Networks for Visual Recognition

- Tensorflow


CONTENTS

  • ๋‰ด๋Ÿด๋„คํŠธ์›Œํฌ,Neural Nets(NN) for XOR
  • XOR๋ฌธ์ œ ํ‘ธ๋Š” ๋ฐฉ๋ฒ•
  • ์—ญ์ „ํŒŒ์˜ค๋ฅ˜, Backpropagation

09-1. Neural Nets(NN) for XOR

 

AND๋ฌธ์ œ๋ž€?

0, 1์ผ ์ค‘ ๋‘˜ ๋‹ค 1์ผ ๋•Œ๋งŒ +์ด๊ณ  ํ•˜๋‚˜๋ผ๋„ 0์ด๋ฉด -์ด๋‹ค.

(0 0) โ†’ -    (1, 0) โ†’ -

(0 1) โ†’ -    (1, 1) โ†’ +

 

OR๋ฌธ์ œ๋ž€?

0, 1์ผ ์ค‘ ๋‘˜ ๋‹ค 0์ผ ๋•Œ๋งŒ -์ด๊ณ  ํ•˜๋‚˜๋ผ๋„ 1์ด๋ฉด +์ด๋‹ค.

(0 0) โ†’ -     (1, 0) โ†’ +

(0 1) โ†’ +    (1, 1) โ†’ +

 

XOR๋ฌธ์ œ๋ž€?

0, 1์ผ ์ค‘ X1๊ณผ X2๊ฐ€ ๊ฐ™์œผ๋ฉด -์ด๊ณ  ๋‹ค๋ฅด๋ฉด +์ด๋‹ค.

(0 0) โ†’ -     (1, 0) โ†’ +

(0 1) โ†’ +    (1, 1) โ†’ -

XOR๋ฌธ์ œ๋Š” AND์™€ OR๋ฌธ์ œ์ฒ˜๋Ÿผ ํ•˜๋‚˜์˜ ์ง์„ ์œผ๋กœ +์™€ -์„ ๋‚˜๋ˆŒ ์ˆ˜ ์—†๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ์˜ Multiple logisitc regression์ด ํ•„์š”ํ•˜๋‹ค.

 

XOR ํ‘ธ๋Š” ๋ฐฉ๋ฒ•

 

(์˜ˆ์‹œ) X1๊ณผ X2๊ฐ€ 0์ผ ๋•Œ Y๊ฐ’์€ ๋ฌด์—‡์ผ๊นŒ?

๊ฐ neural network์— weight๊ณผ bias(W,b)๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •ํ•ด์ ธ์žˆ๋‹ค.

1. W1 = 5, W2 = 5, b = -8

2. W1 = -7, W2 = -7, b = 3

3. W1 = -11, W2 = -11, b = 6


09-2. Backpropagation


W,b(weight๊ณผ bias)๋ฅผ ๋ฐ์ดํ„ฐ๋กœ๋ถ€ํ„ฐ ์–ด๋–ป๊ฒŒ ํ•™์Šตํ•  ์ˆ˜ ์žˆ์„๊นŒ?

: Gradient Descent(๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•) ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ†ตํ•ด์„œ ๊ธฐ์šธ๊ธฐ๊ฐ€ ์ตœ์†Œ๊ฐ€ ๋˜๋Š” ์ ์„ ๊ตฌํ•œ๋‹ค.

* ๋‰ด๋Ÿด๋„คํŠธ์›Œํฌ์—์„œ๋Š” W,b(weight๊ณผ bias)๋ฅผ ๋ฐ์ดํ„ฐ๋กœ๋ถ€ํ„ฐ ์–ด๋–ป๊ฒŒ ํ•™์Šตํ•  ์ˆ˜ ์žˆ์„๊นŒ?

: ๊ฐ x1, x2 ... xN์ด Y์— ์˜ํ–ฅ๋ ฅ์„ ๊ตฌํ•  ์ˆ˜ ์žˆ์–ด์•ผ์ง€ W,b๋ฅผ ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด backpropagation์„ ์‚ฌ์šฉํ•œ๋‹ค.

 

์—ญ์ „ํŒŒ์˜ค๋ฅ˜(backpropagation)์ด๋ž€?

: ์˜ˆ์ธกํ•œ ๊ฐ’๊ณผ ์‹ค์ œ ๊ฐ’์˜ ์ฐจ์ด์ธ cost๊ฐ’์„ ๋’ค์—์„œ๋ถ€ํ„ฐ ๋‹ค์‹œ ๋Œ์•„๊ฐ€๋ฉด์„œ ๊ณ„์‚ฐํ•˜๋ฉด์„œ w,b๋ฅผ ์กฐ์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

 

์—ฐ์‡„๋ฒ•์น™(chain rule)์ด๋ž€?

: ๋ฏธ์ ๋ถ„ํ•™์—์„œ ๋‘๊ฐœ ์ด์ƒ์˜ ํ•จ์ˆ˜๋ฅผ ํ•˜๋‚˜์˜ ํ•จ์ˆ˜๋กœ ๋งŒ๋“œ๋Š” ๊ณต์‹์ด๋‹ค.

 

backpropagation ๊ณ„์‚ฐ ๋ฐฉ๋ฒ•

f = wx + b, g = wx โ†’ f = g+b์ผ ๋•Œ ์ด๋ฅผ ๊ทธ๋ฆผ์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค. 

w = -2, x = 5, b = 3์ด๋‹ค.

โ—† 1. forward ๋ฐฉ์‹์œผ๋กœ ์ฃผ์–ด์ง„ ๊ณต์‹์— ๋งž๊ฒŒ g์™€ f๋ฅผ ์ฐพ์•„๊ฐ„๋‹ค.

: g = w*x ์ด๋ฏ€๋กœ -10์ด๊ณ  f = g + b์ด๋ฏ€๋กœ -7์ด๋‹ค.

 

โ—† 2. backward๋กœ ๋ฏธ๋ถ„๊ฐ’์„ ์ฐพ์•„๊ฐ„๋‹ค. 

: ์ฃผ์–ด์ง„ ๊ณต์‹์—์„œ ๋ฏธ๋ถ„๊ฐ’์„ ๋ฏธ๋ฆฌ ๊ตฌํ•ด๋‘๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

ํŒŒ๋ž‘์€ ์ด๋ฏธ ์ฃผ์–ด์ง„ ๋ฏธ๋ถ„๊ฐ’์ด๊ณ , ๋นจ๊ฐ„ ๋ถ€๋ถ„์ด chain rule์„ ์ด์šฉํ•œ ๊ณ„์‚ฐ

โ—† 3. ๋ฏธ๋ถ„๊ฐ’์„ ํ†ตํ•ด ์กฐ์ •ํ•ด๋‚˜๊ฐ„๋‹ค.

af/aw์˜ ๊ฐ’์€ 5์ด๋‹ค. ์ฆ‰ w๊ฐ€ 1์ด ๋ฐ”๋€Œ๋ฉด f๊ฐ€ 5๋ฐฐ ๋ฐ”๋€๋‹ค๋Š” ์˜๋ฏธ๋ฅผ ๊ฐ€์ง„๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ w๋ฅผ ํ†ตํ•ด f๋ฅผ ์กฐ์ •ํ•ด๋‚˜๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.