BAM: Bottleneck Attention Module 리뷰
·
DeepLearning/Classification
Abstract본 논문에서는 Deep neural network에서 Attention의 효과에 중점을 둔다.모든 feed forward convolution 신경망과 통합할 수 있는 BAM(Bottleneck Attention Module)을 제시.BAM은 channel과 spatial 두 가지 별도의 경로를 따라 Attention map을 추론.BAM은 feature map의 다운샘플링이 발생하는 모델의 각 병목 지점(bottleneck)에 배치.end-to-end 방식으로 학습할 수 있다.  Introduction딥러닝은 분류, 감지, 분할 및 제어 문제를 포함한 일련의 패턴 인식을 위한 강력한 도구였다.optimizer 설계, 적대적 훈련 방식, 탐지를 위한 2단계 아키텍처등과 같은 작업별로 다양한..
[Classification] ResNet
·
DeepLearning/Classification
ResNet 2015년 ILSVRC에서 우승, MS 개발. 2014년 GooLeNet이 22개 층인데 반면 ResNet은 152개 층. (층수가 깊어졌다) 깊게 하면 무조건 성능이 좋은가? -> 아니다! Gradient Vanishing/Exploding 파라미터 개수가 너무 많아지는 문제 발생 Residual Block 기존 일반적인 CNN은 입력 데이터(x)를 타겟값(y)으로 mapping 하는 함수 H(x)를 찾는 것이 목표이다. H(x) = ReLU ( w2 * ( ReLU ( w1 * x ) ) ) (w는 가중치) 이때, H(x)와 y의 차이를 최소화하는 방향으로 학습하게 된다. ResNet은 기존 CNN과 달리 입력값을 출력 값에 더하는 지름길(shortcut or skip-connection..
[Classification] VGGNet
·
DeepLearning/Classification
VGGNet VGGNet 연구팀은 망의 깊이가 깊을 수록 model의 성능에 어떤 영향을 끼치는지 연구. 5x5 Conv를 한번 하는것 보다, 3x3 Conv를 두번 하는것이 망의 깊이가 깊어지고, parameter 수도 적어짐. VGGNet은 모든 Convolution filter size를 3x3으로 고정해서 사용. Pytorch Code import torch import torch.nn as nn def CBR2d(in_channels, out_channels, _kernal_size, _stride, _padding): return nn.Sequential( nn.Conv2d(in_channels, out_channels, kernel_size=_kernal_size, stride=_stride..
[Classification] AlexNet
·
DeepLearning/Classification
AlexNet 기본 구조 AlexNet은 5개의 Convolution layer와 3개의 fully connected layer로 구성 되어있다. 입력 영상의 크기로 227x227x3을 사용. (3은 RGB) 성능 개선을 위해 ReLU, DropOut layer를 활용. Pytorch Code import torch import torch.nn as nn def CBR2d(in_channels, out_channels, _kernal_size, _stride, _padding): return nn.Sequential( nn.Conv2d(in_channels, out_channels, kernel_size=_kernal_size, stride=_stride, padding=_padding), nn.Batc..
CNN, Convolutional Neural Network, 합성곱 신경망
·
DeepLearning/Concept
CNN? CNN이란, Convolutional Neural Network의 약자로 Convolution 즉 합성곱을 이용하는 Neural Network이다. Convolution, 합성곱? 합성곱은 Image에 Filter(kernal)을 적용시킬 때 사용하는 연산 방법(?)으로 Image에 필터를 이동시키면서 Output(feature, 특징)을 뽑아낸다. (보통 이미지에 Blur 적용, Edge 검출 등에 활용된다.) 왜 Convolution을 사용하는가? CNN 이전 DNN(Fully Connected Layer만으로 구성된 인공신경망)에서 입력 데이터는 1차원 배열 형태로 한정된다. 때문에 이미지를 입력 데이터로 사용했을 때 위치 정보가 손실된다. CNN에서는 Convolition layer를 사..
woongs_93
'classification' 태그의 글 목록