일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Numpy
- linalg
- BOXPLOT
- 표집분포
- Numpy data I/O
- Python 유래
- namedtuple
- python 문법
- subplot
- 최대가능도 추정법
- groupby
- Operation function
- Array operations
- Comparisons
- 정규분포 MLE
- pivot table
- scatter
- unstack
- boolean & fancy index
- dtype
- VSCode
- 카테고리분포 MLE
- ndarray
- Python
- 딥러닝
- type hints
- 부스트캠프 AI테크
- Python 특징
- 가능도
- seaborn
- Today
- Total
목록부스트캠프 AI 테크 U stage (112)
또르르's 개발 Story

Transformer에서 가장 중요하게 여겨지는 부분은 Self-Attention 구조입니다. Self-Attention에서 사용되는 방법 중 하나인 Scaled Dot-Product Attention (SDPA)의 코드 구현입니다. Self-Attention에서 차원이 어떻게 바뀌는지를 최대한 정리해보았습니다. 1️⃣ 설정 import numpy as np import matplotlib.pyplot as plt import torch import torch.nn as nn import torch.optim as optim import torch.nn.functional as F %matplotlib inline %config InlineBackend.figure_format='retina' print..

1️⃣ 설정 1) device 설정 : GPU 사용 or CPU 사용 device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu') 2) Dataset 가지고 오기 PyTorch에서는 기본적으로 datasets를 지원합니다. from torchvision import datasets,transforms train시킬 데이터를 tensor형태로 불러옵니다. mnist_train = datasets.MNIST(root='./data/',train=True,transform=transforms.ToTensor(),download=True) test할 데이터를 tensor형태로 불러옵니다. mnist_test = datasets.MNIST(roo..

Sequential model에서 중간중간에 값이 빠져있거나, 순서가 뒤바뀐 값이 있으면 모델링하기 어렵다는 단점이 있습니다. 이런 문제를 해결하고 하는 것이 Transformer입니다. Transformer는 RNN과 같이 재귀적인 구조를 사용하는 것이 아닌 attention이라는 구조를 가지고있습니다. (Transformer는 이미지 분류, 이미지 detection 등에도 사용합니다.) 1️⃣ Transformer Transformer는 sequence가 주어지면 다른 sequence로 바꿔주는 역할을 수행합니다. 예를 들어, 입력이 3개의 단어(프랑스어)로 되어있고 출력이 4개의 단어(영어)로 되어있는 경우와 같이, 입력 sequence와 출력 sequence는 개수가 다를 수 있습니다. (즉, 입..

RNN은 Recurrent Neural Network의 약자로서, MLP(Multi Layer Perceptron)에 기반을 두고 있습니다. 하지만 RNN의 기본 모형은 많은 문제로 인해 LSTM, GRU 모델을 많이 사용합니다. 이번 시간에는 RNN, LSTM, GRU 모형에 대해 정리해보았습니다. 1️⃣ Sequence Data RNN을 이해하기 위해서는 Sequence data에 대해서 이해해야 합니다. sequence data는 순서에 따라 나열된 데이터를 뜻합니다. 소리, 문자열, 주가 등 모두 sequence data에 속하며, 특히 시계열(time-series) 데이터는 시간 순서에 따라 나열된 데이터로 sequence data에 속합니다. 시계열 데이터에는 소리, 주가 등이 포함됩니다. S..

Google에서 image data를 한 번에 다운 받을 때 사용할 수 있는 방법입니다. Joe Clinton이라는 분이 만들어주신 모듈입니다. !pip install --upgrade git+https://github.com/Joeclinton1/google-images-download.git 아래와 같은 argument를 사용해서 goole images를 download할 수 있습니다. 예를 들어, 아래와 같이 수행할 수 있습니다. 검색할 키워드 : 블랙핑크 지수 / 블랙핑크 제니 / 블랙핑크 리사 / 블랙핑크 로제 다운로드 수 : 키워드 당 5 개 이미지 파일 포맷 : png 다운로드 위치 : ./data/ googleimagesdownload --keywords "블랙핑크 지수,블랙핑크 제니,블랙..

1️⃣ 설정 아래 모듈들을 import 합니다. import tarfile import os import shutil import glob import numpy as np import matplotlib.pyplot as plt from torch import nn, optim from torch.autograd import Variable colab에서는 모듈과 데이터를 저장할 수 있는 디스크도 제공하기 때문에 os module을 사용하여 현재 위치를 알 수 있습니다. >>> os.getcwd() # os 현재 위치 '/content' 강아지 image를 보여주는 imshow 함수를 작성합니다. (나중에 tensor image를 보여줄 때 사용) def imshow(image, ax=None, tit..

1️⃣ 설정 1) device 설정 : GPU 사용 or CPU 사용 device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu') 2) Dataset 가지고 오기 PyTorch에서는 기본적으로 datasets를 지원합니다. from torchvision import datasets,transforms train 시킬 데이터를 tensor형태로 불러옵니다. mnist_train = datasets.MNIST(root='./data/',train=True,transform=transforms.ToTensor(),download=True) test 할 데이터를 tensor형태로 불러옵니다. mnist_test = datasets.MNIST(r..

1️⃣ Convolution convolution의 수식을 표현하면 아래와 같습니다. CNN에서는 대부분 2D image를 가지고 convolution을 하기 때문에 2-Dimensions convolution을 사용합니다. 여기서 $I$는 image를 나타내고 $K$는 filter를 나타냅니다. 수식으로는 이해하기 어렵지만 쉽게 말해서 filter $K$를 가지고 image $I$를 찍는 작업을 한다고 생각하시면 편합니다. 그렇다면 2D convolution을 한다는 것은 어떤 의미가 있을까요? convolution filter $K$의 모양을 이미지 $I$에 찍는 작업을 수행하는데, 적용하고자 하는 필터의 모양에 따라서 같은 이미지의 모양이 Blur(흐림), Emboss(강조), Outline(외곽선..

1️⃣ 설정 matplotlib 3.3.0을 설치합니다. !pip install matplotlib==3.3.0 필요한 모듈을 import 합니다. import numpy as np import matplotlib.pyplot as plt import torch import torch.nn as nn import torch.optim as optim import torch.nn.functional as F %matplotlib inline %config InlineBackend.figure_format='retina' print ("PyTorch version:[%s]."%(torch.__version__)) device = torch.device('cuda:0' if torch.cuda.is_avail..

다층신경망(MLP)은 각 뉴런들이 선형모델과 활성함수로 모두 연결된 (fully connected) 구조였습니다. 1️⃣ Convolution 연산 이해하기 하지만 Convolution 연산은 이와 달리 커널(kernel)을 입력벡터 상에서 움직여가면서 선형모델과 합성함수가 적용되는 구조입니다. 아래 그림과 같이 $x$를 모두 활용하는 것이 아니라 $k$벡터에 해당하는 사이즈만 움직여가면서 연산하는 방식입니다. 따라서 가중치 행이 존재하지 않고 kernel에 따라 공통적으로 적용되기 때문에 parameter 사이즈를 많이 줄일 수 있습니다. Convlution 연산의 수학적 의미는 "신호(signal)를 커널을 이용해 국소적으로 증폭 또는 감소시켜서 정보를 추출 또는 필터링"하는 것을 뜻합니다. 아래 수..