본문 바로가기

Paper Review

[Paper Review][CV] GradientBased Learning Applied to DocumentRecognition

II. Convolutional Neural Networks for Isolated Character Recognition

경사하강법으로 학습된 다층 신경망은 대규모 데이터를 학습할 수 있기 때문에 이미지 인식 작업에서 유망적이다.

전통적인 패턴 인식 모델에서는 fully connected된 다층 신경망이 feature를 기반으로 분류 작업을 한다.

그러나 더 흥미로운 방법은 feature를 추출하는 단계에서도 학습을 최대한 하는 것이다.

 

1. 기존 fully connected 신경망의 한계

- 매우 큰 입력 이미지

- 학습 데이터 부족

- 메모리 요구 사항

- 변형에 대한 취약성

 

2. 이미지 전처리의 한계

문자 이미지나 2D, 3D 신호들은 신경망의 고정된 입력 크기에 맞게 정규화를 해야 한다.

하지만 손글씨 같은 데이터는 정규화하기 어렵다.

이러한 다양한 변화를 학습하려면 엄청난 양의 데이터가 필요하다.

 

3. CNN의 장점

이러한 단점을 보완하기 위해 CNN이 사용된다.

- 가중치 공유

- 국소적 feature 추출

- 입력 구조 반영

A. Convolution Networks

LeNet-5는 문자 인식을 위해 설계된 CNN의 대표적인 예시다.

 

- 각 신경망 유닛은 이전 층에서 작은 영역만 받아들이는 방식으로 입력을 받는다.

이러한 국소 연결 방식은 기본적인 시각적 특징을 추출하는 데 유리하다. 

 

- 여러 위치에 있는 유닛들이 가중치 벡터를 사용해 학습한다.

가중치 필터를 이미지의 여러 위치에 적용해서 feature map을 생성한다.

 

- 풀링을 통해 불필요한 정보를 줄이고 입력의 왜곡과 이동에 대한 불변성을 강화한다.

네트워크는 정확한 위치보다는 feature 존재 여부에 더 집중하게 된다.

 

- 합성곱 층과 플링 층을 반복적으로 쌓아올린다.

더 복잡하고 추상적인 특징을 학습하고 공간적 해상도를 낮추고 불변성을 강화한다.

 

LeNet-5 전체 구조

Input -> C1 (Convolution) -> S2 (Subsampling) -> C3 (Convolution) -> S4 (Sunsampling) ->  C5 (Fully Connected) -> F6 (Fully Connected) -> Output

 

B. LeNet-5

각 층의 상세구조

  • Input Layer
    - 입력 이미지 크기 : 32 X 32
    - 실제 문자 : 20 X 20 -> 문자의 특징이 중앙 영역에서 인식되도록 함
    - 픽셀 값 정규화 : 흰색(배경) - 0.0, 검은색(문자) - 1.0
  • C1 : 첫 번째 합성곱 층
    - 6개의 feature map
    - 각 유닛은 입력 이미지에서 5X5 크기의 국소 영역
  • S2 : 첫 번째 풀링 층
    - 각 feature map에서 2X2 영역을 average pooling -> 14X14
  • C3 : 두 번째 합성곱 층
    - 16개의 feature map
    - S2의 feature map 일부와 선택적으로 연결 -> 복잡도 낮추고, 대칭성 깨기 위함
    XXX 그래프가 무엇을 의미하는지 모르겟음.
  • S4 : 두 번째 풀링 층
    - 각 feature map을 다시 2X2 averge pooling -> 5X5
  • C5 : 세 번째 합성곱 층
    - S4의 모든 피처 맵과 연결해서 5X5 전체 영역 수용
  • F6 : Fully Connected
    - C5의 모든 유닛과 완전 연결
  • Output Layer
    - 출력층은 유클리디안 RBF 유닛을 사용 (정답과 유사할 수록 출력 작아짐)
    - 입력 벡터와 사전 정의된 파라미터 벡터 간의 유클리디안 거리 계산

학습 및 활성화 함수

각 뉴런은 입력 벡터와 가중치 벡터의 dot product을 계산한 후 편향을 더해 활성화 값 계산.

활성화 함수는 hyperbolic tagent 사용.

 

RBF 출력층의 특징

RBF 유닛은 입력 벡터와 파라미터 벡터 간의 거리를 계산한다.

출력은 클래스에 대한 적합도를 의미한다.

C. LeNet-5의 손실 함수

기본 손실 함수 : MLE, MSE

MLE는 MSE와 동일하게 작동한다

 

- MSE

 

yDp​ : RBF 출력에서 정답 클래스 / 는 입력 패턴 / W는 가중치 파라미터

MSE는 Trivial Solution과 클래스 간 경쟁 부족 단점이 있다.

Trivial Solution이란 만약 RBF의 파라미터가 학습 가능하다면, 모든 RBF 벡터가 동일하게 수렴하고 출력하는 것이다.

이러면 학습의 의미가 사라진다.

 

개선된 손실 함수 : MAP (Maximum a Posterior)

 

첫 번째 항 : MSE처럼 오차 줄임 / 두 번째 항 : 오답 클래스에 대해 경쟁 유도 / j : 큰 값의 손실이 커지지 않도록 조정

MAP는 클래스 간 분명한 구분을 하도록 경쟁을 유도하고 모든 RBF가 동일해지지 않게 해준다.

 

손실 함수의 경사 하강법

손실 함수의 기울기를 계산해 네트워크를 학습 시킨다. 하지만 합성곱은 가중치 공유가 있기 때문에 역전파에 약간의 수정이 필요하다.

1. 손실 함수 편미분 계산

2. 동일한 가중치를 가지는 연결들의 기울기를 더해서 하나의 편미분 값으로 합산

3. 이러한 방식으로 가중치 공유에 적합한 업데이트

 

학습 효율성을 높이는 방법

1. sigmoid 함수 조정 -> hyperbolic tagent 사용

2. 가중치 초기화 -> 작은 랜덤 값

3. 최적화 알고리즘 -> Levenberg-Marquardt 알고리즘 사용

 

III. Results and Comparison with Other Methods

A. Database - the Modified NIST set

MNIST 데이터셋을 사용하며, 각 이미지는 28X28 픽셀 크기이고, 숫자가 이미지 중앙에 위치하도록 정규화되어있다.

B. Result

LeNet-5 모델은 MNIST 데이터셋에서 우수한 성능을 보였다.

- 훈련 샘플 1,000개 : 오류율 약 4%

- 훈련 샘플 10,000개 : 오류율 약 1.1%

- 훈련 샘플 60,000개 : 오류율 약 0.95%

훈련 데이터의 양이 증가함에 따라 모델의 일반화 능력이 향상됨을 보여준다.