반응형

ResNet 10

[PyTorch] PyTorch에서 제공하는 ResNet을 불러와 마지막 FC layer 수정하기

안녕하세요! 이번 포스팅에서는 PyTorch에서 제공하는 ResNet을 불러오고, 마지막 FC layer를 수정하는 방법을 살펴보겠습니다. import torch.nn as nn from torch.nn import functional as F from .utils_resnet import resnet18 class FaceNet_ResNet18(nn.Module): def __init__(self, embedding_dimension=128, pretrained=False): super().__init__() self.model = resnet18(pretrained=pretrained) # embedding input_features_fc_layer = self.model.fc.in_features ..

[논문 구현] PyTorch로 WRN, Wide residual Network(2016) 구현하고 학습하기

PyTorch로 WRN(Wide Residual Network)를 구현하고 학습까지 해보겠습니다. 작업 환경은 google colab에서 진행했습니다. 논문 리뷰는 아래 포스팅에서 확인하실 수 있습니다. [논문 읽기] WRN(2016) 리뷰, Wide Residual Networks 이번에 읽어볼 논문은 WRN, Wide Residual Networks 입니다. WRN은 residual netowrk의 넓이를 증가시키고 깊이를 감소시킨 모델입니다. 16 layer로 이루어진 WRN은 1000-layer ResNet 같은 깊은 신경망을 제.. deep-learning-study.tistory.com 전체 코드는 여기에서 확인하실 수 있습니다. 1. 데이터셋 불러오기 데이터셋은 torchvision 패키지에..

논문 구현 2021.03.22

[논문 구현] PyTorch로 PreAct-ResNet(2016) 구현하고 학습하기

이번에 구현해볼 모델은 PreAct-ResNet입니다. 논문 리뷰는 아래 포스팅에서 확인하실 수 있습니다. [논문 읽기] Pre-Activation ResNet(2016) 리뷰, Identity Mappings in Deep Residual Networks 이번에 소개할 논문은 Pre-Activation ResNet, Identity Mappings in Deep Residual Networks 입니다. ResNet은 skip connection을 활용해 신경망이 수렴이 잘 되도록 하여 층을 깊게 쌓아 정확도를 높인 모델.. deep-learning-study.tistory.com 전체 코드는 여기에서 확인하실 수 있습니다. 1. 데이터셋 불러오기 데이터셋은 torchvision 패키지에서 제공하는 ST..

논문 구현 2021.03.20

[논문 읽기] Residual Attention Network(2017) 리뷰

안녕하세요! 이번에 소개할 논문은 Residual Attention Network 입니다. Residual Attention Network는 자연어 처리에서 활발하게 이용하고 있는 Attention에서 영감을 받아 탄생한 모델입니다. 실제 Attention 알고리즘을 사용하지는 않고, 비슷한 개념을 이용하기 때문에 Attention 이름이 붙여졌습니다. Residual Attention Network는 Attention module로 이루어져 있습니다. 그리고, 이 Attention module은 다른 모델과 결합하여 사용할 수 있습니다. Attention module 내부에는 두 파트로 이루어져 있습니다. 마스크를 생성하는 부분과 기존 모듈(residual 모듈, inception 모듈)이 있습니다. ..

[논문 구현] PyTorch로 ResNet(2015) 구현하고 학습하기

이번 포스팅에서는 PyTorch로 ResNet을 구현하고 학습까지 해보겠습니다. 논문 리뷰는 여기에서 확인하실 수 있습니다. [논문 읽기] ResNet(2015) 리뷰 이번에 읽어볼 논문은 ResNet, 'Deep Residual Learning for Image Recognition' 입니다. ResNet은 residual repesentation 함수를 학습함으로써 신경망이 152 layer까지 가질 수 있습니다. ResNet은 이전 lay.. deep-learning-study.tistory.com 전체 코드는 여기에서 확인하실 수 있습니다. github.com/Seonghoon-Yu/paper-implement-in-pytorch 작업 환경은 구글 코랩에서 진행했습니다. 1. 데이터셋 불러오기 데..

논문 구현 2021.03.18

[논문 읽기] WRN(2016) 리뷰, Wide Residual Networks

이번에 읽어볼 논문은 WRN, Wide Residual Networks 입니다. WRN은 residual netowrk의 넓이를 증가시키고 깊이를 감소시킨 모델입니다. 16 layer로 이루어진 WRN은 1000-layer ResNet 같은 깊은 신경망을 제치고 SOTA를 달성했습니다. 신경망의 넓이를 증가한다는 의미는 filter수를 증가시킨다는 것을 의미합니다. 즉, WRN은 residual block을 구성하는 convolution layer의 filter 수를 증가시켜서 신경망의 넓이를 증가시켰습니다. 등장 배경 지금까지, CNN은 깊이를 증가시키는 방향으로 발전해왔습니다. 예를 들어, AlexNet, VGG, Inception, ResNet과 같은 모델이 있습니다. 모델의 깊이가 깊어지는 만큼 ..

[논문 읽기] Pre-Activation ResNet(2016) 리뷰, Identity Mappings in Deep Residual Networks

이번에 소개할 논문은 Pre-Activation ResNet, Identity Mappings in Deep Residual Networks 입니다. ResNet은 skip connection을 활용해 신경망이 수렴이 잘 되도록 하여 층을 깊게 쌓아 정확도를 높인 모델입니다. Pre-Activation ResNet은 기존의 residual block 구조에 활성화 함수의 순서를 바꿔 성능을 끌어올렸습니다. 입력값을 BN과 활성화 함수를 거친 뒤에 convolution layer에 전달한 것입니다. 아래 그림에서 기존 residual block과 pre-activation residual block을 확인할 수 있습니다. 학습곡선에서 점선은 training loss, 굵은 선은 test error 입니다...

[PyTorch] ResNet, pre-trained 모델 불러오기

이번 포스팅에서 ResNet pre-trained model을 불러오도록 하겠습니다. pre-trained model 불러오기 작업환경은 google colab에서 진행했습니다. 1. pre-trained model을 불러옵니다. # load resnet18 with the pre-trained weights from torchvision import models import torch resnet18_pretrained = models.resnet18(pretrained=True) print(resnet18_pretrained) 2. output layer를 현재 data에 맞게 수정합니다. # change the output layer to 10 classes num_classes = 10 num_f..

[논문 읽기] ResNet(2015) 리뷰

이번에 읽어볼 논문은 ResNet, 'Deep Residual Learning for Image Recognition' 입니다. ResNet은 residual repesentation 함수를 학습함으로써 신경망이 152 layer까지 가질 수 있습니다. ResNet은 이전 layer의 입력을 다음 layer로 전달하기 위해 skip connection(또는 shorcut connection)을 사용합니다. 이 skip connection은 깊은 신경망이 가능하게 하고 ResNet은 ILSVRC 2015 우승을 했습니다. Plain Network의 문제점 Plain network는 skip/shortcut connection을 사용하지 않은 일반적인 CNN(AlexNet, VGGNet) 신경망을 의미합니다..

[딥러닝] 세 가지 유명 신경망 - VGG, GoogLeNet, ResNet

사이토고키의 을 공부하고 정리해보았습니다. 1. VGG VGG는 합성곱 계층과 풀링 계층으로 구성되는 기본적인 CNN입니다. 다만, 아래 그림과 같이 비중 있는 층(합성곱 계층, 완전연결 계층)을 모두 16층(혹은 19층)으로 심화한 게 특징입니다. (층의 깊이에 따라서 'VGG 16'과 'VGG19'로 구분합니다.) VGG에서 주목할 점은 3x3의 작은 필터를 사용한 합성곱 계층을 연속으로 거칩니다. 그림에서 보듯 합성곱 계층을 2~4회 연속으로 풀링 계층을 두어 크기를 절반으로 줄이는 처리를 반복합니다. 그리고 마지막에는 완전연결 계층을 통과시켜 결과를 출력합니다. 2. GoogLeNet GoogLeNet의 구성은 다음과 같습니다. 그림의 사각형이 합성곱 계층과 풀링 계층 등의 계층을 나타냅니다. 그..

반응형