[๋”ฅ๋Ÿฌ๋‹] BRNNs(Bidirectional Recurrent Neural Networks) with Pytorch
ยท
๐Ÿ Python/Deep Learning
BRNN ( Bidirectional Recurrent Neural Networks )์€ ๋ฐ˜๋Œ€ ๋ฐฉํ–ฅ์˜ ์ˆจ๊ฒจ์ง„ ๋‘ ๋ ˆ์ด์–ด๋ฅผ ๋™์ผํ•œ ์ถœ๋ ฅ์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ˜•ํƒœ์˜ ์ƒ์„ฑ ๋”ฅ ๋Ÿฌ๋‹ ์„ ํ†ตํ•ด ์ถœ๋ ฅ ๋ ˆ์ด์–ด๋Š” ๊ณผ๊ฑฐ (๋’ค๋กœ) ๋ฐ ๋ฏธ๋ž˜ (์•ž์œผ๋กœ) ์ƒํƒœ์—์„œ ๋™์‹œ์— ์ •๋ณด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 1997 ๋…„ Schuster์™€ Paliwal์ด ๋ฐœ๋ช… ํ•œ [1] BRNN์€ ๋„คํŠธ์›Œํฌ์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ž…๋ ฅ ์ •๋ณด์˜ ์–‘์„ ๋Š˜๋ฆฌ๊ธฐ ์œ„ํ•ด ๋„์ž…๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, MLP ( Multilayer Perceptron ) ๋ฐ TDNN ( Time Delay Neural Network )์€ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณ ์ •ํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ž…๋ ฅ ๋ฐ์ดํ„ฐ ์œ ์—ฐ์„ฑ์— ์ œํ•œ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ‘œ์ค€ ๋ฐ˜๋ณต ์‹ ๊ฒฝ๋งํ˜„์žฌ ์ƒํƒœ์—์„œ ๋ฏธ๋ž˜์˜ ์ž…๋ ฅ ์ •๋ณด์— ๋„๋‹ฌ ํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ (RNN)์—..
[๋”ฅ๋Ÿฌ๋‹] RNN with PyTorch ( RNN ๊ธฐ๋ณธ ๊ตฌ์กฐ, ์‚ฌ์šฉ ๋ฐฉ๋ฒ• )
ยท
๐Ÿ Python/Deep Learning
์˜ค๋Š˜์€ Pytorch๋ฅผ ํ†ตํ•ด RNN์„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. https://www.youtube.com/watch?v=bPRfnlG6dtU&t=2674s RNN์˜ ๊ธฐ๋ณธ๊ตฌ์กฐ๋ฅผ ๋ชจ๋ฅด์‹œ๋ฉด ์œ„ ๋งํฌ๋ฅผ ๋ณด์‹œ๋Š”๊ฑธ ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค. Pytorch document์— RNN์„ ํ™•์ธํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. https://pytorch.org/docs/stable/nn.html 1. RNN (default) RNN์˜ ์ž…๋ ฅ์€ [sequence, batch_size, input_size] ์œผ๋กœ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค. import torch import torch.nn as nn input = torch.randn(4, 7, 5) print(input.size()) # ๊ฒฐ๊ณผ # torch.Size([4, 7, 5]) sequence = 4์ฐจ์›, batch_si..
[๋”ฅ๋Ÿฌ๋‹] ์„ ํ˜•ํšŒ๊ท€ (Linear Regression) : Pytorch ๊ตฌํ˜„
ยท
๐Ÿ Python/Deep Learning
์„ ํ˜• ํšŒ๊ท€๋ฅผ Pytorch๋กœ ๊ตฌํ˜„ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด ๊ธ€์„ ๋ณด์‹œ๊ธฐ ์ „์— ์•„๋ž˜ ๋งํฌ๋ฅผ ๋ณด์‹œ๋Š” ๊ฒƒ์„ ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค. https://coding-yoon.tistory.com/50?category=825914 [๋”ฅ๋Ÿฌ๋‹] ์„ ํ˜• ํšŒ๊ท€(Linear Regression) ์ง€๋„ ํ•™์Šต์—๋Š” ๋Œ€ํ‘œ์ ์œผ๋กœ ์„ธ๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. 1. ์„ ํ˜• ํšŒ๊ท€ ( Linear Regression ) : 3์›” : 60์ , 6์›” : 70์ , 9์›” : 80์ ์ด๋ผ๋ฉด, 12์›”์€ ๋ช‡ ์ ์ผ๊นŒ? 2. ์ด์ง„ ๋ถ„๋ฅ˜ ( Binary Classification ) : [0, 1], [True, F.. coding-yoon.tistory.com ์ตœ๋Œ€ํ•œ ์„ ํ˜• ํšŒ๊ท€์‹์ฒ˜๋Ÿผ ๋ณด๊ธฐ ์‰ฝ๊ฒŒ๋” ์ฝ”๋”ฉํ•˜์˜€์Šต๋‹ˆ๋‹ค. # ์„ ํ˜• ํšŒ๊ท€ import torch import torch.nn as nn # ..
[๋”ฅ๋Ÿฌ๋‹] ์„ ํ˜• ํšŒ๊ท€(Linear Regression)
ยท
๐Ÿ Python/Deep Learning
์ง€๋„ ํ•™์Šต์—๋Š” ๋Œ€ํ‘œ์ ์œผ๋กœ ์„ธ๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. 1. ์„ ํ˜• ํšŒ๊ท€ ( Linear Regression ) : 3์›” : 60์ , 6์›” : 70์ , 9์›” : 80์ ์ด๋ผ๋ฉด, 12์›”์€ ๋ช‡ ์ ์ผ๊นŒ? 2. ์ด์ง„ ๋ถ„๋ฅ˜ ( Binary Classification ) : [0, 1], [True, False], [๊ฐœ, ๊ณ ์–‘์ด] 3. ๋‹ค์ค‘ ๋ถ„๋ฅ˜ ( Multi classification ) : [A, B, C, D], [๊ฐœ, ๊ณ ์–‘์ด, ์‚ฌ์Šด, ๊ณฐ] ... ์ง€๋„ ํ•™์Šต ์ค‘ ๊ฐ€์žฅ ๋Œ€ํ‘œ๊ฒฉ์ธ ์„ ํ˜• ํšŒ๊ท€์— ๋Œ€ํ•ด ๋จผ์ € ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ž…๋ ฅ X = [1, 2, 3, 4] ์ถœ๋ ฅ Y = [3, 5, 7, 9] ์ด๋ผ๋ฉด ๊ณผ์—ฐ X=5์ผ ๋•Œ, Y์˜ ๊ฐ’์€? ์‚ฌ๋žŒ์€ ์‰ฝ๊ฒŒ Y์˜ ๊ฐ’์ด 11์ž„์„ ๊ธˆ๋ฐฉ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค..
[๋”ฅ๋Ÿฌ๋‹] ํŒŒ์ดํ† ์น˜ ๊ธฐ๋ณธ step3::๊ตฌ์กฐ 1ํƒ„
ยท
๐Ÿ Python/Deep Learning
type(nums) ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด์ œ ํŒŒ์ดํ† ์น˜๋กœ ๋”ฅ๋Ÿฌ๋‹ํ•  ์ค€๋น„๊ฐ€ ๋‹ค ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ๋”ฅ๋Ÿฌ๋‹์„ ํ•˜๊ธฐ ์ „์— ํŒŒ์ดํ† ์น˜ ๋ฌธ๋ฒ• ๊ตฌ์กฐ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํ…์„œํ”Œ๋กœ์šฐ๋Š” numpyarray๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ํ…์„œ(3์ฐจ ์ด์ƒ)๋ฅผ ์‚ฌ์šฉํ•œ๋‹ต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋“ค์ด ๊ณต๋ถ€ํ•  ํŒŒ์ดํ† ์น˜๋Š” torch๋ฅผ ๊ฐ€์ง€๊ณ  ๋†‰๋‹ˆ๋‹ค. ๊ทธ๋ƒฅ numpy = torch ์ด๋ ‡๊ฒŒ ๋ณด์‹œ๋ฉด ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ์‹œ๊ฐ„์— ํŒŒ์ดํ† ์น˜์˜ ๊ธฐ๋ณธ์ธ torch๋Š” ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ ๊ณผ์ •์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ˆ˜์ฒœ ์ˆ˜๋งŒ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ „์ฒ˜๋ฆฌ ๊ณผ์ •์„ ๊ฑฐ์ณ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋ธ์„ ๊ตฌ์ƒํ•˜๊ณ , ๋ฐ˜๋ณต, ํ•™์Šต๋งŒํผ ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ ๊ณผ์ •์€ ์ƒ๋‹นํžˆ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. 1. ๊ธฐ๋ณธ ๊ตฌ์กฐ import torch import numpy as np nums = torch.arange(9) nums tensor([0..
[๋”ฅ๋Ÿฌ๋‹] ํŒŒ์ดํ† ์น˜ step2:: ์„ค์น˜&์ค€๋น„
ยท
๐Ÿ Python/Deep Learning
์•ˆ๋…•ํ•˜์„ธ์š”. ๋”ฅ๋Ÿฌ๋‹ 2๋ฒˆ์งธ ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค. ๋”ฅ๋Ÿฌ๋‹ ๊ณต๋ถ€๋ฅผ ํ•˜๋Š”๋ฐ ์™€... ์ƒ๋‹นํžˆ ์–ด๋ ต๋”๋ผ๊ตฌ์š”. ์ฒœ์ฒœํžˆ ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ๋Š”๋ฐ, ์•„๋ฌด๋ฆฌ ์‰ฝ๋‹ค ์‰ฝ๋‹ค ํ•˜์ง€๋งŒ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํฌ๊ธฐํ•˜์ง€ ์•Š๊ณ , ์กฐ๊ธˆ์”ฉ ๊ณต๋ถ€ํ•˜๋‹ค ๋ณด๋ฉด 1๋…„ ๋’ค์—๋Š” ์–ด๋Š์ •๋„ ํ•  ์ˆ˜ ์žˆ์ง€ ์•Š์„๊นŒ์š”? ์˜ค๋Š˜์€ ํŒŒ์ดํ† ์น˜๋ฅผ ์„ค์น˜๋ฅผ ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. https://pytorch.org/ PyTorch An open source deep learning platform that provides a seamless path from research prototyping to production deployment. pytorch.org ๋“ค์–ด๊ฐ€์ค๋‹ˆ๋‹ค. ์š”๋ ‡๊ฒŒ ๋‚˜์˜ค์ฃ ?? ์ด์ œ ์ž์‹ ์—๊ฒŒ ๋งž๋Š” ๊ฒƒ์„ ์„ ํƒํ•ด์ค๋‹ˆ๋‹ค. ์ €๋Š” ์ผ๋‹จ GPU๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— CUDA๋Š” NONE์œผ๋กœ ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋งŒ..
[๋”ฅ๋Ÿฌ๋‹]์ธ๊ณต์ง€๋Šฅ ํŒŒ์ดํ† ์น˜ step1::์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ ์ค€๋น„
ยท
๐Ÿ Python/Deep Learning
์•ˆ๋…•ํ•˜์„ธ์š”. 2020๋…„ 2์›”์ž…๋‹ˆ๋‹ค. 1์›”์— ๊ธฐ์‚ฌ์ค€๋น„๋„ ํ•˜๊ณ , ๊ณต๋ถ€๋„ ์ด๊ฒƒ์ €๊ฒƒ ํ•œ ๊ฒƒ ๊ฐ™์€๋ฐ ๋‚˜๋Š” ์ด๊ฒƒ์„ ์ด๋ฃจ์—ˆ๋‹ค! ๋ผ๊ณ  ์ž์‹ ์žˆ๊ฒŒ ๋งํ•  ๋งŒํ•œ๊ฒŒ ์—†๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์š”์ฆ˜ ๋จธ์‹ ๋Ÿฌ๋‹์ด ๋„ˆ๋ฌด ํ•ซํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ๊ธ€, ํŽ˜์ด์Šค๋ถ์—์„œ ํ…์„œํ”Œ๋กœ์šฐ, ํŒŒ์ดํ† ์น˜ ๋“ฑ ๋ฌด์„ญ๊ฒŒ ์—…๋ฐ์ดํŠธ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ข€ ๋” ์‰ฝ๊ฒŒ, ์ง๊ด€์ ์œผ๋กœ ๋ณ€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์‰ฝ๊ฒŒ? ์ง๊ด€์ ? ์ฝ”๋“œ ๊ธธ์ด? ๊ท€์ฐฎ์Œ์„ ๋งค์šฐ ์‹ซ์–ดํ•˜๋Š” ์ €์—๊ฒŒ ์ด๊ฑด ๊ธฐํšŒ๊ฐ€ ์•„๋‹๊นŒ? ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ํ‰์†Œ์— ๊ด€์‹ฌ์ด ์žˆ์—ˆ๋˜ ์ธ๊ณต์ง€๋Šฅ์ด์ง€๋งŒ, ๋„ˆ๋ฌด ๋ง‰์—ฐํ•œ ๋ฒฝ ๋•Œ๋ฌธ์— ์—„๋‘์กฐ์ฐจ ๋ชป๋‚ด๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. 4ํ•™๋…„์ด๊ณ  ๋ง˜ํŽธํžˆ ๊ณต๋ถ€ํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ๊ฐ„๋„ ์—†๋‹ค๋Š” ๋ถˆ์•ˆํ•จ์ด ์ €๋ฅผ ๋ถ€์ถ”๊ฒผ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ 2์›”์—๋Š” ์ธ๊ณต์ง€๋Šฅ์— ํ•œ ๋ฒˆ ํž˜์„ ์Ÿ์•„๋ณผ ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ๋จธ์‹ ๋Ÿฌ๋‹์„ ํ•  ์ค€๋น„๋ฅผ ํ•ด์•ผ๊ฒ ์ฃ ? https://www.anaconda.c..
18์ง„์ˆ˜
'๐Ÿ Python/Deep Learning' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (3 Page)