๐๐ปโ๏ธ Summary
- 1์ฃผ์ฐจ ์คํฐ๋ : Basic ML / DNN ๊ฐ๋ + ๋ชจ๋ธ ๊ตฌํ (tensorflow / pytorch)
๐ ์คํฐ๋ ์๋ฃ
- ๋ถ์คํธ์ฝ์ค ํ์ดํ ์น๋ก ์์ํ๋ ๋ฅ๋ฌ๋ ๊ธฐ์ด
- ๋ถ์คํธ์ฝ์ค ํ ์ํ๋ก์ฐ๋ก ์์ํ๋ ๋ฅ๋ฌ๋ ๊ธฐ์ด
๐ 1์ฃผ์ฐจ ์คํฐ๋
โค๏ธ ๋ฅ๋ฌ๋์ด๋?
๋ฅ๋ฌ๋(deep learning, ์ฌ์ธตํ์ต)์ ๋จธ์ ๋ฌ๋์ ๊ตฌํํ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ผ์ข ์ด๋ค. ๋จธ์ ๋ฌ๋์ ๊ตฌํํ๋ ์๊ณ ๋ฆฌ์ฆ์๋ ๋ก์ง์คํฑ ํ๊ท, ์ํฌํธ ๋ฒกํฐ ๋จธ์ (Suppor vector machine, SVM), ๊ฒฐ์ ํธ๋ฆฌ, ๋๋ค ํฌ๋ ์คํธ, ์ ๊ฒฝ๋ง(neural networks) ๋ฑ์ด ์๋ค. ๋ฅ๋ฌ๋์ ๊ทธ ์ค ์ ๊ฒฝ๋ง์ ํ ์ข ๋ฅ์ ํด๋นํ๋ค. - wikidocs ์ ๊ฒฝ๋ง์ด๋ ์ธ๊ฐ์ ๋๊ฐ ๊ฐ์ง๋ ์๋ฌผํ์ ํน์ฑ ์ค ๋ด๋ฐ์ ์ฐ๊ฒฐ ๊ตฌ์กฐ๋ฅผ ๊ฐ๋ฆฌํค๋ฉฐ, ์ด๋ฌํ ์ ๊ฒฝ๋ง์ ๋ณธ๋ ๋ง๋ ๋คํธ์ํฌ ๊ตฌ์กฐ๋ฅผ ์ธ๊ณต์ ๊ฒฝ๋ง(Artificial Neural Network, ANN)์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค.
Cf. ์ธ๊ณต์ง๋ฅ ๋ถ์ผ์์ ์ ๊ฒฝ๋ง์ด๋ ๋ณดํต ์ธ๊ณต์ ๊ฒฝ๋ง์ ์ง์นญํ๋ฉฐ, ๋ฐ๋ผ์ ์ธ๊ณต์ ๊ฒฝ๋ง์ ๋ฐ๋ก ๊ตฌ๋ถํ์ง ์๊ณ ์ ๊ฒฝ๋ง์ด๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ ํ๋ค.
์ธ๊ณต์ ๊ฒฝ๋ง์ ์ฌ๋ฌ ๋ด๋ฐ์ด ์๋ก ์ฐ๊ฒฐ๋์ด ์๋ ๊ตฌ์กฐ์ ๋คํธ์ํฌ์ด๋ฉฐ, ์ ๋ ฅ์ธต(input layer)๋ฅผ ํตํด ํ์ตํ๊ณ ์ ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅ๋ฐ๊ฒ ๋๋ค. ์ด๋ ๊ฒ ์ ๋ ฅ๋ ๋ฐ์ดํฐ๋ค์ ์ฌ๋ฌ ๋จ๊ณ์ ์๋์ธต(hidden layer)์ ์ง๋๋ฉด์ ์ฒ๋ฆฌ๊ฐ ์ด๋ฃจ์ด์ ธ ์ถ๋ ฅ์ธต(output layer)์ ํตํด ์ต์ข ๊ฒฐ๊ณผ๊ฐ ์ถ๋ ฅ๋๋ค. ์ด๋ฌํ ์ ๊ฒฝ๋ง์ 3๊ฐ ์ด์ ์ค์ฒฉํ ๊ตฌ์กฐ๋ฅผ ๊น์ ์ ๊ฒฝ๋ง(Deep Neural Network, DNN)์ด๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ, ์ด๋ฅผ ํ์ฉํ ๋จธ์ ๋ฌ๋ ํ์ต์ ํน๋ณํ ๋ฅ๋ฌ๋์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. - tcpschool
๐งก DNN์ด๋?
์ฌ์ธต ์ ๊ฒฝ๋ง(Deep Neural Network, DNN)์ ์ ๋ ฅ์ธต(input layer)๊ณผ ์ถ๋ ฅ์ธต(output layer) ์ฌ์ด์ ์ฌ๋ฌ ๊ฐ์ ์๋์ธต(hidden layer)๋ค๋ก ์ด๋ฃจ์ด์ง ์ธ๊ณต์ ๊ฒฝ๋ง(Artificial Neural Network, ANN)์ด๋ค. - ์ํค๋ฐฑ๊ณผ
๐ DNN ๋ชจ๋ธ ๊ตฌํ
[ํ๋ก์ ํธ ๋ชฉํ]
- Fashion-Mnist ๋ฐ์ดํฐ์ ์ ํ์ฉํด ๋ถ๋ฅ๊ธฐ ํ์ต
- Multi layer perceptron, Batch normalization, ReLU๋ฅผ ํ์ฉํด ๋คํธ์ํฌ ์ค๊ณ
Cf. ๋ค์ธต ํผ์ ํธ๋ก (Multi layer perceptron, MLP)์ ์ฌ์ธต ์ ๊ฒฝ๋ง(DNN)์ ํ์์งํฉ์ผ๋ก ๊ฐ์ฃผํ ์ ์์ง๋ง, ๋ฌธํ์์๋ ์ข ์ข ๊ฐ์ ์๋ฏธ๋ก ์ฌ์ฉ๋๋ค. - MLP vs DNN - tf.data.Dataset์ ์ด์ฉํ์ฌ ๋ฐ์ดํฐ์ ๋ ฅ ํ์ดํ๋ผ์ธ(input pipeline) ๋ง๋ค๊ธฐ
- ์์คํจ์(loss function)์ ์ตํฐ๋ง์ด์ ธ(optimizer) ์ ์
- ์์ค(loss)์ ์ธก์ ํ๊ณ ๊ฒฝ์ฌ(gradient)๋ฅผ ๊ณ์ฐํด ๋ชจ๋ธ ํ๋ผ๋ฏธํฐ ์ ๋ฐ์ดํธ
- ํ์ต๋ ๋ชจ๋ธ์ ์ฑ๋ฅ ํ ์คํธ
[ํ๋ก์ ํธ ๊ณผ์ ]
- Package load
- ํ์ดํผํ๋ผ๋ฏธํฐ ์ธํ
- ํ์ต์ ํ์ํ ํ์ดํผํ๋ผ๋ฏธํฐ ๊ฐ ์ด๊ธฐํ
- Dataset load ๋ฐ tf.data.Dataset ๊ตฌ์ถ
- Fashion-MNIST ๋ฐ์ดํฐ์ ์ ์ ์ํด์ฃผ๊ณ , ์ ์ฒด ๋ฐ์ดํฐ์ ์ ๋ฏธ๋๋ฐฐ์น ๋จ์๋ก ๋ด๋ด๋ท์ ๊ณต๊ธํด์ฃผ๋๋ก tf.data.Dataset ์ ์
- tf.data.Dataset์ ์ด์ฉํ์ฌ ๋ฐ์ดํฐ ์ ๋ ฅ ํ์ดํ๋ผ์ธ ์ค๊ณ
- ๋ฐ์ดํฐ ์ํ ์๊ฐํ
- ๋ชจ๋ธ (๋คํธ์ํฌ) ๋ง๋ค๊ธฐ โญ๏ธ
- ํ์ต์ํฌ ๋ด๋ด๋คํธ์ํฌ ์ค๊ณ
- Multi Layer Perceptron(MLP) ๋ ์ด์ด๋ฅผ 2๊ฐ ์์ ๋คํธ์ํฌ ์ค๊ณ
Cf. MLP : ํ ๋ ์ด์ด์ ๋ชจ๋ ๋ด๋ฐ์ด ๋ค์ ๋ ์ด์ด์ ๋ด๋ฐ๊ณผ ์์ ํ ์ฐ๊ฒฐ๋ ๊ฒ์ธต(Fully Connected layer ๋๋ Dense layer) - MLP์ ๋ ์ด์ด๋ฅผ ๊น๊ฒ ์์ ๋์๋ ๋ฐ๋์ ๋น์ ํ activation function ํ์ → ReLU ์ฌ์ฉ
Cf. ReLU๋ ์์์ ์ ๋ ฅ์ ๋ํด์๋ 0, ์์์ ์ ๋ ฅ์ ๋ํด์๋ ์ ๋ ฅ๊ฐ์ ๊ทธ๋๋ก ์ถ๋ ฅํ๋ ํจ์ - Sequential ๋ชจ๋ธ์ ์ฌ์ฉ
Cf. Sequential ๋ชจ๋ธ : ํด๋น ๋ ์ด์ด์ output์ด ๊ทธ๋๋ก ๋ค์ ๋ ์ด์ด์ input์ด ๋๋ ๊ตฌ์กฐ์ ๋ชจ๋ธ์ ๋ง๋ค ๋ ์ฌ์ฉ
- Loss function ๋ฐ Optimizer ์ ์
- ์์ฑ๋ ๋ชจ๋ธ ํ์ต์ ์ํด ์์คํจ์ ์ ์
- ๋ด๋ด๋คํธ์ํฌ๋ ๊ฒฝ์ฌํ๊ฐ(gradient descent) ๋ฐฉ๋ฒ์ ์ด์ฉํ์ฌ ์์คํจ์์ ๊ฐ์ ์ค์ด๋ ๋ฐฉํฅ์ผ๋ก ํ๋ผ๋ฏธํฐ ๊ฐฑ์ (update)
- ํจ๊ณผ์ ์ธ ๊ฒฝ์ฌํ๊ฐ ๋ฐฉ๋ฒ ์ ์ฉ์ ์ํด ์ตํฐ๋ง์ด์ ํจ๊ป ์ฌ์ฉ
- Training
- ๋ชจ๋ธ์ ๋ฐ์ดํฐ๋ฅผ ๋ฏธ๋๋ฐฐ์น ๋จ์๋ก ์ ๊ณตํด์ ํ์ต
- Evaluate on test dataset
- ํ์ต๋ ๋ชจ๋ธ์ ์ฑ๋ฅ ํ ์คํธ
[์์ค์ฝ๋]
๐ง ๋ฌธ์ ์
- ๊ฐ์์์ ํ๋ก์ ํธ ์ฝ๋๋ฅผ ์ ์์ฑํ๋์ง ํ์ธํด์ฃผ๋ ์ฒดํฌํจ์๊ฐ ์ ๊ณต๋๋๋ฐ, tensorflow ๋ฒ์ ๊ณผ ์ ๋ง์ง ์๋๋ค. pytorch๋ก ์์ฑํ ์ฝ๋๋ ๋ฌธ์ ์์ด ์ฒดํฌํจ์๋ฅผ ์ ํต๊ณผํ๋๋ฐ, tensorflow ๋ก ์์ฑํ ์ธ ๋ช ์ ์ฝ๋๋ ๋ชจ๋ ์๊ตฌํ ์ฑ๋ฅ์ด ๋์์์๋ ์ฒดํฌํจ์๊ฐ ์ฑ๋ฅ์ด ๋ฎ๋ค๊ณ ํ๋จํ๋ ๋ฌธ์ ๊ฐ ์๋ค.
- ์ฐ๋ฆฌ๊ฐ tensorflow ๋ฒ์ ์ ๋ฎ์ถ์ง, ๋ค๋ฅธ ํด๊ฒฐ๋ฐฉ์์ ์ฐพ๋ ์ง, ๊ทธ๋ฅ ๋์ด๊ฐ์ง ์ ํด์ผ ํ๋ค.
๐ ๋ค์ ์ฃผ์ ํ ์ผ
- CNN ๊ฐ๋ + ๋ชจ๋ธ ๊ตฌํ
'Group Study (2020-2021) > Deep Learning' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[DeepSleep] ๋ ผ๋ฌธ ๋ฆฌ๋ทฐ ์คํฐ๋ 1์ฃผ์ฐจ (0) | 2021.07.11 |
---|---|
[DeepSleep] ๋ฅ๋ฌ๋ ์คํฐ๋ 4์ฃผ์ฐจ (0) | 2021.06.28 |
[DeepSleep] ๋ฅ๋ฌ๋ ์คํฐ๋ 3์ฃผ์ฐจ (0) | 2021.06.21 |
[DeepSleep] ๋ฅ๋ฌ๋ ์คํฐ๋ 2์ฃผ์ฐจ (0) | 2021.05.24 |
[DeepSleep] ๋ฅ๋ฌ๋ ์คํฐ๋ OT (0) | 2021.05.10 |