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

์ „์ฒด ๊ธ€93

์—ญ์ „ํŒŒ ๊ณ„์‚ฐ ๋ฐฉ๋ฒ• ๋ฐ ์ฃผ์š” ๊ณ„์ธต๋ณ„ ์ˆœ์ „ํŒŒ & ์—ญ์ „ํŒŒ 1. ๊ธฐ๋ณธ ์—ฐ์‚ฐ ๋…ธ๋“œ2. ์ฃผ์š” ๊ณ„์ธตํ•ต์‹ฌ ์š”์•ฝ์—ฐ์‡„๋ฒ•์น™: ์ƒ๋ฅ˜ ๊ธฐ์šธ๊ธฐ × ๊ตญ์†Œ ๋ฏธ๋ถ„ → ํ•˜๋ฅ˜ ์ „๋‹ฌAffine: ์ž…๋ ฅ/๊ฐ€์ค‘์น˜/ํŽธํ–ฅ ๊ธฐ์šธ๊ธฐ ํ–‰๋ ฌ ์—ฐ์‚ฐ์œผ๋กœ ๊ณ„์‚ฐReLU/Sigmoid: ํ™œ์„ฑํ™” ํ•จ์ˆ˜๋ณ„ ๊ตญ์†Œ ๋ฏธ๋ถ„ ์ ์šฉSoftmax+Loss: ์—ญ์ „ํŒŒ๊ฐ€ y−ty - ty−t๋กœ ๋‹จ์ˆœํ™” 2025. 7. 25.
5. ์˜ค์ฐจ์—ญ์ „ํŒŒ๋ฒ• (Backpropagation) ๋”๋ณด๊ธฐ [5์žฅ] ์˜ค์ฐจ์—ญ์ „ํŒŒ๋ฒ• – ์‹ ๊ฒฝ๋ง ํ•™์Šต์˜ ํ•ต์‹ฌ ๋ชฉ์ฐจ ์˜ค์ฐจ์—ญ์ „ํŒŒ๋Š” ์™œ ํ•„์š”ํ•œ๊ฐ€?๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•๊ณผ ๊ธฐ์šธ๊ธฐ ๊ณ„์‚ฐ์˜ ์–ด๋ ค์›€์—ญ์ „ํŒŒ๋กœ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณ„์‚ฐ ๊ทธ๋ž˜ํ”„์™€ ์—ฐ์‡„๋ฒ•์น™๊ณ„์‚ฐ ๊ทธ๋ž˜ํ”„๋ž€? (๋ง์…ˆ/๊ณฑ์…ˆ ๋…ธ๋“œ๋กœ ์ชผ๊ฐœ๊ธฐ)์ˆœ์ „ํŒŒ vs ์—ญ์ „ํŒŒ์—ฐ์‡„๋ฒ•์น™์œผ๋กœ ๊ตญ์†Œ ๋ฏธ๋ถ„ ๊ณฑํ•˜๊ธฐ์—ญ์ „ํŒŒ์˜ ์›๋ฆฌ์ถœ๋ ฅ์ธต์—์„œ ์‹œ์ž‘๊ฐ ๊ณ„์ธต์˜ ๊ตญ์†Œ ๋ฏธ๋ถ„ → ์ด์ „ ๊ณ„์ธต์œผ๋กœ ์ „๋‹ฌ๋ชจ๋“  ๊ฐ€์ค‘์น˜·ํŽธํ–ฅ์˜ ๊ธฐ์šธ๊ธฐ ๊ณ„์‚ฐ์ฃผ์š” ๊ณ„์ธต๋ณ„ ์—ญ์ „ํŒŒReLU / Sigmoid: ํ™œ์„ฑํ™” ๊ณ„์ธตAffine: ์™„์ „์—ฐ๊ฒฐ์ธต (๊ฐ€์ค‘์น˜, ํŽธํ–ฅ, ์ž…๋ ฅ์˜ ๊ธฐ์šธ๊ธฐ)SoftmaxWithLoss: ์ถœ๋ ฅ์ธต + ์†์‹ค (y - t / N๋กœ ๋‹จ์ˆœํ™”)์—ญ์ „ํŒŒ ์ „์ฒด ํ๋ฆ„SoftmaxWithLoss → Affine → ํ™œ์„ฑํ™” → ์ด์ „ ๊ณ„์ธต ์ „๋‹ฌ๊ธฐ์šธ๊ธฐ ์™„์„ฑ ํ›„ ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•์œผ๋กœ ๊ฐ€์ค‘์น˜ ๊ฐฑ์‹ ๊ตฌํ˜„ ๊ด€์ ์—์„œ ํ•ต์‹ฌ๊ณ„์ธต ๋‹จ์œ„ ๊ตฌํ˜„: fo.. 2025. 7. 25.
4. ์‹ ๊ฒฝ๋ง ํ•™์Šต 1. ํ•™์Šต์ด๋ž€?ํ•™์Šต์ด๋ž€? ๊ฐ€์ค‘์น˜ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ์ตœ์ ๊ฐ’์„ ์ž๋™์œผ๋กœ ํš๋“ํ•˜๋Š” ๊ฒƒ์„ ๋œปํ•œ๋‹ค.์‹ ๊ฒฝ๋ง์ด ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ์ง€ํ‘œ ์ค‘ ํ•˜๋‚˜๊ฐ€ ์†์‹คํ•จ์ˆ˜์ด๋‹ค.๋ชฉํ‘œ: ์†์‹คํ•จ์ˆ˜์˜ ๊ฒฐ๊ณผ๊ฐ’์ด ๊ฐ€์žฅ ์ž‘๊ฒŒ ๋˜๋Š” ์‹ ๊ฒฝ๋ง์˜ ๊ฐ€์ค‘์น˜ ๋งค๊ฐœ๋ณ€์ˆ˜ ์ฐพ๊ธฐํ•™์Šต ๊ณผ์ •:์ˆœ์ „ํŒŒ(Forward): ์ž…๋ ฅ → ์ถœ๋ ฅ → ์†์‹ค ๊ณ„์‚ฐ์†์‹คํ•จ์ˆ˜(Loss): ์˜ˆ์ธก๊ณผ ์ •๋‹ต ์ฐจ์ด ๊ณ„์‚ฐ๊ธฐ์šธ๊ธฐ(Gradient): ์†์‹ค์„ ์ค„์ด๋Š” ๋ฐฉํ–ฅ ํƒ์ƒ‰๊ฐ€์ค‘์น˜ ๊ฐฑ์‹ : ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•์œผ๋กœ ์กฐ๊ธˆ์”ฉ ์—…๋ฐ์ดํŠธ 2. ์†์‹ค ํ•จ์ˆ˜ (Loss Function)์‹ ๊ฒฝ๋ง์ด ์–ผ๋งˆ๋‚˜ ์ •๋‹ต๊ณผ ๋ฉ€๋ฆฌ ์žˆ๋Š”์ง€๋ฅผ ์ˆ˜์น˜๋กœ ํ‘œํ˜„ํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค.์˜ˆ์ธก์ด ์™„๋ฒฝ = ์†์‹ค๊ฐ’์ด 0 (1) ์˜ค์ฐจ ์ œ๊ณฑํ•ฉ (SSE)ํšŒ๊ท€ ๋ฌธ์ œ์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉ(2) ๊ต์ฐจ ์—”ํŠธ๋กœํ”ผ ์˜ค์ฐจ (Cross-Entropy Error)๋ถ„๋ฅ˜ ๋ฌธ์ œ์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉ์›-ํ•ซ(one-hot).. 2025. 7. 25.
3. ์‹ ๊ฒฝ๋ง ์‹ ๊ฒฝ๋ง์ด๋ž€?ํผ์…‰ํŠธ๋ก (Perceptron)์—์„œ ํ™•์žฅ๋œ ๋ชจ๋ธ → ์—ฌ๋Ÿฌ ์ธต(Layer)์„ ์Œ“์•„ ๋ณต์žกํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ๋จธ์‹ ๋Ÿฌ๋‹์˜ ๋ฌธ์ œ ํ’€์ด๋Š” ํฌ๊ฒŒ ํ•™์Šต(Training) + ์ถ”๋ก (Inference) ์œผ๋กœ ๋‚˜๋‰จํ•™์Šต: ๊ฐ€์ค‘์น˜์™€ ํŽธํ–ฅ์„ ๋ฐ์ดํ„ฐ๋กœ๋ถ€ํ„ฐ ์ตœ์ ํ™”.์ถ”๋ก : ํ•™์Šต๋œ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•ด ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ์˜ ์ถœ๋ ฅ์„ ๊ณ„์‚ฐ.๊ฐ ์ธต์˜ ์‹ ํ˜ธ ์ „๋‹ฌ (์ˆœ์ „ํŒŒ, Forward Propagation)์ž…๋ ฅ๊ฐ’ x๊ฐ€ ๊ฐ€์ค‘์น˜ W ์™€ ํŽธํ–ฅ b๋ฅผ ๊ฑฐ์ณ ํ™œ์„ฑํ™” ํ•จ์ˆ˜ f ๋กœ ๋ณ€ํ™˜๋จ:์ด๋ฅผ ์ธต(layer)๋งˆ๋‹ค ๋ฐ˜๋ณต → ์ตœ์ข… ์ถœ๋ ฅ. ํ™œ์„ฑํ™” ํ•จ์ˆ˜ (Activation Function)๋น„์„ ํ˜• ํ•จ์ˆ˜ → ์ธต์„ ๊นŠ๊ฒŒ ์Œ“์„ ๋•Œ ๋ณต์žกํ•œ ํŒจํ„ด ํ•™์Šต ๊ฐ€๋Šฅ.1. ๊ณ„๋‹จ ํ•จ์ˆ˜ (Step Function) ์ดˆ๊ธฐ ํผ์…‰ํŠธ๋ก ์—์„œ ์‚ฌ์šฉ.๋‹จ์ : ๋ฏธ๋ถ„ ๋ถˆ๊ฐ€๋Šฅ, ํ•™์Šต์— ๋ถ€์ ํ•ฉ.2. ์‹œ๊ทธ๋ชจ์ด๋“œ ํ•จ์ˆ˜.. 2025. 7. 25.
2. ํผ์…‰ํŠธ๋ก  ํผ์…‰ํŠธ๋ก (์ธ๊ณต๋‰ด๋Ÿฐ) ์ด๋ž€? ๋‹ค์ˆ˜์˜ ์‹ ํ˜ธ๋ฅผ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์•„ ํ•˜๋‚˜์˜ ์‹ ํ˜ธ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๊ฒƒ์ด๋‹ค.ํผ์…‰ํŠธ๋ก ์€ ๊ณ„๋‹จํ•จ์ˆ˜ ํ˜•์‹์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. w : ๊ฐ€์ค‘์น˜, ๊ฐ ์‹ ํ˜ธ์˜ ์˜ํ–ฅ๋ ฅ์˜ ์ œ์–ดb : ํŽธํ–ฅ, ๋‰ด๋Ÿฐ์ด ์–ผ๋งˆ๋‚˜ ์‰ฝ๊ฒŒ ํ™œ์„ฑํ™” ๋˜๋Š”์ง€, ๊ฒฐ์ •๊ฒฝ๊ณ„(Decision Boundary)๋ฅผ ํ‰ํ–‰์ด๋™์‹œํ‚ด ๋‹จ์ธต ํผ์…‰ํŠธ๋ก ์„ ํ˜•์ ์œผ๋กœ ๋ถ„๋ฆฌ ๊ฐ€๋Šฅํ•œ ๋ฌธ์ œ๋งŒ ํ’€ ์ˆ˜ ์žˆ์Œ1์ธต์œผ๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ํผ์…‰ํŠธ๋ก (ex) AND, OR, NAND๋‹ค์ธต ํผ์…‰ํŠธ๋ก ๋น„์„ ํ˜•, ์ธต์„ ์Œ“์•„์•ผ๋งŒ ํ•ด๊ฒฐ๊ฐ€๋Šฅํ•˜๋‹ค.(ex) XOR (๋ฒ ํƒ€์  ๋…ผ๋ฆฌํ•ฉ)์ด๋ก ์ ์œผ๋กœ๋Š” ๋‹ค์ธต ํผ์…‰ํŠธ๋ก ์„ ์ด์šฉํ•˜๋ฉด ์ปดํ“จํ„ฐ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. AND ํ•จ์ˆ˜ ๊ตฌํ˜„ํ•˜๊ธฐdef AND(x1, x2): x = np.array([x1, x2]) w = np.array([0.5, 0.5]) b = -0.7 tmp = np.sum(w*x).. 2025. 7. 25.
์‹ ๊ฒฝ๋ง ํ•™์Šต์— ํ•„์š”ํ•œ ํ•จ์ˆ˜๋“ค ์ง€๊ธˆ๊นŒ์ง€ ํผ์…‰ํŠธ๋ก , ์‹ ๊ฒฝ๋ง์— ๋Œ€ํ•ด ๋ฐฐ์šฐ๊ณ  ์ด์ œ ์‹ ๊ฒฝ๋ง ํ•™์Šต์˜ ๋Œ€๋žต์ ์ธ ๋ฐฉํ–ฅ์— ๋Œ€ํ•ด ๋ฐฐ์› ๋‹ค. ์‹ ๊ฒฝ๋ง ํ•™์Šต์„ ์œ„ํ•ด ์ค‘์š”ํ•œ ์‚ฌ์‹ค๋“ค์ด ๋งŽ์ง€๋งŒ, ๊ทธ๊ฑด ๋‹ค๋ฅธ ํŽ˜์ด์ง€์—์„œ ์ •๋ฆฌํ•ด๋ณด๋„๋ก ํ•˜๊ณ  ํฐ ํ๋ฆ„์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค. "๋ฏธ๋‹ˆ๋ฐฐ์น˜๋กœ ๋ฐ์ดํ„ฐ ๋ฝ‘๊ธฐ → ์†์‹คํ•จ์ˆ˜๋กœ ๊ธฐ์šธ๊ธฐ ๊ณ„์‚ฐ → ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•์œผ๋กœ ๊ฐ€์ค‘์น˜ ๊ฐฑ์‹  → ๋ฐ˜๋ณต" ์—ฌ๊ธฐ์—์„  ์‹ ๊ฒฝ๋ง ํ•™์Šต์„ ์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ•จ์— ์žˆ์–ด ํ•„์š”ํ•œ ํ•จ์ˆ˜๋“ค์„ ์ด ์ •๋ฆฌํ•ด ๋ณด๋ ค๊ณ  ํ•œ๋‹ค. 1. ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌget_mini_batch()๋ฐ์ดํ„ฐ์…‹์—์„œ ๋ฌด์ž‘์œ„๋กœ ์ผ๋ถ€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฝ‘์•„์˜ค๋Š” ํ•จ์ˆ˜์ž…๋ ฅ: ์ „์ฒด ๋ฐ์ดํ„ฐ (x, t), ๋ฐฐ์น˜ ํฌ๊ธฐ์ถœ๋ ฅ: x_batch, t_batch2. ์ˆœ์ „ํŒŒ (Forward propagation)predict(x)์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์—ˆ์„ ๋•Œ ์ถœ๋ ฅ y๋ฅผ ๊ณ„์‚ฐ๋‚ด๋ถ€์ ์œผ๋กœ: A=XW+B → Z=f(A) →Y = s.. 2025. 7. 24.