본문 바로가기

디지털 중국

딥러닝 기반 캡차(CAPTCHA) 보안 문자 인식 모델, feat. 알리바바

반응형

소요에서 관련 내용 확인하기

4월 20일부터 24일까지 “THE WEB CONFERENCE 2020(이하 WWW)”이 타이베이에서 진행되었습니다. 1994년부터 시작된 WWW 행사에서는 Web의 발전사, 관련 기술 개발 및 기술이 사회문화에 끼치는 영향을 다룹니다.

오늘은 알리바바의 핀테크 회사 앤트파이낸셜(蚂蚁金服)이 WWW 2020에 제출한 논문 <A Generic Solver Combining Unsupervised Learning and Representation Learning for Breaking Text-Based Captchas>을 소개하겠습니다.


인터넷이 빠르게 발전함에 따라, 보안 위협 역시 증가하고 있습니다. 캡차(CAPTCHA, Completely Automated Public Turing test to tell Computers and Humans Apart)는 가장 간단하면서도 효율적인 방식으로 인터넷 보안 메커니즘의 기본으로 자리 잡았습니다. 캡차란 사람과 컴퓨터를 구별하기 위한 테스트 절차로, 우리가 흔히 인터넷상에서 회원가입을 하거나 결제를 진행하는 과정에서 입력하는 보안 문자가 그 중 하나입니다.

보안 메커니즘으로 사용 가능한 캡차 모델은 많습니다. 하지만 사용자 선호도 및 설계 용이성으로 인해 현재 인터넷 보안을 유지하고 바이러스 공격을 방지하는 가장 보편적인 모델은 문자 기반 캡차(text-based CAPTCHA, 이하 문자 캡차)입니다. 문자 캡차의 목적은 프로그래밍된 봇(Bot)은 인식할 수 없고 사람만 인식하여 입력할 수 있는 문자 이미지를 제공함으로써 보안성을 높이는 것입니다.

문자 캡차는 안전성 분야에서 최고의 성능을 자랑합니다. 사람이 아닌 봇에 의한 자동 문자 입력을 식별할 수 있고, 기존 캡차의 빈틈을 찾아내어 피드백을 제공하면서 웹 사이트 개발자가 더 안전한 보안 문자 시스템을 갖출 수 있도록 도움을 제공하기 때문입니다.

문자 캡차의 기능을 개선하려면 현재 제공하고 있는 캡처가 얼마나 취약한지 파악하고 이를 보완해야 합니다. 따라서 지난 십 년 동안, 사람들은 캡차를 뚫기 위한 많은 방법론을 제시했고, 그중 대다수가 문자 인식을 위해 수동으로(manually) 필터링을 조정하고 분할(segmentation)하는 작업이 필요한 것이었습니다. 하지만 이런 방법은 성능이 좋지 않았고 많은 사람들의 관리가 필요했습니다.

최근 핫한 분야인 딥러닝 기반의 문자 캡차 인식 알고리즘은 높은 정확성을 보이지만 대량의 데이터와 라벨링 수동 작업이 필요합니다. 라벨링 작업도 어렵지만 더 큰 문제는 적절한 학습 데이터가 충분하지 않다는 것입니다.

앤트파이낸셜은 라벨링된 문자 캡차 이미지를 얻기 어렵지만, 라벨링 없는 문자 캡차 이미지는 대량으로 모을 수 있다는 사실에 주목했습니다. 딥러닝 분야 중 하나인 비지도학습(un-supervised learning, 사람의 지도 없이도 컴퓨터 스스로 패턴을 찾아내는 기법)과 표현학습(representation learning, 복잡한 데이터 공간을 선형 분류가 가능할 정도로 단순화해 표현하는 기법)을 통해 라벨링된 데이터에 대한 의존도를 낮출 수 있을 것이라 판단했습니다.

그 결과, 앤트파이낸셜은 비지도학습과 표현학습을 합친 문자 캡차 모델을 제안했고, 대량의 라벨링된 데이터와 라벨링 수동 작업 필요 없이도 정확한 문자 인식이 가능하도록 했습니다. 모델 테스트에 따르면, 라벨링된 문자 캡차 이미지 500장 만으로 대부분의 웹 사이트 문자 캡차를 뚫었다고 합니다. 이는 현재 사용되는 문자 캡차가 안전하지 않음을 의미하는 것이죠. 앤트파이낸셜은 자사가 개발한 방법을 사용하면 기존 문자 캡차의 약점을 발견하고 더 높은 안전성과 신뢰성을 갖춘 문자 캡차를 개발할 수 있다고 밝혔습니다.

모델 소개

문자 캡차 이미지는 아래 그림(Figure 1)과 같이 일반적으로 전경층(foreground layer), 문자층(character layer), 배경층(background layer)으로 이루어집니다. 전경층과 배경층에는 주로 오클루딩 라인(occluding line, 컴퓨터 그래픽 용어로 문자 간 명확한 구분을 위해 셰이딩하는 선)과 노이즈 포인트(noisy point) 및 노이즈 배경(noisy background) 등의 방해 요소가 포함됩니다. 문자층에는 글꼴, 크기, 색상, 회전, 왜곡 및 겹칩과 같은 추가 보안 요소가 있습니다. 각 층에 있는 요소들의 기능은 봇에 의한 자동 공격을 차단하는 것입니다.

앤트파이낸셜 모델의 구조는 아래 그림(Figure 2)에서 보이듯이 비지도학습 기반의 문자 캡차 분해기(decomposer)와 자기지도학습(self-supervised learning, 지도학습의 특별한 경우로 사람이 정답을 알려주지 않고 주어진 입력 데이터에서 컴퓨터 스스로 정답을 찾아 학습하는 기법) 기반의 문자 캡차 인식기(recognizer)로 구성됩니다. 실제 문자 캡차 이미지가 주어지고 분해기가 문자층과 배경층으로 분류하면 인식기는 문자층의 문자를 식별하게 됩니다. 이때 분해기는 비지도학습을 통해 이미지 내부의 통계 정보를 파악하고 배경층을 제거한 후 유용한 문자 정보를 간직합니다. 이로써 문자 식별이 정확해지고 그 결과, 공격의 어려움도 낮아지는 것입니다.

아래 그림(Figure 3)은 자기지도학습 인식기 모델의 훈련 과정을 나타냅니다. 인식기는 특징 추출기(extractor)와 분류기(classifier) 총 두 부분으로 구성되어 있습니다. 특징 추출기는 표현학습 기법을 통해 라벨링 없는 문자 캡차 이미지 데이터에 대해 학습을 진행합니다. 이때 효과적이고 판별력 있는 문자 특징을 추출해냅니다. 특징 추출기가 훈련을 마치면 분류기는 이와 함께 소수의 라벨링된 문자 캡차 이미지 데이터를 가지고 지도학습을 통해 훈련을 진행합니다. 마지막으로 전이학습(transfer learning, 사전학습된 모델을 활용하여 학습 시간을 줄이고 예측률을 높이는 기법)을 통해 인식기를 미세조정(fine-tuning)하기 때문에 소수의 라벨링된 데이터만을 가지고도 문자 인식의 정확도를 높일 수 있는 것입니다.

문자 캡차 이미지 구조를 자세히 살펴보면 배경층은 보통 자기유사성(self similarity, 자신을 포함한 전체와 닮은 모습을 보여주는 성질)이 강하고 문자층과는 약한 유사성(weak similarity)을 가지고 있음을 알 수 있습니다. 이런 관찰을 바탕으로 앤트파이낸셜은 이미지 사전정보를 이용, 비지도학습 기법으로 문자 캡차 이미지의 배경층과 문자층을 따로 분리하기로 했습니다.

예를 들면, 아래 그림(Figure 4)과 같이 두 개의 네트워크를 사용하여 문자 캡차 이미지 “I”를 인식하는 경우, Network _2는 자기유사성을 기반으로 배경 텍스처 층XB를 캡처하고, Network_1은 문자 텍스처 층 XC를 캡처합니다. 또한, Network_3을 사용하여 가중치 마스크 t를 학습하고 두 층을 결합하여 복원 이미지를 출력합니다.

복원 이미지를 만들기 위해 앤트파이낸셜은 학습 목표로 복원 손실(reconstruction loss, 얼마나 출력값이 입력값을 잘 따라가는지를 측정)을 사용했습니다. 복원 손실을 통해 Network_1과 Network_2는 단순하지만 동시에 완전히 다른 구성 요소를 우선적으로 캡처하고, 마스크 t는 원본 문자 캡차 이미지를 복구하기 위해 두 개의 층을 결합하는 방법을 학습합니다. 학습이 완료 후 생기는 t ·XC가 우리가 얻게 되는 문자 데이터 층입니다.

이 모든 과정이 비지도학습을 통해 이루어집니다. 매 문자 캡차 이미지의 서브 층(전경층, 문자층, 배경층)의 통계 규칙을 추론하고, 이를 바탕으로 층을 분리하기 때문에 라벨링된 데이터 규모에 의지하지 않아도 됩니다. 아래 그림(Figure 5)은 분해기를 거쳐 문자 캡차 이미지의 노이즈가 제거된, 깨끗해진 문자 데이터 층을 보여줍니다.

본격적인 특징 추출 과정은 아래 그림(Feature 6)을 보면 알 수 있습니다. 먼저, 라벨링 없는 문자 캡차 이미지를 균일한 크기로 자릅니다(crop). 예측 임무를 구성하기 위해 자동 회귀 모델로 RNN(Recurrent Neural Network)을 사용하고 앞의 4개 특징 벡터를 순서대로 결합합니다. 이후 선형 회귀를 통해 뒤에 이어질 특징 벡터를 예측하고 앞에 주어진 특징 벡터와의 유사도를 측정합니다. 예측 임무의 양성 샘플(positive sample)은 같은 열(column)에 있는 문자 캡차 이미지 조각들의 조합이고, 음성 샘플(negative sample)은 서로 다른 위치에서 랜덤으로 뽑힌 이미지 조각들의 조합입니다. 이러한 표현학습을 통해 모델은 진정한 학습이 가능하고 각 문자를 잘 인식할 수 있게 됩니다.

앤트파이낸셜은 특징 추출기가 지역 정보에만 치우쳐 학습하는 현상인 “사소한 지름길(trivial shortcuts)”에 빠지지 않고 충분히 문자 표현 정보와 의미를 모두 학습할 수 있도록 어려운 예시(hard examples)를 많이 포함한 훈련 방안을 제시했습니다. 아래 그림(Figure 7)을 보면, 어려운 예시에는 인위적으로 서로 다른 배경 및 문자 색깔을 가진 양성 샘플(a), 상하 간 간격이 다른 음성 샘플(b), 회전 각도가 다른 음성 샘플(c), 서로 다른 실제 문자 캡차 이미지를 이어 붙인 음성 샘플(d) 등이 포함됩니다. 이렇게 다양한 예시가 주어지면 특징 추출기는 다른 방해 요소를 무시한 채, 유용한 표현 정보와 의미만을 학습하게 됩니다.

특징 추출기가 훈련을 마치면 더 이상 자동 회귀 모델은 사용되지 않고 대신 분류기가 본격적으로 사용됩니다. 분류기는 3개의 콘볼루셔널 층(convolutional layer)과 2개의 전결합 층(fully-connected layer)으로 이루어진 간단한 네트워크 구조를 사용합니다. 앤트파이낸셜의 인식기는 주로 비지도학습에 의존하고 라벨링된 데이터는 소량만 사용합니다. 이로써 라벨링된 데이터가 부족한 상황에 유연하게 대처할 수 있는 것입니다.

테스트 결과 분석

아래 표(Table 1)는 앤트파이낸셜 모델의 성능을 나타냅니다. 기존 지도학습 기반의 캡차 이미지 인식 모델보다 좋은 성능을 기록했고, 중국판 페이스북 웨이보(Weibo)의 문자 캡차 이미지의 경우, 무려 38% 정도 성능 향상을 보여주고 있습니다.

결론

본 논문이 활용될 수 있는 범위는 문자 캡차 이미지 인식에만 제한되지 않습니다. 자기지도학습 기반의 인식기가 문자 캡차 이미지에 대한 정보를 잘 파악한다는 것은 딥러닝도 라벨링 없는 데이터를 충분히 활용할 수 있음을 뜻합니다. 현재 AI 기술은 날이 갈수록 발전하고, 그 속도 또한 매우 빠르지만 라벨링된 데이터 양에 대한 의존도는 여전히 높습니다. 따라서 앤트파이낸셜은 자사가 제시한 방법을 통해 딥러닝 기반 AI 기술 연구의 방향을 완전히 바꾸어 놓을 수 있다고 믿습니다.

참고 원문: https://blog.csdn.net/dQCFKyQDXYm3F8rB0/article/details/105548043

728x90
반응형