본문 바로가기

기술/딥러닝14

[Boostcamp AI Tech] PyTorch 이번 주의 부캠 전체 3주차이자 Level 1 U-stage의 마지막 주였던 이번 주는 PyTorch와 친해지는(?) 그런 한 주였다. 대부분의 강의가 PyTorch 문법적인 내용이었기 때문에 수학 공식들이 심심하면 등장했던 1,2주차와 비교했을 때 전반적으로 수월했다. 그러나 일명 '부덕'이라 불리는 녀석이 내준 과제는 그 양이 정말 지독했다. ( 특히 extra_repr 이 자식이... 고생 꽤나 시켰다.) 그래도 이번 한 주 교육을 통해 모델링을 위한 PyTorch 코드를 다룰 수 있게 됐다는 점은 좋은 일인 것 같다. PyTorch 딥러닝 프레임워크는 정말 여러가지가 존재하지만 Top Deep Learning Frameworks를 2개만 꼽자면 TensorFlow와 PyTorch가 있다. Boos.. 2021. 8. 20.
[Boostcamp AI Tech] Sequential Model - Transformer Transformer 구조는 기본적으로 Sequential Data를 다루는 하나의 방법론이다. Sequential Data는 때때로 중간중간 값이 빠지거나 배치가 바뀔 수 있다. ( 대표적인 Sequential Data인 우리의 '언어'를 생각해보면 쉽다. ) 따라서, RNN과 같이 입력이 Sequential하게 들어가는 모델들은 위와 같은 경우에 대해 모델링하는 데 어려움을 겪을 수 있다. 이 문제를 해결하기 위해 등장한 방법론이 오늘 정리할 Transformer이고, Transformer는 self-attention이라는 구조를 사용하게 된다. Transformer Transformer는 동일한 구조를 갖지만 네트워크 파라미터가 다르게 학습되는 Encoder와 Decoder가 쌓여 있는 형태를 취한.. 2021. 8. 15.
[Boostcamp AI Tech] RNN (Recurrent Neural Network) Sequential Model Sequential Data를 처리하는 데 있어 가장 큰 어려움은 기본적으로 입력의 차원을 정확히 알 수 없다는 점이다. 그러므로 몇 개의 입력이 들어오든 Sequential Model은 동작할 수 있어야 한다. Naive Sequetial Model은 고려해야 하는 과거 정보량이 점차 늘어나는 문제가 있었다. ex) X1, X2, ... ,X7가 있을 때, X2는 X1의 정보만 고려하면 되지만 X7은 X1 ~ X6까지 고려해야 했음 이를 가장 간단하게 해결하기 위한 아이디어로 past timespan을 고정하는 방안이 나왔고 이것을 Autoregressive Model이라고 한다. 즉, 항상 past timespan만큼만 정보를 사용하는 것이다. Autoregressive.. 2021. 8. 15.
[Boostcamp AI Tech] CNN (Convolutional Neural Network) Convolution Convolution 연산은 Kernel/Filter가 Image위를 이동하면서 Element-wise product를 수행한 후 모두 더해주면서 값을 얻어낸다. 32x32x3 image가 입력으로 들어오고, 5x5x3 filter가 4장 있다면 28x28x4의 feature map이 출력된다. 이처럼 입력 사이즈를 알고 filter의 사이즈와 개수를 안다면 출력의 사이즈를 계산할 수 있다. 또한 입력 사이즈와 출력 사이즈를 안다면 filter 사이즈와 개수를 계산할 수도 있다. 그리고 이 때 feature map을 얻기 위해 필요한 파라미터의 수는 4x5x5x3으로 filter의 사이즈와 개수의 곱으로 이해할 수 있다. CNN은 Convolution Layer, Pooling La.. 2021. 8. 14.