CP(Counterpropagation) 알고리즘은 Kohonen의 경쟁 네트워크와 Grossberg의 아웃스타(Outstar) 구조의 결합으로 이루어진 것으로 패턴 매칭, 패턴 분류, 통계적인 분석 및 데이터 압축 등 활용분야가 다양하고, 다른 신경망 모델에 비해 학습이 매우 빠르다는 장점이 있다. 그러나 CP 알고리즘은 충분한 경쟁층의 수가 설정되지 않아 경쟁층에서 학습이 불안정하고, 다양한 패턴으로 구성된 경우에는 패턴들을 정확히 분류할 수 없는 경우가 발생한다. 그리고 CP 알고리즘은 출력층에서 연결 강도를 조정할 때, 학습률에 따라 학습 및 인식 성능이 좌우된다. 본 논문에서는 효과적인 패턴인식을 위해 다수 경쟁층을 설정하고, 입력 벡터와 승자 뉴런의 대표 벡터간의 차이와 승자 뉴런의 빈도수를 학습률 조정에 반영하고 학습률을 동적으로 조정하여 경쟁층에서 안정적으로 학습되도록 하고, 출력층의 연결강도를 조정할 때 모멘텀(Momentum) 방법을 적용한다. 제안된 CP 학습 성능을 확인하기 위해서 실제 여권에서 추출된 개별 코드를 대상으로 실험한 결과, 개선된 CP 알고리즘이 기존의 CP 알고리즘보다 학습 성능, 분류의 정확성 및 인식 성능이 개선된 것을 확인하였다.