IT Solutions

소량의 데이터로 학습하는 최신 딥러닝 기술, 준지도 학습!

2018.03.19 09:30

인공지능(Artificial Intelligence)의 핵심 기술로 자리 잡고 있는 머신러닝(Machine Learning)•딥러닝(Deep Learning) 기술은 데이터를 이용하여 모델을 학습하는 기술입니다.


머신러닝•딥러닝 기술에서 ‘답의 추론’은 ‘입력된 데이터 값’과 ‘모델 파라미터 값’의 수치 연산을 통해서 이루어지는데, ‘Learning’은 입력된 데이터 값을 이용하여 모델 파라미터 값을 지속해서 업데이트하는 과정을 의미합니다. 즉, 머신러닝•딥러닝 기술은 수많은 데이터를 이용하여, 정확한 답을 추론할 수 있는 모델 파라미터 값을 찾는 기술입니다.



이때, 학습에 사용하는 데이터의 정답을 알고 있는지에 따라, 크게 2가지의 학습 기술로 구분합니다. 첫 번째는 정답을 알고 있는 데이터 집합을 이용하여, 모델 파라미터 값을 학습하는 지도 학습(Supervised Learning)이고, 두 번째는 정답을 모르는 데이터 집합을 이용하여, 모델 파라미터 값을 학습하는 비지도 학습(Unsupervised Learning)입니다.


먼저, 정답을 알고 있는 데이터로 학습하는 지도 학습 방법은 새로운 데이터가 입력되었을 때 정답을 추론하는 문제에 주로 적용됩니다. 즉, 불량•양품을 판별하는 자사의 비전 검사 영역이나, 과거 패턴을 기반으로 에너지 수요량을 예측하는 문제 등이 있습니다.



두 번째로, 정답을 모르는 데이터로 학습하는 비지도 학습 방법은 데이터의 특징만을 가지고 비슷한 데이터들끼리 모으는 문제에 주로 적용됩니다. 즉, 소비자의 구매 이력만을 가지고 비슷한 유형의 구매자 군집을 생성하여 추천에 활용하는 추천 알고리즘의 일부가 이에 해당됩니다.


추천 알고리즘을 예로, 지도 학습과 비지도 학습의 학습 방법을 좀 더 설명하면, 지도 학습에 사용되는 학습 데이터에는 각 소비자의 구매 이력과 이 소비자가 어떤 유형에 속하는지 정답이 함께 제공되는 반면, 비지도 학습에서는 소비자의 구매 이력만을 제공합니다. 그래서 지도 학습은 소비자들을 명확하게 구분할 수 있는 유형, 즉 정답을 사전에 정의할 수 있을 경우에만 적용할 수 있습니다.


반면, 비지도 학습은 정답이 필요 없으므로 모든 문제에 적용할 수 있으나, 정답이 있는 문제에서의 정확도는 정답이 주어지는 지도 학습보다 많이 떨어지는 편입니다. 그래서 상용화된 대부분의 일반적인 머신러닝•딥러닝 학습 방법은 지도 학습으로 이루어집니다.



위키백과(Wikipedia)에서 ‘Semi-Supervised Learning’을 검색하면 우리말로는 ‘준지도 학습’이라 부르며, ‘지도 학습’의 일종으로 학습을 위해 ‘unlabeled data’도 사용하는 기술’로 정의합니다.


즉, 준지도 학습 기술은 지도 학습과 비지도 학습의 중간에 해당하는 기술입니다. 준지도 학습 기술은 불량•양품처럼 명확한 정답이 존재하나, 정답 데이터를 구하기가 힘든 문제에 유용한 기술입니다.


 준지도 학습의 등장 배경


이안 굿펠로우(Ian Goodfellow), 요슈아 벤지오(Yoshua Bengio), 에런 쿠빌(Aaron Couville)이 저술한 ‘Deep Learning‘ 도서에 따르면, 카테고리당 대략 5,000개 정도의 학습 데이터가 있어야 허용 성능(Acceptable Performance)을 보인다 하며, 인간 성능에 필적하거나 뛰어넘기 위해서는 적어도 100만 장의 학습 예제가 필요하다고 합니다. 


5종류의 불량을 분류하는 인간의 작업을 딥러닝 모델로 대체하기 위해서는, 각 분량 당 100만 장 이상, 총 500만 장 이상의 학습 이미지가 필요하다는 의미입니다.


기존 기술인 지도 학습 기술에서 정확한 학습을 하기 위해서는, 각각의 학습 예제에 대해 정확한 정답을 태깅(tagging)하는 것이 필요합니다. 제조 현장에서 수백만 장의 이미지 데이터에 일일이 정확한 정답을 태깅하는 것은, 숙련된 전문가들이 매우 오랜 시간 작업해야만 달성할 수 있는 양으로 딥러닝 적용 및 확산의 장애 요인으로 작용하고 있습니다.


그러므로, 다량의 데이터가 생성되나, 일일이 정답을 태깅하기 힘든 제조 현장에서, 소량의 데이터에 대해서만 정확한 정답을 부여하고, 정답이 부여되지 않은 다량의 데이터와 함께 학습하여, 다량의 정답 데이터로 학습했을 때와 유사한 성능을 내기 위한 기술의 중요성이 커지고 있습니다.


 준지도 학습 기술 소개


준지도 학습 기술의 중요성은 끊임없이 강조되고 있으나, 상용화 수준에 도달하여 기술 백서나 언론 기사, 보고서 등으로 드러난 기술은 거의 없고, 대부분 논문 형태로만 존재하는데요. 딥러닝을 적용한 최신 준지도 학습 기술 방법에 대해 살펴보겠습니다.


① GAN(Generative Adversarial Networks)를 활용한 방법

GAN은 대립하는(Adversarial) 두 개의 신경망(Networks)을 활용하여, 이미지를 생성(Generative)하는 기술로서 'Ian Goodfellow et al.(2014)’에서 처음 제안된 이래, 가장 주목받고 있는 최신 딥러닝 기술 중 하나입니다. GAN은 다양한 목적으로 활용되고 있는 데, 본 문서에서는 ‘Ian Goodfellow et al.(2014)’이 최초 제안한 Original GAN 기술을 먼저 설명하고, 준지도 학습에서 이 기술이 어떻게 활용되는지 설명하고 있습니다.


l 그림 1. GAN을 활용한 연구 논문의 월별 누적 분포표


② Original GAN

최초로 제안된 GAN의 목적은 임의의 입력을 받아 새로운 이미지를 생성하는 네트워크 G를 만드는 것입니다. 이때, 입력은 ‘일정한 길이의 숫자 벡터’가 될 수도 있고, ‘이미지 자체’가 될 수도 있습니다.


입력으로 ‘일정한 길이의 숫자 벡터’를 받아서, 새로운 이미지를 생성하는 GAN의 경우 제대로 학습이 되었다면, 숫자 벡터의 특정 값을 조금씩 변경했을 때 일정한 변화가 나타난다.

예, [...,0.1,...], [...,0.2,...], [...,0.3,...], [...,0.4,...], ...


l 그림 2. 숫자 벡터의 일정 구간 값을 변경하면서 생성한 128*128 사이즈 이미지의 예


입력으로 ‘특정 이미지’를 받아서, 새로운 이미지를 생성하는 GAN은 아무런 사전 정보 없이 실제 핸드백 이미지와 신발 이미지를 학습한 후, ‘실제 핸드백 이미지’로 새로운, 즉 모델이 본 적 없는 ‘신발 이미지’를 생성한다.


l 그림 3. 핸드백 입력을 기반으로 생성된 새로운 신발 이미지들의 예


이러한 이미지를 생성하기 위해 ‘Ian Goodfellow et al. (2014)’은 ‘실제로 존재하는 이미지’‘네트워크 G가 만든 가상 이미지’를 구별하는 새로운 네트워크 D를 새로운 이미지를 생성하는 네트워크 G와 함께 제안했습니다.


논문 저자들은 ‘Generative model G’는 위조지폐를 만들어 발각되지 않고 사용하려 하는 위조범이고, ‘Discriminative model D’는 해당 지폐가 위폐인지 진짜인지 감지하려 노력하는 경찰에 비유하여 두 개의 네트워크를 설명합니다.


먼저 위조범 G는 경찰 D를 속일 수 있는 위폐를 만드는 것이 목적이고, 경찰 D는 위조범 G가 만든 위폐와 진짜 지폐를 정확히 구별하는 것이 목적입니다.


최초에는 위조범 G가 만든 위폐가 허술하므로 경찰 D는 대충 구별해도 모두 맞힐 수 있습니다. 즉 경찰 D가 진짜 지폐를 판단하는 로직이 매우 단순할 것입니다. 그러나, 경찰을 속이는 목적으로 학습이 진행됨에 따라 위조범 G가 만드는 위폐가 점점 진짜 지폐에 가까워질 것입니다. 위폐가 정교해짐에 따라, 경찰 D가 위폐와 지폐를 구별하는 로직(모델)도 정교해지게 됩니다.


궁극적으로, 두 모델의 경쟁은 두 팀의 방법을 개선하도록 만들어, 위조범 G는 진짜와 거의 유사한 지폐를 생성하는 기술을 배우고, 경찰 D는 진짜 지폐를 진짜로 판단할 수 있는 유용한 특징들을 배우게 됩니다.



일반적으로 GAN을 활용한 모델들은 임의의 입력에 대해 네트워크 G로 진짜 같은 이미지를 생성하는 것이 목적이나, 준지도 학습에서 GAN을 이용하는 방법은 진짜 이미지를 판단할 수 있는 유용한 특징들을 배운 경찰, 즉 네트워크 D를 이용합니다.


③ Semi-Supervised Learning with Generative Adversarial Networks

GAN을 활용한 준지도 학습이 최근 여럿 등장하고 있는데요. ‘Odena(2017), Dai et al (2017)’ 본 문서에서는, 가장 간단한 형태인 Odena(2017)가 제안한 GAN 활용 준지도 학습 기술에 대해 살펴보고 있습니다.


일반적인 GAN에서 Discriminator가 예측하는 것은, ‘실제로 존재하는 이미지인지? Generator가 생성한 가짜 이미지인지?’를 구별하는 것입니다. 이를 위해 Discriminator의 마지막 아웃풋은 실제 Real Data일 확률을 나타내는 노드와 Fake Data일 확률을 나타내는 노드 두 개로 구성됩니다. (그림 5의 왼쪽)


Odena(2017)는 기존의 GAN 구조에서 다른 것은 같이 유지하고, Discriminator의 마지막 아웃풋의 진짜 이미지를 예측하는 노드를 진짜 이미지의 각 class를 예측하는 노드들로 세분화했습니다. (그림 4의 오른쪽) 


l 그림 4. 불량•양품 2-class 문제에서 Orginal GAN 과 Odena(2017)의 Discriminator 구조


즉, 기존의 GAN 구조에서 Discriminator는 Real Data 인지? Generator가 생성한 Fake Data 인지를 판단하는 2-Class Classifier로 구성되나, 준지도 학습을 위한 Discriminator는 Generator가 생성한 Fake data 판단과 더불어 Real Data의 실제 Class를 구별하는 (n+1)-Class Classifier로 구성됩니다.


 데이터 간의 Association을 활용한 방법: Learning by Association


① 일반적인 딥러닝 모델이 이미지를 학습하는 방법

일반적인 딥러닝 모델을 학습하기 위해서는 분류해야 할 각 대상에 대해 수십•수백만 장 이미지를 정답과 함께 입력해야 합니다. 데이터가 입력되면, 딥러닝 모델은 입력된 이미지 데이터의 RGB 값을 이용하여 각 대상을 구별할 수 있는 숫자 집합을 생성하는 데, 일반적으로 적게는 수백 개에서 많게는 수천 개의 숫자 집합을 생성합니다.


이때, 생성된 숫자 집합을 특성 벡터(Feature Vector) 혹은 임베딩 값(Embedding Value)이라 부릅니다. 딥러닝 모델은 생성된 임베딩 값을 이용하여 이미지가 무엇인지를 예측하고, 예측된 결과와 정답을 비교한 후, 더 정확한 예측을 할 수 있도록 모델을 개선합니다. 즉, 각각의 이미지를 구별하는 근거인 ‘임베딩 값’이 정확해지도록 모델이 학습됩니다.


② Learning by Association 모델이 이미지를 학습하는 방법

Learning by Association 모델의 기본 아이디어는, 같은 class에 속하는 이미지들은 각각의 이미지를 구별하는 근거인 임베딩 값이 유사할 것이라는 가정입니다. 임베딩 값의 유사도를 이용해 더 정확한 임베딩 값을 만드는 모델을 제안합니다.


학습 데이터 관련해서, 일반적인 딥러닝 모델이 정답이 달린 labeled data만 이용하는 것과 달리, Learning by Association 모델은 정답이 있는 ‘labeled data’와 정답이 없는 지정되지 않은 ‘unlabeled data’ 모두를 이용합니다. 예를 들어, 필기체 숫자 이미지를 예측하는 모델 학습 시, ‘labeled data’ 4장과 ‘unlabeled data’ 4장을 입력으로 사용한다면, 딥러닝 모델(아래 그림의 CNN)은 각각의 이미지에 대해서 일정한 길이의 숫자로 구성된 임베딩 값을 생성합니다.


정확한 데이터 4장의 임베딩 값을 각 A1, A2, A3, A4라 하고, unlabeled data 4장의 임베딩 값을 각 B1, B2, B3, B4라 하면, 아래 그림 6에서 A2와 A4는 같은 class 4에 속함을 모델이 알 수 있으나, unlabeled data의 B3가 A2, A4와 같은 class에 속한다는 정답은 알 수 없습니다. (B3는 정답이 표기되지 않은 unlabeled data로 입력됩니다.)


l 그림 5. Convolutional Neural Net(CNN) 기반의 Learning by Association 학습 개념도


Learning by Association 모델은 임베딩 값의 유사도를 이용하여 가상의 walker가 A 집단에서 B 집단으로 이동한 후, A 집단으로 다시 돌아오는 경로의 확률을 정의하고, 이를 이용하여 학습하는 방법을 제안합니다. 이는 출발과 도착이 모두 정답을 알고 있는 A 집단이므로 가능한 아이디어인데요.


사실 엄밀히, A 에서 출발한 경로가 같은 class에 속하는 B 집단 데이터만 거쳐서 돌아와야 한다는 제약은 없습니다. 하지만, 일반적인 딥러닝 방법이 정답을 알고 있는 데이터들만의 특징을 배우는 것과 달리, 정답을 알고 있는 데이터들 사이에 정답을 알 수 없는 무수히 많은 데이터와의 관계를 추가하여 좀 더 보편적인 특징을 배울 수 있게 해 준다고 볼 수 있습니다.


학습 방법을 좀 더 구체적으로 설명하면, 출발과 도착의 class가 같을 경우의 확률은 커지고, 다른 경우는 작아지게 모델을 학습시킵니다. 즉, 출발과 도착 class가 같다면 ‘1/(class가 같은 데이터 개수)’, 다르다면 ‘0’으로 정답 확률을 정의하여 모델이 그 정답을 맞추도록 학습하는 것인데요. 이때 i 출발지에서 j 도착지의 확률을 Pij 라 표현하면, ‘그림 5’의 경우, 정답은 다음과 같습니다.


P11= P12 = P13 = P14 = P21 = P23 = P31 = P32 = P33 = P34 = P41 = P43 = 0

P22= P24 = 1/2 (2번에서 출발한 경로가 2번, 4번으로 골고루 들어온다는 가정)

P42 = P44 = 1/2 (4번에서 출발한 경로가 2번, 4번으로 골고루 들어온다는 가정)


‘그림 6’을 보면 Learning by Association 모델 학습이 시작되는 초기에는 형태가 매우 유사한 이미지들의 임베딩 값만이 유사하게 만들어지나, 학습이 진행됨에 따라 같은 class에 속하는 모든 이미지의 임베딩 값이 골고루 유사하게 생성됨을 확인할 수 있습니다.


l 그림 6. 학습진행 초기(상단) 및 후기(하단) embedding value의 유사도 (굵을 수록 유사)


준지도 학습 기술의 중요성은 끊임없이 강조되고 있으나, 상용화 이후의 기술백서나 언론홍보 기사, 시장 보고서보다는 논문 형태들로 존재하고 있습니다.

구글 트렌드(Google Trends)에서 ‘Semi-Supervised’를 전 세계를 대상으로 검색하면, 꾸준히 관심을 보이는 기술로 나타나고 있습니다. 여기서 시간 흐름에 따른 관심도 수치는 특정 지역 및 기간의 차트에서 가장 높은 지점에 대한 검색 관심도를 뜻합니다.

즉, 100은 검색어의 최고 인기도. 50은 검색어의 인기도가 절반 수준, 0은 검색어의 인기도가 최고 인기도 대비 1% 미만을 의미합니다. 최근 관심이 폭발적으로 증가한 딥러닝 기술과 달리 꾸준한 관심을 받는 기술임을 볼 수 있습니다.

l 그림 7. ‘Semi-Supervised’ Google Trends 검색의 시간흐름에 따른 관심도 변화


 

l 그림 8. ‘Deep Learning’ Google Trends 검색의 시간흐름에 따른 관심도 변화

지역별 관심도를 보면 최근 딥러닝 기술과 관련하여 무수히 많은 연구 결과를 발표하고 있는 국가 중 중국의 비율이 높음을 볼 수 있습니다.

l 그림 9. ‘Semi-Supervised’ Google Trends 검색의 지역별 관심도

하지만, 실제 문제에 적용된 사례 및 각 기업의 동향은 알려진 바가 크게 없습니다.

일반적인 딥러닝 기술이 사람이 성능을 뛰어넘으려면 수백만 장의 정답 데이터가 필요합니다. 제조 비전 검사에서 수백만 장의 정답 데이터를 생성하기 위해서는, 다수의 숙련된 인력이 장시간 작업해야 한다는 의미인데요. 만약, 부정확한 라벨링으로 정답이 제공된다면, 모델은 제대로 학습하지 못합니다. 그러므로 학습 데이터를 생성하기 위해 다수의 전문가가 비교 검토(Cross Check)를 해야만 합니다.

지금까지 소개된 기술들은 대부분 작은 크기의 실험용 이미지들에만 적용되었습니다. 그러므로 실제 공장에서 발생하는 큰 이미지 데이터를 대상으로 한 성능 검증이 필요한데요. 소량의 정답 데이터와 다량의 미분류 데이터로 수백만 장의 정답 데이터가 제공되었을 때와 유사한 성능을 확보할 수 있다면, 제조 비전 검사의 주요 경쟁력이 될 것입니다.

글 | LG CNS 정보기술연구소

* 해당 콘텐츠는 저작권법에 의하여 보호받는 저작물로 LG CNS 블로그에 저작권이 있습니다.
* 해당 콘텐츠는 사전 동의 없이 2차 가공 및 영리적인 이용을 금하고 있습니다.




Posted by IT로 만드는 새로운 미래를 열어갑니다 LG CNS
위로