๐Ÿง‘โ€๐Ÿซ Lecture 7-8

lecture
NAS
Neural Architecture Search
Author

Gijeong Seong

Published

March 12, 2024

์ด๋ฒˆ ๊ธ€์—์„œ๋Š” Neural Architecture Search(์ดํ•˜ NAS)๋ผ๋Š” ๊ธฐ๋ฒ•์„ ์†Œ๊ฐœํ•œ๋‹ค. NAS๋Š” ์ตœ์ ์˜ ์‹ ๊ฒฝ๋ง ๊ตฌ์กฐ๋ฅผ ์ž๋™์œผ๋กœ ๋ฐœ๊ฒฌํ•˜๋Š” ๊ณผ์ •์ด๋‹ค.

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

1. Primitive operations

์ด ์ฑ•ํ„ฐ๋Š” ๊ธฐ๋ณธ ์—ฐ์‚ฐ์„ ๋‹ค์‹œ ๋Œ์•„๋ณธ๋‹ค. ๊ฐ•์˜์—์„œ ๋“ฑ์žฅํ•˜๋Š” ์—ฐ์‚ฐ์œผ๋กœ ์•„๋ž˜์™€ ๊ฐ™์€ ์—ฐ์‚ฐ์ด ์žˆ๋‹ค.

  • Linear Layer
  • Convolution
  • Grouped Convolution
  • Depthwise Convolution
  • 1x1 Convolution ๊ฐ ์—ฐ์‚ฐ์— ๋Œ€ํ•œ ์„ค๋ช…์€ ์ด ๊ธ€์—์„œ๋Š” ํ•˜์ง€ ์•Š๊ณ , ๊ฐ ์—ฐ์‚ฐ์˜ ์—ฐ์‚ฐ ์ˆ˜์ธ MACs(Multiply-ACumulate)๋งŒ ์งš๋Š”๋‹ค.

2. Classic building blocks

1์ฑ•ํ„ฐ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ, ๊ธฐ๋ณธ์ ์ธ ๋„คํŠธ์›Œํฌ ๊ตฌ์กฐ๋“ค์— ๋Œ€ํ•ด ๋Œ์•„๋ณธ๋‹ค. ๊ฐ•์˜์—์„  ์•„๋ž˜์™€ ๊ฐ™์€ ๋„คํŠธ์›Œํฌ๊ฐ€ ๋“ฑ์žฅํ•œ๋‹ค

  • bottleneck block
  • grouped convolution
  • depthwise-separable block
  • inverted bottleneck block
  • grouped convolution & channel shuffle
  • multi-head self attention(transformer)

์œ„์˜ primitive operations์™€ building blocks์— ๋Œ€ํ•œ ๊นŠ์€ ์ดํ•ด๊ฐ€ ์—†์–ด๋„, convolution ์—ฐ์‚ฐ์— ๋Œ€ํ•œ ๊ธฐ๋ณธ์ ์ธ ์ดํ•ด๊ฐ€ ์žˆ๋‹ค๋ฉด NAS๋ฅผ ์ดํ•ดํ•˜๋Š”๋ฐ๋Š” ๋ฌธ์ œ๊ฐ€ ์—†๋‹ค.

3. Introduction to neural architecture search (NAS)

์ด ์ฑ•ํ„ฐ์—์„œ๋Š” NAS๊ฐ€ ๋ฌด์—‡์ธ์ง€, ๊ทธ๋ฆฌ๊ณ  search space์— ๋Œ€ํ•ด ์„ค๋ช…ํ•œ๋‹ค.

3.1 What is NAS?

NAS๋Š” ์•ž์„œ ์„ค๋ช…ํ•œ ๋Œ€๋กœ, ์ตœ์ ์˜ ์‹ ๊ฒฝ๋ง ๊ตฌ์กฐ๋ฅผ ์ž๋™์œผ๋กœ ๋ฐœ๊ฒฌํ•˜๋Š” ๊ณผ์ •์ด๋‹ค. ์œ„์˜ ๊ทธ๋ž˜ํ”„์—์„œ, ์›์˜ ์•ˆ์ชฝ์— ๋ณ„(*)๋กœ ํ‘œ์‹œ๋œ ๋ชจ๋ธ์ด NAS๊ธฐ๋ฐ˜์˜ ๋ชจ๋ธ๋“ค์ด๊ณ , ์‹ค์ œ๋กœ ์‚ฌ๋žŒ์ด ์ œ์ž‘ํ•œ ๋ชจ๋ธ๋ณด๋‹ค ์ข‹์€ ์„ฑ๋Šฅ์„ ๋‚ด๋Š” ๊ฒƒ์„ ๋ณด์—ฌ์ค€๋‹ค. (์ ์€ ์—ฐ์‚ฐ์ˆ˜(MAC)์œผ๋กœ ๋†’์€ Top-1 accuracy) NAS๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์œ„์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์€ ์‹คํ–‰ ๊ตฌ์กฐ์ด๋‹ค. ์ด๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ์‚ดํŽด๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค. 1. Search Space์—์„œ ํŠน์ •ํ•œ ์—ฐ์‚ฐ/๋„คํŠธ์›Œํฌ๋ฅผ ๊ณ ๋ฅธ๋‹ค 2. ๊ทธ๊ฒƒ๋“ค์„ ์ž˜ ์กฐํ•ฉํ•ด(Search Strategy) ์ ๋‹นํ•œ ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“ ๋‹ค 3. ์กฐํ•ฉํ•œ ๊ตฌ์กฐ(architecture)์˜ ์„ฑ๋Šฅ์„ ํ‰๊ฐ€ํ•œ๋‹ค(performance estimation) 4. 1~3์˜ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•˜๋ฉฐ ์ตœ์ ์˜ ๋ชจ๋ธ์„ ์ฐพ๋Š”๋‹ค.

3.2 Search space

๊ทธ๋ ‡๋‹ค๋ฉด Search space๋ž€ ๋ฌด์—‡์ผ๊นŒ? Search space์—๋Š” ๋‘ ๊ฐ€์ง€ ์ข…๋ฅ˜๊ฐ€ ์žˆ๋‹ค.

  1. Cell-level
  2. Network-level cell-level์€ convolution๊ฐ™์€ ์—ฐ์‚ฐ, network-level์€ bottleneck๊ฐ™์€ ๋„คํŠธ์›Œํฌ๋ฅผ ๋Œ€์ƒ์œผ๋กœ ๊ทธ ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

3.2.1 Cell-level

์œ„์˜ ๊ทธ๋ฆผ์€ Cell-level์˜ ์„ ํƒ์„ RNN์„ ํ†ตํ•ด ์ง„ํ–‰ํ•˜๋Š” ๊ทธ๋ฆผ์ด๋‹ค. ์ด๋Š” ์šฐ์ธก๊ณผ ๊ฐ™์€ ๊ตฌ์กฐ์˜ ๋„คํŠธ์›Œํฌ๋ฅผ ๋งŒ๋“ค์ž๊ณ  ํ•  ๋•Œ, ๊ฐ๊ฐ ์–ด๋–ค ์—ฐ์‚ฐ/์ž…๋ ฅ์œผ๋กœ ์ฑ„์šธ์ง€๋ฅผ ๊ณ ๋ฅด๋Š” ๊ฒƒ์ด๋‹ค. ์—ฐ์‚ฐ/์ž…๋ ฅ์„ ๊ณ ๋ฅด๋Š” ๊ณผ์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  1. ์–ด๋–ค ์ž…๋ ฅ์„ ์‚ฌ์šฉํ• ์ง€(select one hidden state) ๊ณ ๋ฅธ๋‹ค
  2. ๊ฐ ์ž…๋ ฅ์— ์–ด๋–ค ์—ฐ์‚ฐ์„ ์ทจํ• ์ง€(select operation for first/second hidden state) ๊ณ ๋ฅธ๋‹ค
  3. ์—ฐ์‚ฐ์„ ์ทจํ•œ ๊ฒฐ๊ณผ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ฉ์น ์ง€(select method to combine ๊ณ ๋ฅธ๋‹ค

์ด๋ ‡๊ฒŒ cell-level๋กœ ์—ฐ์‚ฐ/์ž…๋ ฅ์„ ๋ฐ”๊ฟ”๊ฐ€๋ฉด์„œ, ์ตœ์ ์˜ ๋ธ”๋ก(์—ํŠธ์›Œํฌ)๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๋‹ค.

3.2.2 Network-level

Network-level์€ ๊ธฐ์กด์˜ ๋„คํŠธ์›Œํฌ(ex. bottleneck)์—์„œ ์—ฌ๋Ÿฌ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋ฐ”๊ฟ”๋ณด๋ฉฐ ์ตœ์ ํ™”ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๋„คํŠธ์›Œํฌ์˜ depth, resolution, width, kernel size, topology๋“ฑ์„ ๋ฐ”๊ฟ”๊ฐ€๋ฉฐ ๋ณ€ํ˜•ํ•ด, ์ตœ์ ์˜ ์„ฑ๋Šฅ์„ ๊ฐ€์ง€๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ฐพ๋Š”๋‹ค.

์œ„ ๊ทธ๋ฆผ์€ depth๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ์˜ˆ์‹œ์ด๋‹ค. ๊ทธ๋ฆผ์ฒ˜๋Ÿผ bottleneck ๋ธ”๋ก์„ ์–ผ๋งˆ๋‚˜ ๊นŠ๊ฒŒ(2~4) ๋งŒ๋“ค์ง€ ์ •ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

3.3 Design the search space

๊ทธ๋ ‡๋‹ค๋ฉด, search space๋ฅผ ์–ด๋–ป๊ฒŒ ์ •์˜ํ•ด์•ผ ํ• ๊นŒ? kernel size๋ฅผ 3~100, depth๋„ 3~100 ์ด๋ ‡๊ฒŒ ๋ชจ๋‘ ๊ณ ๋ คํ•  ์ˆ˜๋Š” ์—†๋‹ค. ์ด๋ฅผ ๋ชจ๋‘ ํ…Œ์ŠคํŠธ(performance ์ธก์ •) ํ•ด๋ณด๋ ค๋ฉด ์—„์ฒญ๋‚œ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆด ๊ฒƒ์ด๋‹ค. ๋”ฐ๋ผ์„œ ์œ„ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ํœด๋ฆฌ์Šคํ‹ฑ ๋ฐฉ์‹๋“ฑ์„ ํ†ตํ•ด ๋” ์ข์€ search space์—์„œ ํƒ์ƒ‰ํ•œ๋‹ค๋ฉด ์‹œ๊ฐ„์„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.(search space optimization) ์ข‹์€ search space๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ, FLOPS(์—ฐ์‚ฐ์ˆ˜)๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฐ™์€ ๋ฉ”๋ชจ๋ฆฌ ์กฐ๊ฑด์—์„œ ๋” ๋งŽ์€ ์—ฐ์‚ฐ์„ ์ง„ํ–‰ํ•˜๋Š” ๋ชจ๋ธ์€, ๋” ๋‚˜์€ ์„ฑ๋Šฅ์„ ๋ณด์ผ ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์œ„ ๊ทธ๋ฆผ์—์„œ ๊ฒ€์ • ์ƒ‰์˜ ์„ ๋ณด๋‹ค ๋นจ๊ฐ„ ์„ ์˜ search space๋ฅผ ๊ณ ๋ฅด๋Š” ๊ฒƒ์ด ๋” ์ข‹์€ ๋ชจ๋ธ์„ ์–ป์„ ํ™•๋ฅ ์ด ๋†’๋‹ค (Larger FLOPS -> Larger model capacity -> More likey to give higher accuracy)

3.4 Search strategy

search space๋ฅผ ์ •์˜ํ–ˆ๋‹ค๋ฉด, ์–ด๋–ค ์‹์œผ๋กœ ํƒ์ƒ‰ํ•ด์•ผ ํ• ๊นŒ? ์ด ์ฑ•ํ„ฐ์—์„œ๋Š” 5๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ๋‹ค๋ฃฌ๋‹ค. - Grid search - Random search - Reinforcement learning - Gradient descent - Evolutionary search

3.4.3 Reinforcement learning

Reinforcement learning์€ ๋ง๊ทธ๋Œ€๋กœ ๊ฐ•ํ™” ํ•™์Šต(RL)์„ ์ด์šฉํ•œ ๋ฐฉ์‹์ด๋‹ค. ์ด์ „์— cell-level์„ ์„ค๋ช…ํ–ˆ์„ ๋•Œ ์‚ฌ์šฉํ–ˆ๋˜ RNN๊ฐ™์€ controller๋ฅผ ์‚ฌ์šฉํ•ด ๋ชจ๋ธ(architecture)์„ ๋งŒ๋“ค๊ณ , ์ด๋ฅผ ํ‰๊ฐ€ํ•œ ๊ฒฐ๊ณผ๋ฅผ RNN์— ๋ฐ˜์˜ํ•ด ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

3.4.4 Gradient descent

Gradient descent๋ฐฉ์‹์„ ์ ์šฉํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ๊ทธ๋•Œ๋งˆ๋‹ค ๋ชจ๋ธ ํ‰๊ฐ€๋ฅผ ํ•˜์ง€ ์•Š์•„๋„ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋” computing efficientํ•˜๋‹ค. ์œ„ ๊ทธ๋ฆผ (c)์—์„œ 3๊ฐ€์ง€ path๋ฅผ ๊ธฐ์–ตํ–ˆ๋‹ค๊ฐ€, ํ™•๋ฅ ๊ฐ’ ๋†’์€ ๊ณณ์„ ์„ ํƒํ•˜๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ํ†ตํ•ด gradient๋ฅผ ์—ญ์ „ํŒŒํ•œ๋‹ค. ๋ชจ๋“  ์„ ํƒ(activation)์„ ๋ฉ”๋ชจ๋ฆฌ์— ๋ณด๊ด€ํ•˜๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค.

4. Efficient and Hardware-aware NAS

์ด ์ฑ•ํ„ฐ์—์„œ๋Š” ๋ชจ๋ธ์„ ํ‰๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•(Performance estimation strategy)์™€ ํ•˜๋“œ์›จ์–ด์— ๋งž์ถฐ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐฉ์‹์— ๋Œ€ํ•ด ๋‹ค๋ฃฌ๋‹ค

4.1 Performance(Accuracy) estimation strategy

์•ž์˜ NAS ๊ตฌ์กฐ ๊ทธ๋ฆผ์„ ๋‹ค์‹œ ๋ณด๋ฉด, search space์™€ search strategy๋ฅผ ํ†ตํ•ด ๋งŒ๋“  ๋ชจ๋ธ(๊ตฌ์กฐ)์„ ํ‰๊ฐ€ํ•ด์•ผ ํ•œ๋‹ค. ์ด ๋•Œ ์ด ๋ชจ๋ธ์€ ๋‹จ์ˆœํžˆ ๊ตฌ์กฐ๋งŒ ์žกํ˜€ ์žˆ๋Š” ๊ฒƒ์ด๊ธฐ์—, ๊ฐ„๋‹จํžˆ ์ƒ๊ฐํ•ด๋ณด๋ฉด ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ํ•™์Šต์„ ํ•ด์•ผ ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์„ ์ธก์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ NAS ๊ณผ์ •์—์„œ ๊ต‰์žฅํžˆ ๋งŽ์€ ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“ค๊ฒŒ ๋˜๊ณ , ์ด๋ฅผ ์ผ์ผํžˆ ํ•™์Šตํ•˜๋ฉด ์—„์ฒญ๋‚œ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆด ๊ฒƒ์ด๋‹ค. ์–ด๋–ค ์‹์œผ๋กœ ํ•ด๊ฒฐํ•˜๋Š”์ง€ ์‚ดํŽด๋ณด์ž.

4.1.1 Train from scratch

์•ž์„œ ๋งํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์€ ๋ชจ๋“  ๊ตฌ์กฐ๋ฅผ ํ•™์Šตํ•ด ๋ณด๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Š” CIFAR10์ด๋ผ๋Š” ์ž‘์€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ชจ๋ธ์„ ํ•™์Šตํ•˜๋Š”๋ฐ๋„ 12800๊ฐœ์˜ ๋ชจ๋ธ์„ ํ•™์Šตํ•ด์•ผ ํ•˜๊ณ , ์ด๋Š” 22,400 GPU-hour๋ผ๋Š” ์–ด๋งˆ์–ด๋งˆํ•œ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฐ๋‹ค.

4.1.2 Inherit weight

๊ทธ๋ž˜์„œ ๋“ฑ์žฅํ•œ ๋ฐฉ์‹์ด, ๊ธฐ์กด์— ํ•™์Šตํ•œ weight๋Š” ๊ฐ€๋งŒํžˆ ๋‘” ์ฑ„, ์ƒˆ๋กœ์šด node๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ์œ„ ๊ทธ๋ฆผ์—์„œ Net2Wider๋Š” ๊ธฐ์กด ๋ชจ๋ธ์—์„œ width๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ , Net2Deeper๋Š” depth๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ๊ธฐ์กด ๋ชจ๋ธ(parent model)์˜ weight๋ฅผ ์ ๋‹นํžˆ ๊ณ„์Šนํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ƒˆ๋กœ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ•™์Šตํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

4.1.3 Hypernetwork

Hypernetwork๋Š” ๋ชจ๋ธ์˜ ๊ตฌ์กฐ๋ฅผ ๋ณด๊ณ  ๊ทธ ๋ชจ๋ธ์˜ weight๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•œ๋‹ค. GNN์„ ํ†ตํ•ด topology(๋ชจ๋ธ ๊ตฌ์กฐ)์— ๋Œ€ํ•œ feature๋ฅผ ์ถ”์ถœํ•ด weight์„ ์˜ˆ์ธกํ•œ๋‹ค.

4.2 Zero-shot NAS

๊ทธ๋ ‡๋‹ค๋ฉด ์•„์˜ˆ train ํ•˜์ง€ ์•Š๊ณ  NASํ•  ์ˆ˜ ์—†์„๊นŒ? 1. ZenNAS 2. GradSign ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ์ง€๋งŒ, ๊ทธ๋‹ค์ง€ ์ข‹์€ ๋ฐฉ๋ฒ•์€ ์•„๋‹ˆ๋‹ค. ### 4.2.1 ZenNAS ZenNAS๋Š” ์ข‹์€ ๋ชจ๋ธ์€ ์ž…๋ ฅ์˜ ๋ณ€ํ™”์— ๋ฏผ๊ฐํ•  ๊ฒƒ์ด๋ผ๋Š” ๊ฐ€์ •์„ ํ†ตํ•ด ์ข‹์€ ๋ชจ๋ธ์„ ์ฐพ๊ณ ์ž ํ•œ๋‹ค. ๊ณผ์ •์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

  1. ์ •๊ทœ๋ถ„ํฌ(N)์„ ๋”ฐ๋ฅด๋Š” ์ž„์˜์˜ ์ž…๋ ฅ x๋ฅผ ๋งŒ๋“ ๋‹ค
  2. x๋ฅผ ์‚ด์ง ๋ณ€ํ˜•ํ•œ xโ€™์„ ๋งŒ๋“ ๋‹ค.
  3. x์™€ xโ€™์„ ์ž…๋ ฅ์œผ๋กœ ์‚ฌ์šฉํ•œ ๋ชจ๋ธ์˜ ๊ฒฐ๊ณผ๋ฅผ ๋น„๊ตํ•ด, ํฐ ์ฐจ์ด๊ฐ€ ์—†๋‹ค๋ฉด ๋‚˜์œ ๋ชจ๋ธ๋กœ ๋ณธ๋‹ค. ์ด ๋ฐฉ๋ฒ•์€ ์šฐ๋ฆฌ๊ฐ€ ์–ธ๋œป ์ƒ๊ฐํ•˜๊ธฐ์—๋„ ์ข‹์€ ๋ฐฉ๋ฒ•์€ ์•„๋‹ˆ๋‹ค.

4.2.2 GradSign

GradSign์€ ์ข‹์€ ๋ชจ๋ธ์ด sample๊ฐ„์— local minima๊ฐ€ ๋น„์Šทํ•œ ์œ„์น˜์— ๋ถ„ํฌํ•  ๊ฒƒ์ด๋ผ๋Š” ๊ฐ€์ •์„ ํ†ตํ•ด ์ข‹์€ ๋ชจ๋ธ์„ ์ฐพ๊ณ ์ž ํ•œ๋‹ค. local minima๊ฐ€ ๋น„์Šทํ•œ ์œ„์น˜๋ผ๋ฉด(์œ„ ๊ทธ๋ฆผ์˜ ์˜ค๋ฅธ์ชฝ),๋‘ sample๊ฐ„์— gradient๊ฐ€ ๊ฐ™์€ ๋ถ€ํ˜ธ(Sign)์„ ๊ฐ€์งˆ ๊ฒƒ์ด๊ณ  ์ด๋ฅผ ํ†ตํ•ด ์ข‹์€ ๋ชจ๋ธ์ธ์ง€ ํŒ๋‹จํ•œ๋‹ค. (๋งŒ์•ฝ ๋ถ€ํ˜ธ๊ฐ€ ๊ฐ™๋‹ค๋ฉด ๋ชจ๋‘ ๋”ํ–ˆ์„ ๋•Œ ์ ˆ๋Œ“๊ฐ’์ด ๋” ํด ๊ฒƒ์ด๋‹ค)

4.3 Hardware-aware NAS

์˜ค๋ฅธ์ชฝ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ, ๊ฐ™์€ ๋ชจ๋ธ์„ ์—ฌ๋Ÿฌ ๋””๋ฐ”์ด์Šค์— ํƒ‘์žฌํ•˜๋ ค๋ฉด, ๊ฐ๊ฐ์˜ ๋””๋ฐ”์ด์Šค์— ์ตœ์ ํ™”๋ด ๋ชจ๋ธ์„ ๋งŒ๋“ค์–ด์•ผ ํ•˜๊ณ , NAS ๊ณผ์ •์—์„œ๋„ ์ด์— ๋Œ€ํ•œ ๊ณ ๋ ค๊ฐ€ ํ•„์š”ํ•˜๋‹ค ๊ทธ๋Ÿฐ๋ฐ, ๋””๋ฐ”์ด์Šค์— ์ตœ์ ํ™” ํ•œ๋‹ค๋Š” ๊ฒƒ์€ MACs๋ฅผ ๋‹จ์ˆœํžˆ ๊ณ„์‚ฐํ•˜๋Š” ๊ฒƒ๊ณผ๋Š” ๋‹ค๋ฅด๋‹ค. ์œ„ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ MACs๋Š” ๋” ์ ์ง€๋งŒ, latency๊ฐ€ ๋” ๋Š˜์–ด๋‚  ์ˆ˜๋„ ์žˆ๋‹ค. ๋””๋ฐ”์ด์Šค ํ™˜๊ฒฝ์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์ง€ํ‘œ๋Š” latency์ด๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๊ฐ๊ฐ์˜ ๋””๋ฐ”์ด์Šค์—์„œ ๋ชจ๋ธ์˜ latency๋ฅผ ํ‰๊ฐ€ํ•˜๋Š” ๊ฒƒ์€ ๊ต‰์žฅํžˆ ์–ด๋ ต๊ณ , ๋Š๋ฆฌ๋‹ค. ๋”ฐ๋ผ์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€, latency๋ฅผ ์ž„์˜๋กœ ์˜ˆ์ธกํ•˜๋Š” ๊ฒƒ์ด๋‹ค. latency๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” 1. latency lookup table 2. network-wise latency profiling ๋“ฑ์ด ์žˆ๋‹ค.

4.3.1 latency lookup table

๋ชจ๋ธ ๊ตฌ์กฐ์™€, ์‚ฌ์šฉํ•˜๋Š” ์—ฐ์‚ฐ(Op)์˜ latency(Lat)์„ ์ž…๋ ฅ์œผ๋กœ ์ฃผ๋ฉด, ํ•ด๋‹น ์ž…๋ ฅ์„ ๋ณด๊ณ  ์‚ฐ์ˆ ์ ์œผ๋กœ +-ํ•ด ๊ณ„์‚ฐํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค

4.3.2 network-wise latency profiling

kernel size์™€ width๋“ฑ์„ ์ž…๋ ฅ์œผ๋กœํ•˜๋Š” ML ๋ชจ๋ธ์„ ๋งŒ๋“ค์–ด์„œ latency๋ฅผ ์ธก์ •ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค ์ด๋ ‡๊ฒŒ latency๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๋ฐฉ๋ฒ•์€, ๊ฝค๋‚˜ ๋†’์€ ์ •ํ™•๋„๋ฅผ ๋ณด์ธ๋‹ค

5. NAS applications

5.1 NLP, GAN, point cloud, pose

NAS์˜ ํ™œ์šฉ ์˜ˆ์‹œ๋“ค์ด๋‹ค. ๊ฐ•์˜ ์Šฌ๋ผ์ด๋“œ๋งŒ ๊ฐ„๋‹จํžˆ ์ฒจ๋ถ€ํ•œ๋‹ค ์–ผ๊ตด ์‚ฌ์ง„์„ ๊ฐ€์ง€๊ณ  ํ‘œ์ •, ๋…ธํ™” ์ •๋„๋“ฑ์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์กฐ์ •ํ•ด๋ณด๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋‹ค. NAS์˜ ์ข‹์€ ํ™œ์šฉ ์˜ˆ์‹œ์ธ๋ฐ, ์ž‘์€ ๋ชจ๋ธ(small sub-net)์œผ๋กœ๋Š” ์‹ค์‹œ๊ฐ„ ๋ณ€๋™์— ๋Œ€์‘ํ•˜๊ณ , ํฐ ๋ชจ๋ธ(large sub-net)๋กœ๋Š” ํ™•์ •๋˜๋Š” ์ด๋ฏธ์ง€๋ฅผ ์ œ์ž‘ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

์—ฌ๊ธฐ๊นŒ์ง€ NAS ์„ค๋ช…์„ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ๊ฐ•์˜ ๋‚ด์šฉ์„ ๋งŽ์ด ์š”์•ฝํ–ˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋” ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๊ฐ•์˜(https://hanlab.mit.edu/courses/2023-fall-65940)์˜ 7-8๊ฐ•์„ ์ฐธ์กฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.