Performing machine learning continuously on time-series data is becoming critical in many applications. For example, semiconductor manufacturing companies train models on incoming sensor data to detect defects in wafers. A significant challenge is handling $\textit{data drifts}$ where the data characteristics may change over time. Unless one adapts the model to such drifts, its accuracy will eventually degrade. While there is a heavy literature on how to update models, most of the techniques make the simplifying assumption that there is enough recent data to re-train a model and that one can safely drop older data. Unfortunately, this assumption does not apply to real settings where new data after drifts may be scarce and even worse may have severe class imbalance where the labels are not evenly distributed.
The key contribution of this thesis is to take the alternative approach of "stitching" the data itself and thus enabling the re-use of potentially all of the data. Data stitching can be considered a data integration problem, but with the specific focus on improving machine learning accuracy. We propose a fully-automated system that performs drift detection using existing methods, stitches the data to cancel the drifts, and updates models to be trained on the stitched data for better accuracy. By using data before and after drifts together, we can resolve the issues of data scarcity and class imbalance. In our experiments, we demonstrate drastic improvements in model accuracy compared to various baselines on synthetic and real datasets.
시계열 데이터에 대해 지속적으로 머신 러닝 시스템을 운영하는 것이 많은 어플리케이션에서 중요해지고 있다. 예를 들어 반도체 제조사는 웨이퍼 결함을 감지하기 위해 시계열로 들어오는 제조 환경 데이터를 이용해 모델을 학습한다. 이때 고려해야 하는 점은 시간이 지남에 따라 데이터의 특성이 변하는 $\textit{데이터 변화}$가 발생한다는 것이다. 이러한 상황에서 데이터 변화에 대응하여 모델을 수정하지 않는 한, 모델의 정확성은 점점 떨어지게 될 것이다. 데이터 변화를 탐지하고 이에 대응하는 방법에 대한 많은 문헌이 있지만, 대부분의 기술은 모델을 다시 훈련시킬 수 있는 새로운 데이터가 충분하고 이전의 데이터를 사용하지 않아도 된다는 단순화 가정을 하고 있다. 그러나 이러한 가정은 실제 상황에서 데이터 변화 발생 후 새로운 데이터 수집이 어렵거나 데이터 내에 심각한 클래스 불균형이 발생하는 경우 적용할 수 없다.
본 논문의 주요 공헌은 데이터 자체를 "보정"하여 잠재적으로 모든 데이터의 재사용을 가능하게 함으로써 위의 문제 상황에서 적용할 수 있는 대안적 접근법을 제시하는 것이다. 데이터 보정은 데이터 통합 방법 중 한 가지로 간주될 수 있으나 머신 러닝 정확도 향상에 초점을 맞춘다는 차이가 있다. 이를 통해 데이터 변화 발생 전후의 데이터를 함께 사용함으로써 데이터 부족과 클래스 간 불균형 문제를 해결할 수 있다. 또한 제안하는 기법을 활용하여 기존 방법을 사용하여 데이터 변화를 탐지하고, 그 변화의 영향을 제거하는 보정을 수행하고, 보정된 데이터를 이용하여 모델을 업데이트함으로써 더 나은 정확성을 확보하는 완전히 자동화된 시스템을 제안한다. 마지막으로 합성 및 실제 데이터셋을 이용한 실험을 통해 제안하는 기법과 시스템이 기존 방식에 비해 성능이 향상됨을 입증한다.