본문 바로가기

Convolution4

# 2. Going deeper with convolutions Prerequisite https://dev-ryuon.tistory.com/106?category=1009001 # 1. Network In Network Abstract 본 논문에서는 수용장에서의 로컬 패치에 대한 모델의 분류 성능을 강화하기 위해 "Network In Network"라는 구조를 제안한다. 전통적인 컨볼루션 레이어는 입력을 스캔하기 위한 비선형 활성 dev-ryuon.tistory.com Abstract Google에서 설계한 GoogLeNet은 22개의 레이어로 구성되어 있다. 이 아키텍처의 특징은 네트워크 내부의 컴퓨팅 자원의 활용도를 개선한 것이다. (네트워크의 깊이와 너비를 증가시키면서도 연산량을 유지했다는 점) Introduction GoogLeNet은 AlexNet보다 12.. 2022. 4. 3.
# 1. Network In Network Abstract 본 논문에서는 수용장에서의 로컬 패치에 대한 모델의 분류 성능을 강화하기 위해 "Network In Network"라는 구조를 제안한다. 전통적인 컨볼루션 레이어는 입력을 스캔하기 위한 비선형 활성화 함수가 뒤따르는 선형 필터를 사용한다. 하지만, 수용장(커널)에서의 데이터의 추상화를 위해서 더 복잡한 구조인 micro nerual network를 설계했다. micro neural network는 MLP(multilayer perceptron)이 포함되어 있다. 그리고, 전통적은 FC 레이어 대신에 해석과 오버피팅 방지가 쉬운 GAP(global average pooling)을 활용했다. Introduction CNN에서의 컨볼루션 필터는 GLM(generalized linear mode.. 2022. 3. 28.
# 2. Convolution Neural Network (CNN) - Code 지난 포스트에서는 CNN의 개념에 대해 살펴보았다. 이번 포스트에서는 CNN을 실제로 구현 및 학습하는 코드를 직접 작성해본다. 코드는 Pytorch를 기반으로 작성했다. 1. 필요한 모듈 import import torch import torchvision import torchvision.transforms as transforms 필자는 시각데이터(이미지)를 다룰 것이기 때문에 torchvision 모듈을 택했다. 2. transform 정의 transform = transforms.Compose( [transforms.ToTensor(), transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))] ) 이미지를 텐서형태로, 평균은 0.5, 표준편차도 0.5로.. 2021. 5. 6.
# 1. Convolution Neural Network (CNN) - Theory 이번 포스트에서는 합성곱(Convolution) 연산을 기반으로 이미지에서 특징을 검출하는데에 적합한 신경망인 CNN에 대해 알아본다. 먼저 CNN의 전체적인 구조에 대해 살펴보자. Input으로 이미지가 들어오면 Convolution, Activation function, Pooling 세 가지의 레이어가 반복적으로 나타난다. 이 과정은 이미지로부터 작은 특징들부터 조합하여 점점 큰 특징들을 검출하는 과정이다. 그 후에는 Flatten 과정을 통해 검출한 특징들에 대한 이미지(feature map)를 일렬로 펼치는 작업을 수행한다. 마지막으로 Fully Connected 레이어를 통해 모든 클래스에 대해 일치할 확률을 출력한다. CNN의 구조에 나오는 기본용어에 대해서 간략하게 정리해보자. 그전에, 이.. 2021. 5. 3.