Notice
Recent Posts
Recent Comments
Link
12-20 12:41
«   2024/12   »
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
Archives
Today
Total
관리 메뉴

AI 전문가가 되고싶은 사람

(공부용) VERY DEEP CONVOLUTIONAL NETWORKSFOR LARGE-SCALE IMAGE RECOGNITION 본문

논문

(공부용) VERY DEEP CONVOLUTIONAL NETWORKSFOR LARGE-SCALE IMAGE RECOGNITION

Kimseungwoo0407 2024. 9. 7. 17:34

단순하지만 효과적인 방법으로 이미지 분류 문제에서 높은 성능을 달성하였고, 다양한 분야에서 활용되고 있는 VGG에 대해서 공부해보겠습니다.


서론

최근 몇 년 동안, 컨볼루션 신경망(ConvNet)은 이미지 및 비디오 인식에서 탁월한 성과를 거두었다. 이러한 성과는 대규모 데이터셋과 고성능 컴퓨팅의 발전 덕분에 가능했다. 특히 이미지넷 대회(ILSVRC)는 대규모 이미지 분류 시스템을 시험하는 중요한 플랫폼으로 자리 잡았으며, 초기에는 고차원 얕은 특징 인코딩을 사용하는 얕은 신경망 구조가 사용되었다.

그러나 2012년부터 깊은 ConvNet이 도입되면서 성능이 급격히 향상되었고, 깊은 네트워크는 더 많은 계층을 통해 데이터를 처리함으로써 더 복잡한 패턴을 학습할 수 있습니다. 이 논문은 ConvNet의 깊이가 성능에 미치는 영향을 분석하며, 네트워크의 깊이를 늘릴수록 이미지 분류 정확도가 높아진다고 주장하고있다.

이러한 발전은 네트워크가 더 복잡하고 세밀한 특징을 학습할 수 있게 하여, 이미지 인식에서의 성능을 크게 개선시킬 수 있음을 보여준다.


VGGNET

VGGNet은 2014년 ILSVRC 대회에서 큰 주목을 받았던 네트워크로, 특히 이미지 분류 작업에서 뛰어난 성능을 보여줬다.

 이 네트워크는 옥스퍼드 대학교의 Visual Geometry Group에서 개발한 것으로, 깊이가 깊은 신경망 구조를 탐구하며 성능을 극대화하는 것이 주요 목표였다. VGGNet은 VGG-11부터 VGG-19까지 다양한 변형 네트워크를 실험하며, 네트워크의 깊이가 성능에 미치는 영향을 분석했고, 왜 VGG-16과 VGG-19가 주목받는 지도 알아보자.

VGG-11은 간단한 구조임에도 불구하고 10.4% 오류율을 기록하였고, VGG-13은 VGG-11보다 더 깊은 네트워크로, 오류율을 9.9%까지 낮추었다. 이는 네트워크의 깊이가 성능을 향상시키는 데 기여한다는 것을 말해주는 결과이다.

VGG-16은 VGGNet에서 가장 널리 알려진 변형 중 하나로 8.8% 오류율을 기록했으며, 1x1 conv 레이어가 중요한 역할을 했다. 이 기술이 이후 GoogLeNet 및 ResNet과 같은 네트워크에서도 사용되었고, 이러한 최신 연구들의 토대가 되어 지금도 많이 사용되고 있다.

VGG-19는 VGGNet에서 가장 깊은 모델로 19개의 계층을 가지고있다. 그러나 9.0%의 오류율을 기록하며 VGG-16에 비해 성능이 개선되지 않았고, 이는 네트워크에 레이어를 무작정 추가한다고 해서 성능이 개선되는 것은 아니라는 교훈을 주었다.

결국, VGG-16과 VGG-19는 딥러닝 모델의 깊이와 성능을 효율적으로 조정한 대표적인 사례로, 현재까지도 많은 연구에서 중요한 모델로 사용되고 있다.


3x3 필터의 이점

더 많은 비선형성:
3x3 필터를 여러 층 쌓으면 각 레이어에서 ReLU 비선형성이 추가되어 더 복잡한 패턴을 학습할 수 있다. 이는 단일 7x7 필터보다 네트워크가 더 정교한 결정 함수를 학습할 수 있음을 의미한다.

매개변수 감소:
3개의 3x3 필터를 사용하는 경우, 매개변수 수가 단일 7x7 필터보다 훨씬 적다. 예를 들어, 3x3 필터 3개는 27개의 가중치를 필요로 하지만, 7x7 필터는 49개의 가중치를 필요로 한다. 따라서 VGGNet은 45% 더 적은 매개변수로 동일한 수용 필드를 커버할 수 있다. ( 7x7 필터 1개 레이어 = 7x7 = 49, 3x3 필터 3개 레이어 = 3x3x3 = 27)

 


 

다중 스케일 훈련

이미지 내에서 객체의 크기가 다르기 때문에 동일한 크기에서만 네트워크를 훈련하면 다른 크기의 객체에 대한 감지를 놓치거나 잘못된 분류를 할 수 있어 다중 크기 훈련을 제안하였다.

단일 스케일 학습의 경우 이미지는 256 또는 384 크기로 스케일링한 후, 이를 224x224 크기로 자른다. 이렇게 하면 네트워크가 고정된 크기의 이미지만 학습하게 된다. 

다중 스케일 학습의 경우 이미지가 다양한 크기의 범위에서 스케일링된다. 이미지가 256에서 512 사이의 크기로 무작위로 스케일링된 후, 224x224 크기로 잘려 네트워크에 입력된다. 이 과정을 통해 다양한 크기의 객체를 학습하고 더 잘 인식할 수 있게 된다. 이 실험으로 오류율이 크게 개선되었다.

다중 스케일 학습을 할 경우 오류율이 준 것을 알 수 있다.

VGG-13(표에서 C) : 9.4/9.3 -> 8.8%

VGG-16(D) : 8.8/8.7 -> 8.1%

VGG-19(E) : 9.0/8.7 -> 8.0%


 

다중 스케일 테스트

다중 스케일 학습과 유사하게, 테스트 시에도 이미지 크기를 다르게 조정해서 오류율을 줄일 수 있는 방법이다. 테스트 이미지에서 객체의 크기를 정확히 알 수 없기에 여러 크기로 이미지를 스케일링하여 올바른 분류 가능성을 높이려는 전략이다.

다중 스케일 학습과 테스트를 모두 사용한 경우

VGG-13 : 9.2%/9.2% -> 8.2%

VGG-16 : 8.6%/8.6% -> 7.5%

VGG-19 : 8.7%/8.6%-> 7.5%


Dense testing

AlexNet : 이미지의 네 모서리와 중앙 부분을 잘라내고, 그 잘라낸 이미지들과 이들의 좌우 반전된 버전을 사용하여 총 10번 테스트 수행 후 결과로 나온 확률 벡터들을 더하거나 평균을 내서 최종 결과 도출

VGGNet : 첫 번째 완전 연결 층은 7x7 크기의 컨볼루션 레이어로 교체되고, 두 번째와 세 번째 FC 층은 1x1 컨볼루션 레이어로 교체된다. 즉 모든 FC 층이 컨볼루션 레이어로 대체된다.

VGGNet

테스트 시 이미지를 직접 VGGNet에 통과시키면, 클래스 스코어 맵이 생성된다. 이 스코어 맵은 고정 크기 벡터로 공간적으로 평균화되어 결과가 도출된다.

평균적으로 dense와 multi-crop를 둘 다 사용한 결과가 VGG-16과 VGG-19에서 각각 7.2%와 7.1%의 오류율을 보였다.


결론

VGGNet은 모델의 깊이가 성능에 얼마나 큰 영향을 주는지를 보여줬으며, 단순한 구조를 여러 층으로 길게 쌓아, 높은 성능을 달성할 수 있었습니다. 또한 작은 사이즈 필터를 사용하여 큰 필터와 같은 효과를 내고 연산량을 줄일 수 있음을 보여주었습니다.


참고자료

https://medium.com/@saba99/multi-scale-feature-2e62e8b9e868

 

Multi-Scale Feature

What does the Multi-Scale Feature mean in computer vision?

medium.com

https://medium.com/coinmonks/paper-review-of-vggnet-1st-runner-up-of-ilsvlc-2014-image-classification-d02355543a11

 

Review: VGGNet — 1st Runner-Up (Image Classification), Winner (Localization) in ILSVRC 2014

In this story, VGGNet [1] is reviewed. VGGNet is invented by VGG (Visual Geometry Group) from University of Oxford, Though VGGNet is the…

medium.com

https://ffighting.net/deep-learning-paper-review/vision-model/vggnet/

 

VGGNet - 딥러닝 논문 리뷰

VGGNet 논문의 핵심 내용을 리뷰합니다. 먼저 기존 방법의 문제점을 살펴봅니다. 이어서 이를 해결하기 위한 VGGNet의 제안 방법을 살펴봅니다. 마지막으로 성능 비교 실험을 통해 VGGNet의 효과를 확

ffighting.net