진행중) Model drift 자료 정리

2021. 9. 26. 19:14관심있는 주제/뉴럴넷 질문

728x90

목차

    Definition

    모델은 생성된 시간때의 변수와 매개 변수를 기반으로 최적화되기 때문에 이는 기계 학습 모델에 문제를 제기합니다.

    기계 학습 모델을 개발하는 동안 이루어진 공통적이고 때로는 부정확한 가정은 각 데이터 지점이 독립적이고 동일한 분포(i.i.d) 랜덤 변수라는 것입니다.

    어려운 말로 표현하면, 환경의 변화로 인해 모형의 예측 검정력이 저하되어 변수 간의 관계가 저하되는 것을 말합니다. 위의 예를 참조하면 스팸 전자 메일의 표시 변경으로 인해 몇 년 전에 생성된 부정 탐지 모델이 저하될 수 있습니다.

    즉, 시간이 지남에 따라서 기계 학습 모델의 정확도의 상실은 모델 드리프트(model drifit)로 정의됩니다.

    크게 2가지 광범위한 범주류 분류할 수 있다고 합니다.

    • Concept Drift
    • Data Drift

    Concept Drift

    이 문제는 대상 변수 자체의 통계적인 속성이 변경될 때 발생합니다.

    우리가 예측하려고 하는 변수의 의미가 바뀌면 모델은 이러한 업데이트된 정의에 제대로 작동하지 않을 것입니다. 

    즉, p(Y |X) 분포의 변화는 모델의 입력과 실제 레이블 간의 관계에 변화가 있음을 의미합니다.

    Data Drift

    예측 변수의 통계적인 속성이 변경될 때 발생합니다. 다시 말하지만, 기본 변수가 변경되면 모형이 고장날 수 밖에 없고, 흔하게는 계절성으로 인해 데이터의 패턴이 변경되는 경우가 있다고 합니다.

    예를 들어, 어떤 사업 모델이 여름에 효과가 있든, 겨울에는 효과가 없을 수도 있다. 휴가철에는 항공 수요가 급증하는 반면, 항공사들은 비수기에 승객 수를 유지하기 위해 애쓰고 있다. 또 다른 예는 개인 선호도가 바뀔 때인데, 이것은 처음에 언급된 스마트폰의 예와 관련이 있을 수 있다.

     

    기타적으로는 다음과 같은 타입들이 있다.

    Prediction drift – a change in the distribution of the predicted label – p(ŷ |X), meaning that there was a change in the relationship between the input of the model and the model’s prediction.
    Label drift – a change in the probability of a label p(Y).
    Feature drift – a change in the probability of p(X), meaning there was a change in the distribution of the model’s input.

     

     

    Example) What causes drift?

    1. Out of Control events

    예를 들어, 주택/자동차 가치 평가 모델을 구축했으며, 구축 직후 다음 중 하나가 발생했다고 가정해 보겠습니다.

    1) COVID는 수요를 억제한다.
    2) 목재부족으로 주택수요 억제
    3) 칩부족으로 공장폐쇄
    4) 쓰나미로 공장 가동이 중단된다.

     

    이로 인해 배포 후 탐지 창에서 측정된 오류(RMSE/MAE)가 발생할 수 있습니다.

    ML Ops 전략은 모델 정확도에 영향을 미치는 위의 이벤트를 예측하고 완화하기 위한 종합적인 계획을 수립해야 한다. 여러 설정에서 위의 사건 중 하나로 인한 영향을 명시적으로 나타낼 수 있는 특징을 설명하기 어려울 수 있다.

    특히, 위의 이벤트들은 보통 순차적인 모델에 의해 포착되는 선데이 쇼핑 트렌드와 같은 계절적인 이벤트에서 두드러진다.

     

    #2 Temporal Features: 

    시간적 특성을 설명했지만 영향을 측정하지 못했습니다. 한 가지 이유는 일시적으로 민감한 코호트(여름의 휴가 임대 또는 여름의 컨버터블)에 대한 훈련 데이터의 대표성이 적다는 것만큼 간단할 수 있다.

     

    이 문제를 해결하는 가장 좋은 방법은 모델을 지속적으로 다시 적합시키는 것입니다. 과거의 경험을 바탕으로 모델에서 표류 현상이 언제 나타나기 시작하는지 추정할 수 있습니다. 이를 기반으로 모델을 사전에 재개발하여 드리프트와 관련된 위험을 완화할 수 있습니다.

     

    #3 Poorly automated training workflows:

    자동화된 워크플로우를 제대로 보유하고 있지 않습니다. 이로 인해 모델을 배치하는 데 걸리는 리드 타임이 증가하고 감소된 빈도로 배치에 동기를 부여할 수 있습니다. 복잡하게 들리겠지만, 자동화에 몇 가지 장애물이 있는 시나리오에서는 이러한 현상이 발생할 수 있습니다.

     

    Why should a data scientist care about model drift?

    Drift ignorance는 매우 비싼 비용을 치룰 수 있다. 완전히 검증된 모델은 드리프트 고려사항이 무시될 경우 구축 직후 성능이 저하되기 시작할 수 있습니다. 제품이 소비자 대면인 경우 예측의 부정확성이 쉽게 입증될 수 있으며 기업의 평판/수익 손실을 초래할 수 있습니다.

     

    Concept Drift 설명

    2021.09.28 - [관심있는 주제/뉴럴넷 질문] - Concept drift 설명

     

    Reference

    CONTENT URL
    Types of Model Drift https://blog.datatron.com/what-is-model-drift/
    MODEL DRIFT - 1 https://towardsdatascience.com/model-drift-in-machine-learning-models-8f7e7413b563
    MODEL DRIFT - 2 https://medium.com/mlearning-ai/concept-drift-52626ec4e013
    concept drift https://www.aporia.com/concept_drift_in_machine_learning_101/
    A Gentle Introduction to Concept Drift in Machine Learning https://machinelearningmastery.com/gentle-introduction-concept-drift-machine-learning/
    Best Practices for Dealing with Concept Drift https://neptune.ai/blog/concept-drift-best-practices
    728x90