JP2023044728A - 機械学習のための方法、システムおよびコンピュータプログラム製品(埋め込みを用いるインクリメンタル機械学習) - Google Patents
機械学習のための方法、システムおよびコンピュータプログラム製品(埋め込みを用いるインクリメンタル機械学習) Download PDFInfo
- Publication number
- JP2023044728A JP2023044728A JP2022147755A JP2022147755A JP2023044728A JP 2023044728 A JP2023044728 A JP 2023044728A JP 2022147755 A JP2022147755 A JP 2022147755A JP 2022147755 A JP2022147755 A JP 2022147755A JP 2023044728 A JP2023044728 A JP 2023044728A
- Authority
- JP
- Japan
- Prior art keywords
- machine learning
- embedding
- candidate
- embeddings
- outputs
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- 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/217—Validation; Performance evaluation; Active pattern learning techniques
-
- 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/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
- G06F18/2137—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on criteria of topology preservation, e.g. multidimensional scaling or self-organising maps
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24147—Distances to closest patterns, e.g. nearest neighbour classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/2431—Multiple classes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Molecular Biology (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
Abstract
【課題】埋め込みを用いるインクリメンタル機械学習のための方法、システムおよびコンピュータプログラム製品を提供する。
【解決手段】新しい出力を包含する結果を生成するための機械学習方法であって、機械学習モデルは、複数の候補出力の中から候補出力を決定するために訓練される。複数の候補出力に関連する第1埋め込みは、訓練された機械学習モデルの中間レイヤによって、訓練データの第1セットから生成される。新しい候補出力に関連する第2埋め込みは、訓練された機械学習モデルの中間レイヤによって、訓練データの第2セットから生成される。訓練された機械学習モデルの中間レイヤによって、第3埋め込みが入力データに対して決定される。複数の候補出力のグループと、第1および第2埋め込みに対する第3埋め込みの距離に基づく新しい候補出力とから、入力データに対する結果としての候補出力が予測される。
【選択図】図6
【解決手段】新しい出力を包含する結果を生成するための機械学習方法であって、機械学習モデルは、複数の候補出力の中から候補出力を決定するために訓練される。複数の候補出力に関連する第1埋め込みは、訓練された機械学習モデルの中間レイヤによって、訓練データの第1セットから生成される。新しい候補出力に関連する第2埋め込みは、訓練された機械学習モデルの中間レイヤによって、訓練データの第2セットから生成される。訓練された機械学習モデルの中間レイヤによって、第3埋め込みが入力データに対して決定される。複数の候補出力のグループと、第1および第2埋め込みに対する第3埋め込みの距離に基づく新しい候補出力とから、入力データに対する結果としての候補出力が予測される。
【選択図】図6
Description
本発明の実施形態は、機械学習に関し、より具体的には、機械学習モデルを再訓練することなく、埋め込みを用いる新しい側面(例えば、新しい出力、新しいクラスなど)のインクリメンタル機械学習に関する。
分類は機械学習の分野であり、異なる入力をある数のグループまたはクラスに分類するために使用される。分類はコンピュータビジョン、自然言語処理、およびデータ解析など様々な分野で広く使用されている。一般に、分類モデルは、予測するクラスの数に等しい数のノードを含む固定サイズの出力レイヤで生成される(例えば、出力レイヤの各ノードが予測されるクラスに対応する)。
分類モデルに新しいクラスを追加したい場合、新しいクラスを含めるために、分類モデルを再設定、リセット、再訓練する必要がある。そのため、クラスの数が頻繁に変わる場合は、常に分類モデルを再設定、リセット、再訓練する必要がある。
埋め込みを用いるインクリメンタル機械学習のための方法、システムおよびコンピュータプログラム製品を提供する。
本発明の一実施形態によれば、新しい出力を包含する結果を生成するための機械学習のためのシステムは、少なくとも1つのプロセッサを含む。機械学習モデルは、複数の候補出力の中から候補出力を決定するために訓練される。複数の候補出力に関連する第1埋め込みは、訓練データの第1セットから生成される。第1埋め込みは、訓練された機械学習モデルの中間レイヤから生成される。新しい候補出力に関連する第2埋め込みは、訓練データの第2セットから生成される。第2埋め込みは、訓練された機械学習モデルの中間レイヤから生成される。第3埋め込みは、訓練された機械学習モデルの中間レイヤによって、入力データに対して決定される。複数の候補出力のグループと、第1および第2埋め込みに対する第3埋め込みの距離に基づく新しい候補出力とから、入力データに対する結果としての候補出力が予測される。本発明の実施形態は、上記と実質的に同じ方法で新しい出力を包含する結果を生成するための機械学習のための方法およびコンピュータプログラム製品をさらに含む。
本発明の実施形態は、新しい候補出力を、その候補出力の訓練データに基づいて、機械学習モデルを再訓練させることなく学習することができるため、コンピューティングおよびメモリ資源を節約し、機械学習の速度を大幅に向上させることが可能である。
本発明の実施形態は、機械学習モデルとして、複数の候補出力がクラスを含み、新しい候補出力が新しいクラスを含む分類モデルを採用してよい。これにより、分類モデルを再訓練させることなく、新しいクラスを追加して分類することを可能にするため、特にクラスが頻繁に変化する場合のコンピューティング性能を向上させることができる。
本発明の実施形態は、さらに、第1および第2埋め込みから、第3埋め込みに最も近い複数の埋め込みを決定し、決定された複数の埋め込みに関連する候補出力に基づいて、結果としての候補出力を決定することによって、結果としての候補出力を予測してもよい。埋め込みと予測は、機械学習モデルを再訓練することなく、新しい候補出力を追加するために使用される。埋め込み(およびその間の距離)の使用は、さらに、再訓練を回避するための予測の十分な精度を提供する。
本発明の実施形態は、決定された複数の埋め込みの大多数に関連する候補出力に基づいて、結果としての候補出力を決定することもできる。大多数を使用することにより、機械学習モデルの再訓練を回避するための予測の精度を高めるために適切な(そして最も近い)候補出力が選択されることが保証される。
本発明の実施形態は、第1および第2埋め込みに基づき、訓練スコアをさらに決定し、訓練スコアが閾値を満たさないことに応答して、機械学習モデルを再訓練することができる。これにより、埋め込みの性能を監視して、埋め込みの性能を向上させるために埋め込みの再訓練を選択的に始動させることができる。したがって、機械学習モデルを訓練する頻度を大幅に減少させることができ、コンピュータの性能を向上させることができる。
本発明の実施形態はさらに、第1埋め込みが、それぞれが対応する候補出力に関連する複数の第1クラスタを形成し、第2埋め込みが、新しい候補出力に関連する第2クラスタを形成するようにしてもよい。この場合、訓練スコアは、第2クラスタ内の第2埋め込みとの間の距離と、第2埋め込みそれぞれと複数の第1クラスタとの間の距離とに基づいて決定されてよい。これにより、新しい候補出力に対する埋め込みによって形成されるクラスタの品質に基づいて、埋め込みの性能を監視することができる。新しい候補出力に対するクラスタが、新しい候補出力を複数の候補出力から区別するのに不十分である場合、埋め込みの再訓練が行われ、埋め込みの性能が向上される。したがって、機械学習モデルの訓練頻度を大幅に減少させることができ、コンピュータの性能を向上させることができる。
本発明の実施形態において、機械学習モデルは、複数の候補出力のための入力レイヤ、中間レイヤ、および出力レイヤを含むニューラルネットワークを含み、第1、第2、および第3埋め込みは、埋め込みモデルによって生成される。埋め込みモデルは、出力レイヤを含まない訓練された機械学習モデルのニューラルネットワークを含む。これにより、ニューラルネットワークが構造的に変更され、訓練されたニューラルネットワークに基づいて埋め込みを生成する埋め込みモデルが形成される。埋め込みは、ニューラルネットワークを再訓練することなく、新しい候補出力を学習させることを可能にし、機械学習の速度を大幅に向上させることができる。
また、本発明の実施形態は、機械学習モデルを再訓練することなく、結果としての候補出力を予測するためのグループに新しい候補出力を追加してもよい。これにより、コンピューティング資源およびメモリ資源を節約し、機械学習の速度を大幅に向上させることができる。
一般に、様々な図中の同様の参照数字は、同様のコンポーネントを指定するために利用される。
本発明の実施形態は、機械学習モデルを再訓練することなく、埋め込みを用いて新しい側面(例えば、新しい出力、新しいクラスなど)のインクリメンタル機械学習に向けられている。例えば、機械学習の分類モデルに対して新しいクラスを追加する場合、新しいクラスを含めるために、分類モデルを再構成し、リセットし、再訓練することが必要となる。したがって、クラスの数が頻繁に変化する場合、分類モデルは常に再構成、リセット、および再訓練され、それによって、大きなコンピューティングおよびメモリ資源が消費されることになる。しかしながら、本発明の実施形態は、新しい側面(例えば、新しい出力、新しいクラスなど)が追加されたときに、インクリメンタル機械学習(例えば、深層学習モデル、分類モデルなど)のために埋め込みを使用する。したがって、機械学習モデルを再訓練することなく、新しい側面を学習するために、インクリメンタル機械学習を実行することができる。
反復的な再訓練を防ぐために、本発明の実施形態は、データに対する埋め込みを生成する埋め込みモデルと、パターン認識を用いて、埋め込みモデルからの埋め込みに基づいて、新たに追加された側面(例えば、新しい出力、新しいクラスなど)を予測する予測モデルとを含む。この手法により、新しい側面が追加された際に、埋め込みモデルの再訓練を行うことを防ぐことができる。
本発明の一実施形態によれば、新しい出力を包含する結果を生成するための機械学習のためのシステムは、少なくとも1つのプロセッサを備える。機械学習モデルは、複数の候補出力の中から候補出力を決定するために訓練される。複数の候補出力に関連する第1埋め込みは、訓練データの第1セットから生成される。第1埋め込みは、訓練された機械学習モデルの中間レイヤから生成される。新しい候補出力に関連する第2埋め込みは、訓練データの第2セットから生成される。第2埋め込みは、訓練された機械学習モデルの中間レイヤから生成される。第3埋め込みは、訓練された機械学習モデルの中間レイヤによって、入力データに対して決定される。複数の候補出力のグループと、第1および第2埋め込みに対する第3埋め込みの距離に基づく新しい候補出力とから、入力データに対する結果としての候補出力が予測される。本発明の実施形態は、上記と実質的に同じ方法で新しい出力を包含する結果を生成するための機械学習のための方法およびコンピュータプログラム製品をさらに含む。
本発明の実施形態は、新しい候補出力を、その候補出力の訓練データに基づいて、機械学習モデルを再訓練させることなく学習させることが可能なため、コンピューティングおよびメモリ資源を節約し、機械学習の速度を大幅に向上させることが可能である。
本発明の実施形態は、機械学習モデルとして、複数の候補出力がクラスを含み、新しい候補出力が新しいクラスを含む分類モデルを採用してもよい。これにより、分類モデルを再訓練させることなく、分類のための新しいクラスを追加するため、特にクラスが頻繁に変化する場合の性能を向上させるという利点がある。
本発明の実施形態は、さらに、第1および第2埋め込みから、第3埋め込みに最も近い複数の埋め込みを決定し、決定された複数の埋め込みに関連する候補出力に基づいて、結果としての候補出力を決定することによって、結果としての候補出力を予測してもよい。埋め込みと予測は、機械学習モデルを再訓練することなく、新しい候補出力を追加するために使用される。埋め込み(およびその間の距離)の使用は、さらに、再訓練を回避するための予測の十分な精度を提供する。
本発明の実施形態は、決定された複数の埋め込みの大多数に関連する候補出力に基づいて、結果としての候補出力を決定することもできる。大多数を使用することにより、機械学習モデルの再訓練を回避するための予測の精度を高めるために適切な(そして最も近い)候補出力が選択されることが保証される。
本発明の実施形態は、第1および第2埋め込みに基づき、訓練スコアをさらに決定し、訓練スコアが閾値を満たさないことに応答して、機械学習モデルを再訓練することができる。これにより、埋め込みの性能を監視して、埋め込みの性能を向上させるために埋め込みの再訓練を選択的に始動させることができる。したがって、機械学習モデルを訓練する頻度を大幅に減少させることができ、コンピュータの性能を向上させることができる。
本発明の実施形態はまた、第1埋め込みが、それぞれが対応する候補出力に関連する複数の第1クラスタを形成し、第2埋め込みが、新しい候補出力に関連する第2クラスタを形成するようにしてもよい。この場合、訓練スコアは、第2クラスタ内の第2埋め込みとの間の距離と、第2埋め込みそれぞれと複数の第1クラスタとの間の距離とに基づいて決定されてもよい。これにより、新しい候補出力に対する埋め込みによって形成されるクラスタの品質に基づいて、埋め込みの性能を監視することができる。新しい候補出力に対するクラスタが、新しい候補出力を複数の候補出力から区別するのに不十分である場合、埋め込みの再訓練が行われ、埋め込みの性能が向上される。したがって、機械学習モデルの訓練頻度を大幅に減少させることができ、コンピュータの性能を向上させることができる。
本発明の実施形態において、機械学習モデルは、複数の候補出力のための入力レイヤ、中間レイヤ、出力レイヤを含むニューラルネットワークを含み、第1、第2、および第3埋め込みは、埋め込みモデルによって生成される。埋め込みモデルは、出力レイヤを含まない訓練された機械学習モデルのニューラルネットワークを含む。これにより、ニューラルネットワークが構造的に変更され、訓練されたニューラルネットワークに基づいて埋め込みを生成する埋め込みモデルが形成される。埋め込みは、ニューラルネットワークを再訓練することなく、新しい候補出力を学習させることを可能にし、機械学習の速度を大幅に向上させることができる。
また、本発明の実施形態は、機械学習モデルを再訓練することなく、結果としての候補出力を予測するためのグループに新しい候補出力を追加してもよい。これにより、コンピューティングおよびメモリ資源を節約し、機械学習の速度を大幅に向上させることができる。
本発明の実施形態で使用するための例示的な環境100が図1に示されている。具体的には、環境は、1つまたは複数のサーバシステム110と、1つまたは複数のクライアントまたはエンドユーザシステム114とを含む。サーバシステム110およびクライアントシステム114は、互いに遠隔であってよく、ネットワーク112を介して通信する。ネットワークは、任意の数の任意の適切な通信媒体(例えば、ワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、インターネット、イントラネットなど)によって実施されてもよい。あるいは、サーバシステム110およびクライアントシステム114は、互いにローカルであってよく、任意の適切なローカル通信媒体(例えば、ローカルエリアネットワーク(LAN)、ハードワイヤ、無線リンク、イントラネットなど)を介して通信する。
クライアントシステム114は、所望のタスク(例えば、分類など)のための出力を生成するために機械学習モデルを管理及び利用するために、ユーザがサーバシステム110に情報(例えば、機械学習モデル用の入力、機械学習モデル用の新しい側面(例えば、新しい出力、新しいクラスなど)、訓練データなど)を提出することを可能にする。サーバシステムは、以下に説明するように、様々なタスク(例えば、分類など)のために機械学習モデルを訓練し、利用し、維持するための機械学習モジュール116を含む。データベースシステム118は、タスクのための様々な情報(例えば、機械学習モデル及び対応する構成及びパラメータ、訓練データ、結果など)を格納してもよい。データベースシステムは、任意の従来型または他のデータベースまたは記憶装置によって実装されてもよく、サーバシステム110およびクライアントシステム114に対してローカルであっても、遠隔であってもよく、任意の適切な通信媒体(例えば、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、インターネット、ハードワイヤ、無線リンク、イントラネットなど)を介して通信してもよい。クライアントシステムは、グラフィカルユーザー(例えば、GUIなど)又は他のインタフェース(例えば、コマンドラインプロンプト、メニュー画面など)を提示して、ユーザから情報(例えば、機械学習モデル用の入力、機械学習モデル用の新しい側面(例えば、新しい出力、新しいクラスなど)、訓練データなど)を募る、インタフェースモジュール120又はブラウザを含んでもよく、結果(例えば、分類、機械学習モデルからの出力)を含むレポートを提供してもよい。
サーバシステム110及びクライアントシステム114は、好ましくは、ディスプレイ又はモニタ、ベース、任意の入力装置(例えば、キーボード、マウス又は他の入力装置)、及び任意のソフトウェア(例えば、従来型又は他のサーバ/通信ソフトウェア、従来型又は他のブラウザソフトウェア、本発明の実施形態の機械学習モジュール116及びインタフェースモジュール120等)を備えた任意の従来型又は他のコンピュータシステムによって実装されてもよい。ベースは、少なくとも1つのハードウェアプロセッサ115(例えば、マイクロプロセッサ、コントローラ、中央処理装置(CPU)など)、1つまたは複数のメモリ135もしくは、内部もしくは外部のネットワークインタフェースまたはこれらの組み合わせ、もしくは、通信装置125(例えば、モデム、ネットワークカードなど)を含んでもよい。
代替的に、1つまたは複数のクライアントシステム114は、スタンドアロンユニットとして動作する場合、所望のタスク(例えば、分類など)のための出力を生成するために機械学習モデルを管理及び利用することができる。スタンドアロン動作モードでは、クライアントシステムは、データ(例えば、機械学習モデル用の入力、機械学習モデル用の新しい側面(例えば、新しい出力、新しいクラスなど)、訓練データ、機械学習モデル及び対応する構成及びパラメータ、訓練データ、結果など)を格納するか又はアクセスし、以下に説明するように、様々なタスク(例えば分類など)用に機械学習モデルを訓練、利用及び維持するために機械学習モジュール116を含んでいる。インタフェースモジュール120は、グラフィカルユーザー(例えば、GUIなど)または他のインタフェース(例えば、コマンドラインプロンプト、メニュー画面など)を生成して、対応するユーザから情報(例えば、機械学習モデル用の入力、機械学習モデル用の新しい側面(例えば、新しい出力、新しいクラスなど)、訓練データなど)を募り、結果(例えば、分類、機械学習モデルからの出力など)を含むレポートを提供してもよい。
機械学習モジュール116及びインタフェースモジュール120は、以下に説明する本発明の実施形態の様々な機能を実行するための1つまたは複数のモジュール又はユニットを含んでもよい。様々なモジュール(例えば、機械学習モジュール116、インタフェースモジュール120など)は、任意の量のソフトウェアもしくは、ハードウェアモジュールもしくはユニットまたはその組み合わせの任意の組み合わせによって実装されてもよく、プロセッサ115による実行のためにサーバシステムもしくはクライアントシステムまたはその両方のメモリ135内に存在してもよい。
ここで図2を参照すると、コンピューティング環境100のコンピューティング装置210の一例(例えば、サーバシステム110、クライアントシステム114、データベースシステム118、もしくは他のコンピューティング装置またはその組み合わせを実装する)の概略図が示されている。コンピューティング装置は、コンピューティング環境100に適したコンピューティング装置の一例に過ぎず、本明細書に記載される本発明の実施形態の使用範囲または機能性に関して、いかなる制限を示唆することを意図するものではない。それにかかわらず、コンピューティング装置210は、本明細書に規定される機能性のいずれかを実施することもしくは実行することが可能である。
コンピューティング装置210において、多数の他の汎用または専用のコンピューティングシステム環境または構成で動作可能なコンピュータシステム212が存在する。コンピュータシステム212と共に使用するのに適している可能性のあるコンピューティングシステム、環境、もしくは構成またはその組み合わせの例としては、パーソナルコンピュータシステム、サーバコンピュータシステム、シンクライアント、シッククライアント、ハンドヘルドまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラマブル家電、ネットワークPC、ミニコンピュータシステム、メインフレームコンピュータシステム、ならびに上記システムまたはデバイスのいずれかを含む分散クラウドコンピューティング環境などがあるが、それだけに限られる訳ではない。
コンピュータシステム212は、プログラムモジュールなどのコンピュータシステム実行可能命令がコンピュータシステムによって実行されるという一般的な文脈で説明されてもよい。一般に、プログラムモジュールは、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含んでもよい。
図2に示すように、コンピュータシステム212は、汎用コンピューティング装置の形態で示されている。コンピュータシステム212のコンポーネントは、1つまたは複数のプロセッサまたは処理ユニット115、システムメモリ135、およびシステムメモリ135を含む様々なシステムコンポーネントをプロセッサ115に結合するバス218を含むことができるが、これらに限定されるものではない。
バス218は、メモリバスまたはメモリコントローラ、周辺バス、加速グラフィックスポート、および様々なバスアーキテクチャのいずれかを使用するプロセッサまたはローカルバスを含む、いくつかのタイプのバス構造のうちのいずれか1つまたは複数を表す。例として、限定するものではないが、そのようなアーキテクチャには、業界標準アーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、拡張ISA(EISA)バス、ビデオ電子標準協会(VESA)ローカルバス、および周辺コンポーネント相互接続(PCI)バスが含まれる。
コンピュータシステム212は、典型的には、様々なコンピュータシステム可読媒体を含む。そのような媒体は、コンピュータシステム212によってアクセス可能な任意の利用可能な媒体であってよく、揮発性媒体と不揮発性媒体、取り外し可能媒体と取り外し不可能媒体の両方が含まれる。
システムメモリ135は、ランダムアクセスメモリ(RAM)230もしくはキャッシュメモリ232またはその両方などの揮発性メモリの形態のコンピュータシステム可読媒体を含むことができる。コンピュータシステム212は、他の取り外し可能/取り外し不可能な、揮発性/不揮発性のコンピュータシステム記憶媒体をさらに含むことができる。例としてのみ、ストレージシステム234は、取り外し不可能、不揮発性磁気媒体(図示せず、典型的には「ハードドライブ」と呼ばれる)からの読み取りおよび書き込みのために提供されることができる。図示しないが、取り外し可能、不揮発性磁気ディスク(例えば、「フロッピーディスク」)から読み取りおよび書き込みのための磁気ディスクドライブ、およびCD-ROM、DVD-ROMまたは他の光学媒体などの取り外し可能、不揮発性光ディスクからの読み取りや書き込みのための光ディスクドライブが提供されることができる。そのような例では、それぞれは、1つまたは複数のデータ媒体インタフェースによってバス218に接続することができる。以下でさらに描写および説明するように、メモリ135は、本発明の実施形態の機能を実行するように構成されたプログラムモジュールのセット(例えば、少なくとも1つ)を有する少なくとも1つのプログラム製品を含むことができる。
プログラムモジュール242(例えば、機械学習モジュール116、インタフェースモジュール120など)のセット(少なくとも1つ)を有するプログラム/ユーティリティ240は、例として、限定ではなく、オペレーティングシステム、1つまたは複数のアプリケーションプログラム、他のプログラムモジュール、及びプログラムデータと同様にメモリ135に格納されてもよい。オペレーティングシステム、1つまたは複数のアプリケーションプログラム、他のプログラムモジュール、及びプログラムデータの各々、又はそれらの何らかの組み合わせは、ネットワーク環境の実装を含んでもよい。プログラムモジュール242は、一般に、本明細書に記載される本発明の実施形態の機能もしくは方法論またはその両方を実施する。
コンピュータシステム212は、キーボード、ポインティングデバイス、ディスプレイ224などの1つまたは複数の外部装置214、ユーザがコンピュータシステム212と対話することを可能にする1つまたは複数の装置、もしくはコンピュータシステム212が1つまたは複数の他のコンピュータ装置と通信することを可能にする任意の装置(例えば、ネットワークカード、モデムなど)またはこれらの組み合わせと通信することもできる。そのような通信は、入力/出力(I/O)インタフェース222を介して発生することができる。また、コンピュータシステム212は、ネットワークアダプタ125を介して、ローカルエリアネットワーク(LAN)、一般的なワイドエリアネットワーク(WAN)、もしくは公衆ネットワーク(例えば、インターネット)またはこれらの組み合わせなどの1つまたは複数のネットワークと通信することができる。描かれているように、ネットワークアダプタ125は、バス218を介してコンピュータシステム212の他のコンポーネントと通信する。図示されていないが、他のハードウェアもしくはソフトウェアコンポーネントまたはその組み合わせがコンピュータシステム212と共に使用され得ることを理解されたい。例としては、マイクロコード、デバイスドライバ、冗長処理装置、外部ディスクドライブアレイ、RAIDシステム、テープドライブ、及びデータアーカイブストレージシステム等が挙げられるが、これらに限定されるものではない。
従来の機械学習分類モデルは、データを量または数の異なるクラスに分類するように訓練されることがある。例として、分類モデルは、訓練セットが各クラスについて1万個のデータアイテムを含む(又は、100クラス×1万個のデータアイテム=100万個の全データアイテム)、100個の異なるクラスの間でデータを分類するように訓練されてもよい。分類モデルには、クラスに各々対応する100個のノードを持つ出力レイヤが含まれる。
訓練された分類モデルに追加クラスを追加する場合、101個のクラスに101個のノードを有する出力レイヤを持つ新しい分類モデルが必要になる。また、新しい分類モデルは、100個のクラスの初期訓練セットと新しいクラス(101個のクラス×1万個のデータアイテム=合計101万個のデータアイテム)の追加訓練セット(10万個のデータアイテム)を用いて、101個のクラスの訓練を行う必要がある。したがって、クラスの数が変わると、分類モデルを再構成して再訓練する必要があり(例えば、100万個のデータアイテムを超える訓練セットを用いて)、これには大きなコンピューティング資源とメモリ資源が消費されることになる。
したがって、本発明の実施形態は、新しい側面(例えば、新しい出力、新しいクラスなど)が追加されたときに、(例えば、深層学習モデル、分類モデルなどの)インクリメンタル機械学習のための埋め込みを使用する。機械学習モデルを再訓練することなく、新しい側面に対してインクリメンタル機械学習を行うようにしてもよい。上記の例の場合、本発明の実施形態に係る機械学習システムの埋め込みモデルは、最初に100個のクラスについて訓練され、埋め込みを生成するように修正される。新しいクラスを追加する場合、新しいクラスの訓練セット(例えば、1万個のデータアイテム)を埋め込みモデルに適用して、新しいクラスを定義する埋め込みを生成し、機械学習システムの予測モデルが新しいクラスを出力として予測することを可能にする。このように、101個のクラスの訓練セットを用いて埋め込みモデルを再構成、再訓練することなく、新しいクラスを追加することにより、コンピューティングおよびメモリ資源を節約し、機械学習の速度を大幅に向上させることができる。さらに、本発明の実施形態は、頻繁に変化するクラスの処理に関して、柔軟性およびスケーラビリティを導入する。
本発明の実施形態における、機械学習システムを図3に示す。特に、機械学習システム300は、入力データを受信し、複数の候補出力の中から1つまたは複数を示す出力を生成する。一例として、機械学習システムは、オブジェクト(例えば、画像、テキストなど)に係る入力データを1つまたは複数のクラス、グループ、又はカテゴリに分類する分類器であってよい。
機械学習システム300は、埋め込みモデル310と予測モデル340を含む。埋め込みモデル310は、機械学習システムへの入力データを受け取り、入力データの各データアイテムに対する埋め込みを生成する。予測モデルは、埋め込みモデル310からの埋め込みにパターン認識を適用し、埋め込みに対応するデータアイテムの予測候補出力(例えば、クラスなど)を出力として生成する。
埋め込みモデル310は、埋め込みを生成するための機械学習モデル320を含む。基本的に、データアイテムは、複数の次元に対応する数値要素を有するベクトルを含む埋め込みによって表現されることができる。類似の特徴又は特性を有するデータアイテムは、類似の埋め込み又はベクトル表現を有する。一例として、機械学習モデル320は、埋め込みを生成するためにニューラルネットワークによって実装されてもよい。ニューラルネットワークは、入力レイヤ322、中間およびは隠れレイヤ324、326、および出力レイヤ328を含む。各レイヤは、1つまたは複数のニューロンまたはノード329を含み、入力レイヤのニューロンは、入力データ(例えば、オブジェクトに係るデータ)を受け取り、重み値と関連付けられる場合がある。中間および出力レイヤのニューロンは、先行するレイヤの1つまたは複数のニューロンに接続され、先行するレイヤの接続されたニューロンの出力を入力として受信する。各接続は重み値と関連付けられ、各ニューロンはそのニューロンへの入力の重み付き結合に基づく出力を生成する。ニューロンの出力は、特定のタイプのニューラルネットワーク(例えば、リカレントタイプのニューラルネットワークなど)のバイアス値にさらに基づくことがある。
重み(及びバイアス)値は、様々な訓練技術に基づいて調整されてもよい。例えば、訓練セットのデータアイテムを入力とし、対応する既知の結果を出力として訓練を行い、ニューラルネットワークが既知の結果を生成しようとし、出力からの誤差(例えば、生成された出力と既知の出力との差)を用いて、重み(及びバイアス)値を(例えば、誤差逆伝播法や他の訓練技術を介して)調整してもよい。ニューラルネットワークの出力レイヤは、好ましくは、各候補出力(例えば、クラスなど)に対するニューロン329を含み、対応する入力データに対する候補出力を示す。一例として、出力レイヤニューロンは、特定の候補出力(例えば、クラスなど)または特定の候補出力の識別子を示すことができる。さらに、出力レイヤニューロンは、関連する候補出力(例えば、クラスなど)が入力データに対する結果である確率を示してもよい。最も高い確率に関連付けられた候補出力(例えば、クラスなど)は、好ましくは、入力データに対して選択される。しかしながら、機械学習モデル320は、任意の種類の機械学習モデル(例えば、フィードフォワード、リカレント、畳み込み、又は他のニューラルネットワーク等)の任意の量を含んでもよい。さらに、ニューラルネットワークは、任意の数量のニューロン又はノードを有する任意の数量のレイヤを含んでもよい。
ニューラルネットワーク320は、候補出力(例えば、クラスなど)の初期セットに対する訓練セットで最初に訓練される。訓練されると、出力レイヤ328は、ニューラルネットワークから除去され(例えば、埋め込みモデル310を形成するため、又は埋め込みモデルとして機能するため)、先行する中間レイヤ326は、埋め込みを生成する埋め込みレイヤとして機能する。埋め込みの要素又は次元は、埋め込みレイヤにおけるニューロンの数に対応する(例えば、埋め込みレイヤの各ニューロンは、埋め込みの要素又は次元に値を提供する)。しかしながら、埋め込みは、任意の所望の特徴(例えば、画像特徴、テキスト特徴など)に係る要素又は次元の任意の数量を含んでもよい。
新しい候補出力(例えば、クラスなど)を追加する場合、埋め込みモデル310は、新しい候補出力のための訓練データ350を提供され、予測モデル340が、対応する入力データに対して新しい候補出力を予測することを可能にする新しい候補出力を表し定義する埋め込みを生成する。このように、新しい候補出力(例えば、クラスなど)を追加するために、埋め込みモデルの再訓練を行わずに、新しい候補出力のための訓練セットを埋め込みモデルに適用し、それによって、コンピューティング及びメモリ資源を節約し、機械学習の速度を大幅に増加させる。
図4は、埋め込みの次元によって定義される空間内のデータアイテムの一例を示す図である。データアイテム405は、埋め込み空間内でグループ化又はクラスタ化され、それによって、候補出力(例えば、クラスなど)に対応するクラスタが形成される。例えば、クラスタ410はクラス1に関連付けられ、クラスタ420はクラス2に関連付けられ、クラスタ430はクラス3に関連付けられ、クラスタ440はクラス4に関連付けられている(例えば、図4で見た場合)。クラスタ内のデータアイテム405は、そのクラスタに関連付けられたクラスに割り当てられる(例えば、クラスタ410内のデータアイテムはクラス1に、クラスタ420内のデータアイテムはクラス2に、クラスタ430内のデータアイテムはクラス3に、クラスタ440内のデータアイテムはクラス4に割り当てられる)。これらのクラスは、機械学習モデル320(出力レイヤ328を有する)が埋め込みを提供するために訓練されるクラスの初期セットを表すことができる。
埋め込みモデルが新しいクラスのための訓練データと共に使用されるとき、結果としての埋め込みは、新しいクラス(例えば、図4で見られるようなクラス5)に関連する新しいクラスタ450を形成する。クラスタ410、420、430、440、および450は、データアイテムに対する候補出力(例えば、クラスなど)を予測するために予測モデル340によって使用される。
図3に戻って、データアイテムに対する埋め込みモデル310から生成された埋め込みは、予測モデル340に提供され、データアイテムに対する予測された候補出力(例えば、クラスなど)を生成する。予測モデルは、パターン認識技術(例えば、k近傍法(kNN)など)を使用して、候補出力(例えば、クラスなど)を予測する。
図5は、データアイテムとクラスタ410、420、430、440、および450との埋め込みに基づいて、データアイテムの候補出力(例えば、クラスなど)を予測する予測モデル340の一例を示す図である。例として、データアイテム460(例えば、図5において「X」として表される)は、埋め込みモデル310によって生成されたデータアイテムの埋め込みに基づいて、クラスタ410、420、430、440、および450の間の埋め込み空間内に示される。適切なクラスタ(したがって、候補出力(例えば、クラスなど))を予測するために、パターン認識技術が使用される。例えば、埋め込み空間におけるデータアイテム460の最近傍を決定するために、k近傍法(kNN)技術が適用されてもよい。この技術は、データアイテム460とクラスタ410、420、430、440、および450内の他の点との間の距離を決定し、データアイテム460の候補出力(例えば、クラスなど)を予測するために、決定された距離に基づいて、埋め込み空間内に存在するk近傍法(又はk最接近点)を識別してもよい。予測された候補出力(例えば、クラスなど)は、近傍法の大多数を有するクラスタであってもよい。距離は、様々な技術(例えば、ユークリッド距離、マンハッタン距離、ハミング距離など)に基づき決定されてもよい。
3つの近傍法を使用する場合(k=3)、データアイテム460の3つの近傍法は、クラスタ420(クラス2)内の第1データアイテム、クラスタ420(クラス2)内の第2データアイテム、およびクラスタ430(クラス3)内の第3データアイテムであってよい。予測される候補出力(例えば、クラスなど)は、近傍法の大多数を有するクラスタから決定されてもよい。この場合、近傍法の大多数がクラスタ420にあるため(例えば、3つの近傍法データアイテムのうち2つ)、予測された候補出力(例えば、クラスなど)は、クラスタ420(またはクラス2)に関連するクラスである。k近傍法は、任意の所望の数の近傍法で適用されてもよく(例えば、kは任意の適切な値であってもよい)、ここで、任意の適切な技術が、結果としてのクラスタを決定するために使用されてもよい(例えば、大多数、近傍法への距離、など)。
本発明の実施形態による、インクリメンタル機械学習によって(例えば、機械学習モジュール116とサーバシステム110もしくはクライアントシステム114またはこれらの組み合わせを介して)新しい側面を学習する態様は、図6に示されている。特に、埋め込みモデル310(図3)は、動作610において、候補出力(例えば、クラス、カテゴリ、結果など)の初期セットに対する訓練セットを用いて生成される。訓練データのセットは、データアイテム及び対応する既知の結果(例えば、データアイテム及びデータアイテムが属する既知のクラスなど)を含む。埋め込みモデルは、好ましくは、入力レイヤ322、中間または隠れレイヤ324、326、及び出力レイヤ328(例えば、図3について上述したような)を含むニューラルネットワークから派生する機械学習モデルを含む。ニューラルネットワークの出力レイヤは、好ましくは、各候補出力に対するニューロン329を含み、対応する入力データに対する候補出力を示す。ニューラルネットワーク(出力レイヤ328を含む)は、出力レイヤ328から対応する候補出力を生成するために、候補出力の初期セットに対する訓練セットで最初に訓練される。訓練されると、出力レイヤ328はニューラルネットワークから除去され、ニューラルネットワークの残りの部分(例えば、入力レイヤ322及び中間レイヤ324、326)は、中間レイヤ326が埋め込みを生成するための埋め込みレイヤとして機能する埋め込みモデルを形成する。埋め込みの要素又は次元は、中間レイヤ326におけるニューロンの数に対応する(例えば、埋め込みレイヤの各ニューロンは、埋め込みの要素又は次元に値を提供する)。しかしながら、埋め込みは、ニューラルネットワークの任意の中間レイヤまたは他のレイヤが埋め込みを提供し得る、任意の量の次元を含んでもよい。
訓練された埋め込みモデル310が生成されると、動作620において、訓練データのセットのデータアイテムに対する埋め込みを生成するために、訓練データのセットが埋め込みモデルに適用される。動作630において、訓練セットのデータアイテムの各埋め込みは、対応する既知の候補出力と関連付けられ(又はラベル付けされ)、(例えば、データベースシステム118に)格納される。格納された埋め込みは、予測モデル340のための対応する候補出力(例えば、クラスなど)を定義する。しかしながら、候補出力を定義する埋め込みを生成するために、同じ又は異なる訓練セットが使用されてもよい。
動作635において、決定されたように、新しい候補出力(例えば、クラス、カテゴリ、結果など)が追加される場合、埋め込みモデル310(図3)には、動作640で新しい候補出力を表す埋め込みを生成するために、新しい候補出力に対する訓練データのセットが提供される。新しい候補出力のための訓練データのセットは、新しい候補出力に対応するデータアイテム(例えば、データアイテムと新しい候補出力など)を含む。新しい候補出力のための訓練セットのデータアイテムの各埋め込みは、新しい候補出力と関連付けられ(又はラベル付けられ)、(例えば、データベースシステム118に)格納される。このように、新しい候補出力を追加するために、埋め込みモデル310が新しい候補出力のための訓練セットから新しい候補出力を定義する埋め込みを生成するインクリメンタル機械学習が実行される。これにより、埋め込みモデルが(新しい候補出力と以前の候補出力を包含する大きな訓練セット上で)再訓練されることを回避し、それにより、コンピューティング及びメモリ資源を節約し、新しい候補出力が追加されたときに機械学習の速度を大幅に向上させることができる。
訓練スコアは、動作642において、新しい候補出力に対する訓練セットから埋め込みモデル310によって生成された埋め込みに基づいて決定され、インクリメンタル機械学習の充足度を決定する。訓練スコアは、新しい候補出力に対する埋め込みによって形成されるクラスタの品質の尺度から派生されてもよい。一例として、他のクラスタに関連する自身のクラスタへのオブジェクトの類似性を測定するシルエット法を使用して、以下の式に基づいて、新しい候補出力に対する埋め込みのスコアを決定してもよい。
スコア(i)=(b(i)-a(i))/max{a(i),b(i)}
ここで、iは新しい候補出力に対する埋め込みを表し、a(i)は新しい候補出力に対するクラスタ内の他の埋め込みに対するクラスタ内距離、b(i)は新しい候補出力に対するクラスタ内の埋め込みと他の候補出力に対するクラスタ内の埋め込みとのクラスタ間距離、maxは最大関数(例えば、a(i)とb(i)の大きい値を提供する)である。
スコア(i)=(b(i)-a(i))/max{a(i),b(i)}
ここで、iは新しい候補出力に対する埋め込みを表し、a(i)は新しい候補出力に対するクラスタ内の他の埋め込みに対するクラスタ内距離、b(i)は新しい候補出力に対するクラスタ内の埋め込みと他の候補出力に対するクラスタ内の埋め込みとのクラスタ間距離、maxは最大関数(例えば、a(i)とb(i)の大きい値を提供する)である。
例えば、クラスタ間距離a(i)は、新しい候補出力に対するクラスタ内の埋め込みと他の埋め込みとの間の平均距離であってもよい。クラスタ間距離b(i)は、他の候補出力のクラスタのための平均距離の最小値であってもよい。他の候補出力のクラスタに対する平均距離は、新しい候補出力のクラスタ内の埋め込みと、他の候補出力のクラスタ内の各埋め込みとの間の距離の平均値である。距離は、様々な技術(例えば、ユークリッド距離、マンハッタン距離、ハミング距離など)に基づき決定されてもよい。訓練スコアは、新しい候補出力に対する埋め込みのスコアの組み合わせであってよく、例えば、新しい候補出力に対する埋め込みのスコアの平均値であってよい。
さらなる例として、埋め込み空間は、点1Aと点1Bを持つクラス1、点2Aを持つクラス2、点3A、点3B、点3Cを持つ新しいクラスを含むことができる。新しいクラス内の点の間の距離は、点3Aと点3Bの間が2、点3Aと点3Cの間が4となることを含む。この場合、点3Aのクラスタ内距離a(i)は、新しいクラス内の他の点(3Bと3C)への距離の平均、または((距離3Aから3B)+(距離3Aから3C))/2=(2+4)/2=3となる。点3Aと他のクラスタ内の点との間の距離は、点3Aとクラス1の点1Aとの距離が12、点3Aとクラス1の点1Bとの距離が10、点3Aとクラス2の点2Aとの距離が12であってよい。点3Aのクラスタ間距離b(i)は、点3Aとそのクラスタ内の点との間の各クラスタの平均距離の最小値、またはmin(クラス1では、(12+10)/2=11、クラス2では、12/1=12)=11)となる。点3Aのスコアは、(b(i)-a(i))/max{a(i),b(i)}=(11-3)/11=0.72となる。新しいクラスの訓練スコアは、点3A、点3B、点3Cの平均、つまり(スコア3A+スコア3B+スコア3C)/3となる。
動作645において、決定されるように、訓練スコアが閾値を超えないとき、新しい候補出力に対する埋め込みは、埋め込みモデルの再構成及び再訓練なしに候補出力を追加することを可能にするのに不十分である。言い換えれば、埋め込みは、新しい候補出力を他の候補出力から十分に区別しない。したがって、埋め込みモデル310は、動作610において、以前の候補出力のための訓練セットと新しい候補出力のための訓練セットとを含む訓練セットに基づいて、上述と実質的に同じ方法で生成される(例えば、新しい候補出力に対応するニューロンを有する出力レイヤを有する機械学習モデル320(又はニューラルネットワーク)から開始される)。
訓練スコアが閾値を超えた場合、新しい候補出力に対する埋め込みは、埋め込みモデルの再構成や再訓練なしに候補出力を追加するのに十分である。言い換えれば、埋め込みが他の候補出力と十分に区別される。埋め込みモデルの再訓練なしに、新しい候補出力を(埋め込みを用いたインクリメンタル機械学習により)機械学習システムに追加できるため、機械学習の速度向上とコンピューティング資源やメモリ資源の節約ができる。したがって、動作645において、決定されたように、インクリメンタル機械学習が十分である場合、または動作635において、新しい候補出力が存在しないと決定された場合、処理すべきデータが動作650において、埋め込みモデル310に提供され、そのデータに対する埋め込みが生成される。
データアイテムに対する埋め込みモデル310から生成された埋め込みは、埋め込み空間に形成された候補出力に対する訓練セットのデータアイテムの埋め込みのクラスタに基づいて、動作660において、データアイテムに対する結果としての予測された候補出力を生成するために予測モデル340に提供される。予測モデルは、パターン認識技術(例えば、k近傍法(kNN)など)を用いて、候補出力を予測する。例えば、埋め込み空間におけるデータアイテムの近傍法を決定するために、k近傍法(kNN)技術が適用されてもよい。この技術は、データアイテムとクラスタ内の点(任意の新しい候補出力を含む候補出力を表す)との間の距離を決定し、決定された距離に基づいて、埋め込み空間内に存在するk近傍法(またはk最接近点)を特定してもよい。近傍法は、データアイテムに対する結果としての候補出力(例えば、クラス、カテゴリ、結果など)を予測するために使用される。予測された候補出力は、近傍法の大多数を有するクラスタであってもよい。距離は、様々な技術(例えば、ユークリッド距離、マンハッタン距離、ハミング距離など)に基づいて決定されてもよい。k近傍法技術は、任意の所望の数の近傍法で適用されてもよく(例えば、kは任意の適切な値であってもよい)、ここで、任意の適切な技術が、結果としてのクラスタを決定するために使用されてもよい(例えば、大多数、近傍法の距離など)。追加の候補出力は、上述した方法と実質的に同じ方法で追加されてもよい。
本発明の実施形態における、機械学習システムの動作の一例を図7及び図8に示す。初めに、機械学習システム300は、画像を猫710と犬720のカテゴリのクラスに分類する分類器として実装される。機械学習システムは、上述したように、埋め込みモデル310と予測モデル340とを含む。埋め込みモデル310は、クラスの初期セット(例えば、猫710と犬720)についての訓練セットを用いて訓練される。訓練データのセットは、データアイテム(例えば、画像など)及び対応する既知の結果(例えば、データアイテム及びデータアイテムが属する既知のクラス(猫又は犬)など)を含む。埋め込みモデルは、好ましくは、入力レイヤ322、中間レイヤ又は隠れレイヤ324、326、及び出力レイヤ328(例えば、図3について上述したように)を含むニューラルネットワークから派生した機械学習モデル320を含む。ニューラルネットワークの出力レイヤは、好ましくは、各クラスに対するニューロン329を含み、対応する入力データに対する候補出力を示す。ニューラルネットワーク(出力レイヤ328を含む)は、出力レイヤ328から対応する候補出力を生成するために、クラスの初期セットに対する訓練セットで最初に訓練される。訓練されると、出力レイヤ328はニューラルネットワークから除去され、ニューラルネットワークの残りの部分(例えば、入力レイヤ322及び中間レイヤ324、326)は、中間レイヤ326が埋め込みを生成するための埋め込みレイヤとして機能する、埋め込みモデルを形成する。
訓練された埋め込みモデル310が生成されると、訓練データのセットを埋め込みモデルに適用して、訓練データのセットのデータアイテムに対する埋め込みを生成する(例えば、猫および犬の各クラスにおけるN個のデータアイテムについて、猫1[0.01,0.00,0.23,...0.20],猫N[0.00,0.02,0.21,...0.22],犬1[0.02,0.52,0.13,...0.38],犬N[0.02,0.50,0.11,...0.40])。訓練セットのデータアイテムの各埋め込みは、対応する既知のクラスと関連付けられ(またはラベル付けされ)、(例えば、データベースシステム118に)格納される。
新しいクラスであるウサギ730を追加する場合、埋め込みモデル310は、新しいウサギのクラスのための訓練データのセットを提供され、新しいクラスを表す埋め込みを生成する。新しいクラスのための訓練データのセットは、新しいクラスに対応するデータアイテム(例えば、画像など)を含む(例えば、データアイテムと新しいクラスなど)。新しいクラスのための訓練セットのデータアイテムの各埋め込みは、新しいクラスと関連付けられ(又はラベル付けされ)、(例えば、データベースシステム118に)格納される。このように、新しいクラスを追加するために、埋め込みモデル310は、猫、犬、及びウサギのクラスに対して再構成及び再訓練されるのではなく、予測モデルに対して新しいクラスを定義する埋め込みを生成し、それにより、コンピューティング及びメモリ資源を節約し、機械学習の速度を大幅に向上させる。
猫、犬、及びウサギのクラスのための例示的なデータアイテムは、埋め込みの次元によって定義される空間内に示される(図8)。データアイテムは、埋め込み空間内でグループ化又はクラスタ化され、それによって、猫、犬、及びウサギのクラスに対応するクラスタが形成される(例えば、クラスタ810は猫のクラス710に関連し、クラスタ820は犬のクラス720に関連し、クラスタ830はウサギのクラス730に関連する)。クラスタ内のデータアイテムは、そのクラスタに関連付けられたクラスに割り当てられる(例えば、クラスタ810内のデータアイテムは猫のクラス710に割り当てられ、クラスタ820内のデータアイテムは犬のクラス720に割り当てられ、クラスタ830内のデータアイテムはウサギのクラス730に割り当てられる)。
猫の画像840は、画像に対する埋め込みを生成するために、埋め込みモデル310に提供してよい。画像に対する埋め込みモデル310から生成された埋め込みは、埋め込み空間に形成された猫、犬、及びウサギのクラスに対する訓練セットのデータアイテムの埋め込みのクラスタ810、820、及び830に基づいて、画像に対する予測されたクラスを生成するために予測モデル340に供給される。予測モデルは、埋め込み空間における猫の画像の近傍法を決定するために、k近傍法(kNN)技術を使用してもよい。この技術は、クラスを予測するために、埋め込み空間に存在するk近傍法を決定してもよい。予測されたクラスは、近傍法の大多数を有するクラスタから決定されてよい。
例えば、画像840は、埋め込みモデル310によって生成された画像の埋め込みに基づいて、クラスタ810、820、及び830のうちの埋め込み空間においてデータアイテム850(例えば、図8において「X」で示されている)によって表される。埋め込み空間における画像840の近傍法を決定するために、k近傍法(kNN)技術を適用してもよい。3つの近傍法(k=3)を用いる場合、画像840の3つの近傍法は、クラスタ810内の第1のデータアイテム(猫のクラス710)、クラスタ810内の第2のデータアイテム(猫クラス710)、及びクラスタ830内の第3のデータアイテム(ウサギのクラス730)であってもよい。予測されたクラスは、近傍法の大多数を有するクラスタから決定されてもよい。この場合、近傍法の大多数がクラスタ810にあるため(例えば、3つの近傍法データアイテムのうち2つ)、予測されるクラスは、クラスタ810に関連する猫のクラス710である。
上述し、図面に示した実施形態は、埋め込みを用いたインクリメンタル機械学習のための実施形態を実装する多くの方法のうちの、ほんの一部を表しているに過ぎないことが理解されよう。
本発明の実施形態の環境は、任意の数のコンピュータまたは他の処理システム(例えば、クライアントまたはエンドユーザシステム、サーバシステムなど)および任意の所望の様式で配置されたデータベースまたは他のリポジトリを含んでもよく、ここで本発明の実施形態は、任意の所望のタイプのコンピューティング環境(例えば、クラウドコンピューティング、クライアント-サーバ、ネットワークコンピューティング、メインフレーム、スタンドアロンシステムなど)に適用され得る。本発明の実施形態によって採用されるコンピュータ又は他の処理システムは、任意の数の任意のパーソナル又は他のタイプのコンピュータ又は処理システム(例えば、デスクトップ、ラップトップ、PDA、モバイルデバイス等)によって実施されてもよく、任意の市販のオペレーティングシステム及び任意のソフトウェア(例えば、従来の又は他のサーバソフトウェア、従来の又は他のブラウザソフトウェア、従来の又は他の通信ソフトウェア、本発明の実施形態の機械学習モジュール116及びインタフェースモジュール120等)を含んでもよい。これらのシステムは、情報を入力もしくは表示またはその両方をするための任意のタイプのモニタ及び入力装置(例えば、キーボード、マウス、音声認識など)を含んでよい。
本発明の実施形態のソフトウェア(例えば、機械学習モジュール116、インタフェースモジュール120など)は、任意の所望のコンピュータ言語で実装されてもよく、明細書に含まれる機能説明及び図面に示されるフローチャートに基づいて、コンピュータ技術の通常のスキルを有する者によって開発され得ることが理解されよう。さらに、様々な機能を実行するソフトウェアに関する本明細書におけるあらゆる言及は、一般に、ソフトウェア制御下でそれらの機能を実行するコンピュータシステムまたはプロセッサを指す。本発明の実施形態のコンピュータシステムは、代替的に、任意のタイプのハードウェアもしくは他の処理回路またはその組み合わせによって実施され得る。
コンピュータまたは他の処理システムの様々な機能は、任意の数のソフトウェアもしくはハードウェアモジュールまたはユニット、またはその組み合わせ、処理またはコンピュータシステムもしくは回路またはその組み合わせの間で任意の方法で分散されてよく、コンピュータまたは処理システムは、互いにローカルまたは遠隔に配置されてよく、任意の適切な通信媒体(例えば、LAN、WAN、イントラネット、インターネット、ハードワイヤ、モデム接続、無線など)を介して通信することがある。例えば、本発明の実施形態の機能は、様々なエンドユーザ/クライアント及びサーバシステム、もしくは他の任意の中間処理装置またはこれらの組み合わせ間で任意の方法で分散されてもよい。上述し、フローチャートに示されたソフトウェアもしくはアルゴリズムまたはその両方は、本明細書に記載された機能を達成する任意の方法で修正されてもよい。さらに、フローチャートまたは説明における機能は、所望の動作を達成する任意の順序で実行されてもよい。
本発明の実施形態のソフトウェア(例えば、機械学習モジュール116、インタフェースモジュール120など)は、スタンドアロンシステムまたはネットワークもしくは他の通信媒体によって接続されたシステムで使用するために、据え置き型または携帯型のプログラム製品装置またはデバイスの非一時的なコンピュータ使用可能媒体(例えば、磁気または光媒体、磁気光学媒体、フロッピーディスク、CD-ROM、DVD、メモリデバイスなど)上で利用可能であってよい。
通信ネットワークは、任意の数の任意のタイプの通信ネットワーク(例えば、LAN、WAN、インターネット、イントラネット、VPNなど)により実施されてもよい。本発明の実施形態のコンピュータ又は他の処理システムは、任意の従来型又は他のプロトコルを介してネットワーク上で通信するための任意の従来型又は他の通信デバイスを含んでもよい。コンピュータまたは他の処理システムは、ネットワークにアクセスするために、任意のタイプの接続(例えば、有線、無線など)を利用してもよい。ローカル通信媒体は、任意の適切な通信媒体(例えば、ローカルエリアネットワーク(LAN)、ハードワイヤ、無線リンク、イントラネットなど)により実施されてもよい。
システムは、情報(例えば、機械学習モデルおよび対応する構成およびパラメータ、訓練データ、結果など)を格納するために、任意の数の従来型または他のデータベース、データストアまたはストレージ構造(例えば、ファイル、データベース、データ構造、データまたは他のリポジトリなど)を採用してもよい。データベースシステムは、情報を格納するための任意の数の従来型または他のデータベース、データストアまたはストレージ構造(例えば、ファイル、データベース、データ構造、データまたは他のリポジトリなど)によって実装されてもよい。データベースシステムは、サーバもしくはクライアントシステムまたはその両方内に含まれてよく、又はそれに結合されてよい。データベースシステムもしくは記憶構造またはその両方は、コンピュータ又は他の処理システムからリモートであってもローカルであってもよく、任意の所望のデータを格納することができる。
本発明の実施形態は、情報(例えば、機械学習モデルの入力、新しい側面(例えば、新しい出力、新しいクラス、分類、機械学習モデルからの出力など))を取得または提供するための任意の数の任意のタイプのユーザインタフェース(例えば、グラフィカルユーザーインターフェース(GUI)、コマンドライン、プロンプトなど)を採用してよく、インタフェースは、任意の様式で配置された任意の情報を含むことがある。インタフェースは、任意の適切な入力装置(例えば、マウス、キーボードなど)を介して情報を入力/表示し、所望の動作を開始するために任意の位置に配置された任意の数の任意のタイプの入力または作動メカニズム(例えば、ボタン、アイコン、フィールド、ボックス、リンクなど)を含んでもよい。インタフェース画面は、任意の方法で画面間を移動するための任意の適切なアクチュエータ(例えば、リンク、タブなど)を含んでもよい。
レポートは、任意の方法で配置された任意の情報を含んでもよく、ユーザに所望の情報(例えば、機械学習モデル、側面(例えば、出力の種類、クラスなど)、分類、機械学習モデルからの出力など)を提供するためにルールまたは他の基準に基づいて構成可能であってもよい。
埋め込みモデルは、任意の機械学習モデル(例えば、ニューラルネットワーク、統計モデルなど)から派生されてもよい。ニューラルネットワークは、任意のタイプ(例えば、フィードフォワード、リカレント、畳み込みなど)であってよく、任意の量のレイヤ、及び各レイヤにおける任意の量のニューロン又はノードを含んでよい。ニューラルネットワークの任意のレイヤは、埋め込みを生成する埋め込みレイヤとして機能してもよく、埋め込みモデルは、ニューラルネットワーク又はニューラルネットワークの任意の部分(例えば、埋め込みレイヤ及び埋め込みレイヤより前のレイヤなど)を含む。埋め込みは、任意のタイプの構造(例えば、ベクトル、配列など)によって表わされてもよく、任意の所望の特徴(例えば、画像特徴、テキスト特徴など)に係る任意の数値又は他の値(例えば、英数字など)を有する任意の量の要素又は次元を含んでもよい。データアイテムに対して任意の数の埋め込みが生成されてもよい(例えば、各埋め込みは、データアイテムの対応する1つまたは複数の特徴に関連付けられる、など)。候補出力(新しい候補出力を含む)のための訓練セットは、任意のタイプの任意の量のデータアイテム(例えば、画像、テキスト、ビデオ、オーディオなど)を含んでもよく、さらに、既知の結果(例えば、既知の出力、既知のクラス、既知の結果など)の任意の表示を含んでもよい。機械学習モデルを訓練または再訓練するために、任意の量の訓練セットについて、任意の従来型または他の訓練技術を適用してよい(例えば、誤差逆伝播法など)。
予測モデルは、候補出力を予測するために、任意の技術を採用してもよい(例えば、機械学習、パターン認識、kNNなど)。任意の量の近傍法は、任意の適切な距離または他の類似度測定(例えば、コサイン類似度など)に基づく予測のために使用されてよい。距離は、様々な従来型または他の技術(例えば、ユークリッド距離、マンハッタン距離、ハミング距離など)に基づいて決定されてよい。候補出力は、任意の方法で近傍法に基づいて選択されてよい(例えば、近傍法の大多数に関連する候補出力、最も近い近傍法と関連する候補出力、他のクラスタへの近傍法の距離など)。
訓練スコアは、任意のクラスタ品質測定もしくは、距離もしくは他の類似度測定(例えば、クラスタ間距離、クラスタ内距離、平均距離、コサイン類似度など)またはこれらの組み合わせに基づいて決定されてよい。距離は、様々な従来型または他の技術(例えば、ユークリッド距離、マンハッタン距離、ハミング距離など)に基づき決定されてよい。個々の埋め込みに対するスコアを任意の方法で組み合わせて、訓練スコアを決定してよい(例えば、平均値、中央値、標準偏差など)。さらに、新しい候補出力の埋め込みは、訓練スコアを決定するために使用される代表的な埋め込みを形成するために、任意の方法(例えば、平均値、中央値、特定の特徴または要素の最大値または最小値など)で結合されてよい。閾値は、新しい候補出力のためのクラスタが他の候補出力のクラスタから十分に区別されることを示すために、任意の値の範囲の任意の適切な値に設定されてもよい。例えば、クラスタ間距離は、他のクラスタと区別するために大きく、一方、クラスタ内距離は、まとまったクラスタを提供するために小さくする必要がある。上記の訓練スコアの表現では、個々の埋め込みが1.0に近づくほど、十分に識別可能な埋め込みクラスタであることを示す(例えば、クラスタ間距離b(i)が大きく、クラスタ内距離a(i)が小さい場合、スコアは1.0に近づく)。したがって、訓練スコアの閾値の例(例えば、個々の埋め込みスコアの平均値または中央値、あるいは代表埋め込みに対するスコアなどに関する上記の表現に基づく)は、0.7から1.0までの範囲の任意の値(または個々の埋め込みスコアが結合または正規化される方法に基づく他の値の範囲の同様の値)であってもよい。しかし、閾値には、任意の適切な値または値の範囲が使用されてよい。
本発明の実施形態は、上述した特定のタスクやアルゴリズムに限定されるものではなく、様々な機械学習システム(例えば、深層学習、分類、パターンマッチング/認識、画像/映像/視覚解析、自然言語/テキスト解析、音声解析など)のための任意の種類の新しい側面(例えば、新しい出力、新しいクラス、新しいグループ、新しいカテゴリ、新しい値の範囲、任意のグループからの新しい選択など)の学習に利用されることがある。
本明細書で使用される用語は、特定の実施形態を説明することのみを目的としており、限定することを意図するものではない。本明細書で使用される場合、単数形「a」、「an」および「the」は、文脈が明確に他のことを示さない限り、複数形も含むことを意図している。本明細書で使用される場合、「含む(comprises)」、「含む(comprising)」、「含む(includes)」、「含む(including)」、「有する(has)」、「有する(have)」、「有する(having)」、「有する(with)」などの用語は、記載された特徴、整数、ステップ、動作、要素、もしくはコンポーネントまたはその組み合わせの存在を指定するが、1つ以上の他の特徴、整数、ステップ、動作、要素、コンポーネント、もしくはそれらのグループまたはその組み合わせの存在または追加を排除するものではないことがさらに理解されたい。
以下の特許請求の範囲におけるすべての手段またはステッププラスファンクションの対応する構造、材料、動作、および等価物は、具体的に請求された他の請求項の要素と組み合わせて機能を実行するための任意の構造、材料、または動作を含むことを意図している。本発明の説明は、例示および説明の目的で提示されたが、網羅的であること、または開示された形態の本発明に限定されることを意図していない。多くの修正および変形が、本発明の範囲および精神から逸脱することなく、当業者には明らかであろう。実施形態は、本発明の原理および実用化を最もよく説明するために、また、当業者が、企図される特定の用途に適するように種々の変更を伴う種々の実施形態について本発明を理解できるように、選択および説明されたものである。
本発明の様々な実施形態の説明は、例示の目的で提示されているが、網羅的であることを意図するものではなく、開示される実施形態に限定されることを意図するものでもない。説明された実施形態の範囲および精神から逸脱することなく、多くの修正および変更が可能であることは当業者には明らかであろう。本明細書で使用される用語は、実施形態の原理、市場で見られる技術に対する実際の適用または技術的改善を説明するため、または当業者が本明細書に開示される実施形態を理解できるようにするために選択された。
本発明は、任意の可能な技術詳細レベルで統合されたシステム、方法もしくはコンピュータプログラム製品またはそれらの組み合せとすることができる。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を記憶したコンピュータ可読記憶媒体を含んでよい。
コンピュータ可読記憶媒体は、命令実行装置によって使用される命令を保持し、記憶することができる有形の装置とすることができる。コンピュータ可読記憶媒体は、一例として、電子記憶装置、磁気記憶装置、光学記憶装置、電磁記憶装置、半導体記憶装置またはこれらの適切な組み合わせであってよいが、限定されるものではない。コンピュータ可読記憶媒体のより具体的な一例としては、ポータブルコンピュータディスケット、ハードディスク、RAM、ROM、EPROM(またはフラッシュメモリ)、SRAM、CD-ROM、DVD、メモリスティック、フロッピーディスク、パンチカードまたは溝内の隆起構造などに命令を記録した機械的に符号化された装置、およびこれらの適切な組み合せが挙げられる。本明細書で使用されるコンピュータ可読記憶装置は、電波もしくは他の自由に伝播する電磁波、導波管もしくは他の伝送媒体を介して伝播する電磁波(例えば、光ファイバケーブルを通過する光パルス)、またはワイヤを介して送信される電気信号のような、一過性の信号それ自体として解釈されるべきではない。
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピュータ装置/処理装置へダウンロード可能である。あるいは、ネットワーク(例えばインターネット、LAN、WANもしくはワイヤレスネットワークまたはこれらの組み合わせ)を介して、外部コンピュータまたは外部記憶装置へダウンロード可能である。ネットワークは、銅製伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータもしくはエッジサーバまたはこれらの組み合わせを備えることができる。各コンピュータ装置/処理装置内のネットワークアダプタカードまたはネットワークインタフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、当該コンピュータ可読プログラム命令を、各々のコンピュータ装置/処理装置におけるコンピュータ可読記憶媒体に記憶するために転送する。
本発明の動作を実施するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路用構成データ、または、スモールトークやC++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語や類似のプログラミング言語などの手続き型プログラミング言語を含む、1つ以上のプログラミング言語の任意の組み合わせで記述されたソースコードもしくはオブジェクトコードのいずれかとすることができる。コンピュータ可読プログラム命令は、スタンドアロン型ソフトウェアパッケージとして完全にユーザのコンピュータ上で、または部分的にユーザのコンピュータ上で実行可能である。あるいは、部分的にユーザのコンピュータ上でかつ部分的にリモートコンピュータ上で、または、完全にリモートコンピュータもしくはサーバ上で実行可能である。後者の場合、リモートコンピュータは、LANやWANを含む任意の種類のネットワークを介してユーザのコンピュータに接続してもよいし、外部コンピュータに(例えば、インターネットサービスプロバイダを使用してインターネットを介して)接続してもよい。いくつかの実施形態において、例えばプログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理アレイ(PLA)を含む電子回路は、本発明の態様を実行する目的で当該電子回路をカスタマイズするために、コンピュータ可読プログラム命令の状態情報を利用することによって、コンピュータ可読プログラム命令を実行することができる。
本発明の各態様は、本明細書において、本発明の実施形態に係る方法、装置(システム)、およびコンピュータプログラム製品のフローチャートもしくはブロック図またはその両方を参照して説明されている。フローチャートもしくはブロック図またはその両方における各ブロック、および、フローチャートもしくはブロック図またはその両方における複数のブロックの組み合わせは、コンピュータ可読プログラム命令によって実行可能である。
上記のコンピュータ可読プログラム命令は、機械を生産するために、コンピュータ、または他のプログラマブルデータ処理装置のプロセッサに提供してよい。これにより、かかるコンピュータまたは他のプログラマブルデータ処理装置のプロセッサを介して実行されるこれらの命令が、フローチャートもしくはブロック図またはその両方における1つ以上のブロックにて特定される機能/動作を実行するための手段を創出する。上記のコンピュータ可読プログラム命令はさらに、コンピュータ、プログラマブルデータ処理装置もしくは他の装置またはこれらの組み合わせに対して特定の態様で機能するよう命令可能なコンピュータ可読記憶媒体に記憶してよい。これにより、命令が記憶された当該コンピュータ可読記憶媒体は、フローチャートもしくはブロック図またはその両方における1つ以上のブロックにて特定される機能/動作の態様を実行するための命令を含む製品を構成する。
また、コンピュータ可読プログラム命令を、コンピュータ、他のプログラマブル装置、または他の装置にロードし、一連の動作ステップを当該コンピュータ、他のプログラマブル装置、または他の装置上で実行させることにより、コンピュータ実行プロセスを生成してもよい。これにより、当該コンピュータ、他のプログラマブル装置、または他の装置上で実行される命令が、フローチャートもしくはブロック図またはその両方における1つ以上のブロックにて特定される機能/動作を実行する。
本開示の図面におけるフローチャートおよびブロック図は、本発明の種々の実施形態に係るシステム、方法およびコンピュータプログラム製品の可能な実装形態のアーキテクチャ、機能性、および動作を示している。この点に関して、フローチャートまたはブロック図における各ブロックは、特定の論理機能を実行するための1つ以上の実行可能な命令を含む、命令のモジュール、セグメント、または部分を表すことができる。他の一部の実装形態において、ブロック内に示した機能は、各図に示す順序とは異なる順序で実行してもよい。例えば、連続して示される2つのブロックは、実際には、関係する機能に応じて、1つの工程として達成してもよいし、同時もしくは略同時に実行してもよいし、部分的もしくは全体的に時間的に重複した態様で実行してもよいし、または場合により逆順で実行してもよい。なお、ブロック図もしくはフローチャートまたはその両方における各ブロック、および、ブロック図もしくはフローチャートまたはその両方における複数のブロックの組み合わせは、特定の機能または動作を行う、または専用ハードウェアとコンピュータ命令との組み合わせを実行する専用ハードウェアベースのシステムによって、実行可能である。
Claims (24)
- 新しい出力を包含する結果を生成するための機械学習方法であって、前記方法は、
プロセッサを介して、複数の候補出力の中から候補出力を決定するために、機械学習モデルを訓練することと、
前記プロセッサを介して、訓練データの第1セットから複数の候補出力に関連する第1埋め込みを生成することであって、前記第1埋め込みは、前記訓練された機械学習モデルの中間レイヤから生成される、生成することと、
前記プロセッサを介して、訓練データの第2セットから新しい候補出力に関連する第2埋め込みを生成することであって、前記第2埋め込みは、前記訓練された機械学習モデルの前記中間レイヤから生成される、生成することと、
前記プロセッサを介して、前記訓練された機械学習モデルの前記中間レイヤによって入力データに対する第3埋め込みを決定することと、
前記プロセッサを介して、前記複数の候補出力のグループと、前記第1および第2埋め込みに対する前記第3埋め込みの距離に基づく前記新しい候補出力とから、前記入力データに対する結果としての候補出力を予測することと、を含む方法。 - 前記機械学習モデルは分類モデルを含み、前記複数の候補出力はクラスを含み、前記新しい候補出力は新しいクラスを含む、請求項1に記載の方法。
- 前記結果としての候補出力を予測することは、
前記第1および第2埋め込みから、前記第3埋め込みに最も近い複数の埋め込みを決定することと、
前記決定された複数の埋め込みに関連する候補出力に基づいて、前記結果としての候補出力を決定することと、を含む、請求項1に記載の方法。 - 前記結果としての候補出力は、前記決定された複数の埋め込みのうちの大多数に関連する候補出力に基づいて決定される、請求項3に記載の方法。
- 前記第1および第2埋め込みに基づき、訓練スコアを決定することと、
前記訓練スコアが閾値を満たさないことに応答して、前記機械学習モデルを再訓練させることと、をさらに含む、請求項1に記載の方法。 - 前記第1埋め込みは、それぞれが対応する候補出力に関連する複数の第1クラスタを形成し、前記第2埋め込みは、前記新しい候補出力に関連する第2クラスタを形成し、前記訓練スコアを決定することは、
前記第2クラスタ内の前記第2埋め込みとの間の距離と、前記第2埋め込みそれぞれと前記複数の第1クラスタとの間の距離とに基づいて、前記訓練スコアを決定すること、をさらに含む、請求項5に記載の方法。 - 前記機械学習モデルは、前記複数の候補出力のための入力レイヤ、中間レイヤ、および出力レイヤを含むニューラルネットワークを含み、前記第1、第2、および第3埋め込みは、埋め込みモデルによって生成され、前記埋め込みモデルは、前記出力レイヤを含まない前記訓練された機械学習モデルの前記ニューラルネットワークを含む、請求項1に記載の方法。
- 前記新しい候補出力は、前記機械学習モデルを再訓練することなく、前記結果としての候補出力を予測するためのグループに追加される、請求項1に記載の方法。
- 新しい出力を包含する結果を生成するための機械学習のためのシステムであって、前記システムは、
複数の候補出力の中から候補出力を決定するために、機械学習モデルを訓練することと、
訓練データの第1セットから複数の候補出力に関連する第1埋め込みを生成することであって、前記第1埋め込みは、前記訓練された機械学習モデルの中間レイヤから生成される、生成することと、
訓練データの第2セットから新しい候補出力に関連する第2埋め込みを生成することであって、前記第2埋め込みは、前記訓練された機械学習モデルの前記中間レイヤから生成される、生成することと、
前記訓練された機械学習モデルの前記中間レイヤによって入力データに対する第3埋め込みを決定することと、
前記複数の候補出力のグループと、前記第1および第2埋め込みに対する前記第3埋め込みの距離に基づく前記新しい候補出力とから、前記入力データに対する結果としての候補出力を予測することと、を行うように構成される、少なくとも1つのプロセッサを含む、システム。 - 前記機械学習モデルは分類モデルを含み、前記複数の候補出力はクラスを含み、前記新しい候補出力は新しいクラスを含む、請求項9に記載のシステム。
- 前記結果としての候補出力を予測することは、
前記第1および第2埋め込みから、前記第3埋め込みに最も近い複数の埋め込みを決定することと、
前記決定された複数の埋め込みに関連する候補出力に基づいて、前記結果としての候補出力を決定することと、を含む、請求項9に記載のシステム。 - 前記結果としての候補出力は、前記決定された複数の埋め込みのうちの大多数に関連する候補出力に基づいて決定される、請求項11に記載のシステム。
- 前記少なくとも1つのプロセッサは、
前記第1および第2埋め込みに基づき、訓練スコアを決定することと、
前記訓練スコアが閾値を満たさないことに応答して、前記機械学習モデルを再訓練することと、をさらに行うように構成される、請求項9に記載のシステム。 - 前記第1埋め込みは、それぞれが対応する候補出力に関連する複数の第1クラスタを形成し、前記第2埋め込みは、前記新しい候補出力に関連する第2クラスタを形成し、前記訓練スコアを決定することは、
前記第2クラスタ内の前記第2埋め込みとの間の距離と、前記第2埋め込みそれぞれと前記複数の第1クラスタとの間の距離とに基づいて、前記訓練スコアを決定すること、をさらに含む、請求項13に記載のシステム。 - 前記機械学習モデルは、前記複数の候補出力のための入力レイヤ、中間レイヤ、および出力レイヤを含むニューラルネットワークを含み、前記第1、第2、および第3埋め込みは、埋め込みモデルによって生成され、前記埋め込みモデルは、前記出力レイヤを含まない前記訓練された機械学習モデルの前記ニューラルネットワークを含む、請求項9に記載のシステム。
- 前記新しい候補出力は、前記機械学習モデルを再訓練することなく、前記結果としての候補出力を予測するためのグループに追加される、請求項9に記載のシステム。
- 新しい出力を包含する結果を生成するための機械学習のためのコンピュータプログラム製品であって、前記コンピュータプログラム製品は、1つまたは複数のコンピュータ可読記憶媒体にまとめて格納されたプログラム命令を有する1つまたは複数のコンピュータ可読記憶媒体を含み、前記プログラム命令はプロセッサによって実行可能であり、前記プロセッサに、
複数の候補出力の中から候補出力を決定するために、機械学習モデルを訓練することと、
訓練データの第1セットから複数の候補出力に関連する第1埋め込みを生成することであって、前記第1埋め込みは、前記訓練された機械学習モデルの中間レイヤから生成される、生成することと、
訓練データの第2セットから新しい候補出力に関連する第2埋め込みを生成することであって、前記第2埋め込みは、前記訓練された機械学習モデルの前記中間レイヤから生成される、生成することと、
前記訓練された機械学習モデルの前記中間レイヤによって入力データに対する第3埋め込みを決定することと、
前記複数の候補出力のグループと、前記第1および第2埋め込みに対する前記第3埋め込みの距離に基づく前記新しい候補出力とから、前記入力データに対する結果としての候補出力を予測することと、を行わせる、コンピュータプログラム製品。 - 前記機械学習モデルは分類モデルを含み、前記複数の候補出力はクラスを含み、前記新しい候補出力は新しいクラスを含む、請求項17に記載のコンピュータプログラム製品。
- 前記結果としての候補出力を予測することは、
前記第1および第2埋め込みから、前記第3埋め込みに最も近い複数の埋め込みを決定することと、
前記決定された複数の埋め込みに関連する候補出力に基づいて、前記結果としての候補出力を決定することと、を含む、請求項17に記載のコンピュータプログラム製品。 - 前記結果としての候補出力は、前記決定された複数の埋め込みのうちの大多数に関連する候補出力に基づいて決定される、請求項19に記載のコンピュータプログラム製品。
- 前記プログラム命令は前記プロセッサに、
前記第1および第2埋め込みに基づき、訓練スコアを決定することと、
前記訓練スコアが閾値を満たさないことに応答して、前記機械学習モデルを再訓練することと、をさらに行わせる、請求項17に記載のコンピュータプログラム製品。 - 前記第1埋め込みは、それぞれが対応する候補出力に関連する複数の第1クラスタを形成し、前記第2埋め込みは、前記新しい候補出力に関連する第2クラスタを形成し、前記訓練スコアを決定することは、
前記第2クラスタ内の前記第2埋め込みとの間の距離と、前記第2埋め込みそれぞれと前記複数の第1クラスタとの間の距離とに基づいて、前記訓練スコアを決定することを、さらに含む、請求項21に記載のコンピュータプログラム製品。 - 前記機械学習モデルは、前記複数の候補出力のための入力レイヤ、中間レイヤ、および出力レイヤを含むニューラルネットワークを含み、前記第1、第2、および第3埋め込みは、埋め込みモデルによって生成され、前記埋め込みモデルは、前記出力レイヤを含まない前記訓練された機械学習モデルの前記ニューラルネットワークを含む、請求項17に記載のコンピュータプログラム製品。
- 前記新しい候補出力は、前記機械学習モデルを再訓練することなく、前記結果としての候補出力を予測するためのグループに追加される、請求項17に記載のコンピュータプログラム製品。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/479,217 | 2021-09-20 | ||
US17/479,217 US20230092969A1 (en) | 2021-09-20 | 2021-09-20 | Incremental machine learning using embeddings |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023044728A true JP2023044728A (ja) | 2023-03-31 |
Family
ID=85572761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022147755A Pending JP2023044728A (ja) | 2021-09-20 | 2022-09-16 | 機械学習のための方法、システムおよびコンピュータプログラム製品(埋め込みを用いるインクリメンタル機械学習) |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230092969A1 (ja) |
JP (1) | JP2023044728A (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230068502A1 (en) * | 2021-08-30 | 2023-03-02 | Disney Enterprises, Inc. | Multi-Modal Content Based Automated Feature Recognition |
US11947511B2 (en) * | 2022-05-10 | 2024-04-02 | Ghost Autonomy Inc. | Indexing a data corpus to a set of multidimensional points |
US11958500B1 (en) * | 2022-05-10 | 2024-04-16 | Ghost Autonomy Inc. | Autonomous vehicle model training and validation using low-discrepancy sequences |
-
2021
- 2021-09-20 US US17/479,217 patent/US20230092969A1/en active Pending
-
2022
- 2022-09-16 JP JP2022147755A patent/JP2023044728A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230092969A1 (en) | 2023-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3467723B1 (en) | Machine learning based network model construction method and apparatus | |
JP2023044728A (ja) | 機械学習のための方法、システムおよびコンピュータプログラム製品(埋め込みを用いるインクリメンタル機械学習) | |
US20190354810A1 (en) | Active learning to reduce noise in labels | |
US11501161B2 (en) | Method to explain factors influencing AI predictions with deep neural networks | |
US11360927B1 (en) | Architecture for predicting network access probability of data files accessible over a computer network | |
US20220198320A1 (en) | Minimizing processing machine learning pipelining | |
US11954202B2 (en) | Deep learning based detection of malicious shell scripts | |
US20230274527A1 (en) | Systems and Methods for Training Multi-Class Object Classification Models with Partially Labeled Training Data | |
KR20220116111A (ko) | 인공 신경망의 추론 데이터에 대한 신뢰도를 판단하는 방법 | |
US11068779B2 (en) | Statistical modeling techniques based neural network models for generating intelligence reports | |
KR20210116640A (ko) | 피라미드 계층의 아키텍처를 생성하기 위한 시스템 및 방법 | |
US20230108177A1 (en) | Hardware-Aware Progressive Training Of Machine Learning Models | |
KR102457893B1 (ko) | 딥러닝 기반의 강수량 예측 방법 | |
EP3971782A2 (en) | Neural network selection | |
KR102452378B1 (ko) | 도메인 특화된 언어 규칙 생성이 가능한 텍스트 데이터 분석 방법 및 장치 | |
US11763196B2 (en) | Dynamically applying machine learning models from profiling received data | |
KR20230084138A (ko) | 오디오의 향상된 컴퓨팅 디바이스 표현 | |
CN117063208A (zh) | 无监督多模型联合推理系统和方法 | |
KR102452377B1 (ko) | 의도추론 순서 조정이 가능한 텍스트 데이터 분석 방법 및 장치 | |
US20240220617A1 (en) | Deep learning based detection of malicious shell scripts | |
US20230214656A1 (en) | Subtask Adaptable Neural Network | |
KR102453919B1 (ko) | 인공지능 기반 문화 콘텐츠 관련 가이드 음원의 검증 방법, 장치 및 시스템 | |
KR102421987B1 (ko) | 깊은 신경망 내에서의 강화된 배치 정규화를 위한 전자 장치, 방법, 및 컴퓨터 판독가능 매체 | |
US20230138020A1 (en) | Evolutionary algorithm analytics | |
US20240169186A1 (en) | Machine-Learned Models for User Interface Prediction and Generation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD16 | Notification of change of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7436 Effective date: 20221222 |