KR20220149541A - 인공 지능 모듈 업데이트를 위한 데이터세트 선택 방법 - Google Patents

인공 지능 모듈 업데이트를 위한 데이터세트 선택 방법 Download PDF

Info

Publication number
KR20220149541A
KR20220149541A KR1020227031876A KR20227031876A KR20220149541A KR 20220149541 A KR20220149541 A KR 20220149541A KR 1020227031876 A KR1020227031876 A KR 1020227031876A KR 20227031876 A KR20227031876 A KR 20227031876A KR 20220149541 A KR20220149541 A KR 20220149541A
Authority
KR
South Korea
Prior art keywords
datasets
given
dataset
cluster
clusters
Prior art date
Application number
KR1020227031876A
Other languages
English (en)
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 KR20220149541A publication Critical patent/KR20220149541A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Algebra (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Operations Research (AREA)
  • Probability & Statistics with Applications (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Biology (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Complex Calculations (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Circuits Of Receivers In General (AREA)
  • Stored Programmes (AREA)

Abstract

인공 지능 모듈(AI 모듈)을 업데이트하기 위해 주어진 데이터세트들로부터 데이터세트를 선택하기 위한 컴퓨터 구현 방법. 상기 주어진 데이터세트들 각각은 입력 데이터세트 및 대응하는 출력 데이터세트를 포함한다. 상기 컴퓨터 구현 방법은 상기 주어진 데이터세트들의 상이한 클러스터들을 정의하기 위한 파라미터들의 값들을 획득하는 단계; 각 주어진 데이터세트의 메트릭을 결정하는 단계―상기 각 주어진 데이터세트의 메트릭은 상기 클러스터들 중 하나에 대한 상기 각 주어진 데이터세트의 멤버십 레벨과 상기 각 주어진 데이터세트에서 상기 클러스터들 중 동일한 하나의 중심까지의 거리에 의존함―; 및 상기 주어진 데이터세트들의 메트릭들의 비교를 기반으로 상기 AI 모듈을 업데이트하기 위해 상기 주어진 데이터세트들로부터 상기 주어진 데이터세트들 중 적어도 하나를 선택하는 단계를 포함한다.

Description

인공 지능 모듈 업데이트를 위한 데이터세트 선택 방법
[0001] 본 발명은 디지털 컴퓨터 시스템 분야에 관한 것으로, 보다 상세하게는 인공 지능 모듈의 적응(an adaption of an artificial intelligence module)을 위한 데이터세트 선택 방법에 관한 것이다.
[0002] 인공 지능(AI) 또는 머신 지능은 환경을 인식하고 목표를 성공적으로 달성할 가능성을 최대화하는 조치를 취하는 디바이스이다. 인공 지능은 종종 음성 인식, 학습, 추론, 계획 및 문제 해결과 같이 인간이 인간의 마음과 연관시키는 “인지” 기능을 모방하는 머신 또는 컴퓨터로 이해된다. 인공 지능의 하위 세트인 머신 러닝을 사용하면 디바이스가 명시적 지침을 사용하지 않고 대신 패턴과 추론에 의존하여 과거 데이터에서 자동으로 학습할 수 있다. 머신 러닝 알고리즘은 작업을 수행하도록 명시적으로 프로그래밍되지 않고 예측 또는 결정을 내리기 위해 “훈련 데이터”로 알려진 샘플 데이터를 기반으로 수학적 모델을 구축한다. 새로운 훈련 데이터를 사용할 수 있게 되면 머신 러닝 알고리즘이 업데이트되거나 재훈련된다.
[0003] 훈련된 인공 지능 모듈(AI-module)을 적용하는 과정에서 AI 모듈의 개선을 목적으로 하는 경우가 발생할 수 있다. 이러한 개선은 AI 모듈을 훈련하거나 그 유효성을 검증하는 데 사용되지 않은 추가 데이터세트들을 사용하여 AI 모듈을 업데이트함으로써, 바람직하게는 재훈련함으로써 수행될 수 있다. 이 추가 데이터세트들은 AI 모듈에 적용된 입력 데이터세트들을 로그 파일에 로깅하고, AI 모듈이 입력 데이터세트들을 기반으로 계산한 대응하는 출력 데이터세트들을 로그 파일에 로깅하여 수집할 수 있다.
[0004] 본 발명의 다양한 실시예들은 독립항들의 주제에 의해 설명되는 바와 같이 인공 지능 모듈(AI 모듈)을 업데이트하기 위해 주어진 데이터세트들로부터 데이터세트를 선택하기 위한 컴퓨터 구현 방법, 컴퓨터 프로그램 제품, 및 컴퓨터 시스템을 제공한다. 유리한 실시예들은 종속항들에 기술된다. 본 발명의 실시예들은 상호 배타적이지 않다면 자유롭게 조합될 수 있다.
[0005] 한 실시예에 따르면, 본 발명은 인공 지능 모듈(AI 모듈)을 업데이트하기 위해 주어진 데이터세트들로부터 데이터세트를 선택하기 위한 컴퓨터 구현 방법을 포함하고, 상기 주어진 데이터세트들은 각각 입력 데이터세트 및 대응하는 출력 데이터세트를 포함한다. 상기 컴퓨터 구현 방법은 상기 주어진 데이터세트들의 상이한 클러스터들을 정의하기 위한 파라미터들의 값들을 획득하는 단계; 각 주어진 데이터세트의 메트릭을 결정하는 단계―상기 각 주어진 데이터세트의 메트릭은 상기 클러스터들 중 하나에 대한 상기 각 주어진 데이터세트의 멤버십 레벨과 상기 각 주어진 데이터세트에서 상기 클러스터들 중 동일한 하나의 중심까지의 거리에 의존함―; 및 상기 주어진 데이터세트들의 메트릭들의 비교를 기반으로 상기 AI 모듈을 업데이트하기 위해 상기 주어진 데이터세트들로부터 상기 주어진 데이터세트들 중 적어도 하나를 선택하는 단계를 포함한다.
[0006] 다른 실시예에 따르면, 본 발명은 인공 지능 모듈(AI 모듈)을 업데이트하기 위해 주어진 데이터세트들로부터 데이터세트를 선택하기 위한 컴퓨터 프로그램 제품을 포함하고, 상기 주어진 데이터세트들 각각은 입력 데이터세트 및 대응하는 출력 데이터세트를 포함하고, 상기 컴퓨터 프로그램 제품은 컴퓨터 판독 가능 스토리지 매체를 포함하고 상기 컴퓨터 판독 가능 스토리지 매체는 이 매체를 이용해 구현되는 컴퓨터 판독 가능 프로그램 코드를 가지며, 상기 컴퓨터 판독 가능 프로그램 코드는: 상기 주어진 데이터세트들의 상이한 클러스터들을 정의하기 위한 파라미터들의 값들을 획득하는 단계; 각 주어진 데이터세트의 메트릭을 결정하는 단계―상기 각 주어진 데이터세트의 메트릭은 상기 클러스터들 중 하나에 대한 상기 각 주어진 데이터세트의 멤버십 레벨과 상기 각 주어진 데이터세트에서 상기 클러스터들 중 동일한 하나의 중심까지의 거리에 의존함―; 및 상기 주어진 데이터세트들의 메트릭들의 비교를 기반으로 상기 AI 모듈을 업데이트하기 위해 상기 주어진 데이터세트들로부터 상기 주어진 데이터세트들 중 적어도 하나를 선택하는 단계;를 포함하는 방법을 구현하도록 구성된다.
[0007] 다른 실시예에 따르면, 본 발명은 인공 지능 모듈(AI 모듈)을 업데이트하기 위해 주어진 데이터세트들로부터 데이터세트를 선택하기 위한 컴퓨터 시스템을 포함하며, 상기 주어진 데이터세트들 각각은 입력 데이터세트 및 대응하는 출력 데이터세트를 포함하고, 상기 컴퓨터 시스템은 하나 이상의 컴퓨터 프로세서, 하나 이상의 컴퓨터 판독 가능 스토리지 매체, 및 상기 하나 이상의 컴퓨터 프로세서에 의해 실행하기 위해 상기 하나 이상의 컴퓨터 프로세서 상에 저장된 프로그램 명령들을 포함하고, 상기 프로그램 명령들은: 상기 주어진 데이터세트들의 상이한 클러스터들을 정의하기 위한 파라미터들의 값들을 획득하는 단계; 각 주어진 데이터세트의 메트릭을 결정하는 단계―상기 각 주어진 데이터세트의 메트릭은 상기 클러스터들 중 하나에 대한 상기 각 주어진 데이터세트의 멤버십 레벨과 상기 각 주어진 데이터세트에서 상기 클러스터들 중 동일한 하나의 중심까지의 거리에 의존함―; 및 상기 주어진 데이터세트들의 메트릭들의 비교를 기반으로 상기 AI 모듈을 업데이트하기 위해 상기 주어진 데이터세트들로부터 상기 주어진 데이터세트들 중 적어도 하나를 선택하는 단계를 포함하는 방법을 구현한다.
[0008] 다음에서, 아래와 같은 도면들을 참조하여 단지 예로서 본 발명의 실시예들을 더 상세히 설명한다.
[0009] 도 1은 AI 모듈을 업데이트하기 위해 주어진 데이터세트들로부터 데이터세트를 선택하기 위한 제1 컴퓨터 시스템 및 AI 모듈을 실행하기 위한 제2 컴퓨터 시스템을 도시한다.
[0010] 도 2는 요청 입력 데이터세트들 및 해당 응답 출력 데이터세트들을 포함하는 AI 모듈의 데이터 흐름을 도시한다.
[0011] 도 3은 요청 입력 데이터세트들에서 생성된 주어진 데이터세트들과 도 2에 도시된 해당 응답 출력 데이터세트들을 포함하는 로그파일을 도시한다.
[0012] 도 4는 연결 파라미터 공간의 해당 데이터 포인트들로 표시되는 도 3에 도시된 주어진 데이터세트들을 포함하는 연결 파라미터 공간을 도시한다.
[0013] 도 5는 AI 모듈을 업데이트하기 위해 도 3에 도시된 주어진 데이터세트들에서 데이터세트를 선택하는 컴퓨터 구현 방법의 흐름도를 도시한다.
[0014] 본 발명의 다양한 실시예에 대한 설명은 예시의 목적으로 제시되며, 완전한 것으로 의도되거나 또는 개시된 실시예들로 제한하려는 의도가 있는 것은 아니다. 이 기술 분야에서 통상의 지식을 가진 자라면 개시된 실시예들의 범위와 정신을 벗어나지 않으면서 많은 수정들 및 변형들이 있을 수 있다는 것을 명백히 알 수 있을 것이다. 본원에 사용된 용어는 실시예들의 원리, 시장에서 발견되는 기술에 대한 실질적인 응용 또는 기술적 개선을 가장 잘 설명하거나, 또는 이 기술 분야에서 통상의 지식을 가진 자가 본원에 개시된 실시예들을 이해할 수 있도록 하기 위해 선택되었다.
[0015] 본 방법은 AI 모듈을 업데이트하기 위해 주어진 데이터세트들의 메트릭에 따라 주어진 데이터세트들(이하, 선택된 데이터세트라고 함) 중 적어도 하나를 선택하는 것을 가능하게 할 수 있다. 위에서 언급한 바와 같이, 각 주어진 데이터세트의 메트릭은 클러스터들 중 하나(이하 선택된 클러스터라고 함)에 대한 각 주어진 데이터세트의 멤버십 레벨, 및 각 주어진 데이터세트에서 클러스터들 중 동일한 하나의 중심까지, 예를 들어, 선택된 클러스터의 중심까지의 거리에 의존할 수 있다.
[0016] 주어진 데이터세트의 입력 데이터세트는 n 차원을 가질 수 있고 주어진 데이터세트의 출력 데이터세트는 k 차원을 가질 수 있다. 입력 데이터세트의 n 차원은 입력 파라미터 공간에 걸쳐 있을 수 있고 출력 데이터세트의 k 차원은 출력 파라미터 공간에 걸쳐 있을 수 있다. 입력 데이터세트의 n 차원과 출력 데이터세트의 k 차원은 함께 연결 파라미터 공간에 걸쳐 있을 수 있다. 입력 파라미터 공간, 출력 파라미터 공간, 및/또는 연결 파라미터 공간은 각각 적어도 하나의 경계를 가질 수 있다. 주어진 데이터세트들의 입력 및 출력 데이터세트는 값들, 바람직하게는 실제 값들을 포함할 수 있다.
[0017] 주어진 데이터세트들은 훈련된 상태에서 AI 모듈을 사용하여 생성될 수 있다. 학습된 AI 모듈은 해당 입력 데이터세트들 중 하나를 기반으로 각각의 출력 데이터세트를 계산할 수 있다. 해당 입력 데이터세트들은 각각 학습된 AI 모듈의 사용자의 요청을 나타낼 수 있으며, 요청 입력 데이터세트들로 지칭될 수 있다. 출력 데이터세트들은 각각 해당 요청 입력 데이터세트들에 대한 훈련된 AI 모듈의 응답을 나타낼 수 있으며, 응답 출력 데이터세트들로 지칭될 수 있다. 주어진 데이터세트들은 각각의 응답 출력 데이터세트를 해당 요청 입력 데이터세트와 연결하여 각각 생성될 수 있다. 주어진 데이터세트들은 로그파일에 의해 제공될 수 있다. 로그파일은 사용자가 훈련된 AI 모듈을 사용할 때 응답 출력 데이터세트와 해당 요청 입력 데이터세트를 기록하여 생성될 수 있다.
[0018] 주어진 데이터세트들은 데이터세트들의 어느 부분에 메트릭의 계산이 적용되는지에 따라, 입력 파라미터 공간, 출력 파라미터 공간 또는 연결 파라미터 공간에서 좌표가 각 주어진 데이터세트의 값들과 일치하는 데이터 포인트로 각각 표시될 수 있다. “예시적인 데이터세트에서 예시적인 중심까지의 예시적인 거리”라는 문구는 예시적인 데이터세트가 예시적인 중심까지 나타내는 예시적인 데이터 포인트의 예시적인 거리를 지칭한다. 유사하게, “예시적인 중심에 위치하는 예시적인 데이터세트”라는 문구는 예시적인 중심에 위치하는 예시적인 데이터 포인트를 지칭하며, 여기서 예시적인 데이터세트는 예시적인 데이터 포인트를 나타낼 수 있다.
[0019] 선택된 클러스터에 대한 각 주어진 데이터세트의 멤버십 레벨은 각 주어진 데이터세트에서 선택된 클러스터의 중심까지의 거리 및 각 주어진 데이터세트에서 선택된 클러스터를 제외한 다른 클러스터들의 중심까지의 추가 거리들을 기반으로 결정될 수 있다. 예를 들면, 선택된 클러스터에 대한 각 주어진 데이터세트의 멤버십 레벨은 각 주어진 데이터세트에서 선택된 클러스터의 중심까지의 거리와 상기 추가 거리들 및 각 주어진 데이터세트에서 선택된 클러스터의 중심까지의 거리의 합 사이의 비(ratio)에 기반하여 결정될 수 있다.
[0020] 선택된 클러스터는 주어진 데이터세트들의 서로 다른 클러스터들 중 적어도 2개 중에서 선택될 수 있다. 클러스터들을 정의하기 위한 파라미터들의 값들은 해당 클러스터를 정의하는 각 클러스터의 파라미터들의 값들을 포함할 수 있다. 각 클러스터의 파라미터들의 값들은 입력 파라미터 공간, 출력 파라미터 공간, 또는 연결 파라미터 공간에 위치한 각 클러스터의 중심의 좌표 값들일 수 있다. 선택된 클러스터는 주어진 데이터세트들과 관련된 응용 분야의 전문가(예를 들어, 의사 기술자)가 수동으로 선택할 수 있다. 한 예에서, 클러스터들을 정의하는 파라미터들의 값들은 주어진 데이터세트들, 훈련 데이터세트들, 및/또는 테스트 데이터세트들에 적용된 클러스터링 알고리즘을 수행함으로써 획득될 수 있다. 다른 예에서, 클러스터들을 정의하는 파라미터들의 값들은 스토리지 디바이스로부터 로드될 수 있다. 이 경우에, 클러스터들을 정의하는 파라미터들의 값들은 본 발명의 방법을 수행하기 전에 결정될 수 있다.
[0021] 예를 들면, 전문가는 입력 파라미터 공간, 출력 파라미터 공간 또는 연결 파라미터 공간의 위치를 가리키고 그렇게 하여 선택된 클러스터의 중심의 좌표 값들을 정의할 수 있다. 이것은 또한 입력 파라미터 공간, 출력 파라미터 공간 또는 연결 파라미터 공간에서 3차원 부분 공간들 중 두 개를 시각화하여 더 높은 차원에서 가능할 수 있다.
[0022] 제1 예에서, 각 주어진 데이터세트의 메트릭은 선택된 클러스터에 대한 각 주어진 데이터세트의 멤버십 레벨과 각 주어진 데이터세트에서 선택된 클러스터의 중심까지의 거리의 곱에 의해 계산될 수 있다. 본 제1 예에서, 선택된 데이터세트의 선택은 선택된 데이터세트가 주어진 데이터세트들 중 가장 높은 메트릭을 갖는 데이터세트가 되도록 수행될 수 있다.
[0023] 제1 예에 따르면 그리고 선택된 클러스터에 대한 선택된 데이터세트의 멤버십 레벨이 예를 들어 10개의 다른 주어진 데이터세트와 비교하여 평균 레벨이라고 가정하면, 선택된 데이터세트는 선택된 클러스터의 중심에서 비교적 멀리 위치할 수 있다. 이 경우에, 선택된 데이터세트는 10개의 다른 주어진 데이터세트보다 입력 파라미터 공간, 출력 파라미터 공간, 및/또는 연결 파라미터 공간의 경계에 더 가까이 위치할 수 있다. 이것은 선택된 데이터세트가 10개의 다른 주어진 데이터세트에 의해 제공된 정보에 추가 정보를 포함할 수 있음을 의미할 수 있다. 이러한 이유로 AI 모듈 업데이트를 위해 선택된 데이터세트를 선택하는 것이 흥미로울 수 있다.
[0024] 바람직하게는, 선택된 데이터세트는, 예를 들어 전문가에 의해 또는 추가 AI 모듈에 의해, 조사될 수 있다. 선택된 데이터세트의 조사 결과는 선택된 데이터세트의 확정 또는 거부가 될 수 있다. 후자의 경우는 AI 모듈이 선택된 데이터세트를 잘못 계산했을 수 있는 경우를 나타낼 수 있다. 어느 경우든, 선택된 데이터세트는 AI 모듈을 업데이트하기 위해 사용될 수 있다. 후자의 경우, 선택된 데이터세트는, 바람직하게는 전문가에 의해 또는 추가 AI 모듈에 의해, 보정될 수 있다. AI 모듈을 업데이트하는 것은 AI 모듈의 재훈련, 예를 들어 선택된 데이터세트를 사용하여 AI 모듈에 역전파 알고리즘을 적용하는 것을 포함할 수 있다. 선택된 데이터세트가 추가 정보를 포함할 수 있으므로, AI 모듈을 업데이트하는 것은 추가 정보를 AI 모듈의 파라미터의 변경된 값의 형태로 저장하는 데 기여할 수 있다.
[0025] 다른 실시예에서, AI 모듈을 업데이트하는 것은 입력 파라미터 공간 또는 출력 파라미터 공간의 경계들 중 하나를 변경하는 것을 포함할 수 있다. 예를 들면, 다음의 두 가지 경우를 생각해볼 수 있다. 첫 번째 경우, 조사의 결과가 확정일 수 있다. 두 번째 경우, 조사의 결과가 거부일 수 있다. 첫 번째 경우, 입력 파라미터 공간의 경계가 선택된 데이터세트로부터 더 멀리 이동될 수 있다. 이것은 AI 모듈이 입력 파라미터 공간의 적응된 경계 내에 위치한 새로운 데이터세트들에 사용될 수 있다는 이점을 가질 수 있다. 두 번째 경우, 입력 파라미터 공간의 경계가 선택된 데이터세트가 입력 파라미터 공간의 경계 밖에 위치할 수 있도록 이동될 수 있다. 이렇게 하면 AI 모듈이 입력 파라미터 공간의 변경된 경계 밖에 위치한 새로운 입력 데이터세트들에 대해 잘못된 새로운 출력 데이터세트들을 계산할 수 있는 위험을 줄일 수 있다.
[0026] 두 번째 경우에 따라 입력 파라미터 공간의 경계를 변경하면 입력 파라미터 공간의 변경된 경계를 넘어 위치하는 새로운 입력 데이터세트들은 AI 모듈의 적용을 위해 허용되지 않을 수 있다. 변경된 경계 너머에 있는 새로운 입력 데이터세트들의 거부는, AI 모듈이 사용 중일 때 들어오는 모든 입력 데이터세트에 대한 AI 모듈의 게이트 역할을 할 수 있는, 조회 모듈을 사용하여 자동으로 수행될 수 있다. AI 모듈은 조회 모듈을 포함할 수 있다. 조회 모듈은 파라미터들이 있는 기능들을 포함할 수 있으며 이 기능들은 필터와 유사하게 작동한다. 조회 모듈은 입력 파라미터 공간의 변경된 경계에 따라 조회 모듈의 파라미터 값을 조정함으로써 적응될 수 있다.
[0027] 선택된 데이터세트의 확정 또는 보정을 포함하는 프로세스를 본원에서는 라벨링이라고 한다. 라벨링은 수동 또는 자동으로 수행될 수 있으며, 바람직하게는 추가 AI 모듈을 사용하여 수행될 수 있다. 후자의 경우는 추가 AI 모듈이 영구적으로 액세스할 수 없거나, AI 모듈보다 성능이 더 좋거나, AI 모듈과 비교하여 이동성이 낮은 경우에 유용할 수 있다. 선택된 데이터세트의 보정은 선택된 데이터세트의 입력 및/또는 출력 데이터세트의 값들 중 하나의 보정을 포함할 수 있다.
[0028] 본 방법은 주어진 데이터세트들이 생성된 후 선택된 데이터세트 또는 데이터세트들을 기반으로 AI 모듈을 업데이트할 수 있다. 데이터세트 또는 데이터세트들의 선택은 주어진 데이터세트 또는 데이터세트들의 메트릭에 따라 수행될 수 있으므로, 주어진 데이터세트들의 클러스터들 중 적어도 하나의 중심과 관련하여 입력, 출력, 또는 연결 파라미터 공간 내 주어진 데이터세트 또는 데이터세트들의 위치가 고려될 수 있다. 이를 통해 가장 중요한 주어진 데이터세트 또는 데이터세트들을 기반으로 AI 모듈을 업데이트할 수 있다. 선택된 데이터세트는 주어진 데이터세트들 중 가장 다른 정보를 포함하는 데이터세트로 간주될 수도 있다. 그 결과, AI 모듈의 업데이트가 더 빨라지고 AI 모듈의 과적합이 방지될 수 있다.
[0029] 한 실시예에 따르면, 본 방법은 각 클러스터의 메트릭을 결정하는 단계―각 클러스터의 메트릭은 각 클러스터의 중심에서 클러스터들의 다른 중심들까지의 거리에 의존함―; 클러스터들의 메트릭들을 기반으로 클러스터들로부터 적어도 하나의 클러스터를 선택하는 단계; 및 각 주어진 데이터세트의 메트릭을 결정하는 단계―각 주어진 데이터세트의 메트릭은 선택된 클러스터에 대한 각 주어진 데이터세트의 멤버십 레벨 및 각 주어진 데이터세트에서 선택된 클러스터의 중심까지의 거리에 의존함―를 더 포함한다. 이 실시예는 클러스터들의 메트릭들을 비교함으로써 선택된 클러스터를 자동으로 결정하는 이점이 있을 수 있으며, 이하에서는 제1 실시예로 지칭될 수 있다.
[0030] 한 예에서, 각 클러스터의 메트릭은 각 클러스터의 중심에서 클러스터들의 다른 중심들까지의 평균 거리를 클러스터들의 중심들 사이의 최대 거리로 나눈 몫과 동일할 수 있다. 제1 예에서, 선택된 클러스터는 가장 높은 메트릭을 가진 클러스터일 수 있다. 이 예에서, 다른 주어진 데이터세트들보다 선택된 클러스터에 대해 더 높은 멤버십 레벨을 포함하는 주어진 데이터세트들은 다른 주어진 데이터세트들보다 클러스터들의 모든 중심의 균형점으로부터 더 멀리 위치할 수 있다. 주어진 데이터세트들의 메트릭들은 선택된 클러스터를 기반으로 계산될 것이므로, 선택된 데이터세트가 다른 주어진 데이터세트들보다 균형점으로부터 더 멀리 위치할 수 있는 가능성은 증가할 수 있다. 이것은 선택된 데이터세트가 다른 주어진 데이터세트와 다른 정보를 포함할 수 있는 가능성을 높일 수 있다.
[0031] 이것은 전자의 주어진 데이터세트들이 후자의 주어진 데이터세트들과 다른 정보를 포함할 수 있는 가능성을 높일 수 있다. 각 주어진 데이터세트의 메트릭 계산은 선택된 클러스터에 의존한다.
[0032] 한 실시예에 따르면, 각 주어진 데이터세트에 대한 메트릭을 결정하는 것은 각 주어진 데이터세트에 대한 메트릭들의 세트를 결정하는 것―각 주어진 데이터세트의 메트릭들의 세트의 각 메트릭은 클러스터들의 하위 세트의 한 클러스터에 해당하고, 각 주어진 데이터세트의 메트릭들의 세트의 각 메트릭은 해당 클러스터에 대한 각 주어진 데이터세트의 멤버십 레벨 및 각 주어진 데이터세트에서 해당 클러스터의 중심까지의 거리에 의존함―; 및 주어진 데이터세트들의 메트릭들의 세트의 비교에 기반하여 AI 모듈을 업데이트하기 위해 주어진 데이터세트들로부터 적어도 하나의 주어진 데이터세트를 선택하는 것을 더 포함한다. 한 예에서, 클러스터들의 하위 세트는 모든 클러스터를 포함할 수 있다. 다른 예에서, 클러스터들의 하위 세트는 모든 클러스터의 일부만을 포함할 수 있고, 클러스터들의 하위 세트는 클러스터들의 진(眞) 하위 세트이다.
[0033] 한 예에 따르면, 주어진 데이터세트들의 메트릭들의 세트는 각 메트릭들의 세트의 놈(norm)을 계산함으로써 비교될 수 있다. 선택된 데이터세트 또는 선택된 데이터세트들은 각각 가장 높은 놈 및 가장 높은 놈들이 있는 것 또는 것들일 수 있다. 이 실시예는 선택된 데이터세트가 하나의 선택된 클러스터에만 의존하지 않을 수 있기 때문에 유리할 수 있다. 따라서, 클러스터링 알고리즘, 예를 들어, k-평균 클러스터링 알고리즘 또는 퍼지 C-평균 클러스터링 알고리즘의 결과는 둘 이상의 클러스터가 주어진 데이터세트들로부터 선택을 수행하는 것을 고려하여 사용될 수 있다.
[0034] 한 실시예에 따르면, 본 방법은 클러스터들을 훈련 데이터세트들의 함수로 정의하기 위한 파라미터들의 값들을 생성하는 단계를 더 포함하고, AI 모듈이 훈련 데이터세트들을 사용하여 생성된다. 이 실시예는 이하에서 제2 실시예로 지칭될 수 있다. 훈련 데이터세트들은 주어진 데이터세트들과 동일한 구조를 포함할 수 있다, 즉 훈련 데이터세트들 각각은 입력 데이터세트 및 출력 데이터세트를 포함한다. 훈련 데이터세트들의 함수는 이하에서 설명되며 이 실시예에 한정되지 않을 수 있다.
[0035] 본원에서 사용되는 용어 “모듈”은 “모듈”과 연관된 함수를 수행하기 위한 또는 “모듈”과 연관된 함수를 수행한 결과가 되기 위한 임의의 알려진 또는 미래에 개발되는 하드웨어, 실행 프로그램 등의 소프트웨어, ,인공 지능, 포지 로직 또는 이들의 임의의 가능한 조합을 지칭한다.
[0036] AI 모듈은 신경망, 합성곱 신경망, 및/또는 방사형 기저 함수망을 포함할 수 있다. 주어진 데이터세트들 및 훈련 데이터세트들의 입력 데이터세트 및 출력 데이터세트는 데이터 요소들로서 값들, 바람직하게는 실제 값들을 포함할 수 있다. 주어진 데이터세트들 및 훈련 데이터세트들의 출력 데이터세트들 중 하나의 계산은 해당 입력 데이터세트 및 AI 모듈의 파라미터들의 값들에 따라 수행될 수 있다. 바람직한 예에서, 주어진 데이터세트들 및 훈련 데이터세트들의 각 출력 데이터세트의 값들은 여러 클래스 중에서 주어진 데이터세트들 및 훈련 데이터세트들 각각의 입력 데이터세트가 분류될 수 있는 확률을 각각 나타낼 수 있다.
[0037] AI 모듈은 머신 러닝을 사용하여 훈련 데이터세트들을 기반으로 생성될 수 있다. 용어 “머신 러닝”은 훈련 데이터세트들의 입력 데이터세트들과 출력 데이터세트들에서 유용한 정보를 추출하는 데 사용되는 컴퓨터 알고리즘을 지칭한다. 상기 정보는 자동화된 방식으로 확률 모델을 구축하여 추출할 수 있다. 머신 러닝은 선형 회귀, 역전파, K-평균, 분류 알고리즘 등과 같은 하나 이상의 알려진 머신 러닝 알고리즘을 사용하여 수행될 수 있다.
[0038] 확률 모델은 예를 들어 훈련 데이터세트들의 입력 데이터세트들 중 하나를 기반으로 범주를 예측하거나 훈련 데이터세트들의 입력 데이터세트들 중 하나에 해당하는 인스턴스를 대응하는 출력 데이터세트의 값 또는 값들과 연관시키는 것을 가능하게 하는 방정식이거나 규칙들의 세트일 수 있다.
[0039] 하나 이상의 알려진 머신 러닝 알고리즘은 AI 모듈의 훈련 오류가 감소될 수 있도록 AI 모듈의 파라미터들의 값들을 적응시킬 수 있다. 훈련 오류는 AI 모듈에 의해 계산된 AI 모듈의 훈련 출력 데이터세트들의 계산된 값들과 각 훈련 데이터세트들의 각 출력 데이터세트의 값들의 편차들을 기반으로 계산될 수 있다. AI 모듈의 각 훈련 출력 데이터세트는 각 훈련 데이터세트의 입력 데이터세트를 기반으로 계산될 수 있고 따라서 각 훈련 데이터세트에 연관될 수 있다. AI 모듈의 훈련 출력 데이터세트들은 훈련 데이터세트들의 출력 데이터세트들과 동일한 구조를 가질 수 있다, 즉, AI 모듈의 훈련 출력 데이터세트들의 요소들의 유형들은 훈련 데이터세트들의 출력 데이터세트들의 요소들의 유형들과 일치할 수 있다.
[0040] 편차들을 기반으로 AI 모듈의 파라미터들의 값들을 적응시키면 훈련 오류를 줄일 수 있다. 훈련 오류가 주어진 임계값에 도달하면, AI 모듈은 훈련되어 있고 훈련된 상태인 것으로 간주될 수 있다. 훈련된 상태에서, AI 모듈은 사용자가 AI 모듈에 보낸 요청 입력 데이터세트에 대한 응답으로 위에서 언급한 응답 출력 데이터세트들 각각을 생성하는 데 사용될 수 있다.
[0041] 훈련 데이터세트들은 훈련 데이터세트들의 입력 데이터세트들이 입력 파라미터 공간에서 가능한 한 동일하게 분포될 수 있고/거나 AI 모듈이 적용될 수 있는 많은 중요한 사용 사례를 나타낼 수 있도록 선택될 수 있다. 훈련 데이터세트의 분포는 훈련 오류가 가능한 한 낮도록 설계될 수 있다. 이는 연결 파라미터 공간의 다른 영역들에서 훈련 데이터세트들의 밀도가 상이할 수 있음을 의미할 수 있다. 연결 파라미터 공간에서 훈련 데이터세트들의 상이한 권장 밀도들은 실험 설계(DOE) 알고리즘을 사용하여 계산할 수 있다. 상이한 밀도들은 훈련 클러스터들로 간주될 수 있다.
[0042] 일반적으로, 훈련 데이터세트들은 지도형 방식(supervised manner)으로, 예를 들어, 권장 밀도들을 고려하여 획득하고/거나, 지도형 및/또는 설계된 실험들에서 획득하고/거나, 실험 데이터세트들의 세트로부터 훈련 데이터세트들을 선택하여, 획득할 수 있다. 이러한 종류의 지도(supervising)는 전문가에 의해 수행될 수 있다. 이러한 이유로 훈련 데이터세트들은 주어진 데이터세트들보다 더 효율적으로 전문가의 지식을 나타낼 수 있다. 예를 들면, 주어진 데이터세트들은 AI 모듈의 매우 소수의 상이한 사용 사례들만을 커버하는 연결 파라미터 공간의 매우 좁은 하위 공간에서 AI 모듈을 사용하여 생성될 수 있다.
[0043] 클러스터들을 훈련 데이터세트들의 함수로 정의하기 위한 파라미터들의 값들을 생성하면 클러스터들은 전문가가 쉽게 이해할 수 있으며 연결 파라미터 공간의 의미 있는 클러스터링을 나타낼 수 있다. 또한, 클러스터들은 입력, 출력 또는 연결 파라미터 공간에서 훈련 데이터세트들의 상이한 밀도들을 반영할 수 있다. 또한, 클러스터링을 위해 주어진 데이터세트들만을 사용하는 것보다 클러스터링 알고리즘이 더 빠르게 수행될 수 있다. 따라서, 바람직한 실시예에서, 클러스터들을 정의하기 위한 파라미터들의 값들은 훈련 데이터세트들만을 사용하여 생성될 수 있다.
[0044] 한 실시예에 따르면, 본 방법은 클러스터들을 주어진 데이터세트들의 함수로 정의하기 위한 파라미터들의 값들을 생성하는 단계를 더 포함한다. 이 실시예는 이하에서 제3 실시예로 지칭될 수 있다. 주어진 데이터세트들은 훈련 데이터세트들에 포함되지 않을 수 있는 AI 모듈의 새로운 사용 사례들을 나타낼 수 있다. 결과적으로, 주어진 데이터세트들을 사용한 클러스터링으로부터 생성된 클러스터들은 새로운 사용 사례들을 포함하는 입력, 출력 또는 연결 파라미터 공간의 새로운 영역들을 나타낼 수 있다. 선택된 데이터세트들은 새로운 영역들 중 하나에 위치하며 새로운 사용 사례들 중 하나를 나타낼 수 있다. 따라서, AI 모듈은 새로운 사용 사례들 중 하나로 표현되는 새로운 정보를 포함하는 선택된 데이터세트들을 사용하여 업데이트될 수 있다.
[0045] 한 실시예에 따르면, 본 방법은 클러스터들을 테스트 데이터세트들의 함수로 정의하기 위한 파라미터들의 값들을 생성하는 단계를 더 포함하고, AI 모듈이 테스트 데이터세트들을 사용하여 테스트된다. 이 실시예는 이하에서 제4 실시예로 지칭될 수 있다. 테스트 데이터세트들은 훈련 데이터세트들과 동일한 구조를 가질 수 있다, 즉 각각은 입력 및 출력 데이터세트를 포함한다. 테스트 데이터세트는 실험 데이터세트들에서 유래할 수 있으며 따라서 훈련 데이터세트들과 유사한 방식으로 전문가의 지식을 나타낼 수 있다. 이러한 이유로, 이 실시예는 클러스터링을 위해 훈련 데이터세트들만을 사용하는 것과 동일한 이점을 가질 수 있다. 클러스터들을 정의하기 위한 파라미터들의 값들이 테스트 데이터세트들과 훈련 데이터세트들의 함수로 생성되면, 더 많은 정보가 사용될 수 있고 클러스터링은 전문가의 지식을 더 잘 나타낼 수 있다. 테스트 데이터세트들은 AI 모듈의 유효성 검사에 사용될 수 있다. 아래에서 유효성 검사를 설명한다.
[0046] 유효성 검사 오차는 AI 모듈에 의해 계산된 AI 모듈의 유효성 검사 출력 데이터세트들의 계산된 값들과 각 테스트 데이터세트들의 각 출력 데이터세트의 값들의 편차들을 기반으로 계산될 수 있다. AI 모듈의 각 유효성 검사 출력 데이터세트는 각 테스트 데이터세트의 입력 데이터세트를 기반으로 계산될 수 있고 따라서 각 테스트 데이터세트에 연관될 수 있다. AI 모듈의 유효성 검사 출력 데이터세트들은 테스트 데이터세트들의 출력 데이터세트들과 동일한 구조를 가질 수 있다, 즉, AI 모듈의 유효성 검사 출력 데이터세트들의 요소들의 유형들은 테스트 데이터세트들의 출력 데이터세트들의 요소들의 유형들과 일치할 수 있다.
[0047] 유효성 검사 오차가 주어진 유효성 검사 임계값에 도달하면, AI 모듈은 유효성 검사가 검증된 것으로 간주될 수 있다. 유효성 검사 오차가 유효성 검사 임계값과 일치하지 않으면, AI 모듈의 파라미터들의 값들을 다시 적응시키기 위해 머신 러닝 알고리즘들 중 하나가 반복적으로 수행될 수 있다. 이 경우 AI 모듈의 파라미터들의 값들은 다르게 초기화될 수 있다. AI 모듈은 유효성 검사가 검증되면, 충분한 일반화 특성을 제공할 수 있다, 즉, 새로운 입력 데이터세트들을 기반으로 충분히 정확한 새로운 출력 데이터세트들을 계산할 수 있다.
[0048] 한 실시예에 따르면, 본 방법은 클러스터들을 주어진 데이터세트들의 승인된 또는 보정된 데이터세트(이하에서는 라벨링된 데이터세트로 지칭함)의 함수로 정의하기 위한 파라미터들의 값들을 생성하는 단계를 더 포함한다. 주어진 데이터세트들 중 라벨링될 하나의 승인 또는 보정, 즉 라벨링은 전문가에 의해 수동으로 또는 예를 들어 추가 AI 모듈에 의해 자동으로 수행될 수 있다. 승인 또는 보정은 라벨링될 하나의 데이터세트의 입력 데이터세트 및/또는 출력 데이터세트의 승인 또는 보정을 포함할 수 있다. 입력 데이터세트를 보정하는 것은 입력 데이터세트의 값들이 잘못된 것으로 알려질 수 있을 때 정당화될 수 있다(예를 들어, 알려진 값만큼 이동될 수 있다). AI 모듈의 예측을 보정하기 위해 출력 데이터세트 보정이 수행될 수 있다. 라벨링된 데이터세트에 의존하는 클러스터들을 정의하기 위한 파라미터들의 값들을 생성하는 것은 라벨링된 데이터세트에 포함된 새로운 정보에 기반하여 클러스터링이 수행될 수 있기 때문에 유리할 수 있다.
[0049] 한 실시예에 따르면, 본 방법은 클러스터들을 주어진 데이터세트들의 수동으로 승인되거나 수동으로 보정된 데이터세트의 함수로 정의하기 위한 파라미터들의 값들을 생성하는 단계를 더 포함한다. 이 실시예는 이하에서 제5 실시예로 지칭될 수 있다. 이 실시예에서, 라벨링된 데이터세트는 수동으로 예를 들어 위에서 언급한 바와 같이 전문가에 의해 생성될 수 있으며, 이에 의해 더 안정적이고 투명하게 생성될 수 있다.
[0050] 한 실시예에 따르면, 본 방법은 퍼지-C-평균 클러스터링 알고리즘을 수행하는 클러스터들을 정의하기 위한 파라미터들의 값들을 획득하는 단계를 더 포함한다. 이 실시예는 이하에서 제6 실시예로 지칭될 수 있다. 퍼지-C-평균 클러스터링 알고리즘은 주어진 데이터세트들, 훈련 데이터세트들, 및/또는 테스트 데이터세트들에 적용될 수 있다. 다른 클러스터링 알고리즘(예를 들어, k-평균 클러스터링 알고리즘)을 사용하는 것과 비교하여 퍼지-C-평균 클러스터링 알고리즘을 사용하는 것의 이점은 클러스터링의 솔루션이 클러스터들의 중심들의 초기 선택에 덜 의존할 수 있다는 것이다. 이것은 클러스터링의 보다 일관된 솔루션으로 이어질 수 있다. k-평균 클러스터링 알고리즘과 비교하여, 퍼지-C-평균 클러스터링 알고리즘을 수행하는 것은 각 주어진 데이터세트의 멤버십 레벨을 각 클러스터에 할당하는 것을 포함할 수 있다. 퍼지-C-평균 클러스터링 알고리즘을 수행하기 위해 여러 개의 클러스터가 주어질 수 있다.
[0051] 한 실시예에 따르면, 본 방법은 훈련 데이터세트들의 입력 데이터세트들을 기반으로 클러스터들을 정의하기 위한 파라미터들의 값들을 획득하는 단계를 더 포함한다. 바람직하게는, 클러스터링은 주어진 데이터세트들, 훈련 데이터세트들, 및/또는 테스트 데이터세트들의 입력 데이터세트들만을 기반으로 수행될 수 있다. 이는 클러스터링의 솔루션이 AI 모듈의 정확도에 의존하지 않을 수 있기 때문에 유리할 수 있다. 이렇게 하면 전문가가 솔루션을 해석할 때 혼란을 덜 느낄 수 있다.
[0052] 한 실시예에 따르면, 본 방법은 훈련 데이터세트들의 출력 데이터세트들을 기반으로 클러스터들을 정의하기 위한 파라미터들의 값들을 획득하는 단계를 더 포함한다. 바람직하게는, 클러스터링은 주어진 데이터세트들, 훈련 데이터세트들, 및/또는 테스트 데이터세트들의 출력 데이터세트들만을 기반으로 수행될 수 있다. 종종 주어진 데이터세트 또는 훈련 데이터세트의 각 출력 데이터세트의 값의 수는 주어진 데이터세트 또는 훈련 데이터세트의 대응하는 입력 데이터세트의 값의 수보다 적다. 이 경우, 본 실시예는 클러스터의 수를 줄일 수 있다고 추론할 수 있다. 클러스터링의 솔루션은 이 경우 이해하기 더 쉬울 수 있다. 또한, 주어진 데이터세트 또는 훈련 데이터세트의 출력 데이터세트들에 의해 표현될 수 있는 여러 클래스 중 하나의 예측의 오류가 감소될 수 있도록 AI 모듈을 업데이트하는 것이 유용할 수 있다. 이러한 경우, 주어진 데이터세트들, 훈련 데이터세트들, 및/또는 테스트 데이터세트들의 출력 데이터세트들만을 기반으로 클러스터링하는 것이 더 효율적일 수 있다. 여러 클래스 중 동일한 클래스가 클러스터들 중 하나에 의해 표시될 수 있다. 이 클러스터는 주어진 데이터세트들 중 적어도 하나를 선택하기 위해 선택된 클러스터가 되도록 수동으로 선택될 수 있다.
[0053] 한 실시예에 따르면, 본 방법은 훈련 데이터세트들의 입력 데이터세트들 및 출력 데이터세트들을 기반으로 클러스터들을 정의하기 위한 파라미터들의 값들을 획득하는 단계를 더 포함한다. 바람직하게는, 클러스터링은 주어진 데이터세트들, 훈련 데이터세트들, 및/또는 테스트 데이터세트들의 출력 및 입력 데이터세트들을 기반으로 수행될 수 있다. 이 실시예는 주어진 데이터세트들, 훈련 데이터세트들, 및/또는 테스트 데이터세트들의 정보를 가능한 한 많이 나타내는 클러스터들로 이어질 수 있다.
[0054] 마지막 세 가지 실시예를 참조하면, 주어진 데이터세트들의 메트릭은 주어진 데이터세트들, 훈련 데이터세트들, 및/또는 테스트 데이터세트들의 입력 데이터세트들만이 클러스터링에 사용되는 경우 주어진 데이터세트들의 입력 데이터세트들만을 기반으로 계산될 수 있다. 유사하게, 주어진 데이터세트들의 메트릭은 주어진 데이터세트들, 훈련 데이터세트들, 및/또는 테스트 데이터세트들의 출력 데이터세트들만이 클러스터링에 사용되는 경우 주어진 데이터세트들의 출력 데이터세트들만을 기반으로 계산될 수 있다. 동일한 방식으로, 주어진 데이터세트들의 메트릭은 주어진 데이터세트들, 훈련 데이터세트들, 및/또는 테스트 데이터세트들의 입력 및 출력 데이터세트들이 클러스터링에 사용되는 경우 주어진 데이터세트들의 출력 및 입력 데이터세트들을 기반으로 계산될 수 있다.
[0055] 한 실시예에 따르면, 본 방법은 주어진 데이터세트들에서 각 클러스터의 중심까지의 평균 거리를 기반으로 각 클러스터의 메트릭을 결정하는 단계를 더 포함한다. 이 실시예는 이하에서 제7 실시예로 지칭될 수 있다. 바람직한 일 실시예에서, 각 클러스터의 메트릭은 주어진 데이터세트들에서 각 클러스터의 중심까지의 평균 거리의 더 높은 값이 각 클러스터의 메트릭의 더 낮은 값을 유발할 수 있도록 계산될 수 있다. 이 경우에, 가장 낮은 메트릭을 가진 클러스터가 선택된 클러스터이면, 선택된 클러스터는 오히려 주어진 데이터세트들이 각 클러스터 내에서 더 퍼져 있는 클러스터들 중 하나일 수 있다.
[0056] 한 실시예에 따르면, 본 방법은 주어진 데이터세트들에서 각 클러스터의 중심까지의 최대 거리를 기반으로 각 클러스터의 메트릭을 결정하는 단계를 더 포함한다. 이 실시예는 이하에서 제8 실시예로 지칭될 수 있다. 바람직한 일 실시예에서, 각 클러스터의 메트릭은 주어진 데이터세트들에서 각 클러스터의 중심까지의 평균 거리의 더 높은 값이 각 클러스터의 메트릭의 더 높은 값을 유발할 수 있도록 계산될 수 있다. 이 경우에, 가장 낮은 메트릭을 가진 클러스터가 선택된 클러스터이면, 각 클러스터의 중심에서 멀리 떨어진 주어진 데이터세트들의 이상치가 이 클러스터는 선택된 클러스터가 아님을 표시할 수 있다. 따라서, 이 실시예는 주어진 데이터세트들의 이상치들이 선택된 클러스터의 결정에 강한 영향을 미칠 수 있는 것을 방지한다. 주어진 데이터세트들에서 중심들까지의 최대 거리들과 주어진 데이터세트들에서 중심들까지의 평균 거리들을 위에서 설명한 방식으로 함께 사용되어 선택된 클러스터를 결정하면, 이 실시예는 평균 거리들의 값에 대한 주어진 데이터세트들의 이상치들의 효과가 최대 거리들에 대한 이들의 효과에 의해 균형을 이룰 수 있음을 나타낼 수 있다.
[0057] 한 실시예에 따르면, 본 방법은 각 클러스터에 대한 주어진 데이터세트들의 평균 멤버십 레벨을 기반으로 각 클러스터의 메트릭을 결정하는 단계를 더 포함한다. 이 실시예는 이하에서 제9 실시예로 지칭될 수 있다. 바람직하게는, 각 클러스터의 메트릭은 각 클러스터에 대한 주어진 데이터세트들 및 훈련 데이터세트들의 평균 멤버십 레벨을 기반으로 결정될 수 있다. 바람직한 일 실시예에서, 각 클러스터의 메트릭은 각 클러스터에 대한 주어진 데이터세트들 및/또는 훈련 데이터세트들의 평균 멤버십 레벨의 더 높은 값이 각 클러스터의 메트릭의 더 높은 값을 초래할 수 있도록 계산될 수 있다. 이 경우에, 가장 낮은 메트릭을 가진 클러스터가 선택된 클러스터이면, 선택된 클러스터는 오히려 각 클러스터에 대한 주어진 데이터세트들의 다소 더 낮은 멤버십 레벨을 가진 주어진 데이터세트들을 더 많이 포함하는 클러스터들 중 하나일 수 있다. 따라서, 선택된 클러스터는 덜 명확하거나 쉽게 분류될 수 없는 각 주어진 데이터세트들을 포함할 수 있다. 선택된 데이터세트가 이러한 방식으로 결정된 선택된 클러스터에서 유래하면, 선택된 데이터세트가 새로운 정보를 포함할 수 있는 가능성이 증가될 수 있다.
[0058] 제7, 제8 및 제9 실시예에서, 클러스터들을 정의하기 위한 파라미터들의 값들은 바람직하게는 주어진 데이터세트들의 수동으로 승인되거나 수동으로 보정된 데이터세트들과 훈련 데이터세트들의 함수로 생성될 수 있다. 제7, 제8 및 제9 실시예에 따른 단계들은 주어진 데이터세트들의 확장에 응답하여 반복될 수 있다. 주어진 데이터세트들은 AI 모듈을 사용하는 동안 확장될 수 있다. 이 사용하는 동안, 새로 주어진 데이터세트들이 로그파일에 포함될 수 있도록 로그파일이 확장될 수 있다. 제7, 제8 및 제9 실시예에 따른 단계들을 수행하는 제1 반복에서 주어진 데이터세트들 중 수동으로 라벨링한 데이터세트들이 없으면, 클러스터들을 정의하기 위한 파라미터들의 값들은 바람직하게는 훈련 데이터세트들만의 함수로 생성될 수 있다.
[0059] 한 실시예에 따르면, 본 방법은 주어진 데이터세트들의 수동으로 승인되거나 수동으로 보정된 데이터세트들과 훈련 데이터세트들에서 각 클러스터의 중심까지의 평균 거리를 기반으로 각 클러스터의 메트릭을 결정하는 단계를 더 포함한다. 이 실시예는 이하에서 제10 실시예로 지칭될 수 있다.
[0060] 한 실시예에 따르면, 본 방법은 주어진 데이터세트들의 수동으로 승인되거나 수동으로 보정된 데이터세트들과 훈련 데이터세트들에서 각 클러스터의 중심까지의 최대 거리를 기반으로 각 클러스터의 메트릭을 결정하는 단계를 더 포함한다. 이 실시예는 이하에서 제11 실시예로 지칭될 수 있다.
[0061] 한 실시예에 따르면, 본 방법은 각 클러스터에 대한 주어진 데이터세트들의 수동으로 승인되거나 수동으로 보정된 데이터세트들과 훈련 데이터세트들의 평균 멤버십 레벨을 기반으로 각 클러스터의 메트릭을 결정하는 단계를 더 포함한다. 이 실시예는 이하에서 제12 실시예로 지칭될 수 있다.
[0062] 제10, 제11 및 제12 실시예는 제7, 제8 및 제9 실시예와 비슷한 이점을 가질 수 있다. 주어진 데이터세트들의 수동으로 승인되거나 수동으로 보정된 데이터세트들과 훈련 데이터세트들을 기반으로 각 클러스터의 메트릭을 결정하는 것은 선택된 클러스터가 승인되고 수동으로 보정된 데이터세트들을 기반으로만 결정될 수 있다는 이점을 가질 수 있다. 그 결과, 클러스터의 선택은 전문가에 의해 쉽게 결정될 수 있다. 그러나, 주어진 데이터세트들을 기반으로 각 클러스터의 메트릭을 결정하면 선택된 클러스터가 선택된 데이터세트에 의해 제공된 새로운 정보를 포함할 가능성이 증가할 수 있다.
[0063] 한 실시예에 따르면, 본 방법은 각 클러스터에 포함된 훈련 데이터세트들의 수와 각 클러스터에 포함된 주어진 데이터세트들의 수동으로 승인되거나 수동으로 보정된 데이터세트들의 수의 제1 합, 및 훈련 데이터세트들의 총 수와 주어진 데이터세트들의 수동으로 승인되거나 수동을 보정된 데이터세트들의 총 수의 제2 합의 비(ratio)를 기반으로 각 클러스터의 메트릭을 결정하는 단계를 더 포함한다. 이 실시예는 이하에서 제13 실시예로 지칭될 수 있다. 바람직한 일 실시예에서, 각 클러스터의 메트릭은 상기 비(ratio)의 더 높은 값이 각 클러스터의 메트릭의 더 높은 값을 유발할 수 있도록 계산될 수 있다. 이 경우에, 가장 낮은 메트릭을 가진 클러스터가 선택된 클러스터이면, 선택된 클러스터는 오히려 좀 덜 수동으로 라벨링된 데이터세트들과 훈련 데이터세트들을 포함하는 클러스터들 중 하나일 수 있다. 따라서, 선택된 클러스터는 오히려 낮은 밀도의 데이터세트를 포함할 수 있다.
[0064] 제10, 제11 및 제12 및 제13 실시예에서, 클러스터들을 정의하기 위한 파라미터들의 값들은 바람직하게는 주어진 데이터세트들의 수동으로 승인되거나 수동으로 보정된 데이터세트들, 훈련 데이터세트들, 및 테스트 데이터세트들의 함수로 생성될 수 있다.
[0065] 제7, 제8 및 제9 실시예에 따른 단계들과 유사하게, 제10, 제11, 제12 및 제13 실시예의 단계들은 주어진 데이터세트들의 확장에 응답하여 반복될 수 있다. 제10, 제11, 제12 및 제13 실시예에 따른 단계들을 수행하는 제1 반복에서 주어진 데이터세트들 중 수동으로 라벨링한 데이터세트들이 없으면, 클러스터들을 정의하기 위한 파라미터들의 값들은 바람직하게는 훈련 데이터세트들과 테스트 데이터세트들만의 함수로 생성될 수 있다.
[0066] 한 실시예에 따르면, 주어진 데이터세트들의 입력 데이터세트들 각각은 식별 파라미터의 값을 포함하고 주어진 데이터세트들의 출력 데이터세트들 각각은 성능 지표의 값을 포함한다. 이 실시예에서, 출력 파라미터 공간은 성능 지표를 포함할 수 있고 입력 파라미터 공간은 식별 파라미터를 포함할 수 있다. 이것은 주어진 데이터세트들의 성능 지표 및/또는 식별 파라미터의 각 값에 따라 선택된 데이터세트를 결정하는 것을 가능하게 할 수 있다. 또한, 이 실시예는 성능 지표의 값들에 따라 AI 모듈을 업데이트하는 것을 가능하게 할 수 있다.
[0067] 식별 파라미터는 각 주어진 데이터세트를 데이터 처리의 각 동작에 연관시키는 것을 허용할 수 있다. 데이터 처리의 각 동작은 각 주어진 데이터세트의 생성을 포함할 수 있다. 예를 들어, 로그파일을 고려하면, 각 주어진 데이터세트의 식별 파라미터는 각 주어진 데이터세트의 입력 데이터세트를 각 주어진 데이터세트의 출력 데이터세트와 연결하여 그것들을 로그파일에 각 주어진 데이터세트의 형태로 기록하는 인스턴스와 관련된 식별 번호일 수 있다. 이 예에서, 식별 번호는 로그파일이 다른 주어진 데이터세트에 의해 확장될 때마다 증가될 수 있다.
[0068] 각 주어진 데이터세트의 입력 데이터세트는, 각 주어진 데이터세트의 생성의 인스턴스와 관련될 수 있고 바람직하게는 각 주어진 데이터세트의 출력 데이터세트들의 생성의 인스턴스와 관련될 수 있는, 제1 추가 값들을 포함할 수 있다. 이 입력 데이터세트의 제1 추가 값들은 각 주어진 데이터세트의 출력 데이터세트의 값들, 바람직하게는 성능 지표의 값에 영향을 주는 환경의 상태에 관한 정보를 포함할 수 있다. 다른 실시예에서, 식별 파라미터의 값은, 각 주어진 데이터세트의 생성의 인스턴스와 관련될 수 있고 바람직하게는 각 주어진 데이터세트의 출력 데이터세트들의 생성의 인스턴스와 관련될 수 있는, 제1 추가 값들을 사용하여 계산될 수 있다. 식별 파라미터의 값은 제1 추가 값들의 조합을 식별 파라미터의 값에 전단사적으로 매핑할 수 있는 제1 함수에 의해 계산될 수 있다.
[0069] 성능 지표의 값은 통신의 성능과 관련될 수 있다. 예를 들어, 통신이 성공적이면, 성능 지표의 값은 1과 대안적으로 0과 같을 수 있다. 통신은 각 주어진 데이터세트의 제2 추가 값들과 관련될 수 있다. 제2 추가 값들은 예를 들어 통신과 같은 동작을 명시할 수 있다. 통신은, 예를 들어, 각 주어진 데이터세트의 입력 데이터세트가 어느 목적지로 전송됐는지, 각 주어진 데이터세트의 입력 데이터세트가 어떤 종류의 정보를 포함하는지, 및/또는 각 주어진 데이터세트의 입력 데이터세트의 전송이 어떤 종류의 동작들을 유발했을 수 있는지에 대해 표시함으로써, 명시될 수 있다. 제2 추가 값들은 각 주어진 데이터세트의 입력 및/또는 출력 데이터세트에 포함될 수 있다.
[0070] 도 1은 (도 2에 도시된) 인공 지능 모듈(AI 모듈)을 업데이트하기 위해 (도 3에 도시된) 주어진 데이터세트들(14)에서 데이터세트를 선택하기 위한 제1 컴퓨터 시스템(100)을 도시한다. 제1 컴퓨터 시스템(100)은 본 발명의 다양한 실시예들에 따른 방법의 단계들을 수행하는 데 적합할 수 있다. 제1 컴퓨터 시스템(100)은 제1 프로세서(102), 제1 메모리(103), 제1 I/O 회로(104), 제1 네트워크 인터페이스(105) 및 이들을 함께 결합하는 제1 버스(106)를 포함할 수 있다.
[0071] 제1 프로세서(102)는 하나 이상의 프로세서(예를 들어, 마이크로프로세서)를 나타낼 수 있다. 제1 메모리(103)는 휘발성 메모리 요소들(예를 들어, 랜덤 액세스 메모리(RAM, 예컨대 DRAM, SRAM, SDRAM 등)) 및 비휘발성 메모리 요소들(예를 들어, ROM, 소거 및 프로그램 가능 읽기 전용 메모리(EPROM), 전자적 소거 및 프로그램 가능 읽기 전용 메모리(EEPROM), 및 프로그램 가능 읽기 전용 메모리(PROM)) 중 어느 하나 또는 조합을 포함할 수 있다. 제1 메모리(103)는 다양한 컴포넌트가 서로 멀리 떨어져 위치하지만 제1 프로세서(102)에 의해 액세스될 수 있는 분산 아키텍처를 가질 수 있다는 점에 유의한다.
[0072] 제1 메모리(103)는 제1 영구 스토리지 디바이스(107)와 결합하여 로컬 데이터 및 명령 저장을 위해 사용될 수 있다. 제1 스토리지 디바이스(107)는 하나 이상의 영구 스토리지 디바이스 및 제1 I/O 회로(104)에 의해 제어되는 매체를 포함한다. 제1 스토리지 디바이스(107)는 디지털 데이터 저장을 위해, 예를 들어 고정식 또는 탈착 가능 매체를 가진, 자기, 광학, 자기 광학, 또는 고체 상태 장치를 포함할 수 있다. 샘플 디바이스에는 하드 디스크 드라이브, 광학 디스크 드라이브 및 플로피 디스크 드라이브가 포함된다. 샘플 매체에는 하드 디스크 플래터, CD-ROM, DVD-ROM, BD-ROM, 플로피 디스크 등이 포함된다.
[0073] 제1 메모리(103)는 하나 이상의 개별 프로그램을 포함할 수 있고, 이들 각각은 논리 함수, 특히 예들과 관련된 함수들을 구현하기 위한 실행 가능한 명령들을 포함한다. 제1 메모리(103)의 소프트웨어는 또한 일반적으로 제1 적절한 운영 체제(OS)(108)를 포함할 수 있다. 제1 OS(108)는 본질적으로 본원에 설명된 방법들의 적어도 일부를 구현하기 위한 다른 컴퓨터 프로그램의 실행을 제어한다.
[0074] 제1 컴퓨터 시스템(100)은 주어진 데이터세트들(14)의 상이한 클러스터들을 정의하기 위한 파라미터들의 값들을 획득하도록 구성될 수 있으며, 이하에서 제1 함수들로 지칭된다. 제1 함수들은 상이한 클러스터들의 중심들의 좌표들을 나타낼 수 있는 제1 값들 및 클러스터들의 각각에 대한 각 주어진 데이터세트의 멤버십 레벨을 나타낼 수 있는 제2 값들을 로딩하는 단계를 포함할 수 있다. 제1 함수들은 주어진 데이터세트들(14), 훈련 데이터세트들 및/또는 테스트 데이터세트를 사용하여 퍼지-C-평균 클러스터링 알고리즘 등의 클러스터링 알고리즘을 수행하는 단계를 포함할 수 있다.
[0075] 또한, 제1 컴퓨터 시스템(100)은 각 주어진 데이터세트의 메트릭을 결정하도록 구성될 수 있으며, 각 주어진 데이터세트의 메트릭은 클러스터들 중 하나에 대한 각 주어진 데이터세트의 각 멤버십 레벨과 각 주어진 데이터세트에서 클러스터들 중 동일한 하나의 중심까지의 거리에 의존하며, 이하에서 제2 함수들로 지칭된다.
[0076] 또한, 제1 컴퓨터 시스템(100)은 주어진 데이터세트들(14)의 메트릭들의 비교를 기반으로 (도 2에 도시된) AI 모듈(1)을 업데이트하기 위해 주어진 데이터세트들(14)로부터 주어진 데이터세트들(14) 중 적어도 하나를 선택하는 것과 같은 함수들을 위해 구성될 수 있으며, 이하에서 제3 함수들로 지칭된다.
[0077] 또한, 제1 컴퓨터 시스템(100)은 각 클러스터의 메트릭을 결정하고―각 클러스터의 메트릭은 각 클러스터의 중심에서 클러스터들의 다른 중심들까지의 거리에 의존함―, 클러스터의 메트릭들을 기반으로 클러스터들로부터 클러스터들 중 적어도 하나를 선택하도록 구성될 수 있으며, 이하에서 제4 함수들로 지칭된다. 각 주어진 데이터세트의 메트릭은 상기 설명한 방법들 중 하나에 따라 계산될 수 있다.
[0078] 또한, 제1 컴퓨터 시스템(100)은 제2, 제3, 제4, 제5 및 제6 실시예에 따라 클러스터들을 정의하기 위한 파라미터들의 값들을 생성하도록 구성될 수 있으며, 이하에서 각각 제5, 제6, 제7, 제8 및 제9 함수들로 지칭된다.
[0079] 또한, 제1 컴퓨터 시스템(100)은 제7, 제8, 제9, 제10, 제11, 제12 및 제13 실시예에 따라 각 클러스터의 메트릭을 결정하도록 구성될 수 있으며, 이하에서 각각 제10, 제11, 제12, 제13, 제14, 제15 및 제16 함수들로 지칭된다.
[0080] 제1 컴퓨터 시스템(100)은 제1 프로그램(201), 제2 프로그램(202), 제3 프로그램(203), 제4 프로그램(204), 제5 프로그램(205), 제6 프로그램(206), 제7 프로그램(207), 제8 프로그램(208), 제9 프로그램(209), 제10 프로그램(210), 제11 프로그램(211), 제12 프로그램(212), 제13 프로그램(213), 제14 프로그램(214), 제15 프로그램(215) 및 제16 프로그램(216)을 수행하여 각각 제1, 제2, 제3, 제4, 제5, 제6, 제7, 제8, 제9, 제10, 제11, 제12, 제13, 제14, 제15 및 제16 함수들을 수행할 수 있다. 제1 프로세서(102)는 주 프로그램(200)을 실행할 수 있다. 주 프로그램(200)은 클러스터들을 정의하기 위한 파라미터들의 값들 및 각 클러스터의 메트릭이 결정되는 특정 실시예에 따라 제1 프로세서(102) 상에서 프로그램들(201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215 및 216)의 실행을 개시할 수 있다.
[0081] 본원에서 사용되는 용어 “프로그램”은 명령들의 세트(set of instructions)를 지칭하며, 이는 프로세서(102)가 커맨드(command)들을 읽을 수 있을 때 프로세서(102)에 의해 수행되는 동작들을 유발하는 커맨드들을 포함한다. 명령들의 세트는 컴퓨터 판독 가능 프로그램, 루틴, 서브루틴 또는 라이브러리의 일부의 형태일 수 있으며, 이들은 프로세서(102)에 의해 실행될 수 있고/거나 프로세서(102)에 의해 실행되는 추가 프로그램에 의해 호출될 수 있다. 바람직하게는, 프로그램들(200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216)은 컴퓨터 시스템(100)의 하드웨어 플랫폼의 유형에 따라 컴파일된 실행 가능한 프로그램들일 수 있다. 제1 메모리(103)는 프로그램들(200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216)을 저장하기 위한 공간을 포함할 수 있고, 이 공간은 이하에서 제1 함수 메모리(115)라 지칭된다.
[0082] 도 1은 제2 컴퓨터 시스템(120)을 도시한다. 제2 컴퓨터 시스템(120)은 (도 2에 도시된) AI 모듈(1)을 실행하는 데 적합할 수 있다.
[0083] 제2 컴퓨터 시스템(120)은 제2 프로세서(122), 제2 메모리(123), 제2 I/O 회로(124), 제2 네트워크 인터페이스로 설계될 수 있는 네트워크 인터페이스(2), 및 이들을 함께 결합하는 제2 버스(126)를 포함할 수 있다.
[0084] 제2 프로세서(122)는 하나 이상의 프로세서(예를 들어, 마이크로프로세서)를 나타낼 수 있다. 제2 메모리(123)는 휘발성 메모리 요소들(예를 들어, 랜덤 액세스 메모리(RAM, 예컨대 DRAM, SRAM, SDRAM 등)) 및 비휘발성 메모리 요소들(예를 들어, ROM, 소거 및 프로그램 가능 읽기 전용 메모리(EPROM), 전자적 소거 및 프로그램 가능 읽기 전용 메모리(EEPROM), 및 프로그램 가능 읽기 전용 메모리(PROM)) 중 어느 하나 또는 조합을 포함할 수 있다. 제2 메모리(123)는 다양한 컴포넌트가 서로 멀리 떨어져 위치하지만 제2 프로세서(122)에 의해 액세스될 수 있는 분산 아키텍처를 가질 수 있다는 점에 유의한다.
[0085] 제2 메모리(123)는 제2 영구 스토리지 디바이스(127)와 결합하여 로컬 데이터 및 명령 저장을 위해 사용될 수 있다. 제2 스토리지 디바이스(127)는 하나 이상의 영구 스토리지 디바이스 및 제2 I/O 회로(124)에 의해 제어되는 매체를 포함한다. 제2 스토리지 디바이스(127)는 디지털 데이터 저장을 위해, 예를 들어 고정식 또는 탈착 가능 매체를 가진, 자기, 광학, 자기 광학, 또는 고체 상태 장치를 포함할 수 있다. 샘플 디바이스에는 하드 디스크 드라이브, 광학 디스크 드라이브 및 플로피 디스크 드라이브가 포함된다. 샘플 매체에는 하드 디스크 플래터, CD-ROM, DVD-ROM, BD-ROM, 플로피 디스크 등이 포함된다.
[0086] 제2 메모리(123)는 하나 이상의 개별 프로그램을 포함할 수 있고, 이들 각각은 논리 함수, 특히 예들과 관련된 함수들을 구현하기 위한 실행 가능한 명령들을 포함한다. 제2 메모리(123)의 소프트웨어는 또한 일반적으로 제2 적절한 운영 체제(OS)(128)를 포함할 수 있다. 제2 OS(128)는 본질적으로 본원에 설명된 방법들의 적어도 일부를 구현하기 위한 다른 컴퓨터 프로그램의 실행을 제어한다.
[0087] 제2 컴퓨터 시스템(120)은 제2 컴퓨터 시스템(120) 상에서 (도 2에 도시된) AI 모듈(1)을 실행하도록 구성될 수 있으며, 이하에서 제17 함수들로 지칭된다. 제17 함수들은 제2 스토리지 디바이스(127)로부터 신경망, 합성곱 신경망, 및/또는 방사형 기저 함수망의 모델 함수들의 구조 및 파라미터들의 값들을 제2 메모리(123)에 로딩하는 단계 및 해당 요청 입력 데이터세트를 기반으로 응답 출력 데이터세트를 계산하는 단계를 포함할 수 있다. 응답 출력 데이터세트가 계산될 수 있는 기반의 요청 입력 데이터세트는 이 응답 출력 데이터세트에 해당할 수 있으며 그 반대의 경우도 마찬가지다.
[0088] 도 2에 도시된 바와 같이, AI 모듈(1)은 응답 출력 데이터세트와 유사하게 응답 출력 데이터세트들(10)의 세트를 계산할 수 있으며, 여기서 응답 출력 데이터세트들의 각각은 요청 입력 데이터세트들(9)의 세트의 단일 해당 요청 입력 데이터세트를 기반으로 계산될 수 있다.
[0089] 또한, 제2 컴퓨터 시스템(120)은 인터페이스(2)를 통해 요청 입력 데이터세트들(9)를 수신하고―이하에서 제18 함수로 지칭됨―, 인터페이스(2)를 통해 응답 출력 데이터세트들(10)을 전송하도록―이하에서 제19 함수로 지칭됨―구성될 수 있다.
[0090] 제2 컴퓨터 시스템(120)은 제17 프로그램(217), 제18 프로그램(218) 및 제19 프로그램(219)을 실행하여 각각 제17, 제18 및 제19 함수를 수행할 수 있다. 프로그램들(217, 218, 219)의 실행은 제2 프로세서(122) 상에서 제2 주 프로그램(220)을 실행하여 개시될 수 있다. 제2 메모리(123)는 프로그램들(220, 217, 218, 219)을 저장하기 위한 공간을 포함할 수 있고, 이 공간은 이하에서 제2 함수 메모리(135)라 지칭된다.
[0091] (도 2에 도시된) AI 모듈(1)은 제2 프로세서(122) 상에서 제2 프로세서(122)의 캐시에 로드되는 신경망, 합성곱 신경망 및/또는 방사형 기저 함수망을 실행하기 위한 프로그램(217) 및 모델 함수들의 파라미터들의 구조 및 값들을 포함하는 엔티티로 간주될 수 있다.
[0092] (도 3에 도시된) 주어진 데이터세트들(14)의 각 주어진 데이터세트는 (도 2에 도시된) 응답 출력 데이터세트들(10)의 응답 출력 데이터세트를 (도 2에 도시된) 요청 입력 데이터세트들(9)의 해당 요청 입력 데이터세트와 연결하여 생성될 수 있다. 바람직하게는, 주어진 데이터세트들(14) 각각은 입력 및 출력 데이터세트로 나뉠 수 있다. 요청 입력 데이터세트들(9)의 각 요청 입력 데이터세트는 주어진 데이터세트들(14)의 (도 3에 도시된) 입력 데이터세트들(11)의 입력 데이터세트와 같은 값들을 포함할 수 있고 응답 출력 데이터세트들(10)의 각 응답 출력 데이터세트는 주어진 데이터세트들(14)의 (도 3에 도시된) 출력 데이터세트들(12)의 출력 데이터세트와 같을 수 있다. 따라서, 이 예에서, 요청 입력 데이터세트(9)와 응답 출력 데이터세트들(10)로부터 주어진 데이터세트들(14)을 생성할 때 요청 입력 데이터세트들(9)은 주어진 데이터세트들(14)의 입력 데이터세트들(11)이 될 수 있고 응답 출력 데이터세트들은 주어진 데이터세트들(14)의 출력 데이터세트들(12)이 될 수 있다.
[0093] 주어진 데이터세트들(14)은 도 3에 도시된 바와 같이 로그파일(13)에 의해 제공될 수 있다. 로그파일(13)은 사용자가 훈련된 AI 모듈(1)을 사용할 때 응답 출력 데이터세트(12)와 해당 요청 입력 데이터세트들(11)을 저장하여 생성될 수 있다. 바람직하게는, AI 모듈(1)이 새로운 응답 출력 데이터세트를 계산할 때마다, 로그파일(13)은 다른 주어진 데이터세트에 의해 확장될 수 있다. 한 예에서, 로그파일(13)은 제2 컴퓨터 시스템(120)에 의해 생성되고 제2 메모리(123)에 저장될 수 있다. 다른 예에서, 로그파일(13)은 제1 컴퓨터 시스템(100)에 의해 생성될 수 있고, 바람직하게는 요청 입력 데이터세트들(11) 및 응답 출력 데이터세트들(12)에서 개별적으로 읽어서 생성될 수 있다.
[0094] 한 예에서, AI 모듈(1)은 제1 프로세서(102) 상에서 실행될 수 있다. 그러나, 본 발명의의 실시예들은 AI 모듈(1)에 액세스하지 않고 수행될 수 있다. 이 상황은 더 자주 발생할 수 있으므로, 이 예는 도 1 및 2에 설명되어 있다. 주어진 데이터세트들(14)만이 본 발명의 실시예들을 수행하는 데 필요할 수 있다. 바람직하게는, 주어진 데이터세트들은 로그파일(13)을 로드하여 제1 메모리(103)에 로드될 수 있다. 이를 실현하기 위해, 제1 네트워크 인터페이스(105)는 월드 와이드 웹(130) 또는 다른 네트워크를 통해 인터페이스(2)와 통신 가능하게 결합될 수 있다.
[0095] 한 예에서, 입력 데이터세트들(11)은 각각 a1, ai, an에 의해 도 3에 도시된 바와 같이 제1 값, 및 b1, bi, bn에 의해 도3에 도시된 바와 같이 제2 값을 포함할 수 있고, 출력 데이터세트들(12)은 각각 c1, ci, cn에 의해 도 3에 도시된 바와 같이 제1 값을 포함할 수 있다.
[0096] 주어진 데이터세트들(14)은 각각 각 데이터 포인트의 좌표들이 각 주어진 데이터세트의 값들과 같은 (도 4에 도시된) 좌표계(40)에서 데이터 포인트로 표시될 수 있다. 도 4는 주어진 데이터세트들(14)이 표현될 수 있는 일부 예시적인 데이터 포인트들(41)을 도시한다. 이 경우, 좌표계(40)는 주어진 데이터세트들(14)의 입력 파라미터 공간 및 출력 파라미터 공간을 포함하는 연결 파라미터 공간을 나타낼 수 있다. 주어진 데이터세트들(14)의 입력 파라미터 공간은 x축(42) 및 y축(43)에 걸쳐 있을 수 있고 입력 데이터세트들(11)의 제1 값들 a1, ai, an 및 제2 값들 b1, bi, bn을 포함할 수 있다. 주어진 데이터세트들(14)의 출력 파라미터 공간은 z축(44)에 걸쳐 있을 수 있고 출력 데이터세트들(12)의 제1 값들 c1, ci, cn을 포함할 수 있다.
[0097] AI 모듈(1)은 본 방법을 수행하기 위해 훈련된 상태일 수 있다. AI 모듈(1)의 훈련되지 않은 상태에서 모델 함수들의 파라미터들의 값들은 랜덤 값들과 같을 수 있다. 이는 AI 모듈(1)의 초기화에 의해 달성될 수 있으며, 여기서 모델 함수들의 파라미터들의 값들이 랜덤 값들로 설정될 수 있다. AI 모듈(1)의 훈련은 (도 4에 도시된) 훈련 데이터세트들(46)을 기반으로 수행될 수 있으며, 각 훈련 데이터세트(46)는 입력 데이터세트 및 출력 데이터세트를 포함한다.
[0098] 훈련 데이터세트들(46)의 입력 및 출력 데이터세트는 요소들을 가질 수 있다. 이 요소들은 값들일 수 있고, 바람직하게는 실제 값들일 수 있다. 훈련 데이터세트들(46)의 입력 데이터세트들은 주어진 데이터세트들(14)의 입력 데이터세트들(11)과 동일한 구조를 가질 수 있다. 유사하게, 훈련 데이터세트들(46)의 축력 데이터세트들은 주어진 데이터세트들(14)의 출력 데이터세트들(12)과 동일한 구조를 가질 수 있다. 훈련 데이터세트들(46)은 분류 문제에 관한 정보를 나타낼 수 있으며, 이를 위해 AI 모듈(1)이 사용될 수 있는데, 단 AI 모듈이 훈련 데이터세트들(46)로 훈련되어야 한다. 제1 사용 사례와 관련하여, 각 입력 데이터세트들(11)의 제1 값들 a1, ai, an 및 제2 값들 b1, bi, bn은 각각 각 입력 데이터세트(11)를 여러 상이한 클래스들 중 하나로 그룹화하기 위한 특징의 값일 수 있다. 각각의 상이한 클래스의 유형은 각 출력 데이터세트들(12)의 제1 값들 c1, ci, cn에 의해 주어질 수 있다. 훈련 데이터세트들(46)의 각 입력 및 출력 데이터세트의 값들은 주어진 데이터세트들(14)과 동일한 구조를 가질 수 있고 실험에 의해 획득될 수 있으며, 바람직하게는 지도형(supervised) 실험에 의해 획득될 수 있다.
[0099] AI 모듈(1)의 훈련은 모델 함수들의 파라미터들의 값들이 AI 모듈(1)의 훈련 오류를 줄이도록 적응될 수 있게 훈련될 수 있다. 훈련 오류는 선형 회귀, 역전파, K-평균 등의 하나 이상의 학습 알고리즘을 사용하여 위에서 설명한 바와 같이 줄일 수 있다.
[0100] 도 5는 AI 모듈(1)을 업데이트하기 위해 주어진 데이터세트들(14)로부터 데이터세트를 선택하기 위한 컴퓨터 구현 방법의 흐름도를 도시하며, (도 3에 도시된) 각 주어진 데이터세트(14i)는 (도 3에 도시된) 입력 데이터세트(11i) 및 (도 3에 도시된) 대응하는 출력 데이터세트(12i)를 포함한다.
[0101] 단계 301에서, 주어진 데이터세트들(14)의 상이한 클러스터들(45)을 정의하기 위한 파라미터들의 값들이 획득될 수 있다. 이것은 제1 프로세서(102) 상에서 제1 프로그램(201)을 실행하여 실현될 수 있다. 제1 프로그램(201)을 실행하면, 퍼지-C-평균 클러스터링 알고리즘이 훈련 데이터세트들(46)을 기반으로 수행될 수 있다. 이것은 클러스터들(45)의 (도 4에 도시된) 중심들(47)과 클러스터들(45)의 각 클러스터에 대한 주어진 데이터세트들의 각 주어진 데이터세트(14i)의 멤버십 레벨을 결정하는 것을 포함할 수 있다.
[0102] 단계 302에서, 각 주어진 데이터세트(14i)의 메트릭이 결정될 수 있다. 각 주어진 데이터세트의 메트릭은 클러스터들 중 하나에 대한 각 주어진 데이터세트(14i)의 멤버십 레벨 및 각 주어진 데이터세트(14i)에서 클러스터들 중 동일한 하나의 중심까지의 거리에 의존할 수 있다.
[0103] 303 단계에서, 주어진 데이터세트들(14)의 메트릭들의 비교를 기반으로 AI 모듈(1)을 업데이트하기 위해 주어진 데이터세트들(14)로부터 주어진 데이터세트들(14) 중 적어도 하나가 선택될 수 있다.
[0104] 제1 예에서, 클러스터들(45)의 각 클러스터의 메트릭이 결정될 수 있다. 클러스터들(45)의 각 클러스터의 메트릭은 클러스터들(45)의 각 클러스터의 중심에서 클러스터들(45)의 다른 중심들까지의 거리에 의존할 수 있다. 또한, 클러스터들(45) 중 하나가 클러스터들(45)의 메트릭들을 기반으로 클러스터들(45)로부터 선택될 수 있다. 이 제1 예에 따르면, 각 주어진 데이터세트(14i)의 메트릭은 각 주어진 데이터세트(14i)의 메트릭이 선택된 클러스터에 대한 각 주어진 데이터세트(14i)의 멤버십 레벨과 각 주어진 데이터세트(14i)에서 선택된 클러스터의 중심까지의 거리에 의존할 수 있도록 결정될 수 있다. 각 주어진 데이터세트(14i)에서 선택된 클러스터의 중심까지의 거리는 각 주어진 데이터세트(14i)를 나타낼 수 있는 각 데이터 포인트에서 선택된 클러스터의 중심까지의 거리와 같을 수 있다.
[0105] 각 주어진 데이터세트(14i)의 메트릭
Figure pct00001
Figure pct00002
에 따라 계산될 수 있으며, 여기서
Figure pct00003
는 각 주어진 데이터세트(14i)에서 선택된 클러스터의 중심까지의 거리일 수 있고,
Figure pct00004
는 주어진 데이터세트들(14)에서 선택된 클러스터의 중심까지의 최대 거리일 수 있으며,
Figure pct00005
은 선택된 클러스터에 대한 각 주어진 데이터세트(14i)의 멤버십의 값일 수 있다.
[0106] 제1 예의 제1 변형에 따르면, 이하에서 클러스터(45i)로 지칭되는 클러스터(45)의 각 클러스터의 메트릭
Figure pct00006
Figure pct00007
에 따라 결정될 수 있으며, 여기서
Figure pct00008
은 훈련 데이터세트들(46)에서 각 클러스터(45i)의 중심까지의 평균 거리 또는 훈련 데이터세트들(46) 및 라벨링된 데이터세트들에서 각 클러스터(45i)의 중심까지의 평균 거리일 수 있다. 라벨링된 데이터세트들 각각은 주어진 데이터세트들(14)의 승인된 또는 보정된 데이터세트일 수 있다. 주어진 데이터세트들 중 라벨링될 하나(14i)의 승인 또는 보정, 즉 라벨링은 위에서 언급한 바와 같이 전문가에 의해 수동으로 또는 자동으로 수행될 수 있다.
[0107] 또한,
Figure pct00009
은 각 클러스터(45i)에 대한 훈련 데이터세트들(46)의 멤버십의 평균값 또는 각 클러스터(45i)에 대한 훈련 데이터세트들(46)과 라벨링된 데이터세트들의 멤버십의 평균값일 수 있다. 또한, 여기서
Figure pct00010
은 훈련 데이터세트들(46)에서 클러스터들(45)의 중심들까지의 최대 거리 또는 훈련 데이터세트들(46) 및 라벨링된 데이터세트들에서 클러스터들(45)의 중심들까지의 최대 거리일 수 있다. 또한,
Figure pct00011
은 각 클러스터(45i)의 중심에서 다른 클러스터들(45)까지의 평균 거리를 클러스터들(45)의 중심들의 최대 거리로 나눈 것일 수 있다. 또한, R은 각 클러스터(45i)가 포함한 훈련 데이터세트들(46) 및 라벨링된 데이터세트들의 제1 합과 모든 훈련 데이터세트들(46) 및 모든 라벨링된 데이터세트들의 제2 합의 비(ratio)일 수 있다.
[0108] 제1 예의 제2 변형에 따라 클러스터들(45)의 각 클러스터의 메트릭
Figure pct00012
를 결정하는 것은 상기 언급한 제10, 제11, 제12 및 제13 실시예를 결합하고 이 실시예들과 관련하여 기술된 이점들을 만들어낼 수 있다. 프로그램들(213, 214, 215 및 216)은 제1 프로세서(102) 상에서 실행되어 클러스터들(45)의 각 클러스터의 메트릭
Figure pct00013
를 결정할 수 있고 주 프로그램(200)에 의해 호출될 수 있다.
[0109] 제1 예의 제1 변형에 따르면, 선택된 클러스터는 메트릭
Figure pct00014
중 가장 낮은 값을 포함하는 것일 수 있다. 클러스터들(45)의 중심들 및 클러스터들(45)의 각 클러스터에 대한 각 주어진 데이터세트(14i)의 멤버십의 값들을 획득하기 위한 클러스터링은 훈련 데이터세트들(46), 상기 언급한 테스트 데이터세트들, 주어진 데이터세트들(14) 및/또는 라벨링된 데이터세트들에 기초하여 수행될 수 있다. 이 경우에, 훈련 데이터세트들(46), 상기 언급한 테스트 데이터세트들, 주어진 데이터세트들(14) 및/또는 라벨링된 데이터세트들은 데이터세트들의 한 세트를 구축할 수 있고 이에 대해 클러스터링이 수행될 수 있다.
[0110] 제1 예의 제2 변형에 따르면, 클러스터들(45)의 각 클러스터의 메트릭
Figure pct00015
Figure pct00016
에 따라 결정될 수 있고, 여기서
Figure pct00017
는 주어진 데이터세트들(14)에서 각 클러스터(45i)의 중심까지의 평균 거리일 수 있다. 또한,
Figure pct00018
는 각 클러스터(45i)에 대한 주어진 데이터세트들(14)의 멤버십의 평균값일 수 있다. 또한,
Figure pct00019
는 주어진 데이터세트들(14)에서 클러스터들(45)의 중심들까지의 최대 거리일 수 있다. 또한,
Figure pct00020
은 각 클러스터(45i)의 중심에서 다른 클러스터들(45)까지의 평균 거리를 클러스터들(45)의 중심들의 최대 거리로 나눈 것일 수 있다.
[0111] 제1 예의 제1 변형에 따라 클러스터들(45)의 각 클러스터의 메트릭
Figure pct00021
를 결정하는 것은 상기 언급한 제7, 제8, 및 제9 실시예를 결합하고 이 실시예들과 관련하여 기술된 이점들을 만들어낼 수 있다. 프로그램들(210, 211 및 212)은 제1 프로세서(102) 상에서 실행되어 클러스터들(45)의 각 클러스터의 메트릭
Figure pct00022
를 결정할 수 있고 주 프로그램(200)에 의해 호출될 수 있다.
[0112] 제1 예의 제2 변형에 따르면, 선택된 클러스터는 메트릭
Figure pct00023
중 가장 낮은 값을 포함하는 것일 수 있다. 클러스터들(45)의 중심들 및 클러스터들(45)의 각 클러스터에 대한 각 주어진 데이터세트(14i)의 멤버십의 값들을 획득하기 위한 클러스터링은 훈련 데이터세트들(46) 및/또는 라벨링된 데이터세트들에 기초하여 수행될 수 있다. 이 경우에, 훈련 데이터세트들(46) 및/또는 라벨링된 데이터세트들은 데이터세트들의 한 세트를 구축할 수 있고 이에 대해 클러스터링이 수행될 수 있다.
[0113] 이하에서 각 주어진 데이터세트(14i)의 메트릭들
Figure pct00024
의 비교를 기반으로 주어진 데이터세트들(14)로부터 하나 초과의 데이터세트가 선택될 수 있는 방법을 설명한다. 이 경우에, 선택된 클러스터는 제1 예의 제1 또는 제2 변형에 따라 결정될 수 있다. 메트릭들
Figure pct00025
의 최소값
Figure pct00026
및 메트릭들
Figure pct00027
의 최대값
Figure pct00028
는 주어진 데이터세트들(14i)의 메트릭들
Figure pct00029
의 비교에 의해 결정될 수 있다. 최대값
Figure pct00030
와 최소값
Figure pct00031
를 경계들로 포함하는 범위는
Figure pct00032
개의 균등한 하위 범위들로 나뉠 수 있고, 각 하위 범위는 최소 및 최대 경계를 포함한다. 주어진 데이터세트들(14i)은 자신의 메트릭
Figure pct00033
Figure pct00034
개의 하위 범위의 최소 및 최대 경계 값들에 따라
Figure pct00035
개의 상이한 그룹으로 그룹화될 수 있다.
Figure pct00036
개의 상이한 그룹의 각각으로부터, 주어진 수
Figure pct00037
개의 주어진 데이터세트들이 선택될 수 있다. 상이한 그룹들의 각각으로부터 주어진 수
Figure pct00038
개의 데이터세트들을 선택하는 것은 선택된 클러스터와 관련하여 주어진 데이터세트들(14)로부터 선택된 데이터세트들의 동질 그룹(homogenous group)을 만들어내는 이점을 가질 수 있다.
[0114] 다른 예에 따르면, 모든 주어진 데이터세트들(14i) 중 가장 낮은 메트릭
Figure pct00039
를 포함하는 데이터세트가 선택될 수 있거나 모든 주어진 데이터세트들(14i) 중 가장 낮은 메트릭
Figure pct00040
를 포함하는 주어진 수
Figure pct00041
개의 데이터세트가 선택될 수 있다. 추가 예에서, 모든 주어진 데이터세트들(14i) 중 가장 높은 메트릭
Figure pct00042
를 포함하는 데이터세트가 선택될 수 있거나 모든 주어진 데이터세트들(14i) 중 가장 높은 메트릭
Figure pct00043
를 포함하는 주어진 수
Figure pct00044
개의 데이터세트가 선택될 수 있다.
[0115] 데이터세트 또는 데이터세트들이 선택되는 방법과 무관하게, 선택된 데이터세트 또는 데이터세트들은 위에서 언급된 라벨링된 데이터세트 또는 라벨링된 데이터세트들을 생성하기 위해 수동으로 또는 자동으로 라벨링될 수 있다. 라벨링된 데이터세트 또는 데이터세트들을 기반으로, 클러스터링이 새로운 주어진 데이터세트들을 가진 로그파일(13)의 확장에 응답하여 상기 기술된 바와 같이 수행될 수 있다. 새로운 주어진 데이터세트들이 어떻게 생성될 수 있는지는 위에 기술되어 있다.
[0116] 데이터세트 또는 데이터세트들을 선택하고 데이터세트 및 데이터세트들을 라벨링하는 기술된 프로세스가 AI 모듈(1)이 사용 중일 때 반복적으로 각각 수행되어, 새로운 주어진 데이터세트들을 반복적으로 생성하고 그에 의해 로그파일(13)을 확장하고 그에 의해 주어진 데이터세트들(14)의 수를 증가시킬 수 있다. 라벨링된 데이터세트들이 AI 모듈(1)을 업데이트하는 데 사용될 수 있다. 업데이트는 상기 기술된 AI 모듈(1)의 훈련과 유사하게 재훈련하는 형태로, 하지만 적어도 라벨링된 데이터세트들을 기반으로 수행될 수 있다. 상기 재훈련은 또한 훈련 데이터세트들 및 라벨링된 데이터세트들을 기반으로 수행될 수 있다.
[0117] 본 발명은 통합의 모든 가능한 기술적 세부 수준에서 시스템, 방법, 및/또는 컴퓨터 프로그램 제품이 될 수 있다. 컴퓨터 프로그램 제품은 컴퓨터 판독 가능 스토리지 매체를 포함할 수 있으며, 이 매체 상에 프로세서가 본 발명의 실시예들을 수행하도록 하는 컴퓨터 판독 가능 프로그램 명령들을 갖는다. 상기 컴퓨터 판독 가능 스토리지 매체는 명령 실행 디바이스에 의해 사용될 명령들을 유지 및 저장할 수 있는 유형의(tangible) 디바이스일 수 있다.
[0118] 상기 컴퓨터 판독 가능 스토리지 매체는, 예를 들면, 전자 스토리지 디바이스, 자기 스토리지 디바이스, 광 스토리지 디바이스, 전자기 스토리지 디바이스, 반도체 스토리지 디바이스, 또는 전술한 것들의 모든 적절한 조합일 수 있으며, 그러나 이에 한정되지는 않는다. 컴퓨터 판독 가능 스토리지 매체의 더 구체적인 예들의 비포괄적인 목록에는 다음이 포함된다: 휴대용 컴퓨터 디스켓, 하드 디스크, 랜덤 액세스 메모리(RAM), 읽기 전용 메모리(ROM), 소거 및 프로그램가능 읽기 전용 메모리(EPROM 또는 플래시 메모리), 정적 랜덤 액세스 메모리(SRAM), 휴대용 컴팩트 디스크 읽기 전용 메모리(CD-ROM), 디지털 다용도 디스크(DVD), 메모리 스틱, 플로피 디스크, 천공-카드들 또는 명령들이 기록된 홈에 있는 융기된 구조들 같이 머신적으로 인코드된 디바이스, 및 전술한 것들의 모든 적절한 조합. 본원에서 사용되는 컴퓨터 판독 가능 스토리지 매체는 무선 전파들이나 다른 자유롭게 전파되는 전자기파들, 도파관이나 기타 전송 매체를 통해 전파되는 전자기파들(예를 들어, 광섬유 케이블을 통해 전달되는 광 펄스들), 또는 선(wire)을 통해 전송되는 전기 신호들 같이 그 자체로 일시적인(transitory) 신호들로 해석되지는 않는다.
[0119] 본원에 기술되는 컴퓨터 판독 가능 프로그램 명령들은, 예를 들어, 인터넷, 근거리 통신망, 광역 통신망 및/또는 무선 네트워크 등의 통신망(네트워크)을 통해 컴퓨터 판독 가능 스토리지 매체로부터 각각 컴퓨팅/처리 디바이스들로 또는 외부 컴퓨터 또는 외부 스토리지 디바이스로 다운로드될 수 있다. 상기 통신망은 구리 전송 케이블들, 광 전송 섬유들, 무선 전송, 라우터들, 방화벽들, 스위치들, 게이트웨이 컴퓨터들 및/또는 엣지 서버들을 포함할 수 있다. 각 컴퓨팅/처리 디바이스 내 네트워크 어댑터 카드 또는 네트워크 인터페이스는 상기 통신망으로부터 컴퓨터 판독 가능 프로그램 명령들을 수신하고 그 컴퓨터 판독 가능 프로그램 명령들을 각각의 컴퓨팅/처리 디바이스 내의 컴퓨터 판독 가능 스토리지 매체에 저장하기 위해 전송한다.
[0120] 본 발명의 동작들을 실행하기 위한 컴퓨터 판독 가능 프로그램 명령들은 Smalltalk, C++ 또는 그와 유사 언어 등의 객체 지향 프로그래밍 언어와 “C” 프로그래밍 언어 또는 그와 유사한 언어 등의 종래의 절차적 프로그래밍 언어들을 포함하여, 하나 이상의 프로그래밍 언어들을 조합하여 작성된(written) 어셈블러 명령들, 명령-세트-아키텍처(ISA) 명령들, 머신 명령들, 머신 종속 명령들, 마이크로코드, 펌웨어 명령들, 상태-셋팅 데이터, 집적회로를 위한 구성 데이터, 또는 소스 코드나 목적 코드일 수 있다. 상기 컴퓨터 판독 가능 프로그램 명령들은 전적으로 사용자의 컴퓨터상에서, 부분적으로 사용자의 컴퓨터상에서, 독립형(stand-alone) 소프트웨어 패키지로서, 부분적으로 사용자의 컴퓨터상에서 그리고 부분적으로 원격 컴퓨터상에서 또는 전적으로 원격 컴퓨터나 서버상에서 실행될 수 있다. 위에서 마지막의 경우에, 원격 컴퓨터는 근거리 통신망(LAN) 또는 광역 통신망(WAN)을 포함한 모든 종류의 네트워크를 통해서 사용자의 컴퓨터에 접속될 수 있고, 또는 이 접속은 (예를 들어, 인터넷 서비스 제공자를 이용한 인터넷을 통해서) 외부 컴퓨터에 이루어질 수도 있다. 일부 실시예들에서, 예를 들어 프로그램 가능 논리 회로, 필드-프로그램 가능 게이트 어레이들(FPGA), 또는 프로그램 가능 논리 어레이들(PLA)을 포함한 전자 회로는 본 발명의 실시예들을 수행하기 위해 전자 회로를 맞춤화하도록 상기 컴퓨터 판독 가능 프로그램 명령들의 상태 정보를 활용하여 상기 컴퓨터 판독 가능 프로그램 명령들을 실행할 수 있다.
[0121] 여기에서는 본 발명의 실시예들에 따른 방법들, 장치들(시스템들), 및 컴퓨터 프로그램 제품들의 흐름 예시도들 및/또는 블록도들을 참조하여 본 발명의 실시예들을 기술한다. 흐름 예시도들 및/또는 블록도들의 각 블록과 흐름 예시도들 및/또는 블록도들 내 블록들의 조합들은 컴퓨터 판독 가능 프로그램 명령들에 의해 구현될 수 있다는 것을 이해할 수 있을 것이다.
[0122] 이들 컴퓨터 판독 가능 프로그램 명령들은 컴퓨터, 또는 기타 프로그램가능 데이터 처리 장치의 프로세서에 제공되어 머신(machine)을 생성하고, 그렇게 하여 그 명령들이 상기 컴퓨터 또는 기타 프로그램가능 데이터 처리 장치의 프로세서를 통해서 실행되어, 상기 흐름도 및/또는 블록도의 블록 또는 블록들에 명시된 기능들/동작들을 구현하기 위한 수단을 생성할 수 있다. 이들 컴퓨터 판독 가능 프로그램 명령들은 또한 컴퓨터 판독 가능 스토리지 매체에 저장될 수 있으며, 컴퓨터, 프로그램가능 데이터 처리 장치 및/또는 기타 디바이스들에 지시하여 명령들이 저장된 상기 컴퓨터 판독 가능 스토리지 매체가 상기 흐름도 및/또는 블록도의 블록 또는 블록들에 명시된 기능/동작의 특징들을 구현하는 명령들을 포함하는 제조품(an article of manufacture)을 포함하도록 특정한 방식으로 기능하게 할 수 있다.
[0123] 상기 컴퓨터 판독 가능 프로그램 명령들은 또한 컴퓨터, 기타 프로그램가능 데이터 처리 장치, 또는 다른 디바이스에 로드 되어, 상기 컴퓨터, 기타 프로그램가능 장치 또는 다른 디바이스에서 일련의 동작 단계들이 수행되게 하여 컴퓨터 구현 프로세스를 생성하며, 그렇게 하여 상기 컴퓨터, 기타 프로그램가능 장치, 또는 다른 디바이스 상에서 실행되는 명령들이 흐름도 및/또는 블록도의 블록 또는 블록들에 명시된 기능들/동작들을 구현할 수 있다.
[0124] 도면들 내 흐름도 및 블록도들은 본 발명의 여러 실시예들에 따른 시스템들, 방법들 및 컴퓨터 프로그램 제품들의 가능한 구현들의 아키텍처, 기능(functionality), 및 동작(operation)을 예시한다. 이와 관련하여, 상기 흐름도 또는 블록도들 내 각 블록은 상기 명시된 논리적 기능(들)을 구현하기 위한 하나 이상의 실행 가능한 명령들을 포함한 모듈, 세그먼트 또는 명령들의 일부분을 나타낼 수 있다. 일부 다른 구현들에서, 상기 블록에 언급되는 기능들은 도면들에 언급된 순서와 다르게 일어날 수도 있다. 예를 들면, 연속으로 도시된 두 개의 블록은 실제로는 동시에, 사실상 동시에, 부분적 또는 전체적으로 일시적으로 겹치는 방식으로 실행되어 하나의 단계로 이루어질 수도 있고, 또는 이 두 블록은 때때로 관련된 기능에 따라서는 역순으로 실행될 수도 있다. 블록도들 및/또는 흐름 예시도의 각 블록, 및 블록도들 및/또는 흐름 예시도 내 블록들의 조합들은 특수목적용 하드웨어 및 컴퓨터 명령들의 명시된 기능들 또는 동작들, 또는 이들의 조합들을 수행하는 특수목적용 하드웨어-기반 시스템들에 의해 구현될 수 있다는 것에 또한 주목해야 한다.

Claims (20)

  1. 인공 지능 모듈(AI 모듈)을 업데이트하기 위해 주어진 데이터세트들로부터 데이터세트를 선택하기 위한 컴퓨터 구현 방법으로서,
    상기 주어진 데이터세트들은 각각 입력 데이터세트 및 대응하는 출력 데이터세트를 포함하고, 상기 방법은:
    상기 주어진 데이터세트들의 상이한 클러스터들을 정의하기 위한 파라미터들의 값들을 획득하는 단계;
    각 주어진 데이터세트의 메트릭을 결정하는 단계―상기 각 주어진 데이터세트의 메트릭은 상기 클러스터들 중 하나에 대한 상기 각 주어진 데이터세트의 멤버십 레벨과 상기 각 주어진 데이터세트에서 상기 클러스터들 중 동일한 하나의 중심까지의 거리에 의존함―; 및
    상기 주어진 데이터세트들의 메트릭들의 비교를 기반으로 상기 AI 모듈을 업데이트하기 위해 상기 주어진 데이터세트들로부터 상기 주어진 데이터세트들 중 적어도 하나를 선택하는 단계;를 포함하는,
    컴퓨터 구현 방법.
  2. 제1항에 있어서,
    각 클러스터의 메트릭을 결정하는 단계―상기 각 클러스터의 메트릭은 상기 각 클러스터에서 상기 클러스터들의 다른 중심들까지의 거리에 의존함―;
    상기 클러스터들의 메트릭들을 기반으로 상기 클러스터들로부터 상기 클러스터들 중 적어도 하나를 선택하는 단계; 및
    상기 각 주어진 데이터세트의 메트릭을 결정하는 단계―상기 각 주어진 데이터세트의 메트릭은 상기 선택된 클러스터에 대한 상기 각 주어진 데이터세트의 멤버십 레벨과 상기 각 주어진 데이터세트에서 상기 선택된 클러스터의 중심까지의 거리에 의존함―;를 더 포함하는,
    컴퓨터 구현 방법.
  3. 제1항에 있어서,
    각 주어진 데이터세트의 메트릭들의 세트를 결정하는 단계―상기 각 주어진 데이터세트의 메트릭들의 세트의 각 메트릭은 상기 클러스터들의 하위 세트의 한 클러스터에 해당하고, 상기 각 주어진 데이터세트의 메트릭들의 세트의 각 메트릭은 상기 해당 클러스터에 대한 상기 각 주어진 데이터세트의 멤버십 레벨 및 상기 각 주어진 데이터세트에서 상기 해당 클러스터의 중심까지의 거리에 의존함―; 및
    상기 주어진 데이터세트들의 메트릭들의 세트의 비교를 기반으로 상기 AI 모듈을 업데이트하기 위해 상기 주어진 데이터세트들로부터 상기 주어진 데이터세트들 중 적어도 하나를 선택하는 단계;
    에 적어도 부분적으로 기초하여 각 주어진 데이터세트에 대한 상기 메트릭을 결정하는 단계를 더 포함하는,
    컴퓨터 구현 방법.
  4. 제1항에 있어서,
    상기 클러스터들을 훈련 데이터세트들의 함수로 정의하기 위한 상기 파라미터들의 값들을 생성하는 단계―상기 AI 모듈이 상기 훈련 데이터세트들을 사용하여 생성됨―를 더 포함하는, 컴퓨터 구현 방법.
  5. 제1항에 있어서,
    상기 클러스터들을 상기 주어진 데이터세트들의 함수로 정의하기 위한 상기 파라미터들의 값들을 생성하는 단계를 더 포함하는,
    컴퓨터 구현 방법.
  6. 제1항에 있어서,
    상기 클러스터들을 테스트 데이터세트들의 함수로 정의하기 위한 상기 파라미터들의 값들을 생성하는 단계―상기 AI 모듈이 상기 테스트 데이터세트들을 사용하여 테스트됨―를 더 포함하는,
    컴퓨터 구현 방법.
  7. 제1항에 있어서,
    상기 클러스터들을 상기 주어진 데이터세트들의 승인된 또는 보정된 데이터세트의 함수로 정의하기 위한 상기 파라미터들의 값들을 생성하는 단계를 더 포함하는,
    컴퓨터 구현 방법.
  8. 제1항에 있어서,
    상기 클러스터들을 상기 주어진 데이터세트들의 수동으로 승인되거나 수동으로 보정된 데이터세트의 함수로 정의하기 위한 상기 파라미터들의 값들을 생성하는 단계를 더 포함하는,
    컴퓨터 구현 방법.
  9. 제1항에 있어서,
    퍼지-C-평균 클러스터링 알고리즘을 수행하는 상기 클러스터들을 정의하기 위한 상기 파라미터들의 값들을 획득하는 단계를 더 포함하는,
    컴퓨터 구현 방법.
  10. 제2항에 있어서,
    상기 주어진 데이터세트들에서 상기 각 클러스터의 중심까지의 평균 거리를 기반으로 상기 각 클러스터의 메트릭을 결정하는 단계를 더 포함하는,
    컴퓨터 구현 방법.
  11. 제2항에 있어서,
    상기 주어진 데이터세트들에서 상기 각 클러스터의 중심까지의 최대 거리를 기반으로 상기 각 클러스터의 메트릭을 결정하는 단계를 더 포함하는,
    컴퓨터 구현 방법.
  12. 제2항에 있어서,
    상기 각 클러스터에 대한 상기 주어진 데이터세트들의 평균 멤버십 레벨을 기반으로 상기 각 클러스터의 메트릭을 결정하는 단계를 더 포함하는,
    컴퓨터 구현 방법.
  13. 제4항에 있어서,
    상기 주어진 데이터세트들의 수동으로 승인되거나 수동으로 보정된 데이터세트들과 상기 훈련 데이터세트들에서 상기 각 클러스터의 중심까지의 평균 거리를 기반으로 상기 각 클러스터의 메트릭을 결정하는 단계를 더 포함하는,
    컴퓨터 구현 방법.
  14. 제4항에 있어서,
    상기 주어진 데이터세트들의 수동으로 승인되거나 수동으로 보정된 데이터세트들과 상기 훈련 데이터세트들에서 상기 각 클러스터의 중심까지의 최대 거리를 기반으로 상기 각 클러스터의 메트릭을 결정하는 단계를 더 포함하는,
    컴퓨터 구현 방법.
  15. 제4항에 있어서,
    상기 각 클러스터에 대한 상기 주어진 데이터세트들의 수동으로 승인되거나 수동으로 보정된 데이터세트들과 상기 훈련 데이터세트들의 평균 멤버십 레벨을 기반으로 상기 각 클러스터의 메트릭을 결정하는 단계를 더 포함하는,
    컴퓨터 구현 방법.
  16. 제4항에 있어서,
    상기 각 클러스터에 포함된 상기 훈련 데이터세트들의 수와 상기 각 클러스터에 포함된 상기 주어진 데이터세트들의 수동으로 승인되거나 수동으로 보정된 데이터세트들의 수의 제1 합, 및 상기 훈련 데이터세트들의 총 수와 상기 주어진 데이터세트들의 수동으로 승인되거나 수동을 보정된 데이터세트들의 총 수의 제2 합의 비(ratio)를 기반으로 상기 각 클러스터의 메트릭을 결정하는 단계를 더 포함하는,
    컴퓨터 구현 방법.
  17. 제4항에 있어서,
    상기 훈련 데이터세트들의 상기 출력 데이터세트들을 기반으로 상기 클러스터들을 정의하기 위한 상기 파라미터들의 값들을 획득하는 단계를 더 포함하는,
    컴퓨터 구현 방법.
  18. 제1항에 있어서,
    상기 주어진 데이터세트들의 상기 입력 데이터세트들 각각은 식별 파라미터의 값을 포함하고 상기 주어진 데이터세트들의 상기 출력 데이터세트들 각각은 성능 지표의 값을 포함하는 것을 특징으로 하는,
    컴퓨터 구현 방법.
  19. 인공 지능 모듈(AI 모듈)을 업데이트하기 위해 주어진 데이터세트들로부터 데이터세트를 선택하기 위한 컴퓨터 프로그램 제품으로서,
    상기 주어진 데이터세트들 각각은 입력 데이터세트 및 대응하는 출력 데이터세트를 포함하고, 상기 컴퓨터 프로그램 제품은 컴퓨터 판독 가능 스토리지 매체를 포함하고 상기 컴퓨터 판독 가능 스토리지 매체는 이 매체를 이용해 구현되는 컴퓨터 판독 가능 프로그램 코드를 가지며, 상기 컴퓨터 판독 가능 프로그램 코드는:
    상기 주어진 데이터세트들의 상이한 클러스터들을 정의하기 위한 파라미터들의 값들을 획득하는 단계;
    각 주어진 데이터세트의 메트릭을 결정하는 단계―상기 각 주어진 데이터세트의 메트릭은 상기 클러스터들 중 하나에 대한 상기 각 주어진 데이터세트의 멤버십 레벨과 상기 각 주어진 데이터세트에서 상기 클러스터들 중 동일한 하나의 중심까지의 거리에 의존함―; 및
    상기 주어진 데이터세트들의 메트릭들의 비교를 기반으로 상기 AI 모듈을 업데이트하기 위해 상기 주어진 데이터세트들로부터 상기 주어진 데이터세트들 중 적어도 하나를 선택하는 단계;를 포함하는 방법을 구현하도록 구성되는 것을 특징으로 하는,
    컴퓨터 프로그램 제품.
  20. 인공 지능 모듈(AI 모듈)을 업데이트하기 위해 주어진 데이터세트들로부터 데이터세트를 선택하기 위한 컴퓨터 시스템으로서,
    상기 주어진 데이터세트들 각각은 입력 데이터세트 및 대응하는 출력 데이터세트를 포함하고, 상기 컴퓨터 시스템은 하나 이상의 컴퓨터 프로세서, 하나 이상의 컴퓨터 판독 가능 스토리지 매체, 및 상기 하나 이상의 컴퓨터 프로세서에 의해 실행하기 위해 상기 하나 이상의 컴퓨터 프로세서 상에 저장된 프로그램 명령들을 포함하고, 상기 프로그램 명령들은:
    상기 주어진 데이터세트들의 상이한 클러스터들을 정의하기 위한 파라미터들의 값들을 획득하는 단계;
    각 주어진 데이터세트의 메트릭을 결정하는 단계―상기 각 주어진 데이터세트의 메트릭은 상기 클러스터들 중 하나에 대한 상기 각 주어진 데이터세트의 멤버십 레벨과 상기 각 주어진 데이터세트에서 상기 클러스터들 중 동일한 하나의 중심까지의 거리에 의존함―; 및
    상기 주어진 데이터세트들의 메트릭들의 비교를 기반으로 상기 AI 모듈을 업데이트하기 위해 상기 주어진 데이터세트들로부터 상기 주어진 데이터세트들 중 적어도 하나를 선택하는 단계;를 포함하는 방법을 구현하는 것을 특징으로 하는,
    컴퓨터 시스템.
KR1020227031876A 2020-03-26 2021-02-24 인공 지능 모듈 업데이트를 위한 데이터세트 선택 방법 KR20220149541A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/830,905 2020-03-26
US16/830,905 US20210304059A1 (en) 2020-03-26 2020-03-26 Method for selecting datasets for updating an artificial intelligence module
PCT/IB2021/051532 WO2021191703A1 (en) 2020-03-26 2021-02-24 Method for selecting datasets for updating artificial intelligence module

Publications (1)

Publication Number Publication Date
KR20220149541A true KR20220149541A (ko) 2022-11-08

Family

ID=77857257

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227031876A KR20220149541A (ko) 2020-03-26 2021-02-24 인공 지능 모듈 업데이트를 위한 데이터세트 선택 방법

Country Status (8)

Country Link
US (1) US20210304059A1 (ko)
JP (1) JP2023518789A (ko)
KR (1) KR20220149541A (ko)
CN (1) CN115362452A (ko)
AU (1) AU2021240437A1 (ko)
DE (1) DE112021000251T5 (ko)
GB (1) GB2609143A (ko)
WO (1) WO2021191703A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022209903A1 (de) 2022-09-20 2024-03-21 Siemens Mobility GmbH Sichere steuerung von technisch-physikalischen systemen

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8363961B1 (en) * 2008-10-14 2013-01-29 Adobe Systems Incorporated Clustering techniques for large, high-dimensionality data sets
US20160328406A1 (en) * 2015-05-08 2016-11-10 Informatica Llc Interactive recommendation of data sets for data analysis
US10540358B2 (en) * 2016-06-20 2020-01-21 Microsoft Technology Licensing, Llc Telemetry data contextualized across datasets
US20190102675A1 (en) * 2017-09-29 2019-04-04 Coupa Software Incorporated Generating and training machine learning systems using stored training datasets
US11164106B2 (en) * 2018-03-19 2021-11-02 International Business Machines Corporation Computer-implemented method and computer system for supervised machine learning
US11327156B2 (en) * 2018-04-26 2022-05-10 Metawave Corporation Reinforcement learning engine for a radar system

Also Published As

Publication number Publication date
GB202215364D0 (en) 2022-11-30
DE112021000251T5 (de) 2022-09-08
AU2021240437A1 (en) 2022-09-01
US20210304059A1 (en) 2021-09-30
WO2021191703A1 (en) 2021-09-30
CN115362452A (zh) 2022-11-18
JP2023518789A (ja) 2023-05-08
GB2609143A (en) 2023-01-25

Similar Documents

Publication Publication Date Title
US11581067B2 (en) Method and apparatus for generating a chemical structure using a neural network
US11048870B2 (en) Domain concept discovery and clustering using word embedding in dialogue design
US20200320428A1 (en) Fairness improvement through reinforcement learning
CN113196314B (zh) 适配预测模型
US11334791B2 (en) Learning to search deep network architectures
JP2005504367A (ja) 監視ニューラルネットワーク学習のための組合せ手法
KR102293791B1 (ko) 반도체 소자의 시뮬레이션을 위한 전자 장치, 방법, 및 컴퓨터 판독가능 매체
JP7448562B2 (ja) 人工知能のための希な訓練データへの対処
US20190228297A1 (en) Artificial Intelligence Modelling Engine
KR20220149541A (ko) 인공 지능 모듈 업데이트를 위한 데이터세트 선택 방법
KR102577714B1 (ko) 불균형 데이터 학습 장치 및 방법
US20210110892A1 (en) Method and apparatus for generating chemical structure
CN113408692A (zh) 网络结构的搜索方法、装置、设备及存储介质
US20210042629A1 (en) Data generalization for predictive models
US20220051090A1 (en) Classification method using a knowledge graph module and a machine learning module
US20230419189A1 (en) Programmatic selector for choosing a well-suited stacked machine learning ensemble pipeline and hyperparameter values
US20220269980A1 (en) Random classification model head for improved generalization
JP7224263B2 (ja) モデル生成方法、モデル生成装置及びプログラム
US11829735B2 (en) Artificial intelligence (AI) framework to identify object-relational mapping issues in real-time
US20240135159A1 (en) System and method for a visual analytics framework for slice-based machine learn models
JP7127686B2 (ja) 仮説推論装置、仮説推論方法、及びプログラム
US20240005099A1 (en) Integrated synthetic labeling optimization for machine learning
US20230018525A1 (en) Artificial Intelligence (AI) Framework to Identify Object-Relational Mapping Issues in Real-Time
Hauser et al. An Improved Assessing Requirements Quality with ML Methods
US20220391631A1 (en) Post-hoc local explanations of black box similarity models

Legal Events

Date Code Title Description
A201 Request for examination