1.2)ใ€€๐Ÿ’ซ ๊ฐ€๋ž, [ ํผ์…‰ํŠธ๋ก  ] !!

ํผ์…‰ํŠธ๋ก ์œผ๋กœ AND, NAND, OR ๋…ผ๋ฆฌ ํšŒ๋กœ๋ฅผ ํ‘œํ˜„ํ•  ๋•Œ ์ค‘์š”ํ•œ ์ ์€ ํผ์…‰ํŠธ๋ก ์˜ ๊ตฌ์กฐ๋Š” ๋ณ€ํ•˜์ง€ ์•Š๊ณ  ๋ณ€ํ•˜๋Š” ๊ฒƒ์€ ์˜ค์ง ๋งค๊ฐœ๋ณ€์ˆ˜(๊ฐ€์ค‘์น˜, ์ž„๊ณ„๊ฐ’) ๊ฐ’๋ฟ์ด๋ผ๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿผ ์ด์ œ ํผ์…‰ํŠธ๋ก ์„ ๊ตฌํ˜„ํ•ด ๋ณด์ž!

ํผ์…‰ํŠธ๋ก  ๊ตฌํ˜„ํ•˜๊ธฐ

๋…ผ๋ฆฌ ํšŒ๋กœ๋ฅผ ํŒŒ์ด์ฌ์œผ๋กœ ๊ตฌํ˜„ํ•ด ๋ณด์ž ๋‹ค์Œ์€ x1๊ณผ x2๋ฅผ ์ธ์ˆ˜๋กœ ๋ฐ›๋Š” AND๋ผ๋Š” ํ•จ์ˆ˜์ด๋‹ค.

def AND(x1, x2):
	w1,w2, theha = 0.5, 0.5, 0.7
    tmp = x1*w1 + x2*w2
    if tmp <= theta:
    	return 0;
    elif tmp > theta:
    	return 1

ํ•จ์ˆ˜ ์•ˆ์—์„œ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๊ณ , ๊ฐ€์ค‘์น˜๋ฅผ ๊ณฑํ•œ ์ž…๋ ฅ์˜ ์ดํ•ฉ์ด ์ž„๊ณ„๊ฐ’์„ ๋„˜์œผ๋ฉด 1์„ ๋ฐ˜ํ™˜ํ•˜๊ณ  ๊ทธ ์™ธ์—๋Š” 0์„ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ๋งŒ๋“ค์—ˆ๋‹ค.

AND(0,0) # 0์„ ์ถœ๋ ฅ
AND(1,0) # 0์„ ์ถœ๋ ฅ
AND(0,1) # 0์„ ์ถœ๋ ฅ
AND(1,1) # 1์„ ์ถœ๋ ฅ

AND ๊ฒŒ์ดํŠธ๊ฐ€ ์ž˜ ์ž‘๋™ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์•ž์œผ๋กœ๋ฅผ ์ƒ๊ฐํ•ด์„œ [์‹ 1.1] ์˜ ฮธ\theta๋ฅผ โˆ’b-b๋กœ ์น˜ํ™˜ํ•ด ์ˆ˜์ •ํ•˜๋„๋ก ํ•˜๊ฒ ๋‹ค. ์ˆ˜์ •์„ ํ•˜๋ฉด ํผ์…‰ํŠธ๋ก ์˜ ๋™์ž‘์ด ์•„๋ž˜ [์‹ 1.2] ์ฒ˜๋Ÿผ ๋œ๋‹ค.

y={0(b+w1x1+w2x2โ‰ค0)1(b+w1x1+w2x2>0)y = \begin{dcases} 0 (b+ w_1x_1 + w_2x_2 \leq 0) \\ 1 (b +w_1x_1 + w_2x_2 > 0) \end{dcases}
๐Ÿ“Œ[์‹ 1.2]

์ด๋•Œ bb(bias)๋ฅผ ํŽธํ–ฅ์ด๋ผ ํ•œ๋‹ค. ์ด์ œ '๊ฐ€์ค‘์น˜์™€ ํŽธํ–ฅ์„ ๋„์ž…'ํ•œ AND ๊ฒŒ์ดํŠธ๋ฅผ ๊ตฌํ˜„ํ•ด ๋ณด์ž


๊ฐ€์ค‘์น˜์™€ ํŽธํ–ฅ ๊ตฌํ˜„ํ•˜๊ธฐ

[์‹ 1.1] ๊ณผ [์‹ 1.2]๋Š” ๊ธฐํ˜ธ ํ‘œ๊ธฐ๋งŒ ๋ฐ”๊ฟจ์„ ๋ฟ, ๊ทธ ์˜๋ฏธ๋Š” ๊ฐ™๋‹ค.
๊ทธ๋Ÿผ [์‹ 1.2] ๊ด€์ ์—์„œ ํ•ด์„ํ•ด ๋ณด์ž๋ฉด, ํผ์…‰ํŠธ๋ก ์€ ์ž…๋ ฅ ์‹ ํ˜ธ์— ๊ฐ€์ค‘์น˜๋ฅผ ๊ณฑํ•œ ๊ฐ’๊ณผ ํŽธํ–ฅ์„ ํ•ฉํ•˜์—ฌ, ๊ทธ ๊ฐ’์ด 0์„ ๋„˜๊ธฐ๋ฉด 1์„. ์ถœ๋ ฅํ•˜๊ณ  ์•„๋‹ˆ๋ฉด 0์„ ์ถœ๋ ฅํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ด์ œ ์ง„์งœ ๊ตฌํ˜„ํ•ด ๋ณด์ž

	def AND(x1,x2):
    	x = np.array([x1,x2])
        w = np.array([0.5,0.5])
        b = -0.7
        tmp = np.sum(w*x) + b
        if tmp = <= 0:
        	return 0
        else:
        	return 1

์œ„ ์ฝ”๋“œ์ฒ˜๋Ÿผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๊ณ , ๊ฐ™์€ ๊ตฌ์กฐ๋กœ NAND ๊ฒŒ์ดํŠธ์™€ OR ๊ฒŒ์ดํŠธ๋„ ๊ตฌํ˜„ ๊ฐ€๋Šฅํ•˜๋‹ค.


ํผ์…‰ํŠธ๋ก ์˜ ํ•œ๊ณ„

๊ทธ๋Ÿฌ๋ฉด XOR ๊ฒŒ์ดํŠธ๋„ ๊ตฌํ˜„์ด ๊ฐ€๋Šฅํ• ๊นŒ?
XOR ๊ฒŒ์ดํŠธ๋Š” x1x1๊ณผ x2x2 ์ค‘ ํ•œ์ชฝ์ด 1์ผ ๋•Œ๋งŒ 1์„ ์ถœ๋ ฅํ•œ๋‹ค.

x1x1ใ€€ใ€€ใ€€ใ€€ใ€€x2x2y
0ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€00
1ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€01
0ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€11
1ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€10
๐Ÿ“Œ[๊ทธ๋ฆผ 1-4]

XOR ๊ฒŒ์ดํŠธ์˜ ์ง„๋ฆฌํ‘œ๋ฅผ ๋ณด๋ฉด์„œ ์ƒ๊ฐํ•ด ๋ณด์ž!

์ผ๋‹จ, ๋‹จ์ธต ํผ์…‰ํŠธ๋ก ์œผ๋กœ๋Š” XOR ๊ฒŒ์ดํŠธ๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์—†๋‹ค. ์กฐ๊ธˆ ์ „ ๋งŒ๋“  [์‹ 1.2]๋ฅผ ์ด์šฉํ•ด ์‹œ๊ฐ์ ์œผ๋กœ ์„ค๋ช…์„ ํ•˜๊ฒ ๋‹ค.

์šฐ์„  OR ๊ฒŒ์ดํŠธ์˜ ๋™์ž‘์„ ์‹œ๊ฐ์ ์œผ๋กœ ์ƒ๊ฐํ•ด ๋ณด์ž OR๊ฒŒ์ดํŠธ๋Š”, ์˜ˆ๋ฅผ ๋“ค์–ด ๊ฐ€์ค‘์น˜ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€
(bb, w1w1, w2w2) = (-0.5, 1.0, 1.0) ์ผ ๋•Œ [๊ทธ๋ฆผ 1.3]์˜ ์ง„๋ฆฌํ‘œ๋ฅผ ๋งŒ์กฑํ•œ๋‹ค. ์ด๋•Œ ํผ์…‰ํŠธ๋ก ์€ ์•„๋ž˜ ์‹์œผ๋กœ ํ‘œํ˜„๋œ๋‹ค.

y={0(โˆ’0.5+x1+x2โ‰คฮธ)1(โˆ’0.5+x1+x2>ฮธ)y = \begin{dcases} 0 (-0.5 + x1 + x2 \leq \theta) \\ 1 (-0.5 + x1 + x2 > \theta) \end{dcases}
๐Ÿ“Œ[์‹ 1.3]

[์‹ 1.3]์˜ ํผ์…‰ํŠธ๋ก ์€ ์ง์„ ์˜ ๋ฐฉ์ •์‹์ด๋ผ๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ ค๋ณด๊ธฐ ์ „์—
OR ๊ฒŒ์ดํŠธ์˜ ์„ฑ์งˆ์„ ์ƒ๊ฐํ•ด ๋ณด๋ฉด x1x1๊ณผ x2x2 ๊ฐ€ ํ•˜๋‚˜๋ผ๋„ 1์ด๋ฉด 1์„ ์ถœ๋ ฅํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

๐Ÿ“Œ[๊ทธ๋ฆผ 1-5]

๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ ค๋ณด๋ฉด ์ง์„ ์„ ๊ธฐ์ค€์œผ๋กœ ํ•œ์ชฝ ์˜์—ญ์€ 1์„ ์ถœ๋ ฅํ•˜๊ณ  ๋‹ค๋ฅธ ํ•œ์ชฝ์€ 0์„ ์ถœ๋ ฅํ•˜๋Š” ๊ฒƒ์„ ์‰ฝ๊ฒŒ ์•Œ ์ˆ˜ ์žˆ๋‹ค.
0์„ ์ถœ๋ ฅํ•˜๋Š” (0, 0)์€ โˆ™\bullet ์œผ๋กœ ํ‘œ์‹œํ•˜๊ณ , 1์„ ์ถœ๋ ฅํ•˜๋Š” (0, 1), (1, 0), (1, 1) ์€ โ–ฒ\blacktriangle ๋กœ ํ‘œ์‹œํ–ˆ๋‹ค.
๊ทธ๋Ÿผ XOR ๊ฒŒ์ดํŠธ์˜ ๊ฒฝ์šฐ๋Š” ์–ด๋–ป๊ฒŒ ์ถœ๋ ฅ์ด ๋ ๊นŒ?

๐Ÿ“Œ[๊ทธ๋ฆผ 1-6]

[๊ทธ๋ฆผ 1-6] ์ฒ˜๋Ÿผ ์ถœ๋ ฅ์ด ๋œ๋‹ค. OR ๊ฒŒ์ดํŠธ์˜ ๊ทธ๋ž˜ํ”„์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ 0์„ ์ถœ๋ ฅํ•˜๋Š” ๊ณณ์„ โˆ™\bullet ์œผ๋กœ ํ‘œ์‹œํ•˜๊ณ , 1์„ ์ถœ๋ ฅํ•˜๋Š” ๊ณณ์€ โ–ฒ\blacktriangle ๋กœ ํ‘œ์‹œํ–ˆ๋‹ค.
๊ทธ๋Ÿผ ์ด์ œ โˆ™\bullet ๊ณผ โ–ฒ\blacktriangle ์„ ๋‚˜๋ˆ„๋Š” ์˜์—ญ์„ ์–ด๋–ป๊ฒŒ ๋งŒ๋“ค ๊ฒƒ์ธ๊ฐ€ ์ƒ๊ฐํ•ด ๋ด์•ผ ํ•œ๋‹ค.
์—ฌ๊ธฐ์„œ ์ž ๊น!!

์•„์ง ๋งŒ๋“ค๊ธฐ ์ „์— [์‹ 1.3] ์„ ๋ณด๋ฉด ๊ฐ€์ค‘์น˜(w1w1, w2w2)๋Š” ๊ณ„์ˆ˜์ด๋ฏ€๋กœ ํผ์…‰ํŠธ๋ก ์€ ์„ ํ˜•์„ฑ์„ ๋”ฐ์ง€๋Š” ๊ฒƒ์ž„์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰, ํผ์…‰ํŠธ๋ก ์€ ์ง์„  ํ•˜๋‚˜๋กœ ๋‚˜๋ˆˆ ์˜์—ญ๋งŒ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ํ•œ๊ณ„๋กœ ์ธํ•ด ๋‹จ์ธต ํผ์…‰ํŠธ๋ก ์œผ๋กœ๋Š” XOR ๊ฒŒ์ดํŠธ๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์—†๋‹ค.

ํ•˜์ง€๋งŒ ๊ณก์„ ์ด๋ผ๋ฉด?

๐Ÿ“Œ[๊ทธ๋ฆผ 1-7]

๊ณก์„ ์ด๋ผ๋ฉด โˆ™\bullet ๊ณผ โ–ฒ\blacktriangle ์„ [๊ทธ๋ฆผ 1-7] ์ฒ˜๋Ÿผ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค.
๋˜, ํผ์…‰ํŠธ๋ก ์˜ ์•„๋ฆ„๋‹ค์›€์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์ธต ํผ์…‰ํŠธ๋ก multi-layer perceptron์„ ๋งŒ๋“ค์–ด ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.



XOR ๊ฒŒ์ดํŠธ

XOR ๊ฒŒ์ดํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์–‘ํ•˜๋‹ค. ๊ทธ์ค‘ ํ•˜๋‚˜๋Š” ์•ž์„œ ๋งŒ๋“  AND, NAND, OR ๊ฒŒ์ดํŠธ๋ฅผ ์กฐํ•ฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

๐Ÿ“Œ[๊ทธ๋ฆผ 1-8]

[๊ทธ๋ฆผ 1-8]์€ ์ˆœ์„œ๋Œ€๋กœ AND, NAND, OR ๊ฒŒ์ดํŠธ ๊ธฐํ˜ธ์ด๋‹ค.
์ด ๊ธฐํ˜ธ๋ฅผ ์ด์šฉํ•ด ์กฐํ•ฉํ•ด XOR ๊ฒŒ์ดํŠธ๋ฅผ ๊ตฌํ˜„ํ•ด ๋ณด๋ฉด

๐Ÿ“Œ[๊ทธ๋ฆผ 1-9]

[๊ทธ๋ฆผ 1-9]๊ณผ ๊ฐ™์€ ์กฐํ•ฉ์œผ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜๊ฐ€ ์žˆ๋‹ค. x1x1 ๊ณผ x2x2 ๊ฐ€ ์ž…๋ ฅ ์‹ ํ˜ธ, y๊ฐ€ ์ถœ๋ ฅ ์‹ ํ˜ธ์ด๋‹ค. NAND์˜ ์ถœ๋ ฅ์„ S1S1, OR์˜ ์ถœ๋ ฅ์„ S2S2 ๋กœ ํ•ด์„œ ์ง„๋ฆฌํ‘œ๋ฅผ ๋งŒ๋“ค๋ฉด [๊ทธ๋ฆผ 1-10]์ฒ˜๋Ÿผ ๋œ๋‹ค.

x1x1ใ€€ใ€€ใ€€x2x2S1S1ใ€€ใ€€ใ€€S2S2y
ใ€€ใ€€0ใ€€ใ€€ใ€€0ใ€€ใ€€1ใ€€ใ€€ใ€€ใ€€00
ใ€€ ใ€€1ใ€€ใ€€ใ€€0ใ€€ใ€€1ใ€€ใ€€ใ€€ใ€€11
ใ€€ใ€€0ใ€€ใ€€ใ€€1ใ€€ใ€€1ใ€€ใ€€ใ€€ใ€€11
ใ€€ใ€€1ใ€€ใ€€ใ€€1ใ€€ใ€€0ใ€€ใ€€ใ€€ใ€€1ใ€€0
๐Ÿ“Œ[๊ทธ๋ฆผ 1-10]

XOR ๊ฒŒ์ดํŠธ ๊ตฌํ˜„ํ•˜๊ธฐ

์ด์–ด์„œ [๊ทธ๋ฆผ 1-9]์ฒ˜๋Ÿผ ์กฐํ•ฉ๋œ XOR ๊ฒŒ์ดํŠธ๋ฅผ ํŒŒ์ด์ฌ์œผ๋กœ ๊ตฌํ˜„ํ•ด ๋ณด๊ฒ ๋‹ค. AND, NAND, OR๋ฅผ ์‚ฌ์šฉํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

def XOR(x1, x2):
	s1 = NAND(x1, x2)
    s2 = OR(x1, x2)
    y = AND(s1, s2)
    return y

์ด XOR ํ•จ์ˆ˜์˜ ๊ฒฐ๊ณผ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค

XOR(0, 0) # 0์„ ์ถœ๋ ฅ
XOR(1, 0) # 1์„ ์ถœ๋ ฅ
XOR(0, 1) # 1์„ ์ถœ๋ ฅ
XOR(1, 1) # 0์„ ์ถœ๋ ฅ

์ด๋กœ์จ XOR ๊ฒŒ์ดํŠธ๊นŒ์ง€ ์™„์„ฑํ–ˆ๋‹ค.


  • ์‹ ๋‚œ๋‹ค~! ํผ์…‰ํŠธ๋ก ๋ฅผ ์žก์•˜๋‹ค!
    ๐Ÿ‘Š ํผ์…‰ํŠธ๋ก ์€ ์ž…์ถœ๋ ฅ์„ ๊ฐ–์ถ˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.
    ๐Ÿ‘Š ํผ์…‰ํŠธ๋ก ์—์„œ๋Š” '๊ฐ€์ค‘์น˜'์™€ 'ํŽธํ–ฅ'์„ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์„ค์ •ํ•œ๋‹ค.
    ๐Ÿ‘Š ๋‹จ์ธต ํผ์…‰ํŠธ๋ก ์œผ๋กœ๋Š” XOR ๊ฒŒ์ดํŠธ๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์—†๋‹ค.

์ด๋ฒˆ ์žฅ์—์„œ๋Š” ํผ์…‰ํŠธ๋ก ์„ ๋ฐฐ์›Œ๋ดค๋‹ค. ํผ์…‰ํŠธ๋ก ์ด๋ž€ ๊ฐ„๋‹จํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ผ ๊ทธ ๊ตฌ์กฐ๋ฅผ ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค. ๋˜ ๋‹ค์Œ ์žฅ์—์„œ ๋ฐฐ์šธ ์‹ ๊ฒฝ๋ง์— ๊ธฐ์ดˆ๊ฐ€ ๋˜๋Š” ๊ฐœ๋…์œผ๋กœ ์ด๋ฒˆ ์žฅ์—์„œ ๋ฐฐ์šด ๋‚ด์šฉ์€ ์•„์ฃผ ์ค‘์š”ํ•˜๋‹ˆ ๊ผญ ์ดํ•ดํ•˜๊ณ  ๋„˜์–ด๊ฐˆ ์ˆ˜ ์žˆ๋„๋ก ํ•˜์ž!!

์ข‹์€ ์›นํŽ˜์ด์ง€ ์ฆ๊ฒจ์ฐพ๊ธฐ