Keras

ํ˜œ์ฟฐยท2023๋…„ 11์›” 24์ผ
1
post-thumbnail

๐Ÿ“— Keras๋ž€?

Keras๋Š” ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์„ ์‰ฝ๊ฒŒ ๊ตฌ์ถ•ํ•˜๊ณ  ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋Š” ๊ณ ์ˆ˜์ค€ ๋”ฅ๋Ÿฌ๋‹ API์ด๋‹ค.

  1. ๊ณ ์ˆ˜์ค€ API: Keras๋Š” ์‚ฌ์šฉ์ž ์นœํ™”์ ์ด๋ฉฐ ์ง๊ด€์ ์ธ ๊ณ ์ˆ˜์ค€ API๋ฅผ ์ œ๊ณตํ•˜์—ฌ ์‹ ๊ฒฝ๋ง์„ ์‰ฝ๊ฒŒ ๊ตฌ์ถ•ํ•˜๊ณ  ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋‹ค.

  2. ๋ชจ๋“ˆํ™” ๋ฐ ์œ ์—ฐ์„ฑ: ์ธต(layer)์„ ์Œ“์•„ ๋ชจ๋ธ์„ ๊ตฌ์„ฑํ•˜๊ณ , ๊ฐ ์ธต์€ ๋…๋ฆฝ์ ์œผ๋กœ ๊ตฌ์„ฑ๋  ์ˆ˜ ์žˆ์–ด ๋ชจ๋ธ์„ ์‰ฝ๊ฒŒ ์ˆ˜์ •ํ•˜๊ณ  ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

  3. ๋‹ค์–‘ํ•œ ๋ฐฑ์—”๋“œ ์—”์ง„ ์ง€์›: TensorFlow, Theano, Microsoft Cognitive Toolkit ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฐฑ์—”๋“œ ์—”์ง„์„ ์ง€์›ํ•œ๋‹ค.

๐Ÿ“— Keras ๋ชจ๋ธ๋ง ์ˆœ์„œ

1. ๋ฐ์ดํ„ฐ ์ค€๋น„

ํ•™์Šต ๋ฐ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ์ค€๋น„ํ•œ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ๋กœ๋“œํ•˜๊ณ  ์ „์ฒ˜๋ฆฌํ•˜๋Š” ๋‹จ๊ณ„์ด๋‹ค.

2. ๋ชจ๋ธ ๊ตฌ์ถ•

์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ชจ๋ธ ๊ตฌ์ถ• ๋ฐฉ์‹ ๋งŽ์ง€๋งŒ, Keras์—์„œ๋Š” ์ฃผ๋กœ ์„ธ๊ฐ€์ง€ ์œ ํ˜•์˜ ๋ชจ๋ธ ๊ตฌ์ถ• ๋ฐฉ์‹์ด ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค. Sequential API, Functional API, Model Subclassing์„ ํ™œ์šฉํ•ด ๋ชจ๋ธ์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋‹ค.

  1. Sequential API
    • ๊ฐ€์žฅ ๊ฐ„๋‹จํ•˜๊ณ  ์ง๊ด€์ ์ธ ๋ฐฉ๋ฒ•์œผ๋กœ, ๋ ˆ์ด์–ด๋ฅผ ์„ ํ˜•์ ์œผ๋กœ ์Œ“์•„ ๊ตฌ์„ฑํ•œ๋‹ค.
    • ๊ฐ ๋ ˆ์ด์–ด๋Š” ์ด์ „ ๋ ˆ์ด์–ด์˜ ์ถœ๋ ฅ์„ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›๋Š”๋‹ค.
    • ๋‹จ์ˆœํ•œ ๋ชจ๋ธ์„ ๋น ๋ฅด๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ˆœ์ฐจ์ ์ธ ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ๊ฐ€์ง„๋‹ค.
    • ํ•˜์ง€๋งŒ ๋ณต์žกํ•œ ๋ชจ๋ธ์„ ๊ตฌ์ถ•ํ•˜๊ธฐ ์–ด๋ ค์šธ ์ˆ˜ ์žˆ๋‹ค.

  2. Functional API
    • ๋ณต์žกํ•œ ๋ชจ๋ธ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค.
    • ๋‹ค์ค‘ ์ž…๋ ฅ ๋˜๋Š” ๋‹ค์ค‘ ์ถœ๋ ฅ์„ ๊ฐ€์ง€๋Š” ๋ชจ๋ธ, ๋ ˆ์ด์–ด๋“ค ์‚ฌ์ด์— ๋ณต์žกํ•œ ์—ฐ๊ฒฐ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๋Š” ๋ชจ๋ธ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ๊ฐ ๋ ˆ์ด์–ด๋ฅผ ํ•จ์ˆ˜์ฒ˜๋Ÿผ ํ˜ธ์ถœํ•˜์—ฌ ๋ ˆ์ด์–ด ๊ฐ„์˜ ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•œ๋‹ค.
    • ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ชจ๋ธ๊ณผ ๋” ์œ ์—ฐํ•œ ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

  3. Model Subclassing
    • ํŒŒ์ด์ฌ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋ธ์„ ๊ตฌ์ถ•ํ•œ๋‹ค.
    • ์‚ฌ์šฉ์ž ์ •์˜ ๋ ˆ์ด์–ด๋‚˜ ๋ชจ๋ธ์„ ๋งŒ๋“ค์–ด์•ผ ํ•  ๋•Œ ์œ ์šฉํ•˜๋‹ค.
    • ๊ฐ€์žฅ ์œ ์—ฐํ•œ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜์ด์ง€๋งŒ, ์ฝ”๋“œ ์ž‘์„ฑ์ด ์กฐ๊ธˆ ๋” ๋ณต์žกํ•˜๋ฉฐ ๋””๋ฒ„๊น…์ด ์–ด๋ ค์šธ ์ˆ˜ ์žˆ๋‹ค.
    • ๋ชจ๋ธ์˜ ์ƒ์„ฑ ๋ฐ ๊ตฌ์„ฑ ๋ฐฉ๋ฒ•์„ ์ œ์–ดํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์œ ์šฉํ•˜๋‹ค.

์ด ์„ธ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์€ ๊ฐ๊ฐ์˜ ์žฅ๋‹จ์ ์ด ์žˆ์œผ๋ฉฐ, ๋ชจ๋ธ์˜ ๋ณต์žก์„ฑ๊ณผ ๊ตฌ์กฐ์— ๋งž๊ฒŒ ์„ ํƒํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. Sequential์€ ๊ฐ„๋‹จํ•œ ๋ชจ๋ธ๋ง์— ์ ํ•ฉํ•˜๊ณ , Functional API๋Š” ๋ณต์žกํ•œ ๋ชจ๋ธ์— ์œ ์šฉํ•˜๋ฉฐ, Model Subclassing์€ ์ตœ๋Œ€ํ•œ์˜ ์œ ์—ฐ์„ฑ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์‚ฌ์šฉ๋œ๋‹ค.

3. ์ธต ๊ตฌ์„ฑ

๋„คํŠธ์›Œํฌ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š”๋ฐ์— ์žˆ์–ด ์ž…๋ ฅ์ธต, ํžˆ๋“ ์ธต, ์ถœ๋ ฅ์ธต์€ ํ•ต์‹ฌ์ ์ด๊ณ  ๊ธฐ๋ณธ์ ์ธ ๊ตฌ์„ฑ ์š”์†Œ์ด๋‹ค. ์ž…๋ ฅ์ธต, ํžˆ๋“  ์ธต, ์ถœ๋ ฅ์ธต์€ ๋„คํŠธ์›Œํฌ์˜ ์œ„์น˜์™€ ์—ญํ• ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐœ๋…์ด๋‹ค.

  1. ์ž…๋ ฅ์ธต(Input Layer)
    • ๋ชจ๋ธ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•˜๋Š” ๋ถ€๋ถ„์œผ๋กœ, ์™ธ๋ถ€ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ชจ๋ธ์— ๋“ค์–ด์˜ค๋Š” ๊ณณ์ด๋‹ค.
    • ์ž…๋ ฅ์ธต์˜ ๋‰ด๋Ÿฐ ์ˆ˜๋Š” ์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ์˜ ํŠน์„ฑ(feature)์˜ ์ˆ˜์— ํ•ด๋‹นํ•œ๋‹ค.
    • ์ฃผ์–ด์ง„ ๋ฌธ์ œ์— ๋”ฐ๋ผ ์ž…๋ ฅ์ธต์˜ ๋‰ด๋Ÿฐ ์ˆ˜๊ฐ€ ๊ฒฐ์ •๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ด๋ฏธ์ง€์˜ ๊ฒฝ์šฐ ๊ฐ ํ”ฝ์…€์„ ํ•˜๋‚˜์˜ ํŠน์„ฑ์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ์–ด์„œ ์ด๋ฏธ์ง€์˜ ํฌ๊ธฐ์— ๋”ฐ๋ผ ์ž…๋ ฅ์ธต์˜ ํฌ๊ธฐ๊ฐ€ ๊ฒฐ์ •๋œ๋‹ค.

  2. ํžˆ๋“  ์ธต(Hidden Layer)
    • ์ž…๋ ฅ์ธต๊ณผ ์ถœ๋ ฅ์ธต ์‚ฌ์ด์— ์œ„์น˜ํ•œ ์ธต์œผ๋กœ, ๋ชจ๋ธ์˜ ํ•™์Šต ๋ฐ ํŒจํ„ด ์ธ์‹์„ ๋‹ด๋‹นํ•œ๋‹ค.
    • ํžˆ๋“  ์ธต์€ ํ•˜๋‚˜ ์ด์ƒ์ผ ์ˆ˜ ์žˆ๊ณ , ๋‹ค์–‘ํ•œ ํ˜•ํƒœ์™€ ๊ฐœ์ˆ˜๋กœ ๊ตฌ์„ฑ๋  ์ˆ˜ ์žˆ๋‹ค.
    • ๊ฐ ํžˆ๋“  ์ธต์€ ๋‹ค๋ฅธ ์ธต๊ณผ์˜ ์—ฐ๊ฒฐ๋œ ๊ฐ€์ค‘์น˜์™€ ํ™œ์„ฑํ™” ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ์ž…๋ ฅ์„ ๋ฐ›๊ณ  ์ถœ๋ ฅ์„ ์ƒ์„ฑํ•œ๋‹ค.

  3. ์ถœ๋ ฅ์ธต(Output Layer)
    • ๋ชจ๋ธ์ด ์˜ˆ์ธกํ•˜๊ฑฐ๋‚˜ ๋ถ„๋ฅ˜ํ•˜๋ ค๋Š” ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ์ธต์ด๋‹ค.
    • ์ถœ๋ ฅ์ธต์˜ ๋‰ด๋Ÿฐ ์ˆ˜๋Š” ๋ชจ๋ธ์ด ํ•ด๊ฒฐํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฌธ์ œ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง„๋‹ค.
    • ์˜ˆ๋ฅผ ๋“ค์–ด, ์ด์ง„ ๋ถ„๋ฅ˜ ๋ฌธ์ œ์—์„œ๋Š” ํ•˜๋‚˜์˜ ๋‰ด๋Ÿฐ์œผ๋กœ ์ถœ๋ ฅ์„ ํ•˜๊ณ , ๋‹ค์ค‘ ํด๋ž˜์Šค ๋ถ„๋ฅ˜ ๋ฌธ์ œ์—์„œ๋Š” ํด๋ž˜์Šค ์ˆ˜์— ๋งž๊ฒŒ ์ถœ๋ ฅ ๋‰ด๋Ÿฐ์„ ์„ค์ •ํ•œ๋‹ค.

๋”ฅ๋Ÿฌ๋‹ ๋„คํŠธ์›Œํฌ๋Š” ์ด๋Ÿฌํ•œ ์ž…๋ ฅ์ธต, ํžˆ๋“  ์ธต, ์ถœ๋ ฅ์ธต์ด ์„œ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•˜๊ณ , ๊ฐ€์ค‘์น˜์™€ ํ™œ์„ฑํ™” ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ์ž…๋ ฅ์„ ๋ณ€ํ™˜ํ•˜๋ฉฐ, ์†์‹ค ํ•จ์ˆ˜๋ฅผ ์ตœ์†Œํ™”ํ•˜๋ฉฐ ํ•™์Šต์„ ์ง„ํ–‰ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ์ธต๋“ค์„ ์กฐํ•ฉํ•˜์—ฌ ๋ชจ๋ธ์„ ๊ตฌ์„ฑํ•˜๊ณ , ์ ์ ˆํ•œ ๊ตฌ์กฐ์™€ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์„ค์ •ํ•˜์—ฌ ์›ํ•˜๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.
ํ™œ์„ฑํ™” ํ•จ์ˆ˜ ์ž์„ธํžˆ ๋ณด๊ธฐ

Dense, Conv2D, LSTM ๋“ฑ์˜ ์ธต์„ ์‚ฌ์šฉํ•ด์„œ ๋ชจ๋ธ์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฐ ์ธต์€ ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์˜ ์ฐจ์›์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ, ํ™œ์„ฑํ™” ํ•จ์ˆ˜์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค.
Dense๋Š” ๋ฒกํ„ฐ ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ฐ ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๊ณ , Conv2D๋Š” ์ด๋ฏธ์ง€์™€ ๊ฐ™์€ 2D ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ฐ ์ฃผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ , LSTM์€ ์ˆœ์ฐจ์  ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.
๊ฐ ์ธต์€ ๋‹ค๋ฅธ ์ข…๋ฅ˜์˜ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์™€ ํŠน์„ฑ์„ ๊ณ ๋ คํ•˜์—ฌ ํ•™์Šตํ•˜๊ณ , ๊ฐ๊ฐ์˜ ์ธต์€ ํ•ด๋‹น ๋ฐ์ดํ„ฐ์— ๊ฐ€์žฅ ์ ํ•ฉํ•œ ๋ฐฉ์‹์œผ๋กœ ์ •๋ณด๋ฅผ ์ฒ˜๋ฆฌํ•˜๋ ค๊ณ  ์„ค๊ณ„๋˜์—ˆ๋‹ค.

Dense ์ธต: ์™„์ „ ์—ฐ๊ฒฐ ์ธต์œผ๋กœ, ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์˜ ๋ชจ๋“  ๋‰ด๋Ÿฐ๊ณผ ์ถœ๋ ฅ ๋ฐ์ดํ„ฐ์˜ ๋ชจ๋“  ๋‰ด๋Ÿฐ์ด ์„œ๋กœ ์—ฐ๊ฒฐ๋˜๋Š” ์ธต์ด๋‹ค. ์ถœ๋ ฅ ๋‰ด๋Ÿฐ ์ˆ˜๋ฅผ ์ง€์ •ํ•˜์—ฌ ์ธต์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.


Conv2D ์ธต: ํ•ฉ์„ฑ๊ณฑ ์ธต์œผ๋กœ, ์ฃผ๋กœ ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ์™€ ๊ฐ™์€ 2D ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค. ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์—์„œ ํŠน์ • ํŒจํ„ด์„ ์ธ์‹ํ•˜๊ธฐ ์œ„ํ•ด ์ž‘์€ ํ•„ํ„ฐ๋ฅผ ์ด์šฉํ•˜์—ฌ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์— ํ•ฉ์„ฑ๊ณฑ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.


LSTM ์ธต: ์ˆœํ™˜ ์‹ ๊ฒฝ๋ง(RNN)์˜ ํ•œ ์ข…๋ฅ˜๋กœ, ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ์‹œ๊ณ„์—ด ๋ฐ์ดํ„ฐ๋‚˜ ํ…์ŠคํŠธ์™€ ๊ฐ™์€ ์ˆœ์ฐจ์ ์ธ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค. LSTM์€ ์žฅ๊ธฐ ์˜์กด์„ฑ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋œ ์ธต์ด๋‹ค.
์ด์™ธ์—๋„ ๋‹ค๋ฅธ ์ธต๋“ค๋„ ์žˆ๋‹ค.

์ž…๋ ฅ์ธต, ํžˆ๋“ ์ธต, ์ถœ๋ ฅ์ธต๊ณผ Dense์ธต Conv2D์ธต, LSTM์ธต์€ ๋‹ค๋ฅธ ๊ฐœ๋…์ด๋‹ค. ์ธต์„ ๋‚˜๋ˆ„๋Š๋Š” ๋ถ„๋ฅ˜๊ธฐ์ค€์ด ๋‹ค๋ฅด๋‹ค.
์ž…๋ ฅ์ธต, ํžˆ๋“  ์ธต, ์ถœ๋ ฅ์ธต์€ ๋„คํŠธ์›Œํฌ์˜ ์œ„์น˜์™€ ์—ญํ• ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐœ๋…์ด๋ฉฐ, Dense, Conv2D, LSTM์€ ๊ฐ๊ฐ ๋‹ค๋ฅธ ์ข…๋ฅ˜์˜ ๋ฐ์ดํ„ฐ ๋ฐ ๋ฌธ์ œ์— ์ ํ•ฉํ•œ ์‹ ๊ฒฝ๋ง ์ธต์ด๋‹ค.

4. ๋ชจ๋ธ ์ปดํŒŒ์ผ

๋ชจ๋ธ์„ ์ปดํŒŒ์ผํ•œ๋‹ค๋Š” ๊ฒƒ์€ ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์„ ํ•™์Šตํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ์„ค์ •์„ ์ •์˜ํ•˜๊ณ  ์ค€๋น„ํ•˜๋Š” ๋‹จ๊ณ„๋ฅผ ๋งํ•œ๋‹ค.
compile ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋ธ์„ ์ปดํŒŒ์ผํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ , ์†์‹ค ํ•จ์ˆ˜(loss function), ์ตœ์ ํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜(optimizer), ํ‰๊ฐ€ ์ง€ํ‘œ(metrics)๋ฅผ ์„ค์ •ํ•œ๋‹ค.

  1. ์†์‹ค ํ•จ์ˆ˜ (Loss Function)
    • ์†์‹ค ํ•จ์ˆ˜๋Š” ๋ชจ๋ธ์ด ์˜ˆ์ธกํ•œ ๊ฐ’๊ณผ ์‹ค์ œ ์ •๋‹ต ๊ฐ„์˜ ์ฐจ์ด๋ฅผ ์ธก์ •ํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค.
    • ๋ชจ๋ธ์˜ ์˜ˆ์ธก์ด ์‹ค์ œ ๊ฐ’๊ณผ ์–ผ๋งˆ๋‚˜ ์ฐจ์ด๋‚˜๋Š”์ง€๋ฅผ ๊ณ„์‚ฐํ•˜์—ฌ ๋ชจ๋ธ์„ ํ•™์Šตํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.
    • ํšŒ๊ท€ ๋ฌธ์ œ์—์„œ๋Š” ์ฃผ๋กœ ํ‰๊ท  ์ œ๊ณฑ ์˜ค์ฐจ(Mean Squared Error, MSE)๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ๋ถ„๋ฅ˜ ๋ฌธ์ œ์—์„œ๋Š” ํฌ๋กœ์Šค ์—”ํŠธ๋กœํ”ผ(Cross Entropy)์™€ ๊ฐ™์€ ํ•จ์ˆ˜๋“ค์ด ์‚ฌ์šฉ๋œ๋‹ค.
    • ์†์‹ค ํ•จ์ˆ˜๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ๋ชจ๋ธ์˜ ๊ฐ€์ค‘์น˜๋ฅผ ์กฐ์ •ํ•˜์—ฌ ํ•™์Šต์„ ์ง„ํ–‰ํ•œ๋‹ค.

  2. ์ตœ์ ํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜ (Optimizer)
    • ์ตœ์ ํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋ชจ๋ธ์˜ ์†์‹ค ํ•จ์ˆ˜๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ€์ค‘์น˜๋ฅผ ์กฐ์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•œ๋‹ค.
    • ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•(Gradient Descent)๊ณผ ๊ทธ ๋ณ€ํ˜•๋“ค์ด ์ตœ์ ํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.
    • Adam, RMSProp, SGD ๋“ฑ์ด ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ์ตœ์ ํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. -> Adam, RMSProp, SGD
    • ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜๋“ค์€ ์†์‹ค ํ•จ์ˆ˜์—์„œ ๊ธฐ์šธ๊ธฐ(๊ฒฝ์‚ฌ)๋ฅผ ๊ณ„์‚ฐํ•˜๊ณ , ์ด๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐ€์ค‘์น˜๋ฅผ ์—…๋ฐ์ดํŠธํ•œ๋‹ค.

  3. ํ‰๊ฐ€ ์ง€ํ‘œ (Metrics)
    • ํ‰๊ฐ€ ์ง€ํ‘œ๋Š” ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์„ ์ธก์ •ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋ฉฐ, ๋ชจ๋ธ์ด ์–ผ๋งˆ๋‚˜ ์ž˜ ๋™์ž‘ํ•˜๋Š”์ง€ ํ‰๊ฐ€ํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค€๋‹ค.
    • ์†์‹ค ํ•จ์ˆ˜๋Š” ๋ชจ๋ธ์„ ํ•™์Šตํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋ฐ˜๋ฉด, ํ‰๊ฐ€ ์ง€ํ‘œ๋Š” ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์„ ์ธก์ •ํ•˜๊ณ  ์ดํ•ดํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.
    • ๋ถ„๋ฅ˜ ๋ฌธ์ œ์—์„œ๋Š” ์ •ํ™•๋„(Accuracy), ์ •๋ฐ€๋„(Precision), ์žฌํ˜„์œจ(Recall), F1-score ๋“ฑ์ด ์‚ฌ์šฉ๋œ๋‹ค.
    • ํšŒ๊ท€ ๋ฌธ์ œ์—์„œ๋Š” ํ‰๊ท  ์ ˆ๋Œ€ ์˜ค์ฐจ(Mean Absolute Error, MAE)๋‚˜ ๊ฒฐ์ • ๊ณ„์ˆ˜(R-squared) ๋“ฑ์ด ์‚ฌ์šฉ๋œ๋‹ค.

5. ๋ชจ๋ธ ํ•™์Šต

fit ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋ธ์„ ํ•™์Šต์‹œํ‚จ๋‹ค. ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์™€ ์ •๋‹ต ๋ ˆ์ด๋ธ”์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋ธ์„ ํ•™์Šตํ•˜๊ณ , ์—ํฌํฌ(epoch)์™€ ๋ฐฐ์น˜ ํฌ๊ธฐ(batch size)๋ฅผ ์„ค์ •ํ•œ๋‹ค.

  1. ์ž…๋ ฅ ๋ฐ์ดํ„ฐ(Input Data): ๋ชจ๋ธ ํ•™์Šต์— ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ ์„ธํŠธ์ด๋‹ค. ์ด ๋ฐ์ดํ„ฐ๋Š” ๋ชจ๋ธ์— ์ž…๋ ฅ๋˜๋ฉฐ, ์ฃผ์–ด์ง„ ์ž…๋ ฅ์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.

  2. ์ •๋‹ต ๋ ˆ์ด๋ธ”(Target Labels ๋˜๋Š” Ground Truth): ๊ฐ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๊ธฐ๋Œ€ ์ถœ๋ ฅ๊ฐ’ ๋˜๋Š” ์‹ค์ œ ์ •๋‹ต์ด๋‹ค. ๋ชจ๋ธ์€ ํ•™์Šตํ•  ๋•Œ ์ด ์ •๋‹ต ๋ ˆ์ด๋ธ”์„ ์˜ˆ์ธกํ•˜๋„๋ก ์กฐ์ •๋œ๋‹ค.

  3. ์—ํฌํฌ(Epoch): ์ „์ฒด ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ํ•œ ๋ฒˆ์”ฉ ํ•™์Šตํ•˜๋Š” ๊ฒƒ์„ 1 ์—ํฌํฌ๋ผ๊ณ  ํ•œ๋‹ค. ์—ํฌํฌ ์ˆ˜๋Š” ์ „์ฒด ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ๋ช‡ ๋ฒˆ ๋ฐ˜๋ณตํ•˜์—ฌ ํ•™์Šตํ•  ๊ฒƒ์ธ์ง€๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค.

  4. ๋ฐฐ์น˜ ํฌ๊ธฐ(Batch Size): ์ „์ฒด ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜๋ˆ„์–ด ์—ฌ๋Ÿฌ ์ž‘์€ ๋ฐฐ์น˜๋กœ ๋‚˜๋ˆ„๋Š” ๊ฒƒ์ด๋‹ค. ๊ฐ ๋ฐฐ์น˜์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€์ค‘์น˜๋ฅผ ์—…๋ฐ์ดํŠธํ•œ๋‹ค. ๋ฐฐ์น˜ ํฌ๊ธฐ๋Š” ํ•œ ๋ฒˆ์˜ ๋ฐ˜๋ณต(iteration)์— ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ ์ƒ˜ํ”Œ์˜ ์ˆ˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

6. ๋ชจ๋ธ ํ‰๊ฐ€ ๋ฐ ์˜ˆ์ธก

evaluate ๋ฉ”์„œ๋“œ๋กœ ๋ชจ๋ธ์„ ํ‰๊ฐ€ํ•˜๊ณ , predict ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์˜ˆ์ธก์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.




์ด๋Ÿฌํ•œ ์ˆœ์„œ๋กœ Keras๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์„ ๊ตฌ์ถ•ํ•˜๊ณ  ํ•™์Šต์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ ๊ตฌ์ถ•์˜ ํ๋ฆ„์„ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋งŽ์ด ์“ฐ์ง€ ์•Š์•˜์ง€๋งŒ ๋‹ค์Œ ํฌ์ŠคํŒ…๋ถ€ํ„ฐ ๋” ์„ธ๋ถ€์ ์ธ ๋‚ด์šฉ์— ๋Œ€ํ•œ ํฌ์ŠคํŒ…์„ ์˜ฌ๋ฆฌ๋ ค๊ณ  ํ•œ๋‹ค.

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

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด