VGGnet
- 논문 링크 : https://arxiv.org/pdf/1409.1556.pdf
- 2014 ILSVRC에서 GoogleNet에 밀려 2등한 network이지만 구조적 단순함 때문에 이해하기 쉽고 구조 변형이 쉬워 많이 사용되어진다.
- GoogleNet, VGGnet 이전의 depth는 8layers 수준에서 머물렀다면 GoogleNet, VGGnet 이후 크게 깊어졌다.
- 깊이(Network depth)의 경우 깊어지면 깊어질 수록 복잡한 문제를 해결할 수 있다는 장점이 있지만, 어느 이상 증가하게 되면 성능효과가 미비해지는 문제와 파라미터의 증가(학습시간의 증가), Vanishing / Exploding Gradient 문제가 발생하게 된다.
VGGNet 논문의 목적 ? 망의 깊이가 결과에 어떤 영향을 미치는가?
오로지 3 * 3 filter를 stack으로 쌓아 receptive filed를 넓혀 효율적으로 깊게(more deeper)만들면 좋은 결과를 얻을 수 있다. (receptive filter 설명은 밑에)
3*3 filter을 사용하여 6개의 깊이의 network를 구성하였다.
- 테스트 결과 1 : 깊이가 깊어질 수록 error율 감소
(19 깊이 이상에서는 error율이 더이상 감소하지 않았지만, 다른 데이터에서는 유용할 수도 있다.) - 테스트 결과 2 : Single scale보다 multiple scale 에러율이 더 낮게 나왔다.
- 테스트 결과 3 : multi-crop의 성능이 dense보다 성능이 약간 더 좋으며, 두 개를 동시에 쓰면 더 좋은 성능을 보인다.
Receprive filed
- Filter 3 * 3를 여러개 Stack으로 여러 쌓게 되면 receptive filed를 늘릴 수 있다.
- 예를들어 3 * 3 Filter을 stride 1로 2 stack 쌓게된다면 receptive filed 5 * 5가 된다.
- 논문의 B구조에서 테스트 결과, 3*3의 2 stacks 구조가 5*5의 1 stacks 구조보다 top-1 error에서 약 7프로의 좋은 성능을 보였다.
- 장점 1 : receptive filed가 증가하게 된다면, parameter 필요 수의 감소로 학습속도를 높일 수 있다.
(5*5 필터를 사용하게 되면 25개, 3*3 필터 2 stack을 하게 되면 18개의 parameter가 필요하다.) - 장점 2 : 단순한 방식을 이용하여 network를 깊게 만들어 error율을 낮출 수 있다.
'IT > 영상 처리' 카테고리의 다른 글
[논문 분석] SRGAN(Super-Resolution Using a Generative Adversarial Network) 논문 분석 및 테스트 (0) | 2018.11.25 |
---|---|
[Python_OpenCV] Crop (0) | 2018.09.18 |
[Python_OpenCV] 모폴로지 연산 (morphology) (0) | 2018.09.08 |
[Python_OpenCV] Gaussian, Bilateral, Median flter (0) | 2018.09.06 |
[Python_OpenCV] 지정경로에서 이미지 파일 읽어오기 (0) | 2018.08.08 |