- 2018년 8월 12일 오후 1:39
- 조회수: 2089
INFORMATION
- 2018년 8월 17일
- 오후 1시 30분 ~
- 고려대학교 신공학관 218호

TOPIC
OVERVIEW
발표자 후기

최근 데이터의 특징은 빠른 속도로 방대한 데이터가 수집되며, 시간에 따라 데이터 패턴이 변화(Concept Drift)한다는 것이다. 특히, 반도체 산업 내 자율자동차 시스템(Automated Vehicle System)의 데이터는 공정환경이 바뀜에 따라 지속적으로 변화한다. 본 세미나에서는 Concept Drift에 대한 개념과 학습 프레임워크를 소개하고, 자율자동차의 경로 유량 예측문제에 적용한 연구에 대해 소개하였다. Concept Drift의 유형과 Data Change의 종류에 대해 소개하였으며, Concept Drift를 해결 하기 위한 학습 프레임워크 중 Adaptation과 Change Detection에 대해 좀 더 자세한 설명을 하였다. 향후 계획으로는 연구원들의 코멘트를 바탕으로 연구의 완성도를 높이고자 한다. Concept Drift 현상은 자율자동차 시스템 외에 다양한 산업에서 자연스럽게 나타날 수 있는 문제이기에, 연구 주제로 잡아보는 것도 좋지 않을까 개인적으로 생각한다.
청취자 후기

다양한 현실문제를 다룰때, "시간"이라는 개념을 빼고 논하기는 어려울 것 같다. 반면, 데이터를 분석하는 입장에서 "시간에 따라~"라는 이야기가 붙으면 문제의 난이도가 급격하게 증가하는 것도 사실이다. 오늘 세미나에서는 시간에 따라 특정한 y가 변할때 또는 상황이 변함을 고려한 모델링 기법인(정확히는 하나의 framework라고 생각된다) Concept drift에 관해 다뤘다. Concept drift는 데이터가 시간에 따라 변화할때 이를 어떻게 정확히 예측 또는 분류할 것인가에 대해 다룬다. 일반적으로 우리는 모델링을 수행한다고 할때, 모델링을 하기 위한 과거데이터와 향후 미래의 데이터가 같을 것이라는 가정을 가지고 시작한다. 그러나 이번 Concept drift는 기본적으로 데이터에 변동이 발생하여 평균 또는 분산이 모델링 시점에서의 데이터와는 변동이 있다를 가정하고 있다. 그리고 이러한 문제를 해결하기위해 "어떻게 모델링을 할 것인가?"부터 "언제 만들어진 모델을 업데이트를 할것인가?" 그리고 "어떻게 업데이트를 어떻게 할것인가?" 등을 모두 고려하는 광범위한 문제해결 방법의 하나라고 생각되었다. 최근 실제 문제를 접하면서 "시간"을 고려하는 것이 매우 중요한 문제란 사실을 깨닳고 있는 요즘에 중요한 개념을 하나 배운것 같다.

금일 세미나에서는 성호가 concept drift 개념과 이를 해결할 수 있는 모델링 방법에 대해 설명했다. 흔히 시간에 따라 데이터 분포가 변하여 모델의 성능이 저하되는 time varying 문제가 concept drift에 포함되는 개념이다. 모델링 해야 하는 데이터에 concept drift를 포함하는 경우 변화하는 데이터 분포를 반영하기 위해 online learning 기법을 적용하거나 주기적으로 모델을 새로 학습하는 전략을 주로 이용한다. 이번 세미나에서는 학습 데이터 분포의 변화 시점을 탐지 할 수 있는 change point detection을 포함하여 online learning 및 주기적 재학습을 다양한 모델에 적용한 실험결과를 공유하고 이 결과에 대해 토의를 나눴다.

오늘 세미나 시간에는 Concept Drift라는 개념에 대해서 배웠다. Concept Drift는 우리가 예측하고자 하는 Y와 예측에 이용하는 X 간의 상관관계가 변하는 상황을 의미한다. 현실 문제를 해결하다보면 이러한 상황들을 많이 마주하게 된다. 반도체 공정 데이터 분석 같은 경우에서도 타겟으로 하는 계측값과 이를 예측하는 데 사용하는 FDC 간의 상관관계가 변화해서 예측이 어려워지는 문제들이 발생한다. 이러한 문제 상황을 우리는 다양하게 해결할 수 있다. 모델을 주기적으로 업데이트 해주는 방법이 가장 기본이 될 것이고, 온라인 러닝과 같이 관측치마다 업데이트해주는 방법도 있을 수 있다. 오늘은 Change Detection을 한 이후에 Change가 감지되었을 때 모델을 업데이트 해주는 방법에 대해서 배울 수 있었다. Control Chart의 개념을 활용해서 오류 확률을 모니터링해서 이것이 굉장히 커졌을 때 모델을 업데이트하는 방법이다. 이를 이용하면 모델 업데이트 회수를 줄이면서도 효과적으로 Concept Drift 문제를 해결할 수 있다. 현재 내가 하고 있는 프로젝트와도 밀접한 관련이 있어서 오늘 배운 방법을 응용해봐도 좋을 것 같다는 생각이 들었다.

금주 세미나 주제는 concept drift라는 주제로 진행되었다. 대부분의 기계학습 방법론들은 training data의 분포와 testing data의 분포 (또는 관계)가 같다고 가정하는데, 현실에서는 그렇지 않은 상황들이 발생한다. 발표자가 제시한 상황은 공장의 automated vehicle system의 경우였는데, 시간에 따라 데이터의 분포가 연속적으로 변화한다. 이런 문제상황은 다양한 분야에서 나타난다고 하고, 이를 해결하기 위한 접근 방식 또한 다양하다고 한다. Concept drift에서 가정하는 대표적인 문제 상황은 real concept drift, virtual concept drift, class prior cencept drift 등이며, 이러한 변화들이 시간에 따라 급격하게 또는 점진적으로 나타나는 상황 등을 가정한다. 이런 다양한 concept drift에 대처하기 위한 방법들은 크게 memoy-based, change detection-based, learning-based, loss estimation-based 등으로 나눌 수 있으며, 세미나에서는 change detection-based와 learning-based에 대해서 간단하게 다루었다. Automated vehicle system 관련 데이터에 적용한 결과도 같이 소개했으며, concept drift가 문제 상황이 적절하다면 좋은 성능을 낼 수 있다는 가능성을 보여주었다. 많은 가정이 필요할 것으로 생각되지만 제한적으로나마 training data와 testing data의 분포가 일치하지 않을 때 대처할 수 있는 좋은 방안이라고 생각하며, 현실 문제를 해결하는 데 있어 도움이 될 것으로 보인다.

오늘 세미나는 concept drift라는 주제에 대한 포괄적인 설명과 함께 자율주행차량시스템 내 정체수준 예측에 대한 적용 실험 결과를 소개하는 방식으로 진행되었다. Concept drift이라는 용어에 대해서는 생소하였으나, 시간에 따라 데이터의 분포가 변하여 기존에 학습해둔 모델을 업데이트하는 문제를 다룬다는 점에서 online learning의 필요성을 논하는 분야로 이해하였다. 시간변동성 문제는 우리가 평소 데이터를 다룰 때 꽤나 자주 직면하는 문제이지만 대수롭지 않게 간과할 때가 많다. 가령 학습 데이터에 대한 예측력은 높으나, 검증 데이터에는 형편 없는 성능을 보이는 것은 학습/검증 데이터가 동일한 확률분포에서 발생한다는 기본적인 가정을 놓치고 있기 때문이다. 자율주행차량시스템 내 정체수준 예측은 과거 산학 프로젝트로 경험해본 적이 있는데, 그 때 내가 겪었던 문제상황을 새롭게 이해하고 접근하는 방식이 좋았다. 딥 러닝 계열의 online learning 방법론을 사용하여 좋은 결과를 얻음을 확인할 수 있었으며, 자연스럽게 딥 러닝 계열 알고리즘의 알고리즘을 살려 forecasting 쪽으로 연구를 확장하면 좋을 듯 싶다.

Concept drift는 학습모델의 예측변수 분포가 시변하여 학습하지 못한 새로운 패턴이 발생하는 상황을 일컫는다. 우리에게 그나마 친숙한 온라인학습 기법들은 이러한 문제를 다루기 위한 방법 중 하나이다. 금일 세미나는 제조현장의 현실문제 해결을 위해 수행중인 연구를 소개하였다. 무엇보다 발표의 구성을 잘 잡아서 처음 경청하는 연구원들도 쉽게 이해할 수 있었으리라 본다. (연구배경->문제정의->기존연구 소개->실험설정->결과토의) 기계학습 모델을 제어시스템의 중요한 의사결정에 응용하려면 의도한 예측 정확성을 유지하는게 무엇보다 중요하다. 만약 과거에 존재하지 않았던 새로운 패턴이 발생하는 경우(actual or virtual drifts) 모델을 재구축하거나 새로운 패턴에 대해 온라인 학습할 필요성이 있다. 금일 발표는 특히 change detector 부분에 집중하여 설명하였고, 예측변수의 잔차(residual)를 모니터링 하는 기법을 소개하였다. 좋은 발표를 해준 성호에게 감사의 마음을 전하며, 더욱 깊이 있는 연구를 진행할 수 있기를 기대한다.

오늘의 세미나는 Concept Drift에 관한 주제였다. 반도체 공정내에 장비간 반도체의 이동은 overhead track을 따라 자율 주행 차량으로 이루어진다. 이동은 최단경로를 따라 이동하게 되며 이때 정체되는 구간이 생기게되고 이를 우회하는 경로를 Dynamic Routing으로 찾게된다. 이때 경로의 유량 예측이 수반되게된다. 하지만 경로의 유량 예측의 성능이 테스트데이터에는 저하되는 특성을 보인다. 그 이유를 살펴보니 시간에 따라 유량이 상승하는 패턴을 띄었기 때문이었다. 이처럼 시간에따라 데이터의 분포가 변하게되는 현상을 Concept Drift라고한다. Concept Drift의 종류는 베이지안 이론 관점으로 세가지로 구분될 수 있다. posterior distribution이 변화하는 real concept drift, 같은 클래스 내에서 input space, 즉 likelihood function이 변하는 virtual concept drift, prior distribution이 변화하는 class prior concept drift이다. 오늘 세미나는 real concept drift에 집중되었다. 또한 Concept Drift를 변화하는 정도 및 속도로 나누면 Global/Local, Abrupt/Gradual으로 나눌 수도 있다. Concept Drift한 상황에서 학습의 프로세스는 기존의 Stationary 상황에서의 학습프로세스와 달라지게된다. 기존에 예측모델에 실시간으로 새로운 input 데이터가 입력되면 그 예측값이 측정된다. 그 이후 일정 시간이 흐른후 실제 값이 주어지게되고 이 둘의 차이를 살펴보다가 Drift 유무가 Change Detector로 판단되어 Drift가 이루어졌다면 Adaptation으로 모델을 retraining하거나 update시키게 된다. 이때 Change Detector를 사용하지않고 특정주기마다 retrain을 진행한다면 Blind strategy, 또한 online learning처럼 매번 모델을 update하거나 change detection로 변화가 감지될때 update하는 전략을 사용한다면 Informed strategy가 존재한다. 오늘 세미나를 들으면서 발표자가 이 분야에 흐름에 대해 완전히 숙달하고있다는 느낌이 들었다. 따라서 흐름의 전달이 매우 매끄러울 수 있었다고 생각한다. 내가하고 있는 연구에서 나는 이런 연구의 발전의 흐름을 인지하고 있는가? 나에게 반성이 들었다. 매우 유익한 세미나였다.

오늘 세미나는 Concept drift 방법론으로 AVSs(Automated vehicle systems)의 Dynamic routing 문제를 푸는 주제로 진행되었다. Concept Drift는 발표자가 지난 시간에 소개했던 Online learning 또는 Adaptive learning과 비슷하지만 더 큰 개념이다. Concept Drift의 전체 프레임워크는 다음과 같다. 시점에 따른 실제 값과 예측 값을 통해 Loss를 예측하다가 어떤 변화가 감지되면 예측 모델에 변화를 준다. AVSs는 산업 현장에서 쓰이는 장비로 세미나에서 다룬 문제 상황은 반도체 생산라인에서 AVSs의 유량에 따른 정체를 최소화하는 것이었다. 이와 같은 문제를 사람이 아닌 기계로 컨트롤함으로써 데이터 기반의 정교한 컨트롤이 가능하여 시간당 처리하는 물량이 증가할 뿐만 아니라 인건비를 절약할 수 있다는 장점이 있다. 발표자가 이 문제를 풀기 위하여 일반적인 예측 모델이 아닌 Adaptive한 모델을 찾아 적용한 이유는 다루는 데이터가 시간에 따라 변하기 때문이다. 다시 말하면 과거의 데이터를 기준으로 모델을 만들고 새로운 데이터에 적용하려고 할 때는 새로운 데이터는 과거 데이터와 같은 특징을 가지고 있다는 전제가 깔려 있는 것인데 시간에 따른 유량이 이 전제를 따르지 않기 때문에 데이터의 변화를 감지하여 모델을 업데이트할 수 있는 장치가 필요하다. 따라서 발표자는 데이터의 분포 자체가 변화한다는 Real concept drift에 주목하여 관련 연구에서 나와있는 여러 Detection method와 Learning method를 조합하여 실험하였다. 발표자가 문제 상황과 사용한 방법론의 프레임워크를 알기 쉽게 설명해주어 연구의 목적과 방향을 명쾌하게 이해할 수 있었다. 주어진 문제 상황에 딱 알맞은 방법론을 선택한 것 같다. 추후 연구의 결과가 궁금하다.

오늘 전체세미나는 'Concept Drift: Nonstationary Traffic in Automated Vehicle Systems'라는 주제로 성호형이 진행하였다. 반도체 제조공정에서 물류는 한 공정이 끝난 후 다음 공정을 수행하기 위하여 설비간 로트(lot)를 이동하며 발생되는 문제를 해결하는 활동을 일컫는다. 반도체 물류에서 효율적인 양산체재를 유지하기 위하여 정체를 예측하고 방지하는 것은 중요한 문제이며 활발한 연구가 이루어지고 있다. 오늘 성호형이 물류 정체 예측을 효과적으로 하기 위해 연구중인 Concept Drift개념을 적용한 방법론을 소개해 주었다. 연구에 사용되는 관측치는 유량으로 관심구간 내 시간별 차량 개수를 의미하며 시계열 데이터이다. 시계열 데이터에서 패턴을 인지하는 것이 핵심이지만 데이터가 계속 생성됨에 따라 그 패턴이 변하기 때문에 그 변화의 경향을 반영할 수 있는 기계학습 모델을 구축하고자 하는 것이 Concept Drift의 목적이다. 일정기간 패턴을 잘 학습했지만 그 패턴의 평균이나 분산이 변하고, 패턴 자체가 변할 수도 있는 경우가 그 예다. 변하는 패턴을 반영하기 위하여 배치(batch) 방식으로 학습하지 않고 일정 기간(window)를 정하여 window간 패턴의 변화정도를 반영한다. 패턴을 반영하는 방법은 여러가지다. 예측모델의 손실(loss)을 추정하고, change detector가 변화 정도를 탐지한 후 다시 학습하여 모델 파라미터에 반영하는 과정이다. 이 과정을 꼭 모두 사용하는 것은 아니고 방법론마다 사용하는 단계에서 차이를 갖는다. 오늘 세미나에서는 이 개념을 관리도(control chart)에 적용한 사례와 현재 성호형이 연구하고 있는 반도체 물류 정체를 설명하는 유량을 예측한 사례를 불 수 있었고, Concept Drift개념을 적용한 방법론이 패턴의 경향을 더 잘 예측하는 성과를 보였다. 오늘 본 세미나로부터 Concept Drift의 개념과 분석절차, 그 응용사례를 심플하고 담백하게 알 수 있는 시간이었다. 시계열 모델에 Concept Drift를 적용하여 트렌드와 계절성을 보다 잘 잡아낼 수 있는 방법은 없을까 생각해보았다. 또한, 사람도 마찬가지라는 생각을 한다. 너무 과거에만 가중을 두어 꼰대가 되지 말고, 새로운 것을 받아들여 트렌드를 즐기고, 안목있는 자세로 미래를 보아햐 할 것이다.

금일 세미나는 Concept Drift 에 관한 주제로, 저번 발표자의 발표 주제였던 Online Learning과 연결 된다. Concept Drift란 데이터 내 패턴이 시간에 따라 변화하는 현상을 말하며 stationary를 가정하고 있는 기존의 machine learning 기법이 잡아내지 못하는 부분이기도 하다. Concept Drift에 대한 연구는 adaptation, change detection, memory, loss 에 대한 내용을 중심으로 이루어지고 있다. 이전 발표에서 들었던 Online learning과는 달리, concept drift 기법은 control limit에 벗어나는 drift sample만을 추출하여 update를 시켜준다. 이 때, update 되는 sample들에 따라 control limit 또한 변경되기 때문에 시간에 따라 달라지는 데이터 내의 패턴을 잡아낼 수 있다. 이러한 change detection은 모델 간의 update를 위해 매번 loss를 계산하는 online learning과는 상이하게 drift가 일어난 sample만을 뽑아 loss를 계산한다는 점에서 상이하다. 실제로 최근 공정 도메인에서 도출된 문제 상황을 바탕으로 진행된 연구인 만큼 더 나아가 예측 단계까지 control 할 수 있게끔 발전되었으면 한다.

금주 세미나는 ‘Concept Drift : Nonstationary Traffic in Automated Vehicle Systems’라는 주제로 Nonstarionarity를 가정하는 데이터상에 Concept drift가 발생할 때 모델 혹은 예측값에update를 하므로써 보다 Adaptive한 예측을 가능하도록 하는 다양한 관점에 대해서 소개해주시고, Automated Vehicle Systems에 적용시킨 오빠의 연구까지 소개해주셨다. 먼저Concept Drift란 시점이 다른 두 지점에서 각 데이터의 분포가 다르다는 것을 의미하며, 시간의 흐름에 따라 데이터에 변화가 발생한다는 것이라 해석할 수 있다. 이를 정의하는 수식 및 관점은 decision boundary가 변화하는 ‘Real concept drift’, decision boundary는 변함 없지만 input space상에서 위치가 변화하는 ‘Virtual concept drift’, Class가 변화하게 되는 ‘Class prior concept drift’ 가 있고, Draft가 진행되는 시간의 점진정도에 따라 ‘Global drift’, ’Local drift’로도 세분화할 수 있다. 따라서 Adaptive한 예측을 위해 고려해야하는 사항이 많으며, 포괄적인 목적과 Concept은 일치하지만 Draft를 정의하는 방식과 Window size, Change하는 시점 등 Parameter에 따라 관점을 달리할 수 있다. 해당 논문에서는 Change를 Detection하여 모델을 업데이트해야할 시점을 Control Chart를 기반으로 사용했다. 예측값과 실제값의 불일치할 확률을 모니터링하여 해당 확률값이 정의한 신뢰구간에서 벗어나게되면 Drift가 발생했다고 판단하고, 해당 데이터에 적합하도록 모델을 업데이트하게되는데 이 때 저자는 분산의 변화까지도 고려하여 더욱 정밀하게 Change Detection을 가능하도록 설계했다. 실제로 Drift pattern을 detection하고, 이에 따라 관리도 및 모델을 변화해야 하는 것은 공정문제에서는 중요하고 불가피한 문제이다. 성호오빠가 하고계시는 연구에서는 반도체 공정 내에서 Process사이 Lot을 옮겨주는 수단으로 자율주행 시스템이 적용되고 있는데, 정의된 트랙들 중 정체가 발생한 구간에 대해서는 최적인 우회적인 경로를 제안할 수 있어야 하며 이 과정에서 각 경로들의 유량 예측이 중요하지만 해당 데이터의 경우 Drift pattern이 있기 때문에 매 시점별 데이터의 분포가 변하지 않는다는 Stationary를 가정하는 기존의 전통적인 regression문제로 접근하게 되면 성능이 좋지 못했고, 소개해주신 방법론의 접근법을 통해 성능을 개선시킬 수 있었다. 성호 오빠께‘Online Learning’에 이어 금일 소개해주신 ‘Concept Drift’와 같이 모두 평소에 접하기 어려운 중요한 개념들에 대해서 설명해주셔서 감사드린다.

금일 세미나는 Concept Drift 를 주제로 진행 되었다. Concept drift 는 데이터내 패턴이 시간에 따라 변화하는 현상을 의미한다. 반도체 공정에서 사용되는 Automated vehicle system 의 구간별 통행량을 예측하는 문제를 예로 들어 관련 개념을 설명한 좋은 세미나였다. Vehicle 의 경로 설정을 위하여 거리 최적화를 통하여 경로를 설정하는 것은 문제가 있다. 최단 거리 경로에 해당 구간에 vehicle 이 많을 경우 돌아가는 경로가 더 빠르게 이동할 수 있기 때문이다. 따라서 이동하는 경로에 t+a 시점에서 해당 경로 구간의 통행량을 예측하는 것은 상당히 중요하다. 이러한 통행량은 시간에 따라 상당히 가변적이기 때문에 기존에 사용하던 stationary 를 가정하고 있는 기계학습 모델로는 예측하기가 어렵다. Non stationary 한 상황을 잘 예측하기 위하여 concept drift 개념을 활용한 Learning Process 가 많이 연구 되고 있다. 특히 유의미한 변화를 탐지하는 change detector 와 모델에 어떻게 적용할지 결정하는 Adaptation 부분이 많이 연구 되고 있다. AVS 예측 연구 에서는 주기적으로 모델을 update 하는 Blind strategies 와 Change Detector 의 결과를 받아 update 하는 Informed strategies 를 비교 평가하는 방식으로 실험을 진행 하였다. 평가 결과 Blind 방식을 이용하는 것이 더 좋은 예측력을 보여 주었으나, update 횟수 관점에서는 change detector 를 사용하여 update 하는 것이 유리하게 나타났다. 이 세미나를 통하여 Non-stationary 한 데이터에 대한 해석 방향에 대한 기본 개념을 이해할 수 있었고, 많은 분야의 데이터가 Non-stationary 한 점을 생각해 보면 향후 연구 진행 시 많은 도움이 될 것 같다.

금일 세미나는 concept drift 에 관한 내용이었다. 연구의 배경은 dynamic routing problem, 즉 반도체 공장에서 운행되는 자율 주행 시스템과 관련하여 경로에 혼잡이 발생하는 문제였다. 이를 방지하기 위해 정체 구간을 예측하여 기존의 경로와는 다른 우회적인 경로를 찾는 것이었다. 기존의 연구에서는 stationarity(패턴의 정상성)을 가정하여 training dataset과 추가적으로 발생하는 데이터를 test dataset로 하여 기존의 machine learning 방법을 사용하지만 결과는 match가 되지 않음을 알 수 있었다. 그 이유는 구간의 데이터가 계속해서 변화를 하기 때문이었다. 그래서 nonstationary 의 상황에 대한 concept drift의 내용을 다루게 되었다. concept drift 의 종류에는 real concept, virtual concept, class prior concept drift 가 있다. real concept 은 decision boundary 가 변화할 때 사용하고, virtual concept은 decision boundary의 변화가 없이 class 내의 데이터 위치가 변화할 때 사용한다. class prior concept은 class의 개수가 변하거나, class내의 데이터 수가 증가할 때 사용한다. 이러한 drift들은 sequential data generating 환경에서 실제값과 예측값을 구하여 Loss 값을 계산한다. concept drift 의 learning process는 상황에 맞게 change detector, adaptation에서의 적용 유무를 알 수 있게 된다. adaptation에는 2가지 방법이 소개되었는데, blind adaptation 은 learning process에서 loss와 change detector 를 무시하고 주기마다 모델을 retraining 하는 방법이다. informed adaptation 은 change detector 만 무시하고 최근의 데이터를 중요시 하며 모델을 update하는 방법이다. 두가지 방법을 사용한 실험에서의 결과를 보면 , blind adaptation은 딥러닝 방법, informed adaptation은 딥러닝에서 online learning 방법을 쓴 경우에 좋은 결과가 나옴을 알 수 있었다.성호형의 지난 세미나를 참석하지 못해 아쉬움이 많았다. 하지만 오늘 online learning 이 산업현장에서 어떻게 쓰이는 지, 응용 사례를 보면서 흥미를 갖게 되었다. loss을 줄이기 위한 많은 연구들이 있는데, 이번 세미나에서도 그와 관련한 연구 및 응용 사례를 보게 되어 의미 있는 시간이었고, 매주 세미나를 참석하면서 어떤 연구를 하고 싶은지에 대해 조금씩 생각을 가지게 되는 것 같았다. 오늘 세미나를 준비해준 성호형에게 감사의 말을 전한다.