# Resnet

71개의 포스트

Pytorch - ResNet

depth가 exploding gradient, vanishing gradient 현상이 학습이 큰 방해 요소 VGG로 인해 10개 layer까지는 batch normalization 효과로 그런 현상이 없어짐. 정확도가 일정 수준의 포화하고, 오히려 감소 -> overfitting 기존 네트워크 하나의 cnn output의 다음 cnn layer에 input에 사용 깊게 쌓아 올렸을 때 정확도의 이득이 없어짐 ResNet 단순히 입력에서 출력으로 연결되는 shortcut을 추가하여 layer를 깊게 쌓음 parameter 수는 차이가 없고 덧셈만 늘어남 모든 동일한 feature map을 갖기 위해, feature map size가 절반 되면 kernel수가 2배가 된다 3x3 downsampling하고 global avg pooling fc layer 마지막에 softmax 사용 layer 층 32개 bottleneck design 3

2일 전
·
0개의 댓글
·
post-thumbnail

ResNet(Residual Network)

ResNet(Residual Network)은 딥 러닝 아키텍처의 한 종류로, 이미지 분류 및 다양한 컴퓨터 비전 태스크에서 매우 성공적으로 사용되는 모델 > Residual block이라고 불리는 구조를 사용하여 깊은 신경망을 학습 레이어를 하나씩 쌓는 대신, 기존의 레이어에 입력 데이터를 직접 더하는 형태로 네트워크를 구성 이렇게 함으로써 네트워크가 입력과 출력 사이의 잔여 함수를 학습하게 되는데, 이 잔여 함수를 학습하기가 원래의 입력을 직접 학습하는 것보다 더 쉬워 이러한 구조로 인해 그레디언트 소실 문제가 줄어들고, 매우 깊은 네트워크를 효과적으로 학습할 수 있게 됨 ![](https://velog.velcdn.com/images/qtly_u/post/90f50355-077a-4544-9b4

2023년 8월 30일
·
0개의 댓글
·
post-thumbnail

Week 2 | Deep Convolution Models : Case Studies

Why look at case studies? Why look at case studies? It turns out the past few years of computer vision research has been on how to put together these basic building blocks(convolutional layers, pooling layers, fully connected layer) to form effective convolutional neural networks. One of the best ways for user gain intuition yourself is to see some of these examples. Outline Classic networks : LeNet-5 AlexNet VGG ResNet(=Residual Network) :

2023년 8월 22일
·
0개의 댓글
·
post-thumbnail

ResNet 🌅

ResNet은 마이크로소프트에서 개발한 알고리즘으로 "Deep Residual Learning for Image Recognition"이라는 논문에서 발표되었다. ResNet 핵심은 깊어진 신경망을 효과적으로 학습하기 위한 방법으로 레지듀얼(residual) 개념을 고안한 것이다. ResNet 일반적으로 신경망 깊이가 깊어질수록 성능이 좋아지다가 일정한 단계에 다다르면 오히려 성능이 나빠진다는 단점이 있다. ResNet은 이러한 문제를 해결하기 위해 레지듀얼 블록(residual block)을 도입했다. 레지듀얼 블록은 기울기가 잘 전파될 수 있도록 일종의 숏컷(shortcut, skip connection)을 만들어 기울기 소멸 문제를 방지했다. 👉🏻 블록(block)이란 계층의 묶음이다. 합성곱층을 하나의 블록으로 묶은 것이다. ![](https://velog.velcdn.com/images/jeo0534/post/6d2577a6-c

2023년 8월 15일
·
0개의 댓글
·
post-thumbnail

Skip-Connection

Deep Neural Network에서 고질적인 문제 중 하나가 Vanishing Gradient이다. 이 문제를 해결하기 위해서 batch normalization도 하고, weight initialization에도 신경을 쓰는 것이다. Vanishing Gradient의 해결방법 중 하나인 Skip-Connection은, 학습시 Backpropagation에서 "기울기에 대한 대체 경로"를 제공한다. Skip-Connection은 하나의 convolution 레이어를 기준으로 봤을 때, 레이어의 input값을 레이어 통과 후의 output값과 합쳐서 다음 레이어로 넘겨주는데, 이때 레이어의 input 값이 해당 레이어를 통과하지 않고 다음 레이어로 넘어가기 때문에 Skip-connection 이라고 하는 것이다. 물론 하나의 레이어가 아니라 여러 레이어를 건너뛰어 합쳐질 수도 있다. 이렇게 서로 다른 계층의 feature map을 합치는 방법에는 'addition'과 'co

2023년 8월 11일
·
0개의 댓글
·
post-thumbnail

5. Various CNNs

이전 포스트에서 CNN의 구조에 대해 작성했었다. 세부적인 부분은 모델마다 다르겠지만, 이미지를 Feature Learning하고, Classification한다 라는 특징은 모든 CNN에 적용된다는걸 기억하면 된다. CNN에 대한 개념이 LeNet을 시작으로 처음 등장하고, 그 후 다양한 모델들이 등장했다. AlexNet, VGG Net, GoogleNet, ResNet 등이 있지만, 수업 때 배운건 VGG와 ResNet이었기 때문에 두 모델에 대해 알아보도록 하겠다. 조교님이 GoogleNet에 대해 짤막하게 소개해줬는데, 구조가 특이해서 나중에 혼자 따로 알아보려 한다. 시작하기에 앞서, ImageNet Large Scale Visual Recogintion Challenge 성적을

2023년 6월 19일
·
0개의 댓글
·
post-thumbnail

[CV] Deep Residual Learning for Image Recognition (2015)

논문 링크 Abstract 심층 신경망은 훈련시키기 더 어렵다. 저자들은 이전보다 훨씬 더 깊은 네트워크를 쉽게 훈련할 수 있도록 Residual 학습 프레임워크를 제시한다. 참조되지 않은 학습 대신 레이어의 input을 참조하여 잔차 함수를 학습하는 것으로 레이어를 재구성한다. 이 논문을 통해 저자들은 residual network가 최적화하기 쉽고, 상당히 증가된 깊이에서 정확도를 얻을 수 있음을 보여주는 포괄적인 경험적 증거를 제공한다. ImageNet 데이터셋으로 VGGNet보다 9배 더 깊은 152개의 레이어를 사용했지만 여전히 낮은 복잡도를 가진다. residual 네트워크의 앙상블로 ImageNet 테스트 셋에서 3.57%의 error rate를 달성했고, ILSVRC 2015 classification 태스크에서 1위를 달성했다. 추가로 ILSVRC & COCO 2015 competition의

2023년 6월 7일
·
0개의 댓글
·
post-thumbnail

Deep Residual Learning for Image Recognition(ResNet)

논문 제목 : Deep Residual Learning for Image Recognition 논문 링크 : https://arxiv.org/abs/1512.03385 Abstract 깊은 neural net은 학습하기가 힘들다. 그래서 residual learning framework를 활용해서 더 깊은 network를 효과적으로 학습했다. Accuracy가 증가했고 optimize도 쉬워졌다. 평가에 사용된 layer는 152개로 VGG net보다 8배 깊어졌다. ImageNet의 데이터셋으로 3.57%의 error를 달성했다. 1. Introduction 깊은 신경망은 이미지 분류에 자주 이용되었다. 네트워크의 깊이가 상당히 중요하기 때문이다. 그렇다면 항상 더 많은 layer를 쌓으면 더 좋은 네트워크를 얻을까? 이를 방해하는 첫 문제는 vanishing/exploding gradients 문제였다(기울기 소실/폭주). 그렇지만 이는 normalize의 도

2023년 5월 20일
·
0개의 댓글
·
post-thumbnail

[논문리뷰]Deep Residual Learning for Image Recognition :: ResNet

ABSTRACT 이 논문에서는 이전보다 더 깊은 네트워크를 더 쉽게 학습시키기위해 residual learning(잔차학습) framework를 제안하였다. 핵심내용 : 기존의 함수로 학습하기 보다 전의 입력값을 참조하여 학습에 활용하는 것으로 대신한다. -> ImageNet data set에서 VGGNet 보다 8배 깊은 152개의 layer를 쌓을 수 있었고 더 적은 복잡도를 가진다. ➕ 100개 및 1000개의 레이어로 구성된 CIFAR-10에 대한 분석을 제시 1. INTRODUCTION 네트워크의 깊이가 깊을수록 기능의 수준이 높아진다고 볼수 있지만 training error와 test error 또한 높아짐을 Figuer1.에서 알 수 있다. ![Figure1](https://velog.velcdn.com/images/alsgml2846/post/9c807dc0-f209-4dc7-87b0-0c4e1d118613/

2023년 5월 4일
·
0개의 댓글
·
post-thumbnail

논문리뷰_ResNet

Abstract 딥러닝에서 neural networks가 깊어질 수록 성능은 더 좋지만, 학습이 어렵다. 그래서 이 깊은 신경망 학습을 용이하게 하는 잔차 학습 프레임워크(resudaul learning framework)를 제시하였다. 이 프레임워크는 함수를 새로 만드는 방법 대신에 잔차 함수를 학습에 사용하는 것으로 레이어를 재구성한다. (평가결과 VGG 네트워크보다 8배 더 깊게 학습할 수 있었지만, 더 낮은 complexity를 가지고 있는 것을 확인하였다고 한다~) 1.Introduction 깊이의 중요성에 대한 관심은 한가지 의문을 불러오는데, 이는 "Is learning better networks as easy as stacking more layers?"이다. 레이어를 쌓을수록 기울기 소실 및 폭발 문제가 있기 때문이다..하지만 이러한 문제들은 nomalized initialization과 intermediate normalization layer를 통해

2023년 5월 3일
·
0개의 댓글
·
post-thumbnail

[CV] Computer Vision (Week 4)

CNN 등장 배경 FC Layer(Fully, Connected Layer, Fully Connected Neural Network)의 경우 피쳐맵에 대해서 모든 텐서에 대해 내적을 하게 된다. 모든 텐서에 대해서 파라미터가 사용되기 때문에 1) 파라미터 개수가 증가하는 한계점이 있다. 그리고 가중치 맵을 시각화할 수 있는데 이와 비슷하지 않은 (완전 다름 이미지 or 비슷하지만 cropped된 이미지) testset 이미지에 대해서 분류를 못하는 문제점 이 있다. FC Layer 한계점 파라미터 개수 많다. 훈련 데이터에서 보지 못한 이미지를 잘 처리하지 못한다. Locally Connected Neural Network는 피쳐 맵의 모든 영역이 아닌 일부 국소 영역 즉 local 영역에서만 내적을 계산해 특징을 추출하는데, 이는 파라미터 개수가 그만큼 적어지는 장점이 있다. CNN은 Fully Connected Neural N

2023년 3월 29일
·
0개의 댓글
·

PaDiM : a Patch Distribution Modeling Framework for Anomaly Detection and Localization

PaDiM : a Patch Distrivution Modeling Framework for Anomaly Detection and Localization International Conference on Pattern Recognition, International Workshops and Challenges 2021 (ICPR 2021) Abstract pre-trained CNN based model 이상 부분이 존재하는 구역을 탐지 Multivariate Gaussian distribution : normal class의 probabilistic representation을 얻기 위한 목적 Introduction 이미

2023년 3월 16일
·
0개의 댓글
·
post-thumbnail

[DL models A-to-Z] 1주차. CNN

*밝게 보시는걸 추천드립니다. *잘못된 내용은 말씀해주시면 편하게 말씀해주셔도 됩니다. 0. Intro Deep Learning의 각 분야들의 basic들을 다루는 시리즈를 만들기에 앞서서, 가장 먼저 어떤 논문을 다루면 좋을지 고민해보았다. 고민은 그리 오래 가지 않았다. 사실 Deep Learning을 배우는 어느 수업을 가든, 또는 독학을 하든 항상 처음 만나게 되는 모델은 바로 CNN의 대표적인 모델들인 VGGNet과 ResNet이다.(물론 neural perceptron과 back propagation과 같은 딥러닝의 기본적인 컨셉을 안다는 전제하에서 말하는 것이다.) 따라서, [DL models A-to-Z]의 가장 첫번째 포스팅은 다음과 같은 순서로 CNN에 대해서 얘기해보려 한다. >### 1. MLP basic >- CNN을 다루기에 앞서서 Deep Learning의 근간이 되는 Fully

2023년 3월 13일
·
0개의 댓글
·

Sub-Image Anomaly Detection with Deep Pyramid Correspondences

Sub-Image Anomaly Detection with Deep Pyramid Correspondences arXiv 2020 출처 : paperswithcode MVTec dataset을 사용한 anomaly detection task에서의 rank Introduction 대부분의 제품은 정상으로 존재하지만, 일부 제품에 결함이 존재할 수 있음 이 때, 이러한 결함이 존재하는 제품을 빨리 감지하는 것이 중요 각 제품의 결함을 탐지하기 위해서는 computer vision solution이 필요 본 논문에서는 이미지에 존재하는 이상 부분을 탐지하기 위한 방법을 제시 제안하는 방법은 Semantic Pyramid Anomaly Detetion(SPADE)라고 칭함 기존

2023년 3월 9일
·
0개의 댓글
·

[지옥의 CV캠프] ResNet 논문 리뷰(혹은 번역)

본 리뷰는 모두의연구소 공간 지원을 받아 작성되었습니다. * Abstract 깊은 신경망은 트레이닝하기 어렵다. 이 논문에서는 깊은 네트워크 트레이닝을 쉽게 만드는 residual learning (잔차 학습) 프레임워크를 제시한다. 레이어가 입력을 참조하는 residual function (잔차 함수)를 학습하도록 명시적으로 재공식화한다. Introduction 네트워크의 깊이가 중요하다는 증거들이 (2015 기준에서) 최근 제시되었

2023년 3월 8일
·
1개의 댓글
·

학습된 모델을 업로드하여 이미지 예측해보기

이와 같이 3가지의 모델을 저장하였고, 이제 이 모델을 별도의 개발 환경에서 불러와 이미지를 올바르게 예측할 수 있는지 확인한다. 이번 포스팅에선 CNN 모델을 활용한다. 1. 저장한 모델 불러오기 load_model이라는 모듈을 활용하면 저장한 모델을 불러올 수 있습니다. 2. 테스트용 이미지 불러오기 모델 적용에 앞서 numpy를 활용하여 배열로 변환해야 한다. 단 모델 학습 시 적용한 이미지의 크기와 동일하게 설정해야 오류가 발생하지 않는다. > 위의 이미지를 모델이 읽고, 이에 대한 예측 결과를 받아볼 예정이다. 3. 예측 결과 확인하기 이렇게 모델 학습부터 활용까지 포스팅을 모두 마쳤다. 아직 보완해야 할 부분이 많고, 모르는 부분도 많다. 지속적으로 AI 분야에

2023년 2월 9일
·
0개의 댓글
·
post-thumbnail

CNN, ResNet, VGG16을 활용한 손가락 이미지 데이터셋 분류(3)

이번에는 VGG16 모델을 활용한 이미지 분류 학습에 대하여 알아보자. VGG16이란? 이미지 분류에 있어 가장 간단하고 널리 활용되는 방법이다. Convolutional Layer의 일부를 동결하고 부분 재학습을 통해 모델을 활용할 수 있다. 이번 모델 학습의 경우엔 block 5를 제외하고 동결한다. 1. VGG16 모델 업로드하기 2. 모델 제작하기 설정한 VGG16 모델에 Dense layer를 추가하여 학습에 활용할 모델 제작을 진행한다. 3. 모델 학습하기 4. 학습

2023년 2월 9일
·
0개의 댓글
·
post-thumbnail

CNN, ResNet, VGG16을 활용한 손가락 이미지 데이터셋 분류(2)

기존에는 CNN을 활용한 이미지 분류를 진행하였다면, 이번에는 전이학습을 통한 미세 조정 과정을 거친 모델 학습을 진행한다. Keras가 제공하는 여러 모델들 중 이미지 분류에 가장 많이 활용되는 것은 ResNet, VGG16 모델이다. 우선 ResNet 모델에 대하여 알아보자. ResNet 모델이란? >VGG 모델을 뼈대로 활용하여 더 깊은 신경망을 확보하는 방식의 모델이다. 사전 훈련된 ResNet이란 모델을 업로드하고, 여기에 Dense 층을 추가하여 모델을 변형하는 방식이다. 1. ResNet 모델 업로드하기 > 이미지 증강까지의 과정은 CNN 모델 학습 과정과 동일하다 includetop을 False로 설정하면 이미지의 크기와 상관없이 이미 만들어진 레이어가 RN502라는

2023년 2월 9일
·
0개의 댓글
·

CNN, ResNet, VGG16을 활용한 손가락 이미지 데이터셋 분류(1)

과거 졸업작품 발표 시 제작한 CNN 다중 클래스 이미지 분류 모델을 언젠가 한 번 제대로 각 잡고 수정해야겠다는 생각이 있었다. 미루고 미루다가 드디어! 수정 작업을 시작하였다. 기능에는 큰 문제가 없었으나 클린 코드와 지나치게 동떨어진 느낌이 있어 이를 수정하고, 과거 google colab 환경에서 모델을 제작하였는데 이번에는 jupyter notebook에서 진행하였다. 우선 CNN을 활용한 이미지 분류 과정이다. 0. 필요한 라이브러리 호출하기 1. 이미지가 저장되어 있는 경로 탐색 2. 이미지 데이터셋 총 개수 및 label 종류 수 확인 3. 이미지 데이터 확인하기 ![](https://velog.velcdn.com/images/ninefalse/p

2023년 2월 8일
·
0개의 댓글
·
post-thumbnail

CS231n Lecture 9

이번 시간에는 CNN의 대표적인 모델들을 배워보았다. CNN모델의 시작은 LeNet이고 최초로 Convolution 연산을 적용한 모델이다. 이후 ImageNet대회에서 2012년 오차율을 굉장히 줄인 AlexNet은 잠잠했던 CNN연산을 사용해 성공적인 결과를 냈다. AlexNet 2012년에 도입된 AlexNet는 최초의 Large scale CNN 모델이다. 기본구조는 Convolution layer, Max Pooling Layer, Normaliztion이 2번 반복된 다음, 3번의 Convolution layer, 1번의 MaxPooling을 거친 후, 3번의 Fully Connected Layer가 나온다. 당시 당시 GPU 메모리가 32GB 한계로 모델을 두 파트로 나누어 계산했다.

2023년 2월 7일
·
0개의 댓글
·