AI\ML\DL
-
torch.log_softmaxAI\ML\DL/Pytorch 2024. 3. 11. 14:07
torch.log_softmax ํจ์๋ softmax ํจ์์ log๋ฅผ ์ทจํ ๊ฒ๊ณผ ๊ฐ๋ค. softmax์ Log ๋ ์ฐ์ฐ์ ๋ฐ๋ก ์ํํ๋ ๊ฒ๋ณด๋ค log_softmax๋ฅผ ํตํด ํ๋ฒ์ ์ํํ๋ ๊ฒ์ด ๋ ๋น ๋ฅด๊ณ ์์น์ ์ผ๋ก ์์ ์ ์ด๋ผ๊ณ ํ๋ค. ์ ์ฝ๋๋ฅผ ๋ณด๋ฉด ๋๋ค์ผ๋ก ์์ฑํ 3x5 ํ ์ x์ softmax๋ฅผ ์ทจํ๊ณ log๋ฅผ ์ทจํ ๊ฒฐ๊ณผ๋, log_softmax๋ฅผ ์ทจํ ๊ฒฐ๊ณผ๋ ๋์ผํ๋ค๋ ๊ฒ์ ์ ์ ์๋ค. ์ ๋ฆฌํ๋ฉด log_softmax๋ ๋ค์ค๋ถ๋ฅ ๋ฌธ์ ์์ logit์ softmax ์ทจํ ๋ค์ 0๊ณผ 1์ฌ์ด์ ํ๋ฅ ๋ก ๋ณํํ๋ ํจ์์ด๋ค.
-
๋ถ์ฐ ๋ฐ ๋ณ๋ ฌ ํ์ตAI\ML\DL/Pytorch 2023. 12. 13. 15:27
๋ถ์ฐ ํ์ต(Distributed training)์ ํ์ต ์ํฌ๋ก๋๋ฅผ ์ฌ๋ฌ ์์ ์ ๋ ธ๋์ ๋ถ์ฐ์์ผ ํ๋ จ ์๋์ ๋ชจ๋ธ ์ ํ๋๋ฅผ ํฌ๊ฒ ํฅ์์ํค๋ ๋ชจ๋ธ ํ์ต ํจ๋ฌ๋ค์์ด๋ค. PyTorch์์ ๋ถ์ฐ ํ์ต์ ์ํํ ์ ์๋ ๋ช ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์์ผ๋ฉฐ ๊ฐ ๋ฐฉ๋ฒ์ ์ฌ์ฉ ์ฉ๋๋ณ๋ก ์ฅ์ ์ ๊ฐ์ง๋ค. DistributedDataParallel (DDP) Fully Shared Data Parallel (FSDP) Remote Procedure Call (RPC) distributed traininng Custom Extensions ๋น๋ถ์ฐ ํ์ต์ ๋จ์ผ GPU์์ ๋ชจ๋ธ์ ํ์ต์ํจ๋ค. ํ์ต ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ๋ค. 1. DataLoader๋ก๋ถํฐ ์ ๋ ฅ ๋ฐฐ์น๋ฅผ ๋ฐ๋๋ค. 2. Forward pass๋ฅผ ํตํด loss ๊ณ์ฐ 3. Backward ..
-
Stochastic differential equation(SDE)AI\ML\DL/Deep learning theory 2023. 12. 5. 14:52
ํ๋ฅ ๋ฏธ๋ถ๋ฐฉ์ ์ (Stochastic differential equation) SDE๋ ์ผ๋ฐ ๋ฏธ๋ถ ๋ฐฉ์ ์๊ณผ ํธ๋ฏธ๋ถ ๋ฐฉ์ ์ ์ฌ์ด์ connection์ ์ ๊ณตํ๋ค. ์ผ๋ฐ ๋ฏธ๋ถ ๋ฐฉ์ ์(ODE)๊ณผ ์ ์ฌํ๋, ํ๋ฅ ์ ์์๋ฅผ ์ถ๊ฐํ์ฌ ๋ ๋ณต์กํ ์์คํ ์ ๋ชจ๋ธ๋งํ๋ ๋ฐ ์ฌ์ฉ๋๋ค. 1) ODE ์ผ๋ฐ๋ฏธ๋ถ๋ฐฉ์ ์์ ๋ณ์์ ๋ณํ๋ฅผ ์๊ฐ์ ๋ํด ์ค๋ช ํ๋ ๋ฐฉ์ ์์ด๋ค. $$ \frac{dx}{dt}=f(x,t)$$ ODE๋ ๋์ผํ ์ด๊ธฐ๋ณ์์ ๋งค๊ฐ๋ณ์ ํ์ ํด๊ฐ ํญ์ ๋์ผํ์ฌ deterministicํ๋ค. randomness ๋ฅผ ๊ณ ๋ คํ์ง ์๊ธฐ ๋๋ฌธ์ด๋ค. 2) SDE ๋ฐ๋ฉด ํ๋ฅ ๋ฏธ๋ถ๋ฐฉ์ ์์ ODE์ ํ๋ฅ ์ฑ ๋๋ ๋ ธ์ด์ฆ๋ฅผ ํตํฉํ์ฌ ๋ถํ์ค์ฑ์ ๊ฐ์ง ์์คํ ์ ๋ชจ๋ธ๋งํ๋ค. $$ dx=f(x,t)dt+g(x,t)\cdot dB(t)$$ ์ด๋ $B..
-
torch.cumprod() w.r.t. diffusion noise schedulingAI\ML\DL/Pytorch 2023. 12. 3. 19:25
[cumprod: cumulative product ํจ์] torch.cumprod ํจ์๋ PyTorch ์์ ์ ๊ณตํ๋ ํจ์๋ก, ํ ์์ ๋์ ๊ณฑ์ ์์๋ณ๋ก(element-wise) ๊ณ์ฐํด์ค๋ค. ์ฌ์ฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค. import torch tensor = torch.tensor([1, 2, 3, 4]) cumprod_result = torch.cumprod(tensor, dim=0) print(cumprod_result) tensor([ 1, 2, 6, 24]) ์๋ฅผ ๋ค์ด, 'torch.tensor([1,2,3,4])' ํ ์์ ๋ํด torch.cumprod ํจ์๋ฅผ dim=0 (์ฒซ๋ฒ์งธ ์ฐจ์)์ผ๋ก ์ ์ฉํ๋ฉด, ์ด ํจ์๋ ๊ฐ ์์์ ๋์ ๊ณฑ์ ๊ณ์ฐํ์ฌ [1,2,6,24] ๋ฅผ ๋ฐํํ๋ค. 1 1x2=2 1x2x3=6..
-
Transformer: Attention is all you need๋ณดํธ๊ธ 2023. 10. 23. 17:46
๋ณดํธ๋์ด ์๋ ๊ธ์ ๋๋ค.
-
torch.cat vs torch.stackAI\ML\DL/Pytorch 2023. 9. 29. 22:14
torch.cat ๊ณผ torch.stack ์ ์๋ก ๋ค๋ฅธ ํ ์ ๊ฒฐํฉ ๋ฐฉ๋ฒ์ด๋ค. 1) torch.cat (Concatenate) torch.cat ์ ์๋ก ๋ค๋ฅธ ํ๋ ฌ์ด์๋ ๋ ํ ์๋ฅผ ํ๋์ ํ ์๋ก ๋ง๋ค์ด์ค๋ค. ๋ฐ๋ผ์ ์ฐจ์์ ๋ณํ๊ฐ ์๊ธฐ์ง ์๋๋ค. ์๋ฅผ ๋ค์ด ๋ ๊ฐ์ 2x3 ์ง๋ฆฌ ํ๋ ฌ์ cat ํด์ฃผ๋ฉด ์์์ฃผ๋ ๋ฐฉํฅ์ ๋ฐ๋ผ 4x3 ํ๋ ฌ์ด๋ 2x6 ํ๋ ฌ์ด ๋๋ค. import torch # 2x3 ํ๋ ฌ ํ๋ a = torch.tensor([[1,2,3],[4,5,6]]) # 2x3 ํ๋ ฌ ํ๋ b = torch.tensor([[7,8,9],[10,11,12]]) # ํ๋ฐฉํฅ ์๊ธฐ c = torch.cat([a,b], dim=0) # ์ด๋ฐฉํฅ ์๊ธฐ d = torch.cat([a,b], dim=1) print(c) pri..
-
Inception Net (2014.09)AI\ML\DL/๋ ผ๋ฌธ ๋ฆฌ๋ทฐ 2023. 9. 17. 00:07
* * * Inception Net ์ Google์์ ๋ฐํํ ๋คํธ์ํฌ๋ก VGG Net๊ณผ ๊ฐ์ ํด์ ๋์จ ๋ชจ๋ธ๋ก, ILSVRC 2014 ๋ํ์์ 1์๋ฅผ ์ฐจ์งํ ๋ชจ๋ธ์ด๋ค. GoogLeNet์ด๋ผ๊ณ ๋ ๋ถ๋ฆฐ๋ค. Inception Net์ Lin et al. ์ Network in Network ์ด๋ผ๋ ๋ ผ๋ฌธ๊ณผ "we need to go deeper" ์ด๋ผ๋ ์ ๋ช ํ ์ธํฐ๋ท ๋ฐ์ผ๋ก๋ถํฐ ์๊ฐ์ ๋ฐ์ ์ด๋ฆ์ ์ง์๋ค๊ณ ํ๋ค. ์ค์ ๋ก ๋ ผ๋ฌธ์์ ์๋์ internet meme์ ์ฒซ ๋ฒ์งธ๋ก ์ธ์ฉํ๋ค. Inception Module Inception Module์ Inception Net ๋ด๋ถ์์ ์ด 9๋ฒ์ด๋ ๋ฐ๋ณตํ๋ ๋ชจ๋์ด๋ค. VGGNet ๋ฅผ ์๊ฐํด๋ณด๋ฉด 3x3 conv๋ฅผ ๋ ๋ฒ ํด์ 5x5 conv ์ ๊ฐ์ receptive ..