(57)【要約】【課題】  学習ジョブを分割して処理することで、処理サーバ等の計算リソースを効率的に利用し、効率的に学習済みモデルを生成すること【解決手段】  学習用データを用いて学習済みモデルを生成する情報処理システムであって、学習済みモデル生成に係るジョブである学習ジョブの優先度の設定を受け付け、優先度の設定を受け付けた学習ジョブを複数の分割学習ジョブに分割し、分割された分割学習ジョブを、前記優先度に従い実行する。【選択図】  図１
2019082900.tif 000002
【特許請求の範囲】
【請求項１】
学習用データを用いて学習済みモデルを生成する情報処理システムであって、
学習済みモデル生成に係るジョブである学習ジョブの優先度の設定を受け付ける優先度設定受付手段と、
前記優先度設定受付手段により優先度の設定を受け付けた学習ジョブを複数の分割学習ジョブに分割する分割手段と、
前記分割手段により分割された分割学習ジョブを、前記優先度に従い実行することで、学習済みモデルを生成するジョブ実行手段と、
を備えることを特徴とする情報処理システム。
【請求項２】
前記ジョブ実行手段により分割学習ジョブが実行された結果に従い、当該分割学習ジョブにかかる学習ジョブの優先度を制御する優先度制御手段を備えることを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記優先度制御手段は、前記分割学習ジョブが実行された結果、過学習が起こっていると判定される場合には、当該分割学習ジョブにかかる学習ジョブの優先度を下げることを特徴とする請求項２に記載の情報処理システム。
【請求項４】
前記優先度制御手段は、前記分割学習ジョブが実行された結果、学習に失敗していると判定される場合には、当該分割学習ジョブにかかる学習ジョブの優先度を下げることを特徴とする請求項２または３に記載の情報処理システム。
【請求項５】
前記優先度制御手段は、前記分割学習ジョブが実行された結果、十分に学習が済んでいると判定される場合には、当該分割学習ジョブにかかる学習ジョブの優先度を下げることを特徴とする請求項２乃至４のいずれか１項に記載の情報処理システム。
【請求項６】
学習用データを用いて学習済みモデルを生成する情報処理システムにおける情報処理方法であって、
学習済みモデル生成に係るジョブである学習ジョブの優先度の設定を受け付ける優先度設定受付工程と、
前記優先度設定受付工程により優先度の設定を受け付けた学習ジョブを複数の分割学習ジョブに分割する分割工程と、
前記分割工程により分割された分割学習ジョブを、前記優先度に従い実行することで、学習済みモデルを生成するジョブ実行工程と、
を備えることを特徴とする情報処理方法。
【請求項７】
学習用データを用いて学習済みモデルを生成する情報処理システムを、
学習済みモデル生成に係るジョブである学習ジョブの優先度の設定を受け付ける優先度設定受付手段と、
前記優先度設定受付手段により優先度の設定を受け付けた学習ジョブを複数の分割学習ジョブに分割する分割手段と、
前記分割手段により分割された分割学習ジョブを、前記優先度に従い実行することで、学習済みモデルを生成するジョブ実行手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、プログラムに関する。
【背景技術】
【０００２】
近年、深層学習により生成された学習済みモデルを用いて、画像の分類やビッグデータの解析等が盛んに行われている。
【０００３】
深層学習により学習済みモデルを生成するには、大量の学習用データを用いた学習を行う必要があり、膨大な計算リソースや時間を必要とする。また、学習率やネットワーク構造等の学習条件によって、認識精度が大きく変化するため、学習条件を少しずつ変えて、多数の学習を行う必要がある。
【０００４】
特許文献１には、機械学習により人工知能を生成する技術について記載がされている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開2017-117226号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述の通り、深層学習には膨大な計算リソースや時間が必要であることから、１つの学習ジョブを１つの処理サーバで実行すると、当該処理サーバを１つの学習ジョブで占領することになる。そのため、当該処理サーバにおいて他のジョブを実行できなくなったり、不意に処理サーバが停止してしまった場合にはそれまでの学習が無駄になってしまうという問題がある。
【０００７】
そこで、本発明は上述の問題を解決するために、学習ジョブを分割して処理することで、処理サーバ等の計算リソースを効率的に利用し、効率的に学習済みモデルを生成する方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の情報処理システムは、学習用データを用いて学習済みモデルを生成する情報処理システムであって、学習済みモデル生成に係るジョブである学習ジョブの優先度の設定を受け付ける優先度設定受付手段と、前記優先度設定受付手段により優先度の設定を受け付けた学習ジョブを複数の分割学習ジョブに分割する分割手段と、前記分割手段により分割された分割学習ジョブを、前記優先度に従い実行することで、学習済みモデルを生成するジョブ実行手段と、を備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、学習ジョブを分割して処理することで、処理サーバ等の計算リソースを効率的に利用し、効率的に学習済みモデルを生成するが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本発明の情報処理システムの構成の一例を示す図
【図２】本発明における、クライアント端末１０１、ジョブ管理サーバ１０２、処理サーバ１０３のハードウェア構成の一例を示す図
【図３】本発明における処理内容を示すフローチャート
【図４】優先度決定処理の詳細を示すフローチャート
【発明を実施するための形態】
【００１１】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【００１２】
図１は、本発明における情報処理システムの構成の一例を示す図である。
【００１３】
本発明における情報処理システムは、クライアント端末１０１、ジョブ管理サーバ１０２、処理サーバ１０３が通信可能に接続された構成である。
【００１４】
クライアント端末１０１は、ユーザの操作により、学習ジョブ（学習済みモデルを生成するために行う学習。学習条件（学習用データ、ネットワーク構造などの各種パラメータ）等の情報を含む）の優先度の設定等を受け付ける。受け付けた各種の設定情報は、ジョブ管理サーバに送信される。また、各種データを表示する表示部を備え、ユーザに対して、ジョブ管理サーバから受信した学習ジョブの進捗状況や学習結果等を提示する機能を備える。
【００１５】
ジョブ管理サーバ１０２は、クライアント端末１０１が受け付けた各種の学習条件等の設定に従い、処理サーバ１０３に対して処理実行の指示を出すことで、学習ジョブの実行を制御する。また、クライアント端末１０１に対して、学習結果等の情報を送信する。
【００１６】
処理サーバ１０３は、ジョブ管理サーバ１０２から受信した学習データやジョブ実行指示に従い、学習ジョブを実行する。図１においては、処理サーバ１０３は１台であるが、複数の処理サーバを備えていても良い。
【００１７】
図２は、本発明の情報処理装置（クライアント端末１０１、ジョブ管理サーバ１０２、処理サーバ１０３）のハードウェア構成の一例を示すブロック図である。
【００１８】
図２に示すように、情報処理装置は、システムバス２０４を介してＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３、入力コントローラ２０５、ビデオコントローラ２０６、メモリコントローラ２０７、よび通信Ｉ／Ｆコントローラ２０８が接続される。
【００１９】
ＣＰＵ２０１は、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。
【００２０】
ＲＯＭ２０２あるいは外部メモリ２１１は、ＣＰＵ２０１が実行する制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や、本情報処理方法を実現するためのコンピュータ読み取り実行可能なプログラムおよび必要な各種データ（データテーブルを含む）を保持している。
【００２１】
ＲＡＭ２０３は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０２あるいは外部メモリ２１１からＲＡＭ２０３にロードし、ロードしたプログラムを実行することで各種動作を実現する。
【００２２】
入力コントローラ２０５は、キーボード２０９や不図示のマウス等のポインティングデバイス等の入力装置からの入力を制御する。入力装置がタッチパネルの場合、ユーザがタッチパネルに表示されたアイコンやカーソルやボタンに合わせて押下（指等でタッチ）することにより、各種の指示を行うことができることとする。
【００２３】
また、タッチパネルは、マルチタッチスクリーンなどの、複数の指でタッチされた位置を検出することが可能なタッチパネルであってもよい。
【００２４】
ビデオコントローラ２０６は、ディスプレイ２１０などの外部出力装置への表示を制御する。ディスプレイは本体と一体になったノート型パソコンのディスプレイも含まれるものとする。なお、外部出力装置はディスプレイに限ったものははく、例えばプロジェクタであってもよい。また、前述のタッチ操作を受け付け可能な装置については、入力装置も提供する。
【００２５】
なおビデオコントローラ２０６は、表示制御を行うためのビデオメモリ（ＶＲＡＭ）を制御することが可能で、ビデオメモリ領域としてＲＡＭ２０３の一部を利用することもできるし、別途専用のビデオメモリを設けることも可能である。
【００２６】
メモリコントローラ２０７は、外部メモリ２１１へのアクセスを制御する。外部メモリとしては、ブートプログラム、各種アプリケーション、フォントデータ、ユーザファイル、編集ファイル、および各種データ等を記憶する外部記憶装置（ハードディスク）、フレキシブルディスク（ＦＤ）、或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等を利用可能である。
【００２７】
通信Ｉ／Ｆコントローラ２０９は、ネットワークを介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いた通信やＩＳＤＮなどの電話回線、および携帯電話の３Ｇ回線を用いた通信が可能である。
【００２８】
尚、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ２１０上での表示を可能としている。また、ＣＰＵ２０１は、ディスプレイ２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００２９】
次に図３のフローチャートを用いて、本発明における処理の内容を説明する。
【００３０】
図３のフローチャートで示す処理のうち、Ｓ３０１、Ｓ３１２はクライアント端末１０１のＣＰＵ２０１が所定の制御プログラムを読み出して実行する処理である。また、Ｓ３０２、Ｓ３０３、Ｓ３０７〜Ｓ３１１はジョブ管理サーバ１０２のＣＰＵ２０１が所定の制御プログラムを読み出して実行する処理である。また、Ｓ３０４〜Ｓ３０６は処理サーバ１０３のＣＰＵ２０１が所定の制御プログラムを読み出して実行する処理である。
【００３１】
ステップＳ３０１では、クライアント端末１０１は、ユーザから学習ジョブの優先度の設定を受け付ける。そして、受け付けた優先度等の情報をジョブ管理サーバ１０２に送信する。
【００３２】
ステップＳ３０２では、ジョブ管理サーバ１０２は、クライアント端末１０１から送信されたジョブの優先度等の情報を受け取ると、処理対象の学習ジョブを分割する。
【００３３】
ステップＳ３０３では、ステップＳ３０２で分割されたジョブ（分割学習ジョブ）に対して優先度を設定し、処理サーバ１０３に対して分割学習ジョブの実行を指示する。
【００３４】
ステップＳ３０４では、処理サーバ１０３は、ジョブ管理サーバ１０２による指示に従い、優先度の高い分割学習ジョブを取得する。
【００３５】
ステップＳ３０５では、ステップＳ３０４で取得した分割学習ジョブを実行する。
【００３６】
ステップＳ３０６では、ステップＳ３０５で実行した分割学習ジョブの結果をジョブ管理サーバ１０２に対して送信する。
【００３７】
ステップＳ３０７では、ジョブ管理サーバ１０２は、処理サーバ１０３から分割学習ジョブの結果を受信すると、当該分割学習ジョブが最後の分割学習ジョブであるか（例えば学習ジョブＡをＡ１〜Ａ５の５つに分割した場合の５つ目の分割学習ジョブであるか）を判定する。
【００３８】
最後の分割学習ジョブである場合（ステップＳ３０７：ＹＥＳ）は、処理をステップＳ３１１に移行し、学習ジョブを終了状態にする。そして、学習ジョブの学習結果をクライアント端末１０１に送信し、クライアント端末１０１は送信された学習結果を受信する（Ｓ３１２）。
【００３９】
最後の分割学習ジョブではない場合（ステップＳ３０７：ＮＯ）は、処理をステップＳ３０８に移行する。
【００４０】
ステップＳ３０８では、処理サーバ１０３による分割学習ジョブの結果に基づき、学習ジョブの次の分割タイミングを決定する。具体的には、学習結果から過学習が起きていると考えられる場合には、細かく分割するよう制御する。そうすることで、無駄な過学習を低減させることが可能となる。また、細かく分割し、後述のステップＳ３０９の処理を実行することにより、計算リソースを効率的に利用することができる。
【００４１】
また、パラメータを変更し学習率を下げたうえで、過学習が起きる直前の分割ジョブから学習を再開することで、過学習を防ぐことも可能となる。
【００４２】
ステップＳ３０９では、処理サーバ１０３による分割学習ジョブの結果に基づき、分割学習ジョブの優先度を制御する。
【００４３】
ステップＳ３０９の処理の詳細について、図４のフローチャートを用いて説明する。
【００４４】
ステップＳ４０１では、ジョブ管理サーバ１０２は、処理サーバ１０３による分割学習ジョブの結果について、損失関数が発散しているかを判定する。すなわち、期待された結果が出ずに学習に失敗しているかを判断する。
【００４５】
損失関数が発散している場合（学習に失敗していると判断される場合）（ステップＳ４０１：ＹＥＳ）は、学習条件の設定等が不適切であり、これ以上学習ジョブの処理を継続する優先度は低いと考えれるため、学習ジョブの優先度を下げる（Ｓ４０４）。
【００４６】
損失関数が発散していない場合（ステップＳ４０１：ＮＯ）は、処理をステップＳ４０２に移行する。
【００４７】
ステップＳ４０２では、学習がすでに十分かを判断する（期待された結果が出ている等の場合には、十分学習されたと判断される）。
【００４８】
学習がすでに十分である場合（ステップＳ４０２：ＹＥＳ）は、現時点の学習進捗で十分であると考えられ、これ以上学習ジョブの処理を継続する優先度は低いと考えられるため、処理をステップＳ４０５に移行し、学習ジョブの優先度を下げる（Ｓ４０５）。
【００４９】
学習がまだ十分でない場合（ステップＳ４０２：ＮＯ）は、処理をステップＳ４０３に移行する。
【００５０】
ステップＳ４０３では、他の学習条件の学習ジョブに比べて、学習結果が良いかを判定する。他の学習条件のジョブに比べ結果が良い場合（ステップＳ４０３：ＹＥＳ）は、継続して学習ジョブを実行することで、期待する結果を得られる可能性が高いと考えられるため、学習ジョブの優先度を上げる（Ｓ４０６）。
【００５１】
他の学習条件の学習ジョブに比べ結果が悪い場合（ステップＳ４０３：ＮＯ）は、継続して学習ジョブを実行しても、期待する結果を得られる可能性が低いと考えられるため、学習ジョブの優先度を下げる（Ｓ４０７）。
【００５２】
以上が、図３のステップＳ３０９の処理の詳細である。
【００５３】
そして、ステップＳ３１０において、途中結果から学習を再開するような分割学習ジョブに分割し、処理をステップＳ３０３に戻す。
ステップＳ３０３では、ステップＳ３０９で決定された優先度を分割学習ジョブに設定し、処理サーバ１０３に対して分割学習ジョブの実行を指示する。
【００５４】
このように、学習ジョブを分割し、優先度に従い学習ジョブを実行することで、学習ジョブを実行中に処理サーバが停止してしまった場合にも、それまでに実行した学習結果（処理が完了した分割学習ジョブの分の結果）が無駄にならないという効果を得られる。
【００５５】
また、優先度の高い学習ジョブが新たに登録された場合にも、分割学習ジョブが終了したタイミングで優先度の高い学習ジョブに処理を切り替えることが可能となる。
【００５６】
また、自由に使える社内サーバと従量課金される社外サーバとを併用している環境においては、分割学習ジョブが終了したタイミングにおいて、社内サーバで処理を実行するよう切り替えることができるため、コスト削減にも効果がある。
【００５７】
なお、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００５８】
また、本発明におけるプログラムは、図３、図４に示すフローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体は図３、図４の処理方法をコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは図３、図４の各装置の処理方法ごとのプログラムであってもよい。
【００５９】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
【００６０】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
【００６１】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク等を用いることが出来る。
【００６２】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００６３】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００６４】
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【００６５】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【００６６】
１０１  クライアント端末
１０２  ジョブ管理サーバ
１０３  処理サーバ
【図１】
2019082900.tif 000003
【図２】
2019082900.tif 000004
【図３】
2019082900.tif 000005
【図４】
2019082900.tif 000006