일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- cnn
- Generative
- RNN
- ResNet
- Gated Skip Connection
- virtualenv
- sigmoid
- jupyter
- vim-plug
- Regression
- python
- Bottleneck Layer
- DCGAN
- Inception Module
- Inception V1
- version
- Manager
- classification
- Residual Connection
- Skip Connectioin
- GoogLeNet
- DL
- GCN
- Optimizer
- Linear
- Skip Connection
- Vanilla RNN
- AI
- Peephole Connection
- iTerm2
- Today
- Total
목록cnn (8)
IT Repository

ResNet (2015)¶ ResNet은 2015년도 ILSVRC 에서 우승을 차지한 모델입니다. 총 152개의 레이어를 가진 Ultra-deep한 네트워크입니다. Difficulty of Training Deep CNN¶ 2014년도에 CNN의 Depth와 Structure을 폭발적으로 발전시킨 이후에 많은 사람들이 Deep CNN에 대한 연구를 시작했습니다. 그러나 우리가 알고 있는 사실과 정반대의 현상들이 관찰되기 시작되었습니다. 아래의 그래프를 먼저 보겠습니다. 위 그래프는 ResNet을 발표한 논문에서 저자가 이 문제를 설명하기 위한 그래프입니다. 이를 보면 더 Deep한 Network가 오히려 더 Shallow한 Network보다 낮은 성능을 기록하는 문제를 확인할 수 있습니다. 생각을 해보면..
GoogLeNet (2014)¶ VGGNet에서 언급하였듯이 GoogLeNet은 2014년도 ILSVRC의 우승 모델입니다. Inception V1이라고 불리며 한번쯤은 들어보았을 만한 Inception V2, V3 시리즈의 초기 버젼입니다. 22개의 레이어를 사용하였으며 GoogLeNet을 시작으로 단순한 CNN 구조에서 좀 더 복잡한 구조의 CNN 모델이 탄생했습니다. 먼저 GoogLeNet의 구조를 가볍게 구경해보겠습니다. 이렇게 복잡하고 깊은 층으로 네트워크를 구성하면 우리가 학습하였듯이 파라미터 수의 증가로 인한 Overfitting과 연산량의 문제가 발생할 수 있습니다. 하지만 GoogLeNet은 놀랍게도 AlexNet 보다도 적은 파라미터의 수와 적은 연산량을 보입니다. (아래 사진 참고) ..
VGGNet (2014)¶ 2014년도 ILSVRC 에서 근소한 차이로 2위를 차지한 모델입니다. 그 해에 1위를 차지한 모델은 이후 설명할 GoogLeNet 입니다. 그러나 GoogLeNet에 비해 훨씬 더 간단한 구조로써 이해가 쉽고 변형하기에 용이하기 때문에 실제로 많은 논문과 실험에서 GoogLeNet 보다 더 많이 사용되는 모델이었습니다. 16~19개의 레이어를 사용하고 16개를 사용한 모델을 VGG16, 19개를 VGG19로 명명했습니다. VGGNet의 특징은 작은 필터로 더 깊은 네트워크를 구성하는 것입니다. Small filters, Deeper networks¶ 동일한 Receptive Field를 가지는 두 개의 뉴런이 있다고 가정합니다. (1) 9x9 filter 1개를 통과한 뉴런의..
Advanced Techniques for CNN¶ 지금까지 기본적인 CNN의 구조와 연산, 그리고 층의 의미를 학습했습니다. 이제부터는 CNN의 좀더 발전된 테크닉들을 유명한 모델들의 Case Study를 통해 알아보겠습니다. AlexNet (2012)¶ AlexNet은 2012년도 ILSVRC (ImageNet Large Scale Visual Recognition Challenge)에서 우승한 Image Classifying Model 입니다. 이 모델의 구조는 아래에서 보시다시피 8개의 레이어를 사용한 크게 복잡하지 않은 단순한 구조입니다. 그러나 이 모델이 갖는 의미는 최초로 CNN 베이스의 우승 모델이라는 것입니다. AlexNet을 시작으로 하여 각종 이미지 태스킹에서 CNN은 폭발적으로 사용..
Convolutional Layer¶ 이제 Convolution Layer를 알아보면서 기존의 FC Layer와 어떤 점이 다른지를 확인해보려고 합니다. (1) 이미 설명했듯이 FC 레이어는 이미지를 다루기 위해서 이미지 행렬을 한 줄로 쭉 펴는 작업(Flatten)이 필요합니다. 이렇게 되면 이미지에서는 분명히 붙어있는 픽셀인데 Flatten한 행렬에서는 서로 떨어져버립니다. 즉, 이미지의 공간적인 구조(Spatial structure)가 무시되어 버립니다. (2) 반면에 이를 Convolutional 레이어는 Convolutional 연산을 사용합니다. 따라서 필터를 슬라이드함으로써 주위 픽셀들을 계산하면서 이미지의 공간적인 구조를 보존하게 됩니다. Conv 연산을 하면 필터의 크기와, Stride,..
Convolutional Operation¶ Convolutional Layer를 소개하기 전에 이 레이어에 Convolution 이라는 이름이 붙게 된 이유인 Convolution 연산에 대해서 알아봅시다. 아래는 Convolution 연산을 설명하기 위한 사진입니다. Convolution 연산은 기본적으로 어떠한 필터 행렬을 슬라이드 시키는 방식으로 작동합니다. 필터를 슬라이드 시켰을 때 겹치는 부분에 대해서 (1) Element-wise product를 하고, (2) 모두 더합니다. 참고. Element-wise product: 행렬의 원소끼리 곱하는 것 Dot product: 일반적인 행렬간의 곱 연산 아래 코드 블럭은 위 사진의 빨간 박스 부분의 연산을 구현한 것으로써, 실제로 계산해보면서 이 ..
Problems of FC¶ 아래는 우리가 여태껏 보아왔던 MLP 구조에 대한 사진입니다. 여기서 주목할 것은 각 레이어의 node가 일렬로 펴진 채로 이전 층의 모든 node와 연결되어 구성되어 있다는 점입니다. 이러한 층을 FC 레이어(Fully Connected Layer)라고 합니다. 참고. tensorflow.keras.layers.Dense(), torch.nn.Linear() 가 바로 FC층 입니다. 이러한 FC 레이어는 몇가지 문제점을 가지고 있습니다. (1) 파라미터가 너무 많아서 훈련 시간이 너무 오래 걸릴뿐만 아니라 과대적합이 일어나기 쉽습니다. 위의 사진만 보아도 히든 레이어가 2개이고 그 유닛 수가 크지 않음에도 불구하고 수많은 Weight들이 생겨버립니다. (2) 또한 이미지를 ..
이 카테고리에서는 CNN, Convolutional Neural Network에 대한 내용을 다룹니다. - Basic of CNN (2020/1/14) - AlexNet (2020/1/14) - VGGNet (Small Filters with Deeper Networks) (2020/1/14) - GoogLeNet (Inception Module & BottleNeck Layer) (2020/1/14) - ResNet (Residual Connection) (2020/1/14) - GCN (Graph Convolutional Network) (2020/1/17) - Image Segmentation - Dilated Conv Net - How to Deal with Imbalanced Classifica..