๐Ÿšฉ๋”ฅ๋Ÿฌ๋‹ ๊ธฐ์ดˆ - part12. MLP (Multi Layer Perceptron)

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

๐ŸŒ“ AI/DL - theory

๋ชฉ๋ก ๋ณด๊ธฐ
13/24

๐ŸŸข Introduction

hidden layer๋ฅผ ์ถ”๊ฐ€ํ•œ ํ˜•ํƒœ๋ฅผ ๋ฐ”๋กœ MLP๋ผ๊ณ  ํ•œ๋‹ค๊ณ  ํ–ˆ๋‹ค.
๊ทธ๋Ÿผ ์ด๋Ÿฌํ•œ MLP์— ๋Œ€ํ•ด์„œ ์ข€ ๋” ์•Œ์•„๋ณด์ž!

๐Ÿ“œ MLP์˜ ์œ ๋ž˜

1969๋…„ Perceptrons ์ฑ…์—์„œ XOR ๋ฌธ์ œ๋Š” perceptron์œผ๋กœ ํ•ด๊ฒฐํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฒƒ์„ ์ˆ˜ํ•™์ ์œผ๋กœ ์ฆ๋ช…ํ–ˆ๋‹ค.

์ด๋Š” ์ง€๋‚œ ํผ์…‰ํŠธ๋ก ์— ๊ด€ํ•œ ๊ธ€์—์„œ ๊ทธ๋ฆผ์„ ํ†ตํ•ด ์™œ ํ•ด๊ฒฐํ•˜์ง€ ๋ชปํ•˜๋Š”์ง€ ์ง์ ‘ ํ™•์ธํ–ˆ์—ˆ๋‹ค.
part11. ์ธ๊ณต ์‹ ๊ฒฝ๋ง ๊ฐœ์š”

๊ทธ๋Ÿฌ๋ฏ€๋กœ XOR ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ์œ„ํ•ด์„œ๋Š” multilayer perceptron (MLP)๋กœ ํ•ด๊ฒฐ ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๊ฒƒ ๋˜ํ•œ ์•Œ์•˜๋‹ค.

์œ ๋ž˜๋Š” ์ด์ •๋„๋ฉด ๋  ๊ฒƒ ๊ฐ™๋‹ค.

๐Ÿ“š MLP (๋‹ค์ธตํผ์…‰ํŠธ๋ก )

MLP๋Š” ๋‹ค์ธตํผ์…‰ํŠธ๋ก  ์ฆ‰, ํผ์…‰ํŠธ๋ก ์ด ๋‹ค์ธต์œผ๋กœ ์Œ“์ธ ๊ฒƒ์„ ๋งํ•œ๋‹ค. (multilayer perceptron)
๊ตฌ์„ฑ์š”์†Œ๋Š” ์ž…๋ ฅ์ธต, ์€๋‹‰์ธต(1๊ฐœ ์ด์ƒ), ์ถœ๋ ฅ์ธต์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

๋‹ค์ธตํผ์…‰ํŠธ๋ก  MLP์— ์žˆ๋Š” ํ•˜๋‚˜ํ•˜๋‚˜์˜ ๋…ธ๋“œ๋“ค์„ "์œ ๋‹›" ์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

ํ•˜๋‚˜ํ•˜๋‚˜ ์‚ดํŽด๋ณด๋„๋กํ•˜์ž, ๋‹จ์ผ ํผ์…‰ํŠธ๋ก ๊ณผ ํฌ๊ฒŒ ์ฐจ์ด๋‚˜๋Š” ๋ถ€๋ถ„์€ ์—†๋‹ค.

  • MLP

๐Ÿ“ฒ ์ž…๋ ฅ์ธต (Input Layer)

์ž…๋ ฅ์ธต์€ ํ•˜๋‚˜์˜ ๋‹จ์ผ ํผ์…‰ํŠธ๋ก  ์ผ ๋•Œ์™€ ๋˜‘๊ฐ™๋‹ค.
์ƒ˜ํ”Œ์— ์žˆ๋Š” feture๊ฐ’์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ, feature์˜ ๊ฐœ์ˆ˜์— ๋”ฐ๋ผ ์ด๋Ÿฌํ•œ ๋…ธ๋“œ(์œ ๋‹›)์˜ ๊ฐœ์ˆ˜๊ฐ€ ๊ฒฐ์ •๋œ๋‹ค.
(์˜ˆ๋ฅผ ๋“ค์–ด ์‚ฌ๋žŒ์„ ๋ถ„๋ฅ˜ํ•œ๋‹ค๊ณ  ํ–ˆ์„ ๋•Œ์˜ feature๋กœ ํ‚ค, ๋ชธ๋ฌด๊ฒŒ 2๊ฐœ์˜ feature)

์ด ๋•Œ ์ž…๋ ฅ์ธต์€ ์‚ฌ์‹ค์ƒ MLP์—์„œ ํ•˜๋Š” ์ผ์ด ์—†๋‹ค. ๋‹จ์ˆœํžˆ ๊ฐ’๋งŒ์ด ๋“ค์–ด์˜ค๋Š” ๊ฒƒ์ด๋ฏ€๋กœ ์–ด๋– ํ•œ ์—ฐ์‚ฐ๋„ ์ด๋ฃจ์–ด์ง€์ง€ ์•Š๋Š”๋‹ค.
๋”ฐ๋ผ์„œ, ์šฐ๋ฆฌ๊ฐ€ MLP์˜ ์ธต ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•  ๋•Œ ์ž…๋ ฅ์ธต์€ ์ธต ์ˆ˜์— ํฌํ•จ์‹œํ‚ค์ง€ ์•Š๋Š”๋‹ค.

๐ŸŒ’ ์€๋‹‰์ธต (Hidden Layer)

์€๋‹‰์ธต์˜ ์œ ๋‹›๊ฐœ์ˆ˜๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์กฐ์ •๋œ๋‹ค. ํŒŒ๋ผ๋ฏธํ„ฐ๋ผ ํ•จ์€ ์‚ฌ์šฉ์ž๊ฐ€ ์ œ์–ดํ•˜๋Š” ๊ฐ’์ด๋‹ค.
์ฆ‰, ์€๋‹‰์ธต์˜ ์œ ๋‹›์˜ ๊ฐœ์ˆ˜๋Š” ํ•™์Šต์„ ์‹œํ‚ค๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ์ œ์–ดํ•œ๋‹ค. (์ด ๋ถ€๋ถ„์€ ์‹ค์Šต์„ ํ†ตํ•ด ์ง์ ‘ํ•ด๋ณผ ๊ฒƒ์ด๋‹ค.)
์ด๋Ÿฌํ•œ ์€๋‹‰์ธต์„ ๊ตฌ์„ฑํ•˜๋Š” ์œ ๋‹›์˜ ๊ฐœ์ˆ˜ ๋ฐ ์ „์ฒด ์€๋‹‰์ธต์˜ ๊ฐœ์ˆ˜์— ๋”ฐ๋ผ ํ•™์Šต์˜ ์‹œ๊ฐ„ ๋ฐ ํ•™์Šต์˜ ์ •ํ™•๋„์— ์ค‘๋Œ€ํ•œ ์˜ํ–ฅ์„ ๋ผ์นœ๋‹ค.

๐ŸŒŸ ์ถœ๋ ฅ์ธต (Output Layer)

์ถœ๋ ฅ์ธต์€ ๋ถ„๋ฅ˜๋˜๋Š” Class์˜ ๊ฐœ์ˆ˜๊ฐ€ ์œ ๋‹›์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋œ๋‹ค.
(์˜ˆ๋ฅผ ๋“ค์–ด 10๊ฐœ์˜ ๊ณผ์ผ์„ ๋ถ„๋ฅ˜ํ•œ๋‹ค๋ผ๊ณ  ๊ฐ€์ •ํ•˜์˜€์„ ๋•Œ, ์ด 10๊ฐœ์˜ ์œ ๋‹›์ด ํ•„์š”ํ•  ๊ฒƒ์ด๋‹ค.)
์ด ๋˜ํ•œ ์‹ค์Šต์„ ํ†ตํ•ด ํ•˜๊ฒ ์ง€๋งŒ ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
์ถœ๋ ฅ์ธต ๋˜ํ•œ MLP์—์„œ ํ•˜๋‚˜์˜ ์ธต์œผ๋กœ Count๋˜๊ฒŒ ๋˜๋Š”๋ฐ, Activation Function ์ฆ‰, ํ™œ์„ฑํ•จ์ˆ˜๊ฐ€ ํ†ต๊ณผ๋˜๋Š” ์—ฐ์‚ฐ์ด ์ด๋ฃจ์–ด์ง„๋‹ค.
๋ฏธ๋ฆฌ ๋งํ•˜์ž๋ฉด ์ด๋Ÿฌํ•œ ์ถœ๋ ฅ์„ ํ•˜๋Š”๋ฐ ์žˆ์–ด ํ™œ์„ฑํ•จ์ˆ˜๋Š” ์ฃผ๋กœ ์ด์ง„๋ถ„๋ฅ˜์—๋Š” sigmoid๋ฅผ ๋‹ค์ค‘ ๋ถ„๋ฅ˜์—๋Š” softmax๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

๐Ÿ“ˆ ์ž…๋ ฅ์ธต, ์€๋‹‰์ธต, ์ถœ๋ ฅ์ธต ์‚ฌ์ด์˜ ๊ฐ€์ค‘์น˜ w,vw, v์˜ ํ•™์Šต

๊ฒฐ๊ตญ ํ•™์Šต์ด๋ผ๋Š” ๊ฒƒ์€ ๋ฌด์—‡์ผ๊นŒ?

์„ ํ˜•ํšŒ๊ท€๋ถ„์„์—์„œ logistic ํšŒ๊ท€๋ถ„์„์—์„œ๋„ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์žฅ ์ž˜ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋˜‘๊ฐ™์ด ์ตœ์ ์˜ ww, bb๊ฐ’์„ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด์˜€๋‹ค.
๋‹ค๋ฅธ์ ์€ logistic์€ ์ด์ง„๋ถ„๋ฅ˜๋ฅผ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ–ˆ๊ณ , ์„ ํ˜•ํšŒ๊ท€๋ถ„์„์€ ๊ฐ’์„ ์˜ˆ์ธกํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•˜์˜€๋‹ค.

MLP์—์„œ๋„ ๋™์ผํ•˜๋‹ค. ๊ฒฐ๊ตญ ํ•™์Šต์€ ๊ฐ€์ค‘์น˜๋ฅผ ์–ด๋–ป๊ฒŒ(์ตœ์ ์œผ๋กœ)ํ•  ๊ฒƒ์ธ๊ฐ€๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

์ด ๋•Œ w์™€ v ๊ฐ€์ค‘์น˜๋ฅผ ์—…๋ฐ์ดํŠธ ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์‹์€ ์„œ๋กœ ๋‹ค๋ฅด๋‹ค.
์ด ๋ถ€๋ถ„์€ ๋‹ค์Œ part13. ์˜ค๋ฅ˜์—ญ์ „ํŒŒ์—์„œ ์ƒ์„ธํžˆ ๋‹ค๋ฃจ๋„๋ก ํ•œ๋‹ค.

๐Ÿ—‘ ๋‹ค์ธต ํผ์…‰ํŠธ๋ก ์˜ ์šฉ๋Ÿ‰(capacity)

์ •ํ™•ํžˆ ๊ธฐ์–ตํ•˜์ง€ ์•Š์œผ๋‚˜, ์ €๋ฒˆ part11. ์—์„œ๋Š” ์ˆ˜์šฉ๋ ฅ์ด๋ผ๊ณ  ํ‘œํ˜„ํ–ˆ๋˜ ๊ฑฐ ๊ฐ™๋‹ค. ๋น„์Šทํ•˜๋‹ค.
์‰ฝ๊ฒŒ ๋งํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์–ผ๋งˆ๋‚˜ ์ž˜ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์–‘์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

Hidden Layer์—์„œ์˜ ์œ ๋‹›(ํผ์…‰ํŠธ๋ก )์˜ ๊ฐœ์ˆ˜๋Š” ์ง์ ‘ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋ผ๊ณ  ์œ„์—์„œ ์„ค๋ช…ํ–ˆ๋‹ค.
์ด๋Ÿฌํ•œ ์œ ๋‹›์˜ ๊ฐœ์ˆ˜์— ๋”ฐ๋ผ์„œ ์–ผ๋งˆ๋‚˜ ํ‘œํ˜„ ๊ฐ€๋Šฅํ•œ์ง€๋ฅผ ์•Œ์•„๋ณด์ž.

  • (a) ํผ์…‰ํŠธ๋ก  3๊ฐœ๋ฅผ ๊ฒฐํ•ฉํ–ˆ๋‹ค๊ณ  ๊ฐ€์ •.
  • (b) 2์ฐจ์› ์ž…๋ ฅ ๋ฐ์ดํ„ฐ ๊ณต๊ฐ„(x1,x2x1,x2)์— 3๊ฐœ์˜ ์„ ์„ ๊ทธ์–ด ๋‚˜๋ˆˆ๋‹ค. ์ด 7๊ฐœ์˜ ๊ณต๊ฐ„์ด ์ƒ์„ฑ๋œ๋‹ค.
  • (c) ์ด๋Ÿฌํ•œ 7๊ฐœ์˜ ๋ถ€๋ถ„ ๊ณต๊ฐ„์„ 3์ฐจ์› ๊ณต๊ฐ„์˜ ์ ์œผ๋กœ ๋งคํ•‘ํ•œ๋‹ค.

์ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ˆ˜์‹์ ์œผ๋กœ ๊ณ„์‚ฐ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

๋‹ค์Œ ์˜ˆ์ œ๋ฅผ ํ†ตํ•ด์„œ ๋” ๋งŽ์€ ์œ ๋‹›์ผ ๊ฒฝ์šฐ ์–ด๋–ป๊ฒŒ ๋ ์ง€ ๊ณ„์‚ฐํ•ด ๋ณด์ž.

  • Q. ์‚ฌ์šฉ์ž๊ฐ€ ์ง€์ •ํ•œ ์œ ๋‹›(ํผ์…‰ํŠธ๋ก )์ด 10๊ฐœ๋ผ๋ฉด?
    ๋ช‡๊ฐœ์˜ ๊ณต๊ฐ„์œผ๋กœ ๋ถ„๋ฆฌ๋˜๊ณ , ๋ช‡ ์ฐจ์› ๊ณต๊ฐ„์ด ๋‚˜์˜ค๊ฒ ๋Š”๊ฐ€?
  • A. 10์ฐจ์› ๊ณต๊ฐ„์œผ๋กœ ๋ณ€ํ™˜๋˜๊ณ , 56๊ฐœ์˜ ๊ณต๊ฐ„์˜์—ญ์œผ๋กœ ๋ถ„๋ฆฌ๋˜์–ด ๋‚˜์˜จ๋‹ค.

์ด ๊ณผ์ •์„ ํ†ตํ•ด์„œ feature๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ๊ณต๊ฐ„์ด ์„ธ๋ถ„ํ™”๋˜๋ฉฐ, ๋” ์ •ํ™•ํ•˜๊ฒŒ ํ•™์Šตํ•˜๊ณ  ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.
์ธต์„ ๊นŠ๊ฒŒ ์Œ“์„์ˆ˜๋ก ๊ฒฐ์ • ์˜์—ญ์ด ๋” ์ž์„ธํ•˜๊ณ  ์ •ํ™•ํ•˜๊ฒŒ ์ง€์ •๋˜๋Š”๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

๋.
๋นจ๋ฆฌ..์˜ค๋ฅ˜์—ญ์ „ํŒŒ๊นŒ์ง€ ์•Œ์•„๋ณด๋„๋ก ํ•˜์ž..

profile
๋ถ‰์€ ๋ฐฐ ์˜ค์ƒ‰ ๋”ฑ๋‹ค๊ตฌ๋ฆฌ ๊ฐœ๋ฐœ์ž ๐ŸฆƒCloud & DevOps

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