๐Ÿšฉ๋”ฅ๋Ÿฌ๋‹ ๊ธฐ์ดˆ - part11. ์ธ๊ณต ์‹ ๊ฒฝ๋ง ๊ฐœ์š”

vincaยท2022๋…„ 11์›” 8์ผ
0

๐ŸŒ“ AI/DL - theory

๋ชฉ๋ก ๋ณด๊ธฐ
12/24
post-thumbnail

๐ŸŸข Introduction

์•„๋งˆ ๋ณธ๊ฒฉ์ ์ธ ๋”ฅ๋Ÿฌ๋‹์˜ ์‹œ์ž‘์ด๋  ๊ฒƒ ๊ฐ™๋‹ค.
์ด๋ฒˆ ํŒŒํŠธ์—์„œ๋Š” ๊ฐ„๋‹จํ•˜๊ฒŒ ์ธ๊ณต์‹ ๊ฒฝ๋ง์ด ๋ญ”์ง€, ๋Œ€ํ‘œ์ ์ธ XOR๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ•˜๋Š”์ง€ ์•Œ์•„๋ณด์ž!

๐Ÿ”ฎ ์ธ๊ณต์‹ ๊ฒฝ๋ง์ด๋ž€?

์ธ๊ณต ์‹ ๊ฒฝ๋ง์ด๋ž€ ๋ฌด์—‡์ผ๊นŒ?
์‹ค์ œ ์ธ๊ฐ„์˜ ๋‡Œ์˜ ์‹ ๊ฒฝ๊ณ„๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ธฐ๋ณธ๋‹จ์œ„์ธ ๋‰ด๋Ÿฐ์„ ๋ฐ”ํƒ•์œผ๋กœ ๋งŒ๋“  ๊ฒƒ์ด ๋ฐ”๋กœ ์ธ๊ณต ์‹ ๊ฒฝ๋ง์ด๋‹ค.

  • ๋‰ด๋Ÿฐ
  • ์ธ๊ณต ์‹ ๊ฒฝ๋ง

์ด๋Ÿฌํ•œ ์ธ๊ณต์‹ ๊ฒฝ๋ง์„ ํผ์…‰ํŠธ๋ก  ์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.
์ธ๊ณต์‹ ๊ฒฝ๋ง์„ ์‚ดํŽด๋ณด๋„๋ก ํ•˜์ž.

๐ŸŽซ ์ธ๊ณต์‹ ๊ฒฝ๋ง์˜ ๊ตฌ์„ฑ์š”์†Œ

  • xx
    x0=1x_0=1๋กœ ๊ณ ์ •๋œ bias ๊ฐ’(y์ ˆํŽธ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ํŽธํ•˜๋‹ค)๊ณผ x1,x2,x3...xnx_1, x_2,x_3 ...x_n ๊นŒ์ง€์˜ xx๊ฐ’๋“ค์ด ์กด์žฌํ•˜๊ณ  ์žˆ๋‹ค.
    ์ด๋Ÿฌํ•œ xx๊ฐ’์€ ํ•™์Šต ๋ฐ์ดํ„ฐ์˜ feature๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๊ณผ์ผ์„ ๋ถ„๋ฅ˜ํ•œ๋‹ค๋ผ๊ณ  ํ•˜์˜€์„ ๋•Œ ํฌ๊ธฐ, ์ด์‹ฌ๋ฅ , ์ƒ‰์ƒ์˜ RGB๊ฐ’ ๋“ฑ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.
  • ww
    ๊ฐ€์ถฉ์น˜๋ฅผ ๋œปํ•œ๋‹ค. ๊ฐ feature๋งˆ๋‹ค, ์–ผ๋งŒํผ ํ•ด๋‹น feature๋ฅผ ๊ฐ•์กฐํ•ด์„œ ํ‘œํ˜„ํ•˜์—ฌ์•ผ ๊ฐ€์žฅ ์ž˜ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ํ‰๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค.
    ์ธ๊ณต์‹ ๊ฒฝ๋ง์˜ ํ•™์Šต์ด๋ผ๋Š” ๊ฒƒ์€ ๊ฒฐ๊ตญ ์ด๋Ÿฌํ•œ ww์˜ ์ตœ์ ์˜ ๊ฐ’์„ ์ฐพ๋Š” ๊ฒƒ์ด๋‹ค.

์ด๋Ÿฌํ•œ weight๊ฐ€ ์ ์šฉ๋œ feature๊ฐ’๋“ค์„ ๋ชจ๋‘ ๋”ํ•˜๊ฒŒ ๋˜๋ฉด z=w0+w1x1+w2x2+w3x3...z =w_0+w_1x_1+w_2x_2+w_3x_3 . . .๊ฐ€ ๋‚˜์˜ค๊ณ , ์ด๋Š” ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด z=โˆ‘i=1Nwixiz = \sum_{i=1}^N w_ix_i ๋กœ ์‹œ๊ทธ๋งˆ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

(๋˜ํ•œ ํ–‰๋ ฌ์˜ ๊ณฑ ํ˜•ํƒœ๋กœ z=WTXz = W^TX๋กœ๋„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Š” ๋‹ค์ค‘์„ ํ˜•๋ถ„๋ฅ˜์—์„œ ๋ฐฐ์› ๋‹ค.)

์ด๋Ÿฌํ•œ ๊ฐ’(zz)์„ ์ตœ์ข…์ ์œผ๋กœ ํ™œ์„ฑํ•จ์ˆ˜(activation function)์— ํ†ต๊ณผ์‹œ์ผœ, 0๋˜๋Š” 1๋กœ ๋ถ„๋ฅ˜๋˜๋„๋ก ํ•œ๋‹ค.
๋”ฐ๋ผ์„œ ํ•˜๋‚˜์˜ ํผ์…‰ํŠธ๋ก ์€ ์ด์ง„ ๋ถ„๋ฅ˜๊ธฐ๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

  • (+ ์•Œ์•„๋‘๋ฉด ์ข‹์€ ์ƒ์„ธ ๋‚ด์šฉ)
    ์ •ํ™•ํ•˜๊ฒŒ ๋‚˜๋ˆˆ๋‹ค๋ฉด, ํ•œ ํผ์…‰ํŠธ๋ก ์€ ์ž…๋ ฅ์ธต๊ณผ ์ถœ๋ ฅ์ธต์œผ๋กœ ๋‚˜๋ˆ ์„œ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
    ์ด๋ ‡๊ฒŒ ์ž…๋ ฅ์ธต(xx)๊ณผ ์ถœ๋ ฅ์ธต(yy)์œผ๋กœ ๊ตฌ์„ฑ๋œ ํผ์…‰ํŠธ๋ก ์˜ ๊ตฌ์กฐ์—์„œ ์ž…๋ ฅ์ธต์€ ํŠน์ง• ๋ฒกํ„ฐ(x1โˆ’xnx_1-x_n)๋ฅผ ๋‚˜ํƒ€๋‚ด๊ณ , ์ถœ๋ ฅ์ธต์€ ์ด ๊ฐ’์„ ํ•ฉํ•œ ๋’ค, ํ™œ์„ฑํ•จ์ˆ˜๋ฅผ ํ†ต๊ณผ ์‹œ์ผœ 0,1 ๋กœ ๋ถ„๋ฅ˜ํ•˜๋Š” ์„ ํ˜• ๋ถ„๋ฅ˜๊ธฐ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๊ฒ ๋‹ค.
    ๊ทธ๋ž˜์„œ ํผ์…‰ํŠธ๋ก  1๊ฐœ = ์„ ํ˜•๋ถ„๋ฅ˜๊ธฐ 1๊ฐœ ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ.
  • ํ™œ์„ฑํ•จ์ˆ˜ g(x)g(x)์— z=โˆ‘i=1Nwixiz = \sum_{i=1}^N w_ix_i ๊ฐ’์ด ํ†ต๊ณผ๋˜๋ฏ€๋กœ, ์ด ๋•Œ์˜ zz๋ฅผ Affineํ•จ์ˆ˜๋ผ๊ณ  ํ•œ๋‹ค.

๐Ÿฅฝ ํผ์…‰ํŠธ๋ก ์˜ ์ˆ˜์šฉ๋ ฅ

๊ทธ๋Ÿผ ์ด๋Ÿฌํ•œ ํ•œ๊ฐœ ํผ์…‰ํŠธ๋ก ์˜ ์ˆ˜์šฉ๋ ฅ(ํ‘œํ˜„๋ ฅ)์€ ์–ด๋–จ๊นŒ? - (๋ฐ์ดํ„ฐ๋ฅผ ์–ผ๋งˆ๋‚˜ ์ž˜ ๋ถ„๋ฅ˜/ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ธ๊ฐ€)
4๊ฐœ์˜ ๋ฐ์ดํ„ฐ (0,0), (1,0), (1,0), (1,1)๋ฅผ ํ•˜๋‚˜์˜ ํผ์…‰ํŠธ๋ก (์„ ํ˜•)์œผ๋กœ ๋ถ„๋ฅ˜ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณด์ž.
OR ๊ฒŒ์ดํŠธ์™€ AND๊ฒŒ์ดํŠธ๋Š” ํ•˜๋‚˜์˜ ํผ์…‰ํŠธ๋ก ์œผ๋กœ ์‰ฝ๊ฒŒ ๋ถ„๋ฅ˜ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, XOR๊ฒŒ์ดํŠธ๋Š” ํ•˜๋‚˜์˜ ํผ์…‰ํŠธ๋ก ์œผ๋กœ ํ‘œํ˜„ํ•˜๊ธฐ ํž˜๋“ค๋‹ค.
์•„๋ž˜ ์‚ฌ์ง„์„ ๋ณด๋ผ.

๊ฐ ๊ฒŒ์ดํŠธ์— (x1,x2x1,x2)๋ฅผ ๋„ฃ๊ณ , ๋‚˜์˜ค๋Š” ์ถœ๋ ฅ(yy)์ธ โ– , โ—์˜ ์˜๋ฏธ
โ–  : +1 (True or Positive)
โ— : -1 (False or Negative)

๐Ÿงฌ XOR ๋ฌธ์ œ ํ•ด๊ฒฐ๊ณผ์ • (MLP์˜ ์‚ฌ์šฉ ์ด์œ )

์ด๋Ÿฌํ•œ XOR ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„ (์„ ํ˜•๊ฐ€์ง€๊ณ  ๋ถ„๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด์„ ) ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ?

๋‘ ๋‹จ๊ณ„์— ๊ฑธ์ณ์„œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ๋‹ค.

  • ๋‹จ๊ณ„ 1: ์›๋ž˜ ํŠน์ง• ๊ณต๊ฐ„์„ ์ƒˆ๋กœ์šด ๊ณต๊ฐ„์œผ๋กœ ๋งคํ•‘
    ๋‹จ๊ณ„ 2: ์ƒˆ๋กœ์šด ๊ณต๊ฐ„์—์„œ ๋ถ„๋ฅ˜

์ด ๋ฌธ์ œ๋ฅผ ์‰ฝ๊ฒŒ ํ•ด๊ฒฐํ•˜๊ธฐ์œ„ํ•ด XOR ๊ฒŒ์ดํŠธ๋ฅผ ์–ด๋–ป๊ฒŒ ๋งŒ๋“œ๋Š”์ง€ ์ƒ๊ฐํ•ด๋ณด์ž.

๊ฐ„๋‹จํ•˜๊ฒŒ XOR ๊ฒŒ์ดํŠธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ‘œ๊ธฐํ•  ์ˆ˜ ์žˆ๋‹ค.

์œ„์™€ ๊ฐ™์ด ํ‘œ์‹œ ํ•  ์ˆ˜ ์žˆ๊ฒ ์ง€๋งŒ, XOR๊ฒŒ์ดํŠธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด 3๊ฐœ์˜ ๊ฒŒ์ดํŠธ์˜ ์กฐํ•ฉ์œผ๋กœ๋„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

์—ฌ๊ธฐ์„œ NAND, OR, AND ๊ฒŒ์ดํŠธ์˜ ๊ณตํ†ต์ ์„ ์•Œ๊ฒ ๋Š”๊ฐ€?

๋ฐ”๋กœ ์ขŒํ‘œ ํ‰๋ฉด์ƒ์—์„œ ์„ ํ˜•์œผ๋กœ ๋ถ„๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ด๋‹ค! (XOR ๊ฒŒ์ดํŠธ๋Š” ์ขŒํ‘œ ํ‰๋ฉด์ƒ์—์„œ ์„ ํ˜•์œผ๋กœ ๋ถ„๋ฆฌํ•  ์ˆ˜ ์—†๋‹ค!)

  • ์ขŒํ‘œ ํ‰๋ฉด์ƒ์—์„œ ์„ ํ˜•(ํผ์…‰ํŠธ๋ก )ํ•˜๋‚˜๋กœ ์˜์—ญ์„ ๋ถ„๋ฆฌํ•  ์ˆ˜ ์žˆ์Œ.
  • XOR์€ ์ขŒํ‘œ ํ‰๋ฉด์—์„œ ์„ ํ˜•(ํ•˜๋‚˜์˜ ํผ์…‰ํŠธ๋ก )์œผ๋กœ ๋ถ„๋ฆฌํ•  ์ˆ˜ ์—†์Œ.

๊ฐ์ด์˜ค๋Š”๊ฐ€?

XOR์„ ์„ ํ˜•์œผ๋กœ ๋ถ„๋ฅ˜๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ํผ์…‰ํŠธ๋ก  ํ•˜๋‚˜๊ฐ€ ์•„๋‹ˆ๋ผ, ์ด 3๊ฐœ์˜ ํผ์…‰ํŠธ๋ก (NAND, AND, OR)์„ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

์•ž์— ๋ดค๋˜ ๊ทธ๋ฆผ์˜ 3๊ฐœ์˜ ๊ฒŒ์ดํŠธ์—์„œ ์•ž์˜ ์ž…๋ ฅ์„ ๊ณ„์‚ฐํ•ด์ฃผ๋Š” ๋ถ€๋ถ„์„ 1์ธต, ์ตœ์ข… ๊ฒฐ๊ณผ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” AND๋ฅผ 2์ธต์ด๋ผ๊ณ  ํ•˜๊ฒ ๋‹ค.

์ฆ‰, ์ž…๋ ฅ์ธต๊ณผ ์ถœ๋ ฅ์ธต ์‚ฌ์ด์—, 1์ธต Hidden Layer๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ์ธต์„ ํ•˜๋‚˜ ๋” ์ถ”๊ฐ€ํ•ด์„œ ๊ตฌํ˜„ ํ•œ ๊ฒƒ์ด๋‹ค.

์ด๋ฃฐ ํ†ตํ•ด XOR์„ ์„ ํ˜• ๋ถ„๋ฆฌ(AND, OR, NAND)๋งŒ์œผ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค.

๐ŸŽ‰ ์ตœ์ข… ์ •๋ฆฌ

  • hidden Layer(1๋‹จ๊ณ„)๋ฅผ ์ถ”๊ฐ€ํ•จ์œผ๋กœ์จ ๋‹ค์Œ๊ณผ ๊ฐ™์ด (1, 1) = 1๋กœ ๊ฐ’์ด ๊ฒน์น˜๊ฒŒ ๋˜๋ฉฐ ์ด์   ์„ ํ˜•์œผ๋กœ ๋ถ„๋ฅ˜๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

์„ ํ˜• ๋ถ„๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๋œป?
์œ„ ์‚ฌ์ง„์—์„œ ์ž…๋ ฅ (1,0)๊ณผ (0,1)๋Š” 1๋‹จ๊ณ„(P1,P2)์—์„œ์˜ ๊ฒฐ๊ณผ ๊ฐ’์ด ์„œ๋กœ ๋™์ผํ•˜๊ฒŒ ๋‚˜์˜ค๊ฒŒ ๋˜๋ฏ€๋กœ ์ขŒํ‘œํ‰๋ฉด์ƒ์—์„œ์˜ ์ ์ด ์•„๋ž˜์™€ ๊ฐ™์ด (-1,1) (1,1) (1,-1) ์„ธ ์ ์˜ ํ˜•ํƒœ๋กœ๋งŒ ๋‚˜์˜ค๊ฒŒ ๋œ๋‹ค.

์ด๋Š” ์„ ํ˜•์œผ๋กœ ๋ถ„๋ฅ˜๊ฐ€ ๊ฐ€๋Šฅํ•œ NAND๊ฒŒ์ดํŠธ, AND๊ฒŒ์ดํŠธ, OR๊ฒŒ์ดํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋น„ ์„ ํ˜•์ ์ธ XOR๊ฒŒ์ดํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•˜๋‹ค.!

์ด๋ ‡๊ฒŒ ์ค‘๊ฐ„์— Hidden Layer๊ฐ€ ์ถ”๊ฐ€๋œ ํ˜•ํƒœ๋ฅผ MLP๋ผ๊ณ  ํ•œ๋‹ค. (multi layer perceptron)

๋‹ค์Œ ์žฅ์—์„œ๋Š” MLP์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋„๋ก ํ•˜์ž. Bye!

  • MLP (hidden Layer๊ฐ€ ์ถ”๊ฐ€๋จ)
profile
๋ถ‰์€ ๋ฐฐ ์˜ค์ƒ‰ ๋”ฑ๋‹ค๊ตฌ๋ฆฌ ๊ฐœ๋ฐœ์ž ๐ŸฆƒCloud & DevOps

0๊ฐœ์˜ ๋Œ“๊ธ€