JP2023514465A - 機械学習プラットフォーム - Google Patents
機械学習プラットフォーム Download PDFInfo
- Publication number
- JP2023514465A JP2023514465A JP2022574853A JP2022574853A JP2023514465A JP 2023514465 A JP2023514465 A JP 2023514465A JP 2022574853 A JP2022574853 A JP 2022574853A JP 2022574853 A JP2022574853 A JP 2022574853A JP 2023514465 A JP2023514465 A JP 2023514465A
- Authority
- JP
- Japan
- Prior art keywords
- machine learning
- learning model
- dataset
- data
- task
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 238000010801 machine learning Methods 0.000 title claims abstract description 347
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 35
- 238000000034 method Methods 0.000 claims description 65
- 238000012544 monitoring process Methods 0.000 claims description 40
- 238000011156 evaluation Methods 0.000 claims description 27
- 230000015654 memory Effects 0.000 claims description 22
- 230000003190 augmentative effect Effects 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 11
- 238000012360 testing method Methods 0.000 claims description 10
- 230000007812 deficiency Effects 0.000 claims description 8
- 238000001914 filtration Methods 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 5
- 238000000638 solvent extraction Methods 0.000 claims description 4
- 230000009471 action Effects 0.000 description 30
- 238000012549 training Methods 0.000 description 30
- 230000006870 function Effects 0.000 description 21
- 238000005457 optimization Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 15
- 238000003860 storage Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 230000009467 reduction Effects 0.000 description 7
- 230000003595 spectral effect Effects 0.000 description 7
- 238000007726 management method Methods 0.000 description 5
- 230000011218 segmentation Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 238000007637 random forest analysis Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000008921 facial expression Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000007477 logistic regression Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 206010011878 Deafness Diseases 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 238000001787 Wald–Wolfowitz test Methods 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 238000005352 clarification Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 238000013502 data validation Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000003344 environmental pollutant Substances 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000037406 food intake Effects 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003094 perturbing effect Effects 0.000 description 1
- 231100000719 pollutant Toxicity 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000005067 remediation Methods 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 230000008261 resistance mechanism Effects 0.000 description 1
- 230000002207 retinal effect Effects 0.000 description 1
- 230000001932 seasonal effect Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000035900 sweating Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F18/2148—Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Debugging And Monitoring (AREA)
Abstract
サーバで作動する機械学習プラットフォームが説明される。機械学習プラットフォームは、データストアからのデータセットにアクセスする。機械学習プラットフォームから機械学習アルゴリズムのターゲットを識別するタスクが定義される。機械学習アルゴリズムは、データセットおよびタスクに基づき、機械学習モデルを形成する。機械学習プラットフォームは、機械学習モデルを展開するとともに、展開後の機械学習モデルの性能を監視する。機械学習プラットフォームは、監視に基づき機械学習モデルを更新する。
Description
本明細書で開示される主題は、一般に、機械学習プラットフォームのための方法、システム、およびプログラムに関する。具体的には、本開示は、機械学習モデルを生成するとともに最適化するためのシステム、方法、およびコンピュータプログラムに関する。
機械学習は、コンピュータに、明示的にプログラムされることなく学習(訓練)する能力を与える学問分野である。機械学習は、既存のデータから学習するとともに新しいデータについて予測(プレディクション)を行い得る、本明細書ではツールとも呼ばれるアルゴリズムの研究および構築を探求(エクスプロア)する。このような機械学習ツールは、例の学習データからモデルを構築することで作動する。
Li Bin ET AL、「OLPS:A Toolbox for On-Line Portfolio Selection」、01 January 2016(2016-01-01)、page 1-5、[インターネット]、URL:https://jmlr.org/papers/volume17/15-317/15-317.pdf、XP055811703、[retrieved on 2021-06-08]
しかしながら、そのようなモデルは、ユーザがユーザアプリケーションで解決しようとしている課題(問題、プロブレム)に関連していない可能性があるので、ユーザアプリケーションの要求に対処できない虞れがある。
特別(パティキュラ)な要素または行為の議論を容易に識別するべく、参照番号の最上位の1つの桁または複数の桁は、その要素が最初に紹介される図番号を参照する。
以下の説明では、本主題の例示的な実施形態を示すシステム、方法、技術、命令シーケンス、およびコンピューティング機械プログラム製品、について説明する。以下の説明では、説明に向けて、本主題の様々な実施形態の理解を提供するべく、多数の具体的な詳細が記載されている。しかしながら、当業者には、本主題の実施形態は、これらの具体的な詳細の一部または他がなくても実施され得ることが明らかであろう。実施例は、単に可能な変形を類型化したに過ぎない。明示的に別段の記載がない限り、構造(例えば、モジュールなどの構造的構成要素)は任意であり、組み合わせたり細分化したりしてもよく、操作(例えば、手順、アルゴリズム、または他の機能における)は順序が異なっても、組み合わせたり細分化したりしてもよい。
本願は、機械学習モデルを生成する機械学習プラットフォームを記述している。機械学習プラットフォームは、ユーザ定義のタスク(例えば、解決すべき課題(プロブレムトゥービーソルブド)や、特徴量探査(フィーチャーズエクスプラレイション、特徴探究))と、学習データと、に基づき、機械学習モデルを生成する。ここで学習データは、準備(例えば、欠測データ(ミッシングデータ)を推定したり、不正確データまたは異常値データをフィルタリングしたりすること)がされているか、および/または、外部データセットソースからの追加データ(例えば、機械学習プラットフォームのユーザからの追加データや、データセットのマーケット(市場)ライブラリからの追加データ)で拡張(オーグメンテッド、補強、増強)されるか、されている。機械学習プラットフォームは、機械学習プラットフォームに対する外部に存在するアプリケーションによるアクセスについて、機械学習モデルを展開(デプロイ、配備)する。機械学習プラットフォームは、展開された機械学習モデルの性能(健全性(ヘルス)ともいう)を監視(モニタリング)するとともに、ユーザ定義タスクに対する現在展開されている機械学習モデルの適合性(スータビリティ)を判定する。機械学習プラットフォームは、現在展開されている機械学習モデルの性能(パフォーマンス)/健全性(ヘルス)に基づき、学習データおよび/またはタスク定義を調整する。
一例の実施形態では、機械学習プラットフォームのユーザは、機械学習プラットフォームのデータ取込(インジェスション)システムにデータをアップロードする。アップロードされたデータは、データセットのライブラリからの追加データで、またはユーザからの追加データで、拡張(オーグメンテッド、補強、増強)される。機械学習プラットフォームのタスクシステムは、解決すべき課題(例えば、ターゲット列(目標カラム)、データ探査(データエクスプラレイション))を特定(スペシファイ、指定)するタスクを定義する。機械学習プラットフォームは、データに不足(デフィシット、欠損)や不整合がないか分析するとともに、機械学習アルゴリズムによる処理について、データをより良く準備するための提案を提供する。例えば、機械学習プラットフォームの提案は、処理に向けてデータの特別(パティキュラ)なセクションを包含することができる。この提案は、提供された分割データ(パーティションドデータ)と、分割データの特性(例えば、分割データの境界値、または欠測データ(ミッシングデータ)の存在)と、に基づき、与えられたデータに対する学習についてのアルゴリズムのアプローチに影響を与えることができる。機械学習プラットフォームは、用意されたデータに基づき機械学習モデルを構築するとともに、機械学習モデルの性能を評価する。機械学習プラットフォームは、機械学習モデルの性能が許容可能であると判定すると、機械学習モデルを展開エンジンにエクスポートすることによって、機械学習モデルを展開する。一例において、機械学習プラットフォームに対する外部のアプリケーションは、機械学習モデルにアクセスする。機械学習プラットフォームは、機械学習モデルの使用状況および性能を監視する。一例では、機械学習プラットフォームは、機械学習モデルがもはや正確にタスクを解決しないので、機械学習モデルの性能がもはや許容できないと判定する。このような状況において、機械学習プラットフォームは、タスクを再定義することを推奨する。別の例では、同じタスクについて、機械学習プラットフォームは、データ準備の一部として、異なるデータ分割(データパーティション)および異なる機械学習モデル探索空間(サーチスペース)を提案する。別の例では、機械学習プラットフォームは、アップロードされたデータを明確にするとともに、アップロードされたデータにコンテキスト(文脈)を提供するべく、ユーザから追加の明確化情報を募るガイダンスまたはアドバイス機能を備えている。
別の例示的な実施形態では、機械学習プラットフォームは、アイテム(例えば、株式、商品(コモディティ))の値の時系列予報(タイムシリーズフォアキャスト)を実行するためのシステムを提供する。具体的には、機械学習プラットフォームは、アイテム(項目)の値のオンライン予報モデルのための自動パラメータ更新を備えている。例えば、機械学習プラットフォームは、機械学習モデルを生成するべく、アイテムの値の履歴(ヒストリカル)データを使用する。新しいデータは、履歴データの統計的性質とは相容れない新しい統計的性質を有する場合がある。このような状況では、機械学習モデルは正確な予報には適さなくなる。この状況を克服するべく、システムは、利用可能な新しいデータに基づき、アルゴリズムパラメータを自動的に更新する。さらなる実施形態では、機械学習プラットフォームは、機械学習モデルに基づきアイテムの値の予測の精度を評価するためのバックテスト機能を備えている。
別の例示的な実施形態では、サーバで作動する機械学習プラットフォームが説明される。機械学習プラットフォームは、データストアからのデータセットにアクセスする。機械学習プラットフォームから機械学習アルゴリズムのターゲットを識別するタスクが、定義される。機械学習アルゴリズムは、データセットとタスクとに基づき、機械学習モデルを形成する。機械学習プラットフォームは、機械学習モデルを展開するとともに、展開後の機械学習モデルの性能を監視(モニタリング)する。機械学習プラットフォームは、監視に基づき、機械学習モデルを更新してもよい。
その結果、本明細書に記載された1つまたは複数の方法論は、古くなったまたは不正確な、機械学習モデルの技術的問題の解決を容易にする。そのため、本明細書に記載される方法論の1つまたは複数は、そうでなければ古くなった機械学習モデルを使用することに関与するであろう特定の努力またはコンピューティングリソースの必要性を、回避し得る。その結果、1つまたは複数の機械、データベース、または装置(例えば、環境内)、によって使用されるリソースが削減されてもよい。そのようなコンピューティングリソースの例には、プロセッササイクル、ネットワークトラフィック、メモリ使用量、データ記憶容量、電力消費、ネットワーク帯域幅、および冷却容量が含まれる。
図1は、本開示のいくつかの例示的な実施形態が実装または展開され得るネットワーク環境100の図解的表現である。1つまたは複数のアプリケーションサーバ104は、ネットワーク102を介して、サーバ側の機能性をクライアント装置106の形態で、ネットワーク接続されたユーザ装置に提供する。ウェブブラウザ110(例えば、ブラウザ)およびクライアントアプリケーション108(例えば、「アプリ」)は、ウェブブラウザ110上でホストされるとともに実行される。ユーザ130は、クライアント装置106を操作する。
アプリケーションプログラムインタフェース(API)サーバ118およびウェブサーバ120は、アプリケーションサーバ104に、それぞれのプログラムインタフェースおよびウェブインタフェースを提供する。特定のアプリケーションサーバ116は、機械学習プラットフォーム122(構成要素、モジュール、および/またはアプリケーション、を備えている)およびサービスアプリケーション124を、ホストする。機械学習プラットフォーム122は、クライアント装置106、第三者サーバ112、またはサービスアプリケーション124から、学習データ(訓練データ)を受け取る。機械学習プラットフォーム122は、学習データに基づき機械学習モデルを生成する。機械学習プラットフォーム122は、機械学習モデルを展開するとともに、機械学習モデルの性能(例えば、精度)を監視(モニタリング)する。
いくつかの例示的な実施形態では、機械学習プラットフォーム122は、機械学習アルゴリズムまたはツールとも呼ばれる、機械学習プログラム(MLP)を備えている。機械学習プログラムは、将来の時点(フューチャポイントインタイム)におけるアイテムの値を予測すること、ターゲット列(目標カラム)の値を解くこと、または学習データの特徴量を発見すること、に関連する動作を実行するべく利用される。
機械学習は、明示的にプログラムされることなく、コンピュータに学習する能力を与える学問分野である。機械学習は、既存のデータから学習するとともに、新しいデータについて予測を行うことができる、本明細書ではツールとも呼ばれるアルゴリズムの研究および構築を探求する。そのような機械学習ツールは、出力として表されるデータ駆動型の予測または決定(デシジョン)を行うべく、学習データから機械学習モデルを構築することによって作動する。例示的な実施形態は、いくつかの機械学習ツールに関して提示されているが、本明細書で提示される原理は、他の機械学習ツールに適用され得る。
いくつかの例示的な実施形態では、異なる機械学習ツールが使用されてもよい。例えば、ロジスティック回帰(LR)、ナイーブベイズ、ランダムフォレスト(RF)、ニューラルネットワーク(NN)、行列分解、およびサポートベクターマシン(SVM)ツールが、学習データの属性を分類するべく、または学習データ中のパターンを識別するべく、使用されてもよい。
機械学習における2つの一般的なタイプの問題は、分類問題および回帰問題である。分類問題は、カテゴライズ問題とも呼ばれ、アイテムをいくつかのカテゴリ値のうちの1つに分類することを目的とする(例えば、このオブジェクトはリンゴかオレンジか)。回帰アルゴリズムは、いくつかのアイテムを定量化することを目的とする(例えば、実数としての値を提供することによって)。いくつかの実施形態では、機械学習アルゴリズムは、学習データにおける他の属性との関係で、有意なパターンを識別する。これらのアルゴリズムは、予測結果に影響を与える可能性のあるそのような類似の関係をモデル化するべく、この学習データを利用する。
サービスアプリケーション124は、クライアント装置106によってアクセスされるプログラム式アプリケーションを備えている。プログラム式アプリケーションの例としては、ドキュメントオーサリングアプリケーション、通信アプリケーション、処理アプリケーション、および分析アプリケーションが挙げられる。サービスアプリケーション124は、機械学習プラットフォーム122に対する外部に存在する。サービスアプリケーション124は、機械学習プラットフォーム122において生成された機械学習モデルにアクセスするとともに、機械学習モデルに基づきオペレーション(操作)を実行する。
ウェブブラウザ110は、ウェブサーバ120によってサポートされるウェブインタフェースを介して、機械学習プラットフォーム122と通信する。同様に、クライアントアプリケーション108は、アプリケーションプログラムインタフェース(API)サーバ118によって提供されるプログラム式インタフェースを介して、機械学習プラットフォーム122と通信する。別の例では、クライアントアプリケーション108は、アプリケーションプログラムインタフェース(API)サーバ118を介して、サービスアプリケーション124と通信する。
アプリケーションサーバ116は、情報ストレージリポジトリまたはデータベース128へのアクセスを容易にするデータベースサーバ126に通信可能に結合されることが示されている。例示的な実施形態では、データベース128は、機械学習プラットフォーム122によって公開および/または処理される情報(例えば、データセット、拡張データセット、データセットマーケットプレイス、機械学習モデルライブラリ)を格納するストレージ装置を備えている。
さらに、第三者サーバ112上で実行される第三者アプリケーション114は、アプリケーションプログラムインタフェース(API)サーバ118によって提供されるプログラム式インタフェースを介して、アプリケーションサーバ116にプログラム式アクセスを有するものとして示されている。例えば、第三者アプリケーション114は、アプリケーションサーバ116から取得した情報を用いることで、第三者によってホストされるウェブサイト上の1つまたは複数の特徴量(フィーチャ、特徴)または機能(ファンクション)をサポートすることができる。例えば、第三者アプリケーション114は、機械学習プラットフォーム122に学習データマーケットプレイスを提供する。
図1に示される、または関連するシステムまたは機械(例えば、データベース、装置(デバイス)、サーバ)のいずれも、そのシステムまたは機械について本明細書に記載される機能のうちの1つまたは複数を実行するように修正(例えば、アプリケーション、オペレーティングシステム、ファームウェア、ミドルウェア、または他のプログラム、のうちの1つまたは複数のソフトウェアモジュールなどのソフトウェアによって構成またはプログラミング)された特殊目的(例えば、特殊(スペシャル)またはその他の非汎用)コンピュータを備えているか、またはそのような特殊目的コンピュータにおいて実装可能でありうる。例えば、本明細書に記載された方法論のいずれか1つまたは複数を実施することができる特殊目的コンピュータシステムは、図16に関して後述するとともに、そのような特殊目的コンピュータは、それに応じて本明細書に記載された方法論のいずれか1つまたは複数を実施するための手段であってよい。このような特殊目的コンピュータの技術分野内では、本明細書で論じる構造によって本明細書で論じる機能を実行するように修正された特殊目的コンピュータは、本明細書で論じる構造を欠いているか、さもなければ本明細書で論じる機能を実行できないかする他の特殊目的コンピュータと比べて、技術的に改良されている。したがって、本明細書で論じたシステムおよび方法に従って構成された特殊目的機械は、同様の特殊目的機械の技術に対する改良を提供する。
さらに、図1に例示されたシステムまたは機械(マシン)の任意の2つ以上を、単一のシステムまたは機械に組み合わせることができるとともに、任意の単一のシステムまたは機械について本明細書で説明した機能を、複数のシステムまたは機械の間で細分化することができる。さらに、任意の数および種類のクライアント装置106が、ネットワーク環境100内で具現化されてもよい。さらに、ネットワーク環境100のいくつかの構成要素または機能は、ネットワーク環境100の他の場所に組み合わされるかまたは配置されてもよい。例えば、クライアント装置106の機能の一部は、アプリケーションサーバ116において具現化されてもよい。
図2は、一例の実施形態による機械学習プラットフォーム122を図示する。機械学習プラットフォーム122は、データセット取込システム202と、機械学習システム204と、展開(デプロイメント、配備)システム206と、監視/評価(モニタリング/アセスメント)システム208と、タスクシステム210と、アクション(行動)システム212と、を備えている。
データセット取込システム202は、データベース128においてデータストア214から、機械学習システム204のための学習データを取得する。データストア214は、クライアント装置106、サービスアプリケーション124、または第三者アプリケーション114、によって提供されるデータセットを備えている。一例の実施形態では、データセット取込システム202は、統計的特性(例えば、平均、分散、n次の差分)およびタグ(例えば、テキストデータ内の単語に対する品詞、日付時刻値に対する曜日、連続データに対する異常フラグ)で、学習データを注釈付けする。別の例示的な実施形態では、データセット取込システム202は、学習データを分析するとともに、学習データをさらに拡張するべく追加の学習データ(学習データに関連または補完的である)が利用可能であるか否かを判定する。一例では、データセット取込システム202は、クライアント装置106に追加データを提供するように要求する。別の例では、データセット取込システム202は、データストア214内のデータセットのライブラリにアクセスするとともに、データセットのライブラリからの少なくとも1つのデータセットで学習データを拡張する。さらに別の例では、データセット取込システム202は、データセットのマーケットプレイス(例えば、第三者アプリケーション114によって提供される)にアクセスすることで、学習データを拡張するためのデータセットを識別する。例えば、データセットは、郵便番号の列を備えている。データセット取込システム202は、データを郵便番号として識別するとともに、他のデータセット(例えば、緯度、経度、標高、天候要因、社会要因)のライブラリから各郵便番号についての「平均所得」などの別のデータセットを追加することによって、データセットを拡張することを提案する。
別の例示的な実施形態では、データセット取込システム202は、(データセット216を提供する)クライアント装置106に、機械学習システム204による処理に向けて、データセット216を準備する方法について助言するアドバイザ機能を備えている。例えば、データセット取込システム202は、データセット216の構造を分析するとともに、データセットが機械学習システム204による処理の前に修正されるべき欠測値を含んでいることを、クライアント装置106に助言する。一例では、データセット取込システム202は、近似に基づき欠測値を推定する。
タスクシステム210は、機械学習システム204のためのタスクを定義する。例えば、タスクは、ゴールのパラメータ(例えば、解決すべき課題(解決すべき問題)、ターゲット列、データ検証、およびテスト方法、スコアリングメトリック)を識別する。タスクシステム210は、クライアント装置106、サービスアプリケーション124、または第三者アプリケーション114から、タスクの定義を受け取る。別の例では、タスクシステム210は、アクションシステム212から、更新後のタスクを受け取る。タスクシステム210は、データ変換や分析などの、非機械学習タスクも定義することができる。
機械学習システム204は、機械学習アルゴリズムを使用することで、データセット取込システム202からのデータと、タスクシステム210からのタスクと、に基づき機械学習モデルを学習する。一例では、機械学習システム204は、タスクシステム210で定義されたタスクを解決するべく、機械学習モデルを形成するとともに最適化する。機械学習システム204の例示的な実施形態は、図3に関して以下でさらに説明される。
展開システム206は、機械学習モデルを他のアプリケーション(機械学習プラットフォーム122に対する外部である)に展開する展開エンジン(図示せず)を備えている。例えば、展開システム206は、機械学習モデルがクエリ可能な設定で存在するとともに要求に応じて予測を行うために使用され得るような、インフラストラクチャを規定する。展開の一例は、展開システム206が次に機械学習モデルをサポートするとともに関連する機能性を公開(エクスポーズ)し得るように、機械学習モデルまたはそのようなモデルを複製するためのパラメータを、展開システム206にアップロードすることを備えている。
別の例では、展開システム206は、サービスアプリケーション124が機械学習モデルにアクセスするとともに機械学習モデルを使用することで、新しいデータに関する予報(フォアキャスト)および予測(プレディクション)を生成することを可能にする。展開システム206は、データベース128のモデルリポジトリ218にモデルを格納する。
監視/評価システム208は、(展開システム206からの)機械学習モデルの性能をテストおよび評価する。例えば、監視/評価システム208は、モデルに対してテストおよびベンチマークを実行することで、モデルのアルゴリズムおよび計算性能を評価するとともに、他のモデルとの比較を容易にする。別の例では、監視/評価システム208は、クライアント装置106のユーザから品質または性能の検証を受けることができる。さらに別の例では、監視/評価システム208は、モデルの使用状況を追跡するとともに性能を監視することで、他のサービスからの単なるアプリケーションプログラムインタフェースAPI呼び出しではなく、任意のトリガに基づきモデルが予測を行うとともにアクションを起こすことを可能にすることを備えている。
別の例では、展開システム206は、サービスアプリケーション124が機械学習モデルにアクセスするとともに機械学習モデルを使用することで、新しいデータに関する予報(フォアキャスト)および予測(プレディクション)を生成することを可能にする。別の実施例では、展開システム206は、データベース128のモデルリポジトリ218にモデルを格納する。
アクションシステム212は、予め定義された条件に基づき、外部アクション(例えば、サービスアプリケーション124への呼び出し)をトリガする。例えば、アクションシステム212は、展開システム206が機械学習モデルを展開したことを検出する。機械学習モデルの展開を検出することに応答して、アクションシステム212は、サービスアプリケーション124に通知する(例えば、展開のアラートを生成してサービスアプリケーション124に伝達することによって)。アクションシステム212からのアクションの他の例には、機械学習モデルの再学習、モデルパラメータの更新、性能が閾値を下回る場合のモデル機能の停止(フェイルセーフ機能)、性能または使用状況に基づくアラートの通信(電子メール/テキスト/メッセージングプラットフォームを介して)、が含まれる。
監視/評価システム208は、機械学習モデルの展開を監視する。例えば、監視/評価システム208は、(サービスアプリケーション124によって使用される)機械学習モデルの性能を継続的に監視するとともに、アクションシステム212を介して、データセット取込システム202およびタスクシステム210にフィードバックを提供する。例えば、サービスアプリケーション124は、更新後のタスクをタスクシステム210に提供するとともに、最新のデータをデータセット取込システム202に提供する。この処理は、メタ学習と呼ばれることがある。別の例では、監視/評価システム208は、欠測値または外れ値(アウトライア)の頻度などのデータの特性を監視するとともに、これらの問題を改善(レメディ)するべく異なる戦略を採用することもできる。このようにして、監視/評価システム208は、どの戦略が最も効果的であるかを学習することによって、与えられた状況に対してどの戦略を使用するかを絞り込む。
一例の実施形態では、監視/評価システム208は、機械学習モデルの性能を監視する。例えば、監視/評価システム208は、モデルの最新の性能を表す更新後のスコアが導出され得るように、新しいデータが入ってくると、機械学習モデルの性能を断続的に評価する。別の例では、監視/評価システム208は、データに摂動を与えるとともに、モデルのスコア/予測への影響を評価することによって、ノイズに対する機械学習モデルの感度を定量化するとともに監視する。機械学習モデルを更新した後、監視/評価システム208は、機械学習モデルをホールドアウトデータのセットでテストするとともに、機械学習モデが展開に適切であることを確認することもできる(例えば、新しいモデルの性能と、以前のモデルの性能と、を比較することによって)。モデル性能はまた、取り込まれるデータの頻度またはタイプが効率または速度の低下を引き起こすように変化した場合、ユーザがこれに警告され得るように、計算時間および必要なリソースの観点から定量化され得る。
監視/評価システム208は、機械学習モデルの性能/精度が許容可能であるかどうか(例えば、閾値スコアを超えているかどうか)を判定する。監視/評価システム208が、機械学習モデルの性能/精度がもはや許容可能ではないと判定した場合、アクションシステム212は、タスクシステム210においてタスクを再定義するか、またはデータセット取込システム202において学習データに対する変更を提案する。例えば、性能がもはや許容できない場合、アクションシステム212は、通信手段(例えば、電子メール/テキスト)を介してユーザ130に警告を発するとともに、問題の原因および改善策の提案を提供する。また、アクションシステム212は、最新のデータに基づきモデルを更新するか、またはモデルが予測を行うのを停止するか、することができる。別の例示的な実施形態では、これらのアクション動作(アクションビヘイビア)は、「もしこれならあれ」(イフジスゼンザット、IFTTT)という方法で、ユーザによって定義され得る。
図3は、別の例示的な実施形態に従った機械学習システム204を示す。機械学習システム204は、データセグメンテーション(データ区分)モジュール302と、タスクモジュール304と、モデル最適化システム306と、および最適化モデル学習システムと、を備えている。機械学習システム204は、データセット取込システム202を介して、学習データを受け取る。データセット取込システム202は、データをデータセグメンテーションモジュール302に提供する。データセグメンテーションモジュール302は、データを要約(サマライズ)する。例えば、データは、要約統計量を計算するとともにサンプルの分布を記述することによって、要約される。連続的な値は、ビン化されるとともにカウントされる。外れ値および異常値は、フラグが立てられる。データセグメンテーションモジュール302はさらに、元のデータ(オリジナルデータ)に含まれている情報の数学的定義がデータスライス同士間で均等に分配されるように、要約されたデータをデータスライスにスライスする。これは、データパーティションの層別化によって達成されるとともに、スライス同士間のデータ分布が可能な限り密接に一致することを保証する。データセグメンテーションモジュール302は、データスライスをモデル最適化システム306に提供する。
タスクシステム210は、ユーザ定義タスクをタスクモジュール304に提供する。タスクモジュール304は、異なるタイプの機械学習ツールとして、回帰ツール310、分類ツール312、および教師無し機械学習ツール314、を備えている。タスクシステム210は、ユーザ定義タスクを、機械学習ツールのいずれか1つに対応付ける(マップする)。例えば、ユーザ定義タスクが、カテゴリ値を予測するというゴールを有する場合、タスクシステム210は、タスクを分類ツールにマッピングする。連続値を予測するというゴールは、回帰ツールにマッピングされるであろう。ユーザ定義タスクが、データ内の基礎的なグループ化を見つけることである場合、それはクラスタリング(教師無し機械学習)ツールにマッピングされるであろう。一例では、ルックアップテーブルが定義されるとともに、異なるタイプのタスクと、機械学習ツールのタイプと、の間のマッピング(写像)が提供される。
モデル最適化システム306は、データスライスと機械学習ツールのタイプとに基づき、機械学習モデルを学習する。モデル最適化システム306の例示的な実施形態は、図4に関して以下でさらに説明される。
最適化モデル学習システム308は、モデル最適化システム306から最適化された機械学習モデルを受け取るとともに、利用可能で適切なすべてのデータでモデルを再学習することで、学習済み最適化機械学習モデルを展開システム206に提供する。
図4は、1つの例示的な実施形態によるモデル最適化システムを示す。モデル最適化システム306は、モデル学習モジュール402と、最適化モジュール404と、モデル性能推定器406と、を備えている。最適化モジュール404は、特定のモデルを提案する。特定のモデルは、ハイパーパラメータのセットを通して定義される。これらは名前付きの値の集合(コレクション、collection)であり、これらは一緒になって、いくつかの学習データに対するモデル適合(モデルフィッティング)の準備が整った特別(パティキュラ)なモデルを、完全に特定(スペシファイ、指定)する。
モデル学習モジュール402は、複数のデータサブセットを用いることで、特定(スペシフィック)モデルを学習する。モデル性能推定器406は、特定モデルの性能を表すスコアを計算する。最適化モジュール404は、スコアを受け取るとともに、そのスコアに基づき別の特定モデルを提案する。例えばランダムフォレストとしてのモデルが与えられると、そのモデルは、複数のデータセットを用いることで学習される。性能は、一例として、損失関数を用いることで計算され得る。スコアが閾値以下である場合、最適化モジュール404は、一例として、損失関数の勾配に従ってハイパーパラメータの空間(スペース)をナビゲートする。モデルのハイパーパラメータの値の新しいセットが、提案される。
図5は、別の例示的な実施形態に従った機械学習プラットフォームを示す。機械学習プラットフォーム122は、あるアイテムの値の時系列予報(タイムシリーズフォアキャスト)を行う。機械学習プラットフォーム122は、データセット取込システム502、モデル学習システム504、ターゲット特定特徴量発見システム506、予測システム508、バックテストシステム510、ターゲット特定システム512、および教師無し機械学習ツール514を備えている。
データセット取込システム502は、クライアント装置106のユーザから、データ(例えば、時間的に変化(変動)する信号)を受け取る。ユーザは、ユーザが予測したい信号を(時間変動信号の中から)選択する。
ターゲット特定システム512は、ユーザから、または教師無し機械学習ツール514から、ターゲット(例えば、データ内の属性の値を予測するための、将来(フューチャ、未来)の所望の点)を取得する。ターゲットは、現在の時点を基準とした、与えられた時系列の将来の値を備えている。ユーザは、ターゲット特定システム512を使用することで、ユーザが予測したい信号における、特定の将来の値を選択する。
ターゲット特定特徴量発見システム506は、データの特徴量(特徴、フィーチャーズ)を発見する。特徴量は、派生信号を介して時間的に表現される、派生信号特性(デライブドシグナルプロパティ)を備えている。ターゲット特定特徴量発見システム506の例示的な実施形態は、図6に関して以下でさらに説明される。
モデル学習システム504は、特徴量およびデータに基づき、機械学習モデルを学習する。例えば、非線形回帰器は、複数の時間変動信号の履歴時点(特徴量)に対して、学習される。
予測システム508は、機械学習モデルを使用することで、将来の所望の時点におけるデータ中の属性の値の予測を生成する。例えば、予測システム508は、機械学習モデルを使用することで、与えられた信号における次の時点の値を予測する(例えば、店舗A~Fの年次データを与えられた、来年の店舗Aの予測される収益は何か)。
バックテストシステム510は、機械学習モデルを用いることでデータに対してバックテストを行うことで、機械学習モデルの性能/精度を評価する。機械学習モデルが出力した予測値と、その時間帯の真の値と、が比較されるとともに、モデルの性能が定量化される。
図6は、1つの例示的な実施形態によるターゲット特定特徴量発見システム506を示す。ターゲット特定特徴量発見システム506は、スペクトル信号埋込システム602と、ユーザ特定信号生成システム604と、特徴量削減システム606と、特徴量セット最適化システム608と、を備えている。
特徴量セットは、信号および信号変換の集合(コレクション、collection、収集)を備えている。特徴量セットは、スペクトル信号埋込システム602に提供される。スペクトル信号埋込システム602は、単純な短期関係を有する新しい特徴量を介して、信号の履歴相互依存関係(ヒストリカルインタデペンデンシ)をカプセル化する。例えば、季節モデル(例えば、ETS時系列モデル)は、単一の、そして有限の例である。これは、信号(シグナル)が複数の要素に分解される金融の分野でよく使われる。履歴相互依存関係の別の例は、複雑な信号を表現するべく、より多くの履歴点と関係とを要求する複雑な信号を備えている。スペクトル信号埋込システム602の例示的な実施形態は、図7に関して以下にさらに説明される。
ユーザ定義のターゲットセット内の各将来ターゲット値について、特徴量削減システム606は、新しい特徴量の依存関係(デペンデンシ)を測定する。ターゲットセットは、単一の時系列のターゲットの集合(コレクション)を備えている。特徴量削減システム606の例示的な実施形態は、図8に関して以下でさらに説明される。
特徴量セット最適化システム608は、ターゲットセット内の各ターゲットについて、単一の特徴量セットを生成する。短期予報(例えば、翌日)に有用な特徴量セットは、長期予報(例えば、来年)に有用な特徴量セットとは、非常に異なることが予想される。昨日の店舗からの販売数は、明日の店舗からの販売数を予測するべく、おそらく重要である(おそらく、数年先についてははるかに重要ではない)。
図7は、1つの例示的な実施形態によるスペクトル信号埋込システム602を示す図である。スペクトル信号埋込システム602は、信号走査システム702と、情報埋込システム704と、収集器(コレクタ)706と、を備えている。
特徴量セット内の各信号について、信号走査システム702は、信号が含んでいる情報をエンコードする信号の履歴点を検出する。情報埋込システム704は、複数の新しい信号を生成することによって、これらの点を過去から現在にシフトさせる。収集器706は、新しい信号を収集することで、拡張後の特徴量セットを形成する。例えば、2つの信号を考える。1つは非常に単純な信号(例えば、正弦波)であり、もう1つは非常に複雑な信号である。両方の信号からの情報を、信号セットに含める必要がある。しかし、複雑な信号からは、複雑な信号を表現するべく、正弦波よりも多くの履歴点が必要である。収集器706は、これらすべての点(ポイント)を1つの特徴量セットに合体させる。
図8は、一例の実施形態による特徴量削減システム606を示す。特徴量削減システム606は、将来における第1ユーザ特定予測ターゲット点802と、相関測定または相互情報測定およびランキング804と、将来における第2ユーザ特定予測ターゲット点806と、相関測定または相互情報測定およびランキング808と、を備えている。例えば、予報ターゲットは1日先(1日将来)の売上である。学習データは、我々の入力信号に合わせて、将来のターゲットを表すべく1日後方にシフトさせることができる。特徴量削減システムは、入力信号と、シフトしたターゲット信号と、の線形または非線形関係(例えば、相互情報)を測定するとともに、シフトしたターゲットとの高い関係を持たない信号を切り落とす。この処理は、将来の各ターゲット点(例えば、1日未来(1日後)の売上、1週間未来(1週間後)の売上)に対して、繰り返される。
図9は、一例示的な実施形態による機械学習モデルを展開するための方法を示している。方法900は、以下に説明するように、1つまたは複数のコンピューティング装置によって実行されてもよい。
他の実施形態は、同様の機能を達成するべく、異なる順序付け(シーケンシング)、追加のまたはより少ない操作、および異なる命名法または用語を使用し得ることに留意されたい。いくつかの実施形態では、様々な動作が、同期または非同期のいずれかの方法で、他の動作と並行して実行されてもよい。本明細書で説明する動作は、動作のいくつかの原理を簡略化した形で説明するべく選択されたものである。
ブロック902において、データセット取込システム202は、学習データを受け取る。ブロック904において、データセット取込システム202は、データセットのライブラリからの追加データで、学習データを拡張する。ブロック906において、タスクシステム210は、機械学習プラットフォーム122のユーザによって定義された、タスクを受け取る。ブロック908において、機械学習システム204は、学習データおよびタスクに基づき、機械学習モデルを形成する。
図10は、一例の実施形態による、機械学習モデルを展開するための方法を例示する。方法1000は、以下に説明するように、1つまたは複数のコンピューティング装置によって実行されてもよい。
他の実施形態では、同様の機能を達成するべく、異なる順序付け、追加的または少ない操作、および異なる命名法または用語を使用することができることに留意されたい。いくつかの実施形態では、様々な動作が、同期または非同期のいずれかの方法で、他の動作と並行して実行されてもよい。本明細書で説明する動作は、簡略化された形態で動作のいくつかの原理を説明するべく選択された。
ブロック1002において、機械学習システム204は、学習データおよびタスクに基づき、機械学習モデル(MLモデル)を形成する。ブロック1004において、監視/評価システム208は、機械学習モデルの性能をテストする。ブロック1006において、展開システム206は、機械学習モデルをサービスアプリケーション124に展開する。ブロック1008において、監視/評価システム208は、サービスアプリケーション124における展開された機械学習モデルの適合性(スータビリティ、適切性)を監視(モニタリング)する。モデルは、事前に特定された性能メトリック(対数損失または混同行列など)が、ブロック906で定義されたタスクにわたって満足な性能を依然として確保している(例えば、性能が、事前設定された性能閾値を超える)場合に、「適している」とされる。判定ブロック1010において、機械学習モデルが「適切ではない」と監視/評価システム208が判定した場合、機械学習システム204は、ブロック1002において別の機械学習モデルを学習する。監視/評価システム208は、ブロック1004で機械学習モデルの性能を評価する。承認を条件として、機械学習モデルは次に展開されるとともに、ブロック1008で監視/評価システム208によって継続的に監視されることで、機械学習モデルの継続的な適合性は保証される。
図11は、一例示的な実施形態による外部アクションを生成するための方法1100を例示する。ブロック1102で、データセット取込システム202は、データにアクセスする。ブロック1104において、タスクシステム210は、サービスアプリケーション124のユーザによって定義された、タスクにアクセスする。ブロック1106において、機械学習システム204は、学習データおよびタスクに基づき、機械学習モデルを形成する。ブロック1108において、機械学習システム204は、機械学習モデルをアプリケーションサーバ116において展開する。ブロック1110において、アクションシステム212は、機械学習モデルに基づき外部アクションを生成する。外部アクションの例は:オペレータにアラートを送る、ビジネスアクションまたは処理を実行する、トランザクションを不正(フラウド)としてマークする、である。
図12は、一例の実施形態による、機械学習モデルの展開を監視するための方法1200を例示する。ブロック1202で、データセット取込システム202は、データにアクセスする。ブロック1204において、タスクシステム210は、サービスアプリケーション124のユーザによって定義された、タスクにアクセスする。ブロック1206において、機械学習システム204は、学習データおよびタスクに基づき、機械学習モデルを形成する。ブロック1208において、機械学習システム204は、機械学習モデルを、機械学習プラットフォーム122に対する外部に存在するアプリケーションに提供する。ブロック1210において、監視/評価システム208は、アプリケーションサーバ116における機械学習モデルの展開を監視する。
図13は、一例示的な実施形態による、機械学習モデルを更新するための方法1300を例示する。ブロック1302において、データセット取込システム202は、データにアクセスする。ブロック1304において、タスクシステム210は、サービスアプリケーション124のユーザによって定義された、タスクにアクセスする。ブロック1306において、機械学習システム204は、学習データおよびタスクに基づき、機械学習モデルを形成する。ブロック1308において、機械学習システム204は、機械学習モデルを、機械学習プラットフォーム122に対する外部に存在するアプリケーションに提供する。ブロック1310において、監視/評価システム208は、機械学習モデルの展開を監視する。監視されるパラメータは、新しい入力データでの実行時間、生成された出力の分布、生成された出力の不確実性、メモリ使用量、応答時間、およびスループットを含むが、これらに限定されない。ブロック1312において、アクションシステム212は、外部アプリケーションシステム(例えば、サービスアプリケーション124)における監視された展開に基づき、内部アクションを生成する。外部アクションの例には、オペレータにアラートを送ることと、ビジネスアクションまたは処理を実行することと、およびトランザクションを不正としてマークすることと、が含まれる。ブロック1314において、タスクシステム210は、内部アクションに基づき、タスクを更新する。ブロック1316において、データセット取込システム202は、外部アプリケーションシステムから、更新後のデータにアクセスする。ブロック1318において、機械学習システム204は、更新後のデータと、更新後のタスクと、に基づき機械学習モデルを更新する。
図14は、一例の実施形態による、データ不足を検出するための方法1400を示す図である。ブロック1402において、データセット取込システム202は、データにアクセスする。ブロック1404において、タスクシステム210は、サービスアプリケーション124のユーザによって定義された、タスクにアクセスする。ブロック1406において、機械学習システム204は、学習データおよびタスクに基づき、機械学習モデルを形成する。ブロック1408において、機械学習システム204は、機械学習モデルを、機械学習プラットフォーム122に対する外部に存在するアプリケーションに提供する。ブロック1410において、監視/評価システム208は、機械学習モデルの展開を監視する。ブロック1412において、監視/評価システム208は、機械学習モデルの性能に基づき、データ不足を検出する。データ不足は、データの欠測(ミッシングデータ)、または不正確なデータ(例えば、誤動作または動かないセンサによって引き起こされるかもしれない)の形態であってよい。このデータから作られた予測の特徴量重要度は、これを発見するべく、照会(クエリ)されるとともに、典型的な値と比較されるかもしれない。性能メトリクスは、平均/標準偏差、期間中の分位数(quantiles)、などの入力データの特性と同様に、典型的/期待される性能と比較されてもよい。ブロック1414において、アクションシステム212は、データ不足に基づき内部アクションを生成する。ブロック1416において、データセット取込システム202は、内部アクションに基づき、欠測データにアクセスする。欠測データが与えられると、過去に目撃された類似のデータ点の例を見つけることが可能であり得る。そして、欠測データは、これらの類似のデータ点からの値で、近似されるかもしれない。あるいは、データセットのライブラリに照会することで、代替データを見つけることもできる。
図15は、一例の実施形態による、時系列信号に基づき機械学習モデルを形成するための方法を示す図である。方法1500は、以下に説明するように、1つまたは複数のコンピューティング装置によって実行されてもよい。
ブロック1502において、データセット取込システム502は、時間変動信号(時変信号)を含んでいるデータセットを受け取る。ブロック1504において、ターゲット特定システム512は、時間変動信号から信号を予測するべく、要求を受け取る。ブロック1506において、ターゲット特定システム512は、信号の将来時間属性を受け取る。ブロック1508において、ターゲット特定特徴量発見システム506は、特徴量発見モードの選択を受け取る。ブロック1510において、モデル学習システム504は、発見された特徴量に基づき、機械学習モデルを学習する。ブロック1512において、バックテストシステム510は、機械学習モデルのバックテストを実行する。ブロック1514において、予測システム508は、将来の時間属性における信号の値の予測を生成する。
図16は、一実施形態に従ったルーチン1600を示す。ブロック1602において、ルーチン1600は、サーバの1つまたは複数のプロセッサによって、データストアからのデータセットにアクセスする。ブロック1604において、ルーチン1600は、サーバにおいて作動する機械学習プラットフォームから、機械学習アルゴリズムのターゲットを識別するタスクの定義を受け取る。ブロック1606において、ルーチン1600は、機械学習アルゴリズムを利用することで、データセットおよびタスクに基づき、機械学習モデルを形成する。ブロック1608において、ルーチン1600は、機械学習プラットフォームに対する外部であるアプリケーションに、機械学習モデルへのアクセスを提供することによって、機械学習モデルを展開する。ブロック1610において、ルーチン1600は、展開された後の機械学習モデルの性能を監視する。ブロック1612において、ルーチン1600は、監視に基づき機械学習モデルを更新する。
図17は、本明細書で説明される装置のうちの任意の1つまたは複数にインストールされ得る、ソフトウェアアーキテクチャ1704を示すブロック図_1700である。ソフトウェアアーキテクチャ1704は、プロセッサ1720、メモリ1726、およびI/O構成要素1730、を備えている機械1702などのハードウェアによってサポートされる。この例では、ソフトウェアアーキテクチャ1704は、層(レイヤー)のスタックとして概念化することができ、各層は、特別(パティキュラ)な機能を提供する。ソフトウェアアーキテクチャ1704は、オペレーティングシステム1712、ライブラリ1710、フレームワーク1708、およびアプリケーション1706、などのレイヤーを備えている。動作上、アプリケーション1706は、ソフトウェアスタックを介してアプリケーションプログラムインタフェースAPIコール1732を呼び出すとともに、アプリケーションプログラムインタフェースAPIコール1732に応答してメッセージ1734を受け取る。
オペレーティングシステム1712は、ハードウェアリソースを管理するとともに、共通サービスを提供する。オペレーティングシステム1712は、例えば、カーネル1714、サービス1716、およびドライバ1722、を備えている。カーネル1714は、ハードウェアと他のソフトウェア層との間の抽象化層として機能する。例えば、カーネル1714は、メモリ管理、プロセッサ管理(例えば、スケジューリング)、構成要素管理、ネットワーキング、およびセキュリティ設定などの機能を提供する。サービス1716は、他のソフトウェア層に対して、他の共通サービスを提供することができる。ドライバ1722は、基礎となるハードウェアの制御またはインタフェースを担当する。例えば、ドライバ1722は、ディスプレイドライバ、カメラドライバ、BLUETOOTH(登録商標)またはBLUETOOTH(登録商標) Low Energyドライバ、フラッシュメモリドライバ、シリアル通信ドライバ(例えば、ユニバーサルシリアルバス(USB)ドライバ)、WI-FI(登録商標)ドライバ、オーディオドライバ、電力管理ドライバ、などを備えていることができる。
ライブラリ1710は、アプリケーション1706によって使用される低レベルの共通インフラストラクチャを提供する。ライブラリ1710は、メモリ割り当て関数、文字列操作関数、数学関数などの機能を提供するシステムライブラリ1718(例えば、C標準ライブラリ)を備えていることができる。さらに、ライブラリ1710は、メディアライブラリ(例えば、Moving Picture Experts Group-4(MPEG4), Advanced Video Coding(H.264またはAVC), Moving Picture Experts Group Layer-3(MP3), Advanced Audio Coding(AAC), Adaptive Multi-Rate(AMR) audio codec, Joint Photographic Experts Group(JPEGまたはJPG),またはPortable Network Graphics(PNG)等の様々なメディアフォーマットの提示および操作を支援するライブラリ)やグラフィックスライブラリ(例えば、ディスプレイ上のグラフィックコンテンツにおいて2次元(2D)および3次元(3D)でレンダリングするべく使用されるOpenGLフレームワーク)、データベースライブラリ(例えば、様々なリレーショナルデータベース機能を提供するSQLite)、ウェブライブラリ(例えば、ウェブブラウジング機能を提供するWebKit)などの、アプリケーションプログラムインタフェースAPIライブラリ1724を備えていることができる。ライブラリ1710はまた、アプリケーション1706に他の多くのアプリケーションプログラムインタフェースAPIを提供するべく、多種多様な他のライブラリ1728を備えていることができる。
フレームワーク1708は、アプリケーション1706によって使用される高レベルの共通インフラストラクチャを提供する。例えば、フレームワーク1708は、様々なグラフィカルユーザインタフェース(GUI)機能、高レベルのリソース管理、および高レベルの位置サービスを提供する。フレームワーク1708は、アプリケーション1706によって使用され得る他のアプリケーションプログラムインタフェースAPIの広範なスペクトルを提供することができ、そのうちのいくつかは、特別なオペレーティングシステムまたはプラットフォームに固有(スペシフィック)である可能性がある。
例示的な実施形態では、アプリケーション1706は、機械学習プラットフォーム122と、サービスアプリケーション124と、および、第三者アプリケーション114などの他のアプリケーションの広範な品揃えと、を備えていることができる。アプリケーション1706は、プログラムにおいて定義された機能を実行するプログラムである。オブジェクト指向プログラミング言語(例えば、Objective-C、JAVA(登録商標)、またはC++)または手続き型プログラミング言語(例えば、Cまたはアセンブリ言語)などの様々な様式で構成された、アプリケーション1706の1つまたは複数を作成するべく様々なプログラミング言語が採用され得る。具体例では、第三者アプリケーション114(例えば、特別なプラットフォームのベンダー以外のエンティティによってANDROID(登録商標)またはIOS(登録商標)ソフトウェア開発キット(SDK)を使用することで開発されたアプリケーション)は、IOS(登録商標)、ANDROID(登録商標)、WINDOWS(登録商標) Phone、または他のモバイルオペレーティングシステムなどの、モバイルオペレーティングシステム上で実行するモバイルソフトウェアであってもよい。この例では、第三者アプリケーション114は、オペレーティングシステム1712によって提供されるアプリケーションプログラムインタフェースAPIコール1732を呼び出するとともに、本明細書で説明する機能を促進することができる。
図18は、機械1800に本明細書で議論される方法論のいずれか1つまたは複数を実行させるための命令1808(例えば、ソフトウェア、プログラム、アプリケーション、アプレット、アプリ、または他の実行可能コード)が実行され得る、機械1800の図解的な表現である。例えば、命令1808は、機械1800に、本明細書で論じられる方法のうちの任意の1つまたは複数を実行させてもよい。命令1808は、一般的な、プログラムされていない機械1800を、説明された方法で説明され図示された機能を実行するようにプログラムされた特別な機械1800に変換する。機械1800は、スタンドアロン装置として作動してもよいし、他の機械に結合(例えば、ネットワーク化)されてもよい。ネットワーク化された展開において、機械1800は、サーバクライアントネットワーク環境においてサーバ機械またはクライアント機械の能力で、またはピアツーピア(または分散)ネットワーク環境におけるピア機械として、作動してもよい。機械1800は、限定されずに、サーバコンピュータ、クライアントコンピュータ、パーソナルコンピュータ(PC)、タブレットコンピュータ、ラップトップコンピュータ、ネットブック、セットトップボックス(STB)、PDA、娯楽メディアシステム、携帯電話、スマートフォン、モバイル装置、ウェアラブル装置(例えば、スマートウォッチ)、スマートホーム装置(例えば、スマート家電)、他のスマート装置、ウェブアプライアンス、ネットワークルータ、ネットワークスイッチ、ネットワークブリッジ、または、機械1800によって実行されるべきアクションを特定する命令1808を順次またはその他で実行できる任意の機械、を備えうる。さらに、単一の機械1800のみが図示されているが、用語「機械」は、本明細書で議論される方法論のいずれか1つまたは複数を実行するべく、個別にまたは共同で命令1808を実行する機械の集合を備えているとも解釈される。
機械1800は、プロセッサ1802、メモリ1804、およびI/O(入出力)構成要素1842を備えてもよく、これらはバス1844を介して互いに通信するように構成されてもよい。例示的な実施形態では、プロセッサ1802(例えば、中央処理装置(CPU)、縮小命令セットコンピューティング(RISC)プロセッサ、複合命令セットコンピューティング(CISC)プロセッサ、グラフィック処理装置(GPU)、デジタル信号プロセッサ(DSP)、ASIC、無線周波数集積回路(RFIC)、別のプロセッサ、またはそれらの任意の適切な組み合わせ)は、例えば、命令1808を実行するプロセッサ1806およびプロセッサ1810を備えてもよい。「プロセッサ」という用語は、複数の命令を同時期に実行し得る2つ以上の独立したプロセッサ(「コア」と呼ばれることもある)を備え得るマルチコアプロセッサを備えていることを意図している。図18は複数のプロセッサ1802を示しているが、機械1800は、単一のコアを有する単一のプロセッサ、複数のコアを有する単一のプロセッサ(例えば、マルチコアプロセッサ)、単一のコアを有する複数のプロセッサ、複数のコアを有する複数のプロセッサ、またはそれらの任意の組み合わせ、を備えてもよい。
メモリ1804は、バス1844を介してプロセッサ1802にアクセス可能な、メインメモリ1812、スタティックメモリ1814、および記憶装置1816を備えている。メインメモリ1812、スタティックメモリ1814、および記憶装置1816は、本明細書に記載される方法論または機能のうちの任意の1つまたは複数を具現化する命令1808を格納する。命令1808はまた、機械1800による命令1808の実行中に、完全にまたは部分的に、メインメモリ1812内、スタティックメモリ1814内、記憶装置1816内の機械可読媒体1818内、プロセッサ1802の少なくとも1つ内(例えば、プロセッサのキャッシュメモリ内)、またはそれらの任意の適切な組み合わせ、で存在してもよい。
I/O構成要素1842は、入力を受け取る、出力を提供する、出力を生成する、情報を送信する、情報を交換する、測定値を取り込む、などのための多種多様な構成要素を備えていることができる。特別な機械に含まれる特定のI/O構成要素1842は、機械の種類に依存する。例えば、携帯電話などの携帯用機械は、タッチ入力装置または他のそのような入力機構を備えていることができるが、ヘッドレスサーバ機械は、おそらくそのようなタッチ入力装置を備えていないであろう。I/O構成要素1842は、図18に示されていない他の多くの構成要素を備えてもよいことが理解されよう。様々な例示的な実施形態において、I/O構成要素1842は、出力構成要素1828および入力構成要素1830を備えてもよい。出力構成要素1828は、視覚構成要素(例えば、プラズマディスプレイパネル(PDP)、発光ダイオード(LED)ディスプレイ、液晶ディスプレイ(LCD)、プロジェクタ、または陰極線管(CRT)、などのディスプレイ)、音響構成要素(例えば、スピーカ)、触覚構成要素(例えば、振動モータ、抵抗機構)、他の信号発生器、などを備えてもよい。入力構成要素1830は、英数字入力構成要素(例えば、キーボード、英数字入力を受け取るように構成されたタッチスクリーン、フォト光学キーボード、または他の英数字入力構成要素)、点(ポイント)ベース入力構成要素(例えば、マウス、タッチパッド、トラックボール、ジョイスティック、運動(モーション)センサ、または他のポインティング機器)、触覚入力構成要素(例えば、物理ボタン、タッチまたはタッチジェスチャの位置および/または力を提供するタッチスクリーン、または他の触覚入力構成要素)、音声入力構成要素(例えば、マイク)、などである。
さらなる例示的な実施形態では、I/O構成要素1842は、他の幅広い構成要素の中で、生体測定(バイオメトリック)構成要素1832、運動(モーション)構成要素1834、環境構成要素1836、または位置構成要素1838を備えてもよい。例えば、生体測定構成要素1832は、表情の検出(例えば、手の表情、顔の表情、声の表情、体のジェスチャ、またはアイトラッキング)、生体信号の測定(例えば、血圧、心拍、体温、発汗、または脳波)、人の識別(例えば、音声識別、網膜識別、顔識別、指紋識別、または脳波ベースの識別)等を行う構成要素を備えている。運動構成要素1834は、例えば、加速度センサ構成要素(例えば、加速度計)、重力センサ構成要素、回転センサ構成要素(例えば、ジャイロスコープ)、等を備えている。環境構成要素1836は、例えば、照明センサ構成要素(例えば、光度計)、温度センサ構成要素(例えば、周囲温度を検出する1つまたは複数の温度計)、湿度センサ構成要素、圧力センサ構成要素(例えば、気圧計)、音響センサ構成要素(例えば、背景音を検出する1つまたは複数のマイク)、近接センサ構成要素(例えば、近くの物体を検出する赤外線センサ)、ガスセンサ(例えば、安全について危険なガスの濃度を検出する、または大気中の汚染物質を測定する、ためのガス検出センサ)、または周囲の物理環境に対応する表示、測定、または信号を提供し得る他の構成要素で、ある。位置構成要素1838は、位置センサ構成要素(例えば、GPS受信構成要素)、高度センサ構成要素(例えば、高度が導き出され得る気圧を検出する高度計または気圧計)、方向センサ構成要素(例えば、磁力計)、などを備えている。
通信は、多種多様な技術を使用することで実施することができる。I/O構成要素1842はさらに、それぞれ結合部1824および結合部1826を介して、機械1800をネットワーク1820または装置1822に結合するように動作可能な通信構成要素1840を備えている。例えば、通信構成要素1840は、ネットワーク1820とインタフェースするための、ネットワークインタフェース構成要素または他の適切な装置を備えてもよい。さらなる例では、通信構成要素1840は、有線通信構成要素、無線通信構成要素、セルラー通信構成要素、近距離無線通信(NFC)構成要素、Bluetooth(登録商標)構成要素(例えば、Bluetooth(登録商標) Low Energy)、Wi-Fi(登録商標)構成要素、および他のモダリティを介して通信を提供するための他の通信構成要素、を備えてもよい。装置1822は、他の機械または多種多様な周辺装置(例えば、USBを介して結合された周辺装置)のいずれかであってもよい。
さらに、通信構成要素1840は、識別子を検出するか、または識別子を検出するように動作可能な構成要素を備えるか、してもよい。例えば、通信構成要素1840は、無線周波数識別(RFID)タグリーダ構成要素、NFCスマートタグ検出構成要素、光学リーダ構成要素(例えば、ユニバーサル製品コード(UPC)バーコードなどの一次元バーコード、クイックレスポンス(QR)コード、アステックコード、データマトリクス、データグリフ、マキシコード、PDF417、ウルトラコード、UCC_RSS-2Dバーコード、およびその他の光学コード、などの多次元バーコード、を検出するための光学センサ)または音響検出構成要素(例えば、タグ付オーディオ信号を識別するマイクロフォン)などを備えていることができる。さらに、インターネットプロトコル(IP)ジオロケーションによる位置、Wi-Fi(登録商標)信号の三角測量による位置、特別な位置を示し得るNFCビーコン信号の検出による位置など、通信構成要素1840を介して、様々な情報が導出され得る。
様々なメモリ(例えば、メモリ1804、メインメモリ1812、スタティックメモリ1814、および/または、プロセッサ1802のメモリ)および/または記憶装置1816は、本明細書に記載される方法論または機能のいずれか1つまたは複数によって具現化または使用される命令およびデータ構造(例えば、ソフトウェア)の1セットまたは複数を格納し得る。これらの命令(例えば、命令1808)は、プロセッサ1802によって実行されると、開示された実施形態を実装するための様々な動作を引き起こす。
命令1808は、ネットワーク1820を介して、伝送媒体を用いることで、ネットワークインタフェース装置(例えば、通信構成要素1840に含まれるネットワークインタフェース構成要素)を介して、多数の周知の転送プロトコル(例えば、ハイパーテキスト転送プロトコル(HTTP))のいずれか1つを用いることで、送信または受信されてもよい。同様に、命令1808は、結合部1826(例えば、ピアツーピア結合)を介して伝送媒体を使用することで、装置1822に送信または受信されてもよい。
特定の例示的な実施形態を参照して実施形態を説明したが、本開示のより広い範囲から逸脱することなく、これらの実施形態に対して様々な修正および変更を行うことができることは明らかであろう。従って、本明細書および図面は、制限的な意味ではなく例示的な意味で捉えられるべきである。本明細書の一部を構成する添付の図面は、主題が実施され得る特定の実施形態を、限定ではなく例示として示すものである。図示された実施形態は、当業者が本明細書に開示された教示を実践できるように十分詳細に説明されている。他の実施形態は、本開示の範囲から逸脱することなく、構造的および論理的な置換および変更がなされ得るように、利用され、そこから派生し得る。したがって、この詳細な説明は、限定的な意味でとられるものではなく、様々な実施形態の範囲は、添付の請求項によってのみ、そのような請求項が権利を有する全範囲の均等物とともに定義される。
本発明の主題のそのような実施形態は、単に便宜上、本明細書において、個別におよび/または集合的に、「発明」という用語で呼ばれることがあり、複数の発明または発明概念が実際に開示されている場合、本願の範囲を任意に単一の発明に制限しようとする意図はない。したがって、特定の実施形態が本明細書に図示され、説明されているが、同じ目的を達成するべく計算された任意の配置が、示された特定の実施形態に置き換えられ得ることが理解されるべきである。本開示は、様々な実施形態の任意のおよびすべての適応または変形をカバーすることを意図している。上記の実施形態の組み合わせ、および本明細書に特に記載されていない他の実施形態は、上記の説明を検討すれば、当業者には明らかであろう。
開示の要約は、読者が技術開示の性質を迅速に把握することができるように提供される。要約は、請求項の範囲または意味を解釈または制限するべく使用されないことを理解した上で提出されるものである。さらに、前述の詳細な説明では、開示を合理化する目的で、様々な特徴が単一の実施形態にまとめられていることが分かる。この開示方法は、請求された実施形態が各請求項に明示的に記載されている以上の特徴を必要とするという意図を反映していると解釈されてはならない。むしろ、以下の請求項が反映するように、発明的主題は、単一の開示された実施形態のすべての特徴よりも少ない特徴に存在する。したがって、以下の請求項は、各請求項がそれ自体で別個の実施形態として存在する状態で、本明細書に組み込まれる。
<実施例>
実施例1は、以下を備えているコンピュータ実装方法である。サーバの1つまたは複数のプロセッサによって、データストアからのデータセットにアクセスする工程。サーバで作動する機械学習プラットフォームから、機械学習アルゴリズムのターゲット(目標)を識別(アイデンティファイ)するタスクの定義を受け取る工程。機械学習アルゴリズムを利用することで、データセットおよびタスクに基づき機械学習モデルを形成する工程。機械学習プラットフォームに対する外部であるアプリケーションに、機械学習モデルへのアクセスを提供することによって、機械学習モデルを展開する工程。展開した後の機械学習モデルの性能を監視する工程。監視に基づき機械学習モデルを更新する工程。コンピュータ実装方法は、これら工程を備えている。
実施例1は、以下を備えているコンピュータ実装方法である。サーバの1つまたは複数のプロセッサによって、データストアからのデータセットにアクセスする工程。サーバで作動する機械学習プラットフォームから、機械学習アルゴリズムのターゲット(目標)を識別(アイデンティファイ)するタスクの定義を受け取る工程。機械学習アルゴリズムを利用することで、データセットおよびタスクに基づき機械学習モデルを形成する工程。機械学習プラットフォームに対する外部であるアプリケーションに、機械学習モデルへのアクセスを提供することによって、機械学習モデルを展開する工程。展開した後の機械学習モデルの性能を監視する工程。監視に基づき機械学習モデルを更新する工程。コンピュータ実装方法は、これら工程を備えている。
例2は、例1を備えている。データセットにアクセスする工程はさらに、データストアからのデータセットのライブラリにアクセスする工程と、タスクおよびデータセットに基づき、データセットのライブラリからの追加データを識別する工程と、追加データでデータセットを拡張する工程と、を備えている。
例3は、上記の例のいずれか1つを備えている。データセットにアクセスする工程はさらに、タスクに基づきデータセットをパーティショニングおよびフィルタリングすることによって、処理に向けてデータセットを準備する工程を備えている。機械学習モデルは、準備されたデータセットに基づく。
例4は、上記の例のいずれか1つを備えている。データセットにアクセスする工程はさらに、データセットに基づきモデル検索空間(モデルサーチスペース)を定義する工程を備えている。機械学習モデルは、モデル検索空間から形成される。
例5は、上記の例のいずれか1つを備えている。監視する工程はさらに、機械学習モデルをテストする工程と、アプリケーションから、機械学習モデルの性能評価(パフォーマンスアセスメント)を受け取る工程と、テストおよび性能評価に基づき機械学習モデルの性能指標(パフォーマンスインジケータ)を生成する工程と、を備えている。監視する工程はさらに、機械学習モデルの性能指標が機械学習モデルの性能閾値を超えることを判定する工程と、機械学習モデルの性能指標が機械学習モデルの性能閾値を超えると判定したことに応答して、機械学習モデルを更新する工程と、を備えている。機械学習モデルの更新はさらに、以下を備えていることを特徴とする。すなわち、データセットを更新する工程。機械学習モデルの性能指標に基づき、タスクの定義を更新する工程。機械学習アルゴリズムを利用することで、タスクの更新後の定義と、更新後のデータセットと、に基づき別の機械学習モデルを形成する工程。これら工程を、機械学習モデルの更新はさらに備えている。
例6は、上記の例のいずれか1つを備えている。機械学習モデルを更新する工程はさらに、機械学習モデルの性能に基づきデータ不足(データデフィシット)を検出する工程と、データストアから、データ不足を改善(レメディ)する追加データにアクセスする工程と、機械学習アルゴリズムを利用することで、追加データおよびタスクに基づき、別の機械学習モデルを形成する工程と、を備えている。
例7は、上記の例のいずれか1つを備えている。機械学習モデルを更新する工程はさらに、タスクの定義を更新する工程と、データストアから、タスクの更新後の定義に基づき追加データにアクセスする工程と、を備えている。機械学習モデルを更新する工程はさらに、機械学習アルゴリズムを利用することで、追加データと、タスクの更新後の定義と、に基づき別の機械学習モデルを形成する工程を備えている。ターゲットは、解決すべきデータセットの属性と、またはデータセットの特徴量の探査(エクスプラレイション)と、のうちの少なくとも一方を示す。
例8は、上記の例のいずれか1つを備えておいる。コンピュータ実装方法はさらに、ターゲットに基づき、データセットの特徴量を識別する工程を備えている。ターゲットは、将来の時点を示す。データセットは、複数の時間変動する信号を備えている。コンピュータ実装方法はさらに、識別された特徴量に基づき機械学習モデルを学習する工程と、および、学習済み機械学習モデルを使用することで、将来の時点におけるデータセットの属性のデータの予測を生成する工程と、を備えている。
例9は、上記の例のいずれか1つを備えている。コンピュータ実装方法はさらに、データセット内の複数の時間変動する信号から信号の選択を受け取る工程を備えている。ターゲットは、信号の将来の時点を示している。コンピュータ実装方法はさらに、学習済み機械学習モデルを使用することで、選択された信号のバックテストを行う工程と、バックテストからの結果に基づき学習済み機械学習モデルを検証(バリデート)する工程と、を備えている。
例10は、上記の例のいずれか1つを備えている。コンピュータ実装方法はさらに、データセットの特徴量セットにアクセスする工程と、特徴量セットから、拡張後の特徴量セットを形成する工程と、を備えている。コンピュータ実装方法はさらに、ターゲットセットの各ターゲットについて、拡張後の特徴量セットの依存関係(デペンデンシ)を測定する工程と、ターゲットセットの各ターゲットについて単一の特徴量を生成する工程と、を備えている。
例11は、上記の例のいずれか1つを備えている。拡張後の特徴量セットを形成する工程はさらに、データセットの各信号について、対応する信号の履歴点を走査する工程と、データセットの各信号について、履歴点を現在時間にシフトする工程と、データセットの各信号について、シフトした履歴点に基づき新しい信号を生成する工程と、特徴量セット内のすべての信号からの新しい信号に基づき、拡張後の特徴量セットを形成する工程と、を備えていることを特徴とする。
例12は、プロセッサと、プロセッサによって実行されると以下を備えている動作を実行するようにコンピューティング装置を構成する命令を記憶するメモリと、を備えているコンピューティング装置である。動作は、サーバの1つまたは複数のプロセッサによって、データストアからのデータセットにアクセスする工程と、サーバで作動する機械学習プラットフォームから、機械学習アルゴリズムのターゲットを識別するタスクの定義を受け取る工程と、を備えている。動作はさらに、機械学習アルゴリズムを利用することで、データセットおよびタスクに基づき、機械学習モデルを形成する工程と、機械学習プラットフォームに対する外部のアプリケーションに機械学習モデルへのアクセスを与えることによって機械学習モデルを展開する工程と、を備えている。動作はさらに、展開された後の機械学習モデルの性能を監視する工程と、および、監視に基づき機械学習モデルを更新する工程と、を備えている。
例13は、上記の例のいずれか1つを備えている。データセットにアクセスする工程はさらに、データストアからのデータセットのライブラリにアクセスする工程と、タスクおよびデータセットに基づき、データセットのライブラリからの追加データを識別する工程と、追加データでデータセットを拡張する工程と、を備えている。
例14は、上記の例のいずれか1つを備えている。データセットにアクセスする工程はさらに、タスクに基づきデータセットを分割(パーティショニング)およびフィルタリングすることによって、処理に向けてデータセットを準備する工程を備えている。機械学習モデルは、準備されたデータセットに基づく。
例15は、上記の例のいずれか1つを備えている。データセットにアクセスする工程はさらに、準備されたデータセットに基づき、モデル検索空間を定義する工程を備えている。機械学習モデルは、モデル検索空間から形成される。
例16は、上記の例のいずれか1つを備えている。監視する工程はさらに、機械学習モデルをテストする工程と、アプリケーションから、機械学習モデルの性能評価を受け取る工程と、テストおよび性能評価に基づき、機械学習モデルの性能指標を生成する工程と、を備えている。監視する工程はさらに、機械学習モデルの性能指標が機械学習モデルの性能閾値を超えることを判定する工程と、機械学習モデルの性能指標が機械学習モデルの性能閾値を超えると判定したことに応答して、機械学習モデルを更新する工程と、を備えている。機械学習モデルを更新する工程はさらに、データセットを更新する工程と、機械学習モデルの性能指標に基づきタスクの定義を更新する工程と、および、機械学習アルゴリズムを用いることで、タスクの更新後の定義と、更新後のデータセットと、に基づき別の機械学習モデルを形成する工程と、を備えていることを特徴とする。
例17は、上記の例のいずれか1つを備えている。機械学習モデルを更新する工程はさらに、機械学習モデルの性能に基づきデータ不足を検出する工程と、データストアから、データ不足を改善する追加データにアクセスする工程と、機械学習アルゴリズムを利用することで、追加データおよびタスクに基づき別の機械学習モデルを形成する工程と、を備えている。
例18は、上記の例のいずれか1つを備えている。機械学習モデルを更新する工程はさらに、タスクの定義を更新する工程と、データストアから、タスクの更新後の定義に基づき追加データにアクセスする工程と、機械学習アルゴリズムを利用することで、追加データと、タスクの更新後の定義と、に基づき別の機械学習モデルを形成する工程と、を備えている。ターゲットは、解決すべきデータセットの属性と、またはデータセットの特徴量の探査(エクスプラレイション)と、のうちの少なくとも一方を示す。
例19は、上記の例のいずれか1つを備えている。動作はさらに、ターゲットに基づき、データセットの特徴量を識別する工程を備えている。ターゲットは、将来の時点を示す。データセットは、複数の時間変動する信号を備えている。動作はさらに、識別された特徴量に基づき、機械学習モデルを学習する工程と、および、学習済み機械学習モデルを使用することで、将来の時点におけるデータセットの属性のデータの予測を生成する工程と、を備えている。命令は、このような動作をコンピューティング装置に行わせるように構成されていることを特徴とする。
例20は、上記の例のいずれか1つを備えている。動作はさらに、データセット内の複数の時間変動する信号から、信号の選択を受け取る工程を備えている。ターゲットは、信号の将来の時点を示す。動作はさらに、学習済み機械学習モデルを使用することで、選択した信号に対してバックテストを実行する工程と、および、バックテストからの結果に基づき、学習済み機械学習モデルを検証する工程と、を備えている。命令は、このような動作をコンピューティング装置に実行させるように構成されている。
例21は、上記の例のいずれか1つを備えている。動作はさらに、データセットの特徴量セットにアクセスする工程と、特徴量セットから、拡張後の特徴量セットを形成する工程と、を備えている。動作はさらに、ターゲットセットの各ターゲットについて、拡張後の特徴量セットの依存関係を測定する工程と、ターゲットセットの各ターゲットについて、単一の特徴量を生成する工程と、を備えている。命令は、このような動作をコンピューティング装置に実行させるように構成されている。
例22は、コンピュータ可読記憶媒体である。コンピュータ可読記憶媒体は、コンピュータによって実行されたとき、コンピュータに以下を備えている動作を実行させる命令を備えている。動作は、サーバの1つまたは複数のプロセッサによって、データストアからのデータセットにアクセスする工程と、サーバで作動する機械学習プラットフォームから、機械学習アルゴリズムのターゲットを識別するタスクの定義を受け取る工程と、を備えている。動作はさらに、機械学習アルゴリズムを利用することで、データセットおよびタスクに基づき、機械学習モデルを形成する工程と、機械学習プラットフォームに対する外部であるアプリケーションに機械学習モデルへのアクセスを与えることによって、機械学習モデルを展開する工程と、を備えている。動作はさらに、展開した後の機械学習モデルの性能を監視する工程と、および、監視に基づき機械学習モデルを更新する工程と、を備えている。
Claims (15)
- コンピュータ実装方法であって、前記コンピュータ実装方法は、
サーバの1つまたは複数のプロセッサによって、データストアからのデータセットにアクセスする工程と、
前記サーバで作動する機械学習プラットフォームから、機械学習アルゴリズムのターゲットを識別するタスクの定義を受け取る工程と、
前記機械学習アルゴリズムを利用することで、前記データセットおよび前記タスクに基づき機械学習モデルを形成する工程と、
前記機械学習プラットフォームに対する外部に存在するアプリケーションに、前記機械学習モデルへのアクセスを提供することによって、前記機械学習モデルを展開する工程と、
展開後の前記機械学習モデルの性能を監視する工程と、
前記監視する工程に基づき、前記機械学習モデルを更新する工程と、
を備えている、コンピュータ実装方法。 - 前記データセットにアクセスする工程はさらに、
前記データストアから前記データセットのライブラリにアクセスする工程と、
前記タスクおよび前記データセットに基づき、前記データセットの前記ライブラリからの追加データを識別する工程と、および
前記データセットを前記追加データで拡張する工程と、
を備えている、請求項1に記載のコンピュータ実装方法。 - 前記データセットにアクセスする工程はさらに、前記タスクに基づき前記データセットを分割するとともにフィルタリングすることによって、処理に向けて前記データセットを準備する工程を備えており、
前記機械学習モデルは、準備された前記データセットに基づく、
請求項1に記載のコンピュータ実装方法。 - 前記データセットにアクセスする工程はさらに、前記データセットに基づきモデル探索空間を定義する工程を備えており、
前記機械学習モデルは前記モデル探索空間から形成される、
請求項1に記載のコンピュータ実装方法。 - 前記監視する工程はさらに、
前記機械学習モデルをテストする工程と、
前記アプリケーションから、前記機械学習モデルの性能評価を受け取る工程と、
前記テストおよび前記性能評価に基づき、前記機械学習モデルの性能指標を生成する工程と、
前記機械学習モデルの前記性能指標が機械学習モデル性能閾値を超えることを判定する工程と、
前記機械学習モデルの前記性能指標が前記機械学習モデル性能閾値を超えると判定することに応答して、前記機械学習モデルを更新する工程と、
を備えており、
前記機械学習モデルを更新する工程はさらに、
前記データセットを更新する工程と、
前記機械学習モデルの前記性能指標に基づき、前記タスクの定義を更新する工程と、および
前記機械学習アルゴリズムを利用することで、更新後の前記タスクの定義と、更新後の前記データセットと、に基づき別の機械学習モデルを形成する工程と、
を備えている、請求項1に記載のコンピュータ実装方法。 - 前記機械学習モデルを更新する工程はさらに、
前記機械学習モデルの性能に基づき、データ不足を検出する工程と、
前記データストアから、データ不足を改善する追加データにアクセスする工程と、および
前記機械学習アルゴリズムを利用することで、前記追加データおよび前記タスクに基づき、別の機械学習モデルを形成する工程と、
を備えている、請求項1に記載のコンピュータ実装方法。 - 前記機械学習モデルを更新する工程はさらに、
前記タスクの定義を更新する工程と、
前記データストアから、前記タスクの更新後の前記定義に基づき追加データにアクセスする工程と、および
前記機械学習アルゴリズムを用いることで、前記追加データと、更新後の前記タスクの前記定義と、に基づき別の機械学習モデルを形成する工程と、
を備えており、
前記ターゲットは、解決すべき前記データセットの属性と、または前記データセットの特徴量の探査と、のうちの少なくとも1つを示す、
請求項1に記載のコンピュータ実装方法。 - 前記コンピュータ実装方法はさらに、
前記ターゲットに基づき前記データセットの特徴量を識別する工程であって、前記ターゲットは将来の時点を示しており、前記データセットは複数の時間変動する信号を備えている、前記識別する工程と、
識別された前記特徴量に基づき、前記機械学習モデルを学習する工程と、
学習済み前記機械学習モデルを使用することで、前記将来の時点における前記データセットの属性のデータの予測を生成する工程と、
を備えている、請求項1に記載のコンピュータ実装方法。 - 前記コンピュータ実装方法はさらに、
前記データセット内の複数の時間変動する信号から信号の選択を受け取る工程であって、前記ターゲットは前記信号の将来の時点を示す、前記選択を受け取る工程と、
学習済み前記機械学習モデルを用いることで、選択された前記信号に対してバックテストを実行する工程と、
前記バックテストの結果に基づき、学習済み前記機械学習モデルを検証する工程と、
を備えている、請求項8に記載のコンピュータ実装方法。 - 前記コンピュータ実装方法はさらに、
前記データセットの特徴量セットにアクセスする工程と、
前記特徴量セットから、拡張後の特徴量セットを形成する工程と、
ターゲットセットの各ターゲットについて、拡張後の前記特徴量セットの依存関係を測定する工程と、および
前記ターゲットセットの各ターゲットについて単一の特徴量を生成する工程と、
を備えている、請求項8に記載のコンピュータ実装方法。 - 前記拡張後の特徴量セットを形成する工程はさらに、
前記データセットの各信号について、対応する信号の履歴点を走査する工程と、
前記データセットの各信号について、前記履歴点を現在にシフトさせる工程と、
前記データセットの各信号について、シフトされた前記履歴点に基づき、新しい信号を生成する工程と、および
前記特徴量セット内のすべての信号からの前記新しい信号に基づき、拡張後の特徴量セットを形成する工程と、
を備えている、請求項10に記載のコンピュータ実装方法。 - コンピューティング装置であって、前記コンピューティング装置は、
プロセッサと、および
前記プロセッサによって実行されたときに前記コンピューティング装置が動作を行うように構成されている命令を記憶しているメモリと、
を備えており、前記動作は、
サーバの1つまたは複数のプロセッサによって、データストアからのデータセットにアクセスする工程と、
前記サーバで作動する機械学習プラットフォームから、機械学習アルゴリズムのターゲットを識別するタスクの定義を受け取る工程と、
前記機械学習アルゴリズムを利用することで、前記データセットおよび前記タスクに基づき、機械学習モデルを形成する工程と、
前記機械学習プラットフォームに対する外部に存在するアプリケーションに、前記機械学習モデルへのアクセスを提供することによって、前記機械学習モデルを展開する工程と、
展開後の前記機械学習モデルの性能を監視する工程と、および
前記監視する工程に基づき、前記機械学習モデルを更新する工程と、
を備えている、コンピューティング装置。 - 前記データセットにアクセスする工程はさらに、
前記データストアから前記データセットのライブラリにアクセスする工程と、
前記タスクおよび前記データセットに基づき、前記データセットの前記ライブラリからの追加データを識別する工程と、および
前記データセットを前記追加データで拡張する工程と、
を備えている、請求項12に記載のコンピューティング装置。 - 前記データセットにアクセスする工程はさらに、前記タスクに基づき前記データセットを分割およびフィルタリングすることによって、処理するべく前記データセットを準備する工程を備えており、
前記機械学習モデルは準備された前記データセットに基づく、
請求項12に記載のコンピューティング装置。 - 前記データセットにアクセスする工程はさらに、準備された前記データセットに基づきモデル検索空間を定義する工程を備えており、
前記機械学習モデルは前記モデル検索空間から形成される、
請求項12に記載のコンピューティング装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/793,814 US20210256310A1 (en) | 2020-02-18 | 2020-02-18 | Machine learning platform |
US16/793,814 | 2020-02-18 | ||
PCT/IB2021/000097 WO2021165746A1 (en) | 2020-02-18 | 2021-02-18 | Machine learning platform |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023514465A true JP2023514465A (ja) | 2023-04-05 |
Family
ID=75143676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022574853A Pending JP2023514465A (ja) | 2020-02-18 | 2021-02-18 | 機械学習プラットフォーム |
Country Status (4)
Country | Link |
---|---|
US (1) | US20210256310A1 (ja) |
EP (1) | EP4107679A1 (ja) |
JP (1) | JP2023514465A (ja) |
WO (1) | WO2021165746A1 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11568246B2 (en) * | 2019-05-09 | 2023-01-31 | Sri International | Synthetic training examples from advice for training autonomous agents |
US11501239B2 (en) * | 2020-03-18 | 2022-11-15 | International Business Machines Corporation | Metric specific machine learning model improvement through metric specific outlier removal |
US11574215B2 (en) * | 2020-04-26 | 2023-02-07 | Kyndryl, Inc. | Efficiency driven data collection and machine learning modeling recommendation |
CN113673706A (zh) * | 2020-05-15 | 2021-11-19 | 富泰华工业(深圳)有限公司 | 机器学习模型训练方法、装置及电子设备 |
US11449350B2 (en) * | 2020-06-26 | 2022-09-20 | Atlassian Pty Ltd. | Systems and methods for automatically updating compute resources |
US11928607B2 (en) | 2020-10-30 | 2024-03-12 | AstrumU, Inc. | Predictive learner recommendation platform |
US11074509B1 (en) | 2020-10-30 | 2021-07-27 | AstrumU, Inc. | Predictive learner score |
EP4288918A1 (en) * | 2021-02-05 | 2023-12-13 | Savvi AI Inc. | Systems and methods for managing, distributing and deploying a recursive decisioning system based on continuously updating machine learning models |
US11847172B2 (en) | 2022-04-29 | 2023-12-19 | AstrumU, Inc. | Unified graph representation of skills and acumen |
US11941925B2 (en) * | 2022-06-29 | 2024-03-26 | Beta Air, Llc | Monitoring system for an electric aircraft and a method for its use |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160132787A1 (en) * | 2014-11-11 | 2016-05-12 | Massachusetts Institute Of Technology | Distributed, multi-model, self-learning platform for machine learning |
US10163061B2 (en) * | 2015-06-18 | 2018-12-25 | International Business Machines Corporation | Quality-directed adaptive analytic retraining |
US10402741B2 (en) * | 2017-05-18 | 2019-09-03 | Sas Institute Inc. | Analytic system based on multiple task learning with incomplete data |
US20200034665A1 (en) * | 2018-07-30 | 2020-01-30 | DataRobot, Inc. | Determining validity of machine learning algorithms for datasets |
US11960843B2 (en) * | 2019-05-02 | 2024-04-16 | Adobe Inc. | Multi-module and multi-task machine learning system based on an ensemble of datasets |
US11934971B2 (en) * | 2019-05-24 | 2024-03-19 | Digital Lion, LLC | Systems and methods for automatically building a machine learning model |
US11954610B2 (en) * | 2019-08-09 | 2024-04-09 | GE Precision Healthcare LLC | Active surveillance and learning for machine learning model authoring and deployment |
US11568187B2 (en) * | 2019-08-16 | 2023-01-31 | Fair Isaac Corporation | Managing missing values in datasets for machine learning models |
-
2020
- 2020-02-18 US US16/793,814 patent/US20210256310A1/en active Pending
-
2021
- 2021-02-18 WO PCT/IB2021/000097 patent/WO2021165746A1/en unknown
- 2021-02-18 EP EP21713737.1A patent/EP4107679A1/en active Pending
- 2021-02-18 JP JP2022574853A patent/JP2023514465A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
US20210256310A1 (en) | 2021-08-19 |
WO2021165746A1 (en) | 2021-08-26 |
EP4107679A1 (en) | 2022-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210256310A1 (en) | Machine learning platform | |
US10678997B2 (en) | Machine learned models for contextual editing of social networking profiles | |
US11250340B2 (en) | Feature contributors and influencers in machine learned predictive models | |
US20180357559A1 (en) | Machine learning models for evaluating entities in a high-volume computer network | |
US20190370695A1 (en) | Enhanced pipeline for the generation, validation, and deployment of machine-based predictive models | |
US20180204113A1 (en) | Interaction analysis and prediction based neural networking | |
US20200380309A1 (en) | Method and System of Correcting Data Imbalance in a Dataset Used in Machine-Learning | |
CN109074368B (zh) | 使用异构社交网络的图形框架 | |
US10586157B2 (en) | Skill-based title prediction model | |
US11295237B2 (en) | Smart copy optimization in customer acquisition and customer management platforms | |
EP3385868A1 (en) | Title disambiguation in a social network taxonomy | |
US20220198263A1 (en) | Time series anomaly detection | |
US11995670B2 (en) | User experience management system | |
WO2018097898A1 (en) | Embedded deep representation of social network taxonomy | |
US10459901B2 (en) | Embedded deep representation of social network taxonomy | |
CN117882066A (zh) | 基于用户可信度验证众包现场报告 | |
US11797619B2 (en) | Click intention machine learned models | |
US20220004567A1 (en) | Active entity resolution model recommendation system | |
CN116601961A (zh) | 视觉标签显露模式检测 | |
LU102509B1 (en) | Multi-layered data center capacity forecasting system | |
US20230105039A1 (en) | Network benchmarking architecture | |
US20220180181A1 (en) | Reversal-point-based detection and ranking | |
US11841891B2 (en) | Mapping webpages to page groups | |
US20230316298A1 (en) | Method and system of intelligently managing customer support requests | |
US11861295B2 (en) | Encoding a job posting as an embedding using a graph neural network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240205 |