ResNet101을 기준으로 구현했다. bottleneck 을 class로 따로 떼었으며, first 변수로 사이즈를 줄이는 layer 여부를 구분했다. bottleneck은 conv 1x1 - batchnorm - relu - conv 3x3 - batchnorm - relu - conv 1x1 - skip connection - batchnorm - relu로 구성했다. 1. Setup import torch import torch.nn as nn import numpy as np import torchvision import torchvision.transforms as transforms from torch.utils.data import DataLoader import torch.optim as..
AlexNet 보다 더 깊은 16 / 19 Layer까지 쌓은 Network로 그 이상 쌓는 경우 Saturation에 의해 더 깊게 쌓는 것이 무의미한 실험결과를 논문에서는 언급하고 있으며, 비교적 간단한 구조로 높은 성능을 내어 아직까지 자주 사용되는 모델이다. 각 Block 마다 Maxpool이 추가되어 있어 적은 Tuning으로 U-net 구조의 Feature Extractor로 사용되기도 한다. 1. Setup import torch.nn as nn import torch import torchvision import torchvision.transforms as transforms from torch.utils.data import DataLoader import torch.optim as o..
Vision Transformer를 간단하게 구현해보자 patch단위로 sequence형태로 변형하여 image embedding, multi head attention, MLP 구조로 구현하려고 한다. 1. Setup import torch import torch.nn as nn from torch import Tensor import torchvision import torchvision.transforms as transforms from torch.utils.data import DataLoader import torch.optim as optim from einops import rearrange, repeat from einops.layers.torch import Rearrange, Redu..
https://dreamkkt.com/15 [딥러닝 Basic] 신경망 (Neural Network) 간단하게 알아보기1 1. Intro 퍼셉트론 : 층을 쌓는 방법을 통해 복잡한 함수를 표현할 수 있으며 가중치 설정을 직접 수동으로 해야하는 단점이 있다. 신경망 : 퍼셉트론의 단점을 해결해 줄 수 있는 개념으로 가중치 dreamkkt.com 이전 글에 이어서 출력층에 대해서 작성합니다. 출력층 설계 신경망은 분류와 회귀 모두 이용가능 하며, 회귀는 항등함수, 분류는 소프트맥스를 사용(Sigmoid도 사용됨) 참고) 회귀의 기원 19세기 후반 영국의 우생학자 프랜시스 골턴 경은 사람과 완두콩 등을 대상으로 그 크기를 측정함. 관찰 결과 크기가 큰 부모의 자식은 부모보다 작고 작은 부모의 자식은 부모보다 ..
1. Intro 퍼셉트론 : 층을 쌓는 방법을 통해 복잡한 함수를 표현할 수 있으며 가중치 설정을 직접 수동으로 해야하는 단점이 있다. 신경망 : 퍼셉트론의 단점을 해결해 줄 수 있는 개념으로 가중치를 학습할 수 있게 되었다. 2. 퍼셉트론 ⇒ 신경망 Hidden Layer는 사람 눈에 보이지 않는 층(input, output만 쉽게 볼 수 있으므로)이라는 의미로 쓰이며, 층은 3개지만 가중치는 2개의 층에만 존재하므로 2층 신경망이라고도 부른다. 그림 상으로는 퍼셉트론과 차이가 없다. 퍼셉트론에 대해서는 아래 링크에서 다뤘으니 확인! https://dreamkkt.com/10 [딥러닝 Basic] XOR 문제로 간단하게 살펴보는 퍼셉트론 1. 퍼셉트론?? 인공 뉴런 / 단순 퍼셉트론으로 불리며, 그림에..
1. 퍼셉트론?? 인공 뉴런 / 단순 퍼셉트론으로 불리며, 그림에서 처럼 2개의 노드로부터 입력을 받아 $y$를 출력하는 형태이다. $x_1, x_2$를 노드 $w_1, w_2$를 가중치 $y$를 출력값으로 한다. 퍼셉트론을 수식으로 나타내면 다음과 같다. $$ y = \begin{cases} 0 \ (w_1x_1+w_2x_2 \le \theta) \\ 1 \ (w_1x_1+w_2x_2 \ge \theta)\end{cases} $$ 2. 단순 논리 회로 1. AND 게이트 진리표 x1 x2 y 0 0 0 0 1 0 1 0 0 1 1 1 입력이 둘, 출력이 하나인 게이트로 퍼셉트론으로 표현할 수 있다. $ (w_1, w_2, \theta) = (0.5, 0.5, 0.7), (0.5, 0.5, 0.8) $ ..