Abstract
- MultiLayer Neural Network는 경사기반 학습 기법인 역전파법 알고리즘으로 학습된다.
- 이 논문은 손글씨 데이터를 기반으로한 이미지 분류 문제를 다루는 방법을 검토한다.
- 2D 형상을 다루기 위해 고안된 CNN은 다른 기법들을 능가한다.
- 실제 문서 인식 시스템은 field extraction, segmentation, recognition, language modeling을 포함하는 여러 개의 모듈들로 구성되었다.
- GTN이라고 불리우는 새로운 학습 패러다임은 이러한 multi-module 시스템이 경사기반 방법을을 사용하여 전반적인 성능 지표를 최소화할 정도로 전역적으로 학습되도록 한다.
Introduction
- 지난 몇 년동안 신경망을 활용한 기계학습 기법들은 패턴 인식 시스템에서 더욱 커다란 역할을 했다.
- 글자 인식 분야에서 직접 feature extraction을 하는 것은 픽셀 이미지에 직접 작용하는 방법으로 변형되었다.
- 문서 이해 분야에서 각자 고안된 모듈들을 통합하는 전통적인 방법은 GTN이라고 불리는 하나가 되고 원칙주의인 구조의 패러다임으로 대체된다.(전역적인 성능 지표 최적화)
- 직접 정확한 인식 시스템을 만드는 것은 불가능하다.
- 결론적으로, 대부분 패턴 인식 시스템은 자동 학습 시스템과 직접 만든 알고리즘의 조합으로 만들어진다.
- feature extractor라고 불리는 첫 번째 모듈은 input pattern을 변환하여 저 차원 벡터 또는 짧은 symbols의 strings를 대표하도록 한다.(쉽게 matching 또는 비교되고 상대적으로 불변하는)
- feature extractor는 대부분의 사전지식을 포함하고 꽤 특정 분야에 특화된다.
- 하지만 classifier은 대부분 일반적인 목적을 지니고 학습 가능하다.
- 접근법에 대한 주요 문제 중 하나는 정확도가 feature set에 의해 결정된다는 것이다.
- 각 문제에 대해 다시 수행함으로써 해결해야되며 각 패턴 인식은 task마다 다른 feature set의 merits로 묘사, 비교한다.
- 역사적으로, 적절한 feature extractor의 요구는 학습 기법은 쉽게 class를 분류할 수 있는 저차원 공간에 한정되었기 때문이다.
- 3가지 요소들의 조합은 vision을 바꿨다.
- 비용이 저렴하고 빠른 산술 능력을 지닌 기계의 가능성이 더욱 무차별 수치의 대입에 의존한다.
- 커다란 시장과 넓은 흥미의 문제를 대상으로 한 큰 데이터베이스의 가능성은 더욱 실제 데이터에 의지하고 덜 직접 exture extraction을 해도 시스템을 만들 수 있도록 하였다.
- 커다란 data set이 주어졌을 때, 고차원 input을 다룰 수 있고 뒤얽힌 결정 공식을 발생시키는 강력한 머신러닝 기법들이다.
- 이 논문에서는 손글씨 데이터를 사용하여 여러 학스 ㅂ기법들을 비교한다.
- CNN은 section2에서 소개된다.(지역 연결 패턴을 하용하여 2D 형상의 불변함에 대한 지식을 포함하고 가중치에 제약을 부여하는 신경망을 특별화하는 예시인)
- multi-module을 사용한 가변 길이 객체 인식은 module이 지시된 그래프도 다루어진다면 최상일 것이다.
- 이것은 학습가능한 GTN의 개념으로 이끈다.(Section 5에서 설명)
Learning From Data
- 자동 기계 학습에는 여러가지 접근법이 있지만 가장 성공적인 접근법 중 하나는 수치적인 또는 경사 기반 학습이다.
- Yp=F(Zp,W)를 계산한다.
- Zp는 p번째 input, W는 파라미터이다.
- Yp는 Zp의 class label이거나 각 class와 연관된 확률(점수)이다.
- 손실 함수 Ep=D(Dp,F(W,Zp))는 Dp와 Zp로 계산한 결과의 일치하지 않는 정도를 계산한다.
- 평균 손실 함수 Etrain(W)는 Ep의 평균이다.
- 학습 문제는 Etrain(W)를 최소화 하는 W를 찾는 것으로 구성된다.
- 실제로 training set에서의 성능은 흥미가 적다.
- 더 관련있는 측정치는 실무의 에러율이므로 training set으로부터 분리하여 test set으로 측정한다.
- Etest−Etrain=k(h/P)α
- P는 학습 샘플의 수이고 h는 효과적인 수용량, 기계의 복잡도이다.
- α는 0.5~1 사이고, k는 연속적인 수이다.
- 이 차이는 항상 training sample 수가 증가하면 감소한다.
- 더 나아가, h가 증가하면 Etrain는 감소한다.
- h의 최적의 값은 Etest의 일반화 오류(error)을 최소화하는 값이다.
- 대부분 학습 알고리즘은 Etrain과 gap을 감소시키려고 시도한다.
- 이것은 구조적 위험 최소화라고 불리고 기계의 수용력을 증가시키는 순서를 정의하는데 기초한다.(이전의 subset의 superset인 파라미터 공간의 subset과 일치시킨다.)
- 실용적 측면에서 구조적 위험 최소화는 Etrain+βH(W)를 최소화한다.
- H(W)를 규제항이라고 부르고 β는 상수이다.
- H(W)를 최소화 하는 것은 파라미터 공간의 접근 가능한 부분집합의 수용력을 제한한다.
⇒ input과 파라미터를 통해 각 class별 점수를 산출하고, test loss와 train loss의 차이를 감소 시키기 위해 노력(규제항 사용)
Gradient-Based Learning
- 파라미터 집합의 관점에서 식을 최소화하는 것의 일반적인 문제는 컴퓨터 과학에서 근본적으로 발생한다.
- 경사 기반 학습은 일반적으로 미분값을 최소화하는 것을 더욱 쉽게한다.
- 손실함수는 파라미터의 작은 변화에 의해 작아진다.
- 파라미터의 관점에서 손실함수의 경사를 계산한다.
- 효율적인 알고리즘은 경사 벡터가 분석적으로 계산될 때 고안된다.
- 일반적으로 Wk=Wk−1−ϵ∂W∂E(W)를 통해 W가 조정된다.
- ϵ은 scalar 값이다.
- 더 확률적인 과정은 ϵt를 변수, 대각행렬, Newton or Quasi-Newton방법의 Hessian 행렬의 반전 예측값 중 하나로 사용한다.
- 가장 유명한 절차는 on-line update라고 불리는 확률적 경사 알고리즘(SGD)이다.
- noise와 근사치를 사용하여 파라미터를 업데이트 한다.
- 한가지 샘플을 이용하여 W를 업데이트 한다.
- 일반적인 사례보다 더욱 학습 속도가 빠르다.
Wk=Wk−1−ϵ∂W∂Epk(W)
Gradient Back-Propagation
- 경사 기반 학습 절차는 1950년대 후반 이후로 사용되었지만 대부분 선형 시스템에 한정되었다.
- 아래 일들이 일어나기 전에는 SGD 기술의 유용함이 널리 퍼지지 못했다.
- 손실함수의 지역 최소값이 실제에서는 중요한 문제가 아니다.
- 여러 개의 계층을 거친 비선형 시스템의 경사를 계산하는 오차 역전파법의 등장
- 오차역전파법을 sigmoid를 활용한 다층 신경망에 사용하면 복잡한 학습 task를 풀 수 있다.
- output에서 input으로 propagation을 진행하면 경사를 쉽게 구할 수 있다.
- 초기의 오차역전파법은 경사를 사용하지 않고 중간 계층에 가상의 target을 사용했다.
⇒ 손실함수를 최소화 하는 파라미터를 찾기 위해 경사 하강법 사용, 경사를 활용해 오차 역전파법으로 가중치 학습
Learning in Real Handwriting Recognition Systems
- 가장 성능이 좋은 신경망은 pixel image로부터 상관성 있는 feature을 학습하기 위해 고안된 CNN이다.
- 가장 어려운 문제는 각 글자를 인식하는 것 뿐 아니라 글자를 단어나 문장에서 분리해내는 것이다.
- Heuristic Over-Segmentation 사용
- 글자 사이의 많은 수의 잠재적인 cuts를 발생시키고 점수를 기반으로 최선의 cut 조합을 고른다.
- labeling된 database를 생성하는 것이 어렵기 때문에 한계가 있다.
- 4를 절반을 자르면 1이라고 라벨링 해야할까 글자가 아니라고 해야할까?
- 첫 번째 해결법은 글자 단위가 아닌 전체 문자열 단계로 학습한다.
- 두 번째 해결법은 segmentation 전부를 제거하는 것이다.
Globally Trainable Systems
- 패턴 인식 시스템은 multiple modules로 구성된다.
- 문서 인식 시스템: field locator + field segmenter + recognizer + contextual post-processor
- 모듈에서 모듈로 이동되는 정보는 그래프로 수치적인 정보를 가장 잘 표현한다.
- 전형적으로 각 모듈은 문맥 없이 학습된다.
- 더 좋은 대안은 어떻게든 전체 시스템을 학습하고 전역 손실치를 최소화하는 것이다.
- 한 번 훑어보는 것으로는 얇은 크기와 시스템의 복잡도를 나타내는 것은 어렵다.
- 전역 손실함수가 미분가능하다면, 전체 시스템은 미분가능한 모듈로 이루어질 것이다.
- 오차역전파법을 사용하여 모든 파라미터에 대한 손실함수의 경사를 계산하여 일반화한다.
⇒ 이미지로부터 feature을 학습하는 CNN이 가장 성능이 좋다. 각 글자를 여러 개로 자르고(cut) 최선의 cut 조합을 찾음(feature), 문서 인식 시스템은 여러 개의 모듈로 구성[GTN]
Convolutional Neural Networks For Isolated Character Recognition
- 다층 신경망은 많은 예시들을 통해 복잡하고 고차원적이고 비선형적인 매핑을 학습하기 위해 경사하강법을 사용하여 학습한다.
- 전통적인 패턴 인식 모델은 직접 input과 관련된 정보를 추가하고 관련되지 않는 변수는 제거하는 방식으로 feature을 추출했다.
- 학습 가능한 분류기는 feature vector을 class로 분류했다.
- FC 다층 신경망은 분류기로 주로 사용되었다.
- feature extraction을 스스로 수행한다.
- 대부분 raw 형태로 input을 넣는다.
- 하지만 문제점이 존재했다.
- 전형적인 이미지는 수 백개의 픽셀이 존재하여 매우 큰데, 첫번째 계층에서 이만큼의 은닉 노드 수가 필요하고 수 만개의 가중치도 필요하다.
- 파라미터 수가 많으면 모델의 복잡도가 높아지고 더 큰 training set이 필요해진다.
- 메모리 자원이 부족해진다.
- translation 관점에서 불변하거나 input의 지역 왜곡이 일어난다.
- 고정된 크기의 input layer에 보내지기 전에 대부분 크기가 정규화되고 중앙화해야 한다.
- 위 전처리는 완벽하지 않다.: 단어 차원에서 정규화하기 때문에 크기, 경사, 위치 변수가 야기된다. 독특한 feature의 위치의 변화를 야기한다.
- 원칙적으로 충분한 크기의 FC 신경망은 변화로부터 불변하는 결과를 생성한다.
- input의 다양한 위치에서의 가중치 패턴과 유사해서 독특한 feature을 어디서든지 탐지할 수 있는 multiple unit들로부터 결과가 생긴다.
- 하지만 변화가능한 공간을 모두 포함할 수 있는 매우 많은 수의 instance들이 필요하다.
- CNN에서는 가중치 구조가 복제를 강제함으로써 공간들을 가로질러 shift invariance는 자동적으로 얻어진다.
- input의 위치정보가 모두 무시된다.
- input의 변수는 고정된 순서로 학습 결과에 영향을 미치지 않고 등장한다.
- 하지만 이미지는 강한 2D 지역 구조를 지니고 있다.
- 변수들은 공간적으로나 일시직인 주위 것들과 매우 연관되어 있다.
- 지역 연관성은 지역 feature을 잘 추출하고 조합하는 이유이다.
- CNN은 receptive field를 통해 지역 feature가 추출되도록 한다.
⇒ FC Layer는 매우 많은 pixel을 가진 이미지를 학습하기에는 가중치가 너무 많이 필요. 지역 정보를 반영하지 못함. CNN은 이 문제들 해결
Convolutional Networks
- 합성곱 신경망은 shift, scale, distortion invariance의 정보를 보장하기 위해 3개의 구조적 아이디어를 조합했다.
- Local Receptive Fields
- Shared Weights
- 공간적 또는 일시적 sub-sampling
- input은 size가 normalized되고 centered된 이미지를 받는다.
- 각 계층의 노드는 이전 계층의 작은 이웃들이 위치한 노드 set을 input으로 받는다.
- input을 지역 receptive field로 잇는 아이디어는 60년대의 퍼셉트론으로 거슬러 올라간다.
- 지역적인 연결은 시각적 학습 신경망 모델에서 자주 사용되었다.
- 지역 receptive field로 뉴런들은 원소들의 가장자리, 끝점, 모서리 등과 같은 시각 feature를 추출할 수 있다.
- 해당 feature들은 더 높은 단계의 feature을 추출하기 위해 후속하는 계층들에 의해 조합된다.
- 시작 초기에 input의 왜곡 또는 이동은 현저한 변화하는 feature의 위치를 야기한다.
- elementary feature detector는 전체 이미지에 걸쳐 유용하다.
- 해당 지식은 이미지에서 다른 곳에 위치한 receptive field의 unit set이 같은 가중치 벡터를 갖는다는 것에 적용된다.
- unit의 output set은 feature map이라고 불린다.
- featuer map의 unit은 이미지의 다른 부분에서 같은 작용을한다.
- 완벽한 CNN은 여러 개의 feature map으로 구성되고 여러 개의 feature이 각 위치에서 추출된다.
- feature map에 있는 인접한 receptive field의 unit은 이전 계층의 인접 unit과 일치한다.
- receptive field의 이웃한 unit은 겹쳐진다.
- 합성곱의 kernel은 feature map에서 사용된 연결된 가중치의 집합이다.
- input image가 이동한다면, feature map output은 같은 양만큼 이동하지만 나머지는 변화하지 않는다.
- 이것이 CNN의 왜곡과 이동에 강건하다는 기초적 특성이다.
- feature가 발견되면 정확한 위치는 덜 중요하고 다른 feature와의 상대적인 대략적인 위치만이 관련있다.
- feature의 위치 정확도를 줄이는 단순한 방법은 feature map의 공간적 해상도을 줄이는 것이다.
- sub-sampling layer을 통해 해결가능
- 지역적 평균과 sub-sampling, feature map의 해상도 감소, output의 민감도 감소를 수행
- 이전 layer의 각 feature map 1개씩 담당하여 receptive field의 평균값을 계산하고 계수를 곱하고 편향을 더한 후 sigmoid 통과.(계수와 편향은 학습)
- 인접한 unit은 인접 receptive field와 겹치지 않는다. 그래서 이전 계층보다 절반의 크기를 갖는다.
- 학습하는 계수와 편향은 sigmoid의 비선형성의 영향을 조절한다.
- 계수가 작으면 unit은 quasi-linear mode에서 작용되고 input을 흐리게 한다.
- 계수가 크면 'noisy OR' 또는 'noisy AND' 수식을 수행한다.
- feature map의 수가 증가하면 공간적 해상도(spatial resolution)은 감소한다.
- input의 기하학적 변환의 높은 수준의 불변은 표현의 풍부함(feature map 개수)의 보상으로 진보적인 spatial resolution의 감소를 달성한다.
- 각 가중치가 오차역전파법으로 학습되기 때문에 CNN은 그들의 feature extrator을 합성한 것처럼 보인다.
- 가중치 공유 기술은 parameter의 수를 감소하는 효과가 있어 모델의 용량을 줄이고 학습오류와 평가오류의 차이를 줄인다.
⇒ Local Receptive Fields: 왜곡과 이동에 강건(다른 feature와의 상대적 위치만 중요)
⇒ sub-sampling: feature의 위치 정확도 감소
⇒ Shared Weights: 모델 용량 및 오버 피팅 감소
LeNet-5
- 7개의 계층(input layer 미포함)으로 구성
- input은 32*32 pixel 이미지이다.(가장 큰 글자 이미지보다 더 크다.- 28*28의 중앙에 위치한 20*20)
- 획, 끝단이나 모서리와 같은 잠재적인 feature을 가장 수준 높은 feature detector의 receptive field의 중앙에서 나타나게 하기위해 위와 같이 크기 설정했다.
- LeNet-5의 마지막 Convolution Layer의 receptive field의 중앙의 set은 32*32 input의 중앙에 있는 20*20 영역을 형성한다.
- input pixel의 값은 normalize되어 배경(흰색)은 -0.1로 일치하고 전경(검은색)은 1.175로 일치한다.
- C - S - C - S - C - F
- C1은 5*5 6개의 filter을 보유하여 28*28 feature map을 생성하는 Convolution Layer
- S2는 2*2 receptive field를 통해 6개의 14*14 feature map 생성하는 Subsampling Layer
- 4개의 입력값을 더한 후 계수와 곱, 편향을 더하고 sigmoid에 통과시킨다.
- receptive field는 겹치지 않는다.
- C3는 5*5 receptive field를 통과하여 16 개의 feature map 생성하는 Convolutional Layer
- S2와 C3의 모든 feature map이 연결 되지 않는다.
- 합리적인 범위의 연결의 수를 유지하기 위해
- 신경망에서의 대칭을 요구
- 서로 다른 feature map은 서로 다른 input set을 갖기에 다른 feature을 생성)
- 처음 6개의 feature map은 모두 인접한 부분집합의 3개의 feature map은 input으로 갖고 다음 6개는 인접한 4개의 부분집합 이용하고, 남은 3개는 인접하지 않은 4개의 부분집합을 이용하고 나머지는 모두 이용
- S4는 2*2의 receptive field를 갖는 5*5 16개의 feature map을 생성하는 Subsampling Layer
- C5는 5*5 receptive field를 통해 1*1 120 feature map을 생성하는 Convolutional Layer
- S4의 16개의 Feature map와 모두 연결(input과 receptive field의 크기가 같기 때문)
- 다른 모든 것이 일정하게 유지되고 input이 더 커지면 feature map 차원이 1*1보다 크기 때문에 FC Layer가 아닌 Convolutional Layer사용
- F6는 84 노드를 포함하는 Fully Connected Layer
- output layer의 디자인(ascii 각 문자 크기가 7*12이기 때문)으로부터 노드 수가 정해졌다.
- 각 계층의 노드에서 노드 i에서 input과 가중치를 곱하고 편향을 더한 것을 ai라고 하였을 때, 시그모이드 함수를 통과시킨다. 그리고 squashing function을 통과 시킨다.
xi=f(ai)
- squashing function은 scaled tanh이다.
f(a)=Atanh(Sa)
- A는 진폭이고 S는 원조에서 경사를 결정한다.
- f는 A ~ -A 사이에 있다.
- A는 1.7159로 선택되었다.
- Output Layer는 Euclidean Radial Basis Function(RBF) 사용
yi=Σj(xj−wij)2
- 각 input 벡터와 파라미터 벡터 사이의 유클리디안 거리 계산
- parameter 벡터의 입력이 멀수록 RBF 출력이 커진다.
- input 패턴과 RBF와 관련된 클래스 모델 간의 적합성을 측정하는 페널티 항으로 해석 가능
- 확률적인 측면에서 RBF 결과는 정규화되지 않은 정규분포의 NLL로 해석될 수 있다.
- F6의 구성이 원하는 클래스에 해당하는 RBF의 parameter 벡터에 최대한 근접하도록 손실 함수를 설계해야 함
- parameter vector는 직접 선택되고 고정된다
- 또한 원소들은 -1~1로 구성되며 random으로 선택된다.
- 7*12 bitmap으로 그려진 글자 class와 일치하는 stylized image의 표현으로 구성되었다.
- 독립된 문자 인식에는 유용하지 않지만 ASCII set 인식에는 유용하다.
- 비슷하거나 헷갈리는 문자는 비슷한 output code를 갖는다.
- target vector로 작용한다.
Loss Function
- Maximum Likelihood Estimation(MLE) 중 Mean Squared Error(MSE) 사용
E(W)=P1Σp=1PyDP(ZP,W)
- yDP는 input pattern Zp의 올바른 class와 일치하는 Dp번째 RBF unit
- 해당 함수는 대부분의 경우 적절하지만, 3가지 중요한 요소가 부족하다.
- RBF의 파라미터가 적응하면 E(W)는 사소하지만 완전히 받아들일 수 없는 해답을 갖는다.
- 해당 해답에서는 모든 RBF 파라미터 벡터가 동일하고 F6의 상태가 파라미터 벡터와 일정하고 동일하다.
- 이 경우 신경망은 input을 무시하고 모든 RBF output을 0으로 만든다.
- 이러한 붕괴 현상은 RBF 가중치가 적응하지 않으면 발생하지 않는다.
- class 간의 경쟁이 없다.
- 경쟁은 MAP(maximum a posteriori) 기준 같은 독특한 학습 기준을 사용함으로써 얻어진다.
- 클래스 DP의 사후확률을 최대화하는 것과 일치하다.
- penalty 관점에서, MSE 기준같이 올바른 class의 penalty를 내리는 것은 부정확한 class의 penalty를 올리는 것이다.
E(W)=P1Σp=1P(yDP(ZP,W)+log(e−j+Σie−yi(ZP,W)))
- 두 번째 항은 경쟁의(competitive) 역할을 하며 첫 번째 항보다 작아야 한다.
- 상수 j는 양수이며 class의 이미 매우 큰 penalty가 더 높아지는 것을 방지한다.
- 쓰레기 같은 class의 사후 확률은 e−j, e−j+Σie−yi(ZP,W) 의 비율이다.
- 이 독특한 기준은 RBF의 중심을 서로 떨어뜨림으로써 붕괴 효과를 방지한다.
- 손실함수의 경사는 오차역전파법을 통해 계산되는데, 가중치 공유를 고려하기 위해 약간 수정되어야 한다.
- 각 연결의 관점에서 손실함수를 편미분하고 같은 파라미터를 공유하는 연결의 편미분은 모두 더한다.
Results and Comparison with Other Methods
- MNIST data set 사용
- 20*20 이미지는 28*28의 픽셀 중앙을 계산하여 위치하였다.
- 몇몇 instance는 28*28 field는 32*32로 배경 픽셀을 추가함으로써 확장되었다.
- regular database라고 부름
- 글자를 기울이고 20*20으로 잘랐다.(전경은 1, 배경은 0으로 계산하였다.)
- 16*16으로 크기를 줄임
- LeNet-5는 regular database로 20번 반복하여 학습
- global 학습률 η는 처음 두 학습은 0.0005로하고 다음 세 번은 0.0002로, 다음 세 번은 0.0001로, 다음 4번은 0.00005로, 그 후는 0.00001로 설정
- 각 반복 직후 500개의 sample로 diagonal Hessian approximation을 재평가했고 해당 전체 반복동안 고정했다.
- μ는 0.02로 설정, 첫 번째 학습률로는 7e-5~0.016가 적당했다.
- 10번 학습하면 test error는 0.95%였고, 19번 통과 시 035%였다.
- 학습률이 상대적으로 크기 때문에 가중치가 지역 최소값에 정착하지 않고 무작위로 진동하여 과적합은 발생하지 않았다.
- 해당 파동으로 인해 평균 비용은 넓은 공간의 최소값으로 낮아졌다.
- 학습 데이터가 많을수록 성능 증가
- 인공적으로 무작위 왜곡으로 원조 학습 이미지들을 통해 이미지들을 생성했다.
- horizontal and vertical translations, scaling, squeezing
- test error을 0.95%에서 0.8%로 감소시켰으며 2배 더 효율적으로 학습했다.
Comparison with Other Classifier
- raw data에서는 Boosted LeNet-4이 에러율 0.7%로 가장 낮았고 그 다음을 LeNet-5가 이었다.
- boosting은 메모리와 컴퓨팅 비용에 penalty를 주며 성능을 높였다.
- 왜곡(distortion) 모델은 더 많은 데이터 없이 더 효율적인 데이터 크기를 증가시킨다.
Invariance and Noise Resistance
LeNet-5는 강건한 모델이다.