::고려대학교 DMQA 연구실::

Lab. Activity

 

 

 

Lab. Activity>Seminar  

Active Learning for Regression (발표자: 박성호)

작성자 관리자 작성일 2016-11-11 오후 10:53:38
내용

발표자 Summary


박성호

최근 인공지능이 개념이 확대되고 사회환경 및 일상 생활에 많은 영향을 주면서, ‘인공지능과 사람이 공존 할 수 있는가?’라는 논점에서 ‘어떻게 공존해야 좋을지’로 변화하고 있다. Active Learning은 인공지능과 사람이 효율적으로 협동하는 프로세스이다. 기존에 Machine Learning, 데이터마이닝 등에서는 각 데이터에 대한 Label 정보가 주어져 있다고 가정하고 Label이 붙여진 데이터를 통해서 Machine Learner를 구축한다. 하지만 실제문제, 예를 들어 금융거래보안 분야를 살펴보면 방대한 양으로 거래내역 데이터는 수집되지만 각각의 거래내역이 정상 혹은 비정상 거래내역인지 알 수 없다. 따라서 실제로는 Label이 붙여지지 않은 데이터 중 임의의 데이터를 뽑고 전문가 또는 Oracle(Label 붙여 줄 수 있는 어떤 무언가, 사람/기계 포함)를 통해서 Label를 붙여주게 된다. 하지만, 전문가 또는 Oracle를 통해 Label를 붙여 주는 과정은 비용적/시간적 측면에서 많은 어려움을 발생시킨다. Active Learning은 이러한 인공지능과 사람과의 협동문제를 효과적, 효율적으로 만들어 주는 새로운 프로세스이다. Active Learning은 기존의 프로세스와 달리 Label이 붙여지지 않은 데이터 중 무작위로 데이터를 뽑아 Label를 붙여 주지 않고, Machine Learning 하는데 있어 정보량(학습과정에서의 데이터의 가치)을 많이 제공해줄 수 있는 데이터를 선택적으로 뽑아 Label를 붙여 준다. 이 과정을 반복함으로써, 전문가는 불필요한 데이터에 대해서 Label을 붙여주는 노력을 할 필요 없을 뿐만 아니라 적은 양의 데이터만을 갖고도 효과적인 Machine Learning 구축 할 수 있다. 금주 세미나에서는 Active Learning에 핵심이 되는 데이터 선택 전략 중 Machine Learning 모델의 변화를 최대화하는 전략에 대해 소개를 하고 특징/한계를 파악에서 더 나아가 수정/보완 방법을 제시하였다. 많은 관심과 다양한 의견을 제시해준 동료 연구원 및 교수님께 감사의 마음을 전합니다.

 

청취자 Summary


유재홍

금일 세미나는 Active Learning for Regression을 주제로 진행되었다. Supervised learning 방법론을 적용하기 위해서는 설명변수 X와 반응변수 Y에 대한 정보가 모두 존재해야만 하지만, X변수를 얻는 것은 상대적으로 쉬운반면 Y 정보를 얻는데는 많은 비용이 소모된다. 일례로, 반도체 웨이퍼의 품질변수 (웨이퍼의 두께 및 CD 값 등)을 계측하기 위해서는 상당한 시간이 소모되므로 전수검사를 하는 것은 거의 불가능하다고 한다. 이러한 상황에서는 가용한 데이터가 상당히 부족하기때문에 모델의 성능을 향상시키는 것은 매우 어렵다는 문제가 있다, 또한, 일반적으로는 Y값을 얻는 과정은 Random sampling을 통해 관측치들을 선택하고 이렇게 무작위로 선택된 관측치에 대해서 Y값을 측정하게 되는데, 이러한 경우 데이터의 신뢰도는 높다고 할 수 없다. 이러한 상황에서 Active learning이라는 방법론이 제안되었다. Active learning이란, 모델의 성능을 향상시킬 수 있는 관측치들을 선택하고 이렇게 선택된 관측치들에 대해서 Y값을 측정하고 (Y값을 측정하거나 부여하는 과정을 오라클이라고 한다.) 모델을 재구축하는 과정을 반복적으로 수행하는 방법이다. 상당히 흥미로운 방법들이 많이 소개되었으며, Active learning에 대해서 보다 자세하게 배울 수 있는 좋은 기회였다. 특히, 현재 내가 관심을 가지고 연구하고 있는 Semi-supervised learning과도 많은 연관성이 있다고 생각되는데, 좀 더 자세하게 공부해보고 싶다는 생각이 들었다.


이한규

Active learning은 어떻게 "좋은" sample을 어떻게 선택할 것인가라는 문제가 핵심이 되는 거라 생각한다. 내 생각에는 비단 active learning 뿐만이 아니라 일반적으로 learing에서도 이는 중요한 문제라고 생각한다. 우리는 일반적으로 데이터가 많으면 좋다고 생각한다. 그러나 퀄리티가 낮은 데이터가 수백, 수천개 있는 것보다 그 중에서 데이터를 잘 설명하는 또는 특성을 잘 나타내는 소수의 데이터를 잘 뽑아서 모델링 하는 것이 비용적, 시간적 측면에서 더 효율적일 것이다. 오늘 세미나에서는 active learing에서 다루는 다양한 sampling stretagy중 maximizing model change에 대해 다뤘다. 모델에 관점에서 SDG를 기반으로 최소화 하는 관측치를 선택하는 것으로 outlier 또는 noise에 취약한 약점이 있지만 반복적으로 수행하는 active learning의 특성 탓에 반복될 수록 여타의 다른 알고리즘에 비해 우수한 성능이 보임을 확인하였다. 앞서 언급했듯이 이러한 접근법은 지금처럼 데이터가 무수히 많은 시점에서 다른 learning에서도 충분히 활용될 만한 가치가 있다고 생각한다.

 

곽민구

금일 세미나는 Active Learning Strategy for Regression에 대하여 진행되었다. 현실에서 보유하고 있는 데이터의 Y값이 부족하고, 이를 채우기 위한 비용이 많이 필요한 경우가 있다. 모델을 만들기 위해서는 X와 Y가 쌍으로 존재하는 관측치가 충분히 많아야 하는데 현실적인 문제로 이것을 해결하지 못하는 경우를 위해 사용하는 것이 Active Learning이다. 모델의 성능을 향상시키기 위해 전문가 혹은 Oracle에게 Y를 붙여달라고 요청을 해야 하는데, Y를 붙여야 하는 적절한 샘플을 뽑는 것이 active learning에서 가장 중요한 부분인 sampling strategy이다. Classification problem에서는 1. 불확정성이 높은 관측치를 샘플링하여 레이블을 붙여 2. 모델의 불확적성을 줄이는 프로세스로 진행이 된다. 하지만, 예측문제는 불확정성을 계산을 할 수가 없기 때문에 모델자체의 분산을 줄이는 목적을 수행한다. 이 과정을 수행하기 위해 논문에서는 Gradient Descent Algorithm을 사용했다. 하나의 관측치가 모델에 포함이 되었을 때 파라미터가 변하는 정도 혹은 기울기가 크다면, 오라클에 Y를 요청하는 쿼리를 날리는 시스템이다. 하지만 gradient를 계산하기 위해서는 Y가 필요한데 현재 문제상황에서는 Y값이 존재하지 않는다. 논문에서는 이를 추정하기 위해 앙상블기법을 활용하여 Y의 분포를 추정하고, 이를 통해 gradient를 계산했다. 이 방법론의 단점은 데이터의 outlier는 gradient가 크게 계산이 되기 때문에 outlier를 데이터셋에 업데이트 시키는 경우가 발생한다는 것이다. 금일 세미나에서 제안도니 방법론은 gradient function에 local outlier factor를 적용하여 미리 이상치를 제거하고 active learning을 실행하는 것이었으며 실험결과도 초기 및 어느정도 학습이 된 이후에 다른 알고리즘보다 성능이 좋게 나오는 것을 확인할 수 있었다. Active Learning에 대해 기초적인 내용부터 연구내용까지 쉽고 논리적으로 설명을 들을 수 있어 유익한 시간이었다.


박영준

금일 세미나에서는 regression에 대한 active learning 연구를 성호가 소개해줬다. Active learning에서는 oracle에 물어봐 레이블을 부여할 샘플을 정하는 여러 기준이 있지만 regression에서는 이 기준을 정립하기 어려워 연구가 부족한 현실이다. Expected model change maximization은 regression을 위한 active learning 으로 비교적 최근에 제안된 방법론이다. 이 방법론의 요지는 stochastic gradient search로 학습하는 모델에 대해 loss의 변화를 최대화 할 수 있는 샘플에 대해서 레이블을 부여하는 원리이다. Active learning의 특성상 초기에 아웃라이어에 의해 모델의 성능이 크게 저하될 수 있다. 성호가 세미나 말미에 제안했던 내용은 이를 극복하기 위해 OCC의 한 방법론을 이용해 아웃라이어를 배제하는 방법으로 성능을 높일 수 있었다. 한 가지 덧붙일 것이 있다면 사전에 아웃라이어를 제거한 후 active learning을 이용하는 방법보다 제안하는 방법을 사용하는 것에 어떠한 이점이 있는지 더 연구해볼 필요성이 있다.


이상민

금일 세미나는 regression model의 active learning 기법 연구에 대한 부분을 박성호 연구원이 발표하였다. 기존연구가 많이 없던 이유를 알게 된 것 같고, 초기값에 민감한 모델임을 감안하여 anomaly detection 기법 중의 하나인 LOF를 고려해본 것도 좋은 연구제안이었다고 본다. 한 가지 추가로 든 생각은 LOF에서 anomaly로 취급하지 않는 군집화된 outliers(contextual outlier를 포함)는 역시나 문제가 될 수 있지 않을까 싶다. oracle에게 물어볼 부분을, regression의 Y값과 함께 초기 outlier 여부에 대해 동시에 묻는다면 보다 확실한 성능을 보장하지 않을까 싶다. 좋은 연구내용을 소개해주어 고맙고, 연구에 많은 진전이 있기를 바란다.


박찬희

Supervised learning 모델을 구축하기 위해서는 관측치와 그것에 대응되는 target value인 y값이 필요하다. 실제 문제에서 y값을 구하기 위해서는 많은 시간과 비용이 소모되는 경우가 많다. 따라서 소수의 관측치를 샘플링하여 y값을 구하게 된다. Active learning은 y값이 필요한 관측치 샘플링 기준을 제시한다. 현재 연구되고 있는 active learning기법들은 예측 불확실성이 높은 관측치를 우선적으로 샘플링하는 방법을 제시하고 있다. 즉, 예측된 y값이 실제 y값과 크게 다른 관측치를 모델에 투입하여 모델의 일반화성능을 높이자는 것이다. Active learning은 부족한 y값을 최대한 활용하자는 목적에서 semi-supervised learning가 유사한 면이 많다. Semi-supervised learning 기법을 활용하여 active learning에서 더욱 정확한 샘플링 기준을 제시할 수 있을 것이라고 생각된다. 

 

강성현

Active learning은 사실 성능을 차치하더라도 현실 문제와 굉장히 밀접한 관계가 있다. 제조 영역에서만 보더라도 거의 모든 검사는 샘플 검사에 지나지 않는다. 장비의 가격이나 생산성의 제약으로 인해 전수검사는 매우 제한적으로 실시될 뿐이다. 따라서 적은 레이블 작성 비용만으로 모델의 성능을 높일 수 있는 active learning의 활용 범위는 정말 무궁무진하다. 오늘 발표를 들으면서 굉장히 다양한 아이디어를 생각할 수 있었는데, 우선 딥러닝과의 결합이다. 딥러닝은 gradient descent 방법을 통해 loss function 값을 최소화하는 파라미터(weight, bias)를 찾는 과정을 반복하는데 오늘 소개된 active learning의 접근 방법을 보면 loss function이나 gradient descent를 사용하는 방식이 동일하기 때문에 deep learning을 자연스럽게 연상할 수 있었으며, 충분히 접목할 수 있으리라 생각한다. 또 한가지는 on-line learning method와의 결합이다. 모델의 성능을 높일 수 있는 양질의 샘플을 추가로 확보하더라도 기존 모델을 off-line으로 재구축해야 한다면 선택된 알고리즘이나 반복 횟수에 따라 모델링 시간이 상당히 지연될 수 밖에 없을 것이다. on-line learning 기법은 리모델링 없이 time varying에 대응할 수 있도록 고려된 알고리즘이기 때문에 active learning을 통해 선택된 샘플을 큰 시간을 들이지 않고 모델에 반영할 수 있는 장점이 있다. 현재 outlier 처리에 대한 제안 아이디어도 매우 좋았으며, 위의 아이디어도 함께 활용한다면 굉장히 풍부한 파생연구가 진행될 수 있으리라 생각한다. 


이슬기

오늘 세미나는 엑티브 러닝 전략 중 회귀분석에 대해 집중적으로 다루었다. 기존 엑티브 러닝 연구들이 대부분 분류문제가 많이 개발되어 있는데, 회귀분석의 경우는 드물며 선형회귀분석 모델 위주로만 개발되어있다. 본질적으로 회귀분석에서의 Y값을 사용하는 것이 어렵기 때문으로 생각된다. 오늘 발표에서 선형회귀분석의 모델을 향상하는 샘플링 방법을 두 가지 상반되는 전략에 대해 소개하였다. 전자는 모델의 변동을 가장 적게하는 데이터를 뽑는것이고 후자는 모델의 변동을 가장 크게 하는 데이터를 뽑는 것이다. 이 부분이 매우 흥미로운 관점이라 생각한다. 가정에 따라서 둘 다 결국 모델의 성능을 올리는데 기여할 수 있기 때문이다. 발표자는 후자 방법의 문제점을 개선하는 방식을 제안하였다. 본질적인 방법에 대한 이해와 고민이 없었다면 쉽게 제안하지 못했을 부분이라 생각한다. 같은 연구자로써 긍정적인 자극을 받을 수 있는 세미나였다.


도형록

금일 세미나는 regression 문제에서의 active learning method를 중심으로 진행되었다. 일반적으로 기계학습 모델을 지도학습을 통해을 학습할 때 설명변수 X와 반응변수 Y의 pair (X,Y) 들을 이용하여 학습 데이터 셋을 구성한다. Active learning에서는 현재 갖고있는 학습 데이터 셋을 이용하여 지도학습 모델을 구축한 뒤, 기계학습 모델이 unlabeled data에 대해 반응 변수 값을 oracle에게 query하는 과정을 거친다. 이후, oracle이 알려준 반응 변수 값을 이용하여 학습 데이터 셋을 늘리게 되고, 기계학습 모델은 점차 정확헤지게 된다. Active learning은 일반적으로 데이터가 많이 확보되어 있지만, 각 관측치에 대한 labeling cost가 높아 대부분의 관측치들이 Y값이 없는 상황에서 유용하다. 이를 pool-based 상황이라고 하며, 이 상황에서 active learning algorithm은 unlabeled data 집합에서 특정 법칙에 따라 관측치를 선택하여 query한다. Active learning에서 핵심은 어떤 관측치에 대한 query를 oracle에게 보내서 labeling을 요구할 것인지 결정하는 query strategy이다. Query strategy는 현재 학습하고자 하는 모델이 regression model인지 classification인지에 따라 크게 달라질 수 있으며, 사용하려는 기계학습 알고리즘에 따라 달라지기도 한다. 일반적으로 널리 사용되는 query strategy로는 uncertainty sampling, query by committee, expected risk reduction, maximum model change, variance reduction 등이 있다. 세미나 발표자는 이런 기존 방법론들을 간단하게 소개하였고, regression 문제에 있어서 maximium expected model change 방법론에 대해 자세히 설명하였다. Max expected model change 방법론의 핵심은, 현재 모델에 새로운 관측치를 추가할 때 loss function이 가장 크게 변하는 관측치를 찾는 것으로, 해당 논문의 저자들은 loss function의 변화량을 loss function의 gradient를 이용하여 정의하였다. 또한, 각 관측치에 대한 gradient를 직접 계산할 수 없기 때문에, ensemble model을 이용하여 expected gradient를 추정하였다. 다른 active learning 알고리즘과 비교 실험하는 과정에서 사용한 데이터의 변수의 수가 너무 적다는 생각은 들었지만, 다양한 방법론을 시도하기 어려운 regression 문제에서 새로운 expected model change를 계산하는 방법론을 제안한 데 의미가 있다고 생각한다. 마지막으로 발표자는 outlier가 초기 단계에서 문제를 일으킬 소지가 있다고 설명하였고, outlier에 대한 대처를 하기위해 local outlier factor를 이용하여 outlier가 query되지 않게 하기 위한 간단한 수정을 시도하였다. 진행한 실험에서는 확실히 초기단계에서 기존 max expected model change 방법에 비해 좋은 성능을 나타내었으나, 다양한 관점에서 분석과 실험을 진행할 필요는 있는 것 같다. 약간의 수정과 이론적인 설명이 더해진다면 좋은 연구가 될 수 있을 것 같다.

 

강현구

오늘 세미나는 기계학습 방식의 일종인 active learning에 개념적 설명과 함께 어떻게 active learning 연구가 regression 문제로 확장될 수 있을 지에 대해 박성호 연구원의 주도 하에 진행되었다. 보통 우리는 기계학습 모델을 학습할 때, 주어진 데이터를 모두 사용하여 모델을 학습하는 것이 일반적이다. 하지만, 모든 데이터를 활용하는 것이 항상 모델의 성능을 높여주는 것은 아니며, 모델의 성능을 결정 짓는 데이터는 일부에 불과하다. 그리고 만약 그 데이터가 레이블이 주어지지 않은 데이터라면 모델을 학습시키는 일은 더욱 어려워진다. Active learning은 위의 두 가지 문제점을 모두 해결할 수 있다. 레이블이 있는 데이터로 기초적인 학습이 완료된 기계학습 모델은 관측되는 레이블이 없는 데이터가 모델의 성능을 개선할 수 있을 지 혹은 없을 지에 대해 판단하며, 사람 혹은 전문가에 해당하는 오라클에게 해당 데이터의 레이블을 요구한다. 레이블이 부여된 데이터는 학습 데이터에 추가가 되며, 모델은 위의 과정을 반복함으로써 성능이 개선될 수 있다. 그렇다면 어떠한 기준으로 모델이 새로운 데이터가 자신에게 도움이 될 것인지 판단하는 기준이 중요한데, 이를 질의 전략(querying strategy)이라고 부른다. Classification 문제(모델)의 경우 이 질의 전략에 대해 연구가 많이 진행되어있는 반면, regression 문제(모델)에 대해서는 비교적 연구가 더딘 편이다. 오늘 발표자가 착안한 부분은 바로 이 부분이며, 실험을 통해 제안하는 방법론이 합리적임을 보여주었다. Active learning의 개념에 대한 명쾌한 설명과 함께 기존의 연구의 한계점에 착안하여 가정을 깼을 때 좋은 연구가 나올 수 있다는 좋은 사례인 것 같다.      




이전글
다음글

(136-713) 서울시 성북구 안암로145 고려대학교 자연계캠퍼스 신공학관 211호 | TEL.02-3290-3769
고려대학교 산업경영공학과 데이터마이닝 및 품질애널리틱스 연구실. All Right Reserved. 개인정보처리방침