AI\ML\DL
-
์์ง ๊ฒ์ถ(1) - 1์ฐจ·2์ฐจ ๋ฏธ๋ถ, Prewitt, SobelAI\ML\DL/Computer Vision 2023. 8. 6. 21:32
โฃ ์์ง ๊ฒ์ถ(edge detection)์ ์ปดํจํฐ ๋น์ ์ด ์ด์ฐฝ๊ธฐ๋ถํฐ ์ค์ํ๊ฒ ๋ค๋ฃจ์ด์จ ์ฐ๊ตฌ ์ฃผ์ ๋ค. ์์ง๋ ๋ฌผ์ฒด ๊ฒฝ๊ณ์ ์๋ ์ ์ด๋ค. ์์ง๋ฅผ ์๋ฒฝํ๊ฒ ๊ฒ์ถํด ๋ฌผ์ฒด์ ๊ฒฝ๊ณ๋ฅผ ํ๊ณก์ ์ผ๋ก ๋ฐ๋ผ ์ ์๋ค๋ฉด ๋ถํ ๋ฌธ์ ๊ฐ ์ ์ ๋ก ํ๋ฆฐ๋ค. ๋ฐ๋๋ก ์์ญ ๋ถํ ์๊ณ ๋ฆฌ์ฆ์ด ์๋ฒฝํด ๋ฌผ์ฒด๋ฅผ ๋ ๋ฆฝ๋ ์์ญ์ผ๋ก ๋ถํ ํ๋ฉด ์์ง ๊ฒ์ถ ๋ฌธ์ ๊ฐ ์ ์ ๋ก ํ๋ฆฐ๋ค. ๋ฐ๋๋ก ์์ญ ๋ถํ ์๊ณ ๋ฆฌ์ฆ์ด ์๋ฒฝํด ๋ฌผ์ฒด๋ฅผ ๋ ๋ฆฝ๋ ์์ญ์ผ๋ก ๋ถํ ํ๋ฉด ์์ง ๊ฒ์ถ ๋ฌธ์ ๊ฐ ์ ์ ๋ก ํ๋ฆฐ๋ค. ๋ฐ๋ผ์ ๋์ ์๋ ๋ฌธ์ ๋ค. ํ์ง๋ง ๋์ ์์ ํ ๋ค๋ฅธ ๋ฐฉํฅ์ผ๋ก ๋ฌธ์ ํด๊ฒฐ์ ๋ชจ์ํ๋ค. ์์ง ๊ฒ์ถ์ ํน์ฑ์ด ํฌ๊ฒ ๋ค๋ฅธ ํ์์ ์ง์คํ๋ ๋ฐ๋ฉด ์์ญ ๋ถํ ์ ๋น์ทํ ํ์๋ฅผ ๋ฌถ๋ ๋ฐฉ์์ ์ ํธํ๋ค. ๏นก 1.1. ์์ง ๊ฒ์ถ ์์ง ๊ฒ์ถ ์๊ณ ๋ฆฌ์ฆ์ ๋ฌผ์ฒด ๋ด๋ถ๋ ๋ช ์์ด ์์ํ ๋ณํ๊ณ ๋ฌผ์ฒด ๊ฒฝ๊ณ๋ ๋ช ..
-
CNN ๋ชจ๋ธ์ classifier๋จ์์ FC layer์ ์ ๋ ฅ ๋ ธ๋ ๊ฐ์AI\ML\DL/Pytorch 2023. 8. 3. 21:35
๏นก ์ด๋ฏธ์ง ๋ค์ค๋ถ๋ฅ ๋ฌธ์ ์์ CNN์ ์ฌ์ฉํ๋ฉด convolution layer ์ ReLU, Batchnorm2d, MaxPool2d๋ฅผ ๋ฐ๋ณตํ๋ค๊ฐ ๋ง์ง๋ง์๋ fully connected layer๋ฅผ ํต๊ณผํด์ softmax๋ฅผ ์ป์ด ๋ถ๋ฅ๋ฅผ ํด์ฃผ์ด์ผ ํ๋ค. ์๋ฅผ ๋ค์ด CIFAR10 ๋ฐ์ดํฐ์ ์ผ๋ก 10๊ฐ์ง๋ฅผ ๋ถ๋ฅํ๋ ๋คํธ์ํฌ๋ฅผ ๋ง๋ ๋ค๊ณ ํ์. ํต์์ ์ธ ๋คํธ์์์๋ CNN ๋ ์ด์ด๋ฅผ ํต๊ณผํด์ ๋ค์ํ ํน์ง๋งต์ ๋ฝ์๋ด๊ณ ํ๋ง์ ํด์ ์ฌ์ด์ฆ๋ฅผ ๋ฐ์ผ๋ก ์ค์ธ๋ค. (Maxpooling์ ํ๋ค๊ณ ํด์ ์ฑ๋์๊ฐ ์ค์ง๋ ์๋๋ค. ์ฑ๋๋ณ๋ก ๊ฐ๊ฐ ํ๋งํด์ฃผ๋ ๊ฑฐ๋๊น) ์ถฉ๋ถํ ํน์ง๋งต์ ์ป์๋ค๋ฉด nn.Linear( )๋ฅผ ํ์ฉํด์ ์ต์ข ์ ์ธ ์ถ๋ ฅ ๋ ธ๋๋ฅผ 10๊ฐ๋ก ์ค์ฌ์ค์ผ ํ ๊ฒ์ด๋ค. ์ด๋ nn.Linear(?, 10)์ ? ๋ถ๋ถ์ ์ด๋ค๊ฒ์ ์จ์ผ..
-
PyTorch์ Numpy์์์ ์ด๋ฏธ์ง ๋ฐ์ดํฐ ํฌ๋งท ์ฐจ์ดAI\ML\DL/Pytorch 2023. 8. 1. 21:43
์ผ๋ฐ์ ์ผ๋ก ์ด๋ฏธ์ง ๋ฐ์ดํฐ๋ ๋๋น, ๋์ด, ์ฑ๋ ์์๋ก ํํ๋๋ RGB ํฌ๋งท์ ์ฌ์ฉํ๋ค.์๋ฅผ ๋ค์ด, 32x32 ํฌ๊ธฐ์ ์ปฌ๋ฌ ์ด๋ฏธ์ง์ ๊ฒฝ์ฐ (32,32,3) ์ผ๋ก ํํ๋๋ฉฐ, ๊ฐ ์ฐจ์์ ๊ฐ๊ฐ (ํ, ์ด, ์ฑ๋) ์ ๋ํ๋ธ๋ค. ์ด๋ฏธ์ง๋ฅผ (ํ,์ด,์ฑ) ํ์์ผ๋ก ์ฝ๊ณ ์ฒ๋ฆฌํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ๋ค.NumpyOpenCVMatplotlib (์ด๋ฏธ์ง ์ฒ๋ฆฌ๋ ์๋์ง๋ง ๋ฐ์ดํฐ ์๊ฐํ ํ ๋) ์ด๋ฅผ ํ์ธํด๋ณด๊ธฐ ์ํด numpy ๋ก ๋๋คํ ์ ์๋ฅผ ์์ฑํ์ฌ 3์ฑ๋ (RGB) ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ ์ฝ๋๋ฅผ ์์ฑํด ๋ณด์๋ค. ์์ฑํ ์ด๋ฏธ์ง ๋ฐ์ดํฐ์ shape์ ํ์ธํ๋ฉด (ํ,์ด,์ฑ๋) ์์๋ก ์ถ๋ ฅ๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค. import numpy as npimport matplotlib.pyplot as plt# ๊ฐ์์ ์ด๋ฏธ์ง ๋ฐ์ดํฐ ์..
-
cyclic ordinal regression ํ์ต๋ฒAI\ML\DL/๋ ผ๋ฌธ ๋ฆฌ๋ทฐ 2023. 7. 28. 21:29
Ordinal Regression is a learning task for predicting a label (or rank) or the object, where the set of labels has a linear order, e.g., the set of integers. '์ํ ํ๊ท'๋ ๋ ์ด๋ธ์ ์ธํธ๊ฐ ์ ํ์ ์์๋ฅผ ๊ฐ์ง๋ (์๋ฅผ๋ค๋ฉด ์ ์์ ์งํฉ) ๊ฐ์ฒด์ ๋ ์ด๋ธ ๋๋ ๋ญํฌ๋ฅผ ์์ธกํ๋ ํ์ต ๋ฐฉ๋ฒ์ด๋ค. Ordinal Regression๋ ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ์ฐ๊ตฌ๋์ด ์๋ค. - SVM - Gaussian processes - Perceptron learning Frank ์ Hall ์ ordinal binary decomposition ๋ฅผ ์ ์ํ๋ค. : ์ด์ง ๋ถ๋ฅ๊ธฐ๋ฅผ ๊ตฌ์ฑํ์ฌ ๊ฐ์ฒด์ ๋ญํฌ๊ฐ k๋ณด๋ค..
-
torch.utils.data.DataLoaderAI\ML\DL/Pytorch 2023. 7. 25. 18:41
DataLoader DataLoader ๋ ๋ฐ์ดํฐ์ ์ ๋ฏธ๋ ๋ฐฐ์น ๋จ์๋ก ๋ถํ ํ์ฌ ํ์ตํ๋ก์ธ์ค์ ์ ๊ณตํด์ฃผ๋ ์ญํ ์ ํ๋ค. ๋ฐ์ดํฐ๋ก๋ (DataLoader) ๊ฐ์ฒด๋ ํ์ต์ ์ฌ์ฉ๋ ๋ฐ์ดํฐ ์ ์ฒด๋ฅผ ๋ณด๊ดํ๋ค๊ฐ ๋ชจ๋ธ ํ์ต์ ํ ๋ ๋ฐฐ์น ํฌ๊ธฐ๋งํผ ๋ฐ์ดํฐ๋ฅผ ๊บผ๋ด์ ์ฌ์ฉํ๋ค. ์ด๋ ์ฃผ์ํ ๊ฒ์ ๋ฐ์ดํฐ๋ฅผ ๋ฏธ๋ฆฌ ์๋ผ ๋๋ ๊ฒ์ด ์๋๋ผ ๋ด๋ถ์ ์ผ๋ก ๋ฐ๋ณต์ (iterator)์ ํฌํจ๋ ์ธ๋ฑ์ค (index)๋ฅผ ์ด์ฉํ์ฌ ๋ฐฐ์น ํฌ๊ธฐ๋งํผ ๋ฐ์ดํฐ๋ฅผ ๋ฐํํ๋ค๋ ๊ฒ์ด๋ค. DataLoader ์ฌ์ฉ ์์ ์๋์ ์ฝ๋๋ ๊ฐ๊ฐ 5๊ฐ์ ์ํ์ ๊ฐ์ง ๋ฐ์ดํฐ (data; example data) ์ ๋ ์ด๋ธ (labels) ํ ์๋ก dataset์ ๋ง๋ ํ์ dataloader๋ฅผ ๋ง๋ค์ด์ ๋ฐฐ์น ํฌ๊ธฐ๋งํผ ๋ฐ์ดํฐ๋ฅผ ๋น๋ณต์์ถ์ถํ์ฌ ํ๋ฆฐํธํ๋ ๊ฐ๋จํ ์ฝ๋์ด๋ค. ์ด..
-
nn.LinearAI\ML\DL/Pytorch 2023. 7. 14. 21:04
Fully connected layer nn.Linear(์ ๋ ฅ๋ ธ๋ ๊ฐ์, ์ถ๋ ฅ๋ ธ๋ ๊ฐ์) ์์ ๋ฌธ์๋ฅผ ๋ณด๋ฉด, nn.Linear() ์์ ์ ๋ ฅ ๋ฒกํฐ $x$ ์ ๊ฐ์ค์น ๋ฒกํฐ $w$ ๋ฅผ ๊ณฑํด์ค ๋, ๊ฐ์ค์น $w$์ transpose๋ฅผ ์ทจํด์ค์ ๊ณฑํด์ค๋ค. ๊ทธ ์ด์ ๋ ๋ฌด์์ผ๊น? mlp ์์ ๋ ธ๋๋ ์ฑ๋์ ์๋ฏธํ๋ค. nn.Linear ๋ ์ ๋ ฅ์ผ๋ก 1D data๊ฐ ๋ค์ด์ค๊ธธ ๊ธฐ๋ํ๋๋ฐ, ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ ๊ฐ ํต๊ณผ์ํฌ ๋ ํน์ ์ฑ๋ ์๋ฅผ ๊ฐ์ง ๋ฐ์ดํฐ n๊ฐ๋ฅผ (๊ฐ์n $\times$ ์ฑ๋) ํํ๋ก ํต๊ณผ์์ผ์ผ ํ๋ค. weight ๋ํ (๊ฐ์x์ฑ๋) ํํ๋ก ํํํด์ฃผ์. ์ผ๋จ weight์ ์ฑ๋์ ์์ ์๋ ๋ ธ๋์ ์ฑ๋์ด๋ ๋ง์ถฐ์ผ ํด์ ๊ฐ์ค์น์ ์ฑ๋์ ์ ๋ ฅ ๋ ธ๋์ ์ฑ๋์๋ก ์ ํด์ง ์ํ์ด๋ค. ์๋ฅผ ๋ค์ด nn.Linear(3,2) ์ผ..
-
5๏ธโฃ Pytorch ๊ธฐ์ด_autogradAI\ML\DL/Pytorch 2023. 7. 14. 17:08
1) requires_grad ํ ์ ๊ฐ์ฒด์ attribute ๋ก, ๊ทธ๋๋์ธํธ์ ๊ณ์ฐ ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํ๋ค. requires_grad ์์ฑ์ True ๋ก ์ค์ ํ์ฌ ํ ์์ ๋ํ ๊ทธ๋๋์ธํธ ๊ณ์ฐ์ ํ์ฑํํ ์ ์๋ค. requres_grad ์์ฑ์ด False ๋ก ์ค์ ๋ ํ ์์ ๋ํด์๋ ๊ทธ๋๋์ธํธ๋ฅผ ๊ณ์ฐํ์ง ์๋๋ค. ์ด๋ฅผ ํตํด ๋ถํ์ํ ๊ณ์ฐ์ ์ค์ฌ ์ฐ์ฐ ์๋๋ฅผ ํฅ์์ํฌ ์ ์๋ค. 2) ์ญ์ ํ ๊ณ์ฐ x=torch.tensor([1.], requires_grad=True) y=x**2 y.retain_grad() z=3*y z.backward() print(x.grad) print(y.grad) x -> x**2 -> 3x**2 ์์ผ๋ก ์งํ๋๋ฏ๋ก x ์ ๋ํด์ 3x**2 ๋ฅผ chain rule์ ํตํด ํธ๋ฏธ๋ถํ๋ฉด ๊ฒฐ๊ณผ๋ 6..
-
4๏ธโฃ Pytorch ๊ธฐ์ด_์ฌ๋ฌ ํจ์๋คAI\ML\DL/Pytorch 2023. 7. 14. 12:32
๋๋ค ํจ์ 1. torch.randn: ๋๋คํ ์ซ์๋ค์ ํ๊ท ์ด 0, ๋ถ์ฐ์ด 1์ด๋๋๋ก normal distribution์ผ๋ก ๋ฐํ 2. torch.rand: 0๋ถํฐ 1์ฌ์ด ๋๋คํ ์ซ์๋ค์ uniform distribution ์ผ๋ก ๋ฐํ 3. torch.randint(1,5,size=(12,)): 1๋ถํฐ 5๋ฏธ๋ง 12๊ฐ ์ ์ ๋ชจ๋ ์ํ๋ ํ๋ ฌ ์ฌ์ด์ฆ๋ก ๋๋คํ ๊ฐ๋ค์ ์์ฑํ ์ ์๋ ํจ์์ด๋ค. print(A[A[:,0]