[컴퓨터 비전] VGGNet & ResNet
CNN Architectures 아래 그림은 연도별 ImageNet Large Scale Visual Recognition Challenge (ILSVRC) 대회의 우승 모델의 에러율과 layer 깊이를 나타낸다. ResNet을 기점으로 신경망의 layer가 매우 깊어진 것을 볼 수 있다. VGGNet VGGNet의 아키텍처는 아래와 같다....
CNN Architectures 아래 그림은 연도별 ImageNet Large Scale Visual Recognition Challenge (ILSVRC) 대회의 우승 모델의 에러율과 layer 깊이를 나타낸다. ResNet을 기점으로 신경망의 layer가 매우 깊어진 것을 볼 수 있다. VGGNet VGGNet의 아키텍처는 아래와 같다....
전이 학습 (Transfer Learning) 전이 학습은 이미 학습된 모델의 지식을 이용해 새로운 문제에 활용하는 기법을 의미한다. 처음부터 모든 걸 학습하지 않기 때문에 빠르고 효율적인 학습이 가능하다. 먼저 ImageNet에 대해 학습된 모델을 가져온다. Feature Extractor로 사용 (2번 case) 사전 학습된 모델의 앞...
데이터 증강 (Data Augmentation) 데이터 세트의 크기를 증가시키는 것으로, 오버피팅을 방지할 수 있다. 출처: Stanford CS231n, Lecture 6 (CNN Architectures) 데이터를 증강하는 방법에는 여러 가지가 있다. Horizontal Flips 이미지를 수평으로 뒤집는 방법이다. 출처: Stanf...
CNN에서의 Normalization 출처: Stanford CS231n, Lecture 5 (Image Classification with CNNs) 보통 normalization을 설명할 때 위의 그림을 자주 사용한다. 하지만 아래의 그림이 이해하기에는 더 쉬운 것 같다. 설명하기 전, 채널 크기를 $C$, 세로와 가로의 크기를 $H$와 ...
Standard Convolution 컨볼루션은 필터 (또는 커널이라고도 부름)와 입력 이미지의 일부분을 내적해서 하나의 스칼라를 출력하는 연산이다. 즉, 출력되는 값은 이미지의 특정 부분이 필터와 얼마나 일치하는지를 나타내는 값으로 볼 수 있다. [출처] 컨볼루션 연산이 진행되는 방식은 아래와 같다. [출처] 기본 컨볼루션의 연산량은 ...
기존 선형 분류기는 이미지 공간 구조를 파괴한다는 문제점이 있다. 따라서 이미지에 대한 신경망 구조를 설계할 때 2차원 구조를 고려하면서도, 단순히 layer를 쌓는게 아니라 계산 그래프 (computation graph) 입장에서 연산이 효율적이고 역전파가 잘 되도록 설계해야한다. 이를 해결하기 위해 등장한 것이 CNN이다. CNN (Convol...
📄 관련 논문: [arXiv 2021] RoFormer: Enhanced Transformer with Rotary Position Embedding 트랜스포머의 Attention과 Feed-Forward 블록은 모두 순서 개념이 없는 내적 연산으로 구성되어 있다. 따라서 모델이 입력 토큰의 위치 정보를 스스로 인식할 수 없게 되어, 단어의 순서를...
📄 관련 논문: [ICLR 2021] An Image is Worth 16X16 Words: Transformers for Image Recognition at Scale Overview 비전 트랜스포머 (ViT)는 이미지 분류 문제를 해결하기 위해 고안된 모델이다. 분류는 클래스를 예측하는 비생성적 문제이기 때문에 생성 과정이 필요하지 않다. ...
가중치 초기화 (Weight Initialization) 가중치를 초기화하는 여러 가지 시도가 있었다. Small random numbers 가중치를 랜덤한 작은 값들로 초기화하는 방법이 있다. # 4096개 뉴런을 가진 레이어 7개 (입력 + 은닉6) dims = [4096] * 7 hs = [] # 가우시안 분포를 따르는 초기 입력 데이...
Normalization은 학습 속도와 안정성을 향상시키기 위해 데이터의 분포를 안정화하는 기법으로, 사용되는 위치에 따라 목적이 다르다. 데이터 전처리 단계에서의 Normalization 모델 입력이 안정적 분포를 가지도록 하여 초기 학습이 더 잘 되도록 한다. Standardization (표준화), Min-Max Scaling 등의 기법이 ...