[cs231n] Lecture 6: Training Neural Networks, Part 1

๊ฐ•๋™์—ฐยท2022๋…„ 2์›” 1์ผ
0

[CS231n-2017]

๋ชฉ๋ก ๋ณด๊ธฐ
5/7

๐Ÿ‘จโ€๐Ÿซ ๋ณธ ๋ฆฌ๋ทฐ๋Š” cs231n-2017 ๊ฐ•์˜๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

Syllabus
Youtube Link

Overview

  1. One time setup

    • activation functions
    • preprocessing
    • weight initialization
    • regularization
    • gradient checking
  2. Trainging dynamics

    • babysitting the learning process
    • paprameter updates
    • hyperparameter optimization
  3. Evaluation

    • model ensembles

Activation Functions

๐Ÿ“Œ ์ง€๊ธˆ๊นŒ์ง€ ๋งŽ์€ Activation functions์„ ๋ดค์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ ๊ฐ๊ฐ์˜ Activation functions์˜ ์—ญํ™œ๊ณผ ์ •์˜์— ๋Œ€ํ•ด์„œ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ ์‹œ๊ทธ๋ชจ์ด๋“œ ํ•จ์ˆ˜๋ฅผ ๋ณด๋ฉด, ์œ„์˜ ๊ทธ๋ž˜ํ”„์ฒ˜๋Ÿผ 0~1์‚ฌ์ด์˜ ๊ฐ’์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค. ์‹œ๊ทธ๋ชจ์ด๋“œ ํ•จ์ˆ˜์—๋Š” ๋ช‡ ๊ฐ€์ง€ ๋ฌธ์ œ๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“Œ ๋ฌธ์ œ์  1. ๋‰ด๋Ÿฐ์ด ํฌํ™”๋˜๋ฉด gradinet๋ฅผ ์ฃฝ์ผ๊ฒ๋‹ˆ๋‹ค.
๐Ÿ“Œ ๋งŒ์•ฝ X๊ฐ€ -10, 0, 10์ด๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”? -10์ด๋ฉด 0์— ๊ฐ€๊น๊ฒŒ ์ˆ˜๋ ดํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ chain rule๋กœ ์ธํ•ด gradient๋“ค์ด 0์— ๊ฐ€๊น๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ฆ‰ gradient๊ฐ€ ์ฃฝ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. 10์ผ๋–„๋„ ๋™์ผํ•œ ํ˜„์ƒ์ด ์ผ์–ด๋‚ฉ๋‹ˆ๋‹ค. 0์ผ๋•Œ๋Š” ์œ„์˜ ๊ทธ๋ ˆํ”„์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋“ฐ์ด, 0.5์˜ ๊ฐ’์„ ๊ฐ€์ง€๋ฉฐ ์•„๋ฌด ์ด์ƒ ์—†์„ ๊ฒ๋‹ˆ๋‹ค.

๐Ÿ“Œ ๋ฌธ์ œ์  2. ์‹œ๊ทธ๋ชจ์ด๋“œ ํ•จ์ˆ˜์˜ ๊ฒฐ๊ณผ๊ฐ€ zero-center๊ฐ€ ์•„๋‹ˆ๋ผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
๐Ÿ“Œ ์‹œ๊ทธ๋ชจ์ด๋“œ ํ•จ์ˆ˜๋Š” zero-center๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ํ•ญ์ƒ ์–‘์ˆ˜์ด๊ฑฐ๋‚˜ ์Œ์ˆ˜์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์œ„์˜ ๋นจ๊ฐ„์„ ์ฒ˜๋Ÿผ gradinet๊ฐ€ ํŠน์ • ๋ฐฉํ–ฅ์œผ๋กœ๋งŒ ์›€์ง์ด๊ธฐ ๋•Œ๋ฌธ์— ํšจ์œจ์ ์ด์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ํŒŒ๋ž€์„ ์ฒ˜๋Ÿผ ์›€์ง์ผ ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์ด์ฃ .

๐Ÿ“Œ ๋ฌธ์ œ์  3. exp()์—ฐ์‚ฐ์ด ๋น„์‹ธ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค.

๐Ÿ“Œ ๋‘๋ฒˆ์งธ activation function์œผ๋กœ tanh(x) ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ด๋Š” ์‹œ๊ทธ๋ชจ์ด๋“œ ํ•จ์ˆ˜์™€ ๋‹ค๋ฅด๊ฒŒ -1 ~ 1์‚ฌ์ด์˜ ๊ฐ’์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค. ์ด๋Š” ์ฆ‰ tanh๋Š” zero-centerํ•˜๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๐Ÿ“Œ ํ•˜์ง€๋งŒ ์—ญ์‹œ๋‚˜ ๊ทธ๋ž˜ํ”„๋ฅผ ๋ณด์‹œ๋ฉด ํฌํ™”์ƒํƒœ์—์„œ gradient๊ฐ€ ์ฃฝ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ ์œ„์˜ ๋ฌธ์ œ๋“ค์„ ํ•ด๊ฒฐํ•œ ๋ฐฉ๋ฒ•๋ก ์œผ๋กœ ReLU ํ•จ์ˆ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ReLU ํ•จ์ˆ˜๋Š” ๋‘ ์„ ํ˜•ํ•จ์ˆ˜์˜ ํ•ฉ์ด๋ผ๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ReLU๋Š” ์–‘์ˆ˜์ธ ์ง€์—ญ์—์„œ๋Š” ํฌํ™”๊ฐ€ ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ReLU๋Š” ๋น„์‹ธ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋‹ค๋ฅธ ํ•จ์ˆ˜๋“ค๋ณด๋‹ค ์ˆ˜๋ ด์ด ๋น ๋ฅด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๐Ÿ“Œ ํ•˜์ง€๋งŒ ReLU ์—ญ์‹œ 0์ดํ•˜์˜ ๊ฐ’๋“ค์€ ์ „๋ถ€ 0์œผ๋กœ ์ˆ˜๋ ดํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์ ˆ๋ฐ˜์˜ gradient๋Š” ์ฃฝ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์—ญ์‹œ๋‚˜ zero-center์˜ ๊ฒฐ๊ณผ๋ฅผ ๋‚˜ํƒ€๋‚ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ ์œ„์˜ training set(DATA CLOUD)์˜ ์ดˆํ‰๋ฉด์—์„œ ๋ณด๋ฉด ReLU ํ•จ์ˆ˜๋Š” ๋นจ๊ฐ„์ƒ‰์˜ ๋ฐฉํ–ฅ์œผ๋กœ๋Š” ํ™œ์„ฑํ™” ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ ์ด๋ฅผ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ReLU ํŒจ๋ฐ€๋ฆฌ๋“ค์ด ๋‚˜์˜ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋จผ์ € Leaky ReLU๋Š” ์œ„์˜ ๊ทธ๋ž˜ํ”„์™€ ๊ฐ™์ด ์ฃฝ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ Parametric Rectifier์˜ ๊ฒฝ์šฐ ฮฑ\alpha ๊ณ„์ˆ˜๋ฅผ ํŒŒ๋ผ๋ฏธํ„ฐ์ฒ˜๋Ÿผ ์ปจํŠธ๋กค ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ ELU๋Š” ReLU์™€ Leaky ReLU์˜ ์‚ฌ์ด๋ผ๊ณ  ์‰ฝ๊ฒŒ ์ด์•ผ๊ธฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ELU๋Š” ๊ธฐ์กด์˜ dying ReLU ํ˜„์ƒ์„ ๋ฐฉ์ง€ํ•˜๋ฉฐ, ๋˜ํ•œ ๊ฑฐ์˜ zero-center์— ๊ฐ€๊น๊ฒŒ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ํ•œ ๋งˆ๋””๋กœ ReLU์˜ ์žฅ์ ๋งŒ ๋ชจ์•„๋†“์€ ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์œ ์ผํ•œ ๋‹จ์ ์œผ๋กœ exp()์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•ด์•ผํ•œ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค.

๐Ÿ“Œ Maxout์€ ReLU์™€ Leaky ReLU๋ฅผ ์ผ๋ฐ˜ํ™” ํ•œ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฃฝ์ง€์•Š๊ณ  ํฌํ™”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์œ„์˜ ์‹์„ ๋ณด๋ฉด ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋‘๋ฒˆ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์—ฐ์‚ฐ๋Ÿ‰์ด ๋งŽ์ด ๋Š˜์–ด๋‚ฉ๋‹ˆ๋‹ค.

๐Ÿ‘จโ€๐Ÿซ ๊ฒฐ๋ก ์ ์œผ๋กœ Activation Fucntion์€ ReLU ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

Data Preprocessing

๐Ÿ“Œ ์ด๋ฏธ์ง€์˜ ๊ด€ํ•œ ์ „์ฒ˜๋ฆฌ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ zero-centered๋งŒ ์ˆ˜ํ–‰ํ•œ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ฅธ ํ‘œ์ค€ํ™”, PCA, ํ™”์ดํŠธ๋‹ ๋“ฑ์ด ์กด์žฌํ•˜์ง€๋งŒ ์ผ๋ฐ˜์ ์œผ๋กœ CNN ๊ณ„์—ด์€ zero-centered๋งŒ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“Œ ์ด๋ฏธ์ง€์˜ ๊ฒฝ์šฐ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฒ”์œ„๊ฐ€ ์ •ํ•ด์ ธ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— zero-centered๋งŒ ์ˆ˜ํ–‰ํ•œ๋‹ค๋Š” ๊ฒƒ๊ฐ™์Šต๋‹ˆ๋‹ค.

Weight Initialization

๐Ÿ“Œ ๋งŒ์•ฝ W=0์ด๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”? ๋ชจ๋“  ๋‰ด๋Ÿฐ์˜ ๊ฐ’์ด ์ „๋ถ€ ๋˜‘๊ฐ™์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ์šฐ๋ฆฌ๋Š” Weight๋ฅผ ์ ๋‹นํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์ดˆ๊ธฐํ™” ์‹œ์ผœ์ค˜์•ผํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“Œ ๋จผ์ € ~ Gaussian(0, 0.01) * 0.01๋กœ ์ดˆ๊ธฐํ™” ์‹œ์ผœ์ค๋‹ˆ๋‹ค.

๐Ÿ“Œ ์ž‘์€ ์ˆ˜๋กœ ์ดˆ๊ธฐํ™” ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ์œ„์˜ ๊ทธ๋ž˜ํ”„๋ฅผ ๋ณด๋ฉด activation์ด 0์œผ๋กœ ์ˆ˜๋ ดํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. smell networks์—์„œ๋Š” ๊ดœ์ฐฎ์„ ์ˆ˜ ์žˆ์–ด๋„ ๊นŠ์–ด์ง€๋ฉด ์งˆ์ˆ˜๋ก 0์œผ๋กœ ์ˆ˜๋ ดํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๐Ÿ“Œ ์œ„์˜ ๊ทธ๋ž˜ํ”„์ฒ˜๋Ÿผ 1.0์„ ๋Œ€์‹  ๊ณฑํ•ด์ฃผ๋ฉด, ์œ„์˜ ๊ทธ๋ž˜ํ”„์™€ ๊ฐ™์ด 1, -1๋กœ ํฌํ™”๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๊ณ , gradient๋Š” ๊ฒฐ๊ตญ 0์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๐Ÿ“Œ ์œ„์˜ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ  ์ด์•ผ๊ธฐ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฑด, ๊ฒฐ๊ตญ Weight ์ดˆ๊ธฐํ™” ๋˜ํ•œ ๊ณ ๋ฏผํ•ด๋ด์•ผํ•  ๋ฌธ์ œ์ด๋ผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ˆ„๊ตฐ๊ฐ€ ๋ฏธ๋ฆฌ ์ข‹์€ ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•ด์ค๋‹ˆ๋‹ค.

๐Ÿ“Œ "Xavier" ์ดˆ๊ธฐํ™” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์œ„์˜ ์‹์„ ๋ณด์‹œ๋ฉด ๊ฐ€์šฐ์‹œ์•ˆ ๋ถ„ํฌ์— ์ž…๋ ฅ์˜ ์ˆ˜๋ฅผ ๋‚˜๋ˆ ์ฃผ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ์ž…์ถœ๋ ฅ์˜ ๋ถ„์‚ฐ์„ ๋ง‰์•„์ค๋‹ˆ๋‹ค. ์กฐ๊ธˆ ๋” ์ง๊ด€์ ์œผ๋กœ Input์˜ ์ˆ˜๊ฐ€ ์ž‘์œผ๋ฉด ๋” ์ž‘์€ ๊ฐ’์œผ๋กœ ๋‚˜๋ˆ„๊ณ  ์กฐ๊ธˆ ๋” ํฐ ๊ฐ’์„ ์–ป์Šต๋‹ˆ๋‹ค. ์ž‘์€ ์ž…๋ ฅ์˜ ์ˆ˜๊ฐ€ ๊ฐ€์ค‘์น˜์™€ ๊ณฑํ•ด์ง€๊ธฐ ๋•Œ๋ฌธ์—, ๊ฐ€์ค‘์น˜๊ฐ€ ๋” ์ปค์•ผ๋งŒ ์ถœ๋ ฅ์˜ ๋ถ„์‚ฐ๋งŒํผ ํฐ ๊ฐ’์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ ํ•˜์ง€๋งŒ ReLU ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ์—๋Š” ์ถœ๋ ฅ์˜ ์ ˆ๋ฐ˜์ด ์ฃฝ๊ธฐ ๋•Œ๋ฌธ์—, ๋ถ„ํฌ๊ฐ€ 0์œผ๋กœ ์ˆ˜๋ ดํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ ์œ„์˜ ๋Œ€ํ•œ ํ•ด๊ฒฐ์ฑ…์œผ๋กœ ์ž…๋ ฅ์˜ ์ˆ˜๋ฅผ ์ ˆ๋ฐ˜์œผ๋กœ ๋‚˜๋ˆ ์คŒ์œผ๋กœ์จ ํ•ด๊ฒฐํ•ด์ค๋‹ˆ๋‹ค.

Batch Normalization

๐Ÿ“Œ Batch Normalization(BN)์€ ๊ฐ๊ฐ์˜ ์ฐจ์›์œ unit gaussain์œผ๋กœ ๋ฐ”๊ฟ”์ค๋‹ˆ๋‹ค.

๐Ÿ“Œ ์œ„์˜ ๊ทธ๋ฆผ ์ฒ˜๋Ÿผ ๊ฐ feature๋งˆ๋‹ค ํ‰๊ท ์„ ๊ตฌํ•ด Normalize๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“Œ BN์€ ์œ„์˜ ๊ฐ™์ด FC layer๋‚˜ Conv layer ์ดํ›„์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.(activation function ์ „์—) ๋˜ํ•œ Conv layer์˜ ๊ฒฝ์šฐ์—๋Š” ๊ฐ๊ฐ์˜ activation map๋งˆ๋‹ค ํ‰๊ท ๊ณผ ๋ถ„์‚ฐ์„ ๊ตฌํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“Œ ํ•˜์ง€๋งŒ ์œ„์˜ ๋ฐฉ๋ฒ•์€ ๋ชจ๋“  ํฌํ™”(saturation)์„ ๋ฐฉ์ง€ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์šฐ๋ฆฌ์˜ ๋ชฉ์ ์€ ๋ชจ๋“  ํฌํ™”(saturation)๋ง‰๋Š” ๊ฒƒ ๋ณด๋‹ค๋Š” ์ปจํŠธ๋กคํ•˜๊ณ  ์‹ถ๋‹ค.

๐Ÿ“Œ ๊ทธ๋ž˜์„œ ฮณ\gamma(scale)๊ณผ ฮฒ\beta(shift)๋ฅผ ์‚ฌ์šฉํ•ด ์ปจํŠธ๋กค ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทน๋‹จ์ ์œผ๋กœ ์œ„์˜ ์˜ˆ์‹œ์™€ ๊ฐ™์ด ฮณ\gamma(scale)๊ณผ ฮฒ\beta(shift)๋ฅผ ์œ„์™€ ๊ฐ™์ด ์ ์šฉํ•˜๋ฉด identity mapping์ด ๋ฉ๋‹ˆ๋‹ค.

๐Ÿ“Œ ์ „์ฒด์ ์œผ๋กœ ํ•™์Šต ์ง„ํ–‰ ๊ณผ์ •์„ ๋ณด์—ฌ์ฃผ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ํ…Œ์ŠคํŠธ์‹œ ํ•™์Šต์„ ์ง„ํ–‰ํ•˜์ง€ ์•Š๊ณ  train์‹œ ํ•™์Šตํ–ˆ๋˜ ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ํ‰๊ท ๊ณผ ๋ถ„์‚ฐ์„ ์‚ฌ์šฉํ•œ๋‹ค.

Babysitting the Learning Process

  • Step 1: Preprocess the data
  • Step 2: Choose the architecture

Step 1: Preprocess the data

๐Ÿ“Œ ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ๋Š” ์œ„์—์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด ๊ฐ„๋‹จํ•˜๊ฒŒ zero-centered๋งŒ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

Step 2: Choost the architecture

๐Ÿ“Œ CIFAR-10 3072 images๋“ค์„ Input์œผ๋กœ 50๊ฐœ์˜ hidden neurons๊ณผ 10๊ฐœ์˜ ouptut class ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ ๋จผ์ € ์–ด๋–ค Loss๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ์ธ์ง€ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์œ„์˜ ์˜ˆ์‹œ์—์„œ๋Š” ๊ฐ€์ค‘์น˜๊ฐ€ ๋งค์šฐ ์ž‘์€ ์ˆ˜๋กœ ์ด๋ค„์ ธ ์žˆ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๊ฐ€์ค‘์น˜๊ฐ€ ์ž‘์„๋•Œ Softmax classifier์˜ Loss๋Š” negative log likelihood๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์œ„์˜ ์‹์—์„œ๋Š” ์ •๊ทœํ™”๋Š” ์ ์šฉํ•˜์ง€ ์•Š๊ณ  ๊ณ„์‚ฐํ–ˆ์„๋•Œ 2.3026.. ๋ผ๋Š” ์ ๋‹นํ•œ loss๊ฐ€ ๋‚˜์˜ต๋‹ˆ๋‹ค.

๐Ÿ“Œ ์ดํ›„ 1e3์˜ ์ •๊ทœํ™” ๊ณ„์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•ด ์ง„ํ–‰ํ–ˆ์„ ๋•Œ, 3.06.. ์ข€ ๋” ๋†’์€ loss๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ ๋˜ํ•œ ๋ชจ๋ธ์„ ํ…Œ์ŠคํŠธํ•  ์‹œ์—๋Š” ๋งค์šฐ ์ผ๋ถ€์˜ ๋ฐ์ดํ„ฐ์…‹์„ ๊ฐ€์ง€๊ณ  ์‹คํ—˜ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๊ตฌ์„ฑํ•œ๋Œ€๋กœ ์ž˜ ๋™์ž‘ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๋Š” ์ž‘์—…์ž…๋‹ˆ๋‹ค. ์œ„์˜ ์ฝ”๋“œ์—์„œ๋Š” 20๊ฐœ์˜ CIFAR-10 ๋ฐ์ดํ„ฐ์™€ ์ •๊ทœํ™”๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ , vanilla SGD๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ ์€ ์ˆ˜์˜ ์˜ˆ์‹œ์—์„œ๋Š” overfit ๋˜๋Š”๊ฒƒ์ด ๋‹น์—ฐํ•˜๊ณ , ๊ทธ๋ ‡๊ฒŒ ๋˜์–ด์•ผ ์ •์ƒ์ž…๋‹ˆ๋‹ค.

๐Ÿ“Œ ์œ„์— ์‚ฌ์ง„๊ณผ ๊ฐ™์ด ์ž˜ fitting ๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ ์ด์ œ๋Š” loss๋ฅผ ์ค„์ด๋Š” ์•ฝ๊ฐ„์˜ ์ •๊ทœํ™”์™€ learning rate ์ฐพ์„ ๊ฒ๋‹ˆ๋‹ค. ํŠนํžˆ๋‚˜ learning rate์˜ ๊ฒฝ์šฐ์—๋Š” ๋งค์šฐ ์ค‘์š”ํ•œ ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ ์ž…๋‹ˆ๋‹ค. ๋„ˆ๋ฌด ์ž‘์œผ๋ฉด ํ•™์Šต์ด ์ž˜ ์ผ์–ด๋‚˜์ง€ ์•Š์„ ๊ฒ๋‹ˆ๋‹ค. ๋˜ํ•œ ๋„ˆ๋ฌด ํฌ๋ฉด ๋ฐœ์‚ฐํ•˜๊ฑฐ๋‚˜ ์ˆ˜๋ ดํ•˜์ง€ ๋ชปํ•˜๊ธฐ์— ์ ๋‹นํ•œ ๊ฐ’์œผ๋กœ ํ•™์Šตํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ [1e-3 ... 1e-5]๋ผ๊ณ  ๋งํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ๋ถ„๋ช…ํ•œ๊ฑด ๊ตฌ์„ฑํ•œ ๋ชจ๋ธ์— ๋”ฐ๋ผ ์ƒ์ดํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Hyperparameter Optimization

๐Ÿ“Œ Hyperparameter Optimization ์ค‘ ์—ญ์‹œ ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ cross-validation์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ฒซ ์Šคํ…Œ์ด์ง€์—์„œ๋Š” few epochs๊ณผ ๋Œ€๋žต์ ์ธ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ฐพ์œผ๋ฉฐ, ๋‘๋ฒˆ์งธ ์Šคํ…Œ์ด์ง€์—์„œ๋Š” ์ฒซ ์Šคํ…Œ์ด์ง€์˜ ์‹คํ—˜์„ ๋ฐ”ํƒ•์œผ๋กœ ๊ตฌ์ฒด์ ์ธ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ผ๋ฐ˜์ ์œผ๋กœ cost๊ฐ€ 3๋ฐฐ์ด์ƒ ๋›ด๋‹ค๋ฉด ๋ฐœ์‚ฐํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ ์ผ๋ฐ˜์ ์œผ๋กœ lr์ด๋‚˜ reg๋Š” ์ง€์ˆ˜๋ถ€๋ถ„์„ ์ปจํŠธ๋กคํ•ฉ๋‹ˆ๋‹ค. ์œ„์˜ ๊ฒฐ๊ณผ์—์„œ ๊ฐ€์žฅ ์ข‹์€ ๊ฒฐ๊ณผ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๊ตฌ์ฒด์ ์ธ ๋ฒ”์œ„๋ฅผ ์ฐพ์•„ ๋‹ค์‹œ ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“Œ ํ•˜์•„ํผ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ฐพ๋Š” ๋ฐฉ๋ฒ• ์ค‘์—๋Š” ์œ„์™€ ๊ฐ™์ด Grid search ๋˜๋Š” Random search ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์œ„์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋“ฏ์ด Grid search๋Š” ๊ทธ๋ฆฌ๋“œํ•˜๊ฒŒ ์„ ํƒํ•˜๊ธฐ์— ์ตœ์ ์ ์„ ์ฐพ์ง€ ๋ชปํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์ง€๋งŒ, Random search๋Š” ํŠน์ • ๋ฒ”์œ„์—์„œ ๋žœ๋ค์œผ๋กœ ์ฐพ๊ธฐ ๋•Œ๋ฌธ์— ์ตœ์ ์ ์„ ์ฐพ์„ ๊ฐ€๋Šฅ์„ฑ์ด ๋” ๋†’์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ ์ด์™ธ์—๋„ ๋‹ค์–‘ํ•œ ํ•˜์ดํผ ํŒŒ๋ผ๋ฏธํ„ฐ๋“ค์ด ์กด์žฌํ•˜์ง€๋งŒ ๋‚˜์ค‘์— ๋” ํ•™์Šตํ•œ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“Œ ๊ฒฐ๊ณผ์ ์œผ๋กœ ์ตœ์ ์˜ ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด์„  ์œ„์™€ ๊ฐ™์ด ๋งŽ์€ ์‹œ๋„๋ฅผ ํ•ด๋ด์•ผํ•œ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“Œ ์ฒซ๋ฒˆ์งธ ๊ทธ๋ž˜ํ”„์—์„œ๋Š” learning rate์— ๋”ฐ๋ฅธ loss์˜ ๋ถ„ํฌ๋ฅผ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๊ฒฐ๊ณผ์ ์œผ๋กœ ๋นจ๊ฐ„์ƒ‰์„ ๊ณผ ๊ฐ™์€ learning rate์„ ์ฐพ์„๋ ค๊ณ  ๋…ธ๋ ฅํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“Œ ๋‘๋ฒˆ์งธ ๊ทธ๋ž˜ํ”„์™€ ๊ฐ™์€ ๊ทธ๋ž˜ํ”„๊ฐ€ ๋‚˜์˜จ๋‹ค๋ฉด ์ดˆ๊ธฐํ™” ๊ฐ’์ด ์ƒ๊ฐํ•ด๋ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์ดˆ๋ฐ˜์— ํ•™์Šต์ด ์ž˜ ์•ˆ๋œ๋‹ค๊ณ  ์ด์•ผ๊ธฐ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ ๋งˆ์ง€๋ง‰์œผ๋กœ train accurracy ์™€ Validation accurracy๋ฅผ ๋น„๊ตํ•  ๋•Œ๋Š” ๋‘ ๊ทธ๋ž˜ํ”„์˜ gap์„ ํ™•์ธํ•ด ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

profile
Maybe I will be an AI Engineer?

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