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

Lab. Activity

 

 

 

Lab. Activity>Seminar  

structured multi-task learning (발표자: 박찬희)

작성자 관리자 작성일 2016-09-02 오전 1:12:42
내용

발표자 Summary

 

박찬희
Multi-task learning은 여러개 의 task를 동시에 학습하여 예측모델의 성능을 높이는 방법이다. 여기서 task란 하나의 모델을 만들 수 있는 관측치의 집합을 의미한다. 각 task들이 서로 연관성을 가질 경우 Multi-task learning은 모든 task에서 공통적으로 중요한 변수를 선택하여 모델을 구축함으로써 task들 간의 관계를 고려한 모델을 구축할 수 있다. Structured multi-task learning이란 서로 연관된 task들이 특정한 structure를 가질 때, 그것을 고려할 수 있는 학습방법이다. Structured multi-task learning은 반도체공정과 같이 복잡한 구조의 예측문제를 단순화시키거나 structure 구성시 전문가 지식을 활용할 수 있는다는 점에서 특히 유용하다고 생각된다.  

 

청취자 Summary

 

이한규
multi-task learning에 대한 내용으로 이미 정의된 혹은 정의한 다양한 구조에 따라 (본 세미나에서는 모델로 lasso모델을 들었지만) 예측 문제를 풀 수 있는 알고리즘에 대한 논의를 하였다. 일반적으로 하나의 데이터에는 하나의 모델을 만든다. 만일 task가 다양하다면 각 task별로 모델을 만드는데 multi-task learning의 장점은 이때 각각의 task간의 관계를 같이 고려할 수 있다는 장점이 가장 큰 것 같다. 본 세미나를 들으면서 과연 내가 요즘 다루는 문제에서 task라 정의할 만한 것이 뭐가 있을지 그리고 이러한 방법을 어디에 적용할 수 있을지를 고민해봤다. 요즘은 건설장비 프로젝트를 진행하고 있기 때문에...  데이터에 있는 다른 특징을 가진 다양한 장비 각각 또는 군집을 하나의 task라고 정의하고 새로운 값을 예측하는데 있어서 각 task를 고려한다면 기존의 방법과는 다르게 접근할 수 있지 않을까? 라는 생각이 들었다. 아마도 어떻게 구조화를 시키는가가 중요한 문제가 되겠지만 혹여나 나중에 기회가 된다면 한번 적용해 보는것도 좋은 접근이란 생각이 들었다.

 

곽민구
금일 세미나는 지난번 multi-task learning에 이은 structured multi-task learning에 대하여 진행되었다. 일반적으로 여러가지 task에 대해 모델링을 할때 모델의 성능을 높이기 위하여 각 task에 대한 모델을 개별적으로 구축한다. Multi-task learning은 모든 task를 한번에 학습시키는 방법과 각 task에 해당하는 개별 모델을 학습시키는 방법의 중간지점에 있다고 생각할 수 있다. 이 학습방법의 주 목적은 서로 관련이 있는 task들을 동시에 학습시키는 과정을 통해 generalization performance를 향상시키는 것이다. 학습 알고리즘에 다양한 방법을 사용할 수 있지만, 금일 세미나에서는 변수선택에 초점에 초점을 맞춰 LASSO를 예시로 들어 진행되었다. 각 task가 어떻게 연관이 되어있는가를 정의하기 위해 다음과 같은 4가지 가정 및 이에 따른 방법을 사용한다: 1) 모든 task는 서로 관련이 되어있다 2) Tree 구조 3) 서로 연관된 정도가 다른 그래프/네트워크 구조 4) 그룹으로 나뉘어 군집을 형성한다. Task들의 집합이 어떤 구조를 이루고 있는지 사전에 알고 있다면 적은 수의 관측치를 가지고서도 task간의 관계와 특징을 효과적으로 반영할 수 있는 알고리즘이라는 생각이 든다.

 

이상민
multitask learning은 유사한 성격을 지닌 tasks 간 일반화 성능을 높이고자 고안된 기법이다. task나 domain 간 전이학습을 추구하는 transfer learning(전이학습)의 분류로 볼 수 있다. multitask learning 시, 동일 그룹으로 묶는 방법은 전적으로 모델링 담당자의 선험적 지식에 의거한다. 그러므로, 금일 소개한 fully-connected relations, tree-based structure, graph-based structure, 그리고 cluster-based learning 등을 선택하고, 구조를 선택하는 것 또한 사람의 몫이다. 개별 task를 위한 model를 독립적으로 구축하는 것 외에 실무 전문가의 선험적 지식을 기반으로 학습 일반화 성능을 높인다는 점에서 기법의 응용영역이 다양할 수 있을 것이다. 아직 제조분야에 대한 적용사례 연구가 보고된 바는 없는데, 공정 FDC의 설비별 interlock 설정 false-alarm 감소를 위한 task grouping이나 동일 스펙의 자동화설비의 PM 분야 등에서 유용하게 활용될 수 있으리라 본다.

 

박영준
금일 세미나에서는 찬희형이 structured multi-task learning에 대해서 소개하였다. 일반적으로 multi-task learning은 모든 task간에 연관성이 있다고 가정하고 여러 task에 속한 관측치를 한대모아 한번에 학습한다. 이로 인하여 특정 task의 샘플 수가 부족한 경우에도 다른 task의 관측치를 통해서 신뢰도 높은 모델을 구성할 수 있는 장점이 있다. Structured multi-task learning은 모든 task가 서로 긴밀하게 연관성을 갖는 것이 아니라 계층적 구조, 군집 등으로 연관성 있는 task 들의 사전지식이 있다면 이를 활용하여 모델링 하는 기법이다. 오늘 소개한 내용에서는 변수 선택기능이 있는 lasso 모델을 활용하여 연관성 있는 task 그룹으로 부터 비슷한 변수선택 결과를 도출할 수 있게 하였다. 이를 활용하여 기존에 수행했던 여러 산학프로젝트에 어떤 방법으로 적용할 수 있는지에 대해 설명하였다.

 

정영재
찬희형의 "Introduction to structured multi task learning"이란 제목의 세미나를 들었다. Multi task learning이란 비슷한 작업이지만, 완벽히 같은 작업이지 않은 데이터셋들이 여러개 있을 때 데이터간의 관계를 고려하여 분석하는 것이다. 각개의 데이터셋을 분석해도 된다. 하지만 데이터셋간의 관계를 고려해서도 분석해야 결과가 좋아진다. 즉 각개분석을 하면서도 동시분석을 해야하는 것이다. 이렇게 하면, 데이터에서 선택되는 변수의 차이가 적어지게 되며, 예측력과 더불어, 해석력도 증가한다. 프로젝트시에는 예측력과 더불어 비전문가에게 설명을 해주는 것이 중요한 것 같다. 이런 상황에서 각개 데이터에 대하여 각각의 모델을 형성하면, 일반적으로는 비슷한 변수가 뽑힐 것으로 예상되지만 그렇지 않은 경우도 많이 존재하고 이럴 경우 비전문가를 납득시키기 어렵다. 이런 경우 Multi task learning을 통한 부가적 결과물인 공통적으로 선택된 변수로 설명을 하면 비전문가의 이해를 높일 수 있다. Multi task learning을 쓰는 또 다른 이유로는 데이터셋이 부족한 점이 있다. 데이터셋이 적지만 데이터셋이 풍부한 상황을 만들어야 한다. 이럴 경우 Multi task learning을 사용하면, 비슷한 데이터셋을 고려하여 모델을 형성하기 때문에 데이터가 부족한 점이 조금은 해소된다. 이번 세미나를 통하여 Multi task learning이란 개념을 알 수 있었다. 향후 적용분야가 어디인지 조금 더 알게되면 필요시 요긴하게 사용할 수 있을 것 같다.

 

최우식
이번 세미나는 structured multi-task learning에 대한 내용을 바탕으로 진행되었다. 구체적으로는, 예를 들어 기지국과 같이 하나의 모델을 형성할 수 있는 단위를 task라 하고, 이러한 task가 여러 개가 있으면서 특정한 구조를 가질 때에 이를 보다 잘 반영할 수 있는 알고리즘이라 할 수 있겠다. 현재 가지고 있는 데이터를 문제 상황이나 현실적인 제약 조건 등을 포함하여 다양한 관점으로 보고, 이에 맞게 변형 및 적용을 할 수 있다는 것이 큰 장점이 될 것으로 생각이 된다. 데이터에 따라 성능이 좌우되겠지만, 잘 적용된다면 실제 프로젝트 데이터에서 필요한 제약을 추가하거나 요청사항을 반영하기 편할 것으로 생각이 되고, 향후에 가능하다면 이를 적용해보고 결과를 확인해보는 것도 좋은 방법인 것 같다.

 

손지은
Task가 여러개일 경우, 모든 task를 한번에 학습하는 글로벌 모델과, 각각 학습하여 task 개수만큼 모델을 생성하는 방법이 가장 일반적인 접근 방식일 것이다. Multi-task learning 은 여러개 task 중에서 유사한 task에 대해 동일한 feature를 공통적으로 선택하게 된다. 이는 모든 task를 개별적으로 보지 않고 related tasks가 존재할 것이라는 가정을 가지고 있다.  모든 task가 서로서로 관련이 있는경우, 계층구조가 있는경우, 연관성이 모두 다른 네트워크 구조인 경우, 군집을 형성하고 있는경우에 대해서도 설명하였는데, 이밖에도 데이터의 구조를 표현할 수 있는 더 많은 경우에서 Multi-task learning이 고려되어 질 수 있겠다. 한가지 궁금한 것은, 중요 변수를 선택한다는 관점에서는 이점이 있겠으나  너무 일반화가 되기때문에 오히려 성능을 저하시키지는 않는지가 의문이다. Global model, individual model, multi-task model 세가지 모두에 대해 성능을 비교한 결과나 application에 대한 소개가 있었으면 좋겠다.

 

도형록
금일 세미나는 multi-task learning에 관련된 주제로 진행되었으며, 특히 multi-task learning에서도 penalized regression 모델을 이용하여 다수의 task에서 common feature를 찾는 방법론이 소개되었으며, 이를 task간 structure가 주어진 경우로 확장하는 방법론에 대한 내용까지 소개되었다. 가장 기본적인 형태의 multi-task learning은 학습에 사용하는 모든 task가 관련되어있다고 가정하고, 모든 task들이 반응 변수 예측에 중요한 common feature를 공유한다고 가정하는 방식이다. 이러한 접근 방식을 사용할 경우, 모든 task에 대한 회귀계수 (beta)값이 같을 필요는 없지만, 다수의 중요한 변수를 공유하게 된다. Multi-task learning은 task의 수가 많고 각 task에 속하는 관측치의 수가 적은 경우, 각 task에 대해 single-task learning을 적용하는 것 보다 더 좋은 성능을 나타낸다고 한다. 최근에는 각 task간의 관계를 이용하여 multi-task learning을 고도화하는 structured sparsity multi-task learning 방법론들이 제안되고 있다. 특정 task들은 다른 task들보다 서로 더 밀접한 관계에 있을 수 있으며, 일부 task들은 서로 거의 관련이 없는 경우도 있을 수 있다. 이런 task간 관계를 tree 또는 graph, cluster 등으로 표현할 수 있으며, 그 정보를 이용하여 common feature를 선택하는 방법을 보다 고도화하는 것이다. 예를 들면, task 간 관계가 cluster로 표현된 경우, 같은 cluster에 포함된 task들은 다른 cluster에 포함된 task들 보다 더 많은 common feature들을 갖게되는 방식이다. Structured sparsity multi-task learning의 경우에는 다양한 분야에 응용이 가능할 것으로 보이며, 특히 실제 문제에 사용하게 될 경우 task간 structure를 구성하는 방식 역시 재미있는 문제가 될 것으로 생각한다. 최근 변수 간 structure가 주어진 경우에 sparse model을 학습하는 방법에 대한 연구를 진행하고 있는데, 약간 다른 관점에서 진행되고 있는 연구 주제를 접할 수 있어 많은 자극을 받았다. 알고리즘 측면에서 볼 경우에는 진행중인 연구와 유사한 점이 많아 향후 연구주제로 생각해볼만한 것 같다.

 

강현구
오늘 세미나는 structured multi-task learning이라는 주제로 진행되었다. 발표자의 지난 세미나의 연장선 상에서 진행되었는데, 지난 세미나 때의 내용을 간략히 정리해주어 이해되지 않았던 부분들이 명료해졌다. Lasso 기법에 기반한 multi task learning 방법론들을 소개해주었는데, 실제 데이터셋에 적용한 실험 결과가 없어서 조금 아쉬웠다. 한편 데이터의 개체 수가 적고 그 개체의 특성들이 조금씩 다른 상황에서 학습이 필요할 때 유용하게 쓰일 수 있을 것 같다. Lasso 기법을 사용하지 않고 딥 러닝 기법의 적용도 가능하다고 하니, 개인 연구와 접목시켜서 공부해봐야겠다는 생각이 든다.

 

박성호
머신러닝에서 사람이 손으로 쓴, A와 B 문자 이미지를 분류하는 패턴인식 문제를 생각해보자. 가장 중요한 것은 주어진 A와 B 이미지 데이터이다. 주어진 데이터는 방대 할 지라도 사람마다 A와 B 문자를 쓰는 방식이 다르고, 이미지 데이터의 화소 및 픽셀이 등이 다르기 때문에 기존 방식처럼 모든 데이터를 통합해서 이미지 분류 모델을 구축한다면 부적합 (Underfitting)문제가 발생한다. 그렇다고 해서 사람마다 또는 저장된 이미지 형태마다, 각각 분류 모델을 구축하게 된다면 과적합 (Overfitting) 문제 때문에 분류성능 저하를 초래 할 수 있다. 본 세미나에서는 공통된 문제를 해결하는데 사용될 수 있는 데이터이지만 각각이 조금씩 상이한 특성을 나타내는 데이터를 통합해서 모델링 할 수 있는 Multi-task learning 연구가 소개되었다. 앞선 말한 예제에서, A와 B 문자를 쓰는 각각 사람으로부터 수집된 데이터 또는 문자가 저장된 형태에 따라 task 정의된다. 그리고 task 별로 모델을 구축하되 task 간 공유하고 있는 숨겨진 패턴을 관통해서 모델링하는 것이 Multi-task learning이라 볼 수 있다. 본 세미나에서는 Multi-task learning 연구 중 대표적인 접근법인 Regularization 방법을 활용한 연구들에 대해 개괄적으로 소개하였다. 기존 접근법에 비해 global, local 패턴을 동시에 고려 할 수 있기에, 앞으로의 연구들이 어떻게 진행될지 기대된다.

 

이슬기
오늘 세미나는 멀티테스크러닝에 대해 다루었다. 우리가 접하고 있는 수많은 데이터는 여러 개의 테스크로 분리될 수 있는 데이터이다. 예를 들어 반도체 웨어퍼 두께를 측정하는 문제에 있어서 수집된 데이터는 동일한 목적을 갖고 있지만 장비나 설비에 따라 다른 특성을 나타낸다. 이러한 경우 장비, 설비 별 개별적인 웨어퍼 예측 모델을 구축할 수 있지만 충분한 데이터를 확보하기 어렵기 때문에 오버피팅 문제가 발생한다. 반대로 이를 무시하고 모든 데이터를 통합하여 하나의 모델을 만든다면 개별적인 특성을 반영하지 못하여 성능이 좋지 못할 것이다. 본 세미나에서는 동일한 목적을 유지하면서도 데이터의 개별적인 특성을 반영할 수 있는 연구에 대한 전반적인 소개가 진행되었으며 많은 멀티테스크러닝 방법 중에 regularization 기반의 회귀모델을 이용한 방법을 소개하였다. 흥미로운 러닝 방식이었으며 실제 프로젝트를 문제를 해결할 때 사용하면 좋을 것 같다.

 

강성현
최근 세미나 주제를 살펴보면 특정 모델의 정보를 다른 모델과 공유하거나 이전하는 방법에 대해서 많은 연구가 진행되고 있음을 알 수 있다. 금일 소개된 Multi-task learning도 유사한 개념을 포함하고 있다. 여러 Task로 구성된 환경에서 연관된 Task간의 선형 모델의 계수를 비슷하게 설정할 수 있는 특징이 바로 그것이다. Task간의 연관성은 도메인 지식을 활용하거나 계층적 군집화 혹은 네트워크, Tree 등의 방법으로 군집화하여 활용할 수 있다. 개인적인 의견으로는 금일 발표된 논문의 취지는 좋지만, 경험적으로 선형모델의 한계로 인해 이러한 방법을 사용하더라도 일반적인 환경에서는 비약적인 예측성능 향상을 경험하기는 어려울 것으로 생각된다. 다만 일정 Task의 정보가 부족한 경우와 같은 특수한 경우에서는 유용할 것으로 예상된다. 데이터가 부족한 Task의 경우 유사한 Task 정보를 활용할 수 있기 때문이다. 따라서 향후 실험 시나리오에서 일정 Task의 데이터를 임의적으로 삭제한 후 해당 Task의 데이터만 활용하는 경우와 유사한 Task 정보를 함께 사용하는 경우를 비교하는 등 특수한 상황을 설정하여 실험해보기를 제안한다. 또한 금일 소개한 선형 모델기반의 Multi-task learning 이 아닌 SVM 등 상대적으로 강건한 모델로 알려진 분류기 기반의 Multi-task learning을 고안해보는 것도 좋은 연구가 되리라 생각된다.

 

김영훈
오늘 세미나에서는 Multi task learning 에 대해서 공부할 수 있었다. Machine Learning 기법을 적용하다 보면 관측치가 Task 별로 그룹이 지어지는 경우가 많이 생긴다. Task는 좀 더 유사한 데이터 특성을 갖는 관측치의 집합이라 할 수 있는데, 생산 시스템에서는 같은 목표를 가지고 작동하지만 Lot이나 장비가 다른 경우가 있고, 전력 시스템의 경우 지역이 다른 경우 Task 별로 데이터를 그룹화할 수 있다. 이 상황에서 일반적인 방법론을 적용할 경우 각 Task 별로 개별적인 학습을 진행하게 된다. 하지만 각 Task의 관측치 수가 적은 경우 모델의 성능이 떨어지게 되는데, 이를 보완하기 위해 개별 모델의 학습에 모든 데이터가 영향을 줄 수 있게 디자인한 학습 방법이 Multi task learning이라 할 수 있다. 오늘 소개된 Multi task lasso 모델은 계수값이 추정될 때 모델 간의 선택되는 변수가 유사해지도록 제약함으로서 일반화 오류를 감소시키도록 모델링 되었다. 이 밖에 다양한 모델들을 Multi task learning 모델로 변형한 형태가 있다고 하는데, 좀 더 찾아보고 공부해보면 좋을 것 같다는 생각이 들었다. Multi task learning에 대한 소개를 들으면서 변수를 그룹화하고 선택함으로서 일반화 오류를 줄이는 것 뿐만 아니라 관측치도 그룹화하고 이 특성을 모델에 반영할 수 있다는 아이디어를 배울 수 있었고, 관련해서 공부를 더 해보면 좋겠다는 생각이 들었다. ​




이전글
다음글

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