[ 딥러닝 ]11 [ CNN ] VGGNet / 단순하지만 용이하게! 이미지를 맞히는 알고리즘 대회인 'ILSVRC'에서 2014년에 2위를 한 VGGNet에 대해서 정리해보려고 한다. 2014년에 1등한 알고리즘은 'GoogLeNet'인데, 1등을 한 GoogLeNet 보다도 구성이 간단하여 응용하기 좋아서 많은 사람들이 VGG 기반의 신경망을 즐겨 사용한다. >> 논문 주소 : https://arxiv.org/pdf/1409.1556.pdf 1. 참고 사항 (1) VGGNet16과 VGGNet19 두 종류가 있는데, 숫자는 각각의 레이어 개수에 따른 숫자이다. (2) VGGNet 연구의 핵심은 네트워크의 깊이를 깊게 만드는 것이 성능에 어떤 영향을 미치는지에 관한 것이었기 때문에, convolution 필터 커널 사이즈를 3 x 3으로 고정했다. 필터 크기를 작게 만들.. 2023. 6. 5. 딥러닝의 심층 표현이 중요한 이유 딥러닝은 층을 깊게 한 심층 신경망이다. 딥러닝을 구현하면서 생기는 고민 중 하나인, '어느 정도의 깊이로 층을 구성해야 할까'에 대한 내용을 정리해보려 한다. 1. 매개변수의 개수를 줄일 수 있다. 층을 깊게 만든 신경망은 얕게 만든 신경망보다 적은 매개변수로 같거나 더 높은 수준의 표현력을 가질 수 있다. 예를 들어서 5 x 5 필터 하나로 신경망을 구현한다고 하면, 총 5 x 5 = 25, 25개의 매개변수가 필요하다. 하지만 3 x 3 필터 2개로도 신경망을 구현했을 때, 동일한 출력 데이터의 크기를 만들 수 있다. 이때 필요한 매개변수 개수는 3 x 3 x 2 = 18, 18개이다. 3 x 3 필터 두 개의 연산에서 보면, 중간 데이터의 3 x 3 영역이 입력 데이터의 5 x 5 크기의 영역에서.. 2023. 6. 5. 가중치 감소 (Weight Decay) 오버피팅은 가중치 매개변수 값이 커서 발생하는 경우가 많다. 학습 데이터를 늘리는 것이 가장 좋은 방법이겠지만, 추가로 학습 데이터를 확보하는 것은 매우 어려운 일이다. 따라서 가중치 감소를 통해서 오버피팅을 방지하도록 한다. 1. L2 Norm 가장 많이 사용되는 L2 Norm은 '제곱 Norm 정규화'라고도 불린다. L2 Norm에 대한 가중치 감소를 진행하는 것인데, 값을 줄여야 하는 식은 다음과 같다. 원래의 손실함수 + 가중치 벡터의 크기에 대한 패널티를 주는 요소들 λ 는 정규화의 세기를 조절하는 하이퍼파라미터이다. 이 값이 클 경우에 큰 가중치에 대한 페널티가 커진다. 그럴 수밖에 없는게 λ가 크면 그만큼 더 가중치를 줄여야지만 전체 손실함수 값을 줄일 수 있기 때문이다. 왜 제곱을 할까? .. 2023. 6. 2. 배치 정규화 (Batch Normalization) 정규화 (Normalization)은 일반적으로 0 ~ 255 사이의 값을 0 ~ 1 사이의 값으로 변환해주는 것이다. 정규화의 이점은 다음 그림으로도 파악할 수 있는데, 정규화를 하지 않은 A에서는 local minimum에 빠지기 쉽지만, 정규화를 한 B는 상대적으로 local minimum에 빠질 가능성을 줄일 수 있다. 배치 정규화 (Batch Normalization)는 모델이 학습하기 전에 배치 데이터 값의 범위를 조정하는 것을 말한다. 각 층의 활성화 값이 적당히 퍼뜨려지도록 강제하는 방법이다. 아직 개발된지 얼마 안 된 기술이지만 많이 사용되고 있다. 1. 배치 정규화 효과 (1) 학습 속도 가속화 배치 정규화를 적용하면 학습이 빨리 진행되도록 하는 효과가 있는데, 그 이유는 다음과 같다... 2023. 5. 31. 이전 1 2 3 다음