Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 분포 가설
- 시소러스
- CBOW
- docker
- py4e
- dl
- Linear algebra
- 선형대수
- 벡터 간 유사도
- GoogLeNet
- f1-score
- Long Short Term Memory
- deep learning
- Multi-Layer Perceptron
- convolution
- 동시발생 행렬
- object detaction
- Python
- Charlse Severance
- pytorch
- Gated Recurrent Unit
- nn.Module
- 파이썬
- 상호 정보량
- 1x1 Convolution
- skip-gram
- pythonForEverybody
- 차원 감소
- excel
- mlops
Archives
- Today
- Total
Tech & TIL
04 - Convolution은 무엇일까? 본문
AI를 공부해본 사람이라면 CNN이란 말을 많이 들어봤을 것이다. CNN이란 Convolutional Neural Network의 약자이고 이미지에 관련된 모델에 최적화된 네트워크이다. 본 글에서는 CNN에 사용되는 연산인 Convolution에 대해 다뤄보자.
위 그림은 크게 2 부분으로 나눌 수 있다.
- Convolution and Pooling layers: feature extraction
- Fully connected layer: decision making(e.g. classification)
Convolution (합성곱)
- 필터를 이미지에 씌워서 모든 값을 곱하고, 더해서 하나의 아웃풋이 나온다.
- 필터에 값을 다르게 주면 다른 feature(특징들)를 추출할 수 있다.
Padding은 왜 사용할까?
- Input의 크기가 줄어드는 것 방지.
- Input의 모든 영역을 골고루 Convolution 하기 위해, padding이 없다면 가장자리 부분은 필터가 한 번밖에 지나지 않는다.
모델의 파라미터 개수 구해보기
224x224x3 이미지가 input으로 들어왔을 때, 11x11x3 (필터의 channel은 인풋과 일치해야 함) 필터로 Convolution 연산을 진행하면 11*11*3*48*2 개의 파라미터, 즉 첫 번째 35k만큼의 파라미터를 요구하게 된다. 조금 더 자세하게 설명하자면
- 11*11*3은 필터가 요구하는 파라미터
- 이어지는 그림의 채널이 48인것을 보면, 11*11*3 필터를 48개 사용했다는 말이기 때문에 48을 곱해줌
- 그게 위, 아래로 두개의 Path가 있어서 2를 마지막에 곱해줌.
1x1 Convolution
왜 사용할까?
- Dimension reduction
- To reduce the number of parameters while increasing the depth
- e.g. bottleneck architecture
'Boostcamp - AI tech > DL Basic' 카테고리의 다른 글
06 - Computer Vision Applications (0) | 2021.08.13 |
---|---|
05 - 1x1 Convolution의 중요성 (0) | 2021.08.12 |
03 - Optimization (0) | 2021.08.10 |
02 - Neural-Network (MLP - Multi-Layer Perceptron) (0) | 2021.08.10 |
01 - Deep Learning Introduction & History (0) | 2021.08.09 |
Comments