
안녕하십니까? 로카스입니다. 오늘은 딥러닝 시대를 열었다고 평가되는 CNN 논문의 기초인 'Imagenet classification with deep convolutional neural networks' 논문의 리뷰를 하려고 합니다.
ImageNet Classification with Deep Convolutional Neural Networks (neurips.cc)
✅ Abstract
이미지 분류의 혁신: 대규모 합성곱 신경망의 성공 사례
최근 인공지능 분야에서 이미지 분류 기술이 큰 발전을 이루었습니다. 특히, 1.2백만 개의 고해상도 이미지를 1000개의 서로 다른 클래스에 분류하는 ImageNet LSVRC-2010 대회에서의 성과는 주목할 만합니다. 이 대회에서 우리는 대규모 깊은 합성곱 신경망을 훈련시켜 이전의 최고 수준의 성과를 크게 초월하는 결과를 얻었습니다.
성과 및 모델 구조
우리의 신경망은 6000만 개의 매개변수와 65만 개의 뉴런으로 구성되어 있으며, 다섯 개의 합성곱 층과 몇 개의 최대 풀링 층, 그리고 세 개의 완전 연결층으로 이루어져 있습니다. 마지막에는 1000개의 클래스를 위한 소프트맥스 층이 위치하고 있습니다. 테스트 데이터에 대한 성과는 top-1 오류율 37.5%와 top-5 오류율 17.0%로, 이는 이전의 최첨단 기술보다 상당히 개선된 수치입니다.
✅ Introduction
현재 객체 인식 기술은 머신러닝 방법에 의존하고 있으며, 성능을 향상시키기 위해 더 큰 데이터셋과 강력한 모델, 과적합 방지 기술이 필요합니다. 과거에는 수만 개의 이미지로 이루어진 데이터셋이 주를 이루었지만, 최근에는 수백만 개의 레이블이 붙은 이미지가 포함된 대규모 데이터셋이 등장했습니다. 이러한 변화는 객체 인식의 정확성을 높이는 데 기여하고 있습니다.
합성곱 신경망(CNN)은 이미지 인식에 매우 효과적인 모델로, 깊이와 너비를 조절해 학습 능력을 조절할 수 있습니다. CNN은 일반적인 신경망에 비해 연결 수가 적어 훈련이 용이하며, 이론적으로 더 나은 성능을 발휘할 수 있습니다. 그러나 고해상도 이미지를 대규모로 처리하는 데는 여전히 높은 비용이 발생했습니다. 현재의 GPU와 최적화된 합성곱 연산 덕분에 이러한 문제를 해결할 수 있게 되었습니다.
이 논문에서는 ILSVRC-2010 및 ILSVRC-2012 대회에서 사용된 데이터셋으로 훈련된 대규모 CNN을 소개하며, 이전 성과를 크게 초월하는 결과를 기록했습니다. 또한, 과적합 문제를 해결하기 위해 효과적인 기술을 적용했습니다. 최종 모델은 다섯 개의 합성곱 층과 세 개의 완전 연결 층으로 구성되어 있으며, 각 층의 중요성을 확인했습니다.
✅ The Architecture

AlexNet은 총 8개의 학습 가능한 층으로 구성되어 있습니다. 그중 5개는 합성곱 층(Convolutional layers)이고, 3개는 완전 연결 층(Fully connected layers)입니다. 최종 출력층은 1000-way 소프트맥스(Softmax)로, 다양한 클래스에 대한 확률 분포를 제공합니다. 이러한 구조는 이미지 분류 작업에서 높은 정확도를 이끌어내는 데 기여했습니다.

1. 합성곱 층의 역할
합성곱 층은 입력 이미지의 특징을 자동으로 학습하는 층입니다. 이 층은 여러 개의 작은 필터(또는 커널)를 사용하여 이미지의 각 부분을 분석합니다. 각 필터는 특정 특징(예: 가장자리, 색상 변화 등)을 감지하도록 훈련됩니다.
(커널은 맨 처음 층의 11*11 같은 것을 말합니다.)

- 작동 방식(맥스풀링): 필터는 이미지 전체를 슬라이딩하면서, 이미지의 각 영역에서 특징을 추출합니다. 이 과정에서 점곱(dot product)을 계산하여 결과를 생성합니다. 이렇게 생성된 결과는 특징 맵(feature map)으로 저장됩니다.
- 특징 추출: 여러 개의 합성곱 층을 쌓으면, 낮은 층에서는 기본적인 특징(예: 가장자리, 색상 등)을 추출하고, 높은 층에서는 더 복잡한 패턴(예: 얼굴, 물체 등)을 인식하게 됩니다.
2. 완전 연결 층의 역할

완전 연결 층(Fully Connected Layers)은 CNN(Convolutional Neural Network)에서 이미지 데이터를 벡터화하여 더 낮은 차원으로 밀집시키는 과정에서 중요한 역할합니다.
1. 입력 데이터의 벡터화:
- CNN의 초기 층에서 합성곱과 풀링을 통해 생성된 특징 맵은 일반적으로 다차원 배열(텐서) 형태입니다.
- 완전 연결 층에 입력하기 위해서는 이 다차원 배열을 1차원 벡터로 변환해야 합니다. 이 과정을 "평탄화(flattening)"라고 합니다.
2. 차원 축소 및 정보 압축:
- 완전 연결 층의 각 뉴런은 이전 층의 모든 뉴런과 연결되어 있습니다. 이는 각 뉴런이 입력 데이터의 모든 특징을 고려할 수 있게 해줍니다.
- 각 연결에는 가중치가 존재하며, 이는 뉴런이 학습하는 과정에서 조정됩니다. 가중치는 특정 특징이 얼마나 중요한지를 나타냅니다.
- 완전 연결 층은 입력 데이터를 점진적으로 압축하여, 중요한 정보만을 남기고 불필요한 정보를 제거합니다. 이 과정은 모델의 복잡성을 줄이고, 더 나은 일반화를 돕습니다.
3. 활성화 함수의 적용:
- 뉴런의 출력은 가중치와 입력의 곱을 합산한 뒤, 편향(bias)을 추가하여 계산됩니다. 그 후, 활성화 함수(예: ReLU, Sigmoid 등)를 적용하여 비선형성을 추가합니다.
- 활성화 함수를 통해 모델은 복잡한 데이터 패턴을 학습할 수 있게 되며, 이는 다양한 클래스 간의 결정 경계를 형성하는 데 기여합니다.
4. 최종 예측 생성:
- 완전 연결 층의 마지막 단계에서는 소프트맥스(Softmax) 함수를 사용하여 각 클래스에 대한 확률 분포를 계산합니다. 이 함수는 각 클래스의 예측 확률을 0과 1 사이의 값으로 변환하며, 모든 클래스의 확률 합은 1이 됩니다.
- 이 확률 분포를 기반으로 모델은 최종 클래스 예측을 결정합니다. 예를 들어, 이미지 분류에서는 가장 높은 확률을 가진 클래스를 선택하여 해당 이미지를 분류합니다.
5. 학습 과정의 중요성:
- 완전 연결 층은 손실 함수(loss function)를 통해 학습됩니다. 모델의 예측과 실제 레이블 간의 차이를 계산하고, 이를 최소화하는 방향으로 가중치와 편향을 조정합니다.
- 역전파(backpropagation) 알고리즘을 통해 가중치가 업데이트되며, 이 과정은 여러 번 반복되어 모델의 성능이 개선됩니다.

압축된 완전 연결 층(FC Layer)에서 소프트맥스(Softmax) 함수는 여러 클래스 중에서 특정 클래스의 확률을 계산하여 분류 결과를 결정하는 데 사용됩니다. 예를 들어, 이미지 분류 문제에서 개와 고양이를 구분하는 경우, 소프트맥스 함수는 다음과 같은 클래스를 고려할 수 있습니다:
1. 개 (Dog)
2. 고양이 (Cat)
3. 새 (Bird)
4. 토끼 (Rabbit)
5. 기니피그 (Guinea Pig)
이러한 클래스 중에서 소프트맥스 함수는 각 클래스에 대한 확률을 계산하여, 가장 높은 확률을 가진 클래스를 최종 예측으로 선택합니다. 예를 들어, 소프트맥스 함수의 출력이 다음과 같을 수 있습니다:
- 개: 0.70
- 고양이: 0.20
- 새: 0.05
- 토끼: 0.03
- 기니피그: 0.02
이 경우, 모델은 "개"로 분류하게 됩니다. 소프트맥스 함수는 여러 클래스 간의 비교를 통해 최종 결정이 이루어지도록 합니다.
#논문리뷰
#연구자
#학술논문
#과학적연구
#연구트렌드
#학문적토론
#지식공유
#연구커뮤니티
#학술발표
#연구결과
'개발자 IT 최신 정보' 카테고리의 다른 글
한국전파진흥협회 주관 메타버스 아카데미 3기 합격 후기 - 구미자취 생활과 부트캠프 추천! (1) | 2024.06.20 |
---|---|
코랩 한글 깨짐!(빡침주의) 코랩에서 한글 폰트 사용하기! (0) | 2024.05.07 |
유튜브 뮤직 오류 23년 1월 25일 나만 이런가? (3) | 2023.01.25 |
현대카드 애플페이 2023년에 런칭 그리고 단점, 사용법 (0) | 2022.12.21 |
2023년 ADsP, SQLD 자격증 시험일정 안내 (0) | 2022.12.17 |
댓글