KR20210141917A - Explainability-Based Tuning of Machine Learning Models - Google Patents

Explainability-Based Tuning of Machine Learning Models Download PDF

Info

Publication number
KR20210141917A
KR20210141917A KR1020217021984A KR20217021984A KR20210141917A KR 20210141917 A KR20210141917 A KR 20210141917A KR 1020217021984 A KR1020217021984 A KR 1020217021984A KR 20217021984 A KR20217021984 A KR 20217021984A KR 20210141917 A KR20210141917 A KR 20210141917A
Authority
KR
South Korea
Prior art keywords
machine learning
learning model
predictions
primary
divergence
Prior art date
Application number
KR1020217021984A
Other languages
Korean (ko)
Inventor
신두 간타
드류 로셀리
니샤 탈라갈라
비나이 스리드하르
스와미나단 순다라라만
리오르 아마르
리오르 커모쉬
바라스 람순다르
스리람 숩라마니안
Original Assignee
데이터로봇, 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 데이터로봇, 인크. filed Critical 데이터로봇, 인크.
Publication of KR20210141917A publication Critical patent/KR20210141917A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/045Explanation of inference; Explainable artificial intelligence [XAI]; Interpretable artificial intelligence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9038Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06K9/6256
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Machine Translation (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • User Interface Of Digital Computer (AREA)
  • Debugging And Monitoring (AREA)

Abstract

머신 러닝 모델의 설명 가능성 기반의 조정을 위한 장치는, 데이터 세트에 기초하여 기본 머신 러닝 모델로부터 예측의 제1 세트를 수신하도록 구성되는 제1 예측 모듈, 데이터 세트에 기초하여 보조 머신 러닝 모델로부터 예측의 제2 세트를 수신하도록 구성되는 제2 예측 모듈, 및 예측의 제1 및 제2 세트의 비교가 하나 이상의 설명 가능성 기준을 충족하지 않는다는 것에 응답하여 기본 머신 러닝 모델에 관련되는 하나 이상의 액션을 트리거하도록 구성되는 액션 모듈을 포함한다.An apparatus for explainability-based tuning of a machine learning model, comprising: a first prediction module, configured to receive a first set of predictions from a primary machine learning model based on a data set, a prediction from an auxiliary machine learning model based on the data set trigger one or more actions related to the underlying machine learning model in response to a second prediction module configured to receive a second set of and an action module configured to do so.

Description

머신 러닝 모델의 설명 가능성 기반의 조정Explainability-Based Tuning of Machine Learning Models

[관련 출원에 대한 교차 참조][Cross Reference to Related Applications]

본 출원은 2018년 12월 14일자로 출원된 발명의 명칭이 "Interpretability-Based Machine Learning Adjustment During Production"인 미국 특허 출원 번호 제16/221,039호(대리인 관리 번호 DRB-103)의 이익 및 그에 대한 우선권을 주장하는데, 그 내용은 참조에 의해 적용 가능한 법률에 의해 허용되는 최대 범위까지 본원에 통합된다. 더구나, 본 개시의 주제는, 2017년 10월 23일자로 출원된 발명의 명칭이 "Systems for Second-Order Predictive Analytics, and Related Methods and Apparatus"인 미국 특허 출원 번호 제15/790,756호(대리인 관리 번호 DRB-002BCP), 2018년 7월 30일자로 출원된 발명의 명칭이 "Determining Validity of Machine Learning Algorithms for Datasets"인 미국 특허 출원 번호 제16/049,647호(대리인 관리 번호 DRB-102), 및/또는 2019년 7월 30일자로 출원된 발명의 명칭이 "Determining Suitability of Machine Learning Models for Datasets"인 국제 특허 출원 번호 제PCT/US2019/044250호(대리인 관리 번호 DRB-102WO)에서 개시되는 주제에 관련될 수도 있는데, 이들의 각각의 내용은 참조에 의해 적용 가능한 법률에 의해 허용되는 최대 범위까지 본원에 통합된다.This application is entitled to the benefit of, and priority to, U.S. Patent Application Serial No. 16/221,039 (Attorney Docket No. DRB-103) filed on December 14, 2018, entitled "Interpretability-Based Machine Learning Adjustment During Production." claims, the contents of which are incorporated herein by reference to the maximum extent permitted by applicable law. Moreover, subject matter of this disclosure is disclosed in U.S. Patent Application Serial No. 15/790,756 (Attorney Docket No. DRB-002BCP), U.S. Patent Application Serial No. 16/049,647, entitled “Determining Validity of Machine Learning Algorithms for Datasets,” filed July 30, 2018 (Attorney Docket No. DRB-102), and/or To be related to the subject matter disclosed in International Patent Application No. PCT/US2019/044250 (Attorney Docket No. DRB-102WO), entitled "Determining Suitability of Machine Learning Models for Datasets" filed on July 30, 2019 may, the contents of each of which are incorporated herein by reference to the maximum extent permitted by applicable law.

[분야][Field]

본 개시는 머신 러닝에 관한 것으로, 특히 설명 가능성 기준(explainability criteria)을 충족하도록 머신 러닝 모델을 조정하는 것에 관한 것이다.BACKGROUND This disclosure relates to machine learning, and more particularly, to adapting a machine learning model to meet explainability criteria.

"머신 러닝"은 일반적으로 특정한 작업을 수행하기 위한 컴퓨터 시스템에 의한 소정의 기술(예를 들면, 패턴 인식 및/또는 통계적 추론 기술)의 적용을 지칭한다. 머신 러닝 시스템은 샘플 데이터(예를 들면, "트레이닝 데이터")에 기초하여 예측 모델을 구축할 수도 있고 유효성 확인 데이터(validation data)(예를 들면, "테스트 데이터")를 사용하여 모델의 유효성을 확인할 수도 있다. 샘플 및 유효성 확인 데이터는 레코드(예를 들면, "관찰 결과(observations)")의 세트로 편제될 수도 있는데, 각각의 레코드는 다른 데이터 필드(예를 들면, "독립 변수", "입력" 또는 "피쳐")의 값에 기초하여 명시된 데이터 필드(예를 들면, "종속 변수", "출력" 또는 "타겟")의 값을 나타낸다. 샘플 데이터와 유사한 또는 그와 관련되는 다른 데이터(예를 들면, "추론 데이터")를 함께 제공받는 경우, 머신 러닝 시스템은 그러한 예측 모델을 사용하여 추론 데이터 세트의 타겟의 알려지지 않은 값을 정확하게 예측할 수도 있다.“Machine learning” generally refers to the application of certain techniques (eg, pattern recognition and/or statistical reasoning techniques) by a computer system to perform a particular task. A machine learning system may build a predictive model based on sample data (eg, “training data”) and use validation data (eg, “test data”) to validate the model. You can also check Sample and validation data may be organized into a set of records (eg, “observations”), each record containing a different data field (eg, “independent variable”, “input” or “ It represents the value of a specified data field (eg, “dependent variable”, “output”, or “target”) based on the value of the “feature”). When provided with other data similar to or related to sample data (e.g., "inference data"), the machine learning system may use such predictive models to accurately predict unknown values of targets in the inference data set. have.

예측 문제가 식별된 이후, 예측 문제를 정확하게 해결하는 예측 모델을 구축하기 위해 머신 러닝을 사용하는 프로세스는, 일반적으로, 데이터 수집, 데이터 정리, 피쳐 엔지니어링, 모델 생성, 및 모델 배포(model deployment)의 단계를 포함한다. "자동화된 머신 러닝" 기술은 머신 러닝 프로세스의 단계 또는 그 일부를 자동화하기 위해 사용될 수도 있다.After a prediction problem is identified, the process of using machine learning to build a predictive model that accurately solves the prediction problem is, in general, of data collection, data cleansing, feature engineering, model creation, and model deployment. includes steps. “Automated machine learning” techniques may be used to automate steps or portions of a machine learning process.

머신 러닝은 광범위한 사용 사례 및 산업에 통합되고 있다. 많은 다른 타입의 애플리케이션과는 달리, 머신 러닝 애플리케이션(딥 러닝 및 고급 분석을 수반하는 머신 러닝 애플리케이션을 포함함)은, 정확하고 관련성이 있는 결과를 제공하기 위해 응집력 있게 동작해야만 하는 다수의 독립 실행 컴포넌트를 일반적으로 구비한다. 더구나, 입력 데이터에 대한 약간의 변경은 결과에서 비선형적인 변화를 야기할 수 있다. 이러한 복잡도는 머신 러닝 시스템의 모든 상호 의존적 양태를 관리하거나 또는 모니터링하는 것을 어렵게 만들 수 있다.Machine learning is being incorporated into a wide range of use cases and industries. Unlike many other types of applications, machine learning applications (including those involving deep learning and advanced analytics) are a number of stand-alone components that must work cohesively to provide accurate and relevant results. is generally provided. Moreover, slight changes to the input data can cause non-linear changes in the results. This complexity can make it difficult to manage or monitor all interdependent aspects of a machine learning system.

머신 러닝 모델은 중요한 결정을 내리기 위한 예측을 생성하기 위해 사용될 수도 있다. 그러나, 머신 러닝 모델, 및 머신 러닝 모델에 의해 생성되는 예측은 다양한 편견을 포함할 수 있는데, 그 다양한 편견은 예측에 기초하여 이루어지는 결정에 의해 직접적으로 영향을 받는 사람에게 부정적인 영향을 끼칠 수 있다. 따라서, 산업 및 정부는, 예측이, 결정을 내리기 위해 사용되는 머신 러닝 모델에 의해 이루어지는 경우, 설명될 수 있다는 것을 규정하는 하는 규정을 제정할 수 있다. 더 일반적으로, 특정한 예측이 어떻게 이루어졌는지를 머신 러닝 모델이 설명할 수 있는 것이 종종 중요하다.Machine learning models may also be used to generate predictions to make important decisions. However, machine learning models, and predictions made by machine learning models, may contain various biases, which may negatively affect those who are directly affected by decisions made based on the predictions. Accordingly, industry and governments may enact regulations stipulating that predictions can be explained if they are made by machine learning models used to make decisions. More generally, it is often important for a machine learning model to be able to explain how a particular prediction was made.

간단한 머신 러닝 모델의 경우, 머신 러닝 모델에 의해 이루어지는 예측에 기여하는 요인을 식별하는 것은 간단할 수 있다. 그러나, 머신 러닝 모델이 더욱 복잡해짐에 따라, 특히 모델이 배포된 경우, 이들 기여 요인의 간결한 식별은 점점 더 어려워질 수 있다. 독점적 모델 구축 기술의 개시를 방지하는 것은 모델을 이해하기 쉽게 만드는 것의 도전 과제를 더욱 심화시킬 수 있다.For simple machine learning models, it can be straightforward to identify factors contributing to the predictions made by the machine learning model. However, as machine learning models become more complex, concise identification of these contributing factors can become increasingly difficult, especially when the models are deployed. Preventing the launch of proprietary model-building techniques can further exacerbate the challenge of making models easy to understand.

몇몇 실시형태에서, 보조 머신 러닝 모델(secondary machine learning model)은 기본 머신 러닝 모델(primary machine learning model)을 근사하기 위해 그리고 기본 머신 러닝 모델 또는 그것의 예측을 설명하기 위해 사용될 수 있다. 구체적으로, 보조 머신 러닝 모델은 기본 머신 러닝 모델에 의해 이루어지는 예측에 기여하는 하나 이상의 요인, 및/또는 하나 이상의 요인이 예측에 영향을 끼친 방식의 사람이 이해 가능한 설명을 제공할 수 있다. 다시 말하면, 보조 머신 러닝 모델은 기본 머신 러닝 모델에 대한 "설명 가능성"을 제공할 수 있다.In some embodiments, a secondary machine learning model may be used to approximate the primary machine learning model and to describe the primary machine learning model or predictions thereof. Specifically, the auxiliary machine learning model may provide one or more factors contributing to the prediction made by the primary machine learning model, and/or a human comprehensible explanation of how the one or more factors influenced the prediction. In other words, an auxiliary machine learning model can provide "explainability" for a primary machine learning model.

그러나, 실제로는, 기본 머신 러닝 모델 및 보조 머신 러닝 모델로부터의 예측은 시간이 지남에 따라 발산할(diverge) 수도 있고, 그러한 발산(divergence)가 발생하면, 보조 모델이 기본 모델의 예측의 정확한 설명을 제공할 가능성이 낮다. 따라서, 머신 러닝 시스템이 기본 및 보조 머신 러닝 모델을 모니터링할 수 있는 경우, 특정한 보조 모델이 특정한 기본 모델의 예측의 정확한 설명을 제공할 수 있는지의 여부를 결정하는 것이 도움이 될 것이다.In practice, however, predictions from the primary and secondary machine learning models may diverge over time, and as such divergence occurs, the secondary model is an accurate description of the primary model's predictions. is unlikely to provide Thus, if a machine learning system can monitor primary and secondary machine learning models, it would be helpful to determine whether a particular secondary model can provide an accurate description of the prediction of a particular primary model.

본 개시의 한 양태에 따르면, 보조 머신 러닝 모델이 기본 머신 러닝 모델의 적절한 근사인지의 여부, 따라서 보조 머신 러닝 모델이 기본 머신 러닝 모델 및/또는 그 예측을 적절하게 설명할 수 있는지의 여부를 결정하기 위해 "설명 가능성 기준"이 사용될 수도 있다. 예를 들면, 하나의 설명 가능성 기준은 기본 머신 러닝 모델과 보조 머신 러닝 모델 사이의 예측의 발산이 임계 발산(threshold divergence)보다 더 작다는 것일 수도 있다. 설명 가능성 기준의 위반은, 보조 머신 러닝 모델이 기본 머신 러닝 모델의 적절한 근사가 아니고, 따라서, 보조 머신 러닝 모델이 기본 머신 러닝 모델 및/또는 그 예측을 적절하게 설명하지 못한다는 것을 나타낼 수도 있다. 설명 가능성 기준의 위반을 방지하거나 또는 그에 응답하기 위해, 개발 및/또는 배포에서 기본 머신 러닝 모델이 조정될 수도 있다.In accordance with an aspect of the present disclosure, determining whether the secondary machine learning model is an appropriate approximation of the primary machine learning model, and thus whether the secondary machine learning model can adequately describe the primary machine learning model and/or its prediction "Explainability criteria" may be used to For example, one explainability criterion may be that the divergence of predictions between the primary machine learning model and the secondary machine learning model is less than a threshold divergence. A violation of the explainability criterion may indicate that the auxiliary machine learning model is not an adequate approximation of the underlying machine learning model, and thus the auxiliary machine learning model does not adequately describe the underlying machine learning model and/or its predictions. Basic machine learning models may be tuned in development and/or deployment to prevent or respond to violations of explainability criteria.

일반적으로, 본 명세서에서 설명되는 주제의 하나의 혁신적인 양태는, 제1 예측 모듈, 제2 예측 모듈, 및 액션 모듈(action module)을 포함하는 장치에서 구체화될 수 있다. 제1 예측 모듈은 배포된 기본 머신 러닝 모델로부터 추론 데이터 세트에 기초하여 예측의 제1 세트를 획득하도록 구성된다. 제2 예측 모듈은 배포된 보조 머신 러닝 모델로부터 추론 데이터 세트에 기초하여 예측의 제2 세트를 획득하도록 구성된다. 보조 머신 러닝 모델은 기본 머신 러닝 모델과는 상이하며, 기본 머신 러닝 모델의 예측을 모방하도록 구성된다. 액션 모듈은, 기본 및 보조 머신 러닝 모델이 기본 머신 러닝 모델에 대한 하나 이상의 설명 가능성 기준을 충족하지 않는다는 결정에 응답하여, 기본 머신 러닝 모델에 관련되는 하나 이상의 액션을 트리거하도록 구성된다. 이 결정은 예측의 제1 및 제2 세트의 비교에 기초한다.In general, one innovative aspect of the subject matter described herein may be embodied in an apparatus comprising a first prediction module, a second prediction module, and an action module. The first prediction module is configured to obtain a first set of predictions based on the inference data set from the deployed basic machine learning model. The second prediction module is configured to obtain a second set of predictions based on the inference data set from the deployed auxiliary machine learning model. The secondary machine learning model is different from the primary machine learning model and is configured to mimic the predictions of the primary machine learning model. The action module is configured to trigger one or more actions related to the primary machine learning model in response to determining that the primary and secondary machine learning models do not meet one or more explainability criteria for the primary machine learning model. This determination is based on a comparison of the first and second sets of predictions.

이 양태의 다른 실시형태는, 대응하는 컴퓨터 시스템, 컴퓨터 구현 방법, 및 하나 이상의 컴퓨터 스토리지 디바이스 상에 기록되는 컴퓨터 프로그램을 포함하는데, 각각은 장치의 액션을 수행하도록 구성된다. 하나 이상의 컴퓨터의 시스템은, 동작 중에 시스템으로 하여금 액션을 수행하게 하는 시스템 상에 설치되는 소프트웨어, 펌웨어, 하드웨어, 또는 그들의 조합(예를 들면, 하나 이상의 스토리지 디바이스에 저장되는 명령어)을 구비하는 덕택에 특정한 액션을 수행하도록 구성될 수 있다. 하나 이상의 컴퓨터 프로그램은, 데이터 프로세싱 장치에 의해 실행될 때, 장치로 하여금 액션을 수행하게 하는 명령어를 포함하는 덕택에 특정한 액션을 수행하도록 구성될 수 있다.Another embodiment of this aspect includes a corresponding computer system, a computer implemented method, and a computer program recorded on one or more computer storage devices, each configured to perform an action of the apparatus. A system of one or more computers is by virtue of having software, firmware, hardware, or a combination thereof (eg, instructions stored on one or more storage devices) installed on the system that, during operation, cause the system to perform an action. It may be configured to perform a specific action. One or more computer programs may be configured to perform a particular action by virtue of including instructions that, when executed by the data processing apparatus, cause the apparatus to perform the action.

전술한 실시형태 및 다른 실시형태 각각은, 단독으로 또는 조합하여, 다음의 피쳐 중 하나 이상을 옵션 사항으로(optionally) 포함할 수 있다. 몇몇 실시형태에서, 장치는, 기본 및 보조 머신 러닝 모델이 기본 머신 러닝 모델에 대한 하나 이상의 설명 가능성 기준을 충족하지 않는다는 것을 결정하도록 구성되는 비교 모듈을 더 포함할 수 있다. 기본 및 보조 머신 러닝 모델이 기본 머신 러닝 모델에 대한 하나 이상의 설명 가능성 기준을 충족하지 않는다는 것을 결정하기 위해, 비교 모듈은, 예측의 제1 세트 내의 예측과 예측의 제2 세트 내의 예측 사이의 차이에 기초하여, 예측의 제1 및 제2 세트에 대한 발산 메트릭(divergence metric)의 하나 이상의 값을 결정할 수 있다. 그 다음, 비교 모듈은, 예측의 제1 및 제2 세트에 대한 발산 메트릭의 하나 이상의 값 중 적어도 하나가 발산 임계치보다 더 크다는 것을 결정할 수 있다. 마지막으로, 비교 모듈은, 예측의 제1 및 제2 세트에 대한 발산 메트릭의 적어도 하나의 값이 발산 임계치보다 더 크다는 결정에 기초하여, 기본 및 보조 머신 러닝 모델이 기본 머신 러닝 모델에 대한 하나 이상의 설명 가능성 기준을 충족하지 않는다는 것을 결정할 수 있다.Each of the foregoing and other embodiments, alone or in combination, may optionally include one or more of the following features. In some embodiments, the apparatus can further include a comparison module configured to determine that the primary and secondary machine learning models do not meet one or more explainability criteria for the primary machine learning model. To determine that the primary and secondary machine learning models do not meet one or more explainability criteria for the primary machine learning model, the comparison module determines the difference between the predictions in the first set of predictions and the predictions in the second set of predictions. Based on it, one or more values of a divergence metric for the first and second sets of predictions may be determined. The comparison module may then determine that at least one of the one or more values of the divergence metric for the first and second sets of predictions is greater than a divergence threshold. Finally, the comparison module is configured to: based on a determination that at least one value of a divergence metric for the first and second sets of predictions is greater than a divergence threshold, the primary and secondary machine learning models are configured to compare the one or more values for the primary machine learning model with respect to the primary machine learning model. It can be determined that the explainability criterion is not met.

소정의 실시형태에서, 발산 메트릭의 하나 이상의 값을 결정하기 위해, 비교 모듈은, 예측 단위 기반으로, 예측의 제1 및 제2 세트의 각각의 예측에 대한 발산 메트릭의 각각의 값을 결정한다. 대안적인 실시형태에서, 발산 메트릭의 하나 이상의 값을 결정하기 위해, 비교 모듈은 예측의 제1 및 제2 세트의 하나 이상의 서브세트에 대한 발산 메트릭의 각각의 값을 결정한다.In certain embodiments, to determine one or more values of the divergence metric, the comparison module determines, on a per prediction basis, a respective value of the divergence metric for each prediction of the first and second sets of predictions. In an alternative embodiment, to determine one or more values of the divergence metric, the comparison module determines respective values of the divergence metric for one or more subsets of the first and second sets of predictions.

몇몇 실시형태에서, 발산 메트릭의 하나 이상의 값은 발산 메트릭의 하나 이상의 배포 값(deployment value)이다. 그러한 실시형태에서, 비교 모듈은, (i) 기본 머신 러닝 모델의 개발 동안 트레이닝 데이터 세트에 기초하여 기본 머신 러닝 모델에 의해 생성되는 예측의 제3 세트와 (ii) 보조 머신 러닝 모델의 개발 동안 트레이닝 데이터 세트에 기초하여 기본 머신 러닝 모델에 의해 생성되는 예측의 제4 세트 사이의 차이를 나타내는 발산 메트릭의 하나 이상의 개발 값을 획득할 수 있다. 그 다음, 비교 모듈은, 추론 데이터 세트와 트레이닝 데이터 세트 사이의 편차를 검출하기 위해, 발산 메트릭의 하나 이상의 배포 값을 발산 메트릭의 하나 이상의 개발 값과 비교할 수 있다.In some embodiments, the one or more values of the divergence metric are one or more deployment values of the divergence metric. In such an embodiment, the comparison module comprises: (i) a third set of predictions generated by the base machine learning model based on the training data set during development of the base machine learning model and (ii) training during development of the base machine learning model One or more development values of a divergence metric representing differences between the fourth set of predictions generated by the underlying machine learning model based on the data set may be obtained. The comparison module may then compare one or more distribution values of the divergence metric to one or more developed values of the divergence metric to detect a deviation between the inference data set and the training data set.

소정의 실시형태에서, 액션 모듈에 의해 트리거되는 하나 이상의 액션은 기본 머신 러닝 모델에 대한 하나 이상의 설명 가능성 기준의 위반에 관한 경보를 전송하는 것을 포함하는데, 경보는 위반에 응답하기 위한 하나 이상의 추천(recommendation)을 더 포함한다. 추가적인 실시형태에서, 액션 모듈에 의해 트리거되는 하나 이상의 액션은 기본 머신 러닝 모델을 상이한 머신 러닝 모델과 교환하는 것을 포함한다. 추가적인 실시형태에서, 액션 모듈에 의해 트리거되는 하나 이상의 액션은 기본 머신 러닝 모델을 재트레이닝시키는 것을 포함한다. 추가적인 실시형태에서, 액션 모듈에 의해 트리거되는 하나 이상의 액션은 기본 머신 러닝 모델을 보조 머신 러닝 모델로 스위칭하는 것을 포함한다. 추가적인 실시형태에서, 액션 모듈에 의해 트리거되는 하나 이상의 액션은, 트레이닝 데이터 세트에 기초하여 개발 동안 기본 및 보조 머신 러닝 모델에 의해 생성되는 예측의 제3 및 제4 세트에 대한 발산 메트릭의 값을 비교하는 것에 의해 트레이닝 데이터 세트와 추론 데이터 세트 사이의 편차를 식별하는 것을 포함하는데, 예측의 제1 및 제2 세트에 대한 발산 메트릭의 값은 추론 데이터 세트에 기초하여 배포 동안 기본 및 보조 머신 러닝 모델에 의해 생성된다. 추가적인 실시형태에서, 액션 모듈에 의해 트리거되는 하나 이상의 액션은 하나 이상의 액션을 수행하기 위해 유저로부터 확인을 수신하지 않고도 트리거된다.In certain embodiments, the one or more actions triggered by the action module include sending an alert regarding a violation of one or more explainability criteria for the underlying machine learning model, wherein the alert includes one or more recommendations for responding to the violation ( recommendations) are included. In a further embodiment, the one or more actions triggered by the action module include exchanging the underlying machine learning model for a different machine learning model. In a further embodiment, the one or more actions triggered by the action module comprises retraining the underlying machine learning model. In a further embodiment, the one or more actions triggered by the action module comprises switching the primary machine learning model to the secondary machine learning model. In a further embodiment, the one or more actions triggered by the action module compare the values of the divergence metrics for the third and fourth sets of predictions generated by the primary and secondary machine learning models during development based on the training data set. identifying deviations between the training data set and the inference data set by doing, wherein the values of the divergence metrics for the first and second sets of predictions are set to the primary and secondary machine learning models during deployment based on the inference data set. is created by In further embodiments, the one or more actions triggered by the action module are triggered without receiving confirmation from the user to perform the one or more actions.

일반적으로, 본 명세서에서 설명되는 주제의 다른 혁신적인 양태는, 배포된 기본 머신 러닝 모델로부터 추론 데이터 세트에 기초하여 예측의 제1 세트를 획득하는 것, 배포된 보조 머신 러닝 모델로부터 추론 데이터 세트에 기초하여 예측의 제2 세트를 획득하는 것, 및 기본 및 보조 머신 러닝 모델이 기본 머신 러닝 모델에 대한 하나 이상의 설명 가능성 기준을 충족하지 않는다는 결정에 응답하여 기본 머신 러닝 모델에 관련되는 하나 이상의 액션을 트리거하는 것을 포함하는 방법에서 구체화될 수 있다. 보조 머신 러닝 모델은 기본 머신 러닝 모델과는 상이하며, 기본 머신 러닝 모델의 예측을 모방하도록 구성된다. 기본 및 보조 머신 러닝 모델이 기본 머신 러닝 모델에 대한 하나 이상의 설명 가능성 기준을 충족하지 않는다는 결정은 예측의 제1 및 제2 세트의 비교에 기초한다.In general, another innovative aspect of the subject matter described herein is to obtain a first set of predictions based on an inference data set from a deployed primary machine learning model, based on an inference data set from a deployed secondary machine learning model. to obtain a second set of predictions, and triggering one or more actions related to the primary machine learning model in response to determining that the primary and secondary machine learning models do not meet one or more explainability criteria for the primary machine learning model. It may be embodied in a method comprising: The secondary machine learning model is different from the primary machine learning model and is configured to mimic the predictions of the primary machine learning model. A determination that the primary and secondary machine learning models do not meet one or more explainability criteria for the primary machine learning model is based on a comparison of the first and second sets of predictions.

이 양태의 다른 실시형태는, 대응하는 컴퓨터 시스템, 장치, 및 하나 이상의 컴퓨터 스토리지 디바이스 상에 기록되는 컴퓨터 프로그램을 포함하는데, 각각은 방법의 액션을 수행하도록 구성된다. 하나 이상의 컴퓨터의 시스템은, 동작 중에 시스템으로 하여금 액션을 수행하게 하는 시스템 상에 설치되는 소프트웨어, 펌웨어, 하드웨어, 또는 그들의 조합(예를 들면, 하나 이상의 스토리지 디바이스에 저장되는 명령어)을 구비하는 덕택에 특정한 액션을 수행하도록 구성될 수 있다. 하나 이상의 컴퓨터 프로그램은, 데이터 프로세싱 장치에 의해 실행될 때, 장치로 하여금 액션을 수행하게 하는 명령어를 포함하는 덕택에 특정한 액션을 수행하도록 구성될 수 있다.Another embodiment of this aspect includes a corresponding computer system, apparatus, and computer program recorded on one or more computer storage devices, each configured to perform an action of the method. A system of one or more computers is by virtue of having software, firmware, hardware, or a combination thereof (eg, instructions stored on one or more storage devices) installed on the system that, during operation, cause the system to perform an action. It may be configured to perform a specific action. One or more computer programs may be configured to perform a particular action by virtue of including instructions that, when executed by the data processing apparatus, cause the apparatus to perform the action.

전술한 실시형태 및 다른 실시형태 각각은, 단독으로 또는 조합하여, 다음의 피쳐 중 하나 이상을 옵션 사항으로 포함할 수 있다. 몇몇 실시형태에서, 방법의 액션은 기본 및 보조 머신 러닝 모델이 기본 머신 러닝 모델에 대한 하나 이상의 설명 가능성 기준을 충족하지 않는다는 것을 결정하는 것을 더 포함할 수 있다. 기본 및 보조 머신 러닝 모델이 기본 머신 러닝 모델에 대한 하나 이상의 설명 가능성 기준을 충족하지 않는다는 것을 결정하기 위해, 방법의 액션은, 비교 모듈은, 예측의 제1 세트 내의 예측과 예측의 제2 세트 내의 예측 사이의 차이에 기초하여, 예측의 제1 및 제2 세트에 대한 발산 메트릭의 하나 이상의 값을 결정하는 것을 포함할 수 있다. 그 다음, 방법의 액션은, 예측의 제1 및 제2 세트에 대한 발산 메트릭의 하나 이상의 값 중 적어도 하나가 발산 임계치보다 더 크다는 것을 결정하는 것을 포함할 수 있다. 마지막으로, 방법의 액션은, 예측의 제1 및 제2 세트에 대한 발산 메트릭의 적어도 하나의 값이 발산 임계치보다 더 크다는 결정에 기초하여, 기본 및 보조 머신 러닝 모델이 기본 머신 러닝 모델에 대한 하나 이상의 설명 가능성 기준을 충족하지 않는다는 것을 결정하는 것을 포함할 수 있다.Each of the foregoing and other embodiments, alone or in combination, may optionally include one or more of the following features. In some embodiments, the actions of the method may further include determining that the primary and secondary machine learning models do not meet one or more explainability criteria for the primary machine learning model. To determine that the primary and secondary machine learning models do not meet one or more explainability criteria for the primary machine learning model, the action of the method includes: a comparison module: a prediction in a first set of predictions and a prediction in a second set of predictions determining, based on the difference between the predictions, one or more values of a divergence metric for the first and second sets of predictions. Then, the actions of the method may include determining that at least one of the one or more values of the divergence metric for the first and second sets of predictions is greater than a divergence threshold. Finally, the action of the method is that, based on determining that at least one value of a divergence metric for the first and second sets of predictions is greater than a divergence threshold, the primary and secondary machine learning models are one for the primary machine learning model. determining that the above explainability criteria are not met.

소정의 실시형태에서, 발산 메트릭의 하나 이상의 값을 결정하기 위해, 방법의 액션은, 예측 단위 기반으로, 예측의 제1 및 제2 세트의 각각의 예측에 대한 발산 메트릭의 각각의 값을 결정하는 것을 포함할 수 있다. 대안적인 실시형태에서, 발산 메트릭의 하나 이상의 값을 결정하기 위해, 방법의 액션은, 예측의 제1 및 제2 세트의 하나 이상의 서브세트에 대한 발산 메트릭의 각각의 값을 결정하는 것을 포함할 수 있다.In certain embodiments, to determine one or more values of the divergence metric, the actions of the method include, on a per-prediction basis, determining a respective value of the divergence metric for each prediction of the first and second sets of predictions. may include In an alternative embodiment, to determine one or more values of the divergence metric, the actions of the method may include determining respective values of the divergence metric for one or more subsets of the first and second sets of predictions. have.

몇몇 실시형태에서, 발산 메트릭의 하나 이상의 값은 발산 메트릭의 하나 이상의 배포 값(deployment value)이다. 그러한 실시형태에서, 방법의 액션은, (i) 기본 머신 러닝 모델의 개발 동안 트레이닝 데이터 세트에 기초하여 기본 머신 러닝 모델에 의해 생성되는 예측의 제3 세트와 (ii) 보조 머신 러닝 모델의 개발 동안 트레이닝 데이터 세트에 기초하여 기본 머신 러닝 모델에 의해 생성되는 예측의 제4 세트 사이의 차이를 나타내는 발산 메트릭의 하나 이상의 개발 값을 획득하는 것을 포함할 수 있다. 그 다음, 방법의 액션은, 추론 데이터 세트와 트레이닝 데이터 세트 사이의 편차를 검출하기 위해, 발산 메트릭의 하나 이상의 배포 값을 발산 메트릭의 하나 이상의 개발 값과 비교하는 것을 포함할 수 있다.In some embodiments, the one or more values of the divergence metric are one or more deployment values of the divergence metric. In such an embodiment, the actions of the method include: (i) a third set of predictions generated by the base machine learning model based on the training data set during development of the base machine learning model and (ii) during development of the base machine learning model. obtaining one or more development values of a divergence metric representing a difference between the fourth set of predictions generated by the underlying machine learning model based on the training data set. The actions of the method may then include comparing one or more distribution values of the divergence metric to one or more developed values of the divergence metric to detect a deviation between the inference data set and the training data set.

소정의 실시형태에서, 액션 모듈에 의해 트리거되는 하나 이상의 액션은 기본 머신 러닝 모델에 대한 하나 이상의 설명 가능성 기준의 위반에 관한 경보를 전송하는 것을 포함하는데, 경보는 위반에 응답하기 위한 하나 이상의 추천을 더 포함한다. 추가적인 실시형태에서, 액션 모듈에 의해 트리거되는 하나 이상의 액션은 기본 머신 러닝 모델을 상이한 머신 러닝 모델과 교환하는 것을 포함한다. 추가적인 실시형태에서, 액션 모듈에 의해 트리거되는 하나 이상의 액션은 기본 머신 러닝 모델을 재트레이닝시키는 것을 포함한다. 추가적인 실시형태에서, 액션 모듈에 의해 트리거되는 하나 이상의 액션은 기본 머신 러닝 모델을 보조 머신 러닝 모델로 스위칭하는 것을 포함한다. 추가적인 실시형태에서, 액션 모듈에 의해 트리거되는 하나 이상의 액션은, 트레이닝 데이터 세트에 기초하여 개발 동안 기본 및 보조 머신 러닝 모델에 의해 생성되는 예측의 제3 및 제4 세트에 대한 발산 메트릭의 값을 비교하는 것에 의해 트레이닝 데이터 세트와 추론 데이터 세트 사이의 편차를 식별하는 것을 포함하는데, 예측의 제1 및 제2 세트에 대한 발산 메트릭의 값은 추론 데이터 세트에 기초하여 배포 동안 기본 및 보조 머신 러닝 모델에 의해 생성된다. 추가적인 실시형태에서, 액션 모듈에 의해 트리거되는 하나 이상의 액션은 하나 이상의 액션을 수행하기 위해 유저로부터 확인을 수신하지 않고도 트리거된다.In certain embodiments, the one or more actions triggered by the action module include sending an alert regarding a violation of one or more explainability criteria for the underlying machine learning model, wherein the alert includes one or more recommendations for responding to the violation. include more In a further embodiment, the one or more actions triggered by the action module include exchanging the underlying machine learning model for a different machine learning model. In a further embodiment, the one or more actions triggered by the action module comprises retraining the underlying machine learning model. In a further embodiment, the one or more actions triggered by the action module comprises switching the primary machine learning model to the secondary machine learning model. In a further embodiment, the one or more actions triggered by the action module compare the values of the divergence metrics for the third and fourth sets of predictions generated by the primary and secondary machine learning models during development based on the training data set. identifying deviations between the training data set and the inference data set by doing, wherein the values of the divergence metrics for the first and second sets of predictions are set to the primary and secondary machine learning models during deployment based on the inference data set. is created by In further embodiments, the one or more actions triggered by the action module are triggered without receiving confirmation from the user to perform the one or more actions.

일반적으로, 본 명세서에서 설명되는 주제의 다른 혁신적인 양태는, 배포된 기본 머신 러닝 모델로부터 추론 데이터 세트에 기초하여 예측의 제1 세트를 획득하기 위한 수단, 배포된 보조 머신 러닝 모델로부터 추론 데이터 세트에 기초하여 예측의 제2 세트를 획득하기 위한 수단, 및 기본 및 보조 머신 러닝 모델이 기본 머신 러닝 모델에 대한 하나 이상의 설명 가능성 기준을 충족하지 않는다는 결정에 응답하여 기본 머신 러닝 모델에 관련되는 하나 이상의 액션을 트리거하기 위한 수단을 포함하는 장치에서 구체화될 수 있다. 보조 머신 러닝 모델은 기본 머신 러닝 모델과는 상이하며, 기본 머신 러닝 모델의 예측을 모방하도록 구성된다. 기본 및 보조 머신 러닝 모델이 기본 머신 러닝 모델에 대한 하나 이상의 설명 가능성 기준을 충족하지 않는다는 결정은 예측의 제1 및 제2 세트의 비교에 기초한다.In general, other innovative aspects of the subject matter described herein include means for obtaining a first set of predictions based on an inference data set from a deployed primary machine learning model, to an inference data set from a deployed secondary machine learning model. means for obtaining a second set of predictions based on, and one or more actions related to the primary machine learning model in response to determining that the primary and secondary machine learning models do not meet one or more explainability criteria for the primary machine learning model. may be embodied in an apparatus comprising means for triggering The secondary machine learning model is different from the primary machine learning model and is configured to mimic the predictions of the primary machine learning model. A determination that the primary and secondary machine learning models do not meet one or more explainability criteria for the primary machine learning model is based on a comparison of the first and second sets of predictions.

이 양태의 다른 실시형태는, 대응하는 컴퓨터 시스템, 컴퓨터 구현 방법, 및 하나 이상의 컴퓨터 스토리지 디바이스 상에 기록되는 컴퓨터 프로그램을 포함하는데, 각각은 장치의 액션을 수행하도록 구성된다. 하나 이상의 컴퓨터의 시스템은, 동작 중에 시스템으로 하여금 액션을 수행하게 하는 시스템 상에 설치되는 소프트웨어, 펌웨어, 하드웨어, 또는 그들의 조합(예를 들면, 하나 이상의 스토리지 디바이스에 저장되는 명령어)을 구비하는 덕택에 특정한 액션을 수행하도록 구성될 수 있다. 하나 이상의 컴퓨터 프로그램은, 데이터 프로세싱 장치에 의해 실행될 때, 장치로 하여금 액션을 수행하게 하는 명령어를 포함하는 덕택에 특정한 액션을 수행하도록 구성될 수 있다.Another embodiment of this aspect includes a corresponding computer system, a computer implemented method, and a computer program recorded on one or more computer storage devices, each configured to perform an action of the apparatus. A system of one or more computers is by virtue of having software, firmware, hardware, or a combination thereof (eg, instructions stored on one or more storage devices) installed on the system that, during operation, cause the system to perform an action. It may be configured to perform a specific action. One or more computer programs may be configured to perform a particular action by virtue of including instructions that, when executed by the data processing apparatus, cause the apparatus to perform the action.

전술한 실시형태 및 다른 실시형태 각각은, 단독으로 또는 조합하여, 다음의 피쳐 중 하나 이상을 옵션 사항으로 포함할 수 있다. 몇몇 실시형태에서, 장치는, 기본 및 보조 머신 러닝 모델이 기본 머신 러닝 모델에 대한 하나 이상의 설명 가능성 기준을 충족하지 않는다는 것을 결정하기 위한 수단을 더 포함할 수 있다. 기본 및 보조 머신 러닝 모델이 기본 머신 러닝 모델에 대한 하나 이상의 설명 가능성 기준을 충족하지 않는다는 것을 결정하기 위해, 장치는, 비교 모듈은, 예측의 제1 세트 내의 예측과 예측의 제2 세트 내의 예측 사이의 차이에 기초하여, 예측의 제1 및 제2 세트에 대한 발산 메트릭의 하나 이상의 값을 결정하기 위한 수단을 포함할 수 있다. 그 다음, 장치는 예측의 제1 및 제2 세트에 대한 발산 메트릭의 하나 이상의 값 중 적어도 하나가 발산 임계치보다 더 크다는 것을 결정하기 위한 수단을 포함할 수 있다. 마지막으로, 장치는, 예측의 제1 및 제2 세트에 대한 발산 메트릭의 적어도 하나의 값이 발산 임계치보다 더 크다는 결정에 기초하여, 기본 및 보조 머신 러닝 모델이 기본 머신 러닝 모델에 대한 하나 이상의 설명 가능성 기준을 충족하지 않는다는 것을 결정하기 위한 수단을 포함할 수 있다.Each of the foregoing and other embodiments, alone or in combination, may optionally include one or more of the following features. In some embodiments, the apparatus can further include means for determining that the primary and secondary machine learning models do not meet one or more explainability criteria for the primary machine learning model. To determine that the primary and secondary machine learning models do not meet one or more explainability criteria for the primary machine learning model, the apparatus is further configured to: perform a comparison between the predictions in the first set of predictions and the predictions in the second set of predictions. means for determining one or more values of a divergence metric for the first and second sets of predictions based on the difference in . The apparatus may then include means for determining that at least one of the one or more values of the divergence metric for the first and second sets of predictions is greater than a divergence threshold. Finally, the apparatus determines that, based on a determination that at least one value of a divergence metric for the first and second sets of predictions is greater than a divergence threshold, the primary and secondary machine learning models are configured as one or more descriptions of the primary machine learning model. It may include means for determining that the likelihood criterion is not met.

소정의 실시형태에서, 발산 메트릭의 하나 이상의 값을 결정하기 위해, 장치는, 예측 단위 기반으로, 예측의 제1 및 제2 세트의 각각의 예측에 대한 발산 메트릭의 각각의 값을 결정하기 위한 수단을 포함할 수 있다. 대안적인 실시형태에서, 발산 메트릭의 하나 이상의 값을 결정하기 위해, 장치는, 예측의 제1 및 제2 세트의 하나 이상의 서브세트에 대한 발산 메트릭의 각각의 값을 결정하기 위한 수단을 포함할 수 있다.In certain embodiments, for determining one or more values of the divergence metric, the apparatus includes means for determining, on a per prediction basis, each value of the divergence metric for each prediction of the first and second sets of predictions. may include. In an alternative embodiment, for determining one or more values of the divergence metric, the apparatus may include means for determining each value of the divergence metric for one or more subsets of the first and second sets of predictions. have.

몇몇 실시형태에서, 발산 메트릭의 하나 이상의 값은 발산 메트릭의 하나 이상의 배포 값(deployment value)이다. 그러한 실시형태에서, 장치는, (i) 기본 머신 러닝 모델의 개발 동안 트레이닝 데이터 세트에 기초하여 기본 머신 러닝 모델에 의해 생성되는 예측의 제3 세트와 (ii) 보조 머신 러닝 모델의 개발 동안 트레이닝 데이터 세트에 기초하여 기본 머신 러닝 모델에 의해 생성되는 예측의 제4 세트 사이의 차이를 나타내는 발산 메트릭의 하나 이상의 개발 값을 획득하기 위한 수단을 포함할 수 있다. 그 다음, 장치는, 추론 데이터 세트와 트레이닝 데이터 세트 사이의 편차를 검출하기 위해, 발산 메트릭의 하나 이상의 배포 값을 발산 메트릭의 하나 이상의 개발 값과 비교하기 위한 수단을 포함할 수 있다.In some embodiments, the one or more values of the divergence metric are one or more deployment values of the divergence metric. In such an embodiment, the apparatus comprises (i) a third set of predictions generated by the base machine learning model based on the training data set during development of the base machine learning model and (ii) training data during development of the base machine learning model. means for obtaining one or more development values of a divergence metric representing a difference between the fourth set of predictions generated by the underlying machine learning model based on the set. The apparatus may then include means for comparing one or more distribution values of the divergence metric to one or more developed values of the divergence metric to detect a deviation between the inference data set and the training data set.

소정의 실시형태에서, 액션 모듈에 의해 트리거되는 하나 이상의 액션은 기본 머신 러닝 모델에 대한 하나 이상의 설명 가능성 기준의 위반에 관한 경보를 전송하는 것을 포함하는데, 경보는 위반에 응답하기 위한 하나 이상의 추천을 더 포함한다. 추가적인 실시형태에서, 액션 모듈에 의해 트리거되는 하나 이상의 액션은 기본 머신 러닝 모델을 상이한 머신 러닝 모델과 교환하는 것을 포함한다. 추가적인 실시형태에서, 액션 모듈에 의해 트리거되는 하나 이상의 액션은 기본 머신 러닝 모델을 재트레이닝시키는 것을 포함한다. 추가적인 실시형태에서, 액션 모듈에 의해 트리거되는 하나 이상의 액션은 기본 머신 러닝 모델을 보조 머신 러닝 모델로 스위칭하는 것을 포함한다. 추가적인 실시형태에서, 액션 모듈에 의해 트리거되는 하나 이상의 액션은, 트레이닝 데이터 세트에 기초하여 개발 동안 기본 및 보조 머신 러닝 모델에 의해 생성되는 예측의 제3 및 제4 세트에 대한 발산 메트릭의 값을 비교하는 것에 의해 트레이닝 데이터 세트와 추론 데이터 세트 사이의 편차를 식별하는 것을 포함하는데, 예측의 제1 및 제2 세트에 대한 발산 메트릭의 값은 추론 데이터 세트에 기초하여 배포 동안 기본 및 보조 머신 러닝 모델에 의해 생성된다. 추가적인 실시형태에서, 액션 모듈에 의해 트리거되는 하나 이상의 액션은 하나 이상의 액션을 수행하기 위해 유저로부터 확인을 수신하지 않고도 트리거된다.In certain embodiments, the one or more actions triggered by the action module include sending an alert regarding a violation of one or more explainability criteria for the underlying machine learning model, wherein the alert includes one or more recommendations for responding to the violation. include more In a further embodiment, the one or more actions triggered by the action module include exchanging the underlying machine learning model for a different machine learning model. In a further embodiment, the one or more actions triggered by the action module comprises retraining the underlying machine learning model. In a further embodiment, the one or more actions triggered by the action module comprises switching the primary machine learning model to the secondary machine learning model. In a further embodiment, the one or more actions triggered by the action module compare the values of the divergence metrics for the third and fourth sets of predictions generated by the primary and secondary machine learning models during development based on the training data set. identifying deviations between the training data set and the inference data set by doing, wherein the values of the divergence metrics for the first and second sets of predictions are set to the primary and secondary machine learning models during deployment based on the inference data set. is created by In further embodiments, the one or more actions triggered by the action module are triggered without receiving confirmation from the user to perform the one or more actions.

본원에서 설명되는 주제의 특정한 실시형태는 다음의 이점 중 하나 이상을 실현하기 위해 구현될 수 있다. 머신 러닝 모델에 의해 이루어지는 예측에 대한 설명은 이들 예측에 기초하여 이루어지는 중요한 결정을 정당화하고 지원하기 위해 사용될 수 있다. 더구나, 머신 러닝 모델이 설명 가능성 기준을 충족하지 않는다는 결정에 응답하여 액션을 트리거하는 것에 의해, 예측 설명의 정확성이 실시간으로 모니터링되고 향상될 수 있고, 그 결과, 예측에 대한 정확한 설명이 일관되게 유지된다. 또한, 기본 및 보조 머신 러닝 모델에 의해 생성되는 예측에 대한 발산 메트릭의 값에서의 변화를 검출하는 것에 의해, 데이터 드리프트가 검출될 수도 있고 그러한 데이터 드리프트를 고려하기 위해 적절한 액션이 취해질 수도 있다.Certain embodiments of the subject matter described herein may be implemented to realize one or more of the following advantages. Descriptions of predictions made by machine learning models can be used to justify and support important decisions made based on these predictions. Moreover, by triggering an action in response to a determination that the machine learning model does not meet the explainability criteria, the accuracy of the prediction description can be monitored and improved in real time, so that the accurate description of the prediction is consistently maintained. do. Further, by detecting a change in the value of the divergence metric for predictions generated by the primary and secondary machine learning models, data drift may be detected and appropriate action may be taken to account for such data drift.

몇몇 실시형태의 설명, 그에 대한 동기, 및/또는 그것의 이점을 비롯한 전술한 발명의 내용은, 본 개시를 이해함에 있어서 독자를 지원하도록 의도되며, 청구범위 중 임의의 것의 범위를 어떤 방식으로든 제한하지는 않는다.The foregoing subject matter, including description of several embodiments, motivations therefor, and/or advantages thereof, is intended to assist the reader in understanding the present disclosure and limits the scope of any of the claims in any way. don't

본 발명의 이점이 쉽게 이해되도록, 몇몇 실시형태에 대한 더욱 구체적인 설명이 첨부의 도면에서 예시되는 특정한 실시형태를 참조하여 제공될 것이다. 이들 도면은 단지 몇몇 실시형태만을 묘사하며 따라서 그 범위를 제한하는 것으로 간주되지 않아야 한다는 것을 이해하면, 몇몇 실시형태는 첨부의 도면의 사용을 통해 추가적으로 구체적이고 상세하게 기술되고 설명될 것이다.
도 1은, 한 실시형태에 따른, 머신 러닝 모델의 설명 가능성 기반의 조정을 위한 시스템을 예시하는 개략적인 블록도이다.
도 2a는, 한 실시형태에 따른, 머신 러닝 모델의 설명 가능성 기반의 조정을 위한 머신 러닝 시스템을 예시하는 개략적인 블록도이다.
도 2b는, 다른 실시형태에 따른, 머신 러닝 모델의 설명 가능성 기반의 조정을 위한 머신 러닝 시스템을 예시하는 개략적인 블록도이다.
도 2c는, 또 다른 실시형태에 따른, 머신 러닝 모델의 설명 가능성 기반의 조정을 위한 머신 러닝 시스템을 예시하는 개략적인 블록도이다.
도 3은, 한 실시형태에 따른, 머신 러닝 모델의 설명 가능성 기반의 조정을 위한 장치를 예시하는 개략적인 블록도이다.
도 4는, 한 실시형태에 따른, 머신 러닝 모델의 설명 가능성 기반의 조정을 위한 방법을 예시하는 개략적인 플로우차트 다이어그램이다.
도 5는, 다른 실시형태에 따른, 머신 러닝 모델의 설명 가능성 기반의 조정을 위한 방법을 예시하는 개략적인 플로우차트 다이어그램이다.
도 6a는, 한 실시형태에 따른, 보조 머신 러닝 모델을 생성하기 위한 방법을 예시하는 개략적인 플로우차트 다이어그램이다.
도 6b는, 한 실시형태에 따른, 2차 모델링 프로시져(second-order modeling procedure)를 수행하기 위한 방법을 예시하는 개략적인 플로우차트 다이어그램이다.
In order that the advantages of the present invention may be readily understood, a more specific description of some embodiments will be provided with reference to the specific embodiments illustrated in the accompanying drawings. With the understanding that these drawings depict only several embodiments and therefore are not to be considered limiting of their scope, several embodiments will be described and explained in additional specific and detail through the use of the accompanying drawings.
1 is a schematic block diagram illustrating a system for explainability-based tuning of a machine learning model, according to one embodiment.
2A is a schematic block diagram illustrating a machine learning system for explainability-based tuning of a machine learning model, according to an embodiment.
2B is a schematic block diagram illustrating a machine learning system for explainability-based tuning of a machine learning model, according to another embodiment.
2C is a schematic block diagram illustrating a machine learning system for explainability-based tuning of a machine learning model, according to another embodiment.
3 is a schematic block diagram illustrating an apparatus for explainability-based tuning of a machine learning model, according to an embodiment.
4 is a schematic flowchart diagram illustrating a method for explainability-based tuning of a machine learning model, according to an embodiment.
5 is a schematic flowchart diagram illustrating a method for explainability-based tuning of a machine learning model, according to another embodiment.
6A is a schematic flowchart diagram illustrating a method for generating an assisted machine learning model, according to one embodiment.
6B is a schematic flowchart diagram illustrating a method for performing a second-order modeling procedure, according to one embodiment.

본 명세서 전반에 걸친 "하나의 실시형태", "한 실시형태", "몇몇 실시형태", 또는 유사한 언어에 대한 언급은, 실시형태와 관련하여 설명되는 특정한 피쳐, 구조물, 또는 특성이 적어도 하나의 실시형태에서 포함된다는 것을 의미한다. 따라서, 본 명세서 전반에 걸친 "하나의 실시형태에서", "한 실시형태에서", "몇몇 실시형태에서" 및 유사한 언어의 출현은, 명시적으로 달리 명시되지 않는 한, 반드시 모두 동일한 실시형태를 가리키는 것이 아니라, "하나 이상의 그러나 모두는 아닌 실시형태"를 의미할 수도 있다.References throughout this specification to “one embodiment,” “an embodiment,” “some embodiments,” or similar language refers to a particular feature, structure, or characteristic being described in connection with the embodiment in at least one is meant to be included in the embodiment. Thus, appearances of "in one embodiment," "in an embodiment," "in some embodiments," and similar language throughout this specification are necessarily all referring to the same embodiment, unless expressly stated otherwise. Rather than referring to it, it may also mean “one or more but not all embodiments.”

더구나, 실시형태의 설명되는 피쳐, 이점 및 특성은 임의의 적절한 방식으로 결합될 수 있다. 기술 분야의 숙련된 자는, 특정한 실시형태의 특정한 피쳐 또는 이점 중 하나 이상이 없어도 실시형태가 실시될 수 있다는 것을 인식할 것이다. 다른 경우에, 모든 실시형태에서 존재하지 않을 수도 있는 추가적인 피쳐 및 이점이 소정의 실시형태에서 인식될 수 있다.Moreover, the described features, advantages, and characteristics of the embodiments may be combined in any suitable manner. Those skilled in the art will recognize that the embodiments may be practiced without one or more of the specific features or advantages of the specific embodiments. Additional features and advantages may be recognized in certain embodiments that may not be present in all embodiments in other instances.

실시형태의 이들 피쳐 및 이점은, 다음의 설명 및 첨부된 청구범위로부터 더욱 완전히 명백해질 것이거나, 또는 이하에서 기술되는 바와 같은 실시형태의 실시에 의해 학습될 수 있다. 기술 분야의 숙련된 자에 의해 이해되는 바와 같이, 본원에서 설명되는 주제의 양태는 시스템, 방법 및/또는 컴퓨터 프로그램 제품으로서 구체화될 수 있다. 따라서, 몇몇 실시형태의 양태는, 전체적으로 하드웨어 실시형태, 전체적으로 소프트웨어 실시형태(펌웨어, 상주 소프트웨어, 마이크로 코드, 등등을 포함함), 또는 본원에서 "회로", "모듈", 또는 "시스템"으로 일반적으로 지칭될 수 있는 소프트웨어 및 하드웨어 양태를 결합하는 실시형태의 형태를 취할 수 있다. 더구나, 몇몇 실시형태의 양태는, 프로그램 코드가 구체화된 하나 이상의 컴퓨터 판독 가능 매체(들)에서 구체화되는 컴퓨터 프로그램 제품의 형태를 취할 수 있다.These features and advantages of the embodiments will become more fully apparent from the following description and appended claims, or may be learned by practice of the embodiments as set forth below. As will be appreciated by those skilled in the art, aspects of the subject matter described herein may be embodied as systems, methods, and/or computer program products. Thus, aspects of some embodiments are generally hardware embodiments, entirely software embodiments (including firmware, resident software, microcode, etc.), or "circuits", "modules", or "systems" herein generally. It may take the form of an embodiment combining software and hardware aspects, which may be referred to as Moreover, aspects of some embodiments may take the form of a computer program product embodied in one or more computer readable medium(s) embodied in program code.

본 명세에서 설명되는 기능적 단위 중 많은 것은, 그들의 구현 독립성을 더욱 특히 강조하기 위해, 모듈로서 라벨링되었다. 예를 들면, 모듈은, 맞춤형(custom) VLSI 회로 또는 게이트 어레이, 기성의(off-the-shelf) 반도체 예컨대 로직 칩, 트랜지스터, 또는 다른 개별 컴포넌트를 포함하는 하드웨어 회로로서 구현될 수 있다. 모듈은 또한, 필드 프로그래머블 게이트 어레이, 프로그래머블 어레이 로직, 프로그래머블 로직 디바이스, 또는 등등과 같은 프로그래머블 하드웨어 디바이스에서 구현될 수 있다.Many of the functional units described in this specification have been labeled as modules, to more particularly emphasize their implementation independence. For example, a module may be implemented as a hardware circuit including custom VLSI circuitry or gate arrays, off-the-shelf semiconductors such as logic chips, transistors, or other discrete components. A module may also be implemented in a programmable hardware device, such as a field programmable gate array, programmable array logic, programmable logic device, or the like.

모듈은 다양한 타입의 프로세서에 의한 실행을 위해 소프트웨어로 또한 구현될 수 있다. 예를 들면, 프로그램 코드의 식별된 모듈은, 예를 들면, 오브젝트, 프로시져, 또는 함수로서 편제될 수도 있는 컴퓨터 명령어의 하나 이상의 물리적 또는 논리적 블록을 포함할 수도 있다. 그럼에도 불구하고, 식별된 모듈의 실행 파일은 물리적으로 함께 위치될 필요가 있는 것이 아니라, 논리적으로 함께 결합될 때, 모듈을 포함하며 모듈에 대한 언급된 목적을 달성하는 상이한 위치에 저장되는 전혀 다른 종류의 명령어를 포함할 수 있다.Modules may also be implemented in software for execution by various types of processors. For example, an identified module of program code may include one or more physical or logical blocks of computer instructions, which may be organized as, for example, objects, procedures, or functions. Nevertheless, the executables of the identified modules do not need to be physically co-located, but rather of a completely different kind that, when logically joined together, contain the modules and are stored in different locations that serve the stated purpose for the modules. may contain commands.

실제로, 프로그램 코드의 모듈은 단일의 명령어, 또는 많은 명령어일 수 있으며, 심지어, 몇몇 상이한 코드 세그먼트에 걸쳐, 상이한 프로그램 사이에서, 그리고 여러 가지 메모리 디바이스에 걸쳐 분산될 수 있다. 유사하게, 동작 데이터는, 본원에서, 모듈 내에서 식별 및 예시될 수 있고, 임의의 적절한 형태로 구체화될 수 있고 임의의 적절한 타입의 데이터 구조 내에서 편제될 수 있다. 동작 데이터는 단일의 데이터 세트로서 수집될 수 있거나, 또는 상이한 스토리지 디바이스에 걸쳐 분산되는 것을 포함하여 상이한 위치에 걸쳐 분산될 수 있으며, 적어도 부분적으로, 시스템 또는 네트워크 상에서 단지 전자 신호로서 존재할 수 있다. 모듈 또는 모듈의 일부가 소프트웨어로 구현되는 경우, 프로그램 코드는 하나 이상의 컴퓨터 판독 가능 매체(들) 상에서 저장 및/또는 전파될 수 있다.Indeed, a module of program code may be a single instruction, or many instructions, and may even be distributed over several different code segments, among different programs, and across several memory devices. Similarly, operational data may herein be identified and illustrated within modules, embodied in any suitable form, and organized within any suitable type of data structure. Operational data may be collected as a single data set, or may be distributed across different locations, including distributed across different storage devices, and may exist, at least in part, only as electronic signals on a system or network. If a module or a portion of a module is implemented in software, the program code may be stored on and/or propagated on one or more computer-readable medium(s).

컴퓨터 프로그램 제품은, 프로세서로 하여금 몇몇 실시형태의 양태를 실행하게 하기 위한 컴퓨터 판독 가능 프로그램 명령어를 구비하는 컴퓨터 판독 가능 저장 매체(또는 매체들)를 포함할 수 있다.A computer program product may include a computer readable storage medium (or media) having computer readable program instructions for causing a processor to execute aspects of some embodiments.

컴퓨터 판독 가능 저장 매체는, 명령어 실행 디바이스에 의한 사용을 위해 명령어를 유지 및 저장할 수 있는 유형의 디바이스일 수 있다. 컴퓨터 판독 가능 저장 매체는, 예를 들면, 전자 스토리지 디바이스, 자기 스토리지 디바이스, 광학 스토리지 디바이스, 전자기 스토리지 디바이스, 반도체 스토리지 디바이스, 또는 전술한 것의 임의의 적절한 조합일 수 있지만, 그러나 이들로 제한되지는 않는다. 컴퓨터 판독 가능 저장 매체의 더욱 특정한 예의 비망라적인 목록은 다음의 것을 포함한다: 휴대용 컴퓨터 디스켓, 하드 디스크, 랜덤 액세스 메모리(random access memory; "RAM"), 리드 온리 메모리(read-only memory; "ROM"), 소거 가능한 프로그래머블 리드 온리 메모리(erasable programmable read-only memory; "EPROM" 또는 플래시 메모리), 정적 랜덤 액세스 메모리(static random access memory; "SRAM"), 휴대용 컴팩트 디스크 리드 온리 메모리(portable compact disc read-only memory; "CD-ROM"), 디지털 다기능 디스크(digital versatile disk; "DVD"), 메모리 스틱, 플로피 디스크, 명령어가 기록된 홈(groove) 내에 융기된 구조물 또는 펀치 카드와 같은 기계적으로 인코딩된 디바이스, 및 전술한 것의 임의의 적절한 조합. "비일시적" 컴퓨터 판독 가능 저장 매체는, 본원에서 사용되는 바와 같이, 일시적 신호 그 자체, 예컨대 전파(radio wave) 또는 다른 자유롭게 전파되는 전자기파, 도파관 또는 다른 송신 매체를 통해 전파되는 전자기파(예를 들면, 광섬유 케이블을 통해 흐르는 광 펄스), 또는 와이어를 통해 송신되는 전기 신호인 것으로 해석되지 않아야 한다.A computer-readable storage medium can be a tangible device that can hold and store instructions for use by an instruction execution device. A computer-readable storage medium can be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. . A non-exhaustive list of more specific examples of computer-readable storage media includes: portable computer diskettes, hard disks, random access memory (“RAM”), read-only memory;” ROM"), erasable programmable read-only memory ("EPROM" or flash memory), static random access memory ("SRAM"), portable compact disk disc read-only memory (“CD-ROM”), digital versatile disk (“DVD”), memory sticks, floppy disks, structures raised in the grooves on which instructions are written, or mechanical devices such as punch cards. devices encoded with , and any suitable combination of the foregoing. A “non-transitory” computer-readable storage medium, as used herein, refers to a transitory signal itself, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., , pulses of light flowing through a fiber optic cable), or electrical signals transmitted over wires.

본원에서 설명되는 컴퓨터 판독 가능 프로그램 명령어는, 컴퓨터 판독 가능 저장 매체로부터 각각의 컴퓨팅/프로세싱 디바이스로, 또는 네트워크, 예를 들면, 인터넷, 근거리 통신망, 광역 통신망 및/또는 무선 네트워크를 통해 외부 컴퓨터 또는 외부 스토리지 디바이스로 다운로드될 수 있다. 네트워크는 구리 송신 케이블, 광학적 송신 섬유, 무선 송신, 라우터, 방화벽, 스위치, 게이트웨이 컴퓨터 및/또는 에지 서버를 포함할 수 있다. 각각의 컴퓨팅/프로세싱 디바이스에서의 네트워크 어댑터 카드 또는 네트워크 인터페이스는 네트워크로부터 컴퓨터 판독 가능 프로그램 명령어를 수신하고, 각각의 컴퓨팅/프로세싱 디바이스 내의 컴퓨터 판독 가능 저장 매체에서의 저장을 위해 컴퓨터 판독 가능 프로그램 명령어를 포워딩한다.The computer readable program instructions described herein can be transmitted from a computer readable storage medium to each computing/processing device, or via a network such as the Internet, local area network, wide area network and/or wireless network to an external computer or an external network. It can be downloaded to a storage device. The network may include copper transmission cables, optical transmission fibers, wireless transmissions, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within each computing/processing device. do.

몇몇 실시형태의 동작을 실행하기 위한 컴퓨터 판독 가능 프로그램 명령어는, 어셈블러 명령어, 명령어 세트 아키텍쳐(instruction-set-architecture; ISA) 명령어, 머신 명령어, 머신 종속 명령어, 마이크로코드, 펌웨어 명령어, 상태 설정 데이터, 또는 Smalltalk(스몰토크), C++, 또는 등등과 같은 객체 지향 프로그래밍 언어, 및 "C" 프로그래밍 언어 또는 유사한 프로그래밍 언어와 같은 종래의 절차형 프로그래밍 언어를 비롯한 하나 이상의 프로그래밍 언어의 임의의 조합으로 작성되는 소스 코드 또는 오브젝트 코드 중 어느 하나일 수 있다. 컴퓨터 판독 가능 프로그램 명령어는 전적으로 유저의 컴퓨터 상에서, 부분적으로 유저의 컴퓨터 상에서, 독립형 소프트웨어 패키지로서, 부분적으로 유저의 컴퓨터 상에서 그리고 부분적으로 원격 컴퓨터 상에서 또는 전적으로 원격 컴퓨터 또는 서버 상에서 실행될 수 있다. 후자의 시나리오에서, 원격 컴퓨터는, 근거리 통신망(local area network; LAN) 또는 광역 통신망(wide area network; WAN)을 비롯한 임의의 타입의 네트워크를 통해 유저의 컴퓨터에 연결될 수 있거나, 또는 연결은 (예를 들면, 인터넷 서비스 제공자를 사용하여 인터넷을 통해) 외부 컴퓨터에 대해 이루어질 수 있다. 몇몇 실시형태에서, 몇몇 실시형태의 양태를 수행하기 위해, 예를 들면, 프로그래머블 로직 회로부, 필드 프로그래머블 게이트 어레이(field-programmable gate array; FPGA) 또는 프로그래머블 로직 어레이(programmable logic array; PLA)를 포함하는 전자 회로부는, 컴퓨터 판독 가능 프로그램 명령어의 상태 정보를 활용하여 전자 회로부를 개인화하는 것에 의해, 컴퓨터 판독 가능 프로그램 명령어를 실행할 수 있다.Computer readable program instructions for executing the operations of some embodiments may include assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state setting data, or source written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, or the like, and conventional procedural programming languages such as the "C" programming language or similar programming languages. It may be either a code or an object code. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a standalone software package, partly on the user's computer and partly on a remote computer or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or wide area network (WAN), or the connection may be (e.g., For example, via the Internet using an Internet service provider) to an external computer. In some embodiments, including, for example, programmable logic circuitry, field-programmable gate arrays (FPGAs) or programmable logic arrays (PLAs) to perform aspects of some embodiments. The electronic circuitry may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry.

몇몇 실시형태의 양태는, 몇몇 실시형태에 따른 방법, 장치(시스템), 및 컴퓨터 프로그램 제품의 플로우차트 예시 및/또는 블록도를 참조하여 본원에서 설명된다. 플로우차트 예시 및/또는 블록도의 각각의 블록, 및 플로우차트 예시 및/또는 블록도에서의 블록의 조합은 컴퓨터 판독 가능 프로그램 명령어에 의해 구현될 수 있다는 것이 이해될 것이다.Aspects of some embodiments are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products in accordance with some embodiments. It will be understood that each block in the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, may be implemented by computer readable program instructions.

이들 컴퓨터 판독 가능 프로그램 명령어는 범용 컴퓨터, 특수 목적 컴퓨터, 또는 다른 프로그래머블 데이터 프로세싱 장치의 프로세서에 제공되어 머신을 생성할 수 있고, 그 결과, 다른 프로그래머블 데이터 프로세싱 장치 또는 컴퓨터의 프로세서를 통해 실행되는 명령어는, 플로우차트 및/또는 블록도 블록 또는 블록들에서 명시되는 기능/액트를 구현하기 위한 수단을 생성한다. 컴퓨터, 프로그래머블 데이터 프로세싱 장치, 및/또는 다른 디바이스에게 특정한 방식으로서 기능할 것을 지시할 수 있는 이들 컴퓨터 판독 가능 프로그램 명령어는 컴퓨터 판독 가능 저장 매체에 또한 저장될 수 있고, 그 결과, 명령어가 저장된 컴퓨터 판독 가능 저장 매체는, 플로우차트 및/또는 블록도 블록 또는 블록들에서 명시되는 기능/액트의 양태를 구현하는 명령어를 포함하는 제조 물품을 포함한다.These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing device to create a machine, such that the instructions executed by the processor of the other programmable data processing device or computer may include: , flowcharts and/or block diagrams create means for implementing the function/act specified in the block or blocks. These computer readable program instructions capable of instructing a computer, programmable data processing apparatus, and/or other device to function in a particular manner may also be stored in a computer readable storage medium, resulting in the computer readable instructions stored thereon. Capable storage media includes an article of manufacture comprising instructions implementing aspects of a function/act specified in a flowchart and/or block diagram block or blocks.

컴퓨터 판독 가능 프로그램 명령어는 또한, 컴퓨터, 다른 프로그래머블 데이터 프로세싱 장치, 또는 다른 디바이스 상으로 로딩되어 일련의 동작 단계로 하여금 컴퓨터, 다른 프로그래머블 장치 또는 다른 디바이스 상에서 수행되게 하여 컴퓨터 구현 프로세스를 생성할 수 있고, 그 결과, 컴퓨터, 다른 프로그래머블 장치 또는 다른 디바이스 상에서 실행되는 명령어는 플로우차트 및/또는 블록도 블록 또는 블록들에서 명시되는 기능/액트를 구현한다.The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus, or other device to create a computer implemented process, As a result, instructions executed on a computer, other programmable apparatus, or other device implement the function/act specified in the flowchart and/or block diagram block or blocks.

도면에서의 개략적인 플로우차트 다이어그램 및/또는 개략적인 블록도는, 다양한 실시형태에 따른 장치, 시스템, 방법 및 컴퓨터 프로그램 제품의 가능한 구현예의 아키텍쳐, 기능성(functionality) 및 동작을 예시한다. 이와 관련하여, 개략적인 플로우차트 다이어그램 및/또는 개략적인 블록도에서의 각각의 블록은, 명시된 논리적 기능(들)을 구현하기 위한 프로그램 코드의 하나 이상의 실행 가능 명령어를 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다.Schematic flowchart diagrams and/or schematic block diagrams in the drawings illustrate the architecture, functionality and operation of possible implementations of apparatus, systems, methods and computer program products according to various embodiments. In this regard, each block in the schematic flowchart diagrams and/or schematic block diagrams represents a module, segment or block of code comprising one or more executable instructions of program code for implementing the specified logical function(s). Some may indicate

또한, 몇몇 대안적 구현예에서, 블록에서 언급되는 기능은 도면에서 언급되는 순서를 벗어나 발생할 수 있다는 것을 유의해야 한다. 예를 들면, 수반되는 기능성에 따라, 연속적으로 도시되는 두 개의 블록은, 실제로는, 실질적으로 동시에 실행될 수도 있거나, 또는 블록은 때때로 역순으로 실행될 수 있다. 기능, 로직 또는 효과에서, 예시된 도면의 하나 이상의 블록, 또는 그 일부와 동등한 다른 단계 및 방법이 고안될 수 있다.It should also be noted that, in some alternative implementations, the functions recited in the blocks may occur out of the order recited in the figures. For example, two blocks shown in succession may, in fact, be executed substantially simultaneously, or blocks may sometimes be executed in reverse order, depending on the functionality involved. Other steps and methods may be devised that are equivalent in function, logic or effect to one or more blocks of the illustrated figures, or portions thereof.

다양한 화살표 타입 및 라인 타입이 플로우차트 및/또는 블록도에서 활용될 수 있지만, 그들은 대응하는 실시형태의 범위를 제한하지 않는 것으로 이해된다. 실제로, 몇몇 화살표 또는 다른 커넥터는 묘사된 실시형태의 논리적 흐름만을 나타내기 위해 사용될 수도 있다. 예를 들면, 화살표는 묘사된 실시형태의 열거된 단계 사이의 명시되지 않은 지속 기간의 대기 또는 모니터링 기간을 나타낼 수도 있다. 데이터의 흐름을 나타내기 위해, 몇몇 화살표 또는 다른 커넥터가 사용될 수도 있다. 블록도 및/또는 플로우차트 다이어그램의 각각의 블록, 및 블록도 및/또는 플로우차트 다이어그램에서의 블록의 조합은, 명시된 기능 또는 액트를 수행하는 특수 목적의 하드웨어 기반의 시스템, 또는 특수 목적의 하드웨어 및 프로그램 코드의 조합에 의해 구현될 수 있다는 것이 또한 주목될 것이다.Although various arrow types and line types may be utilized in flowcharts and/or block diagrams, it is understood that they do not limit the scope of the corresponding embodiments. Indeed, some arrows or other connectors may be used to indicate only the logical flow of the depicted embodiment. For example, an arrow may indicate a waiting or monitoring period of unspecified duration between enumerated steps of the depicted embodiment. Some arrows or other connectors may be used to indicate the flow of data. Each block in the block diagrams and/or flowchart diagrams, and combinations of blocks in the block diagrams and/or flowchart diagrams, is a special-purpose hardware-based system, or special-purpose hardware and It will also be noted that it may be implemented by a combination of program code.

개발 및/또는 배포 동안 머신 러닝 모델의 설명 가능성 기반의 조정을 위한 장치, 시스템, 프로그램 제품, 및 방법이 개시된다.Apparatus, systems, program products, and methods are disclosed for explainability-based tuning of machine learning models during development and/or deployment.

본원에서 언급되는 바와 같이, 용어 "머신 러닝 모델"은 특정한 트레이닝 데이터 세트에 대해 머신 러닝 알고리즘을 트레이닝시키는 프로세스에 의해 생성되는 임의의 적절한 모델 아티팩트(model artifact)를 지칭할 수도 있다. 예측을 생성하기 위해 머신 러닝 모델이 사용될 수 있다. 기술 분야의 숙련된 자는, 어구 "머신 러닝 모델의 적합성"이, 추론 데이터 세트에 기초하여 예측을 행하기 위해 모델 아티팩트에 의해 사용되는 알고리즘의 적합성 및/또는 모델 아티팩트의 적합성을 가리킬 수도 있다는 것을 이해할 것이다.As referred to herein, the term “machine learning model” may refer to any suitable model artifact generated by the process of training a machine learning algorithm on a particular training data set. Machine learning models may be used to generate predictions. Those skilled in the art will understand that the phrase "fitness of a machine learning model" may refer to the suitability of a model artifact and/or the suitability of an algorithm used by a model artifact to make a prediction based on an inference data set. will be.

본원에서 언급되는 바와 같이, 용어 "머신 러닝 시스템"은 머신 러닝 모델이 동작되는 임의의 환경을 지칭할 수도 있다. 하기에서 상세하게 논의되는 바와 같이, 머신 러닝 시스템은 다양한 컴포넌트, 파이프라인, 데이터 세트, 다른 인프라, 등등을 포함할 수도 있다.As referred to herein, the term “machine learning system” may refer to any environment in which a machine learning model is operated. As discussed in detail below, a machine learning system may include various components, pipelines, data sets, other infrastructure, and the like.

본원에서 언급되는 바와 같이, 머신 러닝 모델과 관련한 용어 "개발"은 머신 러닝 모델의 구성을 가리킬 수도 있다. 머신 러닝 모델은 트레이닝 데이터 세트를 사용하여 컴퓨터에 의해 구성된다. 따라서, 머신 러닝 모델의 개발은 트레이닝 데이터 세트를 사용한 머신 러닝 모델의 트레이닝을 가리킬 수도 있다. 몇몇 실시형태에서, 머신 러닝 모델을 트레이닝시키기 위해 사용되는 트레이닝 데이터 세트는 공지된 결과(예를 들면, 라벨)를 포함할 수 있다. 대안적인 실시형태에서, 트레이닝 데이터 세트는 공지된 결과를 포함하지 않는다.As referred to herein, the term “development” with respect to a machine learning model may refer to the construction of a machine learning model. A machine learning model is constructed by a computer using a training data set. Thus, the development of a machine learning model may refer to the training of a machine learning model using a training data set. In some embodiments, the training data set used to train the machine learning model may include known results (eg, labels). In an alternative embodiment, the training data set does not include known results.

머신 러닝 모델의 개발과는 대조적으로, 본원에서 언급되는 바와 같이, 머신 러닝 모델과 관련한 용어 "배포"는 실세계(real-world) 예측을 생성하기 위한 개발된 머신 러닝 모델의 사용을 가리킬 수도 있다. 배포된 머신 러닝 모델은 개발(예를 들면, 트레이닝)을 완료했을 수도 있다. 모델은, 모델이 개발되었던 시스템 및/또는 써드파티 시스템을 비롯한 임의의 시스템에서 배포될 수 있다. 배포된 머신 러닝 모델은 추론 데이터 세트에 기초하여 실세계 예측을 수행할 수 있다. 트레이닝 데이터 세트의 소정의 실시형태와는 달리, 추론 데이터 세트는 공지된 결과를 일반적으로 포함하지 않는다. 오히려, 배포된 머신 러닝 모델은 추론 데이터 세트에 기초하여 결과의 예측을 생성하기 위해 사용된다.In contrast to the development of a machine learning model, as referred to herein, the term "distribution" in the context of a machine learning model may refer to the use of the developed machine learning model to generate real-world predictions. A deployed machine learning model may have completed development (eg, training). The model may be deployed on any system, including the system on which the model was developed and/or third-party systems. Deployed machine learning models can make real-world predictions based on inference data sets. Unlike certain embodiments of training data sets, inference data sets generally do not contain known results. Rather, the deployed machine learning model is used to generate predictions of outcomes based on the inference data set.

머신 러닝 모델은, 예를 들면, 사람이 미래의 범죄를 저지를 가능성, 대출 승인에 대한 신뢰성, 및 의료 진단과 같은 중요한 결정을 내리기 위한 예측을 생성하기 위해 사용될 수도 있다. 머신 러닝 모델, 및 머신 러닝 모델에 의해 생성되는 예측은, 예를 들면, 성별, 지리적 위치, 인종, 및 등등에 기초하는 다양한 편견을 포함할 수 있는데, 이것은 예측에 기초하여 이루어지는 결정에 의해 직접적으로 영향을 받는 사람에게 부정적인 영향을 끼칠 수 있다. 따라서, 산업 및 정부는, 예측이, 결정을 내리기 위해 사용되는 머신 러닝 모델에 의해 이루어지는 경우, 설명될 수 있다는 것을 규정하는 하는 규정을 제정할 수 있다.Machine learning models may be used to generate predictions for making important decisions, such as, for example, a person's likelihood of committing a future crime, confidence in loan approval, and medical diagnosis. Machine learning models, and predictions generated by machine learning models, may include various biases based, for example, on gender, geographic location, race, and the like, which may be directly determined by decisions made based on the predictions. It can have a negative impact on the person affected. Accordingly, industry and governments may enact regulations stipulating that predictions can be explained if they are made by machine learning models used to make decisions.

따라서, 본원에서 사용되는 바와 같이, 머신 러닝 모델 또는 모델에 의한 예측과 관련한 용어 "설명 가능성"은, (i) 머신 러닝 모델에 의한 예측의 생성에 기여한 하나 이상의 요인이 정확하게 식별될 수 있는 정도, 및/또는 (ii) 식별된 요인(들)이 예측에 영향을 끼친 방식이 정확하게 표현될 수 있는 방식을 가리킨다. 간단한 머신 러닝 모델의 경우, 머신 러닝 모델에 의해 이루어지는 예측에 기여하는 요인을 식별하는 것은 간단할 수 있다. 그러나, 머신 러닝 모델이 더욱 복잡해짐에 따라, 특히 모델이 배포된 경우, 이들 기여 요인의 간결한 식별은 점점 더 어려워질 수 있다. 독점적 모델 구축 기술의 개시를 방지하는 것은 모델을 이해하기 쉽게 만드는 것의 도전 과제를 더욱 심화시킬 수 있다.Thus, as used herein, the term “explainability” in reference to a machine learning model or prediction by a model means (i) the extent to which one or more factors contributing to the generation of a prediction by the machine learning model can be accurately identified; and/or (ii) the manner in which the identified factor(s) influenced the prediction may be accurately represented. For simple machine learning models, it can be straightforward to identify factors contributing to the predictions made by the machine learning model. However, as machine learning models become more complex, concise identification of these contributing factors can become increasingly difficult, especially when the models are deployed. Preventing the launch of proprietary model-building techniques can further exacerbate the challenge of making models easy to understand.

몇몇 실시형태에서, 보조 머신 러닝 모델은 기본 머신 러닝 모델을 근사하기 위해 그리고 기본 머신 러닝 모델 또는 그것의 예측을 설명하기 위해 사용될 수 있다. 보조 머신 러닝 모델은 기본 머신 러닝 모델보다 상대적으로 더 간단할 수 있지만, 그러나 기본 머신 러닝 모델에 의해 이루어지는 예측을 모방하도록 구성될 수 있다. 보조 머신 러닝 모델의 실시형태는 도 6a 및 도 6b와 관련하여 하기에서 상세하게 논의된다.In some embodiments, the auxiliary machine learning model may be used to approximate the base machine learning model and to describe the base machine learning model or its prediction. A secondary machine learning model may be relatively simpler than a primary machine learning model, but may be configured to mimic the predictions made by the primary machine learning model. Embodiments of an assisted machine learning model are discussed in detail below with respect to FIGS. 6A and 6B .

보조 머신 러닝 모델의 상대적 단순성뿐만 아니라, 기본 머신 러닝 모델의 그 근사에 기인하여, 보조 머신 러닝 모델은, 기본 머신 러닝 모델에 의해 이루어지는 예측에 기여하는 하나 이상의 요인 및/또는 식별된 요인(들)이 예측에 영향을 끼친 방식의 인간이 이해 가능한 설명을 제공할 수도 있다. 다시 말하면, 보조 머신 러닝 모델은 기본 머신 러닝 모델에 대한 "설명 가능성"을 제공할 수도 있다. 몇몇 경우에, 그러한 보조 머신 러닝 모델은 본원에서 "카나리아(canary)" 모델로서 지칭될 수도 있다.Due to the relative simplicity of the auxiliary machine learning model, as well as its approximation of the underlying machine learning model, the auxiliary machine learning model may contain one or more factors and/or identified factor(s) that contribute to the prediction made by the underlying machine learning model. It could also provide a human-comprehensible explanation of the way this prediction was influenced. In other words, the auxiliary machine learning model may provide "explainability" for the primary machine learning model. In some cases, such auxiliary machine learning models may be referred to herein as “canary” models.

그러나, 실제로, 배포 동안 기본 머신 러닝 모델에 의해 프로세싱되는 추론 데이터는 개발 동안 기본 머신 러닝 모델에 의해 프로세싱되는 트레이닝 데이터로부터 종종 벗어나는데, 이것은 기본 머신 러닝 모델 및 보조 머신 러닝 모델로부터의 예측이 발산하게 할 수 있다. 추가적으로, 기본 머신 러닝 모델에서 이상이 존재할 수도 있는데, 또한, 기본 머신 러닝 모델 및 보조 머신 러닝 모델로부터의 예측으로 하여금 발산하게 할 수도 있다. 예측에서의 이러한 발산은 기본 머신 러닝 모델이 보조 머신 러닝 모델에 의해 설명 가능하지 않게 만들 수 있고, 그에 의해, 기본 머신 러닝 모델에 대한 설명 가능성 기준을 위반할 수 있다.However, in practice, the inference data processed by the primary machine learning model during deployment often deviates from the training data processed by the primary machine learning model during development, which causes predictions from the primary and secondary machine learning models to diverge. can do. Additionally, anomalies may exist in the primary machine learning model, which may also cause predictions from the primary and secondary machine learning models to diverge. Such divergence in prediction may make the primary machine learning model unexplainable by the secondary machine learning model, thereby violating the explainability criteria for the primary machine learning model.

본원에서 언급되는 바와 같이, 용어 "설명 가능성 기준"은 보조 머신 러닝 모델이 기본 머신 러닝 모델의 예측을 설명할 수 있는지의 여부를 나타내는 기준을 가리킬 수도 있다. 예를 들면, 하나의 설명 가능성 기준은 기본 머신 러닝 모델과 보조 머신 러닝 모델 사이의 예측의 발산이 임계 발산(threshold divergence)보다 더 작다는 것일 수도 있다. 보조 머신 러닝 모델이 기본 머신 러닝 모델의 적절한 근사인지의 여부, 및 따라서 보조 머신 러닝 모델이 기본 머신 러닝 모델 및/또는 그것의 예측을 적절하게 설명할 수 있는지의 여부를 결정하기 위해, 설명 가능성 기준이 사용될 수 있다.As referred to herein, the term “explainability criterion” may refer to a criterion indicating whether an auxiliary machine learning model can explain the prediction of a primary machine learning model. For example, one explainability criterion may be that the divergence of predictions between the primary machine learning model and the secondary machine learning model is less than a threshold divergence. To determine whether the secondary machine learning model is an appropriate approximation of the primary machine learning model, and thus whether the secondary machine learning model can adequately explain the primary machine learning model and/or its predictions, an explainability criterion this can be used

더구나, 본원에서 언급되는 바와 같이, 용어 "설명 가능성 기준의 위반"은 설명 가능성 기준의 이행(예를 들면, 충족)의 실패를 가리킬 수도 있다. 더 구체적으로, 설명 가능성 기준의 위반은, 임계 발산 아래로 떨어지는 기본 및 보조 머신 러닝 모델로부터의 예측에 대해 결정되는 발산 메트릭의 실패를 가리킬 수도 있다. 설명 가능성 기준의 위반은, 보조 머신 러닝 모델이 기본 머신 러닝 모델의 적절한 근사가 아니고, 따라서, 보조 머신 러닝 모델이 기본 머신 러닝 모델 및/또는 그 예측을 적절하게 설명하지 못한다는 것을 나타낼 수도 있다.Moreover, as referred to herein, the term “violation of an explainability criterion” may refer to a failure to fulfill (eg, meet) an explainability criterion. More specifically, a violation of the explainability criterion may indicate a failure of a divergence metric determined for predictions from primary and secondary machine learning models that fall below a threshold divergence. A violation of the explainability criterion may indicate that the auxiliary machine learning model is not an adequate approximation of the underlying machine learning model, and thus the auxiliary machine learning model does not adequately describe the underlying machine learning model and/or its predictions.

설명 가능성 기준의 위반을 방지하기 위해, 기본 머신 러닝 모델은 기본 머신 러닝 모델에 관련되는 하나 이상의 액션을 수행하는 것에 의해 개발 및/또는 배포에서 조정될 수도 있다. 따라서, 본원에서 언급되는 바와 같이, 머신 러닝 모델의 "설명 가능성 기반의 조정"은 설명 가능성 기준을 충족하기 위한 기본 머신 러닝 모델의 조정(예를 들면, 설명 가능성 기준을 충족하는 목적을 위한 조정, 및/또는 설명 가능성 기준을 충족하는 효과를 갖는 조정)을 가리킨다. 머신 러닝 모델의 설명 가능성 기반의 조정은 본 개시의 나머지 전반에 걸쳐 상세하게 논의된다.To prevent violations of the explainability criterion, the underlying machine learning model may be tuned in development and/or deployment by performing one or more actions related to the underlying machine learning model. Thus, as referred to herein, "explainability-based tuning" of a machine learning model is an adjustment of an underlying machine learning model to meet an explainability criterion (e.g., an adjustment for the purpose of meeting an explainability criterion; and/or adjustments having the effect of meeting explainability criteria). Explainability-based tuning of machine learning models is discussed in detail throughout the remainder of this disclosure.

도 1은, 한 실시형태에 따른, 머신 러닝 모델의 설명 가능성 기반의 조정을 위한 시스템(100)을 예시하는 개략적인 블록도이다. 하나의 실시형태에서, 시스템(100)은 하나 이상의 정보 핸들링 디바이스(102), 하나 이상의 머신 러닝(machine learning; ML) 관리 장치(104), 하나 이상의 데이터 네트워크(106), 및 하나 이상의 서버(108)를 포함한다. 소정의 실시형태에서, 비록 특정한 수의 정보 핸들링 디바이스(102), ML 관리 장치(104), 데이터 네트워크(106), 및 서버(108)가 도 1에서 묘사되더라도, 기술 분야의 숙련된 자는, 본 개시를 고려하여, 임의의 수의 정보 핸들링 디바이스(102), ML 관리 장치(104), 데이터 네트워크(106), 및 서버(108)가 시스템(100)에 포함될 수 있다는 것을 인식할 것이다.1 is a schematic block diagram illustrating a system 100 for explainability-based tuning of a machine learning model, in accordance with one embodiment. In one embodiment, system 100 includes one or more information handling devices 102 , one or more machine learning (ML) management devices 104 , one or more data networks 106 , and one or more servers 108 . ) is included. In certain embodiments, although a particular number of information handling devices 102 , ML management apparatus 104 , data network 106 , and server 108 are depicted in FIG. 1 , those skilled in the art will In view of the disclosure, it will be appreciated that any number of information handling devices 102 , ML management apparatus 104 , data network 106 , and server 108 may be included in system 100 .

하나의 실시형태에서, 시스템(100)은 하나 이상의 정보 핸들링 디바이스(102)를 포함한다. 정보 핸들링 디바이스(102)는, 데스크탑 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨터, 스마트폰, 스마트 스피커(예를 들면, Amazon Echo®(아마존 에코), Google Home®(구글 홈), Apple HomePod®(애플 홈팟)), 보안 시스템, 셋탑 박스, 게이밍 콘솔, 스마트 TV, 스마트 워치, 피트니스 밴드 또는 다른 웨어러블 활동 추적 디바이스, 광학 헤드 마운트 디스플레이(예를 들면, 가상 현실 헤드셋, 스마트 글래스, 또는 등등), 고선명 멀티미디어 인터페이스(High-Definition Multimedia Interface; "HDMI") 또는 다른 전자 디스플레이 동글, 개인 휴대형 정보 단말(personal digital assistant), 디지털 카메라, 비디오 카메라, 또는 프로세서(예를 들면, 중앙 프로세싱 유닛(central processing unit; "CPU"), 프로세서 코어, 필드 프로그래머블 게이트 어레이(field programmable gate array; "FPGA") 또는 다른 프로그래머블 로직, 주문형 집적 회로(application specific integrated circuit; "ASIC"), 컨트롤러, 마이크로컨트롤러, 및/또는 다른 반도체 집적 회로 디바이스), 휘발성 메모리, 및/또는 불휘발성 저장 매체를 포함하는 다른 컴퓨팅 디바이스 중 하나 이상을 포함할 수도 있다.In one embodiment, system 100 includes one or more information handling devices 102 . The information handling device 102 is a desktop computer, laptop computer, tablet computer, smartphone, smart speaker (eg, Amazon Echo®, Google Home®, Apple HomePod®) ), security systems, set-top boxes, gaming consoles, smart TVs, smart watches, fitness bands or other wearable activity tracking devices, optical head-mounted displays (e.g., virtual reality headsets, smart glasses, or the like), high-definition multimedia interfaces ( High-Definition Multimedia Interface (“HDMI”) or other electronic display dongle, personal digital assistant, digital camera, video camera, or processor (eg, central processing unit (“CPU”) ), processor core, field programmable gate array (“FPGA”) or other programmable logic, application specific integrated circuit (“ASIC”), controller, microcontroller, and/or other semiconductor integrated circuit device), volatile memory, and/or other computing devices including non-volatile storage media.

소정의 실시형태에서, 정보 핸들링 디바이스(102)는, 하기에서 설명되는 데이터 네트워크(106)를 통해 하나 이상의 서버(108)에 및/또는 하나 이상의 다른 정보 핸들링 디바이스(102)에 통신 가능하게 커플링된다. 정보 핸들링 디바이스(102)는, 추가적인 실시형태에서, 다양한 프로그램, 프로그램 코드, 애플리케이션, 명령어, 함수, 및/또는 등등을 실행하도록 구성되는 프로세서, 프로세서 코어, 및/또는 등등을 포함할 수도 있다. 정보 핸들링 디바이스(102)는, 하기에서 더욱 상세하게 설명된 바와 같이, 다양한 머신 러닝 동작을 수행하기 위한 실행 가능 코드, 함수, 명령어, 오퍼레이팅 시스템, 및/또는 등등을 포함할 수도 있다.In certain embodiments, the information handling device 102 is communicatively coupled to one or more servers 108 and/or to one or more other information handling devices 102 via a data network 106 described below. do. The information handling device 102 may, in additional embodiments, include processors, processor cores, and/or the like configured to execute various programs, program code, applications, instructions, functions, and/or the like. The information handling device 102 may include executable code, functions, instructions, operating systems, and/or the like for performing various machine learning operations, as described in more detail below.

몇몇 실시형태에서, ML 관리 장치(104)는, 보조 머신 러닝 모델이 기본 머신 러닝 모델을 적절하게 설명할 수 있는지의 여부를 결정하도록 구성된다. 다시 말하면, ML 관리 장치(104)는, 보조 머신 러닝 모델이 기본 머신 러닝 모델에 의한 예측의 식별에 기여한 하나 이상의 요인을 정확하게 식별할 수 있는지의 여부를 결정하도록 구성될 수도 있다.In some embodiments, the ML management device 104 is configured to determine whether the auxiliary machine learning model can adequately describe the base machine learning model. In other words, the ML management apparatus 104 may be configured to determine whether the auxiliary machine learning model can accurately identify one or more factors that contributed to the identification of the prediction by the base machine learning model.

보조 머신 러닝 모델이 기본 머신 러닝 모델을 적절하게 설명할 수 있는지의 여부를 결정하기 위해, ML 관리 장치(104)는 개발 및/또는 배포 동안 기본 머신 러닝 모델 및 보조 머신 러닝 모델을 모니터링(예를 들면, 지속적으로 또는 증분적으로 모니터링)할 수도 있다. 구체적으로, ML 관리 장치(104)는 데이터 세트(예를 들면, 개발 동안 트레이닝 데이터 세트 또는 배포 동안 추론 데이터 세트)에 기초하여 기본 머신 러닝 모델에 의해 이루어지는 예측의 세트 및 동일한 데이터 세트에 기초하여 보조 머신 러닝 모델에 의해 이루어지는 예측의 세트를 수신할 수 있고, 예를 들면, 제곱 평균 제곱근 오차(root-mean-square error; "RMSE") 분석, 다른 통계적 분석, 및/또는 임의의 다른 적절한 기술을 사용하여 예측의 상이한 세트를 비교할 수 있다. 예측의 기본 및 보조 세트의 이러한 비교에 기초하여, ML 관리 장치(104)는 예측의 세트 사이의 발산의 정도를 나타내는 발산 메트릭의 값을 결정할 수도 있다. 그 다음, 설명 가능성 기준이 위반되었는지의 여부를 결정하기 위해, 결정된 발산 메트릭은 기본 머신 러닝 모델에 대한 설명 가능성 기준에 따라 평가될 수 있다. 예를 들면, 기본 머신 러닝 모델에 대한 설명 가능성 기준이 위반되었는지의 여부를 결정하기 위해, 결정된 발산 메트릭은 임계 발산에 비교될 수 있다.To determine whether the secondary machine learning model can adequately describe the primary machine learning model, the ML management unit 104 monitors (e.g., the primary machine learning model and the secondary machine learning model) during development and/or deployment. continuous or incremental monitoring). Specifically, the ML management device 104 is configured to assist based on a set of predictions made by a basic machine learning model based on a data set (eg, a training data set during development or an inference data set during deployment) and the same data set. may receive a set of predictions made by the machine learning model, for example, a root-mean-square error (“RMSE”) analysis, other statistical analysis, and/or any other suitable technique. can be used to compare different sets of predictions. Based on this comparison of the primary and secondary sets of predictions, the ML management apparatus 104 may determine a value of a divergence metric indicating a degree of divergence between the sets of predictions. The determined divergence metric may then be evaluated according to the explainability criterion for the underlying machine learning model to determine whether the explainability criterion has been violated. For example, the determined divergence metric may be compared to a threshold divergence to determine whether an explainability criterion for the underlying machine learning model has been violated.

설명 가능성 기준의 비위반(non-violation)은, 보조 머신 러닝 모델이 기본 머신 러닝 모델의 양호한 근사이다는 것, 더구나 보조 머신 러닝 모델이 기본 머신 러닝 모델을 적절하게 설명할 수 있다는 것을 나타낼 수 있다. 다른 한편, 설명 가능성 기준의 위반은, 보조 머신 러닝 모델이 기본 머신 러닝 모델의 양호한 근사가 아니다는 것, 더구나 보조 머신 러닝 모델이 기본 머신 러닝 모델을 적절하게 설명할 수 없다는 것을 나타낼 수 있다. 몇몇 실시형태에서, 기본 머신 러닝 모델의 개발 동안 이루어지는 결정(예를 들면, 보조 머신 러닝 모델이 기본 머신 러닝 모델의 양호한 근사이다는 결정)은 기본 머신 러닝 모델의 배포에 후속하여 더 이상 사실이 아닐 수도 있다. 이것은 개발 동안 사용되는 트레이닝 데이터 세트와 기본 및 보조 머신 러닝 모델의 배포 동안 사용되는 추론 데이터 세트 사이의 편차의 결과일 수 있다.A non-violation of the explainability criterion may indicate that the secondary machine learning model is a good approximation of the primary machine learning model, moreover, that the secondary machine learning model can adequately describe the primary machine learning model. . On the other hand, a violation of the explainability criterion may indicate that the secondary machine learning model is not a good approximation of the primary machine learning model, moreover, that the secondary machine learning model cannot adequately describe the primary machine learning model. In some embodiments, a determination made during development of the primary machine learning model (eg, a determination that the secondary machine learning model is a good approximation of the primary machine learning model) may no longer be true following deployment of the primary machine learning model. may be This may be the result of a deviation between the training dataset used during development and the inference dataset used during deployment of primary and secondary machine learning models.

기본 머신 러닝 모델에 대한 설명 가능성 기준이 위반되는 경우, ML 관리 장치(104)는 기본 머신 러닝 모델에 관련되는 액션을 취할 수도 있다. 예를 들면, ML 관리 장치(104)는, 두 모델로부터의 예측이 설명 가능성 기준을 충족하지 않는 이유를 조사할 수도 있고, 두 모델에 대한 예측이 설명 가능성 기준을 충족하지 않는다는 것을 나타내는 경보를 생성할 수도 있고, 및/또는 설명 가능성 기준을 충족하도록 기본 머신 러닝 모델을 조정할 수도 있다. 이러한 방식으로, 기본 머신 러닝 모델은 모니터링될 수 있고, 필요하다면, 개발 및/또는 배포 동안 (예를 들면, 지속적으로 또는 증분적으로) 수정될 수 있다.When the explainability criterion for the basic machine learning model is violated, the ML management device 104 may take an action related to the basic machine learning model. For example, the ML management device 104 may investigate why the predictions from the two models do not meet the explainability criteria, and generate an alert indicating that the predictions for the two models do not meet the explainability criteria. and/or adjust the underlying machine learning model to meet explainability criteria. In this way, the underlying machine learning model may be monitored and, if necessary, modified (eg, continuously or incrementally) during development and/or deployment.

임의의 서브 모듈을 포함하는 ML 관리 장치(104)는, 정보 핸들링 디바이스(102) 중 하나 이상, 서버(108) 중 하나 이상, 하나 이상의 네트워크 디바이스, 및/또는 시스템(100)의 다른 컴포넌트 상에서 위치될 수 있다. 다양한 실시형태에서, ML 관리 장치(104)(또는 그 임의의 모듈)는, 정보 핸들링 디바이스(102) 중 하나 이상 상에서, 서버(108) 중 하나 이상 상에서, 또는 데이터 네트워크(106) 상의 다른 곳에서 설치 또는 배포될 수 있는 하드웨어 어플라이언스(hardware appliance)로서 구체화될 수도 있다. ML 관리 장치(104)의 하드웨어 어플라이언스는, 전력 인터페이스, 유선 및/또는 무선 네트워크 인터페이스, 디스플레이에 부착되는 그래픽 인터페이스, 및/또는 ML 관리 장치(104)와 관련하여 본원에서 설명되는 기능을 수행하도록 구성될 수도 있는 반도체 집적 회로 디바이스를 포함할 수 있다. 소정의 실시형태에서, ML 관리 장치(104)는 보안 하드웨어 동글, 셋탑 박스, 네트워크 어플라이언스, 또는 다른 하드웨어 디바이스와 같은 하드웨어 디바이스를 포함할 수 있다. 몇몇 경우에, 하드웨어 디바이스는, 유선 연결(예를 들면, 범용 직렬 버스(universal serial bus; "USB") 연결) 또는 무선 연결(예를 들면, Bluetooth®(블루투스), Wi-Fi(와이파이), 및/또는 근접장 통신(near-field communication; "NFC")) 중 어느 하나에 의해, 랩탑 컴퓨터, 서버(108) 중 하나 이상, 태블릿 컴퓨터, 스마트폰, 보안 시스템, 또는 등등과 같은 디바이스에 부착될 수 있다. 대안적인 실시형태에서, 하드웨어 디바이스는 전자 디스플레이 디바이스(예를 들면, HDMI 포트, DisplayPort(디스플레이포트) 포트, Mini DisplayPort(미니 디스플레이포트) 포트, VGA 포트, 및/또는 DVI 포트를 사용하는 텔레비전 또는 모니터)에 부착될 수 있다.The ML management apparatus 104 , including any sub-modules, is located on one or more of the information handling devices 102 , one or more of the servers 108 , one or more network devices, and/or other components of the system 100 . can be In various embodiments, the ML management apparatus 104 (or any module thereof) is configured on one or more of the information handling devices 102 , on one or more of the servers 108 , or elsewhere on the data network 106 . It may also be embodied as a hardware appliance that can be installed or deployed. The hardware appliance of the ML management device 104 is configured to perform the functions described herein with respect to a power interface, a wired and/or wireless network interface, a graphical interface attached to a display, and/or the ML management device 104 . semiconductor integrated circuit devices that may be In certain embodiments, the ML management apparatus 104 may include a hardware device such as a secure hardware dongle, set-top box, network appliance, or other hardware device. In some cases, the hardware device may be connected via a wired connection (eg, a universal serial bus (“USB”) connection) or a wireless connection (eg, Bluetooth® (Bluetooth), Wi-Fi (Wi-Fi), and/or to a device such as a laptop computer, one or more of the servers 108, a tablet computer, a smartphone, a security system, or the like, by any one of and/or near-field communication (“NFC”). can In alternative embodiments, the hardware device is an electronic display device (eg, a television or monitor using an HDMI port, a DisplayPort port, a Mini DisplayPort port, a VGA port, and/or a DVI port). ) can be attached to

상기에서 언급되는 바와 같이, 몇몇 실시형태에서, ML 관리 장치(104)는 반도체 집적 회로 디바이스(예를 들면, 하나 이상의 칩, 다이, 또는 다른 별개의 로직 하드웨어), 예컨대 필드 프로그래머블 게이트 어레이("FPGA") 또는 다른 프로그래머블 로직, FPGA 또는 다른 프로그래머블 로직에 대한 펌웨어, 마이크로컨트롤러 상에서의 실행을 위한 마이크로코드, 주문형 집적 회로("ASIC"), 프로세서, 프로세서 코어, 또는 등등을 포함할 수 있다. 하나의 실시형태에서, ML 관리 장치(104)는 (예를 들면, 휘발성 메모리, 불휘발성 저장 매체, 네트워크 인터페이스, 주변장치 디바이스, 및/또는 그래픽/디스플레이 인터페이스에 대한) 하나 이상의 전기 라인 또는 연결을 갖는 인쇄 회로 기판 상에서 장착될 수 있다. ML 관리 장치(104)는, 하나 이상의 핀, 패드, 데이터를 전송 및 수신하도록 구성되는(예를 들면, 인쇄 회로 기판의 하나 이상의 전기 라인과 통신하는) 다른 전기적 연결, 하나 이상의 하드웨어 회로, 및/또는 ML 관리 장치(104)의 다양한 기능을 수행하도록 구성되는 다른 전기 회로를 포함할 수도 있다.As noted above, in some embodiments, the ML management apparatus 104 is a semiconductor integrated circuit device (eg, one or more chips, dies, or other discrete logic hardware), such as a field programmable gate array (“FPGA”). ") or other programmable logic, firmware for FPGA or other programmable logic, microcode for execution on a microcontroller, application specific integrated circuits ("ASICs"), processors, processor cores, or the like. In one embodiment, the ML management device 104 provides one or more electrical lines or connections (eg, to volatile memory, non-volatile storage media, network interfaces, peripheral devices, and/or graphics/display interfaces). It can be mounted on a printed circuit board with The ML management device 104 may include one or more pins, pads, other electrical connections configured to transmit and receive data (eg, in communication with one or more electrical lines of a printed circuit board), one or more hardware circuits, and/or Alternatively, it may include other electrical circuitry configured to perform various functions of the ML management device 104 .

ML 관리 장치(104)의 반도체 집적 회로 디바이스 또는 다른 하드웨어 어플라이언스는, 랜덤 액세스 메모리("RAM"), 동적 RAM(dynamic RAM; "DRAM"), 또는 캐시를 포함할 수도 있는, 그러나 이들로 제한되지는 않는 하나 이상의 휘발성 메모리 매체를 포함할 수도 있고 및/또는 이들에 통신 가능하게 커플링될 수도 있다. 하나의 실시형태에서, ML 관리 장치(104)의 반도체 집적 회로 디바이스 또는 다른 하드웨어 어플라이언스는, NAND 플래시 메모리, NOR 플래시 메모리, 나노 랜덤 액세스 메모리(나노 RAM(nano RAM) 또는 NRAM), 나노크리스탈 와이어 기반 메모리, 실리콘 산화물 기반 10 나노미터 미만 프로세스 메모리, 그래핀(graphene) 메모리, 실리콘-산화물-질화물-산화물-실리콘(Silicon-Oxide-Nitride-Oxide-Silicon; "SONOS"), 저항성 RAM(resistive RAM; "RRAM"), 프로그래머블 금속화 셀(programmable metallization cell; "PMC"), 전도성 브리징 RAM(conductive-bridging RAM; "CBRAM"), 자기 저항 RAM(magneto-resistive RAM; "MRAM"), 동적 RAM("DRAM"), 상변화 RAM(phase change RAM; "PRAM" 또는 "PCM"), 자기 저장 매체(예를 들면, 하드 디스크, 테이프), 및/또는 광학 저장 매체를 포함할 수 있는, 그러나 이들로 제한되지는 않는 하나 이상의 불휘발성 메모리 매체를 포함할 수 있고 및/또는 이들에 통신 가능하게 커플링될 수 있다.The semiconductor integrated circuit device or other hardware appliance of the ML management apparatus 104 may include, but is not limited to, random access memory (“RAM”), dynamic RAM (“DRAM”), or cache. may include and/or be communicatively coupled to one or more volatile memory media. In one embodiment, the semiconductor integrated circuit device or other hardware appliance of the ML management apparatus 104 is a NAND flash memory, a NOR flash memory, a nano random access memory (nano RAM or NRAM), a nanocrystal wire based memory, silicon oxide based sub-10 nanometer process memory, graphene memory, silicon-oxide-nitride-oxide-silicon (“SONOS”), resistive RAM (RAM); "RRAM"), programmable metallization cell ("PMC"), conductive-bridging RAM ("CBRAM"), magneto-resistive RAM ("MRAM"), dynamic RAM ( “DRAM”), phase change RAM (“PRAM” or “PCM”), magnetic storage media (eg, hard disk, tape), and/or optical storage media, but these It may include and/or be communicatively coupled to one or more non-volatile memory media, including but not limited to.

시스템의 데이터 네트워크(106)는 디지털 통신을 송신하는 디지털 통신 네트워크일 수도 있다. 데이터 네트워크(106)는 무선 네트워크, 예컨대 무선 셀룰러 네트워크, 로컬 무선 네트워크, 예컨대 Wi-Fi 네트워크, Bluetooth® 네트워크, 근접장 통신("NFC") 네트워크, 및/또는 애드혹 네트워크를 포함할 수도 있다. 데이터 네트워크(106)는, 광역 네트워크("WAN"), 스토리지 영역 네트워크(storage area network; "SAN"), 근거리 통신망(LAN), 광섬유 네트워크, 인터넷, 및/또는 다른 디지털 통신 네트워크를 포함할 수도 있다. 데이터 네트워크(106)는 두 개 이상의 네트워크를 포함할 수도 있다. 데이터 네트워크(106)는 하나 이상의 서버, 라우터, 스위치, 및/또는 다른 네트워킹 기기를 포함할 수도 있다. 데이터 네트워크(106)는 또한, 하드 디스크 드라이브, 광학 드라이브, 불휘발성 메모리, 및/또는 RAM과 같은 하나 이상의 컴퓨터 판독 가능 저장 매체를 포함할 수도 있다.The data network 106 of the system may be a digital communications network that transmits digital communications. The data network 106 may include a wireless network, such as a wireless cellular network, a local wireless network, such as a Wi-Fi network, a Bluetooth® network, a near field communication (“NFC”) network, and/or an ad hoc network. The data network 106 may include a wide area network (“WAN”), a storage area network (“SAN”), a local area network (LAN), a fiber optic network, the Internet, and/or other digital communication networks. have. The data network 106 may include two or more networks. Data network 106 may include one or more servers, routers, switches, and/or other networking devices. Data network 106 may also include one or more computer-readable storage media, such as hard disk drives, optical drives, nonvolatile memory, and/or RAM.

무선 연결은 이동 전화 네트워크일 수도 있다. 무선 연결은 또한 미국 전기 전자 학회(Institute of Electrical and Electronics Engineers; "IEEE") 802.6 표준 중 임의의 하나에 기초하는 Wi-Fi 네트워크를 활용할 수도 있다. 대안적으로, 무선 연결은 Bluetooth® 연결일 수도 있다. 또한, 무선 연결은 국제 표준화 기구(International Organization for Standardization; "ISO"), 국제 전기 기술 위원회(International Electrotechnical Commission; "IEC"), American Society for Testing and Materials®(ASTM®; 미국 재료 시험 협회), DASH7™ Alliance(얼라이언스) 및 EPCGlobal™에 의해 확립된 RFID 표준을 포함하는 무선 주파수 식별(Radio Frequency Identification; "RFID") 통신을 활용할 수도 있다. 대안적으로, 무선 연결은 IEEE 802 표준에 기초한 ZigBee®(지그비) 연결을 활용할 수도 있다. 하나의 실시형태에서, 무선 연결은 Sigma Designs®(시그마 디자인즈)에 의해 설계되는 바와 같은 Z-Wave® 연결을 활용한다. 대안적으로, 무선 연결은 캐나다 Cochrane(코크런) 소재의 Dynastream® Innovations Inc.에 의해 정의되는 바와 같은 ANT® 및/또는 ANT+® 연결을 활용할 수도 있다.The wireless connection may be a mobile phone network. The wireless connection may also utilize a Wi-Fi network based on any one of the American Institute of Electrical and Electronics Engineers (“IEEE”) 802.6 standard. Alternatively, the wireless connection may be a Bluetooth® connection. In addition, wireless connectivity is supported by the International Organization for Standardization (“ISO”), the International Electrotechnical Commission (“IEC”), the American Society for Testing and Materials® (ASTM®), Radio Frequency Identification (“RFID”) communications may be utilized, including the RFID standard established by the DASH7™ Alliance and EPCGlobal™. Alternatively, the wireless connection may utilize a ZigBee® connection based on the IEEE 802 standard. In one embodiment, the wireless connection utilizes a Z-Wave® connection as designed by Sigma Designs®. Alternatively, the wireless connection may utilize an ANT® and/or ANT+® connection as defined by Dynastream® Innovations Inc. of Cochrane, Canada.

무선 연결은, 적어도, 적외선 데이터 연합(Infrared Data Association®; "IrDA®")에 의해 정의되는 바와 같은 적외선 물리 계층 명세(Infrared Physical Layer Specification; "IrPHY")를 준수하는 연결을 포함하는 적외선 연결일 수도 있다. 대안적으로, 무선 연결은 셀룰러 전화 네트워크 통신일 수도 있다. 각각의 표준 및/또는 연결 타입은, 본 개시의 출원일 현재의 표준 및/또는 연결 타입의 최신 버전 및 개정판을 포함할 수도 있다.A wireless connection is at least an infrared connection, including a connection that complies with the Infrared Physical Layer Specification (“IrPHY”) as defined by the Infrared Data Association® (“IrDA®”). may be Alternatively, the wireless connection may be a cellular telephone network communication. Each standard and/or connection type may include the latest version and revision of the standard and/or connection type as of the filing date of this disclosure.

하나 이상의 서버(108)는 블레이드 서버(blade server), 메인프레임 서버, 타워 서버, 랙 서버, 및/또는 등등으로서 구체화될 수도 있다. 하나 이상의 서버(108)는, 메일 서버, 웹 서버, 애플리케이션 서버, FTP 서버, 미디어 서버, 데이터 서버, 웹 서버, 파일 서버, 가상 서버, 및/또는 등등으로서 구성될 수도 있다. 하나 이상의 서버(108)는 데이터 네트워크(106)를 통해 정보 핸들링 디바이스(102) 중 하나 이상에 통신 가능하게 커플링(예를 들면, 네트워크화)될 수도 있다. 하나 이상의 서버(108)는, 머신 러닝 데이터, 모델, 트레이닝 모델, 및/또는 등등과 같은, 정보 핸들링 디바이스(102) 중 하나 이상과 관련되는 데이터를 저장할 수도 있다.One or more servers 108 may be embodied as blade servers, mainframe servers, tower servers, rack servers, and/or the like. One or more servers 108 may be configured as mail servers, web servers, application servers, FTP servers, media servers, data servers, web servers, file servers, virtual servers, and/or the like. One or more servers 108 may be communicatively coupled (eg, networked) to one or more of the information handling devices 102 via a data network 106 . The one or more servers 108 may store data related to one or more of the information handling devices 102 , such as machine learning data, models, training models, and/or the like.

도 2a는, 한 실시형태에 따른, 머신 러닝 모델의 설명 가능성 기반의 조정을 위한 머신 러닝 시스템(200)을 예시하는 개략적인 블록도이다. 도 2a에서 도시되는 실시형태에서, 머신 러닝 시스템(200)은, 예를 들면, 논리적 머신 러닝 계층을 포함할 수 있다. 몇몇 실시형태에서, 논리적 머신 러닝 계층은 지능 오버레이 네트워크(intelligence overlay network; "ION")일 수 있다. 머신 러닝 시스템은 다양한 컴포넌트, 파이프라인, 데이터 세트, 및 인프라를 포함할 수 있다. 머신 러닝 시스템(200)은 하나 이상의 정책 파이프라인(202), 하나 이상의 개발 파이프라인(204), 하나 이상의 배포 파이프라인(206a-c), 하나 이상의 옵션 데이터베이스(optional database)(208), 데이터 세트(210), 및/또는 상기에서 논의되는 ML 관리 장치(104) 중 하나 이상을 포함할 수도 있다.2A is a schematic block diagram illustrating a machine learning system 200 for explainability-based tuning of a machine learning model, according to one embodiment. In the embodiment shown in FIG. 2A , the machine learning system 200 may include, for example, a logical machine learning layer. In some embodiments, the logical machine learning layer may be an intelligence overlay network (“ION”). A machine learning system may include various components, pipelines, data sets, and infrastructure. The machine learning system 200 includes one or more policy pipelines 202 , one or more development pipelines 204 , one or more deployment pipelines 206a - c , one or more optional databases 208 , and a data set. 210 , and/or one or more of the ML management devices 104 discussed above.

본원에서 사용되는 바와 같이, 파이프라인(202, 204, 206a-c)은, 모델 개발, 모델 배포, 피쳐 엔지니어링, 유효성 확인, 채점, 및/또는 등등과 같은 다양한 머신 러닝 동작을 수행하기 위해 파이프라인이 사용할 수도 있는 다양한 머신 러닝 피쳐, 엔진, 모델, 컴포넌트, 오브젝트, 및/또는 모듈을 포함할 수도 있다. 예를 들면, 파이프라인(202, 204, 206a-c)은 데이터 세트(210)로부터의 데이터를 분석하거나 또는 프로세싱할 수도 있다. 이 데이터 프로세싱은 라이브로 - 이 경우, 데이터는 실시간으로 프로세싱됨 - , 배치(batch) 프로세싱에서 - 이 경우 데이터는 정적 소스로부터 세트 단위로 프로세싱됨 - , 스트리밍을 통해 - 이 경우 데이터는 시간의 증분 단위로 프로세싱됨 - , 또는 마이크로배치(micro-batch) 프로세싱을 통해 - 이 경우 데이터는 배치 프로세싱 및 스트리밍의 조합에 따라 프로세싱됨 - 수행될 수도 있다.As used herein, pipelines 202 , 204 , 206a - c are pipelines to perform various machine learning operations, such as model development, model deployment, feature engineering, validation, scoring, and/or the like. It may include various machine learning features, engines, models, components, objects, and/or modules that may be used. For example, pipelines 202 , 204 , 206a - c may analyze or process data from data set 210 . This data processing occurs live - in this case, the data is processed in real time - , in batch processing - in this case the data is processed in sets from a static source - , via streaming - in this case the data is incremented in time Processed in units - or via micro-batch processing - in which case the data is processed according to a combination of batch processing and streaming - may be performed.

비록 특정한 수의 파이프라인(202, 204, 206a-c)이 도 2a에서 묘사되어 있지만, 임의의 적절한 수의 파이프라인(202, 204, 206a-c)이 머신 러닝 시스템(200)에서 존재할 수도 있다. 더구나, 도 2a에서 묘사되는 바와 같이, 다양한 파이프라인(202, 204, 206a-c)은, 상기에서 설명되는 정보 핸들링 디바이스(102), 가상 머신, 및/또는 클라우드 또는 다른 원격 디바이스와 같은 디바이스(203, 205, 207a-c)로서 구체화되는 상이한 노드 상에서 위치될 수 있다.Although a particular number of pipelines 202 , 204 , 206a - c are depicted in FIG. 2A , any suitable number of pipelines 202 , 204 , 206a - c may be present in the machine learning system 200 . . Moreover, as depicted in FIG. 2A , the various pipelines 202 , 204 , 206a - c may be connected to the information handling device 102 described above, a virtual machine, and/or a device such as a cloud or other remote device ( 203, 205, 207a-c) may be located on different nodes.

하나의 실시형태에서, 각각의 파이프라인(202, 204, 206a-c)은 파이프라인(202, 204, 206a-c)이 구성되는 특정한 타입의 분석 엔진 상에서 실행된다. 본원에서 사용되는 바와 같이, 분석 엔진은 머신 러닝 수치 계산 및 분석을 수행하기 위한 명령어, 코드, 함수, 및/또는 라이브러리를 포함한다. 분석 엔진의 몇몇 비제한적인 예는 Spark(스파크), Flink(플링크), TensorFlow(텐서플로우), Caffe(카페), Theano(테아노) 및 PyTorch(파이토치)를 포함한다. 이들 엔진을 위해 개발되는 파이프라인(202, 204, 206a-c)은 특정한 분석 엔진에 대한 라이브러리(예를 들면, Spark에 대한 Spark-ML/MLlib 및 Flink에 대한 Flink-ML)에서 제공되는 컴포넌트를 포함할 수도 있다. 분석 엔진에 대한 애플리케이션 프로그래밍 인터페이스(예를 들면, Flink에 대한 Data set(데이터 세트)/DataStream)를 사용하여 각각의 분석 엔진에 대해 개발되는 맞춤형 프로그램이 또한 포함될 수 있다. 더구나, 각각의 파이프라인(202, 204, 206a-c)은 여러 가지 상이한 플랫폼, 라이브러리, 및/또는 프로그래밍 언어를 사용하여 구현될 수도 있다. 예를 들면, 하나의 배포 파이프라인(206a)은 Python(파이썬)을 사용하여 구현될 수도 있고, 한편, 상이한 배포 파이프라인(206b)은 Java(자바)를 사용하여 구현될 수도 있다.In one embodiment, each pipeline 202 , 204 , 206a-c runs on the particular type of analysis engine on which the pipeline 202 , 204 , 206a-c is configured. As used herein, an analysis engine includes instructions, code, functions, and/or libraries for performing machine learning numerical calculations and analysis. Some non-limiting examples of analytics engines include Spark, Flink, TensorFlow, Caffe, Theano, and PyTorch. The pipelines developed for these engines (202, 204, 206a-c) use components provided in libraries for specific analytics engines (eg, Spark-ML/MLlib for Spark and Flink-ML for Flink). may include A custom program developed for each analytics engine using an application programming interface to the analytics engine (eg, Data set/DataStream for Flink) may also be included. Moreover, each pipeline 202 , 204 , 206a - c may be implemented using several different platforms, libraries, and/or programming languages. For example, one deployment pipeline 206a may be implemented using Python (Python), while a different deployment pipeline 206b may be implemented using Java (Java).

하나의 실시형태에서, 머신 러닝 시스템(200)은 수행될 액션에 기초하여 파이프라인(202, 204, 206a-c)의 물리적 및/또는 논리적 그룹핑(grouping)을 포함한다. 예를 들면, ML 관리 장치(104)는 트레이닝 데이터 세트에 기초하여 특정한 예측을 수행하기 위해 머신 러닝 모델을 개발하기 위한 개발 파이프라인(204)뿐만 아니라, 추론 데이터 세트에 기초하여 예측을 행하도록 구성되는 하나 이상의 배포 파이프라인(206a-c)을 선택할 수도 있다. 배포 파이프라인(206a-c)은, 선택된 배포 파이프라인(206a-c)이 구성되는 분석 엔진을 사용하여 추론 데이터 세트를 프로세싱할 수도 있다. 따라서, 파이프라인 그룹핑은 다수의 분석 엔진을 포함할 수도 있다. 추가적으로, 분석 엔진은 다수의 파이프라인 그룹핑의 일부일 수도 있다.In one embodiment, the machine learning system 200 includes a physical and/or logical grouping of pipelines 202 , 204 , 206a - c based on an action to be performed. For example, the ML management device 104 is configured to make predictions based on an inference data set, as well as a development pipeline 204 for developing a machine learning model to perform a specific prediction based on a training data set. It is also possible to select one or more distribution pipelines 206a - c to be used. The distribution pipelines 206a - c may process the inference data set using the analysis engine on which the selected distribution pipelines 206a - c are configured. Thus, a pipeline grouping may include multiple analysis engines. Additionally, the analysis engine may be part of multiple pipeline groupings.

그룹핑은, 데이터 세트(210)로부터의 데이터를 프로세싱하는 것, 다른 그룹핑의 동작을 관리하는 것, 다른 그룹핑의 예측을 모니터링하는 것, 제어된 환경에서 상이한 머신 러닝 모델을 사용하여 실험하는 것(예를 들면, 샌드박싱), 및/또는 임의의 다른 액션과 같은 상이한 액션을 수행하도록 정의될 수도 있다. 예를 들면, 파이프라인(202, 204, 206a-c)의 논리적 그룹핑은, 파이프라인(202, 204, 206a-c)의 모니터링된 논리적 그룹핑으로부터의 피드백, 예측, 메시지, 및/또는 다른 표시자를 프로세싱하는 것에 의해, 및/또는 파이프라인(202, 204, 206a-c)의 모니터링된 논리적 그룹핑에 입력을 제공하여 이상, 에러, 및/또는 다른 정보를 검출하는 것에 의해 파이프라인(202, 204, 206a-c)의 상이한 논리적 그룹핑의 예측, 성능, 동작, 건전성, 및/또는 다른 피쳐를 분석하도록 구성될 수도 있다.Grouping includes processing data from data set 210, managing the behavior of other groupings, monitoring predictions of other groupings, and experimenting with different machine learning models in a controlled environment (e.g. for example, sandboxing), and/or any other action. For example, the logical grouping of pipelines 202 , 204 , 206a-c may provide feedback, predictions, messages, and/or other indicators from the monitored logical grouping of pipelines 202 , 204 , 206a-c. pipelines 202, 204, by processing and/or by providing input to monitored logical groupings of pipelines 202, 204, 206a-c to detect anomalies, errors, and/or other information. 206a-c) may be configured to analyze prediction, performance, operation, health, and/or other features of the different logical groupings.

몇몇 실시형태에서, 다수의 상이한 파이프라인(202, 204, 206a-c)은 동일한 디바이스 상에서 실행된다. 대안적인 실시형태에서, 각각의 파이프라인(202, 204, 206a-c)은 별개의 디바이스 상에서 실행된다. 디바이스(203, 205, 207a-c)는 단일의 위치에서 위치될 수 있고, 동일한 네트워크에 연결될 수 있고, 클라우드 또는 다른 원격 위치에서 위치될 수 있고, 및/또는 전술한 것의 어떤 조합에 위치될 수 있다.In some embodiments, multiple different pipelines 202 , 204 , 206a - c run on the same device. In an alternative embodiment, each pipeline 202 , 204 , 206a - c runs on a separate device. Devices 203 , 205 , 207a - c may be located in a single location, connected to the same network, located in the cloud or other remote location, and/or located in any combination of the foregoing. have.

파이프라인(202, 204, 206a-c)이 상이한 디바이스(203, 205, 207a-c) 상에서, 또는 동일한 디바이스(203, 205, 207a-c) 상에서 위치될 수 있기 때문에, ML 관리 장치(104)는, 주어진 액션을 수행하도록 최상으로 구성되는 파이프라인(202, 204, 206a-c)을 논리적으로 그룹핑할 수도 있다. 하기에서 더욱 상세하게 설명되는 바와 같이, 파이프라인(202, 204, 206a-c)의 논리적 그룹핑은, 파이프라인(202, 204, 206a-c)의 논리적 그룹핑이 수행될 특정한 액션을 위해 특별히 구성되도록 사전 정의될 수도 있다.Because pipelines 202, 204, 206a-c may be located on different devices 203, 205, 207a-c, or on the same device 203, 205, 207a-c, ML management apparatus 104 may logically group pipelines 202 , 204 , 206a - c that are best configured to perform a given action. As will be described in more detail below, the logical grouping of pipelines 202, 204, 206a-c is such that the logical grouping of pipelines 202, 204, 206a-c is specifically configured for the particular action to be performed. It may be predefined.

소정의 실시형태에서, ML 관리 장치(104)는, 파이프라인(202, 204, 206a-c)의 특성 및/또는 설정에 기초하여, 액션에 대한 요청이 결정되거나 또는 수신되는 경우, 액션에 대한 파이프라인(202, 204, 206a-c)을 동적으로 선택한다. 소정의 실시형태에서, 파이프라인(202, 204, 206a-c)의 다수의 상이한 논리적 그룹핑은 동일한 물리적 인프라, 플랫폼, 디바이스, 및/또는 가상 머신을 공유할 수 있다. 더구나, 파이프라인(202, 204, 206a-c)의 상이한 논리적 그룹핑은 수행될 주어진 액션에 기초하여 병합될 수도 있다.In certain embodiments, the ML management device 104 is configured to, when a request for an action is determined or received based on the characteristics and/or settings of the pipelines 202 , 204 , 206a - c, Dynamically select pipelines 202, 204, 206a-c. In certain embodiments, multiple different logical groupings of pipelines 202 , 204 , 206a - c may share the same physical infrastructure, platform, device, and/or virtual machine. Moreover, different logical groupings of pipelines 202 , 204 , 206a - c may be merged based on a given action to be performed.

정책 파이프라인(202)은 머신 러닝 시스템(200)의 동작을 관리하도록 구성될 수도 있다. 소정의 실시형태에서, 정책 파이프라인(202)은 개발 파이프라인(204)으로부터 트레이닝된 머신 러닝 모델을 수신하고 추론 데이터 세트에 기초하여 예측을 행하기 위해 트레이닝된 머신 러닝 모델을 배포 파이프라인(206a-c)으로 푸시한다. 추가적인 실시형태에서, 정책 파이프라인(202)은 유저 입력을 수신할 수도 있고, 다른 파이프라인(204, 206a-c)으로부터 피드백 정보를 수신할 수도 있고, 머신 러닝 모델의 유효성을 확인할 수도 있고, 파이프라인(202, 204, 206a-c) 사이의 데이터 송신을 용이하게 하게 할 수도 있고, 및/또는 추가적인 액션을 수행할 수도 있다.The policy pipeline 202 may be configured to manage the operation of the machine learning system 200 . In certain embodiments, the policy pipeline 202 receives the trained machine learning model from the development pipeline 204 and distributes the trained machine learning model to the deployment pipeline 206a to make predictions based on the inference data set. -c) to push. In further embodiments, the policy pipeline 202 may receive user input, receive feedback information from other pipelines 204 , 206a - c, validate the machine learning model, and It may facilitate data transmission between lines 202 , 204 , 206a - c and/or perform additional actions.

하나의 실시형태에서, 정책 파이프라인(202)은 파이프라인(204, 206a-c)이 서로 상호 작용하는 방법을 정의하는 하나 이상의 정책을 포함한다. 예를 들면, 개발 파이프라인(204)은 트레이닝 사이클이 완료된 이후 머신 러닝 모델을 출력할 수도 있다. 여러 가지 가능한 정책은 머신 러닝 모델이 핸들링되는 방법을 정의할 수 있다. 예를 들면, 정책은 머신 러닝 모델이 배포 파이프라인(206a-c)에 자동적으로 푸시되어야 한다는 것을 명시할 수도 있고, 한편 다른 정책은, 정책 파이프라인(202)이 머신 러닝 모델을 배포 파이프라인(206a-c)으로 푸시하기 이전에 머신 러닝 모델을 승인하는 데 유저 입력이 필요하다는 것을 명시할 수도 있다.In one embodiment, policy pipeline 202 includes one or more policies that define how pipelines 204 , 206a - c interact with each other. For example, the development pipeline 204 may output a machine learning model after the training cycle is complete. Several possible policies can define how machine learning models are handled. For example, a policy may specify that the machine learning model should be automatically pushed to the deployment pipeline 206a-c, while another policy may specify that the policy pipeline 202 pushes the machine learning model to the deployment pipeline ( You can also specify that user input is required to approve the machine learning model before pushing to 206a-c).

정책은 머신 러닝 모델이 업데이트되는 방법을 추가로 정의할 수도 있다. 예를 들면, 정책은 피드백에 기초하여(예를 들면, 개발 파이프라인(204) 및/또는 배포 파이프라인(206a-c)으로부터 수신되는 머신 러닝 예측에 기초하여) 머신 러닝 모델이 자동적으로 업데이트되어야 한다는 것을 명시할 수도 있다. 다른 예로서, 정책은, 머신 러닝 모델이 얼마나 자주(예를 들면, 간헐적으로 또는 지속적으로) 업데이트되는지와 같은, 머신 러닝 시스템(200) 내에서의 스케줄링 정보를 명시할 수도 있다.Policies may further define how machine learning models are updated. For example, a policy may indicate that a machine learning model should be automatically updated based on feedback (e.g., based on machine learning predictions received from development pipeline 204 and/or deployment pipeline 206a-c). You can also specify that As another example, a policy may specify scheduling information within the machine learning system 200 , such as how often (eg, intermittently or continuously) the machine learning model is updated.

정책은 파이프라인(202, 204, 206a-c)의 상이한 논리적 그룹핑이 상호 작용하는 방법을 정의할 수도 있다. 예를 들면, 정책은, 파이프라인(202, 204, 206a-c)의 하나의 그룹핑에 의해 생성되는 예측이 파이프라인(202, 204, 206a-c)의 상이한 그룹핑에 대한 입력으로서 사용되어야 한다는 것을 명시할 수도 있다. 예를 들면, 파이프라인(202, 204, 206a-c)의 하나의 그룹핑은 머신 러닝 모델을 트레이닝시키기 위해 트레이닝 데이터 세트를 수신할 수도 있고, 한편, 파이프라인(202, 204, 206a-c)의 다른 그룹핑은 배포된 머신 러닝 모델에 입력할 추론 데이터 세트를 수신할 수도 있다.Policies may define how different logical groupings of pipelines 202 , 204 , 206a - c interact. For example, the policy states that predictions produced by one grouping of pipelines 202, 204, 206a-c should be used as input to a different grouping of pipelines 202, 204, 206a-c. may be specified. For example, one grouping of pipelines 202 , 204 , 206a-c may receive a training data set to train a machine learning model, while pipelines 202 , 204 , 206a-c may receive a training data set. Another grouping may receive an inference data set for input into a deployed machine learning model.

하나의 실시형태에서, 정책 파이프라인(202)은 파이프라인(204, 206a-c)의 매핑을 유지하는데, 여기서 매핑은 파이프라인(204, 206a-c)의 논리적 그룹핑을 포함한다. 정책 파이프라인(202)은 유저 입력, 피드백, 및/또는 이벤트에 응답하여 파이프라인(204, 206a-c)의 다양한 설정을 추가로 조정할 수도 있다. 예를 들면, 배포 파이프라인(206a)이 부정확한 머신 러닝 예측을 생성하는 경우, 정책 파이프라인(202)은 예측이 부정확하다는 것을 나타내는 메시지를 배포 파이프라인(202)으로부터 수신할 수도 있고, 배포 파이프라인(206a)에 대한 새로운 머신 러닝 모델을 개발할 것을 개발 파이프라인(204)에게 지시할 수도 있다.In one embodiment, policy pipeline 202 maintains a mapping of pipelines 204 and 206a-c, where the mapping includes logical groupings of pipelines 204 and 206a-c. The policy pipeline 202 may further adjust various settings of the pipelines 204 , 206a - c in response to user input, feedback, and/or events. For example, if the distribution pipeline 206a produces an incorrect machine learning prediction, the policy pipeline 202 may receive a message from the distribution pipeline 202 indicating that the prediction is incorrect, the distribution pipe It may instruct the development pipeline 204 to develop a new machine learning model for line 206a.

개발 파이프라인(204)은, 예측과 관련되는 트레이닝 데이터 세트에 기초하여, 특정한 예측을 수행하기 위한 머신 러닝 모델을 개발하도록 구성될 수도 있다. 더 구체적으로, 개발 파이프라인(204)은 예측과 관련되는 트레이닝 데이터 세트에 대해 트레이닝 모델을 실행하는 것에 의해 특정한 예측을 수행하기 위한 머신 러닝 모델을 개발하도록 구성될 수도 있다. 머신 러닝 모델은, 트레이닝 데이터 세트를 소망되는 예측으로 매핑하는 트레이닝 데이터 세트 내의 패턴을 캡쳐하는 트레이닝 프로세스에 의해 생성되는 아티팩트일 수도 있다. 트레이닝 데이터 세트는, 정적 데이터 세트, 온라인 소스로부터 액세스 가능한 데이터, 스트리밍 데이터 세트, 및/또는 임의의 다른 타입의 데이터 세트일 수도 있다.The development pipeline 204 may be configured to develop a machine learning model for performing a particular prediction, based on a training data set associated with the prediction. More specifically, the development pipeline 204 may be configured to develop a machine learning model for performing a particular prediction by running the training model on a training data set associated with the prediction. A machine learning model may be an artifact produced by a training process that captures patterns in a training data set that map the training data set to a desired prediction. The training data set may be a static data set, data accessible from an online source, a streaming data set, and/or any other type of data set.

몇몇 실시형태에서, 새로운 머신 러닝 모델은, 데이터 센터 내의 대형 클러스터링된 분석 엔진 상에서 실행될 수 있는 개발 파이프라인(204)의 배치 프로세싱을 통해 주기적으로 개발된다. 개발 파이프라인(204)이 새로운 머신 러닝 모델을 생성함에 따라, 소정의 실시형태에서, 관리자는 정책 파이프라인(202)을 통해 통지받을 수 있다. 관리자는 생성된 머신 러닝 모델을 재검토할 수 있고, 만약 관리자가 승인하면, 머신 러닝 모델은 배포 파이프라인(206a-c)으로 푸시될 수 있다.In some embodiments, new machine learning models are developed periodically through batch processing in a development pipeline 204 that may be run on large clustered analytics engines within a data center. As the development pipeline 204 creates new machine learning models, in certain embodiments, the administrator may be notified via the policy pipeline 202 . The administrator may review the generated machine learning model, and if the administrator approves, the machine learning model may be pushed to the deployment pipeline 206a - c.

배포 파이프라인(206a-c)은, 추론 데이터 세트에 기초하여 머신 러닝 예측을 생성하기 위해 개발된 머신 러닝 모델 및 대응하는 분석 엔진을 사용할 수도 있다. 추론 데이터 세트는, 행해질, 그러나 머신 러닝 모델을 트레이닝시키기 위해 사용되는 트레이닝 데이터 세트의 일부가 아니었던 예측과 관련되는 데이터를 포함할 수도 있다. 더구나, 트레이닝 데이터 세트와는 달리, 추론 데이터 세트는 공지된 결과를 일반적으로 포함하지 않는다. 예를 들면, 유저가 전자 메일이 스팸인지의 여부를 알기를 원하면, 개발 파이프라인(204)은, 스팸인 것으로 알려져 있는 전자 메일 및 스팸이 아닌 것으로 알려져 있는 전자 메일 둘 모두 포함하는 트레이닝 데이터 세트를 사용하여 머신 러닝 모델을 개발할 수도 있다. 머신 러닝 모델이 개발된 이후, 정책 파이프라인(202)은 머신 러닝 모델을 배포 파이프라인(206a-c)으로 푸시할 수도 있는데, 여기서 머신 러닝 모델은, 추론 데이터로서 제공되는 하나 이상의 전자 메일이 스팸인지의 여부를 예측하기 위해 사용될 수 있다.The deployment pipelines 206a - c may use machine learning models and corresponding analytics engines developed to generate machine learning predictions based on inference data sets. The inference data set may include data relating to predictions to be made, but not part of the training data set used to train the machine learning model. Moreover, unlike training data sets, inference data sets generally do not contain known results. For example, if a user wants to know whether an e-mail is spam or not, the development pipeline 204 can generate a training data set containing both e-mail known to be spam and e-mail known not to be spam. It can also be used to develop machine learning models. After the machine learning model is developed, the policy pipeline 202 may push the machine learning model to the deployment pipelines 206a-c, where the machine learning model determines that one or more emails provided as inference data are spam. It can be used to predict cognition.

도 2b는, 다른 실시형태에 따른, 머신 러닝 모델의 설명 가능성 기반의 조정을 위한 머신 러닝 시스템(225)을 예시하는 개략적인 블록도이다. 도 2b에서 도시되는 실시형태에서, 머신 러닝 시스템(225)은, 예를 들면, 논리적 머신 러닝 계층을 포함할 수 있다. 하나의 실시형태에서, 도 2b의 머신 러닝 시스템(225)은 도 2a에서 묘사되는 머신 러닝 시스템(200)과 실질적으로 유사하다. 도 2a에서 묘사되는 머신 러닝 시스템(200)의 엘리먼트에 추가하여, 도 2b의 머신 러닝 시스템(225)은, 개발 디바이스(205a-b) 상에서 실행되는 복수의 개발 파이프라인(204a-b)을 포함한다.2B is a schematic block diagram illustrating a machine learning system 225 for explainability-based tuning of a machine learning model, according to another embodiment. In the embodiment shown in FIG. 2B , the machine learning system 225 may include, for example, a logical machine learning layer. In one embodiment, the machine learning system 225 of FIG. 2B is substantially similar to the machine learning system 200 depicted in FIG. 2A . In addition to the elements of machine learning system 200 depicted in FIG. 2A , machine learning system 225 of FIG. 2B includes a plurality of development pipelines 204a - b executing on development devices 205a - b do.

묘사된 실시형태에서, 개발 파이프라인(204a-b)은, 예측을 위한 하나 이상의 트레이닝 데이터 세트에 기초하여, 예측을 행하기 위한 머신 러닝 모델을 개발한다. 트레이닝 데이터 세트는 개발 파이프라인(204a-b)의 각각에 대해 상이할 수도 있다. 예를 들면, 제1 개발 파이프라인(204a)에 대한 트레이닝 데이터 세트는 제1 사전 정의된 시간 기간 동안의 이력 데이터를 포함할 수 있고, 한편, 제2 개발 파이프라인(204b)에 대한 트레이닝 데이터 세트는 상이한 제2 사전 정의된 시간 기간 동안의 이력 데이터를 포함할 수 있다. 트레이닝 데이터 세트에서의 변동은, 상이한 타입의 데이터, 상이한 시간 기간에 수집되는 데이터, 상이한 양의 데이터, 및/또는 데이터에서의 다른 타입의 변동을 포함할 수도 있다.In the depicted embodiment, the development pipelines 204a - b develop machine learning models for making predictions, based on one or more sets of training data for the predictions. The training data set may be different for each of the development pipelines 204a - b. For example, the training data set for the first development pipeline 204a may include historical data for a first predefined time period, while the training data set for the second development pipeline 204b may include historical data for a different second predefined time period. Variations in the training data set may include different types of data, data collected at different time periods, different amounts of data, and/or other types of variations in data.

또 다른 실시형태에서, 개발 파이프라인(204a-b)은 상이한 트레이닝 데이터 세트 또는 동일한 트레이닝 데이터 세트에 대해 상이한 머신 러닝 모델을 실행할 수도 있다. 예를 들면, 제1 개발 파이프라인(204a)은 파이썬을 사용하여 머신 러닝 모델 TensorFlow를 구현할 수 있고, 한편, 제2 개발 파이프라인(204b)은 자바를 사용하여 Spark(스파크)에서 상이한 머신 러닝 모델을 구현할 수 있다.In another embodiment, the development pipelines 204a - b may run different machine learning models on different training data sets or on the same training data set. For example, the first development pipeline 204a may implement a machine learning model TensorFlow using Python, while the second development pipeline 204b may implement a different machine learning model in Spark using Java. can be implemented.

하나의 실시형태에서, 머신 러닝 시스템(225)은, 개발 파이프라인(204a-b)이 개발하는 머신 러닝 모델을 수신하도록, 그리고 머신 러닝 모델 중 어떤 것이 특정한 예측을 행하기 위한 최상의 적합인지를 결정하도록 구성되는 모델 선택 모듈(212)을 포함한다. 가장 적합한 머신 러닝 모델은, 트레이닝 데이터에 대한 기준 예측(reference prediction)(예를 들면, "라벨" 또는 "타겟")과 가장 유사한 예측을 생성한 머신 러닝 모델(예를 들면, 가장 정확한 머신 러닝 모델), 가장 빠르게 실행되는 머신 러닝 모델, 최소 양의 구성을 필요로 하는 머신 러닝 모델, 및/또는 임의의 다른 적절한 메트릭에 따라 우수한 성능을 입증하는 머신 러닝 모델일 수도 있다.In one embodiment, the machine learning system 225 receives the machine learning models that the development pipelines 204a - b develop, and determines which of the machine learning models is the best fit for making a particular prediction. and a model selection module 212 configured to: The most suitable machine learning model is the machine learning model (e.g., the most accurate machine learning model) that produced a prediction that most closely resembles a reference prediction (e.g., a "label" or "target") on the training data. ), the machine learning model that runs the fastest, the machine learning model that requires the least amount of configuration, and/or the machine learning model that demonstrates good performance according to any other suitable metric.

하나의 실시형태에서, 모델 선택 모듈(212)은, 머신 러닝 모델을 개발하기 위해 그리고 개발된 머신 러닝 모델 중 어떤 것이 주어진 예측 문제에 대해 가장 잘 적합한지를 결정하기 위해 하이퍼 파라미터 검색(hyper-parameter search)을 수행한다. 본원에서 사용되는 바와 같이, 하이퍼 파라미터 검색(또는 하이퍼 파라미터 "최적화" 또는 "튜닝")은 머신 러닝 알고리즘을 위한 하이퍼 파라미터의 세트(예를 들면, 최적의 하이퍼 파라미터의 세트)를 선택하는 문제이다. 소정의 실시형태에서, 동일한 종류의 머신 러닝 모델이 상이한 데이터 패턴을 일반화하기 위해 상이한 제약, 가중치, 및/또는 학습률을 사용할 수 있다. 이들 측정은 하이퍼 파라미터로 칭해질 수도 있으며, 모델이 머신 러닝 문제를 해결할 수 있도록(예를 들면, 최적으로 해결할 수 있도록) 튜닝될 수도 있다. 하이퍼 파라미터 최적화의 목표는, 명시된 메트릭에 의해 측정될 때 명시된 레벨의 성능을 달성하는(예를 들면, 주어진 독립 데이터에 대해 사전 정의된 손실 함수를 최소화하는) 머신 러닝 모델(예를 들면, 최적의 머신 러닝 모델)을 산출하는 하이퍼 파라미터의 세트를 찾는 것일 수도 있다. 소정의 실시형태에서, 모델 선택 모듈(212)은 단일의 결합된 모델을 생성하기 위해 상이한 머신 러닝 모델의 상이한 피쳐를 결합한다. 하나의 실시형태에서, 모델 선택 모듈(212)은 배포 파이프라인(206a-c)으로의 전파를 위해 선택된 머신 러닝 모델을 정책 파이프라인(202)으로 푸시한다. 다양한 실시형태에서, 모델 선택 모듈(212)은 ML 관리 장치(104)의 일부이고, 그것에 통신 가능하게 커플링되고 및/또는 그것에 동작 가능하게 커플링된다.In one embodiment, the model selection module 212 is configured to perform a hyper-parameter search to develop a machine learning model and to determine which of the developed machine learning models is best suited for a given prediction problem. ) is performed. As used herein, hyperparameter search (or hyperparameter “optimization” or “tuning”) is the problem of selecting a set of hyperparameters (eg, an optimal set of hyperparameters) for a machine learning algorithm. In certain embodiments, the same kind of machine learning model may use different constraints, weights, and/or learning rates to generalize different data patterns. These measurements may be referred to as hyperparameters, and the model may be tuned to solve (eg, optimally solve) a machine learning problem. The goal of hyperparameter optimization is to create a machine learning model (e.g., optimal It may be finding a set of hyperparameters that yield a machine learning model). In certain embodiments, the model selection module 212 combines different features of different machine learning models to create a single combined model. In one embodiment, the model selection module 212 pushes the selected machine learning model to the policy pipeline 202 for propagation to the deployment pipelines 206a - c. In various embodiments, the model selection module 212 is part of, communicatively coupled to, and/or operatively coupled to the ML management device 104 .

도 2c는, 또 다른 실시형태에 따른, 머신 러닝 모델의 설명 가능성 기반의 조정을 위한 머신 러닝 시스템(250)을 예시하는 개략적인 블록도이다. 도 2c에서 도시되는 실시형태에서, 머신 러닝 시스템(250)은, 예를 들면, 논리적 머신 러닝 계층을 포함할 수 있다. 도 2c의 머신 러닝 시스템(250)은 도 2a 및 도 2b에서 각각 묘사되는 머신 러닝 시스템(200 및 225)과 실질적으로 유사할 수도 있다. 그러나, 도 2c는 머신 러닝 시스템(250)의 연합된 학습 실시형태를 추가로 예시한다.2C is a schematic block diagram illustrating a machine learning system 250 for explainability-based tuning of a machine learning model, according to another embodiment. In the embodiment shown in FIG. 2C , machine learning system 250 may include, for example, a logical machine learning layer. The machine learning system 250 of FIG. 2C may be substantially similar to the machine learning systems 200 and 225 depicted in FIGS. 2A and 2B , respectively. However, FIG. 2C further illustrates a federated learning embodiment of the machine learning system 250 .

연합된 머신 러닝 시스템에서, 개발 파이프라인(204a-c)은 대응하는 배포 파이프라인(206a-c)과 동일한 디바이스 상에 위치될 수도 있다. 그러한 실시형태에서, 개발 파이프라인(204a-c)은 상이한 머신 러닝 모델을 개발할 수도 있고 머신 러닝 모델을 모델 선택 모듈(212)로 전송할 수도 있는데, 이것은 머신 러닝 시스템(250)에 대해 어떤 머신 러닝 모델이 가장 잘 적합한지를 결정할 수도 있거나 또는 상기에서 설명되는 바와 같이 상이한 머신 러닝 모델을 결합할 수도 있다. 선택된 머신 러닝 모델은 유효성 확인을 위해 정책 파이프라인(202)으로 푸시될 수도 있다. 그 다음, 정책 파이프라인(202)은 모델을 배포 파이프라인(206a-c)으로 다시 푸시할 수도 있다.In a federated machine learning system, development pipelines 204a - c may be located on the same device as corresponding deployment pipelines 206a - c. In such an embodiment, the development pipelines 204a - c may develop different machine learning models and send the machine learning models to the model selection module 212 , which determines which machine learning model for the machine learning system 250 . You may decide which one is the best fit or you may combine different machine learning models as described above. The selected machine learning model may be pushed to the policy pipeline 202 for validation. The policy pipeline 202 may then push the model back to the deployment pipelines 206a-c.

도 3은, 한 실시형태에 따른, 머신 러닝 모델의 설명 가능성 기반의 조정을 위한 장치(300)를 예시하는 개략적인 블록도이다. 도 3에서 묘사되는 실시형태에서, 장치(300)는 ML 관리 장치(104)의 실시형태를 포함한다. ML 관리 장치(104)는 제1 예측 모듈(302), 제2 예측 모듈(304), 비교 모듈(306), 및 액션 모듈(308)을 포함하는데, 이들 각각은 하기에서 상세하게 설명된다.3 is a schematic block diagram illustrating an apparatus 300 for explainability-based tuning of a machine learning model, according to an embodiment. In the embodiment depicted in FIG. 3 , the apparatus 300 comprises an embodiment of the ML management apparatus 104 . The ML management device 104 includes a first prediction module 302 , a second prediction module 304 , a comparison module 306 , and an action module 308 , each of which is described in detail below.

제1 예측 모듈(302)은 기본 머신 러닝 모델에 의해 이루어지는 예측의 제1 세트를 획득(예를 들면, 수신)하도록 구성될 수도 있다. 기본 머신 러닝 모델은 1차(first-order) 머신 러닝 모델과 같은 복잡한 머신 러닝 모델일 수도 있다. 예를 들면, 기본 머신 모델은, 다수의 상이한 계층의 노드 또는 파이프라인을 포함하는 다중 계층 퍼셉트론(multilayer perceptron; "MLP")과 같은 인공 신경망을 포함할 수도 있다. 복잡한 머신 러닝 모델의 다른 비제한적인 예는, 딥 러닝 모델, 앙상블(또는 "혼합(blended)") 모델(예를 들면, 다수의 상이한 머신 러닝 모델의 조합을 포함하는 모델), 부스팅 모델(boosting model), 배깅 모델(bagging model), 및/또는 서포트 벡터 머신을 포함할 수 있다. 기본 머신 러닝 모델은, 그 모델이 배포 동안 프로세싱할 추론 데이터 세트와 유사한 트레이닝 데이터 세트를 사용하여 트레이닝될 수 있다.The first prediction module 302 may be configured to obtain (eg, receive) a first set of predictions made by the underlying machine learning model. The basic machine learning model may be a complex machine learning model, such as a first-order machine learning model. For example, the base machine model may include an artificial neural network, such as a multilayer perceptron (“MLP”), comprising multiple different layers of nodes or pipelines. Other non-limiting examples of complex machine learning models include deep learning models, ensemble (or "blended") models (eg, models comprising a combination of a number of different machine learning models), boosting models. model), a bagging model, and/or a support vector machine. A basic machine learning model may be trained using a training data set similar to the inference data set that the model will process during deployment.

몇몇 실시형태에서, 제1 예측 모듈(302)에 의해 수신되는 예측의 제1 세트는, 추론 데이터 세트에 기초하여, 배포 동안 기본 머신 러닝 모델에 의해 이루어진다. 몇몇 추가적인 실시형태에서, 예측의 제1 세트는, 추론 데이터 세트에 기초하여, (예를 들면, 실시간의) 라이브 배포에서 기본 머신 러닝 모델에 의해 이루어진다. 한 예로서, 기본 머신 러닝 모델은, 스팸 또는 정크 메일인 전자 메일 메시지에 플래그를 지정하기 위해, 전자 메일 메시지를 실시간으로(예를 들면, 그들이 수신될 때) 분석하기 위해 배포되는 MLP 모델일 수 있다. 대안적인 실시형태에서, 제1 예측 모델(302)에 의해 수신되는 예측의 제1 세트는, 트레이닝 데이터 세트에 기초하여, 개발 동안 기본 머신 러닝 모델에 의해 이루어진다.In some embodiments, the first set of predictions received by the first prediction module 302 is made by the underlying machine learning model during deployment, based on the inference data set. In some additional embodiments, the first set of predictions is made by the underlying machine learning model in a live deployment (eg, in real time), based on the inference data set. As an example, the underlying machine learning model could be an MLP model deployed to analyze e-mail messages in real time (e.g. when they are received), to flag e-mail messages as spam or junk mail. have. In an alternative embodiment, the first set of predictions received by the first predictive model 302 are made by the underlying machine learning model during development, based on the training data set.

기본 머신 러닝 모델에 의해 이루어지는 예측의 제1 세트는, 목록, 테이블, 데이터베이스, 및/또는 기본 머신 러닝 모델이 생성하는 예측을 저장하는 임의의 다른 데이터 구조를 포함할 수도 있다. 제1 예측 모듈(302)은 예측의 제1 세트를 로컬하게 또는 원격 디바이스(예를 들면, 클라우드 디바이스)에 저장할 수도 있다. 제1 예측 모듈(302)은 예측의 제1 세트를 쿼리할 수도 있고, 예측의 제1 세트에 대해 폴링할 수도 있고, 및/또는 자신에게 푸시되는 예측의 제1 세트를 수신할 수도 있다. 제1 예측 모듈(302)은 예측의 제1 세트를 라이브로(예를 들면, 예측이 생성될 때), 묶음 단위로(in a batch)(예를 들면, 100 개의 예측마다), 스트리밍을 통해 증분적으로(예를 들면, 30 초마다, 1 분마다, 또는 등등마다), 또는 임의의 다른 적절한 스케줄에 따라 수신할 수도 있다.The first set of predictions made by the underlying machine learning model may include a list, table, database, and/or any other data structure that stores predictions that the underlying machine learning model makes. The first prediction module 302 may store the first set of predictions locally or on a remote device (eg, a cloud device). The first prediction module 302 may query the first set of predictions, poll for the first set of predictions, and/or receive the first set of predictions pushed to it. The first prediction module 302 generates a first set of predictions live (eg, when predictions are generated), in a batch (eg, every 100 predictions), and via streaming. may be received incrementally (eg, every 30 seconds, every minute, or the like), or according to any other suitable schedule.

제2 예측 모듈(304)은 보조 머신 러닝 모델에 의해 이루어지는 예측의 제2 세트를 획득(예를 들면, 수신)하도록 구성될 수도 있다. 기본 머신 러닝 모델과는 대조적으로, 보조 머신 러닝 모델은 상대적으로 간단한 머신 러닝 모델일 수도 있다. 보조 머신 러닝 모델의 몇몇 비제한적인 예는, 의사 결정 트리 모델(decision tree model), 로지스틱 회귀 모델(logistic regression model), 선형 모델, RuleFit 모델,

Figure pct00001
Bayes(나이브 베이즈) 모델, k 개의 최근접 이웃 모델(k-nearest neighbors model), 및/또는 등등을 포함할 수도 있다. 보조 머신 러닝 모델의 몇몇 실시형태는 도 6a 및 도 6b를 참조하여 하기에서 상세하게 논의된다. 그들의 상대적인 단순성에 기인하여, 보조 머신 러닝 모델은 설명 가능한 경향이 있을 수도 있다. 다시 말하면, 상기에서 설명되는 바와 같이, 소정의 예측을 행하는 보조 머신 러닝 모델에 기여하는 요인이 결정될 수도 있다.The second prediction module 304 may be configured to obtain (eg, receive) a second set of predictions made by the auxiliary machine learning model. In contrast to the primary machine learning model, the secondary machine learning model may be a relatively simple machine learning model. Some non-limiting examples of assisted machine learning models include decision tree models, logistic regression models, linear models, RuleFit models,
Figure pct00001
a Bayes model, a k-nearest neighbors model, and/or the like. Some embodiments of an assisted machine learning model are discussed in detail below with reference to FIGS. 6A and 6B . Due to their relative simplicity, assisted machine learning models may tend to be accountable. In other words, as described above, factors contributing to an assistive machine learning model making a given prediction may be determined.

기본 머신 러닝 모델과 보조 머신 러닝 모델 사이의 이들 차이에도 불구하고, 보조 머신 러닝 모델은 기본 머신 러닝 모델을 근사하도록 구성될 수도 있고, 따라서, 기본 머신 러닝 모델에 의한 예측을 모방할 수도 있다. 구체적으로, 보조 머신 러닝 모델은 기본 머신 러닝 모델과 동일한, 또는 실질적으로 유사한 트레이닝 데이터를 사용하여 트레이닝될 수도 있다. 더구나, 제1 및 보조 머신 러닝 모델이 동일한 트레이닝 데이터 세트를 사용하여 트레이닝되기 때문에, 기본 머신 러닝 모델과 동일한 추론 데이터 세트를 프로세싱하기 위해 보조 머신 러닝 모델이 사용될 수도 있다. 결과적으로, 보조 머신 러닝 모델은 기본 머신 러닝 모델의 예측을 모방할 수도 있고, 두 모델 사이의 예측에서의 임의의 가변성은 트레이닝 또는 추론 데이터 세트에서의 차이에 기인하지 않는다. 따라서, 보조 머신 러닝 모델이 설명 가능한 머신 러닝 모델일 뿐만 아니라, 기본 머신 러닝 모델의 예측을 모방하도록 구성되기 때문에, 상대적으로 더 복잡한 기본 머신 러닝 모델에 의해 이루어지는 예측을 설명하기 위해 보조 머신 러닝 모델이 사용될 수 있다. 더구나, 몇몇 실시형태에서, 개발 동안 그리고 배포 동안 기본 및 보조 머신 러닝 모델에 의해 이루어지는 예측은, 배포 동안 프로세싱되는 데이터 세트의 특성이 개발 동안 프로세싱되는 데이터 세트의 특성과 상당히 다른지의 여부를 결정하기 위해 비교될 수도 있다.Notwithstanding these differences between the primary machine learning model and the secondary machine learning model, the secondary machine learning model may be configured to approximate the primary machine learning model and thus mimic the predictions made by the primary machine learning model. Specifically, the secondary machine learning model may be trained using the same, or substantially similar training data as the primary machine learning model. Moreover, since the first and auxiliary machine learning models are trained using the same training data set, the auxiliary machine learning model may be used to process the same inference data set as the primary machine learning model. Consequently, the secondary machine learning model may mimic the predictions of the primary machine learning model, and any variability in the predictions between the two models is not due to differences in the training or inference data sets. Thus, because an auxiliary machine learning model is not only an explanatory machine learning model, it is also constructed to mimic the predictions of the underlying machine learning model, so to account for the predictions made by the relatively more complex underlying machine learning model, the auxiliary machine learning model is can be used Moreover, in some embodiments, predictions made by primary and secondary machine learning models during development and during deployment are used to determine whether characteristics of a data set processed during deployment differ significantly from characteristics of a data set processed during development. may be compared.

소정의 실시형태에서, 제2 예측 모듈(304)은, 설명 가능한 복수의 이용 가능한 머신 러닝 모델로부터 기본 머신 러닝 모델을 근사하기 위해 사용되는 보조 머신 러닝 모델을 선택한다. 예를 들면, 제2 예측 모듈(304)은, 동일한 트레이닝 데이터 세트에 기초하여 기본 머신 러닝 모델이 생성하는 예측에 가장 가까운, 또는 그 예측에 대한 유사도의 임계 측정 내에 있는 예측을 모델 중 어떤 것이 생성하는지를 결정하도록 복수의 이용 가능한 머신 러닝 모델의 각각을 트레이닝시킬 수 있다. 몇몇 실시형태에서, 기본 머신 러닝 모델을 근사하기 위해 선택되는 보조 머신 러닝 모델은 기본 머신 러닝 모델과 동일한 트레이닝 데이터 세트에 대해 트레이닝될 수 있는데, 트레이닝 데이터 세트에서의 라벨이 기본 머신 러닝 모델이 트레이닝 데이터에 대해 생성하는 예측에 의해 대체된다는 수정을 갖는다.In certain embodiments, the second prediction module 304 selects an auxiliary machine learning model used to approximate the base machine learning model from a plurality of available machine learning models that can be described. For example, the second prediction module 304 may generate a prediction, based on the same training data set, that any of the models is closest to a prediction that the underlying machine learning model makes, or that is within a threshold measure of similarity to that prediction. Each of a plurality of available machine learning models may be trained to determine whether In some embodiments, the secondary machine learning model selected to approximate the base machine learning model may be trained on the same training data set as the base machine learning model, where labels in the training data set indicate that the base machine learning model is the training data. has the modification that it is replaced by the prediction it generates for

몇몇 실시형태에서, 비교 모듈(306)은 기본 머신 러닝 모델 및 보조 머신 러닝 모델이 생성하는 예측(예를 들면, 제1 및 제2 예측 모듈에 의해 획득되는 예측의 제1 및 제2 세트, 또는 그 일부)을 비교하도록. 그리고 예측 사이의 임의의 차이의 정도를 나타내는 발산 메트릭의 값을 결정하도록 구성된다. 구체적으로, 비교 모듈(306)은, 기본 및 보조 머신 러닝 모델에 대한 발산 메트릭의 값을 결정하기 위해, 기본 및 보조 머신 러닝 모델에 의해 이루어지는 예측 사이의 차이를 계산할 수도 있다. 비교 모듈(306)은 발산 메트릭의 값을 계산하기 위해 예측을 비교하기 위한 임의의 통계적 방법을 활용할 수도 있다. 예를 들면, 비교 모듈(306)은, 발산 메트릭의 값을 결정하기 위해, 예측에 대한 제곱 평균 제곱근 오차("RMSE") 또는 평균 절대 오차(mean absolute error; "MAE")를 계산할 수도 있다.In some embodiments, the comparison module 306 is configured to generate predictions (eg, first and second sets of predictions obtained by the first and second prediction modules, or to compare some of them). and determine a value of the divergence metric indicating the degree of any difference between predictions. Specifically, the comparison module 306 may calculate a difference between predictions made by the primary and secondary machine learning models to determine a value of a divergence metric for the primary and secondary machine learning models. The comparison module 306 may utilize any statistical method for comparing predictions to calculate a value of a divergence metric. For example, the comparison module 306 may calculate a root mean square error (“RMSE”) or mean absolute error (“MAE”) for the prediction to determine a value of the divergence metric.

몇몇 실시형태에서, 비교 모듈(306)은 예측별 기반(예를 들면, 예측 단위 기반)으로 기본 및 보조 머신 러닝 모델에 대한 발산 메트릭의 값을 계산할 수 있다. 예를 들면, 비교 모듈(306)은, 예측이 생성될 때, 기본 및 보조 머신 러닝 모델에 의해 이루어지는 각각의 예측에 대한 발산 메트릭의 값을 계산할 수도 있다. 대안적인 실시형태에서, 비교 모듈(306)은, 예측의 세트에 대해, 기본 및 보조 머신 러닝 모델에 대한 발산 메트릭의 값을 일괄적으로(in batches) 계산할 수도 있다. 예를 들면, 비교 모듈(306)은 기본 및 보조 머신 러닝 모델에 의해 이루어지는 가장 최근의 N 개의 예측의 세트에 대한 발산 메트릭의 값을 계산할 수도 있는데, 여기서 N은 임의의 적절한 정수(예를 들면, 100)이다.In some embodiments, the comparison module 306 may compute values of the divergence metrics for primary and secondary machine learning models on a per-prediction basis (eg, on a per-prediction basis). For example, the comparison module 306 may compute a value of a divergence metric for each prediction made by the primary and secondary machine learning models when the prediction is generated. In an alternative embodiment, the comparison module 306 may compute, for a set of predictions, the values of the divergence metrics for the primary and secondary machine learning models in batches. For example, the comparison module 306 may compute a value of the divergence metric for a set of N most recent predictions made by the primary and secondary machine learning models, where N is any suitable integer (eg, 100).

상기에서 논의되는 바와 같이, 발산 메트릭의 값은 설명 가능성 기준을 위반할 수도 있다. 예를 들면, 설명 가능성 기준은 기본 머신 러닝 모델 및 보조 머신 러닝 모델의 예측의 임계 발산을 포함할 수도 있다. 설명 가능성 기준의 위반은 임계 발산 값 아래로 떨어지는 발산 메트릭의 결정된 값의 실패를 가리킬 수도 있다. 예를 들면, 결정된 발산 메트릭의 값이 사전 결정된 발산 임계치(예를 들면, 0.5, 1, 5, 또는 등등)보다 더 큰 경우, 설명 가능성 기준이 위반될 수도 있다.As discussed above, the value of the divergence metric may violate the explainability criterion. For example, the explainability criteria may include a threshold divergence of predictions of a primary machine learning model and a secondary machine learning model. Violation of the explainability criterion may indicate a failure of the determined value of the divergence metric to fall below a threshold divergence value. For example, if the value of the determined divergence metric is greater than a predetermined divergence threshold (eg, 0.5, 1, 5, or the like), the explainability criterion may be violated.

비교 모듈(306)이 예측별 기반으로 하나 이상의 발산 메트릭의 값을 계산하는 실시형태에서, 예측별 발산 메트릭의 값이 사전 결정된 발산 임계치보다 더 큰 경우, 그러면, 비교 모듈(306)은 대응하는 설명 가능성 기준이 위반된다는 것을 결정할 수도 있다. 유사하게, 비교 모듈이, 예측의 세트에 대해, 하나 이상의 발산 메트릭의 값을 일괄적으로 계산하는 실시형태에서, 예측의 세트에 대한 발산 메트릭의 값이 사전 결정된 발산 임계치보다 더 큰 경우, 그러면, 비교 모듈(306)은 대응하는 설명 가능성 기준이 위반된다는 것을 결정할 수도 있다. 하나 이상의 설명 가능성 기준의 위반은, 보조 머신 러닝 모델이 더 이상 기본 머신 러닝 모델의 적절한 근사가 아니다는 것, 따라서 보조 머신 러닝 모델이 기본 머신 러닝 모델의 적절한 설명 가능성을 제공하지 않는다는 것을 나타낼 수도 있다.In an embodiment in which the comparison module 306 calculates the value of one or more divergent metrics on a per-prediction basis, if the value of the per-prediction divergence metric is greater than a predetermined divergence threshold, then the comparison module 306 calculates a corresponding explanation It may also determine that the likelihood criterion is violated. Similarly, in an embodiment in which the comparison module computes, for a set of predictions, the values of one or more divergence metrics in batches, if the value of the divergence metric for the set of predictions is greater than a predetermined divergence threshold, then: The comparison module 306 may determine that a corresponding explainability criterion is violated. A violation of one or more explainability criteria may indicate that the secondary machine learning model is no longer an adequate approximation of the primary machine learning model, and thus the secondary machine learning model does not provide adequate explainability of the primary machine learning model. .

몇몇 실시형태에서, 보조 머신 러닝 모델이 더 이상 기본 머신 러닝 모델의 적절한 근사가 아니다는 것을 하나 이상의 설명 가능성 기준의 위반이 나타내는지의 여부를 결정하기 위해, 비교 모듈(306)은, 기본 및 보조 머신 러닝 모델에 대한 발산 메트릭 값의 사전 결정된 양 또는 비율이 설명 가능성 기준을 위반하는지의 여부를 결정한다. 예를 들면, 기본 및 보조 머신 러닝 모델에 대한 500 개의 발산 메트릭 값의 세트 내의 단지 하나의 발산 메트릭 값이 하나 이상의 설명 가능성 기준을 위반하는 경우, 비교 모듈(306)은, 하나 이상의 설명 가능성 기준을 위반하는 하나의 발산 메트릭 값이 이상점(criteria)이고, 보조 머신 러닝 모델이 기본 머신 러닝 모델의 부정확한 근사임을 나타내지 않는다는 것을 결정할 수도 있다. 다른 한편으로, 기본 및 보조 머신 러닝 모델에 대한 500 개의 발산 메트릭 값의 세트 내의 450 개의 발산 메트릭 값이 하나 이상의 설명 가능성 기준을 위반하는 경우, 비교 모듈(306)은, 보조 머신 러닝 모델이 기본 머신 러닝 모델의 부정확한 근사이다는 것을 설명 가능성 기준의 이들 위반이 나타낸다는 것을 결정할 수도 있다. 몇몇 실시형태에서, 보조 머신 러닝 모델이 기본 머신 러닝 모델의 정확한 근사가 아니다는 것을 하나 이상의 설명 가능성 기준의 위반이 나타낸다는 것이 결정된 이후, 하나 이상의 설명 가능성 기준을 충족하도록 기본 머신 러닝 모델을 조정하기 위해 보정 액션이 취해질 수 있다.In some embodiments, to determine whether a violation of one or more explainability criteria indicates that the secondary machine learning model is no longer an appropriate approximation of the primary machine learning model, the comparison module 306 is configured to: Determine whether a predetermined amount or ratio of divergence metric values for the learning model violates an explainability criterion. For example, if only one divergence metric value in the set of 500 divergence metric values for the primary and secondary machine learning models violates one or more explainability criteria, the comparison module 306 is configured to: It may be determined that one divergence metric value that violates is a criterion and does not indicate that the secondary machine learning model is an imprecise approximation of the primary machine learning model. On the other hand, if 450 divergent metric values in the set of 500 divergent metric values for the primary and secondary machine learning models violate one or more explainability criteria, the comparison module 306 is configured to: It may be determined that these violations of the explainability criterion indicate that it is an incorrect approximation of the learning model. In some embodiments, after it is determined that a violation of one or more explainability criteria indicates that the secondary machine learning model is not an exact approximation of the primary machine learning model, adjusting the primary machine learning model to meet one or more explainability criteria Corrective action may be taken to

몇몇 실시형태에서, 설명 가능성 위반의 세트의 의미의 전술한 평가는, 사전 결정된 시간 기간 내에 획득되는 예측의 세트와 관련하여 수행될 수도 있다. 몇몇 실시형태에서, 설명 가능성 위반의 세트의 의미의 전술한 평가는 N 개의 가장 최근에 획득된 예측의 세트와 관련하여 수행될 수도 있는데, 여기서 N은 임의의 적절한 정수이다.In some embodiments, the foregoing evaluation of the meaning of the set of explainability violations may be performed with respect to a set of predictions obtained within a predetermined period of time. In some embodiments, the foregoing evaluation of the meaning of the set of explainability violations may be performed with respect to a set of N most recently obtained predictions, where N is any suitable integer.

액션 모듈(308)은, 기본 및 보조 머신 러닝 모델이 설명 가능성 기준을 위반한다는 비교 모듈(306)에 의한 결정에 응답하여 기본 머신 러닝 모델에 관련되는 하나 이상의 액션을 트리거하도록 구성될 수도 있다. 예를 들면, 액션 모듈(308)은 하나 이상의 설명 가능성 기준이 위반되었다는 것을 나타내는 경보를 전송할 수도 있다. 경보는 설명 가능성 기준 위반에 응답하기 위한 하나 이상의 추천을 더 포함할 수 있다. 이들 추천은, 상이한 트레이닝 데이터 세트를 사용하여 기본 머신 러닝 모델을 재트레이닝시키기 위한 추천, 상이한 기본 머신 러닝 모델을 선택하기 위한 추천, 기본 머신 러닝 대신 보조 머신 러닝 모델을 배포하기 위한 추천, 및/또는 임의의 다른 적절한 추천을 포함할 수 있다.The action module 308 may be configured to trigger one or more actions related to the primary machine learning model in response to a determination by the comparison module 306 that the primary and secondary machine learning models violate the explainability criterion. For example, the action module 308 may send an alert indicating that one or more explainability criteria have been violated. The alert may further include one or more recommendations for responding to a violation of the explainability criterion. These recommendations may include a recommendation for retraining a primary machine learning model using a different training data set, a recommendation for selecting a different primary machine learning model, a recommendation for deploying a secondary machine learning model in place of the primary machine learning, and/or Any other suitable recommendations may be included.

하나의 실시형태에서, 액션 모듈(308)은 기본 및 보조 머신 러닝 모델이 설명 가능성 기준을 위반한다는 비교 모듈(306)에 의한 결정에 응답하여 액션을 자동적으로 수행한다. 예를 들면, 액션 모듈(308)은, 개발 하에 있는 기본 머신 러닝 모델을 설명 가능성 기준을 충족할 수 있는 상이한 기본 머신 러닝 모델과 자동적으로 교환할 수 있다. 다른 예로서, 액션 모듈(308)은, 설명 가능성 기준이 충족될 때까지 상이한 트레이닝 데이터 세트를 사용하여 (예를 들면, 현재 기본 머신 러닝 모델을 트레이닝시키기 위해 사용된 동일한 머신 러닝 알고리즘을 사용하여, 또는 상이한 머신 러닝 알고리즘을 사용하여) 기본 머신 러닝 모델의 트레이닝을 자동적으로 시작할 수 있다. 더 구체적으로, 액션 모듈(308)은 설명 가능성 기준이 충족될 때까지 기본 머신 러닝 모델을 재트레이닝시키기 위해 상이한 트레이닝 데이터 세트에 걸쳐 반복될 수 있다. 몇몇 실시형태에서, 트레이닝 데이터 세트는 기본 머신 러닝 모델에 의해 최근에 프로세싱된 추론 데이터와 유사한 트레이닝 데이터를 포함할 수도 있다. 또 다른 예로서, 액션 모듈(308)은 배포된 기본 머신 러닝 모델을 보조 머신 러닝 모델과 자동적으로 교환할 수 있다. 그러한 실시형태에서, 보조 머신 러닝 모델은 기본 머신 러닝 모델을 영구적으로 또는 일시적으로 대체할 수 있고, 한편, 기본 머신 러닝 모델은 설명 가능성 기준을 충족하기 위해 수정을 겪는다.In one embodiment, the action module 308 automatically performs the action in response to a determination by the comparison module 306 that the primary and secondary machine learning models violate the explainability criteria. For example, the action module 308 may automatically exchange a base machine learning model under development for a different base machine learning model that may meet explainability criteria. As another example, the action module 308 may use a different training data set (e.g., using the same machine learning algorithm currently used to train the underlying machine learning model) until the explainability criterion is met. or by using a different machine learning algorithm) to automatically start training the underlying machine learning model. More specifically, the action module 308 may iterate over different training data sets to retrain the underlying machine learning model until the explainability criteria are met. In some embodiments, the training data set may include training data similar to inference data recently processed by the underlying machine learning model. As another example, the action module 308 may automatically exchange a deployed primary machine learning model with a secondary machine learning model. In such embodiments, the secondary machine learning model may permanently or temporarily replace the primary machine learning model, while the primary machine learning model undergoes modifications to meet the explainability criteria.

대안적인 실시형태에서, 액션 모듈(308)은, 기본 및 보조 머신 러닝 모델이, 액션을 자동적으로 수행하기 보다는, 설명 가능성 기준을 위반한다는 비교 모듈(306)에 의한 결정에 응답하여, 액션을 수행하기 위한 확인에 대해 유저에게 촉구할 수 있다. 예를 들면, 액션 모듈(308)은, 개발 하에 있는 기본 머신 러닝 모델을 상이한 기본 머신 러닝 모델과 교환하기 위한, 배포된 기본 머신 러닝 모델을 보조 머신 러닝 모델과 교환하기 위한, 상이한 트레이닝 데이터 세트를 사용하여 기본 머신 러닝 모델을 트레이닝시키기 위한, 및/또는 임의의 다른 보정 액션을 수행하기 위한 확인에 대해 유저에게 촉구할 수 있다. 소정의 실시형태에서, 액션 모듈(308)로부터의 프롬프트(prompt)에 응답하여, 유저는 간단한 예/아니오 응답을 제공할 수 있다. 대안적인 실시형태에서, 액션 모듈(308)로부터의 프롬프트에 응답하여, 유저는 상이한 기본 머신 러닝 모델 또는 상이한 트레이닝 데이터 세트를 선택하는 것과 같은 더욱 상세한 응답을 제공할 수 있다.In an alternative embodiment, the action module 308 performs the action in response to a determination by the comparison module 306 that the primary and auxiliary machine learning models violate the explainability criterion, rather than automatically performing the action. The user may be prompted for confirmation to do so. For example, the action module 308 may be configured to exchange different training data sets for exchanging a primary machine learning model under development with a different primary machine learning model, and for exchanging a deployed primary machine learning model with a secondary machine learning model. can be used to prompt the user for confirmation to train the underlying machine learning model, and/or to perform any other corrective action. In certain embodiments, in response to a prompt from the action module 308 , the user may provide a simple yes/no answer. In an alternative embodiment, in response to a prompt from the action module 308 , the user may provide a more detailed response, such as selecting a different base machine learning model or a different training data set.

몇몇 또 다른 실시형태에서, 액션 모듈(308)은 또한, 배포에서 보이는 추론 데이터 세트의 특성이 개발 동안 보이는 트레이닝 데이터 세트의 특성으로부터 벗어나는지의 여부를 결정하기 위해, (예를 들면, 트레이닝 데이터 세트에 기초하여) 개발 동안 기본 및 보조 머신 러닝 모델에 의해 생성되는 예측에 대한 발산 메트릭의 값을, (예를 들면, 추론 데이터 세트에 기초하여) 배포 동안 기본 및 보조 머신 러닝 모델에 의해 생성되는 예측에 대한 발산 메트릭의 값과 비교할 수 있다. 상기에서 논의되는 바와 같이, 트레이닝 데이트 세트와 추론 데이터 세트 사이의 이 편차(때때로, "데이터 드리프트" 또는 "드리프트"로 지칭됨)는 기본 및 보조 머신 러닝 모델에 의해 이루어지는 예측에서의 발산에 기여할 수 있다. 따라서, 몇몇 실시형태에서, 액션 모듈(308)은 임의의 결정된 편차를 보정하기 위해 상기에서 설명되는 다양한 액션을 취할 수 있다. 예를 들면, 액션 모듈(308)은, 배포 동안 생성되는 예측 및 개발 동안에 생성되는 예측에 대한 발산 메트릭의 값 사이의 차이가 임계 차이를 초과하는 경우, 상기에서 설명된 액션 중 하나 이상을 수행할 수도 있다. 이러한 맥락에서, 발산 메트릭의 값 사이의 "차이"는 절대 차이, 백분율 차이, 또는 임의의 다른 적절한 타입의 차이일 수도 있다.In some other embodiments, the action module 308 is also configured to determine whether characteristics of the inference data set seen in deployment deviate from characteristics of the training data set seen during development (eg, the training data set). (based on) the values of the divergence metrics for the predictions generated by the primary and secondary machine learning models during development (e.g., based on the inference data set); can be compared with the value of the divergence metric for As discussed above, this deviation (sometimes referred to as "data drift" or "drift") between the training data set and the inference data set can contribute to the divergence in the predictions made by the primary and secondary machine learning models. have. Accordingly, in some embodiments, the action module 308 may take the various actions described above to correct any determined deviation. For example, the action module 308 may be configured to perform one or more of the actions described above when a difference between a value of a divergence metric for a prediction generated during deployment and a prediction generated during development exceeds a threshold difference. may be In this context, the “difference” between the values of the divergence metric may be an absolute difference, a percentage difference, or any other suitable type of difference.

도 4는, 한 실시형태에 따른, 머신 러닝 모델의 설명 가능성 기반의 조정을 위한 방법(400)을 예시하는 개략적인 플로우차트 다이어그램이다. 하나의 실시형태에서, 방법(400)이 시작되고 제1 예측 모듈(302)은 트레이닝 데이터 세트에 기초하여 개발 동안, 또는 추론 데이터 세트에 기초하여 배포 동안 기본 머신 러닝 모델로부터 예측의 제1 세트를 수신한다(402). 추론 데이터 세트에 기초하여 배포 동안 기본 머신 러닝 모델로부터 예측의 제1 세트가 수신되는 실시형태에서, 예측의 제1 세트는 추론 데이터 세트의 라이브(예를 들면, 실시간) 프로세싱에 기초하여 기본 머신 러닝 모델에 의해 이루어질 수 있다.4 is a schematic flowchart diagram illustrating a method 400 for explainability-based tuning of a machine learning model, according to an embodiment. In one embodiment, the method 400 begins and the first prediction module 302 generates a first set of predictions from the underlying machine learning model during development based on a training data set, or during deployment based on an inference data set. Receive (402). In embodiments in which a first set of predictions is received from an underlying machine learning model during deployment based on an inference data set, the first set of predictions is based on live (eg, real-time) processing of the inference data set for basic machine learning. This can be done by the model.

하나의 실시형태에서, 제2 예측 모듈(304)은 기본 머신 러닝 모델에 의해 사용되었던 데이터 세트(예를 들면, 트레이닝 데이터 세트 또는 추론 데이터 세트)에 기초하여 보조 머신 러닝 모델로부터 예측의 제2 세트를 수신한다(404). 보조 머신 러닝 모델은 기본 머신 러닝 모델과는 상이할 수 있고 기본 머신 러닝 모델의 예측을 모방하도록 구성될 수 있다.In one embodiment, the second prediction module 304 is configured to generate a second set of predictions from the auxiliary machine learning model based on a data set that was used by the underlying machine learning model (eg, a training data set or an inference data set). Receive (404). The secondary machine learning model may be different from the primary machine learning model and may be configured to mimic the predictions of the primary machine learning model.

비교 모듈(306)은, 기본 및 보조 머신 러닝 모델에 의해 생성되는 예측에 대한 발산 메트릭의 값을 계산하고, 발산 메트릭이 하나 이상의 설명 가능성 기준을 위반하는지의 여부를 결정하기 위해, 제1 및 제2 예측을 비교할 수도 있다(406). 결정된 발산 메트릭이 설명 가능성 기준을 위반하지 않는 경우, 방법(400)은 종료될 수도 있다. 결정된 발산 메트릭이 설명 가능성 기준을 위반하는 경우, 액션 모듈(308)은 기본 머신 러닝 모델에 관련되는 하나 이상의 액션을 트리거할 수도 있고(408), 그 다음, 방법(400)은 종료될 수도 있다.The comparison module 306 is configured to calculate a value of a divergence metric for predictions generated by the primary and secondary machine learning models, and to determine whether the divergence metric violates one or more descriptive criteria, first and second The two predictions may be compared (406). If the determined divergence metric does not violate the explainability criterion, the method 400 may end. If the determined divergence metric violates the explainability criterion, the action module 308 may trigger 408 one or more actions related to the underlying machine learning model, and the method 400 may then end.

도 5는, 다른 실시형태에 따른, 머신 러닝 모델의 설명 가능성 기반의 조정을 위한 방법(500)을 예시하는 개략적인 플로우차트 다이어그램이다. 하나의 실시형태에서, 방법(500)이 시작되고 제1 예측 모듈(302)은 트레이닝 데이터 세트에 기초하여 개발 동안, 또는 추론 데이터 세트에 기초하여 배포 동안 기본 머신 러닝 모델로부터 예측의 제1 세트를 수신한다(502). 추론 데이터 세트에 기초하여 배포 동안 기본 머신 러닝 모델로부터 예측의 제1 세트가 수신되는 실시형태에서, 예측의 제1 세트는 추론 데이터 세트의 라이브(예를 들면, 실시간) 프로세싱에 기초하여 기본 머신 러닝 모델에 의해 이루어질 수도 있다. 기본 머신 러닝 모델로부터의 예측의 제1 세트는, ML 관리 장치(104), 제1 예측 모듈(302), 디바이스 드라이버, 호스트 컴퓨팅 디바이스 상에서 실행되는 컨트롤러, 프로세서, FPGA, ASIC, 다른 로직 하드웨어, 및/또는 컴퓨터 판독 가능 저장 매체에 저장되는 다른 실행 가능 코드 중 하나 이상으로부터 수신될 수도 있다.5 is a schematic flowchart diagram illustrating a method 500 for explainability-based tuning of a machine learning model, according to another embodiment. In one embodiment, the method 500 begins and the first prediction module 302 generates a first set of predictions from the underlying machine learning model during development based on a training data set, or during deployment based on an inference data set. Receive (502). In embodiments in which a first set of predictions is received from an underlying machine learning model during deployment based on an inference data set, the first set of predictions is based on live (eg, real-time) processing of the inference data set for basic machine learning. It can also be done by model. A first set of predictions from the basic machine learning model includes an ML management unit 104, a first prediction module 302, a device driver, a controller running on a host computing device, a processor, an FPGA, an ASIC, other logic hardware, and and/or from one or more of other executable code stored on a computer-readable storage medium.

하나의 실시형태에서, 제2 예측 모듈(304)은 기본 머신 러닝 모델에 의해 사용되었던 데이터 세트(예를 들면, 트레이닝 데이터 세트 또는 추론 데이터 세트)에 기초하여 트레이닝 동안 보조 머신 러닝 모델로부터 예측의 제2 세트를 수신한다(504). 보조 머신 러닝 모델은 기본 머신 러닝 모델과는 상이할 수 있고 기본 머신 러닝 모델의 예측을 모방하도록 구성될 수 있다. 보조 머신 러닝 모델로부터의 예측의 제2 세트는, ML 관리 장치(104), 제2 예측 모듈(304), 디바이스 드라이버, 호스트 컴퓨팅 디바이스 상에서 실행되는 컨트롤러, 프로세서, FPGA, ASIC, 다른 로직 하드웨어, 및/또는 컴퓨터 판독 가능 저장 매체에 저장되는 다른 실행 가능 코드 중 하나 이상으로부터 수신될 수 있다.In one embodiment, the second prediction module 304 generates predictions from the secondary machine learning model during training based on a data set that was used by the primary machine learning model (eg, a training data set or an inference data set). Two sets are received (504). The secondary machine learning model may be different from the primary machine learning model and may be configured to mimic the predictions of the primary machine learning model. The second set of predictions from the auxiliary machine learning model includes the ML management unit 104, the second prediction module 304, a device driver, a controller running on a host computing device, a processor, an FPGA, an ASIC, other logic hardware, and and/or from one or more of other executable code stored on a computer-readable storage medium.

몇몇 실시형태에서, 비교 모듈(306)은, 기본 및 보조 머신 러닝 모델에 대한 발산 메트릭의 값을 계산하기 위해 예측의 제1 및 제2 세트를 비교하고(506), 발산 메트릭의 값이 하나 이상의 설명 가능성 기준을 위반하는지의 여부를 결정한다. 발산 메트릭의 결정된 값이 설명 가능성 기준을 위반하지 않는 경우, 방법(500)은 종료될 수도 있다. 발산 메트릭의 결정된 값이 하나 이상의 설명 가능성 기준을 위반하는 경우, 액션 모듈(308)은 기본 머신 러닝 모델에 관련되는 하나 이상의 액션을 트리거한다.In some embodiments, the comparison module 306 compares ( 506 ) the first and second sets of predictions to compute a value of a divergent metric for the primary and secondary machine learning models, wherein the value of the divergent metric is one or more Determines whether the explainability criterion is violated. If the determined value of the divergence metric does not violate the explainability criterion, the method 500 may end. If the determined value of the divergence metric violates one or more explainability criteria, the action module 308 triggers one or more actions related to the underlying machine learning model.

예를 들면, 액션 모듈(308)은, 개발 중에 있는 기본 머신 러닝 모델을 교환할 수 있고(508), 개발 중에 있는 기본 머신 러닝 모델을 재트레이닝할 수 있고(510), 배포 중에 있는 기본 머신 모델을 보조 머신 러닝 모델로 스위칭할 수 있고(512), 및/또는 트레이닝 데이터 세트에 기초하여 기본 및 보조 머신 러닝 모델에 의해 생성되는 예측에 대한 발산 메트릭 값을, 추론 데이터 세트에 기초하여 기본 및 보조 머신 러닝 모델에 의해 생성되는 예측에 대한 발산 메트릭의 값과 비교하는 것에 의해 트레이닝 데이터 세트와 추론 데이터 세트 사이의 편차를 검출할 수 있다(514). 기본 머신 러닝 모델이 교환되거나(508) 또는 재트레이닝되는 경우(510), 보조 머신 러닝 모델도 또한 교환되거나 또는 재트레이닝될 수도 있다. 기본 및 보조 머신 러닝 모델의 발산 메트릭의 값이 설명 가능성 기준을 충족하지 않는 것에 응답하여 취해지는 기본 머신 러닝 모델에 관련되는 하나 이상의 액션은, ML 관리 장치(104), 액션 모듈(308), 디바이스 드라이버, 호스트 컴퓨팅 디바이스 상에서 실행되는 컨트롤러, 프로세서, FPGA, ASIC, 다른 로직 하드웨어, 및/또는 컴퓨터 판독 가능 저장 매체 상에 저장되는 다른 실행 가능 코드 중 하나 이상에 의해 수행될 수 있거나 또는 제어될 수 있다. 그 다음, 방법(500)은 종료된다.For example, the action module 308 may exchange 508 the base machine learning model under development, retrain the base machine learning model under development 510, and the base machine learning model under deployment. can switch 512 to the secondary machine learning model, and/or change the divergence metric values for predictions generated by the primary and secondary machine learning models based on the training data set to the primary and secondary based on the inference data set. A deviation between the training data set and the inference data set may be detected ( 514 ) by comparing it to a value of a divergence metric for predictions generated by the machine learning model. When the primary machine learning model is exchanged 508 or retrained 510, the secondary machine learning model may also be exchanged or retrained. One or more actions related to the primary machine learning model to be taken in response to a value of a divergence metric of the primary and secondary machine learning models not meeting the explainability criterion include: the ML management apparatus 104 , the action module 308 , the device may be performed or controlled by one or more of a driver, a controller running on a host computing device, a processor, an FPGA, an ASIC, other logic hardware, and/or other executable code stored on a computer-readable storage medium. . The method 500 then ends.

도 6a 및 도 6b는, 몇몇 실시형태에 따른, 보조 머신 러닝 모델을 생성하기 위한 방법(600 및 620)을 예시하는 개략적인 플로우차트 다이어그램이다. 일반적으로, 본 개시의 전반에 걸쳐 논의되는 바와 같이, 상대적으로 복잡한 기본 머신 러닝 모델의 설명 가능성을 제공하기 위해 상대적으로 간단한 보조 머신 러닝 모델을 생성하는 것이 바람직할 수 있다. 이러한 방식으로, 보조 머신 러닝 모델은 다르게는 "블랙 박스"인 기본 머신 러닝 모델에 대한 통찰을 제공할 수 있다.6A and 6B are schematic flowchart diagrams illustrating methods 600 and 620 for generating an assisted machine learning model, in accordance with some embodiments. In general, as discussed throughout this disclosure, it may be desirable to create a relatively simple auxiliary machine learning model to provide the descriptive potential of a relatively complex basic machine learning model. In this way, the secondary machine learning model can provide insight into the primary machine learning model that would otherwise be a "black box."

모델의 정확도를 크게 감소시키지 않으면서 기본 머신 러닝 모델의 예측을 모방하는 상대적으로 간단한 보조 머신 러닝 모델을 생성하기 위해, 보조 머신 러닝 모델은 기본("1차") 머신 러닝 모델의 2차 머신 러닝 모델일 수도 있다. 2차 보조 머신 러닝 모델은 동일한 입력(또는 그 서브세트) 및/또는 기본 머신 러닝 모델에 의해 사용되지 않는 하나 이상의 입력에 기초하여 기본 머신 러닝 모델의 예측을 모방할 수도 있다.To create a relatively simple auxiliary machine learning model that mimics the predictions of the primary machine learning model without significantly reducing the model's accuracy, the secondary machine learning model is a secondary machine learning model of the primary ("primary") machine learning model. It could be a model. The secondary secondary machine learning model may mimic the predictions of the primary machine learning model based on the same input (or a subset thereof) and/or one or more inputs not used by the primary machine learning model.

몇몇 실시형태에서, 2차 보조 머신 러닝 모델은, 상대적으로 해석하기 쉬우며 예측 코드가 상대적으로 쉽게 생성될 수 있는 모델을 일반적으로 생성하는 하나 이상의 모델링 기술(예를 들면, RuleFit, 일반화 가법 모델(Generalized Additive Models), 등등)을 사용하여 구축된다. 그러한 기술을 본원에서 "2차 모델링 기술"로 지칭된다. 기본 머신 러닝 모델이 생성된 이후, 2차 모델링 기술을 사용하여 기본 머신 러닝 모델의 2차 보조 머신 러닝 모델이 생성될 수 있다.In some embodiments, the secondary assisted machine learning model is one or more modeling techniques (e.g., RuleFit, generalized additive model (e.g., RuleFit, generalized additive model) Generalized Additive Models), etc.). Such techniques are referred to herein as “second-order modeling techniques”. After the primary machine learning model is generated, a secondary secondary machine learning model of the primary machine learning model may be generated using secondary modeling techniques.

기본 머신 러닝 모델에 대한 각각의 입력에 대해, 원래의 트레이닝 데이터 세트로부터의, 또는 원래의 트레이닝 데이터 세트로부터 유도되는 입력 값의 대응하는 세트가 존재한다. 2차 모델링 기술은 기본 머신 러닝 모델과 동일한 입력을 사용할 수 있고, 따라서, 2차 모델링 기술의 트레이닝 및 유효성 확인 데이터 세트에 대해, 그러한 입력의 원래의 값, 또는 그 서브세트를 사용할 수 있다. 몇몇 실시형태에서, 원래의 트레이닝 데이터 세트로부터의 출력의 실제 값을 사용하는 대신, 2차 모델링 기술은 기본 머신 러닝 모델로부터의 출력의 예측된 값을 사용한다.For each input to the basic machine learning model, there is a corresponding set of input values from, or derived from, the original training data set. The quadratic modeling technique may use the same inputs as the underlying machine learning model, and thus may use the original values of those inputs, or a subset thereof, for the training and validation data sets of the quadratic modeling technique. In some embodiments, instead of using the actual values of the output from the original training data set, the quadratic modeling technique uses the predicted values of the output from the underlying machine learning model.

몇몇 경우에, 2차 모델링 기술은 대안적 또는 보충 트레이닝 및/또는 유효성 확인 데이터를 사용할 수 있다. 그러한 대안예는, 동일한 또는 상이한 데이터 소스 중 어느 하나로부터의 다른 실세계 데이터, (예를 들면, 보간(interpolation) 및/또는 외삽(extrapolation)을 통해) (예를 들면, 실세계 샘플에서 존재하는 것보다 더 넓은 범위의 가능성을 커버하는 목적을 위해) 머신 생성 데이터와 결합되는 실세계 데이터, 또는 머신 기반의 확률론적 모델(machine-based stochastic model)에 의해 완전히 생성되는 데이터를 포함할 수 있다.In some cases, secondary modeling techniques may use alternative or supplemental training and/or validation data. Such alternatives may include other real-world data from either the same or a different data source, (e.g., via interpolation and/or extrapolation) (e.g., than that present in a real-world sample). real-world data combined with machine-generated data (for purposes of covering a wider range of possibilities), or data generated entirely by machine-based stochastic models.

많은 경우에, 2차 보조 머신 러닝 모델은 꼭 대응하는 기본 머신 러닝 모델처럼 정확하거나 또는 대응하는 기본 머신 러닝 모델보다 더욱더 정확하며, 2차 보조 머신 러닝 모델을 구현하는 소프트웨어는 대응하는 기본 머신 러닝 모델을 구현하는 소프트웨어보다 훨씬 더 효율적이다(예를 들면, 더 적은 계산 리소스를 사용한다). 본 개시의 전반에 걸쳐 논의되는 바와 같이, 2차 보조 머신 러닝 모델은 기본 머신 러닝 모델을 이해하는 데 유용할 수 있고, 및/또는 정확한 머신 러닝 모델을 구현하는 소프트웨어를 생성하는 작업을 단순화할 수 있다.In many cases, the secondary assisted machine learning model is exactly as accurate as the corresponding primary ML model, or even more accurate than the corresponding primary ML model, and the software implementing the secondary assisted ML model is the corresponding primary ML model. It is much more efficient (e.g., uses less computational resources) than the software implementing it. As discussed throughout this disclosure, secondary assisted machine learning models may be useful for understanding primary machine learning models, and/or may simplify the task of creating software that implements accurate machine learning models. have.

그러나, 2차 보조 머신 러닝 모델의 이들 이점에도 불구하고, 2차 보조 머신 러닝 모델이 유도되는 기본 머신 러닝 모델보다 예측에 대해 2차 보조 머신 러닝 모델이 체계적으로 덜 정확할 수 있다는 우려가 남아 있다. 기본 머신 러닝 모델로부터 2차 보조 머신 러닝 모델로 이동하는 것과 관련되는 정확도의 임의의 손실을 감소시키기 위한(그리고, 몇몇 경우에, 그들의 대응하는 기본 모델보다 더 큰 정확도를 갖는 2차 보조 머신 러닝 모델을 생성하기 위한) 기술의 몇몇 실시형태가 여기서 설명된다.However, despite these advantages of secondary assisted machine learning models, concerns remain that secondary assisted machine learning models may be systematically less accurate for prediction than the primary machine learning models from which they are derived. to reduce any loss of accuracy associated with moving from a primary machine learning model to a secondary secondary machine learning model (and, in some cases, secondary secondary machine learning models having greater accuracy than their corresponding primary model); Some embodiments of a technique for generating

한 가지 우려는, 2차 보조 머신 러닝 모델을 구축할 때 기본 머신 러닝 모델에서의 임의의 에러가 심화되거나 또는 확대되고, 그에 의해, 2차 보조 머신 러닝 모델의 정확도를 체계적으로 감소시킬 수 있다는 것이다. 하기에서 설명되는 바와 같이, 경험적 결과는, 2차 보조 머신 러닝 모델의 정확도에 대한 우려가 크게 잘못되어 있다는 것을 나타낸다. 심지어 이들 우려가 합리적인 경우에도, 더욱 정확한 기본 머신 러닝 모델을 사용하는 것은 2차 보조 모델에서의 정확도의 손실을 감소시킬 가능성이 있다. 예를 들면, 혼합된 모델이 때때로 임의의 단일 모델보다 더 정확하기 때문에, 2차 보조 머신 러닝 모델을 기본 머신 러닝 모델의 혼합에 적합시키는 것은 2차 모델링과 관련되는 정확도의 임의의 손실을 감소시킬 수 있다.One concern is that when building the secondary assisted machine learning model, any errors in the primary machine learning model may deepen or magnify, thereby systematically reducing the accuracy of the secondary assisted machine learning model. . As discussed below, the empirical results indicate that concerns about the accuracy of secondary assisted machine learning models are largely misguided. Even when these concerns are reasonable, using a more accurate primary machine learning model has the potential to reduce the loss of accuracy in secondary secondary models. For example, because mixed models are sometimes more accurate than any single model, fitting a secondary auxiliary machine learning model to a mix of primary machine learning models will reduce any loss of accuracy associated with quadratic modeling. can

695 개의 분류 및 1849 개의 회귀 기본 머신 러닝 모델로 귀결되는 381 개의 데이터 세트에 대한 테스트가 수행되었다. 테스트된 분류 모델의 경우, 2차 보조 머신 러닝 모델의 43 %가 대응하는 기본 머신 러닝 모델보다 덜 정확하였지만, 그러나 정확도의 로그 손실 척도에 따르면 10 % 이하가 더 나빠졌다. 2차 보조 머신 러닝 모델의 삼십 퍼센트는 기본 머신 러닝 모델보다 실제로 더 정확하였다. 사례의 단지 27 %에서만, 2차 보조 머신 러닝 모델이 기본 머신 러닝 모델보다 10 %보다 더 많이 덜 정확하였다. 이들 사례의 대략 1/3(전체 모집단의 대략 9 %)은, 데이터 세트가 매우 작을 때 발생하였다. 이들 사례의 다른 1/3(다시, 전체 모집단의 대략 9 %)은, 기본 머신 러닝 모델이 0.1 로그 손실 미만에서 매우 정확하였고 2차 모델도 여전히 0.1 로그 손실 미만에서 또한 매우 정확하였을 경우에 발생하였다. 따라서, 충분히 큰 데이터 세트를 갖는 사례 중 90 %가 넘는 사례에서는, 2차 보조 머신 러닝 모델은 기본 머신 러닝 모델의 10 % 이내에 있었거나 또는 2차 보조 머신 러닝 모델은 절대 기준에 따라서 매우 정확하였다. 사례의 41 %에서, 최상의 2차 보조 머신 러닝 모델은 기본 머신 러닝 모델의 혼합으로부터 유도되었다.Testing was performed on 381 data sets resulting in 695 classifications and 1849 regression basic machine learning models. For the tested classification models, 43% of the secondary secondary machine learning models were less accurate than the corresponding primary machine learning model, but worse by 10% or less according to the log-loss scale of accuracy. Thirty percent of secondary secondary machine learning models were actually more accurate than primary machine learning models. In only 27% of cases, the secondary assisted machine learning model was more than 10% less accurate than the primary machine learning model. Approximately one third of these cases (approximately 9% of the total population) occurred when the data set was very small. Another third of these cases (again, approximately 9% of the total population) occurred when the primary machine learning model was very accurate at less than 0.1 log loss and the secondary model was still very accurate also at less than 0.1 log loss . Thus, in more than 90% of cases with sufficiently large data sets, the secondary assisted machine learning model was within 10% of the primary machine learning model, or the secondary assisted ML model was very accurate according to absolute criteria. In 41% of cases, the best secondary assisted machine learning model was derived from a mix of primary machine learning models.

테스트된 회귀 모델의 경우, 2차 보조 머신 러닝 모델의 39 %가 대응하는 기본 머신 러닝 모델보다 덜 정확하였지만, 그러나 정확도의 잔차 평균 제곱 오차 척도(residual mean squared error measure)에 따르면 10 % 이하가 더 나빠졌다. 2차 보조 머신 러닝 모델의 47 %가 기본 머신 러닝 모델보다 실제로 더 정확하였다. 사례의 단지 14 %에서만, 2차 보조 머신 러닝 모델이 기본 머신 러닝 모델보다 10 %보다 더 많이 덜 정확하였다. 이들 사례의 대략 10 %(전체 모집단의 대략 1.5 %)는, 데이터 세트가 매우 작을 때 발생하였다. 모든 사례의 35 %에서, 최상의 2차 보조 머신 러닝 모델은 기본 머신 러닝 모델의 혼합으로부터 유도되었다.For the tested regression model, 39% of the secondary auxiliary machine learning models were less accurate than the corresponding primary machine learning model, however, according to the residual mean squared error measure of accuracy, no more than 10% were more accurate. it got worse 47% of secondary assisted machine learning models were actually more accurate than primary ML models. In only 14% of cases, the secondary assisted machine learning model was more than 10% less accurate than the primary machine learning model. Approximately 10% of these cases (approximately 1.5% of the total population) occurred when the data set was very small. In 35% of all cases, the best secondary assisted machine learning model was derived from a mix of primary machine learning models.

이 경험적 데이터에 기초하여, 발명자는, 원래의 데이터 세트가 충분히 크면, 2차 모델이 일반적으로 상대적으로 정확하거나 또는 절대적으로 정확하다는 것을 인지 및 인식하였다. 많은 경우에, 2차 보조 머신 러닝 모델은 기본 머신 러닝 모델보다 실제로 더 정확하다. 마지막으로, 테스트되는 모든 분류 및 회귀 문제의 1/3 이상에서, 가장 정확한 2차 보조 머신 러닝 모델이 기본 머신 러닝 모델의 혼합으로부터 유도되었다.Based on this empirical data, the inventors have recognized and recognized that if the original data set is large enough, the quadratic model is generally relatively accurate or absolutely accurate. In many cases, secondary assisted machine learning models are actually more accurate than primary machine learning models. Finally, in over a third of all classification and regression problems tested, the most accurate secondary secondary machine learning model was derived from a mix of primary machine learning models.

2차 보조 머신 러닝 모델은, (a) 복잡한 기본 머신 러닝 모델을 이해하고 및/또는 설명하는 데, (b) 머신 러닝 모델에 대한 예측 코드를 생성하는 작업을 단순화하는 데, 그리고 (c) 독점적 모델 구축 기술을 보호하는 데 유용할 수 있다. 기본 머신 러닝 모델의 혼합은 많은 경우 이들 이점을 향상시킨다. 혼합된 모델이 대부분의 시간 동안 최상의 예측 결과를 생성하지만, 그들이 혼합에 포함되는 모든 모델의 모든 컴포넌트의 복잡도를 결합하기 때문에, 그들은 또한 일반적으로 더 복잡하다. 또한, 혼합된 모델에 대한 예측 코드를 생성하는 것은, 혼합에 포함되는 모든 컴포넌트 모델에 대한 예측 코드를 생성하는 것의 도전 과제를 일반적으로 결합한다. 이들 컴포넌트 도전 과제 외에, 모든 혼합된 모델이 각각의 예측을 생성하기 위해 일반적으로 계산되기 때문에, 혼합된 모델은, 일반적으로, 예측을 생성하는 데 더 느리다(및/또는 예측을 생성하는 데 더 많은 계산 리소스를 필요로 함). 2차 보조 머신 러닝 모델은 일반적으로 이 시간(및/또는 계산 리소스의 사용)을, 단일 모델을 계산하는 시간으로 감소시킨다. 또한, 혼합된 모델은 각각의 컴포넌트 모델의 독점적 입력을 포함한다. 따라서, 2차 보조 머신 러닝 모델 및 혼합된 머신 러닝 모델은 고도로 상보적인 양식으로 동작한다. 또한, 데이터 세트가 트레이닝, 유효성 확인, 및 홀드아웃(holdout) 파티션으로 쉽게 분리될 수 있기 때문에, 기본 머신 러닝 모델과 비교하여 임의의 특정한 2차 보조 머신 러닝 모델이 적절하게 수행되는지의 여부가 쉽게 결정될 수 있다.Secondary auxiliary machine learning models are used to (a) understand and/or describe complex underlying machine learning models, (b) simplify the task of generating predictive code for machine learning models, and (c) proprietary It can be useful to protect your model building skills. A blend of basic machine learning models enhances these benefits in many cases. Although blended models produce the best predictive results most of the time, they are also generally more complex because they combine the complexity of all components of all models involved in blending. Also, generating predictive code for a blended model generally combines the challenges of generating predictive code for all component models involved in blending. In addition to these component challenges, blended models are, in general, slower to generate predictions (and/or more requires computational resources). Secondary-assisted machine learning models typically reduce this time (and/or use of computational resources) to the time to compute a single model. In addition, the blended model contains the exclusive input of each component model. Thus, the secondary assisted machine learning model and the mixed machine learning model operate in a highly complementary fashion. Furthermore, since the data set can be easily split into training, validation, and holdout partitions, it is easy to determine whether any particular secondary ML model performs properly compared to the primary ML model. can be decided.

도 6a는, 한 실시형태에 따른, 2차 보조 머신 러닝 모델을 생성하기 위한 방법(600)을 예시하는 개략적인 플로우차트 다이어그램이다. 도 6a에서 묘사되는 실시형태에서, 방법(600)은, 단계(610 및 620)를 포함한다. 단계(610)에서, 기본 머신 러닝 모델이 획득된다. 기본 머신 러닝 모델은, 하나 이상의 제1 입력 변수의 값에 기초하여 예측 문제의 하나 이상의 출력 변수의 값을 예측하도록 구성된다. 기본 머신 러닝 모델은 (예를 들면, 머신 러닝 모델링 프로시져를 구현하는 머신 실행 가능 모듈을 실행하는, 머신 러닝 모델링 방법의 실시형태를 수행하는, 두 개 이상의 머신 러닝 모델을 혼합하는, 등등의) 임의의 적절한 기술을 사용하여 획득될 수 있고 임의의 적절한 타입의 머신 러닝 모델(예를 들면, 시계열 모델, 등등)일 수 있다. 단계(620)에서, 기본 머신 러닝 모델에 대해 2차 모델링 프로시져가 수행된다. 소정 타입의 머신 러닝 모델(예를 들면, RuleFit 모델, 일반화 가법 모델, 조건부 규칙의 세트로서 편제되는 임의의 모델, 전술한 타입의 모델 중 두 개 이상의 혼합, 등등)이 2차 보조 모델로서의 사용에 대해 특히 잘 적합될 수도 있다.6A is a schematic flowchart diagram illustrating a method 600 for generating a secondary assisted machine learning model, according to one embodiment. In the embodiment depicted in FIG. 6A , method 600 includes steps 610 and 620 . In step 610, a basic machine learning model is obtained. The basic machine learning model is configured to predict values of one or more output variables of the prediction problem based on values of the one or more first input variables. The underlying machine learning model can be any (e.g., executing machine executable modules implementing machine learning modeling procedures, performing embodiments of machine learning modeling methods, mixing two or more machine learning models, etc.) may be obtained using any suitable technique of , and may be any suitable type of machine learning model (eg, a time series model, etc.). In step 620, a quadratic modeling procedure is performed on the underlying machine learning model. Any type of machine learning model (e.g., a RuleFit model, a generalized additive model, any model organized as a set of conditional rules, a mixture of two or more of the above types of models, etc.) is suitable for use as a secondary auxiliary model. may be particularly well suited for

도 6b는, 한 실시형태에 따른, 2차 모델링 프로시져를 수행하기 위한 방법(620)을 예시하는 개략적인 플로우차트 다이어그램이다. 도 6b에서 묘사되는 실시형태에서, 방법(620)은 단계(622, 624, 626, 및 628)를 포함한다. 단계(622)에서, 2차 입력 데이터가 생성된다. 2차 입력 데이터는 복수의 2차 관찰 결과를 포함한다. 각각의 2차 관찰 결과는 하나 이상의 제2 입력 변수의 관찰된 값 및 제2 입력 변수의 값에 대응하는 제1 입력 변수의 값에 기초하여 기본 머신 러닝 모델에 의해 예측되는 출력 변수의 값을 포함한다. 2차 입력 데이터를 생성하는 것은, 각각의 2차 관찰 결과에 대해, 다음의 것을 포함할 수 있다: 제2 입력 변수의 관찰된 값 및 제1 입력 변수의 대응하는 관찰된 값을 획득하는 것, 및 기본 머신 러닝 모델을 제1 입력 변수의 대응하는 관찰된 값에 적용하여 출력 변수의 예측된 값을 생성하는 것.6B is a schematic flowchart diagram illustrating a method 620 for performing a quadratic modeling procedure, according to one embodiment. In the embodiment depicted in FIG. 6B , method 620 includes steps 622 , 624 , 626 , and 628 . In step 622, secondary input data is generated. The secondary input data includes a plurality of secondary observation results. Each secondary observation includes an observed value of one or more second input variables and a value of an output variable predicted by the underlying machine learning model based on a value of the first input variable corresponding to the value of the second input variable. do. Generating the secondary input data may, for each secondary observation result, include: obtaining an observed value of the second input variable and a corresponding observed value of the first input variable; and applying the underlying machine learning model to corresponding observed values of the first input variable to produce predicted values of the output variable.

기본 머신 러닝 모델 및 2차 보조 머신 러닝 모델은 입력 변수의 동일한 세트를 사용할 수 있다. 대안적으로, 2차 보조 머신 러닝 모델은 기본 머신 러닝 모델의 입력 변수 중 하나 이상(예를 들면, 모두)을 사용할 수 있고, 또한, 하나 이상의 다른 입력 변수를 사용할 수 있다. 대안적으로, 2차 보조 머신 러닝 모델은 기본 머신 러닝 모델의 입력 변수 중 어느 것도 사용하지 않을 수 있고 하나 이상의 다른 입력 변수를 사용할 수 있다.A primary machine learning model and a secondary secondary machine learning model can use the same set of input variables. Alternatively, the secondary auxiliary machine learning model may use one or more (eg, all) of the input variables of the primary machine learning model, and may also use one or more other input variables. Alternatively, the secondary auxiliary machine learning model may use none of the input variables of the primary machine learning model and may use one or more other input variables.

단계(624)에서, (예를 들면, 2차 입력 데이터를 구획화하는 것에 의해) 2차 입력 데이터로부터 2차 트레이닝 데이터 및 2차 유효성 확인 데이터가 생성된다.At step 624 , secondary training data and secondary validation data are generated from the secondary input data (eg, by partitioning the secondary input data).

단계(626)에서, 2차 보조 머신 러닝 모델을 2차 트레이닝 데이터에 적합시키는 것에 의해 기본 머신 러닝 모델의 2차 보조 머신 러닝 모델이 생성된다.In step 626, a secondary assisted machine learning model of the base machine learning model is generated by fitting the secondary assisted machine learning model to secondary training data.

단계(628)에서, 기본 머신 러닝 모델의 2차 보조 머신 러닝 모델은 2차 유효성 확인 데이터에 대해 유효성이 확인된다. 2차 보조 모델을 적합시키고 및/또는 유효성 확인하기 위해, 교차 유효성 확인(중첩식 교차 유효성 확인(nested cross-validation)을 포함하지만 그러나 이것으로 제한되지는 않음) 및 홀드아웃 기술이 사용될 수 있다.At step 628 , the secondary secondary machine learning model of the primary machine learning model is validated against secondary validation data. To fit and/or validate secondary secondary models, cross-validation (including but not limited to nested cross-validation) and holdout techniques may be used.

몇몇 실시형태에서, 1차 및 2차 머신 러닝 모델은 비교될 수 있다. 예를 들면, 모델의 각각에 대한 정확도 점수가 결정될 수 있다. 각각의 모델의 정확도 점수는, 모델이 하나 이상의 예측 문제의 결과를 예측하는 정확도를 나타낼 수 있다. (몇몇 실시형태에서, 2차 보조 머신 러닝 모델의 정확도 점수는, 모델이 기본 머신 러닝 모델에 의해 예측되는 출력 변수 값을 예측하는 정확도가 아니라, 모델이 출력 변수의 관찰 결과를 예측하는 정확도를 나타낸다. 다른 실시형태에서, 2차 보조 머신 러닝 모델의 정확도 점수는 모델이 기본 머신 러닝 모델에 의해 예측되는 출력 변수 값을 예측하는 정확도를 나타낸다.) 몇몇 경우에, 2차 보조 머신 러닝 모델의 정확도 점수는 기본 머신 러닝 모델의 정확도 점수를 초과한다. 다른 예로서, 하나 이상의 예측 문제의 결과를 예측하기 위해 머신 러닝 모델의 각각에 의해 사용되는 계산 리소스의 양이 비교될 수 있다. 몇몇 경우에, 2차 보조 머신 러닝 모델에 의해 사용되는 계산 리소스의 양은 기본 머신 러닝 모델에 의해 사용되는 계산 리소스의 양보다 더 적다.In some embodiments, primary and secondary machine learning models may be compared. For example, an accuracy score may be determined for each of the models. The accuracy score of each model may indicate the accuracy with which the model predicts the outcome of one or more prediction problems. (In some embodiments, the accuracy score of the secondary assisted machine learning model indicates the accuracy with which the model predicts observations of the output variable, rather than the accuracy with which the model predicts the output variable value predicted by the primary machine learning model. In other embodiments, the accuracy score of the secondary assisted machine learning model represents the accuracy with which the model predicts the output variable value predicted by the primary machine learning model.) In some cases, the accuracy score of the secondary assisted machine learning model exceeds the accuracy score of the underlying machine learning model. As another example, the amount of computational resources used by each of the machine learning models to predict the outcome of one or more prediction problems may be compared. In some cases, the amount of computational resources used by the secondary secondary machine learning model is less than the amount of computational resources used by the primary machine learning model.

몇몇 실시형태에서, 다수의 2차 모델링 프로시져가 수행되고, 기본 머신 러닝 모델의 다수의 2차 보조 머신 러닝 모델이 생성된다. 몇몇 실시형태에서, 2차 보조 머신 러닝 모델의 정확도 점수 및/또는 계산 리소스 사용량이 결정되고 비교된다. 모델의 정확도 점수 및/또는 계산 리소스 사용량에 적어도 부분적으로 기초한 배포를 위해 2차 보조 머신 러닝 모델 중 하나 이상이 선택될 수 있다.In some embodiments, multiple secondary modeling procedures are performed, and multiple secondary secondary machine learning models of the primary machine learning model are generated. In some embodiments, accuracy scores and/or computational resource usage of secondary assisted machine learning models are determined and compared. One or more of the secondary secondary machine learning models may be selected for deployment based at least in part on the accuracy score and/or computational resource usage of the model.

설명 가능성 기준을 충족하도록 머신 러닝 모델을 조정하기 위한 기술의 몇몇 실시형태가 설명되었다. 기술 분야의 숙련된 자는, "설명 가능성" 및 "해석 가능성"이 인공 지능 및 머신 러닝의 분야에서 밀접하게 관련된 용어이다는 것을 인식할 것이다. "해석 가능성"의 범위가 본원에서 사용되는 바와 같은 "설명 가능성"의 범위로부터 벗어나는 것으로 이해되는 정도까지, 본원에서 설명되는 기술의 몇몇 실시형태는 해석 가능성 기준을 충족하도록 머신 러닝 모델을 조정하는 데에도 또한 적합하다.Several embodiments of techniques for tuning a machine learning model to meet explainability criteria have been described. Those skilled in the art will recognize that “explainability” and “interpretability” are closely related terms in the fields of artificial intelligence and machine learning. To the extent that the scope of “interpretability” is understood to depart from the scope of “explainability” as used herein, some embodiments of the techniques described herein are useful for adjusting a machine learning model to meet interpretability criteria. also suitable for

본 발명은 본 발명의 취지 또는 본질적인 특성으로부터 벗어나지 않으면서 다른 특정한 형태로 구체화될 수도 있다. 설명된 실시형태는 모든 관점에서 제한적인 것이 아니라 단지 예시적인 것으로 간주되어야 한다. 따라서, 본 발명의 범위는 전술한 설명에 의해서 보다는 첨부된 청구범위에 의해 나타내어진다. 청구범위의 등가성의 의미 및 범위 내에 있는 모든 변경예는 그들의 범위 내에 포괄되어야 한다.The present invention may be embodied in other specific forms without departing from the spirit or essential characteristics of the present invention. The described embodiments are to be considered in all respects only as illustrative and not restrictive. Accordingly, the scope of the invention is indicated by the appended claims rather than by the foregoing description. All modifications that come within the meaning and scope of equivalence of the claims should be embraced within their scope.

전문 용어vernacular

본원에서 사용되는 표현법 및 전문 용어는 설명의 목적을 위한 것이며 제한적인 것으로 간주되어서는 안된다.The phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting.

본 명세서 및 청구범위에서 사용되는 바와 같이, 용어 "대략적으로", 어구 "대략 동일한" 및 다른 유사한 어구(예를 들면, "X는 대략 Y의 값을 갖는다" 또는 "X는 Y와 대략적으로 동일하다")는, 하나의 값(X)이 다른 값(Y)의 사전 결정된 범위 내에 있다는 것을 의미하는 것으로 이해되어야 한다. 사전 결정된 범위는, 달리 지시되지 않는 한, 플러스 또는 마이너스 20 %, 10 %, 5 %, 1 %, 0.1 %, 또는 0.1 % 미만일 수도 있다.As used herein and in the claims, the term “approximately”, the phrase “approximately equal” and other similar phrases (eg, “X has a value of approximately Y” or “X approximately equals Y”) be") should be understood to mean that one value (X) is within a predetermined range of the other value (Y). The predetermined range may be less than plus or minus 20%, 10%, 5%, 1%, 0.1%, or 0.1%, unless otherwise indicated.

부정 관사 "a(한)" 및 "an(한)"은, 본 명세서 및 청구범위에서 사용되는 바와 같이, 반대로 명백하게 지시되지 않는 한, "적어도 하나"를 의미하는 것으로 이해되어야 한다. 어구 "및/또는"은, 본 명세서 및 청구범위에서 사용되는 바와 같이, 그렇게 결합되는 엘리먼트, 즉 몇몇 경우에 접속적으로(conjunctively) 존재하고 다른 경우에 이접적으로(disjunctively) 존재하는 엘리먼트의 "어느 하나 또는 둘 모두"를 의미하는 것으로 이해되어야 한다. "및/또는"과 함께 열거되는 다수의 엘리먼트도 동일한 방식으로, 즉, 그렇게 결합되는 엘리먼트 중 "하나 이상"으로 해석되어야 한다. "및/또는" 조항에 의해 구체적으로 식별되는 엘리먼트 외에, 구체적으로 식별되는 그들 엘리먼트에 관련되든 또는 관련되지 않든 간에, 다른 엘리먼트가 옵션 사항으로(optionally) 존재할 수도 있다. 따라서, 비제한적인 예로서, "A 및/또는 B"에 대한 언급은, "포함하는(comprising)"과 같은 확장 가능한(open-ended) 언어와 연계하여 사용될 때, 하나의 실시형태에서, A만을(옵션 사항으로 B 이외의 엘리먼트를 포함함); 다른 실시형태에서, B만을(옵션 사항으로 A 이외의 엘리먼트를 포함함); 여전히 다른 실시형태에서, A 및 B 둘 모두를(옵션 사항으로 다른 엘리먼트를 포함함); 등등을 가리킬 수 있다.The indefinite articles “a” and “an”, as used in the specification and claims, should be understood to mean “at least one” unless explicitly indicated to the contrary. The phrase “and/or”, as used herein and in the claims, means “of an element so combined, that is, an element that is present conjunctively in some cases and disjunctively in other cases. either or both" should be understood. Multiple elements listed with “and/or” should be construed in the same way, ie, “one or more” of the elements so combined. In addition to the elements specifically identified by the "and/or" clause, other elements may optionally be present, whether related or unrelated to those elements specifically identified. Thus, by way of non-limiting example, reference to “A and/or B” when used in connection with an open-ended language such as “comprising,” in one embodiment, A only (optionally including elements other than B); In other embodiments, only B (optionally including elements other than A); In still other embodiments, both A and B (optionally including other elements); can refer to, etc.

본 명세서 및 청구의 범위에서 사용되는 바와 같이, "또는"은 상기에서 정의되는 바와 같은 "및/또는"과 동일한 의미를 갖는 것으로 이해되어야 한다. 예를 들면, 목록에서 아이템을 분리할 때, "또는" 또는 "및/또는"은 포괄적인 것으로, 즉, 다수의 엘리먼트 또는 엘리먼트의 목록 중 적어도 하나뿐만 아니라, 또한 그들의 하나 이상, 및 옵션 사항으로, 추가적인 열거되지 않은 아이템의 포함으로서 해석되어야 한다. "~중 단지 하나(only one of)" 또는 "~중 정확히 하나(exactly one of)", 또는, 청구범위에서 사용될 때, "~으로 구성되는(consisting of)"과 같은, 명확하게 반대로 나타내어지는 용어만이, 다수의 엘리먼트 또는 엘리먼트의 목록 중 정확히 하나의 엘리먼트의 포함을 가리킬 것이다. 일반적으로, 용어 "또는"은, 사용되는 바와 같이, "어느 하나", "~중 하나", "~중 단지 하나", 또는 "~중 정확히 하나"와 같은, 배타성의 용어가 후속되는 경우, 배타적 양자 택일(즉, "하나 또는 다른 것 그러나 둘 모두는 아님")을 나타내는 것으로만 해석되어야 한다. "로 본질적으로 구성되는(consisting essentially of)"은, 청구범위에서 사용될 때, 특허법의 분야에서 사용되는 바와 같은 자신의 일반적인 의미를 가져야 한다.As used herein and in the claims, "or" should be understood to have the same meaning as "and/or" as defined above. For example, when separating items in a list, "or" or "and/or" is inclusive, i.e., at least one of a number of elements or lists of elements, as well as one or more of them, and optionally , should be construed as the inclusion of additional unlisted items. "only one of" or "exactly one of", or, as used in the claims, such as "consisting of" Only the term shall refer to the inclusion of exactly one element of a plurality of elements or lists of elements. Generally, the term "or," as used, is followed by a term of exclusivity, such as "either", "one of", "only one of", or "exactly one of"; It should only be construed as indicating an exclusive alternative (ie, "one or the other but not both"). “Consisting essentially of”, when used in the claims, should have its general meaning as used in the field of patent law.

본 명세서 및 청구의 범위에서 사용되는 바와 같이, 어구 "적어도 하나(at least one)"는, 하나 이상의 엘리먼트의 목록과 관련하여, 엘리먼트의 그 목록 내의 엘리먼트 중 임의의 하나 이상으로부터 선택되는 적어도 하나의 엘리먼트를 의미하는 것으로 이해되어야 하고, 엘리먼트의 그 목록 내에서 구체적으로 열거되는 각각의 엘리먼트 및 모든 엘리먼트 중 적어도 하나를 반드시 포함하는 것은 아니며 엘리먼트의 목록 내의 엘리먼트의 임의의 조합을 배제하지도 않는다. 이 정의는 또한, 어구 "적어도 하나"가 참조하는 엘리먼트의 목록 내에서 명시적으로 식별되는 엘리먼트 이외의 엘리먼트가, 명시적으로 식별되는 그들 엘리먼트에 관련되든 또는 관련되지 않든 간에, 옵션 사항으로 존재할 수도 있다는 것을 허용한다. 따라서, 비제한적인 예로서, "A 및 B 중 적어도 하나"(또는, 등가적으로, "A 또는 B 중 적어도 하나", 또는, 등가적으로 "A 및/또는 B 중 적어도 하나")는, 하나의 실시형태에서, B는 없이(그리고 옵션 사항으로 B 이외의 엘리먼트를 포함함), 옵션 사항으로 하나보다 더 많은 것을 포함하는, 적어도 하나의 A를; 다른 실시형태에서, A는 없이(그리고 옵션 사항으로 A 이외의 엘리먼트를 포함함), 옵션 사항으로 하나보다 더 많은 것을 포함하는, 적어도 하나의 B를; 여전히 다른 실시형태에서, 옵션 사항으로 하나보다 더 많은 것을 포함하는, 적어도 하나의 A, 및 옵션 사항으로 하나보다 더 많은 것을 포함하는, 적어도 하나의 B(및 옵션 사항으로 다른 엘리먼트를 포함함); 등등을 가리킬 수 있다.As used herein and in the claims, the phrase “at least one” refers to, with respect to a list of one or more elements, at least one selected from any one or more of the elements in that list of elements. It is to be understood as meaning an element, and does not necessarily include at least one of each and every element specifically recited in that list of elements, nor does it exclude any combination of elements in that list of elements. This definition may also optionally exist for elements other than those explicitly identified within the list of elements to which the phrase "at least one" refers, whether or not related to those elements explicitly identified. allow it to be Thus, as a non-limiting example, “at least one of A and B” (or, equivalently, “at least one of A or B,” or, equivalently, “at least one of, A and/or B”) is: In one embodiment, B is absent (and optionally includes elements other than B), at least one A, optionally including more than one; In other embodiments, A is absent (and optionally includes elements other than A), at least one B, optionally including more than one; in still other embodiments, at least one A, optionally including more than one, and at least one B, optionally including more than one, (and optionally including other elements); can refer to, etc.

용어 "포함하는(including)", "포함하는(comprising)", "구비하는(having)", "함유하는(containing)", "수반하는(involving)" 및 이들의 변형어는, 명시적으로 달리 명시되지 않는 한 "포함하는 그러나 이들로 제한되지는 않는"을 의미한다. 아이템의 열거된 목록은, 명시적으로 달리 명시되지 않는 한, 아이템 중 임의의 것 또는 모두가 상호 배타적이다는 것 및/또는 상호 포함한다는 것을 의미하지 않는다.The terms "including," "comprising," "having," "containing," "involving," and variations thereof means "including but not limited to" unless otherwise specified. An enumerated listing of items does not imply that any or all of the items are mutually exclusive and/or mutually inclusive, unless expressly stated otherwise.

청구항 엘리먼트를 수식하기 위한 청구범위에서의 "제1", "제2", "제3", 등등과 같은 서수적 용어의 사용은, 그 자체에 의해, 하나의 청구항 엘리먼트의 다른 것에 대한 임의의 우선 순위, 우선권(precedence), 또는 순서 또는 방법의 액트가 수행되는 시간적 순서를 내포하지는 않는다. 서수적 용어는, 청구항 엘리먼트를 구별하기 위해, 소정의 이름을 갖는 하나의 청구항 엘리먼트를, (서수적 용어의 사용을 제외하고) 동일한 이름을 가진 다른 엘리먼트로부터 구별하기 위한 라벨로서 사용되는 것에 불과하다.The use of ordinal terms such as "first", "second", "third", etc. in a claim to modify a claim element is, by itself, used in any way of one claim element over another. It does not imply priority, precedence, or the temporal order in which acts of the order or method are performed. The ordinal term is merely used as a label to distinguish one claim element with a given name from other elements with the same name (except for the use of the ordinal term) in order to distinguish claim elements. .

Claims (18)

장치로서,
배포된(deployed) 기본 머신 러닝 모델(primary machine learning model)로부터 추론 데이터 세트에 기초하여 예측의 제1 세트를 획득하도록 구성되는 제1 예측 모듈;
배포된 보조 머신 러닝 모델(secondary machine learning model) - 상기 보조 머신 러닝 모델은 상기 기본 머신 러닝 모델과는 상이하고 상기 기본 머신 러닝 모델의 예측을 모방하도록 구성됨 - 로부터 상기 추론 데이터 세트에 기초하여 예측의 제2 세트를 획득하도록 구성되는 제2 예측 모듈; 및
상기 기본 및 보조 머신 러닝 모델이 상기 기본 머신 러닝 모델에 대한 하나 이상의 설명 가능성 기준(explainability criteria)을 충족하지 않는다는 결정 - 상기 결정은 예측의 상기 제1 및 제2 세트의 비교에 기초함 - 에 응답하여 상기 기본 머신 러닝 모델에 관련되는 하나 이상의 액션을 트리거하도록 구성되는 액션 모듈
을 포함하는, 장치.
As a device,
a first prediction module, configured to obtain a first set of predictions based on the inference data set from a deployed primary machine learning model;
of a prediction based on the set of inference data from a deployed secondary machine learning model, the secondary machine learning model being different from the primary machine learning model and configured to mimic the predictions of the primary machine learning model. a second prediction module, configured to obtain a second set; and
responsive to a determination that the primary and secondary machine learning models do not meet one or more explainability criteria for the primary machine learning model, wherein the determination is based on a comparison of the first and second sets of predictions. an action module, configured to trigger one or more actions related to the basic machine learning model.
A device comprising a.
제1항에 있어서,
상기 기본 및 보조 머신 러닝 모델이 상기 기본 머신 러닝 모델에 대한 상기 하나 이상의 설명 가능성 기준을 충족하지 않는다는 것을,
예측의 상기 제1 세트 내의 상기 예측과 예측의 상기 제2 세트 내의 상기 예측 사이의 차이에 기초하여 예측의 상기 제1 및 제2 세트에 대한 발산 메트릭(divergence metric)의 하나 이상의 값을 결정하는 것;
예측의 상기 제1 및 제2 세트에 대한 상기 발산 메트릭의 상기 하나 이상의 값 중 적어도 하나가 발산 임계치보다 더 크다는 것을 결정하는 것; 및
예측의 상기 제1 및 제2 세트에 대한 상기 발산 메트릭의 적어도 하나의 값이 상기 발산 임계치보다 더 크다는 결정에 기초하여, 상기 기본 및 보조 머신 러닝 모델이 상기 기본 머신 러닝 모델에 대한 상기 하나 이상의 설명 가능성 기준을 충족하지 않는다는 것을 결정하는 것
의해 결정하도록 구성되는 비교 모듈을 더 포함하는, 장치.
According to claim 1,
that the primary and secondary machine learning models do not meet the one or more explainability criteria for the primary machine learning model;
determining one or more values of a divergence metric for the first and second sets of predictions based on a difference between the predictions in the first set of predictions and the predictions in the second set of predictions ;
determining that at least one of the one or more values of the divergence metric for the first and second sets of predictions is greater than a divergence threshold; and
Based on a determination that at least one value of the divergence metric for the first and second sets of predictions is greater than the divergence threshold, the primary and secondary machine learning models are the one or more descriptions of the primary machine learning model. Determining that the likelihood criterion is not met
and a comparison module configured to determine by
제2항에 있어서,
상기 발산 메트릭의 하나 이상의 값을 결정하는 것은, 예측 단위 기반으로, 예측의 상기 제1 및 제2 세트의 각각의 예측에 대한 상기 발산 메트릭의 각각의 값을 결정하는 것을 포함하는 것인, 장치.
3. The method of claim 2,
and determining the one or more values of the divergence metric comprises determining, on a prediction unit basis, a respective value of the divergence metric for each prediction of the first and second sets of predictions.
제2항에 있어서,
상기 발산 메트릭의 하나 이상의 값을 결정하는 것은, 예측의 상기 제1 및 제2 세트의 하나 이상의 서브세트에 대한 상기 발산 메트릭의 각각의 값을 결정하는 것을 포함하는 것인, 장치.
3. The method of claim 2,
and determining the one or more values of the divergence metric comprises determining a respective value of the divergence metric for one or more subsets of the first and second sets of predictions.
제2항에 있어서,
상기 발산 메트릭의 상기 하나 이상의 값은 상기 발산 메트릭의 하나 이상의 배포 값(deployment value)이고,
상기 비교 모듈은 또한, (i) 상기 기본 머신 러닝 모델의 개발 동안 트레이닝 데이터 세트에 기초하여 상기 기본 머신 러닝 모델에 의해 생성되는 예측의 제3 세트와 (ii) 상기 보조 머신 러닝 모델의 개발 동안 상기 트레이닝 데이터 세트에 기초하여 상기 기본 머신 러닝 모델에 의해 생성되는 예측의 제4 세트 사이의 차이를 나타내는 상기 발산 메트릭의 하나 이상의 개발 값을 획득하도록 구성되고, 그리고
상기 비교 모듈은 또한, 상기 추론 데이터 세트와 상기 트레이닝 데이터 세트 사이의 편차를 검출하기 위해, 상기 발산 메트릭의 상기 하나 이상의 배포 값을 상기 발산 메트릭의 상기 하나 이상의 개발 값과 비교하도록 구성되는 것인, 장치.
3. The method of claim 2,
wherein the one or more values of the divergence metric are one or more deployment values of the divergence metric;
The comparison module is further configured to: (i) a third set of predictions generated by the base machine learning model based on a training data set during development of the base machine learning model; and (ii) the base machine learning model during development of the auxiliary machine learning model. configured to obtain one or more development values of the divergence metric indicative of a difference between a fourth set of predictions generated by the base machine learning model based on a set of training data, and
wherein the comparison module is further configured to compare the one or more distribution values of the divergence metric with the one or more developed values of the divergence metric to detect a deviation between the inference data set and the training data set. Device.
제1항에 있어서,
상기 하나 이상의 액션은 상기 기본 머신 러닝 모델에 대한 상기 하나 이상의 설명 가능성 기준의 위반에 관한 경보를 전송하는 것을 포함하되, 상기 경보는 상기 위반에 응답하기 위한 하나 이상의 추천을 더 포함하는 것인, 장치.
According to claim 1,
wherein the one or more actions include sending an alert regarding a violation of the one or more explainability criteria for the underlying machine learning model, the alert further comprising one or more recommendations for responding to the violation. .
제1항에 있어서,
상기 하나 이상의 액션은 상기 기본 머신 러닝 모델을 상이한 머신 러닝 모델과 교환하는(swapping) 것을 포함하는 것인, 장치.
According to claim 1,
and the one or more actions include swapping the base machine learning model for a different machine learning model.
제1항에 있어서,
상기 하나 이상의 액션은 상기 기본 머신 러닝 모델을 재트레이닝시키는 것을 포함하는 것인, 장치.
According to claim 1,
and the one or more actions include retraining the base machine learning model.
제1항에 있어서,
상기 하나 이상의 액션은 상기 기본 머신 러닝 모델을 상기 보조 머신 러닝 모델로 스위칭하는 것을 포함하는 것인, 장치.
According to claim 1,
and the one or more actions include switching the primary machine learning model to the secondary machine learning model.
제1항에 있어서,
상기 하나 이상의 액션은, 상기 트레이닝 데이터 세트에 기초하여 개발 동안 상기 기본 및 보조 머신 러닝 모델에 의해 생성되는 예측의 제3 및 제4 세트에 대한 상기 발산 메트릭의 값을 비교하는 것에 의해 트레이닝 데이터 세트와 상기 추론 데이터 세트 사이의 편차를 식별하는 것을 포함하되, 예측의 상기 제1 및 제2 세트에 대한 상기 발산 메트릭의 값은 상기 추론 데이터 세트에 기초하여 배포 동안 상기 기본 및 보조 머신 러닝 모델에 의해 생성되는 것인, 장치.
According to claim 1,
The one or more actions may be performed with a training data set by comparing values of the divergence metrics for third and fourth sets of predictions generated by the primary and secondary machine learning models during development based on the training data set. identifying deviations between the inference data sets, wherein the values of the divergence metrics for the first and second sets of predictions are generated by the primary and secondary machine learning models during deployment based on the inference data sets. The device that becomes.
제1항에 있어서,
상기 하나 이상의 액션은 상기 하나 이상의 액션을 수행하기 위해 유저로부터 확인을 수신하지 않고도 트리거되는 것인, 장치.
According to claim 1,
and the one or more actions are triggered without receiving confirmation from a user to perform the one or more actions.
방법으로서,
배포된 기본 머신 러닝 모델로부터 추론 데이터 세트에 기초하여 예측의 제1 세트를 획득하는 단계;
배포된 보조 머신 러닝 모델 - 상기 보조 머신 러닝 모델은 상기 기본 머신 러닝 모델과는 상이하고 상기 기본 머신 러닝 모델의 예측을 모방하도록 구성됨 - 로부터 상기 추론 데이터 세트에 기초하여 예측의 제2 세트를 획득하는 단계; 및
상기 기본 및 보조 머신 러닝 모델이 상기 기본 머신 러닝 모델에 대한 하나 이상의 설명 가능성 기준을 충족하지 않는다는 결정 - 상기 결정은 예측의 상기 제1 및 제2 세트의 비교에 기초함 - 에 응답하여 상기 기본 머신 러닝 모델에 관련되는 하나 이상의 액션을 트리거하는 단계
를 포함하는, 방법.
As a method,
obtaining a first set of predictions based on the set of inference data from the deployed basic machine learning model;
obtaining a second set of predictions based on the set of inference data from a deployed auxiliary machine learning model, the auxiliary machine learning model being different from the underlying machine learning model and configured to mimic predictions of the underlying machine learning model step; and
the primary machine in response to a determination that the primary and secondary machine learning models do not meet one or more explainability criteria for the primary machine learning model, wherein the determination is based on a comparison of the first and second sets of predictions. triggering one or more actions related to the learning model.
A method comprising
제12항에 있어서,
상기 기본 및 보조 머신 러닝 모델이 상기 기본 머신 러닝 모델에 대한 상기 하나 이상의 설명 가능성 기준을 충족하지 않는다는 것을 결정하는 것은,
예측의 상기 제1 세트 내의 상기 예측과 예측의 상기 제2 세트 내의 상기 예측 사이의 차이에 기초하여 예측의 상기 제1 및 제2 세트에 대한 발산 메트릭의 하나 이상의 값을 결정하는 것;
예측의 상기 제1 및 제2 세트에 대한 상기 발산 메트릭의 상기 하나 이상의 값 중 적어도 하나가 발산 임계치보다 더 크다는 것을 결정하는 것; 및
예측의 상기 제1 및 제2 세트에 대한 상기 발산 메트릭의 적어도 하나의 값이 상기 발산 임계치보다 더 크다는 결정에 기초하여, 상기 기본 및 보조 머신 러닝 모델이 상기 기본 머신 러닝 모델에 대한 하나 이상의 설명 가능성 기준을 충족하지 않는다는 것을 결정하는 것
을 포함하는 것인, 방법.
13. The method of claim 12,
Determining that the primary and secondary machine learning models do not meet the one or more explainability criteria for the primary machine learning model comprises:
determining one or more values of a divergence metric for the first and second sets of predictions based on a difference between the predictions in the first set of predictions and the predictions in the second set of predictions;
determining that at least one of the one or more values of the divergence metric for the first and second sets of predictions is greater than a divergence threshold; and
Based on a determination that at least one value of the divergence metric for the first and second sets of predictions is greater than the divergence threshold, the primary and secondary machine learning models are one or more explanatory probabilities for the primary machine learning model. Determining that criteria are not met
A method comprising:
제13항에 있어서,
상기 발산 메트릭의 상기 하나 이상의 값은 상기 발산 메트릭의 하나 이상의 배포 값이고,
상기 방법은, (i) 상기 기본 머신 러닝 모델의 개발 동안 트레이닝 데이터 세트에 기초하여 상기 기본 머신 러닝 모델에 의해 생성되는 예측의 제3 세트와 (ii) 상기 보조 머신 러닝 모델의 개발 동안 상기 트레이닝 데이터 세트에 기초하여 상기 기본 머신 러닝 모델에 의해 생성되는 예측의 제4 세트 사이의 차이를 나타내는 상기 발산 메트릭의 하나 이상의 개발 값을 획득하는 단계를 더 포함하고, 그리고
상기 방법은, 상기 추론 데이터 세트와 상기 트레이닝 데이터 세트 사이의 편차를 검출하기 위해, 상기 발산 메트릭의 상기 하나 이상의 배포 값을 상기 발산 메트릭의 상기 하나 이상의 개발 값과 비교하는 단계를 더 포함하는 것인, 방법.
14. The method of claim 13,
the one or more values of the divergence metric are one or more distribution values of the divergence metric;
The method comprises (i) a third set of predictions generated by the base machine learning model based on a set of training data during development of the base machine learning model and (ii) the training data during development of the base machine learning model. further comprising obtaining one or more development values of the divergence metric indicative of a difference between a fourth set of predictions generated by the base machine learning model based on the set, and
The method further comprises comparing the one or more distribution values of the divergence metric to the one or more developed values of the divergence metric to detect a deviation between the inference data set and the training data set. , Way.
제12항에 있어서,
상기 하나 이상의 액션은 상기 기본 머신 러닝 모델을 상이한 머신 러닝 모델과 교환하는 것을 포함하는 것인, 방법.
13. The method of claim 12,
and the one or more actions include exchanging the base machine learning model for a different machine learning model.
제12항에 있어서,
상기 하나 이상의 액션은 상기 기본 머신 러닝 모델을 상기 보조 머신 러닝 모델로 스위칭하는 것을 포함하는 것인, 방법.
13. The method of claim 12,
and the one or more actions include switching the primary machine learning model to the secondary machine learning model.
제12항에 있어서,
상기 하나 이상의 액션은, 상기 트레이닝 데이터 세트에 기초하여 개발 동안 상기 기본 및 보조 머신 러닝 모델에 의해 생성되는 예측의 제3 및 제4 세트에 대한 상기 발산 메트릭의 값을 비교하는 것에 의해 트레이닝 데이터 세트와 상기 추론 데이터 세트 사이의 편차를 식별하는 것을 포함하되, 예측의 상기 제1 및 제2 세트에 대한 상기 발산 메트릭의 값은 상기 추론 데이터 세트에 기초하여 배포 동안 상기 기본 및 보조 머신 러닝 모델에 의해 생성되는 것인, 방법.
13. The method of claim 12,
The one or more actions may be performed with a training data set by comparing values of the divergence metrics for third and fourth sets of predictions generated by the primary and secondary machine learning models during development based on the training data set. identifying deviations between the inference data sets, wherein the values of the divergence metrics for the first and second sets of predictions are generated by the primary and secondary machine learning models during deployment based on the inference data sets. How to be.
장치로서,
배포된 기본 머신 러닝 모델로부터 추론 데이터 세트에 기초하여 예측의 제1 세트를 획득하기 위한 수단;
배포된 보조 머신 러닝 모델 - 상기 보조 머신 러닝 모델은 상기 기본 머신 러닝 모델과는 상이하고 상기 기본 머신 러닝 모델의 예측을 모방하도록 구성됨 - 로부터 상기 추론 데이터 세트에 기초하여 예측의 제2 세트를 획득하기 위한 수단; 및
상기 기본 및 보조 머신 러닝 모델이 상기 기본 머신 러닝 모델에 대한 하나 이상의 설명 가능성 기준을 충족하지 않는다는 결정 - 상기 결정은 예측의 상기 제1 및 제2 세트의 비교에 기초함 - 에 응답하여 상기 기본 머신 러닝 모델에 관련되는 하나 이상의 액션을 트리거하기 위한 수단
을 포함하는, 장치.
As a device,
means for obtaining a first set of predictions based on the set of inference data from the deployed basic machine learning model;
obtaining a second set of predictions based on the set of inference data from a deployed auxiliary machine learning model, the auxiliary machine learning model being different from the underlying machine learning model and configured to mimic predictions of the underlying machine learning model means for; and
the primary machine in response to a determination that the primary and secondary machine learning models do not meet one or more explainability criteria for the primary machine learning model, wherein the determination is based on a comparison of the first and second sets of predictions. means for triggering one or more actions related to the learning model
A device comprising a.
KR1020217021984A 2018-12-14 2019-12-13 Explainability-Based Tuning of Machine Learning Models KR20210141917A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/221,039 2018-12-14
US16/221,039 US20200193313A1 (en) 2018-12-14 2018-12-14 Interpretability-based machine learning adjustment during production
PCT/US2019/066296 WO2020123985A1 (en) 2018-12-14 2019-12-13 Explainability-based adjustment of machine learning models

Publications (1)

Publication Number Publication Date
KR20210141917A true KR20210141917A (en) 2021-11-23

Family

ID=69591711

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217021984A KR20210141917A (en) 2018-12-14 2019-12-13 Explainability-Based Tuning of Machine Learning Models

Country Status (7)

Country Link
US (2) US20200193313A1 (en)
EP (1) EP3895077A1 (en)
JP (1) JP2022514508A (en)
KR (1) KR20210141917A (en)
AU (1) AU2019395267A1 (en)
SG (1) SG11202106315QA (en)
WO (1) WO2020123985A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102637818B1 (en) * 2022-11-24 2024-02-19 엔에이치투자증권 주식회사 Server for predicting of borrowed-name account and method thereof

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018176000A1 (en) 2017-03-23 2018-09-27 DeepScale, Inc. Data synthesis for autonomous control systems
US11409692B2 (en) 2017-07-24 2022-08-09 Tesla, Inc. Vector computational unit
US11893393B2 (en) 2017-07-24 2024-02-06 Tesla, Inc. Computational array microprocessor system with hardware arbiter managing memory requests
US10671349B2 (en) 2017-07-24 2020-06-02 Tesla, Inc. Accelerated mathematical engine
US11157441B2 (en) 2017-07-24 2021-10-26 Tesla, Inc. Computational array microprocessor system using non-consecutive data formatting
US11561791B2 (en) 2018-02-01 2023-01-24 Tesla, Inc. Vector computational unit receiving data elements in parallel from a last row of a computational array
US11215999B2 (en) 2018-06-20 2022-01-04 Tesla, Inc. Data pipeline and deep learning system for autonomous driving
US11361457B2 (en) 2018-07-20 2022-06-14 Tesla, Inc. Annotation cross-labeling for autonomous control systems
US11636333B2 (en) 2018-07-26 2023-04-25 Tesla, Inc. Optimizing neural network structures for embedded systems
US11562231B2 (en) 2018-09-03 2023-01-24 Tesla, Inc. Neural networks for embedded devices
WO2020077117A1 (en) 2018-10-11 2020-04-16 Tesla, Inc. Systems and methods for training machine models with augmented data
US11196678B2 (en) 2018-10-25 2021-12-07 Tesla, Inc. QOS manager for system on a chip communications
US11816585B2 (en) 2018-12-03 2023-11-14 Tesla, Inc. Machine learning models operating at different frequencies for autonomous vehicles
US11537811B2 (en) 2018-12-04 2022-12-27 Tesla, Inc. Enhanced object detection for autonomous vehicles based on field view
US11610117B2 (en) 2018-12-27 2023-03-21 Tesla, Inc. System and method for adapting a neural network model on a hardware platform
KR20200083048A (en) * 2018-12-31 2020-07-08 삼성전자주식회사 Neural network system predicting polling time and neural network model processing method using the same
US11537936B2 (en) * 2019-01-17 2022-12-27 Servicenow, Inc. Data set generation for testing of machine learning pipelines
US11150664B2 (en) 2019-02-01 2021-10-19 Tesla, Inc. Predicting three-dimensional features for autonomous driving
US10997461B2 (en) 2019-02-01 2021-05-04 Tesla, Inc. Generating ground truth for machine learning from time series elements
US11567514B2 (en) 2019-02-11 2023-01-31 Tesla, Inc. Autonomous and user controlled vehicle summon to a target
US10956755B2 (en) 2019-02-19 2021-03-23 Tesla, Inc. Estimating object properties using visual image data
US11468361B2 (en) * 2019-05-24 2022-10-11 Bank Of America Corporation Real-time convergence analysis of machine learning population output in rapid changing and adversarial environments
US20200387836A1 (en) * 2019-06-04 2020-12-10 Accenture Global Solutions Limited Machine learning model surety
US11475002B1 (en) * 2019-06-19 2022-10-18 Amazon Technologies, Inc. Machine learning system for dynamic generation of computer-implemented policies
US11593705B1 (en) * 2019-06-28 2023-02-28 Amazon Technologies, Inc. Feature engineering pipeline generation for machine learning using decoupled dataset analysis and interpretation
US11983609B2 (en) * 2019-07-10 2024-05-14 Sony Interactive Entertainment LLC Dual machine learning pipelines for transforming data and optimizing data transformation
US11573964B2 (en) * 2019-07-17 2023-02-07 At&T Intellectual Property I, L.P. Reducing database system query transaction delay
US11232356B2 (en) * 2019-08-09 2022-01-25 Google Llc Training giant neural networks using pipeline parallelism
US10999390B2 (en) * 2019-08-15 2021-05-04 Bank Of America Corporation Method and system for mobile data communication
US11710085B2 (en) * 2019-11-26 2023-07-25 Saudi Arabian Oil Company Artificial intelligence system and method for site safety and tracking
CN113597618B (en) * 2019-12-20 2024-09-17 京东方科技集团股份有限公司 Inference calculation device, model training device, and inference calculation system
US11509626B2 (en) * 2020-01-29 2022-11-22 Jpmorgan Chase Bank, N.A. System and method for network IP address capacity analytics and management
US20210334693A1 (en) * 2020-04-22 2021-10-28 Intuit Inc. Automated generation of explainable machine learning
US11580425B2 (en) * 2020-06-30 2023-02-14 Microsoft Technology Licensing, Llc Managing defects in a model training pipeline using synthetic data sets associated with defect types
CN112116104B (en) * 2020-09-17 2024-06-18 京东科技控股股份有限公司 Method, device, medium and electronic equipment for automatically integrating machine learning
KR20220049165A (en) * 2020-10-14 2022-04-21 삼성에스디에스 주식회사 System and method for enhancing inference models based on prediction data
CN112101579B (en) * 2020-11-18 2021-02-09 杭州趣链科技有限公司 Federal learning-based machine learning method, electronic device, and storage medium
CN113034158A (en) * 2021-03-19 2021-06-25 北京嘀嘀无限科技发展有限公司 Machine responsibility judgment method and device, electronic equipment and readable storage medium
WO2022237963A1 (en) * 2021-05-11 2022-11-17 Nokia Technologies Oy Framework for trustworthiness
US20230097533A1 (en) * 2021-09-24 2023-03-30 Rockwell Automation Technologies, Inc. Model lifecycle management for closed-loop processes within industrial automation environments
WO2023110163A1 (en) * 2021-12-13 2023-06-22 Telefonaktiebolaget Lm Ericsson (Publ) First node, second node, third node, fourth node and methods performed thereby for handling data
US12079732B2 (en) * 2022-03-14 2024-09-03 Dell Products L.P. Cross-organization continuous update of edge-side event detection models in warehouse environments via federated learning
JP7553495B2 (en) 2022-03-17 2024-09-18 株式会社日立システムズエンジニアリングサービス DEVELOPMENT SUPPORT DEVICE, DEVELOPMENT SUPPORT METHOD, AND DEVELOPMENT SUPPORT PROGRAM
US12086721B1 (en) * 2024-03-08 2024-09-10 The Strategic Coach Inc. System and methods for an adaptive machine learning model selection based on data complexity and user goals

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7565369B2 (en) * 2004-05-28 2009-07-21 International Business Machines Corporation System and method for mining time-changing data streams
CN108288094B (en) * 2018-01-31 2021-06-29 清华大学 Deep reinforcement learning method and device based on environmental state prediction

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102637818B1 (en) * 2022-11-24 2024-02-19 엔에이치투자증권 주식회사 Server for predicting of borrowed-name account and method thereof

Also Published As

Publication number Publication date
WO2020123985A1 (en) 2020-06-18
AU2019395267A1 (en) 2021-07-15
EP3895077A1 (en) 2021-10-20
JP2022514508A (en) 2022-02-14
US20230162063A1 (en) 2023-05-25
US20200193313A1 (en) 2020-06-18
SG11202106315QA (en) 2021-07-29

Similar Documents

Publication Publication Date Title
KR20210141917A (en) Explainability-Based Tuning of Machine Learning Models
US20230196101A1 (en) Determining suitability of machine learning models for datasets
US20230161843A1 (en) Detecting suitability of machine learning models for datasets
US11748653B2 (en) Machine learning abstraction
US11030557B2 (en) Predicting arrival time of components based on historical receipt data
US11595415B2 (en) Root cause analysis in multivariate unsupervised anomaly detection
US9275335B2 (en) Autonomous biologically based learning tool
US8078552B2 (en) Autonomous adaptive system and method for improving semiconductor manufacturing quality
US11250322B2 (en) Self-healing machine learning system for transformed data
US20180322411A1 (en) Automatic evaluation and validation of text mining algorithms
US11790303B2 (en) Analyzing agent data and automatically delivering actions
US11373131B1 (en) Automatically identifying and correcting erroneous process actions using artificial intelligence techniques
CN112486784A (en) Method, apparatus and medium for diagnosing and optimizing data analysis system
Yun et al. An optimal reliability and maintainability design of a searching system
US11810011B2 (en) Generation of predictive model metrics using intermediate operations
Singh et al. Tuning of cost drivers by significance occurrences and their calibration with novel software effort estimation method
US12086746B2 (en) Automatically determining enterprise-related action sequences using artificial intelligence techniques
US20240291724A1 (en) Allocation of Resources to Process Execution in View of Anomalies
Ahuja A review on particle swarm optimization for software reliability
White et al. SASH: Safe Autonomous Self-Healing