JP2019144872A - 機械学習を行なう計算モデルを有するシステム、及び機械学習の方法 - Google Patents
機械学習を行なう計算モデルを有するシステム、及び機械学習の方法 Download PDFInfo
- Publication number
- JP2019144872A JP2019144872A JP2018028789A JP2018028789A JP2019144872A JP 2019144872 A JP2019144872 A JP 2019144872A JP 2018028789 A JP2018028789 A JP 2018028789A JP 2018028789 A JP2018028789 A JP 2018028789A JP 2019144872 A JP2019144872 A JP 2019144872A
- Authority
- JP
- Japan
- Prior art keywords
- learning
- data
- unit
- inference
- data set
- 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
Landscapes
- Image Analysis (AREA)
Abstract
【課題】 機械学習において、学習データの数を制限しつつ、学習モデルの精度を上げる。【解決手段】 システム101は、機械学習を行う計算モデルと、計算モデルの学習を制御する学習制御システム200を備える。学習制御システム200は、学習データを蓄積する記憶装置203と、蓄積された学習データの中から、一部の学習データをサンプリングする手段205と、サンプリングされた学習データの最大数を制限する手段207と、サンプリングされた学習データを用いて計算モデルの学習を行う手段211とを有する。【選択図】図3
Description
本発明は、一般には機械学習を行なう計算モデルを有するシステム、及び機械学習の方法に関わり、とくに、大量データを効率的に有効活用するための技術に関する。
ニューラルネットワークのように機械学習を行う計算モデルを有するシステムが知られている。
その種のシステムに、データがシステムに連続的に入ってきて膨大になる場合、全てのデータを学習に利用すると、データ量に比例して学習時間が増加してしまう。他方、学習に使うデータ数を単純に削減するだけでは、ユーザが望んだように精度が向上しない。例えば、学習対象の環境が変化したならば、学習をその新しい環境に適合させたいとユーザが望んでも、それが難しい。
本開示の一実施形態に従う、機械学習を行う計算モデルを有するシステムは、前記計算モデルの学習を制御する学習制御システムを備え、前記学習制御システムは、学習データを蓄積する記憶装置と、前記蓄積された学習データの中から、一部の学習データをサンプリングする手段と、前記サンプリングされた学習データの最大数を制限する手段と、前記サンプリングされた学習データを用いて、前記計算モデルの学習を行う手段とを有する。
以下、本発明の一実施形態を説明する。
なお、以下の説明では、「インタフェース部」は、1以上のインタフェースを含む。1以上のインタフェースは、1以上の同種のインタフェースデバイス(例えば1以上のNIC(Network Interface Card))であってもよいし2以上の異種のインタフェースデバイス(例えばNICとHBA(Host Bus Adapter))であってもよい。
また、以下の説明では、「記憶部」は、メモリ及びストレージを含む。ストレージは、1以上の記憶デバイスを有し、その各記憶デバイスは典型的には、不揮発性の記憶デバイス(例えば補助記憶デバイス)、例えばHDD(Hard Disk Drive)又はSSD(Solid State Drive)である。メモリは、1以上の記憶デバイスを有し、その各記憶デバイスは揮発性の記憶デバイスであってもよいし不揮発性の記憶デバイスであってもよい。
また、以下の説明では、「プロセッサ部」は、1以上のプロセッサを含む。少なくとも1つのプロセッサは、典型的には、CPU(Central Processing Unit)である。プロセッサは、処理の一部又は全部を行うハードウェア回路を含んでもよい。
また、以下の説明では、「プログラム」は、プロセッサ部により実行可能な命令のセットである。プログラムつまり命令セットがプロセッサ部によって実行されることで、以下の説明されるような様々な処理、制御又は機能が、適宜に記憶部(例えばメモリ)及び/又はインタフェース部を用いながら、行われる。したがって、以下の説明では、プログラムを主語として処理、制御又は機能を説明する場合があるが、その主語が、プロセッサ部(あるいは、そのプロセッサ部を有する装置又はシステム)とされてもよい。プログラムは、プログラムソースから計算機システムにインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバ又は計算機が読み取り可能な(例えば非一時的な)記録媒体であってもよい。また、以下の説明において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。プログラムは、典型的には計算機システムのストレージに格納される。
また、「データセット」とは、アプリケーションプログラムのようなプログラムから見た1つの論理的な電子データの塊又は集合であり、例えば、レコード、ファイル、キーバリューペア及びタプルのうちのいずれでもよい。データセット又はデータセットに含まれるそれぞれの単位のデータは、典型的には計算機システムのストレージに格納される。
図1は、本発明の一実施形態に係る計算機システムの物理構成を示す。
計算機システム50は、ネットワーク240に接続された複数(又は1つ)の物理計算機201で構成される。
ネットワーク240は、1以上の通信ネットワークであり、例えば、FC(Fibre Channel)ネットワークとIP(Internet Protocol)ネットワークとのうちの少なくとも1つを含んでよい。ネットワーク240は、計算機システム50の外に存在してもよい。
各物理計算機201は、例えば汎用計算機であり、物理コンピュータリソース330を有する。物理コンピュータリソース330は、ネットワーク240に接続されたインタフェース部251、記憶部252及びそれらに接続されたプロセッサ部253を含む。
計算機システム50は、例えば、XaaS(X as a Service)を提供するクラウドコンピューティングシステムでよい。なお、「XaaS」とは、一般には、システムの構築又は運用に必要な何らかのリソース(例えば、ハードウェア、回線、ソフトウェア実行環境、アプリケーションプログラム、開発環境など)をインターネットのようなネットワークを通じて利用できるようにしたサービスを意味する。XaaSの「X」として採用される文字(又はワード)は、XaaSのタイプ(サービスモデル)によって異なる。例えば、XaaSの例として、PaaS(Platform as a Service)、SaaS(Software as a Service)、PaaS(Platform as a Service)、IaaS(Infrastructure as a Service)又はHaaS(Hardware as a Service)がある。
図2は、計算機システム50の論理構成を示す。
計算機システム50は、機械学習可能な1以上の計算モデルの学習及び推論のうちの少なくとも1つを支援する学習推論支援システム100を提供する。ここで、「計算モデル」とは、コンピュータにより実施される計算プロセス、つまり、コンピュータ上で実現される計算システムである。計算モデルは、本実施形態ではNN(ニューラルネットワーク)であるが、NNは一つの例示であり、計算モデルが必ずしもNNでなければならないわけではなく、他の種類の計算プロセス又は計算システムであってもよい。学習推論支援システム100は、例えば、計算機システム50が提供するクラウドプラットフォーム上に実現されるシステムでよい。学習推論支援システム100は、学習推論システム101と、学習推論システム101を管理する管理システム161とを含む。管理システム161は、学習推論システム101以外のシステムを管理するシステムでもよい。
学習推論システム101は、1以上の計算モデル、例えばNN、を用いた機械学習(例えば、ディープラーニング)と、機械学習を終えた1以上の計算モデル、例えばNN、を用いた推論とを行うシステムである。学習推論システム101は、ネットワーク140を通じて、1以上のデータソース111、1以上のデータターゲット113及び1以上のユーザ端末112に接続される。ネットワーク140は、上述のネットワーク240でもよいし、ネットワーク240とは異なるネットワークでもよい。ネットワーク140も、1以上の通信ネットワークでよい。
データソース111は、データセットのソース(読込み元)である。データターゲット113は、データセットのターゲット(出力先)である。データソース111及びデータターゲット113のいずれも、例えば、Webサイト、ネットワークストレージ及びユーザ端末112のいずれであってもよい。
ユーザ端末112は、ユーザが使用する計算機(クライアント)である。ユーザ端末112は、例えば、学習やデプロイ(展開)を学習推論システム101に指示するのに使用される。ユーザ端末112は、いわゆるクラウドワーカが使用する計算機であってもよい。
データソース111、データターゲット113及びユーザ端末112のうちの少なくとも1つは、計算機システム50において実現されるシステム(例えば仮想計算機)でもよい。
学習推論システム101は、入力API(Application Programming Interface)106、入力メタ情報121、データプール105、抽出部119、抽出メタ情報129、非構造化ストレージ104、アノテーション部103、アノテーションメタ情報130、学習部102、仮想NNホスト116、推論部114、推論/統計部115、出力API107及び出力メタ情報122を有する。入力API106(入力部の一例)、抽出部119、アノテーション部103、学習部102、仮想NNホスト116、推論部114、推論/統計部115及び出力API107(出力部の一例)のうちの少なくとも1つは、1以上のプログラムである(別の言い方をすれば、1以上のプログラムがプロセッサ部によって実行されることにより実現される機能である)。また、学習推論システム101においては、2以上の学習部102が並列に実行されてもよいし、2以上の推論部114が並列に実行されてもよい。学習部102及び推論部114以外の要素のうちの少なくとも1つの要素が2以上存在してもよい。入力メタ情報121、抽出メタ情報129、アノテーションメタ情報130及び出力メタ情報122といった情報は、計算機システム50における1以上の記憶部に252に格納される。また、データプール105及び非構造化ストレージ104といった記憶領域は、計算機システム50における1以上の記憶部に252が提供する記憶領域である。
入力API106は、入力メタ情報121を基に1以上のデータソース111から1以上のデータセットを読み込み、読み込んだデータセットをデータプール105に格納する。
入力メタ情報121は、入力API106による読み込み対象のデータセットがもつ属性を示す情報であり、例えば、データセットが格納されている場所や、データセットの識別子を示す情報を含む。
データプール105は、データセットを格納する論理的な記憶領域の一例である。具体的には、データプール105には、入力API106が、1以上のデータソース111から読み込んだデータセットを格納する。また、データプール105には、推論部114及び推論/統計部115のうちの少なくとも1つが、推論結果としてのデータセットを格納してもよい。データプール105には、構造化データセットと非構造化データセットが混在し得る。ここで、構造化データとは、例えば、「商品Aの売り上げ金額はBである」というような情報を示すPOS(Point Of Sales)データ、あるいは、「A地域の天候はBである」というような情報を示す天気データ等のように、計算機で統計処理が行えるような意味づけが予め含まれているデータを指す。他方、非構造化データとは、例えば単なる画像、テキスト又は音声のデータのように、計算機で統計処理が行えるような意味づけが含まれてないデータを指す。
抽出部119は、抽出メタ情報129を基にデータプール105から非構造化データセットを抽出し、その非構造化データセットを非構造化ストレージ104に格納する。
抽出メタ情報129は、抽出部119による抽出の対象の非構造化データセットの属性を示す情報であり、例えば、非構造化データセットの識別子を示す情報を含む。抽出される非構造化データセットは、学習や検証のための非構造化データセット、例えば、犬や猫といった動物が写っている写真画像ファイルである。抽出メタ情報129は、抽出対象の属性を示す情報を、ユーザの利用目的毎に含んでいてもよい。
非構造化ストレージ104は、抽出部119により抽出された非構造化データセットが格納される。なお、格納される非構造化データセットには、抽出部119によって、その非構造化データセットに関連付けられる可能性のあるメタ情報(例えば、抽出メタ情報129から抽出されたメタ情報)が、見込み情報(probability)として付加される。非構造化ストレージ104に格納されている非構造化データセットのうち、学習部102での機械学習でNNに入力されることになるデータ(学習データ)のセットを、「学習データセット」と言う。学習データセットに含まれるそれぞれの学習データには、アノテーション部103によりアノテーション結果と関連付けられ得る。そして、学習データとそれに関連付けられたアノテーション結果とを「教師データ」といい、教師データのセットを「教師データセット」と言う。学習データは、例えば単なる画像データ、音声データあるいはテキストデータのような非構造化データであってもよく、あるいは、POSデータのように、データに何らかの意味づけが予め付与されている構造化データであってもよい。
アノテーション部103は、学習データセットに対してアノテーション結果を関連付ける作業(以下、これを「アノテーション作業」という)を制御する。具体的には、例えば、アノテーション部103は、アノテーションメタ情報130を基に、下記を行う。
・ユーザ端末112に、非構造化ストレージ104内の学習データセットに対するアノテーション結果(例えば、それぞれの学習データの分類名を示すラベル)の入力(アノテーション作業)の依頼を送信する。
・その依頼を受けたユーザ端末112から、その学習データセットについてのアノテーション結果を受ける。
・受けたアノテーション結果を、その学習データセットに関連付ける。
・アノテーション結果が関連付けられた学習データセット(教師データセット)を、データプール105に格納する。
・ユーザ端末112に、非構造化ストレージ104内の学習データセットに対するアノテーション結果(例えば、それぞれの学習データの分類名を示すラベル)の入力(アノテーション作業)の依頼を送信する。
・その依頼を受けたユーザ端末112から、その学習データセットについてのアノテーション結果を受ける。
・受けたアノテーション結果を、その学習データセットに関連付ける。
・アノテーション結果が関連付けられた学習データセット(教師データセット)を、データプール105に格納する。
より具体的には、例えば、アノテーション部103は、定期的に又は不定期的に、自動で、クラウドワーカのユーザ端末112に、学習データセットに対するアノテーション結果の入力の依頼を送信する(例えば、アノテーション結果入力用のWebページへのリンクが張られた電子メール又はメッセージを送信する)。その依頼を受けたユーザ端末112に、学習データ(例えば、犬又は猫が写った1枚以上の写真画像)と、その学習データに関する質問(例えば、「各写真画像の動物は犬か猫か?」)と、その質問に対する解答としてのアノテーション結果(例えば、「犬」又は「猫」のラベル)を入力するための入力UI(ユーザインターフェース)とを表示するWebページが提供される。Webページの中身は、アノテーションメタ情報130を基に決定されてよい。アノテーション部103は、Webページ経由でユーザ端末112から入力されたアノテーション結果を、対応する学習データに関連付ける。アノテーション部103は、アノテーション結果が関連付けられた学習データ(教師データ)をデータプール105に格納する。学習データセットに属する各単位の学習データに対して、このようにして、アノテーション結果が作成されて関連付けられる。
アノテーションメタ情報130は、アノテーション部103の動作の制御に関する情報を含んだ情報である。アノテーションメタ情報130は、アノテーション部103の動作の制御に関する情報を、ユーザの利用目的毎に含んでいてもよい。
学習部102は、機械学習を行うべき少なくとも1つのNN(以下、「学習NN」といい、又は、より一般的に「学習モデル」ともいう)を用意する。そして、学習部102は、その学習NNの機械学習つまり訓練(以下「学習処理」という)を行う。すなわち、学習部102は、図示しない学習メタ情報(例えば、読み込み対象の教師データセットの属性を示す情報を含んだ情報)に基づき、データプール105から教師データセットを読み込み、その読み込んだ教師データセットを上記学習NNに供給して、その学習NNをより最適に近いものに訓練する。本実施形態では、複数の学習部102が並行して動作することができ、それら複数の学習部102が複数の異なる学習NNをそれぞれ訓練することができる。それら複数の学習NNには、利用目的も構成も同じ複数の学習NNが含まれてもいいし、利用目的は同じであるが構成の異なる複数の学習NNが含まれてもいいし、利用目的も構成も異なる複数の学習NNが含まれてもいい。学習メタ情報は、学習部102に定義されているが、それに代えて、学習部102の外部に存在してもよい。学習部102での機械学習が完了した学習NN(以下「学習済みNN」という)は、仮想ホストNN116によりライブラリ化されて保存される(例えば、所定の記憶領域に格納される)。
仮想NNホスト116は、各学習済みNNの出力精度を算出する検証処理を行う。仮想NNホスト116は、検証処理の結果に基づいて、所定のルールに従い、1以上の学習済みNNを、実用に供されるNN(以下、「実用NN」といい、又はより一般的に「実用モデル」ともいう)として選ぶ。例えば、同じ利用目的の複数の学習済みNNがある場合、それらの中から、最も出力精度の高い1つの学習済みNNが、実用NNとして選ばれる。ライブラリ化されている1以上の学習済みNNのうち、実用NNとして選ばれたものが、その利用目的に応じて、推論部114又は推論/統計部115にデプロイ(展開)されて、実用に供される。
推論部114にデプロイされる実用NNは、主として非構造化データを入力とした特定目的の推論(例えば、動物の写真画像からその動物の種類を識別する)を行うためのNNモデルである。推論部114は、そこにデプロイされた実用NNを実行することにより、その特定の目的の推論処理を行う。例えば、推論部114は、図示しない推論メタ情報(例えば、読み込み対象のデータセットの属性を示す情報を含んだ後述のAPPメタ情報の一例)に基づきデータプール105から、同推論目的のためのデータセット(以下「実用データセット」といい、例えば、動物が写っている写真画像のデータセット)を読み込み、その実用データセットをその実用NNに入力することで、その実用NNから出力データ(例えば、写真画像に写っているのは「犬」といった解答)を得て、その出力データのセット(以下「推論結果データセット」という)をデータプール105に格納する。なお、推論メタ情報は、後述するように推論部114内に存在する。また、2以上の推論部114が並行して実行される。
推論/統計部115にデプロイされる実用NNは、主として推論結果データ及び/又は構造化データを入力とした特定目的の推論又は統計処理を行うためのNNモデルである。推論/統計部115は、そこにデプロイされた実用NNを用いて推論処理と統計処理とのうちの少なくとも1つを行う。具体的には、例えば、推論/統計部115は、図示しない推論/統計メタ情報を参照する。推論/統計メタ情報は、例えば、読み込み対象のデータセット(例えば、推論結果データセットと、構造化データセット)の属性を示す情報と、推論結果データセットとその推論結果データセットに関連付けられる値を示す構造化データセットとの関係を示す情報とを含む。推論/統計部115は、推論/統計メタ情報を基に、推論結果データセット及び/又は構造化データセットを読み込み、構造化データセットが示す値を関連付けた推論結果データセットを、推論/統計結果データセットとしてデータプール105に格納する。
出力API107は、出力メタ情報122を基にデータプール105から出力対象のデータセット(典型的には、推論結果データセット、又は、推論/統計データセット)を読み込み、読み込んだデータセットを、出力メタ情報122から特定される出力先のデータターゲット113に出力する。出力メタ情報122は、出力API122による読み込み対象のデータセットがもつ属性とそのデータセットの出力先とを示す情報であり、例えば、データセットIDとキーとの関係を示す情報と、出力先とキーとの関係を示す情報とを含む。
以上が、計算機システム50の論理構成の説明である。
学習推論システム101では、学習部102と推論部114と推論/統計部115が設けられていて、学習部102での機械学習を完了した学習済みNNの中から実用NNとして選ばれたものが、空いている推論部114又は推論/統計部115に自動的にデプロイされ、推論部114又は推論/統計部115がその実用NNを用いた推論処理を行う。つまり、ユーザの利用目的に応じた学習データセット又は実用データセットが学習推論システム101に入力されさえすれば、その利用目的に合致した学習NN又は実用NNが利用されることになる。このため、利用目的に応じた実用可能なNN(又は計算モデル)を準備してこれを実用に供することが、ユーザにとって容易である。
なお、学習推論システム101では、入力API106が読み込んだ学習データセットと実用データセット、アノテーション部103が得た教師データセット(アノテーション結果のセットが関連付けられた学習データセット)、推論部114から出力される推論結果データセット、及び、推論/統計部115から得られる推論/統計結果データセットといった、利用目的や処理方法の異なる複数のデータセット(例えば、中間結果としてのデータセットを含む)が、データプール105に集約される。このように複数のデータセットが一箇所に集まっているため、分析等の処理(例えば、推論/統計部115が行う処理)の利便性が高い。しかし、それら複数のデータセットがデータプール105のような一箇所の記憶領域に集約されることが必須ではない。複数のデータセットが、異なる複数の記憶領域に分散してもよい。
また、推論/統計部115は無くてもよい。その場合、出力API107からデータターゲット113には、推論結果データセット(構造化データセットが示す値が関連付けられていないデータセット)が出力されてよい。
上述した学習推論システム101を運用する際に、実用環境で入力されるデータ(実用データ)で推論すると共に、その実用データを貯める事で、大量の実用データを学習済みモデル又は実用モデルの再学習、あるいは、学習モデルの学習に、学習データとして利用してよい。これにより、モデルの精度の向上が期待できる。この際に、自動でデータを取得することにより、システム101の運用時間に比例して、データ量が膨大になってしまい、学習時間が増加してしまうという問題がある。
この問題への一つの対策として、データ数を削減する事で学習時間を抑えることが可能である。しかし、単純にデータを削除するだけでは、ユーザの望んだように精度が向上しない。例えば、過去の環境と現在の環境が大きく変化している場合、最近取得したデータが学習に重要になるにも関わらず一様にデータを削除してしまうと、学習に重要な最近のデータが減ってしまう。一方、環境が変化しない場合においては、最近のデータのみ使うだけではデータの多様性が失われるために、モデルの精度が向上しない。
そこで、学習推論システム101は、以下に説明する学習時間を抑えつつモデルの精度を向上させるための学習制御システムを有する。
図3は、その学習制御システム200の機能的な構成を示す。
図3に示すように、学習制御システム200は、データ取得部201、学習データ蓄積部203、データサンプル部205、データサンプル数入力部207、モデル蓄積部209、追加学習部211、モデル選択部213、及び、モデル更新部215を有する。
データ取得部201は、外部のデータソースからデータ、例えば、推論に用いられる実用データ、を取得する。学習データ蓄積部203は、モデルの学習に用いられる学習データを蓄積する記憶領域である。データ取得部201は、取得した実用データを学習データ蓄積部203に学習データとして格納する。
データサンプル部205は、学習データ蓄積部203内の学習データの中から、一部の学習データをサンプリングして(つまり、選択して)読み出す。データサンプル数入力部207は、データサンプル部205に対して、最大の学習データ単位数を入力つまり設定する。データサンプル部205は、設定された最大単位数以下に、実際に読み出される学習データの単位数を制限する。
モデル蓄積部209は、学習推論システム101が保有する学習モデル、学習済みモデル、及び実用モデルなどの計算モデルを蓄積する記憶領域である。
追加学習部211は、モデル蓄積部209から、追加学習させるべき計算モデルを読み出し、そのモデルの追加学習を行う。その追加学習では、データサンプル部205により読み出された学習データが用いられる。追加学習部211は、追加学習が終わった計算モデルを、再び、モデル蓄積部209に格納する。
モデル選択部213は、モデル蓄積部209から、推論に用いられる実用モデルとして利用するモデルを選択的に読み出す。モデル更新部215は、推論部114又は推論/統計部115(図2参照)内の更新すべき実用モデルを、モデル選択部213により読み出された実用モデルに更新する。
図3に示された学習制御システム200がもつ各機能的構成要素は、図2に示された学習推論システム101のいずれかの機能的構成要素に含まれてもよいし、あるいは、別の機能的構成要素として用意されてもよい。例えば、図3の追加学習部211は、図2の学習部102に含まれることができる。
以上のように構成された学習制御システム200は、学習モデルの学習の際に、次の二つのことを行うことができる。
(1)最大の学習データ数を設定する。
(2)所定のルールに基づき、重み付きで学習に用いるデータをサンプリングする。
(1)最大の学習データ数を設定する。
(2)所定のルールに基づき、重み付きで学習に用いるデータをサンプリングする。
最大の学習データ数の設定は、ユーザが行えるようにすることができる。例えば、最大データ数をユーザが入れるためのダイアログが、システム101からユーザ端末に提供される。
上記所定のルールの一例は、取得したデータが過去のデータとどの程度一致しているかを判別し、もし同様のデータセットであれば重みを等しく、異なるのであれば最近のデータを利用する、というものである。
上記ルール例において、一致度合いの判定方法は、例えば監視カメラによる画像であれば、一例として、画像の移動平均を取ることによって得られる背景の情報を利用する方法がある。すなわち、最近の移動平均画像と、過去の移動平均画像との差分を取り、その差分から一致の程度を判断することができる。その他の例として、過去の画像で学習したオートエンコーダで、最近の画像が復元できるかどうかを判別することで、一致度合いを評価してもよい。
さらに、上記所定のルールを、ユーザが直接システムに入力できることとしても良い。例えば、環境が変化していないことが既知であれば、蓄積されている学習データを一様の確率でサンプルするというルールを設定してよい。他方、環境が変化しているのであれば、過去の古いデータほどサンプル確率を相対的に低くするというルールを設定しても良い。
学習制御システム200は、学習対象が徐々に変化する/しないなど様々な状況が起こりうる中で、追加学習を行う際に、使用する学習データ数を制限し、蓄積された学習データを選択的に利用しつつ、選択時に重み付きでサンプリングすることで、学習時間を抑えつつ精度を担保できる。
学習制御システム200は、さらに、次の機能を有する。
1. 半教師あり学習(Semi-supervised learning)
学習制御システム200は、学習データにラベルつまりアノテーションを付けるラベルリング部を有する。学習制御システム200の追加学習部211は、アノテーション(ラベル)付き学習データ(つまり、教師データ)と、ラベル無し学習データを併用して学習を行える。
学習制御システム200は、学習データにラベルつまりアノテーションを付けるラベルリング部を有する。学習制御システム200の追加学習部211は、アノテーション(ラベル)付き学習データ(つまり、教師データ)と、ラベル無し学習データを併用して学習を行える。
2. クラス別学習(One-class learning)
学習制御システム200は、学習データの属性を示すクラス情報を設定するクラス情報設定部と、設定された複数のクラスのうちどのクラスに属するかを指定するラベリング部を有する。学習制御システム200の追加学習部211は、クラス毎学習機能を持つ。
学習制御システム200は、学習データの属性を示すクラス情報を設定するクラス情報設定部と、設定された複数のクラスのうちどのクラスに属するかを指定するラベリング部を有する。学習制御システム200の追加学習部211は、クラス毎学習機能を持つ。
図4に、学習済みの特徴抽出モデルから抽出した特徴を入力とした所定のクラス用のモデルを個別学習することで、クラス別の学習を実現する構成例を示す。
図4に示されるように、学習済みモデル302は例えばニューラルネットワークである。入力データ301を用いて学習済みモデル302で推論を行って得られる、ニューラルネットワークがもつ複数層のそれぞれの中間特徴が、一時的にメモリに保存される。そして、それら層の中間特徴が、所定の1以上のクラス用にそれぞれ用意された1以上のクラス別モデル303に入力されて、その推論結果304が得られる。ニューラルネットワークの中間特徴を利用することで、異なるクラス間で利用できる汎用な特徴を抽出できる。さらに、クラス毎にいちいちニューラルネットワークを学習させる場合に比較して、この構成例では共通して得られる汎用の特徴を利用することで高速な推論ができる。
3. 追加アノテーション
学習制御システム200は、学習結果の実用モデルを用いて識別つまり認識を行ってみた際に、認識の精度又は確信度がある基準より低かったデータを選択する低精度データ選択部と、低精度データ選択部により選択されたデータにラベルつまりアノテーションを付与するラベリング部とを有する。
学習制御システム200は、学習結果の実用モデルを用いて識別つまり認識を行ってみた際に、認識の精度又は確信度がある基準より低かったデータを選択する低精度データ選択部と、低精度データ選択部により選択されたデータにラベルつまりアノテーションを付与するラベリング部とを有する。
4. 新規データへの自動対応
学習制御システム200は、用意されたモデルの確信度又は精度を利用することにより、新しい種類のデータの存在を検知し、学習を行う機能を持つ。
学習制御システム200は、用意されたモデルの確信度又は精度を利用することにより、新しい種類のデータの存在を検知し、学習を行う機能を持つ。
5. 認識精度の低下の検知機能
学習制御システム200は、用意されたモデルの確信度又は精度を利用することにより、精度の低下を検知して学習を行う機能を持つ。この際に、追加アノテーションが指示されても良い。例えば、サービス運用時に識別した結果を解析し、確信度が低いものを検知する。検知後、例えばユーザへその旨を通知したり優先的にアノテーションさせるようにすることで、再学習を容易にできる。これにより、すべてのデータをユーザが目視で判断して、逐次的にアノテーションしなければならない作業負担が軽減される。
学習制御システム200は、用意されたモデルの確信度又は精度を利用することにより、精度の低下を検知して学習を行う機能を持つ。この際に、追加アノテーションが指示されても良い。例えば、サービス運用時に識別した結果を解析し、確信度が低いものを検知する。検知後、例えばユーザへその旨を通知したり優先的にアノテーションさせるようにすることで、再学習を容易にできる。これにより、すべてのデータをユーザが目視で判断して、逐次的にアノテーションしなければならない作業負担が軽減される。
以上説明した本発明の幾つかの実施の形態は、説明のための単なる例示であり、本発明の範囲をそれらの実施の形態のみに限定する趣旨ではない。本発明は、上記の実施の形態とは違う様々な形態で、実施することができる。
101 学習推論システム
200 学習制御システム
200 学習制御システム
Claims (2)
- 計算モデルと、
前記計算モデルの学習を制御する学習制御システムと
を備え、前記学習制御システムは、
学習データを蓄積する記憶装置と、
前記蓄積された学習データの中から、一部の学習データをサンプリングする手段と、
前記サンプリングされた学習データの最大数を制限する手段と、
前記サンプリングされた学習データを用いて、前記計算モデルの学習を行う手段と
を有する、
システム。 - 学習データを蓄積するステップと、
前記蓄積された学習データの中から、一部の学習データをサンプリングするステップと、
前記サンプリングされた学習データの最大数を制限するステップと、
前記サンプリングされた学習データを用いて、計算モデルの学習を行うステップと
を有する、
方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018028789A JP2019144872A (ja) | 2018-02-21 | 2018-02-21 | 機械学習を行なう計算モデルを有するシステム、及び機械学習の方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018028789A JP2019144872A (ja) | 2018-02-21 | 2018-02-21 | 機械学習を行なう計算モデルを有するシステム、及び機械学習の方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019144872A true JP2019144872A (ja) | 2019-08-29 |
Family
ID=67773830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018028789A Pending JP2019144872A (ja) | 2018-02-21 | 2018-02-21 | 機械学習を行なう計算モデルを有するシステム、及び機械学習の方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019144872A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022004337A1 (ja) * | 2020-06-30 | 2022-01-06 | ソニーグループ株式会社 | 判断支援装置、情報処理装置及び学習方法 |
WO2022190386A1 (ja) * | 2021-03-12 | 2022-09-15 | オリンパス株式会社 | 推論用学習装置および推論用学習方法 |
JP7334920B1 (ja) * | 2023-03-02 | 2023-08-29 | FastLabel株式会社 | 情報処理システム、情報処理方法及びプログラム |
-
2018
- 2018-02-21 JP JP2018028789A patent/JP2019144872A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022004337A1 (ja) * | 2020-06-30 | 2022-01-06 | ソニーグループ株式会社 | 判断支援装置、情報処理装置及び学習方法 |
WO2022190386A1 (ja) * | 2021-03-12 | 2022-09-15 | オリンパス株式会社 | 推論用学習装置および推論用学習方法 |
JP7334920B1 (ja) * | 2023-03-02 | 2023-08-29 | FastLabel株式会社 | 情報処理システム、情報処理方法及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11531909B2 (en) | Computer system and method for machine learning or inference | |
Yadwadkar et al. | Wrangler: Predictable and faster jobs using fewer resources | |
CN108319723B (zh) | 一种图片分享方法和装置、终端、存储介质 | |
CN109726763B (zh) | 一种信息资产识别方法、装置、设备及介质 | |
US10445659B2 (en) | Machine learning for determining confidence for reclamation of storage volumes | |
CN110806954B (zh) | 评估云主机资源的方法、装置、设备及存储介质 | |
US8909615B2 (en) | System and method of managing capacity of search index partitions | |
US20150178637A1 (en) | System recommendations based on incident analysis | |
CN108292257B (zh) | 用于注解客户端-服务器事务的系统和方法 | |
CN112559306B (zh) | 用户行为轨迹获取方法、装置与电子设备 | |
JP6868416B2 (ja) | 障害対応支援システム | |
JP2019144872A (ja) | 機械学習を行なう計算モデルを有するシステム、及び機械学習の方法 | |
US20130218846A1 (en) | Managing enterprise data quality using collective intelligence | |
WO2017204819A1 (en) | Similarity analyses in analytics workflows | |
CN112230874A (zh) | 电子装置及其控制方法 | |
EP3244347A1 (en) | Object recognition in an adaptive resource management system | |
US11514083B2 (en) | Data processing system and data processing method | |
JP2015185027A (ja) | ジョブ判別プログラム、装置、及び方法 | |
CN111368864A (zh) | 识别方法、可用性评估方法及装置、电子设备、存储介质 | |
CN112395119B (zh) | 异常数据处理方法、装置、服务器及存储介质 | |
US11379268B1 (en) | Affinity-based routing and execution for workflow service | |
CN114282940A (zh) | 用于意图识别的方法及装置、存储介质及电子设备 | |
CN115349129A (zh) | 生成具有不确定性区间的性能预测 | |
CN112988441A (zh) | 异常处理方法和装置 | |
JP6508202B2 (ja) | 情報処理装置、情報処理方法、及び、プログラム |