Visualizing and Understanding Convolutional Networks(2013) 0. Abstract AlexNet 이후 `Large Convolutional Network` 모델들이 ImageNet bechmark에서 인상적인 classification 성능을 보임 그러나 왜 성능이 좋은지, 어떻게 성능을 개선시켰는지에 대해선 명확하게 이해하지 못함 본 논문에선 Large Convolutional Network의 중간에 있는 feature layers의 기능과 classifier의 작동 과정을 확인하는 새로운 시각화 기법을 제안 해당 visualization 기술이 diagnostic role을 수행하여 AlexNet보다 ImageNet benchmark에서 더 우수한 성능을 ..
ImageNet Classification with Deep Convolutional Neural Networks 0. Abstract ImageNet LSVRC-2010에서 1.2m개의 고해상도 이미지에 대해 1000개의 클래스로 분류하기 위해 large, deep convolutional neural network를 학습 test data에서 이전 SOTA 모델보다 좋은 top-1과 top-5 error rates에서 37.5%와 17.0%를 기록 `AlexNet`에는 약 6,000만개의 파라미터와 65만 개의 neurons가 5개의 convolutional layers로 구성 이에 더해 max-pooling layers와 1000-way softmax로 구성된 3개의 fully-connected l..
An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale(ViT)(ICLR 2021) Abstract `Transformer` 구조가 NLP task에서 사실상 기준이 되는 동안 Computer Vision에서의 응용은 제한적 Vison에서 `Attention`은 Convolutional networks와 함께 적용하거나 전체 구조를 그대로 유지하면서 Convolution Network의 특정 구성 요소를 대체하는 데 사용 CNN에 의존할 필요가 없으며 Image patches의 sequences에 직접 적용된 pure transformer가 Image classification task에서 매우 우수한 성능을 보임 대량의 데이..
`이미지 분류(classification)`는 특정 대상이 영상 내에 존재하는지 여부를 판단하는 것이다. 이미지 분류에서 주로 사용되는 합성곱 신경망의 유형은 다양하다. LeNet-5 `LeNet-5`는 합성곱 신경망이라는 개념을 최초로 개발한 구조로, 현재 CNN의 초석이 되었다. LeNet-5는 `합성곱(convolutional)`과 `다운 샘플링(sub-sampling)`(혹은 풀링)을 반복적으로 거치면서 마지막에 완전연결층에서 분류를 수행한다. LeNet-5의 신경망 구조는 다음과 같다. (32 x 32 x 1) 크기의 이미지에 합성곱층과 최대 풀링층이 쌍으로 두 번 적용된 후 완전연결층을 거쳐 이미지가 분류되는 신경망이다. 이러한 신경망 구조를 파이토치를 통해 구현하면 다음과 같다. 입력 이미지..
합성곱 신경망 합성곱층의 필요성 합성곱 신경망은 이미지 전체를 한 번에 계산하는 것이 아닌 이미지의 국소적 부분을 계산함으로써 시간과 자원을 절약하여 이미지의 세밀한 부분까지 분석할 수 있는 신경망이다. 만약 (3 x 3) 배열을 펼쳐서(flattening) 각 픽셀에 가중치를 곱하여 은닉층에 전달하는 경우 데이터의 공간적 구조를 무시하게 된다. 이것을 방지하기 위해 도입된 것이 합성곱층이다. 합성곱 신경망의 구조 합성곱 신경망은 합성곱층과 풀링층을 거치면서 입력 이미지의 주요 `특성 벡터(feature vector)`를 추출한다. 이후 추출된 주요 특성 벡터들은 완전연결층을 거쳐 1차원 벡터로 변환되며, 마지막으로 출력층에서 활성화 함수인 `softmax` 함수를 사용하여 최종 결과가 출력된다. 입력층..
LeNet-5 얀 르쿤은 1998년 우편물에 필기체로 쓰인 우편변호를 인식하는 최초의 컨벌루션 신경망인 `LeNet-5`를 선보였다. 모델 구조 LeNet-5는 컨벌루션 계층과 풀링 계층을 2번 반복한 뒤 완전 연결 3계층으로 연결되는 구조이다. 컨벌루션 계층과 풀링 계층은 생체 신경망의 시각 영역을, 완전 연결 계층은 연관 영역을 모델링했다. 입력 데이터는 (32 x 32 x 1) 이미지 컨벌루션 계층은 (5 x 5) 필터(stride=1) 활성 함수는 시그모이드 혹은 하이퍼볼릭 탄젠트 풀링 계층은 (2 x 2) 필터(stride=2)로 평균 풀링을 통해 액티베이션 맵의 크기를 절반으로 감소 완전 연결 계층은 액티베이션 맵과 같은 크기의 (5 x 5 x 16) 컨벌루션 필터 120개로 크기가 120인 ..
시각 패턴 인식을 위한 신경망 모델 순방향 신경망으로 MNIST 필기체 숫자를 인식하려면 28x28 이미지를 784 크기의 1차원 벡터로 변환해서 모델에 입력해야 한다. 2차원 이미지를 1차원으로 펼치면 어떤 숫자인지 인식하기 어렵다. 이는 공간 데이터를 1차원으로 변환하는 순간 형상 정보가 분산되기 때문에 정확한 패턴을 인식하기 어려운 것이다. 또한 이미지와 같은 고차원 데이터는 차원별로 크기가 조금씩만 커져도 전체 데이터 크기가 기하급수적으로 증가한다. 입력 데이터가 커질수록 더 많은 특징을 포함하기 때문에 그에 따라 모델의 파라미터 수가 급격히 증가한다. 따라서 순방향 신경망은 이미지 데이터를 처리하기에 효율적이지 않다. CNN의 구조 현대의 CNN도 최초의 CNN 모델인 `LeNet-5`와 같이 ..
Paper ImageNet Classification with Deep Convolutional Neural Networks(NIPS 2012) 본 논문의 코드 구현은 깃허브에서 확인 가능합니다. 0. Abstract ImageNet LSVRC-2010 대회에서 120만 개의 고해상도 이미지를 1000개의 다른 이미지로 분류하기 위해 크고 깊은 convolutional neural network를 훈련시켰다. 테스트 데이터에서 이전의 SOTA 모델보다 나은 37.5%, 17.0%의 top-1 error rate와 top-5 error rate를 달성했다. 6천만 개의 파라미터들과 650,000개의 뉴런으로 구성된 neural network는 5개의 convolutional layers로 구성되며, 그 중..
Generative Adversarial Networks Generative Adversarial Networks은 두 개 이상의 신경망이 서로를 향하게 하고, 서로 대항하듯이 훈련하게 함으로써, 결과적으로 생성 모델(generative model)을 산출해낸다. GAN의 이점 데이터가 한정된 상황에서도 일반화(Generalization)를 할 수 있다. 작은 데이터셋을 가지고도 새로운 장면을 생각할 수 있다. 모조 데이터(simulated data)를 더욱 진짜처럼 보이게 할 수 있다. Generative Modeling & Discriminative Modeling 판별 모델링(Discriminative Modeling) 그림을 살펴본 다음에 해당 그림의 style을 정하는 일은 무엇인가를 판단하는 ..
Supervised Learning vs Unsupervised Learning 지도 학습 Supervised Learning에는 대표적으로 Discriminative Model이 있다. 이에는 로지스틱 회귀분석, 뉴럴 네트워크 등이 해당된다. Discriminative Model은 Input이 주어지면 Input이 해당하는 클래스를 맞추기 위해 학습하게 된다. 비지도 학습 Unsupervised Learning에는 대표적으로 Generative Model이 있다. Generative 모델은 Label이 없이 학습하게 되며, 학습 데이터의 분포를 학습하는 것이 목적이다. GAN(Generative Adversarial Network)이란? GAN(Generative Adversarial Network)이..