JP7050028B2 - 計算機システム及び機械学習の制御方法 - Google Patents

計算機システム及び機械学習の制御方法 Download PDF

Info

Publication number
JP7050028B2
JP7050028B2 JP2019062414A JP2019062414A JP7050028B2 JP 7050028 B2 JP7050028 B2 JP 7050028B2 JP 2019062414 A JP2019062414 A JP 2019062414A JP 2019062414 A JP2019062414 A JP 2019062414A JP 7050028 B2 JP7050028 B2 JP 7050028B2
Authority
JP
Japan
Prior art keywords
machine learning
detection condition
learning
value
condition data
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.)
Active
Application number
JP2019062414A
Other languages
English (en)
Other versions
JP2020161031A (ja
Inventor
知弘 安田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2019062414A priority Critical patent/JP7050028B2/ja
Publication of JP2020161031A publication Critical patent/JP2020161031A/ja
Application granted granted Critical
Publication of JP7050028B2 publication Critical patent/JP7050028B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、機械学習の制御に関する。
与えられたデータに対して人間が識別基準を書き下すことが困難な問題であっても、機械学習の技術により、データの特徴を自動的に学習し、未知データに対して予測値を得ることが可能となった。
機械学習では、近年注目を集めているディープラーニングにおけるニューラルネットワーク等のモデルを構築し、学習データを用いてモデルを特徴づけるパラメータが決定される。従来の機械学習では、乱数等に基づいてパラメータの初期値が設定され、学習処理(反復計算)を実行してパラメータが逐次更新される。このとき、パラメータにより決まる目的関数を定義し、学習データに対し目的関数の値が最小となるように学習が行われる。
特開平05-197821号公報
図9は、パラメータの初期値とモデルの出力の精度との関係性の一例を示すグラフである。ここでは、横軸はパラメータを表し、縦軸は目的関数の値を表すものとする。また、目的関数は、モデルの出力値と理想的な値との乖離の度合いを出力する関数であるものとする。なお、図9の値Fは、所望の精度が実現できる目的関数の値を表す。
パラメータの初期値が適切でない場合、良いモデルを生成することができない。例えば、パラメータの初期値として図9に示すP’0が設定された場合、学習結果は必ずしも最適ではないモデル(局所的最適解)に収束する。しかし、パラメータに初期値P’1が設定された場合、最適なモデル(大域的最適解)に収束する。また、モデルの複雑化に伴って目的関数も複雑になるため、複雑なモデルでは最適なパラメータ、すなわち、大域的最適解を導出することは困難になる。そのため多くの場合、局所的最適解が学習結果(最終的なモデル)として出力される。
局所的最適解に対応するモデルが、十分な精度を実現できる場合には問題がない。しかし、学習前後のモデルの精度に差がない場合、又は、所望の精度が得られない場合、機械学習は失敗であるため、パラメータに異なる初期値を与えて再度、機械学習を実行する必要がある。前述のような機械学習の失敗はモデルが複雑になるほど発生しやすい。
前述のような問題に対して、特許文献1に記載の技術が知られている。特許文献1には、「所定回数学習を行ったニューラルネットに対し誤差2乗和の変化量、正答率並びにその変化量を検出することにより、学習状況(最適解に収束しているか否か、局所解に陥っていないか、並びにニューロン数は適切か)を判断し、必要に応じて中間層にニューロンを追加したり、不良ニューロンを削除したり或いはその不良ニューロンの重みを初期化し直した後、再度学習を行う。」ことが記載されている。
特許文献1に記載の技術は、ニューラルネットワーク以外のモデルには適用できない。また、学習データ及びモデルが異なると、学習状況、すなわち、学習の失敗を判定するための指標も異なる。
本発明は、様々な機械学習方式及びモデルに適用でき、かつ、効率的な機械学習を実現するシステム及び方法を提供する。
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、入力データに対して予測値を出力するモデルを生成するための機械学習を実行する計算機システムであって、プロセッサ及び前記プロセッサに接続される記憶装置を備え、前記機械学習は、前記モデルを定義するパラメータを更新する学習処理を複数回実行する処理であって、前記プロセッサは、判定タイミングを規定するトリガ回数、及び前記モデルを生成するための機械学習の失敗予兆を検出するために用いる少なくとも一つの評価値により定義される検出条件を含む検出条件データを格納する学習判定情報を取得し、前記パラメータの初期値を設定して、前記機械学習を開始し、前記学習処理を実行した後、前記パラメータの初期値が設定された後の前記学習処理の実行回数を表すカウンタを更新し、前記トリガ回数が前記カウンタの値に一致する前記検出条件データを特定し、前記特定された検出条件データに含まれる検出条件に基づいて、前記機械学習の失敗予兆が検出されたか否かを判定し、前記機械学習の失敗予兆が検出された場合、前記パラメータ及び前記カウンタを初期化した後、前記機械学習を継続する。
本発明の一形態によれば、様々な機械学習方式及びモデルに適用でき、かつ、効率的な機械学習を実現できる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
実施例1の計算機システムの構成の一例を示す図である。 実施例1の学習部が表示する設定画面の一例を示す図である。 実施例1の学習部が表示する設定画面の一例を示す図である。 目的関数及びパラメータの関係性の一例を示すグラフである。 実施例1の計算機システムが実行する機械学習を説明するフローチャートである。 実施例2の学習部が表示する設定画面の一例を示す図である。 実施例2の学習部が表示する設定画面の一例を示す図である。 実施例2の計算機システムが実行する機械学習を説明するフローチャートである。 パラメータの初期値とモデルの出力の精度との関係性の一例を示すグラフである。
以下、本発明の実施例を、図面を用いて説明する。ただし、本発明は以下に示す実施例の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
以下に説明する発明の構成において、同一又は類似する構成又は機能には同一の符号を付し、重複する説明は省略する。
本明細書において、機械学習とは、入力データに対して予測値を出力するモデルを生成するための処理を意味する。
また、機械学習では、学習データを用いて、モデルを定義するパラメータを更新する学習処理が複数回実行される。なお、学習処理の回数は、ディープラーニングにおけるエポック数に相当する。
実施例1では、機械学習の失敗予兆を検出するための検出条件が複数設定され、機械学習を行う計算機システムは、複数の検出条件に基づいて機械学習の失敗予兆を検出する。計算機システムは、機械学習の失敗予兆が検出された場合、パラメータを初期化し、機械学習をやり直す。これによって、学習の成功率を効率的かつ迅速に向上できる。また、計算機システムは、機械学習のやり直しに伴う計算時間の増加を防止するために、学習処理の回数(上限値)を調整して総計算時間を一定に保つ手段も提供する。
(1)システム構成
まず、実施例1の計算機システムの構成について説明する。図1は、実施例1の計算機システムの構成の一例を示す図である。
計算機システムは、一つ以上の計算機100から構成される。図1では、説明を簡単にするために、一つの計算機100から構成される計算機システムを示す。
計算機100は、CPU(Central Processing Unit)110、主記憶装置111、副記憶装置112、及びインタフェース113を有する。各ハードウェアは内部バスを介して接続される。
CPU110は、主記憶装置111に格納されるプログラムを実行する。CPU110がプログラムにしたがって処理を実行することによって、特定の機能を実現する機能部(モジュール)として動作する。以下の説明では、機能部を主語に処理を説明する場合、CPU110が当該モジュールを実現するプログラムを実行していることを示す。
主記憶装置111は、RAM(Random Access Memory)等のメモリであり、CPU110が実行するプログラム及びプログラムの実行に必要なデータを格納する。
実施例1の主記憶装置111は、学習部120を実現するプログラムを格納し、また、学習データ情報130及びパラメータ情報140を格納する。
学習部120は、モデルを生成するための機械学習を実行する。学習部120は、学習失敗検出部121、パラメータ初期化部122、及び計算時間抑制部123を含む。
学習失敗検出部121は、機械学習の失敗予兆を検出するために用いる評価値により定義された検出条件に基づいて、機械学習の失敗予兆を検出する。パラメータ初期化部122は、モデルを定義するパラメータの初期値を設定する。計算時間抑制部123は、機械学習に要する計算時間を抑制する。
なお、学習部120に含まれる各機能部は、複数の機能部を一つの機能部にまとめてもよいし、一つの機能部を機能毎に複数の機能部に分けてもよい。
学習データは、機械学習に用いられるデータであり、モデルに入力する入力データと、正解データとから構成される。学習データ情報130は、学習データに含まれる入力データと正解データを結び付け、かつ必要があればミニバッチを構築する等により管理し学習部120において利用できるようにするための情報である。パラメータ情報140は、モデルを定義するパラメータである。なお、パラメータ情報140には、モデルの構造等を定義するデータが格納されてもよい。
副記憶装置112は、HDD(Hard Disk Drive)及びSSD(Solid State Drive)等の記憶装置であり、データを永続的に格納する。
インタフェース113は、外部装置と接続し、又は通信するためのインタフェースである。インタフェース113は、例えば、I/Oインタフェース及びネットワークインタフェース等である。計算機100は、ネットワーク105を介して外部記憶装置101と接続するインタフェース113、入出力装置102と接続するインタフェース113、及びリムーバブルメディア103と接続するインタフェース113を有する。なお、計算機100には、ネットワーク105を介して、入出力装置102を有する端末が接続されてもよい。
外部記憶装置101は、計算機100が扱うデータを格納する記憶領域を提供する装置である。外部記憶装置101と接続するネットワーク105は、例えば、LAN(Local Area Network)及びインターネット等である。なお、本発明はネットワーク105の種別に限定されない。また、ネットワーク105の接続方式は有線又は無線のいずれでもよい。
入出力装置102は、ユーザが計算機100を操作するために使用する装置である。入出力装置102は、キーボード、マウス、タッチパネル、及びディスプレイ等から構成される。なお、計算機100は入出力装置を内蔵してもよい。
リムーバブルメディア103は、計算機100に着脱可能なCD及びDVD等の記憶媒体である。なお、リムーバブルメディア103は、学習データ情報130及びパラメータ情報140を取得する手段の一例を示すものであって、必須の構成ではない。
主記憶装置111に格納される学習データ情報130及びパラメータ情報140は、副記憶装置112、外部記憶装置101、及びリムーバブルメディア103のいずれかに格納されてもよい。なお、図1の記号(A)、(B)、(C)、(D)は、格納先が異なる情報を区別するためのものである。
この場合、CPU110は、計算機100の起動時又は機械学習の実行時に、副記憶装置112、外部記憶装置101、及びリムーバブルメディア103のいずれかに格納される学習データ情報130及びパラメータ情報140を読み出し、主記憶装置111にロードする。また、計算機100の電源を切る場合、又は、主記憶装置111の空き容量が不足した場合、計算機100は、主記憶装置111から他の記憶装置に情報を移動又はコピーしてもよい。
(2)検出条件の設定
次に、実施例1の計算機システムに設定される検出条件の設定方法について説明する。
学習部120は、機械学習の失敗予兆を検出するための条件(検出条件)を設定するための画面を入出力装置102に表示する。図2及び図3は、実施例1の学習部120が表示する設定画面の一例を示す図である。
図2に示す設定画面200は、予め規定された1つ以上の評価値毎の検出条件を設定するための画面である。本発明が提供する評価値の詳細は、後述する。設定画面200は、目的関数欄201、正解率欄202、パラメータ変化率欄203、及び操作ボタン欄204を含む。
目的関数欄201は、評価値の一つである目的関数の値に関する検出条件を設定するための欄である。目的関数欄201に設定された値は検出条件データとして出力される。
目的関数欄201は、トリガ回数設定欄211、検出条件設定欄212、及びグラフ表示欄213を含む。
グラフ表示欄213は、目標関数の値及び学習回数の関係を示すグラフを表示する欄である。グラフ表示欄213に表示されるグラフは、過去に実行された機械学習の履歴又は現在実行中の機械学習の結果に基づいて表示される。
トリガ回数設定欄211は、目的関数欄201に設定された検出条件に基づいて後述の失敗判定処理(図5参照)を実行するタイミングを規定する学習回数(トリガ回数)を設定するための欄である。
検出条件設定欄212は、目的関数を用いて定義される検出条件を設定するための欄である。検出条件設定欄212には、例えば、目的関数及び閾値を用いた条件式が設定される。
検出条件設定欄212に設定される検出条件を満たす場合、学習失敗検出部121は、機械学習の失敗予兆が検出されたと判定する。
なお、ユーザは、トリガ回数設定欄211及び検出条件設定欄212に、直接、値を設定せずに、グラフ表示欄213に表示されるカーソルを操作して、トリガ回数及び閾値を設定してもよい。
正解率欄202は、評価値の一つであり、機械学習のうち分類問題の正解率に関する検出条件を設定するための欄である。ここで正解率は、モデルが予測した分類結果が正解と一致する割合を表す。正解率欄202に設定された値は、検出条件データとして出力される。
正解率欄202は、トリガ回数設定欄221、検出条件設定欄222、及びグラフ表示欄223を含む。
グラフ表示欄223は、正解率及び学習回数の関係を示すグラフを表示する欄である。グラフ表示欄223に表示されるグラフは、過去に実行された機械学習の履歴又は現在実行中の機械学習の結果に基づいて表示される。
トリガ回数設定欄221は、正解率欄202に設定された検出条件に基づいて後述の失敗判定処理(図5参照)を実行するタイミングを規定する学習回数(トリガ回数)を設定するための欄である。
検出条件設定欄222は、正解率を用いて定義される検出条件を設定するための欄である。検出条件設定欄222には、例えば、正解率及び閾値を用いた条件式が設定される。
検出条件設定欄222に設定される検出条件を満たす場合、学習失敗検出部121は、機械学習の失敗予兆が検出されたと判定する。
なお、ユーザは、トリガ回数設定欄221及び検出条件設定欄222に、直接、値を設定せずに、グラフ表示欄223に表示されるカーソルを操作して、トリガ回数及び閾値を設定してもよい。
パラメータ変化率欄203は、評価値の一つであるパラメータ変化率に関する検出条件を設定するための欄である。ここで、パラメータ変化率は、モデルを定義するパラメータの学習前後の変化の程度を表す。パラメータ変化率欄203に設定された値は、検出条件データとして出力される。
パラメータ変化率欄203は、トリガ回数設定欄231、検出条件設定欄232、及びグラフ表示欄233を含む。
グラフ表示欄233は、パラメータ変化率及び学習回数の関係を示すグラフを表示する欄である。グラフ表示欄233に表示されるグラフは、過去に実行された機械学習の履歴又は現在実行中の機械学習の結果に基づいて表示される。
トリガ回数設定欄231は、パラメータ変化率欄203に設定された検出条件に基づいて後述の失敗判定処理(図5参照)を実行するタイミングを規定する学習回数(トリガ回数)を設定するための欄である。
検出条件設定欄232は、パラメータ変化率を用いて定義される検出条件を設定するための欄である。検出条件設定欄232には、例えば、パラメータ変化率及び閾値を用いた条件式が設定される。
検出条件設定欄232に設定される検出条件を満たす場合、学習失敗検出部121は、機械学習の失敗予兆が検出されたと判定する。
なお、ユーザは、トリガ回数設定欄231及び検出条件設定欄232に、直接、値を設定せずに、グラフ表示欄233に表示されるカーソルを操作して、トリガ回数及び閾値を設定してもよい。
操作ボタン欄204は、各種操作を行うためのボタンを表示する欄である。操作ボタン欄204は、設定ボタン241及び開始ボタン242を含む。
設定ボタン241は、目的関数欄201、正解率欄202、及びパラメータ変化率欄203に設定した検出条件データを含む学習判定情報を計算機100に設定するためのボタンである。設定ボタン241が操作された場合、学習判定情報を含む設定要求が計算機100に出力される。この場合、計算機100は、学習判定情報を主記憶装置111に格納する。
開始ボタン242は、機械学習の開始を指示するためのボタンである。開始ボタン242が操作された場合、開始要求が計算機100に出力される。
図3に示す設定画面300は、一つ以上の評価値から構成される評価値群毎の検出条件を設定するための画面である。設定画面300は、検出条件欄301及び操作ボタン欄302を含む。
操作ボタン欄302は、各種操作を行うためのボタンを表示する欄である。操作ボタン欄302は、追加ボタン331、設定ボタン332、及び開始ボタン333を含む。
追加ボタン331は、検出条件欄301を追加するための操作ボタンである。追加ボタン331が追加された場合、設定画面300に検出条件欄301が追加される。
設定ボタン332及び開始ボタン333は、設定ボタン241及び開始ボタン242と同一のものである。
検出条件欄301は、トリガ回数設定欄311、追加ボタン312、及び検出条件設定欄313を含む。検出条件欄301に設定された値は、検出条件データとして出力される。
トリガ回数設定欄311は、検出条件欄301に設定された検出条件に基づいて後述の失敗判定処理(図5参照)を実行するタイミングを規定する学習回数(トリガ回数)を設定するための欄である。
追加ボタン312は、検出条件設定欄313に条件式設定欄321を追加するためのボタンである。検出条件設定欄313に条件式設定欄321が存在しない状態で追加ボタン312が操作された場合、検出条件設定欄313に条件式設定欄321が追加される。検出条件設定欄313に条件式設定欄321が一つ以上存在する状態で追加ボタン312が操作された場合、検出条件設定欄313に条件式設定欄321及び論理演算子設定欄322が追加される。
条件式設定欄321は、機械学習の失敗予兆の現れを判定するための評価値の条件式を設定するための欄である。論理演算子設定欄322は、複数の条件式の適用方法を設定するための欄である。図3の論理演算子設定欄322は、「AND」及び「OR」等を選択するプルダウンが表示される。条件式設定欄321に値を設定することによって、少なくとも一つの評価値を用いて定義される検出条件を設定することができる。なお、AND指定された条件は必須、OR指定された条件はどれか1つが満たされればよいものとする。
検出条件設定欄313に設定された検出条件を満たす場合、学習失敗検出部121は、機械学習の失敗予兆が検出されたと判定する。
設定画面200、300のどちらの設定ボタンを用いた場合であっても、トリガ回数及び検出条件から構成される検出条件データを含む学習判定情報が計算機100に設定される。
(3)評価値
実施例1の計算機100は、モデルに適した評価値の振る舞いを監視することによって機械学習の失敗予兆を検出する。実施例1では、目的関数、正解率、及びパラメータ変化率を評価値として採用する。これらの評価値を採用する理由は次の通りである。
従来技術では、目的関数の変化が十分小さくなった時点で機械学習を終了したと見なされる。すなわち、目的関数は、学習が停滞しているか否かを判定するための評価値として最も基本的なものと考えられる。なお、判定方法は、目的関数の値そのものではなく、パラメータの初期値が設定されたときの目的関数の値、又は、1回若しくは少数回、学習処理が実行された後の目的関数の値と、現在の目的関数の値との比に基づいて設定されてもよい。
クラスの分類するためのモデルの場合、機械学習の失敗予兆を検出するために分類結果の正解率を監視することも有効である。図4に示すように、初期値P0は、実用的な精度を有さないモデルP2が生成されてしまう初期値であり、初期値P1は、実用的な精度を有するモデルP3が生成される初期値である。なお、図4における値Fは、所望の精度が実現できる損失関数の値を表す。いずれの初期値が設定された場合でも、目的関数の値は学習処理を実行することによって改善されるため、目的関数の監視だけでは、機械学習の失敗予兆を検出することが難しい。一方、正解率の違いは顕著に表れる。したがって、正解率を評価値に採用するのは有効であると考えられる。
モデルを表現する関数f(x)の最終的な出力が、ディープラーニングで広く用いられるReLU関数を介して出力される場合を考える。なお、ReLU関数は式(1)で与えられる。
Figure 0007050028000001
このとき、学習処理によって関数f(x)の出力が改善されても関数f(x)の値が0以下の場合、出力r(f(x))は0のままである。そのため、関数f(x)の値が0より大きくなって初めて、目的関数及び正解率が変化する。つまり、目的関数及び正解率を監視しても学習の進み具合を見落とす可能性がある。そこで、パラメータの変化率を評価値として用いる。パラメータの変化率は様々考えられるが、その一例として以下の二つを示す。
(例1)学習処理の前後のパラメータの値の合計値を算出し、これらの合計値の比をパラメータの変化率とする。なお、パラメータの値が負である可能性もあるため、パラメータの値の絶対値の合計値を算出することが望ましい。
(例2)学習処理の前後のパラメータの値の変化量の合計値と、前回の学習処理の前後のパラメータの値の変化率の合計値との比をパラメータの変化率とする。なお、パラメータの値の変化量が負である可能性もあるため、変化量の絶対値の合計値を算出することが望ましい。
(4)処理の詳細
次に、機械学習開始要求を受信した場合に実行する処理について説明する。図5は、実施例1の計算機システムが実行する機械学習を説明するフローチャートである。
以下の説明では、機械学習における学習処理の実行回数の上限値Nmaxは予め設定されているものとする。
まず、学習部120は、変数N、n、c_iを初期化する(ステップS101)。
具体的には、学習部120は初期値として、変数NをNmax、nを0にそれぞれ設定する。また、学習部120は、変数c_iに、i番目の評価値に対応するトリガ回数設定欄712に設定された値を設定する。ここで、変数Nはその時点で進行している学習処理を実行すべき回数の上限を表す変数であり、変数nはパラメータの初期化後に学習処理を実行した回数を表す変数である。変数c_iは、i番目の評価値に対応するトリガ回数を表す変数である。
次に、学習部120のパラメータ初期化部122はパラメータの初期値を設定する(ステップS102)。
このとき、学習部120のパラメータ初期化部122は、パラメータ情報140にパラメータの初期値を格納する。なお、パラメータの初期値はランダムに設定されるものとする。
次に、学習部120は、学習データを用いて学習処理を実行し、パラメータを更新する(ステップS103)。
このとき、学習部120は、パラメータの更新結果をパラメータ情報140に格納する。
次に、学習部120は、変数nを更新する(ステップS104)。
具体的には、学習部120は、変数nに1を加算した値を変数nに設定する。
次に、学習部120は、終了条件を満たすか否かを判定する(ステップS105)。
具体的には、学習部120は、変数nがN以上となった場合、終了条件を満たすと判定する。
終了条件を満たすと判定された場合、学習部120は機械学習を終了する。
終了条件を満たさないと判定された場合、学習部120は各検出条件について、検出条件データに含まれるトリガ回数c_iが変数nに一致する検出条件データが存在するか否かを判定する(ステップS106)。なお、iは検出条件データを識別する添字である。
検出条件データに含まれるトリガ回数c_iが変数nに一致する検出条件データが存在しないと判定された場合、学習部120は、ステップS103に戻り、同様の処理を実行する。
検出条件データに含まれるトリガ回数c_iが変数nに一致する検出条件データが存在すると判定された場合、学習部120の学習失敗検出部121は、当該検出条件データに基づいて失敗判定処理を実行する(ステップS107)。
具体的には、学習失敗検出部121は、検出条件データに含まれる検索条件に用いられる評価値を算出する。学習失敗検出部121は、算出された評価値に基づいて、検出条件データに設定された検出条件を満たすか否かを判定する。
設定画面200を用いて設定された検出条件データの場合、学習失敗検出部121は、例えば、目的関数の値が閾値より小さいか否か、正解率が閾値より小さいか否か、又は変化率が小さいか否かを判定する。学習失敗検出部121は、目的関数の値が閾値より小さい場合、正解率が閾値より小さい場合、又は変化率が小さい場合、検出条件を満たすと判定する。
設定画面300を用いて設定された検出条件データの場合、学習失敗検出部121は、各評価値の条件式の判定結果の組合せに基づいて、検出条件を満たすか否かを判定する。例えば、「検出条件2」に対応する検出条件データの場合、学習失敗検出部121は、正解率が閾値より小さい、又は、変化率が閾値より小さい場合、検出条件を満たすと判定する。
次に、学習部120の学習失敗検出部121は、失敗判定処理の結果に基づいて、機械学習の失敗予兆が検出されたか否かを判定する(ステップS108)。
具体的には、学習失敗検出部121は、検出条件を満たす場合、機械学習の失敗予兆が検出されたと判定する。
機械学習の失敗予兆が検出されていないと判定された場合、学習部120は、ステップS103に戻り、同様の処理を実行する。
機械学習の失敗予兆が検出されたと判定された場合、学習部120のパラメータ初期化部122は、パラメータに新たな初期値を設定する(ステップS109)。
このとき、学習部120のパラメータ初期化部122は、パラメータ情報140にパラメータの初期値を格納する。なお、パラメータの初期値はランダムに設定されるものとする。
次に、学習部120の計算時間抑制部123は、上限値NをN-nに更新する(ステップS110)。また、学習部120の計算時間抑制部123は、変数nに0を設定し(ステップS111)、その後、ステップS103に戻り、同様の処理を実行する。
以上の処理により、機械学習における学習処理の総実行回数が元々の上限値Nmaxを超えないように制御される。これによって、機械学習に要する計算時間を抑制することができる。
(5)適用例
次に、実施例1の適用例について説明する。
(適用例1)機械学習のアルゴリズムとしてディープラーニングを採用する。なお、目的関数として損失関数が用いられる。
(適用例2)機械学習のアルゴリズムとしてEMアルゴリズムを採用する。例えば、EMアルゴリズムを用いて正規混合分布を学習する場合、実施例1に示すようにEMアルゴリズムを変更することによって、効率的な機械学習を実現できる。なお、目的関数としては通常、対数尤度が用いられる。
(適用例3)学習データをDNA配列に由来する数値ベクトルとする。DNA配列を数値ベクトルに変換する方法は様々な方法が考えられる。ここでは、one hot encodingと呼ばれる例について述べる。one hot encodingでは、各塩基を3つの0及び1つの1の並びで表現する。1の位置は塩基種により異なる。0と1の並べ方を、例えばA=1000、T=0100、G=0010、C=0001とする場合、配列ATGCは1000010000100001と表現できる。DNA配列を数値から成るベクトルとして入力することで、ゲノム上で特定の機能を持つ配列、例えばプロモータ領域を認識するモデルを生成できる。
(6)実施例1の特徴及び効果
次に、実施例1で説明した計算機システムが実行する機械学習の特徴及び効果について説明する。
実施例1の計算機システムは、少なくとも一つの評価値により定義される複数の検出条件に基づいて、機械学習の失敗予兆を検出する。複数の検出条件を用いることによって、様々なモデルを生成する機械学習の失敗予兆を精度よく検出できる。
また、機械学習の失敗予兆の発生を判定するタイミングを検出条件毎に設定できる。タイミングを小さくすることによって、早期に機械学習の失敗予兆を検出できる。また、検出条件毎に失敗判定処理のタイミングを変えることによって、失敗予兆の検出精度の向上、及び処理負荷を低減による処理の高速化が可能となる。
また、再学習は数値パラメータの初期化のみにより行われるため、ニューラルネットワーク以外の機械学習方式やモデルにも適用することができる。
また、これまでの学習処理の実行回数を加味して、学習処理の反復回数の上限値(変数N)を調整することで、機械学習に要する計算時間の増大を抑制することができる。
実施例2では、学習回数の上限値Nを考慮した検出条件を設定する点が異なる。例えば、上限値が一定値より大きい場合、判定タイミングを長くすることによって、機械学習の失敗予兆の検出精度を高めることができる。また、上限値が一定値より小さい場合、判定タイミングを短くすることによって、早期に機械学習の失敗予兆を検出しつつ、学習回数を確保することができる。以下、実施例1との差異を中心に実施例2について説明する。
実施例2の計算機システムの構成は実施例1と同一である。実施例2の計算機100のハードウェア構成及びソフトウェア構成は実施例1と同一である。実施例2では、設定する検出条件データが異なる。
図6及び図7は、実施例2の学習部120が表示する設定画面の一例を示す図である。
図6に示す設定画面600は、予め規定された評価値毎の検出条件を設定するための画面である。設定画面600は、目的関数欄601、正解率欄602、パラメータ変化率欄603、及び操作ボタン欄604を含む。
目的関数欄601は、評価値の一つである目的関数の値に関する検出条件を設定するための欄である。
目的関数欄601は、追加ボタン611及び検出条件設定テーブル612を含む。なお、目的関数欄601は、実施例1のようにグラフを表示する欄を設けてもよい。
追加ボタン611は、検出条件設定テーブル612にエントリを追加するためのボタンである。
検出条件設定テーブル612は、検出条件を設定するためのテーブルである。検出条件設定テーブル612は、適用条件621、トリガ回数622、及び検出条件623から構成されるエントリを含む。一つのエントリが一つの検出条件データに対応する。
適用条件621は、適用する検索条件を選択するために、上限値Nに対する条件を格納するフィールドである。後述するように、実施例2では、適用条件621を満たす検出条件を用いて失敗判定処理が実行される。
トリガ回数622は、目的関数欄601に設定された検出条件に基づいて失敗判定処理を実行するタイミングを規定する学習回数(トリガ回数)を格納するフィールドである。
検出条件623は、目的関数を用いて定義される検出条件を格納するフィールドである。検出条件623には、例えば、目的関数及び閾値を用いた条件式が格納される。
実施例2では、上限値の範囲毎に、目的関数を用いて定義される検出条件が設定される。
正解率欄602は、評価値の一つである正解率に関する検出条件を設定するための欄である。
正解率欄602は、追加ボタン631及び検出条件設定テーブル632を含む。なお、正解率欄602は、実施例1のようにグラフを表示する欄を設けてもよい。
追加ボタン631は、検出条件設定テーブル632にエントリを追加するためのボタンである。
検出条件設定テーブル632は、検出条件データを設定するためのテーブルである。検出条件設定テーブル632は、適用条件641、トリガ回数642、及び検出条件643から構成されるエントリを含む。一つのエントリが一つの検出条件データに対応する。
適用条件641は、適用する検出条件を選択するために、上限値Nに対する条件を格納するフィールドである。後述するように、実施例2では、適用条件641を満たす検出条件を用いて失敗判定処理が実行される。
トリガ回数642は、正解率欄602に設定された検出条件に基づいて失敗判定処理を実行するタイミングを規定する学習回数(トリガ回数)を格納するフィールドである。
検出条件643は、正解率を用いて定義される検出条件を格納するフィールドである。検出条件643には、例えば、正解率及び閾値を用いた条件式が格納される。
実施例2では、上限値の範囲毎に、正解率を用いて定義される検出条件が設定される。
パラメータ変化率欄603は、評価値の一つであるパラメータ変化率に関する検出条件を設定するための欄である。
パラメータ変化率欄603は、追加ボタン651及び検出条件設定テーブル652を含む。なお、パラメータ変化率欄603は、実施例1のようにグラフを表示する欄を設けてもよい。
追加ボタン651は、検出条件設定テーブル652にエントリを追加するためのボタンである。
検出条件設定テーブル652は、検出条件データを設定するためのテーブルである。検出条件設定テーブル652は、適用条件661、トリガ回数662、及び検出条件663から構成されるエントリを含む。一つのエントリが一つの検出条件データに対応する。
適用条件661は、適用する検出条件を選択するために、上限値Nに対する条件を格納するフィールドである。後述するように、実施例2では、適用条件661を満たす検出条件を用いて失敗判定処理が実行される。
トリガ回数662は、パラメータ変化率欄603に設定された検出条件に基づいて失敗判定処理を実行するタイミングを規定する学習回数(トリガ回数)を格納するフィールドである。
検出条件663は、パラメータ変化率を用いて定義される検出条件を格納するフィールドである。検出条件643には、例えば、パラメータ変化率及び閾値を用いた条件式が格納される。
実施例2では、上限値の範囲毎に、パラメータ変化率を用いて定義される検出条件が設定される。
操作ボタン欄604は、操作ボタン欄204と同一の欄であるため、説明を省略する。
図7に示す設定画面700は、評価値群毎の検出条件を設定するための画面である。設定画面700は、検出条件欄701及び操作ボタン欄702を含む。
操作ボタン欄702の追加ボタン731、設定ボタン732、及び開始ボタン733は、操作ボタン欄302の追加ボタン331、設定ボタン332、及び開始ボタン333と同一のものである。
検出条件欄701は、適用条件設定欄711、トリガ回数設定欄712、追加ボタン713、及び検出条件設定欄714を含む。検出条件欄701に設定された値は、検出条件データとして出力される。
適用条件設定欄711は、検出条件を選択するために、上限値に対する条件を設定するための欄である。後述するように、実施例2では、適用条件設定欄711を満たす検出条件を用いて失敗判定処理が実行される。
トリガ回数設定欄712及び追加ボタン713は、トリガ回数設定欄311及び追加ボタン312と同一のものであるため、説明を省略する。また、検出条件設定欄714の条件式設定欄721及び論理演算子設定欄722は、検出条件設定欄313の条件式設定欄321及び論理演算子設定欄322と同一のものであるため、説明を省略する。
設定画面200、300のどちらを用いた場合であっても、適用条件、トリガ回数、及び検出条件から構成される検出条件データを含む学習判定情報が計算機100に設定される。
図8は、実施例2の計算機システムが実行する機械学習を説明するフローチャートである。
以下の説明では、機械学習における学習処理の実行回数の上限値Nmaxは予め設定されているものとする。
ステップS101及びステップS102の処理が実行された後、学習部120は、学習判定情報から適用する検出条件データを選択する(ステップS151)。
具体的には、学習部120は、現在の上限値Nに基づいて、適用条件を満たす検出条件データを選択する。
ステップS101、ステップS102、ステップS103からステップS106、ステップS108からステップS111の処理は、実施例1と同一である。ただし、ステップS106で参照するc_iの値は、設定画面600又は700での設定及びパラメータ初期化時のNの値に基づき、ステップS101及びステップS110で設定するものとする。
実施例2のステップS107では、学習失敗検出部121は、ステップS151で選択された検出条件データを用いて失敗判定処理を実行する。具体的な処理は実施例1と同一であるため説明を省略する。
実施例2の計算機システムは、上限値に応じて、学習の失敗予兆の判定タイミングを調整できる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、SSD(Solid State Drive)、CD-R、DVD-R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、Perl、Python、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD-RW、CD-R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
100 計算機
101 外部記憶装置
102 入出力装置
103 リムーバブルメディア
105 ネットワーク
110 CPU
111 主記憶装置
112 副記憶装置
113 インタフェース
120 学習部
121 学習失敗検出部
122 パラメータ初期化部
123 計算時間抑制部
130 学習データ情報
140 パラメータ情報
200、300、600、700 設定画面

Claims (8)

  1. 入力データに対して予測値を出力するモデルを生成するための機械学習を実行する計算機システムであって、
    プロセッサ及び前記プロセッサに接続される記憶装置を備え、
    前記機械学習は、前記モデルを定義するパラメータを更新する学習処理を複数回実行する処理であって、
    前記プロセッサは、
    判定タイミングを規定するトリガ回数、及び前記モデルを生成するための機械学習の失敗予兆を検出するために用いる少なくとも一つの評価値により定義される検出条件を含む検出条件データを格納する学習判定情報を取得し、
    前記パラメータの初期値を設定して、前記機械学習を開始し、
    前記学習処理を実行した後、前記パラメータの初期値が設定された後の前記学習処理の実行回数を表すカウンタを更新し、
    前記トリガ回数が前記カウンタの値に一致する前記検出条件データを特定し、
    前記特定された検出条件データに含まれる検出条件に基づいて、前記機械学習の失敗予兆が検出されたか否かを判定し、
    前記機械学習の失敗予兆が検出された場合、前記パラメータ及び前記カウンタを初期化した後、前記機械学習を継続することを特徴とする計算機システム。
  2. 請求項1に記載の計算機システムであって、
    前記プロセッサは、
    前記機械学習における前記学習処理の実行回数の上限値を管理し、
    前記カウンタの値が前記上限値以上である場合、前記機械学習を終了し、
    前記機械学習の失敗予兆が検出された場合、前記上限値を前記カウンタの値で減算した値を新たな前記上限値として設定し、その後、前記カウンタを初期化することを特徴とする計算機システム。
  3. 請求項2に記載の計算機システムであって、
    前記検出条件データは、前記上限値を用いて定義される、当該検出条件データを適用するか否かを判定するための適用条件を含み、
    前記プロセッサは、
    前記上限値に基づいて、前記適用条件を満たす前記検出条件データを選択し、
    前記選択された検出条件データの中から、前記トリガ回数が前記カウンタの値に一致する前記検出条件データを特定することを特徴とする計算機システム。
  4. 請求項1に記載の計算機システムであって、
    前記検出条件は、前記評価値及び閾値を用いた条件式であることを特徴とする計算機システム。
  5. 計算機システムが実行する、入力データに対して予測値を出力するモデルを生成するための機械学習の制御方法であって、
    前記計算機システムは、プロセッサ及び前記プロセッサに接続される記憶装置を有する計算機を有し、
    前記機械学習は、前記モデルを定義するパラメータを更新する学習処理を複数回実行する処理であって、
    前記機械学習の制御方法は、
    前記計算機が、判定タイミングを規定するトリガ回数、及び前記モデルを生成するための機械学習の失敗予兆を検出するために用いる少なくとも一つの評価値により定義される検出条件を含む検出条件データを格納する学習判定情報を取得する第1のステップと、
    前記計算機が、前記パラメータの初期値を設定して、前記機械学習を開始する第2のステップと、
    前記計算機が、前記学習処理を実行した後、前記パラメータの初期値が設定された後の前記学習処理の実行回数を表すカウンタを更新する第3のステップと、
    前記計算機が、前記トリガ回数が前記カウンタの値に一致する前記検出条件データを特定する第4のステップと、
    前記計算機が、前記特定された検出条件データに含まれる検出条件に基づいて、前記機械学習の失敗予兆が検出されたか否かを判定する第5のステップと、
    前記計算機が、前記機械学習の失敗予兆が検出された場合、前記パラメータ及び前記カウンタを初期化した後、前記機械学習を継続する第6のステップと、を含むことを特徴とする機械学習の制御方法。
  6. 請求項5に記載の機械学習の制御方法であって、
    前記計算機システムは、前記機械学習における前記学習処理の実行回数の上限値を管理し、
    前記機械学習の制御方法は、前記計算機が、前記カウンタの値が前記上限値以上である場合、前記機械学習を終了するステップと、を含み、
    前記第6のステップは、
    前記計算機が、前記機械学習の失敗予兆が検出された場合、前記上限値を前記カウンタの値で減算した値を新たな前記上限値として設定するステップと、
    前記計算機が、前記カウンタを初期化するステップと、を含むことを特徴とする機械学習の制御方法。
  7. 請求項6に記載の機械学習の制御方法であって、
    前記検出条件データは、前記上限値を用いて定義される、当該検出条件データを適用するか否かを判定するための適用条件を含み、
    前記第4のステップは、
    前記計算機が、前記上限値に基づいて、前記適用条件を満たす前記検出条件データを選択するステップと、
    前記計算機が、前記選択された検出条件データの中から、前記トリガ回数が前記カウンタの値に一致する前記検出条件データを特定するステップと、を含むことを特徴とする機械学習の制御方法。
  8. 請求項5に記載の機械学習の制御方法であって、
    前記検出条件は、前記評価値及び閾値を用いた条件式であることを特徴とする機械学習の制御方法。
JP2019062414A 2019-03-28 2019-03-28 計算機システム及び機械学習の制御方法 Active JP7050028B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019062414A JP7050028B2 (ja) 2019-03-28 2019-03-28 計算機システム及び機械学習の制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019062414A JP7050028B2 (ja) 2019-03-28 2019-03-28 計算機システム及び機械学習の制御方法

Publications (2)

Publication Number Publication Date
JP2020161031A JP2020161031A (ja) 2020-10-01
JP7050028B2 true JP7050028B2 (ja) 2022-04-07

Family

ID=72639658

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019062414A Active JP7050028B2 (ja) 2019-03-28 2019-03-28 計算機システム及び機械学習の制御方法

Country Status (1)

Country Link
JP (1) JP7050028B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023003333A (ja) 2021-06-23 2023-01-11 富士通株式会社 情報処理プログラム、情報処理方法、および情報処理装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180189655A1 (en) 2017-01-03 2018-07-05 Electronics And Telecommunications Research Institute Data meta-scaling apparatus and method for continuous learning
JP2018136537A (ja) 2017-02-15 2018-08-30 株式会社半導体エネルギー研究所 半導体装置及び表示システム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05197821A (ja) * 1991-11-11 1993-08-06 Omron Corp 階層型ニューラルネットの最適化方法及び装置
JPH07302292A (ja) * 1994-05-09 1995-11-14 Nippon Telegr & Teleph Corp <Ntt> ニューラルネットワーク回路の制御装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180189655A1 (en) 2017-01-03 2018-07-05 Electronics And Telecommunications Research Institute Data meta-scaling apparatus and method for continuous learning
JP2018109996A (ja) 2017-01-03 2018-07-12 韓國電子通信研究院Electronics and Telecommunications Research Institute 継続的学習のためのデータメタスケーリング装置及び方法
JP2018136537A (ja) 2017-02-15 2018-08-30 株式会社半導体エネルギー研究所 半導体装置及び表示システム
US20190371226A1 (en) 2017-02-15 2019-12-05 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device and display system

Also Published As

Publication number Publication date
JP2020161031A (ja) 2020-10-01

Similar Documents

Publication Publication Date Title
US20210182691A1 (en) Cooperative use of a genetic algorithm and an optimization trainer for autoencoder generation
JP7071638B2 (ja) 最適化装置、最適化装置の制御方法及び最適化装置の制御プログラム
US10496436B2 (en) Method and apparatus for automatically scheduling jobs in computer numerical control machines using machine learning approaches
JP6646234B2 (ja) プログラム生成装置、プログラム生成方法および生成プログラム
JP2017097585A (ja) 学習装置、プログラム及び学習方法
JP2016004525A (ja) データ分析システム及びデータ分析方法
JP7245961B2 (ja) 対話型機械学習
JP7268756B2 (ja) 劣化抑制プログラム、劣化抑制方法および情報処理装置
JP2019185591A (ja) 実験支援装置及び実験支援方法
JP6178768B2 (ja) 品質管理装置およびその管理方法
Kapoor et al. Performance and preferences: Interactive refinement of machine learning procedures
US20230162054A1 (en) Non-transitory computer-readable recording medium, machine training method, and information processing apparatus
JP2020187417A (ja) 物性予測装置及び物性予測方法
JP7050028B2 (ja) 計算機システム及び機械学習の制御方法
EP3739473A2 (en) Optimization device and method of controlling optimization device
Walker et al. Towards many-objective optimisation with hyper-heuristics: identifying good heuristics with indicators
US20180308011A1 (en) Cognitive service request construction
CN113222073B (zh) 训练广告推荐模型的方法及装置
US20230019364A1 (en) Selection method of learning data and computer system
WO2019142728A1 (ja) 制御装置、制御方法およびプログラム記録媒体
US7139986B2 (en) Systems and methods for determining costs associated with a selected objective
US11868885B2 (en) Learning device, inference device, learning method, and inference method using a transformation matrix generated from learning data
JP7097261B2 (ja) 学習データの解析方法及び計算機システム
JP7139723B2 (ja) 選定プログラム、選定方法および選定装置
JP7127686B2 (ja) 仮説推論装置、仮説推論方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210323

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220309

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220315

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220328

R150 Certificate of patent or registration of utility model

Ref document number: 7050028

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150