DOI QR코드

DOI QR Code

Research on Deep Learning Performance Improvement for Similar Image Classification

유사 이미지 분류를 위한 딥 러닝 성능 향상 기법 연구

  • 임동진 (NHN 다이퀘스트 AI R&D그룹) ;
  • 김태홍 (한국한의학연구원 미래의학부)
  • Received : 2021.04.14
  • Accepted : 2021.05.19
  • Published : 2021.08.28

Abstract

Deep learning in computer vision has made accelerated improvement over a short period but large-scale learning data and computing power are still essential that required time-consuming trial and error tasks are involved to derive an optimal network model. In this study, we propose a similar image classification performance improvement method based on CR (Confusion Rate) that considers only the characteristics of the data itself regardless of network optimization or data reinforcement. The proposed method is a technique that improves the performance of the deep learning model by calculating the CRs for images in a dataset with similar characteristics and reflecting it in the weight of the Loss Function. Also, the CR-based recognition method is advantageous for image identification with high similarity because it enables image recognition in consideration of similarity between classes. As a result of applying the proposed method to the Resnet18 model, it showed a performance improvement of 0.22% in HanDB and 3.38% in Animal-10N. The proposed method is expected to be the basis for artificial intelligence research using noisy labeled data accompanying large-scale learning data.

딥 러닝을 활용한 컴퓨터 비전 연구는 여전히 대규모의 학습 데이터와 컴퓨팅 파워가 필수적이며, 최적의 네트워크 구조를 도출하기 위해 많은 시행착오가 수반된다. 본 연구에서는 네트워크 최적화나 데이터를 보강하는 것과 무관하게 데이터 자체의 특성만을 고려한 CR(Confusion Rate)기반의 유사 이미지 분류 성능 향상 기법을 제안한다. 제안 방법은 유사한 이미지 데이터를 정확히 분류하기 위해 CR을 산출하고 이를 손실 함수의 가중치에 반영함으로서 딥 러닝 모델의 성능을 향상시키는 기법을 제안한다. 제안 방법은 네트워크 최적화 결과와 독립적으로 이미지 분류 성능의 향상을 가져올 수 있으며, 클래스 간의 유사성을 고려해 유사도가 높은 이미지 식별에 적합하다. 제안 방법의 평가결과 HanDB에서는 0.22%, Animal-10N에서는 3.38%의 성능향상을 보였다. 제안한 방법은 다양한 Noisy Labeled 데이터를 활용한 인공지능 연구에 기반이 될 것을 기대한다.

Keywords

I. 서론

최근 지속적으로 주목받고 있는 딥 러닝 알고리즘은 이미지 분류에서 더 나아가 음성 인식, 번역, 객체 탐지 문제와 같이 다양한 영역으로 확장 적용되고 있으며 기존 알고리즘 대비 뛰어난 성능을 보이며 많은 연구가 수행되고 있다. 특히, 이미지넷으로 잘 알려진 1,000개의 이미지 분류 문제를 겨루는 알고리즘 대회인 ILSVRC(ImageNet Large Scale Visual Recognition Challenge)에서는 합성곱 신경망 모델들의 정확도가 사람의 정확도를 뛰어넘으며, 5% 이하의 낮은 오류율을 보이고 있으며, Resnet[1]의 경우 3.6% 의 인식 오류율을 보였다. 합성곱 신경망의 성능 향상은 주로 네트워크 구조를 변경하거나 데이터를 보강하며 이루어진다. 그러나 다수의 학습 데이터가 필수적인 딥 러닝 알고리즘은 여전히 다양한 데이터 자체의 문제, 특히 데이터 내 클래스 불균형 문제[2][3], 학습 데이터의 오류(Noisy Labeled Data)[4][5], 시각적으로 매우 유사한 특징을 가진 혼동 이미지 데이터[6][7] 등은 이미지 분류 모델의 성능 향상을 위해 극복해야 하는 문제로 남아 있다.

본 논문에서는 학습 모델의 종류나 데이터셋의 크기와 무관한 혼동 이미지셋(시각적으로 유사한 특징을 가진 클래스)을 이용한 분류 성능 향상 기법을 제안한다. 제안 방법은 딥 러닝 모델의 학습 과정에서 발생하는 모델의 예측값과 데이터의 정답값의 차이를 이용하여 CM(Confusion Matrix)을 만들고, CM으로부터 두 클래스 간 차이 대한 비율 CR(Confusion Rate)을 새롭게 정의한다. CR 값은 손실 함수에 가중치를 더해 모델의 학습을 보정한다.

본 논문의 구성은 서론에 이어, 2장에서 유사 이미지인식 분야의 관련 연구를 서술하며, 3장에서는 실험에 사용한 데이터셋의 특징에 대해 기술한다. 4장에서는 유사 클래스의 선정 방법 및 학습 방법에 대해 상세히 설명하고 5장에서 제안 방법을 적용한 실험 결과 및 분석에 대해 논하고자 한다. 마지막 6장에서는 결론 및 고찰과 함께 향후 연구 의의 및 한계점에 대해 기술한다.

Ⅱ. 관련 연구

최근 딥 러닝 연구는 향상된 컴퓨팅 자원과 알고리즘을 기반으로 다수의 레이어를 구성하는 것이 가능해짐으로서 보다 복잡도가 높은 모델을 활용하여 다양한 문제를 해결하고 있다. [그림 1]은 딥 러닝 모델의 구현과정을 나타낸 것으로, 일반적으로 딥 러닝 모델의 학습을 수행하면서 학습 데이터의 오류가 높다면 모델 학습을 더 진행하거나 새로운 모델 구조를 고안해야 한다. 학습된 모델이 검증 데이터에서 에러가 높다면 학습데이터에 과적합되었을 가능성이 높으므로 학습 데이터를 추가하거나 딥 러닝 모델에 정규화 과정을 추가하게 된다. [그림 1]의 과정을 통해 모델을 구현한 딥러닝 모델은 일반적으로 성능 향상을 위해 깊은 구조를 갖게 되고, 깊은 구조의 딥 러닝 네트워크는 적게는 수백만 개부터 많게는 수천만 개에 이르는 파라미터를 갖고 있으며, 이러한 네트워크를 과적합 없이 안정적으로 학습하기 위해 많은 양의 데이터가 필요하다[8].

CCTHCV_2021_v21n8_1_f0001.png 이미지

그림 1. 딥 러닝 모델 구현 과정

많은 양의 데이터를 손쉽게 확보하기 위해 주로 전통적인 데이터 확장 기법이 사용되며, 이미지를 회전, 반전 또는 확대시켜 변환하면 데이터가 확장되는 효과가 있다. 최근에는 GAN(Generative Adversarial Network) 모델을 이용하여 데이터를 새롭게 생성하는 방법을 동시에 적용하고 있다[9][10]. 그러나 GAN을 이용한 데이터 확장 기법은 데이터를 새롭게 생성하기 위해 별도의 네트워크가 필요하며 학습 시간이 늘어나는 문제점과 전통적인 데이터 확장 기법은 시각적으로 유사한 클래스간의 관계를 고려하기 어렵다는 문제점을 갖고 있다.

임동진[11], 김정연[12]은 시각적으로 매우 유사한 클래스의 분류 성능 향상을 위해 계층 구조의 딥 러닝 모델을 만드는 방법을 시도하였다. [11]에서는 한글 손글씨 데이터셋 중 하나인 SERI95a를 사용하였으며, 딥러닝 모델로부터 상호 혼동 쌍을 추출하고, 추출된 정보를 이용하여 계층적 딥 러닝 구조를 설계하여 실험을 진행하였다.

[12]에서도 한글 손글씨 데이터셋 중 하나인 PE92 데이터셋을 사용했으며, SOM(Self-Organizing Map) 을 이용하여 사전에 유사 클래스들을 클러스터링 하였다. 클러스터링된 클래스들은 개별적으로 딥 러닝 모델을 만들고 학습에 이용하였다. 네트워크 구조를 변경하는 방법은 시각적으로 매우 유사 클래스 분류 성능향상에 유의미한 결과를 보였으나 두 개 이상의 모델을 학습시켜야 하는 한계가 있다.

앞선 문제를 해결하기 위해 Chopra[6]와 Dubey[7] 는 데이터 확장 기법이나 모델의 구조를 변경시키지 않고 시각적으로 유사한 클래스의 분류 성능을 높이는 Pairwise Learning을 제안했다. Pairwise Learning 은 두 이미지 사이의 관계를 KL-Divergence 등을 통해 새롭게 정의하고, 정의된 관계를 Pairwise Confusion Loss 라는 새로운 학습 가중치로 손실 함수를 대치하여 모델의 학습에 사용하여 유사 클래스들을 잘 구분할 수 있도록 하였다.

Pairwise Learning은 유사한 이미지의 관계를 데이터로부터 찾는 데이터 중심적인 방법으로, 두 클래스가 갖는 이미지가 실제로 유사하더라도 딥 러닝 모델은 두 이미지가 유사하다고 판단하지 않을 수 있다[13].

따라서 본 논문에서는 [6][7]에서와 같이 데이터 확장 기법이나 모델의 구조를 변경시키지 않고 손실 함수를 조절하는 방법을 사용하지만 [13]의 문제점을 해결하기 위해 데이터셋에 사용하는 딥 러닝 모델을 이용하여 모델로부터 두 이미지의 유사 관계를 찾아 손실 함수에 가중치를 더해 모델의 학습을 보정한다.

Ⅲ. 데이터

제안 방법의 평가를 위해서 [그림 2]와 같이 유사한 이미지를 다수 포함하고 있는 데이터셋을 선정하였다. 그 중 특정 데이터셋에 과적합되는 문제를 회피하기 위해 데이터 특성이 이질적인 한글 필기체와 동물이미지데이터셋인 HanDB[14]와 Animal-10N[15] 데이터를 활용하여 실험을 수행하였다. HanDB는 SERI95a 와 PE92를 합친 데이터셋으로 한글의 특성으로 인하여 (강, 감), (귀, 키, 커) 등과 같은 유사글자가 많이 나타나며, 2,350개의 클래스가 학습데이터 665,890장, 검증데이터 75,186장으로 구성되어 있다. Animal-10N 데이터셋은 (고양이, 시라소니), (재규어, 치타)등과 같이 유사한 동물들 10종의 사진을 모은 데이터셋으로, 학습데이터 50, 000장과 검증데이터 5, 000장으로 이루어져 있다. 각각의 데이터는 본 연구의 목적에 맞게 잘 알려진 Resnet34, Resnet18, VGG13[16] 모델을 네트워크 구조 변화 없이 제안 방법만을 적용하여 비교 평가를 수행하였다.

CCTHCV_2021_v21n8_1_f0002.png 이미지

그림 2. HanDB와 Animal-10N 데이터셋 및 버섯과 한약재의 유사 이미지 샘플(순서대로)

Ⅳ. 제안 방법

딥 러닝 모델은 모델이 완전히 학습되기 전에는 모델의 예측값이 일관되지 않는 변화를 보인다. 또한 딥러닝 모델은 학습데이터의 정답을 암기하는 경향을 갖고 있으며, 전체 학습 데이터셋의 정답을 모두 암기하기에 충분한 저장 공간을 갖고 있다[17][18]. 본 논문에서는 위의 특성을 이용하여 모델이 학습 데이터를 완전히 암기하기 전 단계의 예측값과 정답을 이용하여 CM(Confusion Matrix)을 만든 뒤 CR을 산출하여 학습에 이용한다.

\(\begin{cases}C R_{i j}=\frac{C M_{i j}}{C M_{i j}+C M_{j k}}(i \neq j) \\ C R_{i j}=0 & (i=j)\end{cases}\)       (1)

CM의 행과 열은 각각 정답값과 예측값을 의미하며 \(i\)\(j\)는 학습할 때 클래스에 부여된 번호를 뜻한다. [그림 3]은 제안 방법의 전체적인 프로세스를 나타낸 것으로 먼저 입력 이미지에 대한 모델의 예측값 \(\hat{y}\)와 정답값 \(y\)를 이용하여 CM을 만든다. 그 후 만들어진 CM으로부터 식(1)을 이용하여 \(C R_{i j}, C R_{j i}\)을 산출한뒤 기존의 손실 함수에 가중치를 더해 역전파를 진행하게 된다. 산출된 \(C R_{i j}, C R_{j i}\) 값은 각각 0.5일 때 두 클래스 간에 가장 많이 서로를 혼동하고 있는 경우이다. 예를 들어, [그림 4]의 오랑우탄과 침팬지의 경우 서로 잘못 예측한 623장의 이미지 중 오랑우탄을 침팬지로 317장 잘못 예측 했고, 침팬지는 오랑우탄으로 306장 잘못 예측했다. 즉 오랑우탄이나 침팬지의 이미지가 들어올 때 50%의 확률로 한번은 오랑우탄 한번은 침팬지로 예측하고 있다는 의미로 서로를 가장 많이 혼동하는 상태로 볼 수 있다. 따라서 식 (1)에 의해 두 \(C R_{i j}, C R_{j i}\) 의 값이 0.5일 때 최대값을 산출하는 정보 엔트로피를 적용하여 Loss에 가중치를 더해주게 된다. \(k\)는 상수 값으로 정보 엔트로피를 통해 구한 Loss를 얼마만큼 반영할 것인지 정하게 된다.

\(L=L+k \times L \times \text { Entropy }\left(C R_{i j}, C R_{j i}\right)\)       (2)

CCTHCV_2021_v21n8_1_f0003.png 이미지

그림 3. 제안 프로세스 개념도

CCTHCV_2021_v21n8_1_f0004.png 이미지

그림 4. Confusion Matrix 예시

본 연구에서는 Optimizer로 SGD를 사용하였으며, Learning rate 0.01, Momentum 0.9 와 Batch Size 는 512로 설정하였다. HanDB에서는 이미지를 60x60 으로 변환 한 후 GrayScale과 Zero Padding을 적용하여 1x64x64로 학습을 진행하였고, Animal-10N에서는 3x64x64의 크기로 학습을 진행하였다.

표 1. CR 기반 Loss 보정 알고리즘

CCTHCV_2021_v21n8_1_t0001.png 이미지

CCTHCV_2021_v21n8_1_f0005.png 이미지

그림 5. Resnet18 Animal-10N 정확도 변화

Ⅴ. 실험 결과 및 분석

본 논문에서는 제안 방법을 여러 도메인에 적용 해보기 위해 이질적인 두 종류의 데이터셋을 실험에 사용하였다. HanDB는 한글 필기체 데이터 셋으로, 한글의 특성에 따라 다수의 유사 이미지를 포함하고 있으며 총 2,350개의 클래스, 학습데이터 665,890장, 검증데이터 75,186장으로 이루어져 있다. Animal-10N 데이터셋은 총 10개의 클래스로 학습데이터 50,000장과 검증데이터 5,000장으로 구성되어 있어 있으며 이미지 유사도가 높은 동물 10종의 사진을 모은 데이터셋이다. 또한 네트워크 구조 변경 없이 동일한 조건에서 실험을 진행하기 위해 Optimizer와 Batch_Size등 모든 하이퍼 파라미터를 고정하고 학습을 진행하였으며 Animal-10N은 Resnet18, Resnet34, VGG13 모델을 100 epochs 반복하였고, HanDB는 50 epochs 반복하였다.

본 연구에서는 먼저 식(2)에서 k값에 따른 학습 변화를 알아보기 위해 VGG13 네트워크와 Animal-10N 데이터셋으로 실험을 진행하였다. [그림 7]과 같이 k의 값이 3 일 때 결과가 가장 좋았으며, 값이 커질수록 과적합 등의 이유로 성능이 감소하는 모습을 보였다.

CCTHCV_2021_v21n8_1_f0006.png 이미지

그림 6. Animal-10N 데이터셋 기존 모델과 제안 모델 학습 및 검증 변화

CCTHCV_2021_v21n8_1_f0007.png 이미지

그림 7. VGG13 네트워크에서 k값 변화에 따른 정확도 변화

따라서 이후 모든 실험은 k를 3으로 고정하고 실험을 진행하였다.

제안 방법이 다양한 네트워크에서도 활용 가능함을 보이기 위해 VGG13, Resnet18, Resnet34에 Animal-10N 데이터셋을 적용한 결과 [그림 6]의 결과와 같이 모든 네트워크에서 성능향상을 보였으며, VGG13에서 1.68%, Resnet18에서 3.38%, Resnet34 에서 2.24%의 성능 향상을 확인할 수 있었다. 그러나 Resnet18에서 정확도 변화를 확인한 결과 3.38%의 성능 향상에도 불구하고 [표 2]에서와 같이 오랑우탄의 정확도가 떨어졌으며, [그림 5]에서와 같이 코요테와 늑대의 CR 값이 0.53에서 0.5로 상승하는 모습을 확인할 수 있었다.

표 2. Resnet18에서의 정확도 변화(%)

CCTHCV_2021_v21n8_1_t0002.png 이미지

본 연구에서는 제안 방법이 도메인이 다른 데이터셋에도 효과가 있음을 확인하기 위해 HanDB 데이터셋에 VGG13, Resnet18, Resnet34 모델을 적용하여 실험을 진행하였다.

[표 3]과 같이 실험 결과 모델의 정확도 향상은 Resnet34 모델에 대해 Animal-10N에서와는 달리 HanDB에서는 98.40%에서 98.50%로유의미한 성능 향상을 보이지 못하였는데, [그림 8]에서 HanDB는 Animal-10N에서와 달리 학습 초기에 Loss가 0으로 빠르게 수렴하는 모습을 볼 수 있었다.

표 3. 제안 모델 정확도(%): Animal-10N

CCTHCV_2021_v21n8_1_t0003.png 이미지

CCTHCV_2021_v21n8_1_f0008.png 이미지

그림 8. HanDB 데이터셋 기존 모델과 제안 모델 학습 및 검증 변화

제안 방법은 2 epoch부터 매 epoch마다 모델의 예측값을 기반으로 CM을 만들고 CR을 산출하여 학습에 이용하게 되는데, HanDB에서와 같이 모델의 학습이 빠르게 수렴한다면 CM은 대각행렬 모양을 띄게 되고 결국 CR의 값은 0이 된다. 이는 기존의 손실 함수에 아무런 가중치를 추가하지 않은 것과 같기 때문에 실질적 보정 효과를 가져올 수 없는 결과를 보여줬다.

Ⅵ. 결론 및 고찰

본 논문에서는 네트워크의 최적화나 데이터를 보강하는 과정을 거칠 필요 없이 모델과 데이터 자체의 특성만을 고려한 CR을 이용하여 딥 러닝 모델의 성능을 향상 하도록 하는 방법을 제안하였다. CR은 딥 러닝 모델 학습 과정에서 산출되며 Pairwise Learning 방법처럼 기존의 손실 함수에 가중치로 추가하여 모델의 학습에 이용한다. 제안 방법을 다양한 네트워크에 적용한 결과 네트워크의 구조 변화나 추가적인 데이터 보강 없이 모든 네트워크에서 유사 이미지 분류 성능이 향상되었다. Animal-10N의 경우 최대 3.38%의 성능향상을 보였으며, HanDB에서는 0.22%의 성능향상을 보였다. 그러나 Animal-10N 데이터셋의 (코요테, 늑대) 의경우 제안 방법에서 오히려 CR 값이 증가하고, 오랑우탄의 경우 정확도가 떨어지는 것을 확인할 수 있었는데, 이에 대한 분석이 필요하다. 또한 Animal-10N 데이터셋과 달리 HanDB에서는 유의미한 성능향상을 보여주지 못했는데, 딥 러닝 모델이 유사 이미지와 상관없이 빠르게 최적점에 수렴하기 때문이다. 학습이 빠르게 최적점에 수렴하면 학습 과정 중 오답이 발생하지 않게 되고, 결과적으로 [그림 3]의 CM 으로부터 산출되는 값 식 (2)의 \(k \times L \times \operatorname{Entropy}\left(C R_{i j}, C R_{j i}\right)\) 부분이 0이 되어 제안 방법을 적용하지 않은 것과 같은 값이 역전파 된다.

두 개의 데이터셋의 특징을 고려해보면, HanDB는배경이미지가 없는 한글 필기체 데이터셋이고, Animal-10N은 상대적으로 배경이 복잡한 동물 데이터셋이기 때문에, 학습 수렴의 속도자체의 차이로 인해 Animal-10N 데이터셋에서 제안한 방법의 유사 이미지 분류 보정 효과가 높은 것으로 확인되었다. 이러한 특성으로 인해 제안 방법은 추가적인 보완을 통해 실세계의 비식용버섯, 독성 약재 이미지와 같은 복잡한 데이터 분류에 보다 효과적일 것으로 예상되며. 또한 최근대 용량 데이터의 주요 수집처인 웹기반의 수집 이미지 셋과 같이 Noisy Label이 포함된 데이터셋에 대한 처리 방안 연구 등에도 활용할 수 있을 것으로 기대한다.

* 본 연구는 한국한의학연구원 ‘AI 한의사 개발을 위한 임상 빅데이터 수집 및 서비스 플랫폼 구축(KSN2013110)’과제의 지원을 받아 수행되었습니다.

References

  1. K. He, X. Zhang, S. Ren, and J. Sun, "Deep residual learning for image recognition," Proceedings of the IEEE conference on computer vision and pattern recognition, pp.770-778, 2016.
  2. Johnson, M. Justin, and M. Taghi, "Survey on deep learning with class imbalance," Journal of Big Data, Vol6, No.1, pp.1-54, 2019. https://doi.org/10.1186/s40537-018-0162-3
  3. Buda, Mateusz, Atsuto Maki, and A Mazurowski, "A systematic study of the class imbalance problem in convolutional neural networks," Neural Networks, Vol.106, pp.249-259, 2018. https://doi.org/10.1016/j.neunet.2018.07.011
  4. T. Xiao, T. Xia, Y. Yang, C. Huang, and X. Wang, "Learning from massive noisy labeled data for image classification," Proceedings of the IEEE conference on computer vision and pattern recognition, pp.2691-2699, 2015.
  5. H. J. Song, M. S. Kim, and J. G. Lee, "Selfie: Refurbishing unclean samples for robust deep learning," International Conference on Machine Learning, pp.5096-5915, 2019.
  6. S. Chopra, R. Hadsell, and Y. LeCun, "Learning a similarity metric discriminatively, with application to face verification," CVPR, pp.539-546, 2005.
  7. A. Dubey, O. Gupta, P. Guo, R. Raskar, R. Farrell, and N. Naik, Training with confusion for fine-grained visual classification, CoRR, 2017.
  8. Mikolajczyk, Agnieszka, and Michal Grochowski, "Data augmentation for improving deep learning in image classification problem," 2018 international interdisciplinary PhD workshop (IIPhDW), IEEE, pp.117-122, 2018.
  9. J. G. Ian, P. Jean, M. Mehdi, X. Bing, W. David, O. Sherjil, C. Aaron, and B. Yoshua, Generative adversarial networks. 2014.
  10. M. Frid-Adar, E. Klang, M. Amitai, J. Goldberger, and H. Greenspan, "Synthetic data augmentation using GAN for improved liver lesion classification," 2018 IEEE 15th international symposium on biomedical imaging (ISBI 2018), IEEE, pp.289-293, 2018.
  11. 임동진, AI 성능 향상을 위한 상호 혼동 쌍 선정 및 딥 러닝 모델 연구, 과학기술연합대학원대학교, 석사 학위논문, 2020.
  12. 김정연, 다중 열 딥러닝 구조와 자기 구성 지도를 이용한 한글 필기체 인식 연구, 숭실대학교, 석사학위논문, 2018.
  13. Moravec, Hans, "When will computer hardware match the human brain," Journal of evolution and technology Vol.1, pp.10-22, 1998.
  14. https://github.com/callee2006/HangulDB
  15. https://dm.kaist.ac.kr/datasets/animal-10n
  16. Simonyan, Karen, and A. Zisserman, "Very deep convolutional networks for large-scale image recognition," arXiv preprint arXiv:1409.1556, 2014.
  17. D. Arpit, S. Jastrzebski, N. Ballas, D. Krueger, E. Bengio, and M. S. Kanwal, "A closer look at memorization in deep networks," International Conference on Machine Learning, PMLR, pp.233-242, 2017.
  18. C. Zhang, S. Bengio, M. Hardt, B. Recht, and O. Vinyals, "Understanding deep learning requires rethinking generalization," Communications of the ACM, Vol.64, No.3, pp.107-115, 2021.