일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Peephole Connection
- jupyter
- ResNet
- iTerm2
- Manager
- Optimizer
- DL
- classification
- Linear
- AI
- python
- GoogLeNet
- Skip Connectioin
- Generative
- Skip Connection
- Bottleneck Layer
- Vanilla RNN
- DCGAN
- RNN
- Residual Connection
- sigmoid
- vim-plug
- cnn
- version
- GCN
- Inception Module
- virtualenv
- Gated Skip Connection
- Inception V1
- Regression
- Today
- Total
목록CNN (11)
IT Repository
Inception Module¶ CNN에서의 Inception module의 핵심은 다양한 Receptive field를 취한다는 점이었습니다. 이를 GCN에서 적용하면, Receptive field는 결국 얼마만큼 떨어져 있는 노드를 반영할 것인가 라고 할 수 있습니다. 이는 Adjacency matrix를 다시 한번 dot product함으로써 구현할 수 있습니다. 즉, Graph Conv를 하는 횟수만큼 Receptive field가 넓어집니다. 예를 들어 1번 노드에 2, 3번 노드가 연결되어 있다고 가정해봅시다. 첫번째 Graph Conv 레이어에서는 1번 노드는 2, 3번 노드의 상태를 반영할 것입니다. 두번째 Graph Conv 레이어에서도 2, 3번 노드의 상태를 반영하겠죠. 하지만 여기서..
Features of Convolution¶ 구체적인 구조를 설명하기 전에 먼저 Convolution의 특징을 다시 한번 되새겨 생각해보고 넘어가겠습니다. 기존에 사용하던 MLP는 모든 노드들을 펼쳐서 연결하였으므로 파라미터의 수가 너무 많아지는 문제가 있었습니다. 또한 이미지가 1픽셀만 움직이더라도 한 줄로 펼쳐짐으로 인해 정확한 feature의 추출이 어려워지는 문제점이 있었습니다. Convolution을 사용한 레이어는 아래의 세 가지의 특징으로 이를 개선했었죠. Weight sharing 하나의 필터가 이미지 전체를 슬라이드함으로써 Weight를 공유하고 파라미터의 수를 줄임 (less overfitting, low computational cost) Learn local feature 하나의 노..
What is Graph?¶ Graph란 Vertex의 Set과 Edge의 Set으로 구성되어 있는 구조를 말합니다. Vertex는 꼭짓점을 말하며, 하나의 노드입니다. Edge는 선분을 말하며, 각 노드간의 연결을 의미합니다. 예) Social Graph: 나와 다른 사람간의 친밀도, 관계성을 나타내는 그래프 3D Mesh: 입체 구조를 삼각형이 여러 개 연결되어 있는 그래프의 형태로 나타내는 것 Molecular Graph: 화학에서 사용하는 분자 그래프 Types of Graph¶ Direction of Edge Directed graph(유향 그래프) : Edge에 방향이 있어 어느 한 방향 또는 양 방향으로 이동할 수 있는 경우 Undirected graph(비유향 그래프) : Edge에 방향이..
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,..