(57)【要約】  学習装置（１００）は、ニューラルネットワークを使用した学習を行う。学習装置（１００）の学習条件取得部（１１０）は、学習の前提を示す学習条件を取得する。モデル選択部（１５０）は、学習条件に応じて、ニューラルネットワークの構造の枠組みとなる学習モデルを選択する。モデル規模決定部（１６０）は、学習条件に応じて、選択された学習モデルについてニューラルネットワークの規模を決定する。学習部（１７０）は、選択した学習モデルを決定した規模で構成したニューラルネットワークに、学習データを入力して学習を行う。
2019234810.tif 000002
【特許請求の範囲】
【請求項１】
ニューラルネットワークを使用した学習を行う学習装置であって、
学習の前提を示す学習条件を取得する学習条件取得手段と、
前記学習条件に応じて、ニューラルネットワークの構造の枠組みとなる学習モデルを選択する学習モデル選択手段と、
前記学習条件に応じて、選択された前記学習モデルについてニューラルネットワークの規模を決定する学習モデル規模決定手段と、
前記学習モデルを前記規模で構成したニューラルネットワークに、学習データを入力して学習を行う学習手段と、
を有する学習装置。
【請求項２】
前記学習条件取得手段が取得する前記学習条件は、学習における制約を含み、
前記学習モデル選択手段は、前記学習の前提及び前記制約に応じて、前記学習モデルを選択し、
前記学習モデル規模決定手段は、前記学習の前提及び前記制約に応じて、前記規模を決定する、
請求項１に記載の学習装置。
【請求項３】
前記規模は、ニューラルネットワークの中間層の層数と、中間層それぞれに含まれるノード数と、ノード間それぞれの接続の有無と、により示され、
前記学習モデル規模決定手段は、前記学習の前提及び前記制約に応じて、前記学習モデル選択手段が選択した前記学習モデルにより表されるニューラルネットワークの中間層の層数を増減し、中間層それぞれに含まれるノード数を増減し、ノード間それぞれの接続の有無を決定する、
請求項２に記載の学習装置。
【請求項４】
前記学習条件取得手段が取得する前記学習の前提及び前記制約は、学習済みのニューラルネットワークを使用して行う推論の目的と、前記学習装置のハードウェア資源の制約と、前記学習データの特性を示す情報と、設定された目標と、を含む、
請求項２又は３に記載の学習装置。
【請求項５】
前記学習モデル規模決定手段は、前記ハードウェア資源の制約に応じて、前記規模を決定する、
請求項４に記載の学習装置。
【請求項６】
前記ハードウェア資源の制約は、前記学習装置において学習に使用可能なメモリの容量の上限値を含む、
請求項５に記載の学習装置。
【請求項７】
前記学習モデル選択手段は、前記推論の目的と、前記学習データの前記特性を示す情報と、に応じて前記学習モデルを選択する、
請求項４から６のいずれか１項に記載の学習装置。
【請求項８】
前記学習データの前記特性を示す情報は、前記学習データの種類と、前記学習データの値の取り得る範囲と、を含む、
請求項４から７のいずれか１項に記載の学習装置。
【請求項９】
前記学習モデル選択手段は、
前記学習データの前記種類に応じて、前記学習データを、ニューラルネットワークの入力層に入力せずに、指定する中間層に入力するよう、選択した学習モデルの構成を変更する、
請求項８に記載の学習装置。
【請求項１０】
前記学習手段は、前記学習データが入力されるとニューラルネットワークが出力するべき真値である正解値と、前記学習データを実際に入力した場合にニューラルネットワークが出力した出力値との差から、正答率を求め、
前記設定された目標は、前記学習手段の学習において達成されるべき正答率を示す、
請求項４から９のいずれか１項に記載の学習装置。
【請求項１１】
前記学習条件取得手段はユーザが入力する前記学習条件を取得する、
請求項１から１０のいずれか１項に記載の学習装置。
【請求項１２】
前記学習手段における学習に先立って、前記学習データに適した前処理を行う前処理部をさらに備える、
請求項１から１１のいずれか１項に記載の学習装置。
【請求項１３】
前記学習手段は、学習によりニューラルネットワークの中間層に含まれるノードそれぞれの重みを更新し、重みを更新したニューラルネットワークを学習済みニューラルネットワークとして出力する、
請求項１から１２のいずれか１項に記載の学習装置。
【請求項１４】
請求項１３に記載の前記学習手段が出力した前記学習済みニューラルネットワークに、
推論の対象とするデータを入力し、前記学習済みニューラルネットワークの出力を、推論結果とする推論装置。
【請求項１５】
ニューラルネットワークを使用した学習を行うコンピュータが、
学習条件を取得する学習条件取得ステップと、
前記学習条件に応じて、ニューラルネットワークの構造を選択する選択ステップと、
前記学習条件に応じて、ニューラルネットワークの規模を決定する規模決定ステップと、
選択した前記構造を有し、決定した前記規模のニューラルネットワークに、学習データを入力して学習を行う学習ステップと、
を含む方法。
【請求項１６】
ニューラルネットワークを使用した学習を行うコンピュータに、
学習条件を取得し、
前記学習条件に応じて、ニューラルネットワークの構造の枠組みとなる学習モデルを選択し、
前記学習条件に応じて、前記学習モデルについてニューラルネットワークの規模を決定し、
前記学習モデルを前記規模で構成したニューラルネットワークに、学習データを入力して学習を行う、
ようにさせるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習装置、推論装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
機械学習における手法のひとつであるディープラーニングを行う場合、目的、学習データの特性等に応じて、学習パラメータを設定する必要がある。しかし、ニューラルネットワーク、ＡＩ（Artificial Intelligence）等についての知識を有していないユーザにとって、学習モデルの選択、ニューラルネットワークの規模の決定等の学習パラメータを適切に設定することは容易ではない。このため、このようなユーザにとって、ディープラーニングを行うことは困難である。【０００３】
特許文献１に記載された筆記情報から個人認証を行う認証装置においては、識別対象である筆記情報のカテゴリに割り当てられたニューラルネットワークを使用して、個人認証を行う。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−１７５５１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の認証装置は、複数のニューラルネットワークのうち識別対象のカテゴリに割り当てられたニューラルネットワークを使用するだけである。さらに、複数のニューラルネットワークの層数と各層のノード数等は同じである。即ち、いずれのニューラルネットワークも同じ規模を有している。このため、例えば、ニューラルネットワークの規模を変更する場合には、ユーザ自身が規模を決定する必要がある。よって、ニューラルネットワーク、ＡＩ等についての知識を有していないユーザにとっては、特許文献１に記載の認証装置を適切に操作することは困難である。【０００６】
本発明は、上記実情に鑑みてなされたものであり、学習パラメータの設定についてユーザに意識させずに、適切な学習パラメータの設定を可能とすることを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の学習装置は、ニューラルネットワークを使用した学習を行う。学習条件取得手段は、学習の前提を示す学習条件を取得する。学習モデル選択手段は、学習条件に応じて、ニューラルネットワークの構造の枠組みとなる学習モデルを選択する。学習モデル規模決定手段は、学習条件に応じて、選択された学習モデルについてニューラルネットワークの規模を決定する。学習手段は、学習モデルを規模で構成したニューラルネットワークに、学習データを入力して学習を行う。
【発明の効果】
【０００８】
本発明の学習装置は、学習条件に応じて、ニューラルネットワークの構造の枠組みとなる学習モデルを選択し、選択した学習モデルについてニューラルネットワークの規模を決定する。本発明の学習装置がこのような構成を備えることで、学習パラメータの設定についてユーザに意識させずに適切な学習パラメータの設定が可能となる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態に係る学習推論装置のハードウェア構成を示すブロック図
【図２】実施の形態に係る学習推論装置の機能ブロック図
【図３】実施の形態に係る推論の目的の入力画面の一例を示す図
【図４】実施の形態に係るハードウェア資源の制約の入力画面の一例を示す図
【図５】実施の形態に係る学習データの特性の入力画面の一例を示す図
【図６】実施の形態に係る学習の終了条件の入力画面の一例を示す図
【図７】実施の形態に係る選択テーブルに格納されるデータの一例を示す図
【図８】実施の形態に係る学習モデルの変更の一例を示す図
【図９】実施の形態に係る学習開始前の学習の進捗状況を示す画面の一例を示す図
【図１０】実施の形態に係る学習中断時の学習の進捗状況を示す画面の一例を示す図
【図１１】実施の形態に係る学習終了時の学習の進捗状況を示す画面の一例を示す図
【図１２】実施の形態に係る学習処理のフローチャート
【図１３】実施の形態に係る推論処理のフローチャート
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態に係る学習推論装置１０００について、図面を参照しつつ詳細に説明する。
【００１１】
（実施の形態）
実施の形態に係る学習推論装置１０００は、ユーザが指定した学習に関する前提及び制約を示す情報に基づいて、適切な学習パラメータを自動的に決定する。ここで、学習パラメータは、ニューラルネットワークの構造を示す学習モデル、ニューラルネットワークの規模、学習率、活性化関数、バイアス値等を含むものとする。
【００１２】
より具体的には、実施の形態において、学習推論装置１０００は、学習パラメータのうち、ニューラルネットワークの構造を示す学習モデルと、ニューラルネットワークの規模とを、ユーザが指定した学習に関する前提及び制約を示す情報に基づいて、自動的に決定する。
【００１３】
学習推論装置１０００は、学習モデルを選択し、選択した学習モデルについてニューラルネットワークの規模を拡大または縮小することによって、最適な構成に変更したディープニューラルネットワークを使って、ディープラーニングを実行する。学習推論装置１０００は、ディープラーニングによる学習結果と推論の対象となるデータとから推論を行う。
【００１４】
ここで、ディープラーニングとは、多層のニューラルネットワークを使用した学習の手法である。多層のニューラルネットワークとは、入力層と出力層との間に位置する中間層を複数有するニューラルネットワークである。以下、多層のニューラルネットワークをディープニューラルネットワークと称することがある。ディープラーニングでは、学習モデルを仮定し、仮定した学習モデルを実現したニューラルネットワークに学習データを入力し、ニューラルネットワークの出力があらかじめ求められた真値に近づくよう、ニューラルネットワークの中間層のノードの重みを調整する。このようにして、ディープニューラルネットワークに入力と出力との関係を学習させる。
【００１５】
学習が終了したディープニューラルネットワークは、推論に使用される。推論とは、学習したディープニューラルネットワークを使用して推定を行うことである。推論では、学習済みのネットワークに、推論の対象となるデータを入力し、学習済みディープニューラルネットワークが出力する値を入力に対する推定値とする。
【００１６】
学習推論装置１０００は、生産システム、制御システム等において、品質の検査、異常要因の推定、機器の故障の予知等のため、学習と推論とを行う。学習推論装置１０００に与えられる学習データは、例えば、生産システム、制御システム等において稼動するプログラマブルロジックコントローラ、インテリジェント機能ユニット、設備に設けられたセンサといった各種機器から過去の一定期間に収集したデータである。
【００１７】
さらに、学習推論装置１０００は、品質の検査、異常要因の推定、機器の故障の予知等のために、学習済みのディープニューラルネットワークによる推論を行う。学習推論装置１０００に与えられる推論の対象となるデータは、例えば、プログラマブルロジックコントローラ、インテリジェント機能ユニット、設備に設けられたセンサといった各種機器から収集したデータである。
【００１８】
図１に示すように、学習推論装置１０００はハードウェア構成として、各種データを記憶する記憶部１と、ユーザの入力操作を検出する入力部２と、画像を表示装置に出力する表示部３と、学習推論装置１０００全体を制御する演算部４と、を有する。記憶部１と、入力部２と、表示部３と、はいずれもバス９を介して演算部４に接続されており、演算部４と通信する。
【００１９】
記憶部１は、揮発性メモリと不揮発性メモリとを含み、プログラムと各種データとを記憶する。また、記憶部１は、演算部４のワークメモリとして用いられる。記憶部１が記憶するプログラムは、後述の学習装置１００の各機能を実現するための学習処理プログラム１１と、後述の推論装置２００の各機能を実現するための推論処理プログラム１２とを含む。
【００２０】
入力部２は、キーボード、マウス、タッチパネル等を含み、ユーザからの入力操作を検出し、検出したユーザの入力操作を示す信号を演算部４に出力する。
【００２１】
表示部３は、ディスプレイ、タッチパネル等を含み、演算部４から供給される信号に基づく画像を表示する。
【００２２】
演算部４は、ＣＰＵ（Central Processing Unit）を含む。演算部４は、記憶部１に記憶される各種プログラムを実行して、学習推論装置１０００の各種機能を実現する。演算部４は、ＡＩ用の専用プロセッサを備えていてもよい。
【００２３】
図２に示すように、学習推論装置１０００は、機能的には、ディープニューラルネットワークに学習データを与えて、ディープラーニングによる学習を行う学習装置１００と、学習したディープニューラルネットワークに推論の対象となるデータ（以下、推論対象データと称することがある）を入力して推論を行う推論装置２００とを含む。
【００２４】
実施の形態においては、学習装置１００は、ユーザが入力した学習に関する前提及び制約を示す情報に基づいて、調整前のディープニューラルネットワークの枠組みとなる学習モデルを選択し、選択した学習モデルを、ユーザが入力した学習の前提及び制約を満たす構成へと変更した上で、ディープニューラルネットワークを生成する。学習装置１００は、推論装置２００の推論に先立って、学習データを使用した学習によりディープニューラルネットワークを調整する。
【００２５】
図２に示すように、学習装置１００は、ユーザが入力する学習条件を取得する学習条件取得部１１０と、学習データを記憶する学習データ記憶部１２０と、学習データに対して前処理を行う前処理部１３０と、学習モデルの情報を記憶する学習モデル記憶部１４０と、学習条件に応じて学習モデルを選択するモデル選択部１５０と、学習条件に応じて学習モデルの規模を決定するモデル規模決定部１６０と、学習データを使用して学習を行う学習部１７０と、学習結果を記憶する学習結果記憶部１８０と、を有する。学習条件取得部１１０は本発明の学習条件取得手段の一例である。モデル選択部１５０は本発明の学習モデル選択手段の一例である。モデル規模決定部１６０は本発明の学習モデル規模決定手段の一例である。学習部１７０は本発明の学習手段の一例である。学習装置１００の各部は、演算部４が学習処理プログラム１１を実行することによって実現される。
【００２６】
学習条件取得部１１０は、入力部２が受け付けたユーザの入力から、学習に関する前提及び制約を示す学習条件の内容を取得し、取得した学習条件の内容をモデル選択部１５０に出力する。ユーザが入力する前提及び制約は、推論の目的と、ハードウェア資源の制約と、学習データの特性を示す情報と、学習において達成すべき目標と、を含む。
【００２７】
学習条件取得部１１０がユーザから受け付ける情報を具体的に説明する。
【００２８】
学習条件取得部１１０は、推論の目的についての入力をユーザから受け付け、ユーザが選択した目的を示す情報を、モデル選択部１５０に出力する。推論の目的は、後述の推論装置２００が行う推論の目的を示す。推論装置２００は、学習装置１００が調整したディープニューラルネットワークを使用するため、学習装置１００は、ユーザから指定された推論の目的に応じた学習を行う。
【００２９】
学習条件取得部１１０は、推論の目的についてユーザの入力を受け付けるため、図３に示すような入力画面を表示部３に表示する。図示する例では、「品質検査」、「異常要因推定」「故障予兆検知」の３つの選択肢がユーザに提示される。ユーザは、入力部２を使用して、所望の目的を選択する。「品質検査」が選択された場合、ユーザが、推論装置２００の推論により品質の判定を行うことを要求していることを示す。「異常要因推定」が選択された場合、ユーザが、推論装置２００の推論により異常の要因を推定することを要求していることを示す。「故障予兆検知」が選択された場合、ユーザが、推論装置２００の推論により故障の発生を予兆することを要求していることを示す。
【００３０】
また、学習条件取得部１１０は、ハードウェア資源の制約についての入力をユーザから受け付ける。ハードウェア資源の制約は、学習装置１００の学習のために、学習推論装置１０００において使用可能なハードウェア資源の制約を示す。
【００３１】
学習条件取得部１１０は、ハードウェア資源の制約についてユーザの入力を受け付けるため、図４に示すような入力画面を表示部３に表示する。ユーザは、ハードウェア資源の制約として使用することが許容されるメモリの容量を指定する。ユーザが指定したメモリの容量の上限値は、後述のモデル規模決定部１６０のディープニューラルネットワークの規模の決定に使用される。学習条件取得部１１０は、ユーザが入力したメモリの容量の上限値をモデル選択部１５０に出力する。さらに、ユーザは図４に示す入力画面において、使用することが許容されるプロセッサの使用率を指定する。ユーザが指定したプロセッサの使用率に応じて、後述の学習部１７０は学習の処理の負荷を調節する。
【００３２】
図２に示す学習条件取得部１１０は、学習データの特性を示す情報をユーザから受け付ける。学習データの特性を示す情報には、例えば、学習データの種類と、学習データの値の取り得る範囲である最大値及び最小値と、学習データが時系列データであるか否かを示す情報と、時系列データである場合の１周期のデータ数とが含まれる。なお、学習データの特性を示す情報は、上記に列挙したもののうち一部のみを含むこともある。
【００３３】
ここで、実施の形態においては、学習データは、単なる数値データと、ラベル付けされたデータとを含むものとする。ラベル付けされたデータ（以下、ラベル付けデータと称する）は、取り得る値が示す意味を定義付けしたものである。
【００３４】
ラベル付きデータは、値それぞれに定義付けしたデータを含む。例えば、スイッチのオン／オフを示すため、オンに「１」を、オフに「０」を対応づける。この定義付けは、記憶部１にあらかじめ格納されているものとする。上記のように定義された場合、学習データにおけるスイッチに関するラベル付けデータの値は、１または０である。また、他の例として、気温の範囲を示すため、１℃〜２０℃に「１」を、２０．１℃〜３０℃に「２」を、３０．１℃〜４０℃に「３」を対応づける。このように定義された場合、学習データにおける気温に関するラベル付けデータの値は、１、２及び３のいずれかである。前処理部１３０、モデル選択部１５０、学習部１７０は、記憶部１に格納された定義付けの情報に基づいて、スイッチに関するラベル付けデータと、気温に関するラベル付けデータとをそれぞれ扱う。
【００３５】
また、ラベルは、その値の特性を示すものであってもよい。例えば、回転数を測定したデータに、「回転数」のラベルを付してもよい。この場合、学習データにおける値は、回転数を測定した任意の値となる。前処理部１３０、モデル選択部１５０、学習部１７０は、「回転数」のラベルが付されたデータを、回転数を測定したデータであるものとして扱う。
【００３６】
上述したように、学習データには、単なる数値データと、ラベル付けされたデータとが含まれる。このため、学習条件取得部１１０が取得する学習データの種類は、学習データが、単なる数値データであるか、ラベル付けデータであるかを示す情報を含む。さらに、学習データがラベル付けデータである場合、学習条件取得部１１０は、ラベル名を取得する。ラベル名は、例えば、「スイッチ」、「気温」、「回転数」である。
【００３７】
学習条件取得部１１０は、学習データの種類についてユーザの入力を受け付けるため、図５に示すような入力画面を表示部３に表示する。図示する例では、学習データ記憶部１２０に格納されている学習データを表示するとともに、学習データの種類を指定することが可能である。ここで、１つの列のデータを１つの次元のデータとする。図示する例では、入力次元数は８である。１つの列のデータは、例えば、あるセンサから時系列で収集された測定値である。
【００３８】
図５では、各列のデータの種類として、「数値」、または、その列のデータに割り当てられたラベル名がリスト表示されている。図示する例では、ラベル名として、「スイッチ」、「気温」が表示されている。ユーザは、入力部２を操作して、各列のデータの種類として、「数値」あるいは、任意のラベル名を選択する。学習データが、ラベル付きデータであるか数値であるかに応じて、後述のモデル選択部１５０は学習モデルの調整を行う。
【００３９】
また、学習条件取得部１１０が取得する学習データの値の取り得る範囲は、学習データの最大値及び最小値により表される。各列の最大値は、その次元におけるデータのセットの最大値であり、各列の最小値は、その事件におけるデータのセットの最小値である。最大値と最小値は、例えば、前処理の際に使用される。図示する例では、学習条件取得部１１０が、各列のデータから最大値と最小値とを予め求めた値が表示されている。なお、ユーザは、最大値と最小値とを修正することも可能である。例えば、小数点以下の桁数をあらかじめ定められた範囲に丸めてもよい。
【００４０】
また、学習条件取得部１１０が取得する学習データが時系列であるか否かを示す情報も、図５に示す画面から入力される。ユーザは、学習データを時系列データとして扱うのか否かを指定する。さらに、ユーザは、学習データを時系列データとして扱う場合、１周期のデータ数を入力する。
【００４１】
図２に示す学習条件取得部１１０は、達成すべき目標を示す目標正答率についての入力をユーザから受け付ける。実施の形態においては、後述の学習部１７０は、学習によりユーザが指定した正答率を達成すると、学習を終了する。実施の形態においては、目標正答率は、学習の終了条件を示す。学習条件取得部１１０は、図６に示すような入力画面を表示部３に表示し、ユーザから目標とする正答率の入力を受け付ける。
【００４２】
図２に示す学習データ記憶部１２０は、学習データを記憶する。学習データは、例えば、生産システム、制御システム等において稼動するプログラマブルロジックコントローラ、インテリジェント機能ユニット、設備に設けられたセンサといった各種機器から過去一定期間に収集されたデータである。学習に先立って、学習データ記憶部１２０には、目的に応じた学習データと、対応した正解データがそれぞれ記憶されている。正解データは、ディープニューラルネットワークに学習データを入力したときに、ディープニューラルネットワークの出力として期待される値である。正解データは、バックプロパゲーションと学習の正答率の算出とに使用される。正解データは本発明の正解値の一例である。
【００４３】
品質検査を目的とする学習に使用される正解データは、例えば、部品の製造時において、収集されたデータであり、当該部品の品質が合格であったか、不合格であったかを示す情報を含む。
【００４４】
異常要因の推定を目的とする学習に使用される正解データは、例えば、異常の発生時に稼動していた装置、当該装置に設けられたセンサ等から収集されたデータであり、異常の発生の要因を示す情報を含む。
【００４５】
故障予兆検知を目的とする学習に使用される正解データは、例えば、稼動する装置、当該装置に設けられたセンサ等から収集されたデータであり、当該装置の動作状態が正常であったか、異常であったかを示す情報を含む。
【００４６】
あるいは、故障予兆検知を目的とする学習に使用される正解データは、例えば、異常発生時に、稼動する装置、当該装置に設けられたセンサ等から収集されたデータのみであってもよい。この場合、当該装置の稼働状態が、あらかじめ定義された異常の度合いを示すいくつかのレベルのうち、どのレベルであるかを示す情報を含む。
【００４７】
前処理部１３０は、学習に先立って、学習データに対して前処理を施し、前処理を行ったデータを学習部１７０に出力する。前処理は、例えば、高速フーリエ変換、差分処理、対数変換、微分処理を含む。前処理部１３０は、個々の学習データに対応した前処理を行う。例えば、学習データが回転数の測定値であり、「回転数」のラベルが付されたラベル付きデータである場合、当該データに対して、高速フーリエ変換により周波数解析を行う。前処理部１３０は、前処理の内容と前処理を施したデータとを特定する情報を学習結果記憶部１８０に記憶する。後述の推論装置２００においても、同様の前処理の手法を使用するためである。
【００４８】
学習モデル記憶部１４０は、複数の学習モデルに関する情報を記憶する。具体的には、学習モデル記憶部１４０は、モデル選択部１５０が選択可能な学習モデルそれぞれを表す式を格納したモデル定義領域１４０１を含む。学習モデル記憶部１４０は、さらに、学習モデルそれぞれの初期パラメータを格納した初期パラメータ領域１４０２を含む。初期パラメータ領域１４０２には、調整前の学習モデルそれぞれについて、中間層の層数の初期値と、各中間層のノード数の初期値と、出力層のノード数の初期値と、各ノードにおける入力値に重みを付ける重みの初期値と、各ノードにおける重みの更新可能な幅を示す学習率とが格納される。学習モデル記憶部１４０が記憶するこれらの初期値と学習率とは、後述のモデル選択部１５０の選択対象となる複数の学習モデルそれぞれについて定義されていてもよい。なお、ディープニューラルネットワークの入力層のノードの数は、基本的には学習データの次元数と等しくなるように設定される。
【００４９】
さらに、学習モデル記憶部１４０は、モデル選択部１５０が学習モデルを選択する際に使用する選択テーブル１４０３を有する。図７に示すように、選択テーブル１４０３は、目的と、学習データの特性である時系列データであるか否かと、に応じて、適した学習モデルを定義した情報を格納する。
【００５０】
図２に示すモデル選択部１５０は、学習条件取得部１１０が取得した学習条件に応じて、ディープニューラルネットワークの枠組みとなる学習モデルを選択する。
【００５１】
実施の形態においては、モデル選択部１５０は、推論の目的と学習データの特性と、図７に示す選択テーブル１４０３とに基づいて学習モデルの選択を行う。例えば、推論の目的が「品質検査」であり、学習データが時系列データであると指定された場合、選択テーブル１４０３から「モデル１０００」が学習モデルとして該当する。この場合、モデル選択部１５０は、学習モデルとして「モデル１０００」を選択する。
【００５２】
さらに、モデル選択部１５０は、ユーザが入力した学習データの種類に応じて、学習モデルの構成を変更する。例えば、図８に示すように、モデル選択部１５０は、学習データのうち、ラベル付きデータについては、入力層に入力せず、中間層に直接入力するように学習モデルを変更する。モデル選択部１５０は、選択し、変更した学習モデルを特定する情報をモデル規模決定部１６０に出力する。また、モデル選択部１５０は、学習モデルを特定する情報を学習結果記憶部１８０に格納する。
【００５３】
モデル規模決定部１６０は、学習条件取得部１１０が取得した学習条件に応じて、学習モデルの規模を決定する。実施の形態においては、モデル規模決定部１６０は、ユーザが指定したハードウェア資源の制約に基づいて、モデル選択部１５０が選択した学習モデルについて、中間層の層数を増減し、中間層それぞれのノード数を増減し、ノード間の接続の有無を決定する。例えば、中間層の規模が大きくなった場合に、一部のノード間の接続を無しにする。このように、一部のノード間の接続を無しにすることで、演算を高速化することができる。
【００５４】
例えば、モデル規模決定部１６０は、図６に示す画面において、ユーザが入力した目標正答率が、予め決められた値以上である場合、中間層の層数を初期値より増やし、中間層のノード数の初期値を増やすことにより、学習モデルの規模を拡大する。あるいは、モデル規模決定部１６０は、中間層の層数と中間層のノード数のいずれかだけを増やしてもよい。また、モデル規模決定部１６０は、図４に示す画面において、ユーザが入力したメモリの容量の上限が、予め決められた値以下である場合、中間層の層数を初期値より減らし、各中間層のノード数の初期値を減らすことにより、学習モデルの規模を縮小する。あるいは、モデル規模決定部１６０は、中間層の層数と中間層のノード数のいずれかだけを減らしてもよい。このように中間層の層数を減らし、各中間層のノード数を減らすことで、ニューラルワークによる学習時のメモリの使用量を抑えることができる。
【００５５】
モデル規模決定部１６０は、決定した規模に変更した学習モデルを学習部１７０に出力する。また、モデル規模決定部１６０は、決定した学習モデルの規模を示す情報として、変更後の中間層の層数及び各中間層のノード数を学習結果記憶部１８０に格納する。
【００５６】
学習部１７０は、モデル規模決定部１６０が出力した学習モデルを採用したディープニューラルネットワークに、前処理部１３０から供給された前処理済みの学習データを入力して学習を行う。学習部１７０は、ディープニューラルネットワークに学習データを入力し、出力値が学習データ記憶部１２０に格納された正解データに近づくように、バックプロパゲーションによりそれぞれのノードの重みを適宜更新する。
【００５７】
また、学習部１７０は、学習の終了条件の判別のため、ディープニューラルネットワークの出力と、正解データとの差から、正答率を逐次算出する。学習部１７０は、算出した正答率が、ユーザが指定した正答率に達成すると、学習を終了する。学習部１７０は、学習結果として、調整後のディープニューラルネットワークの各ノードの重みを学習結果記憶部１８０に格納する。また、学習部１７０は、ユーザが図４に示す画面で指定したプロセッサの使用率を超えないように、演算部４の負荷を監視しながら、学習の処理を行う。
【００５８】
学習部１７０は、学習の進捗状況を示すため、図９〜図１１に示すような進捗状況を示す画面を表示部３に表示する。図９〜図１１に示すように、ユーザは、最終的な学習結果として正答率の高さを優先した学習結果を採用するか、最新の学習結果を採用するかを選択することが可能である。これは、ディープラーニングにおいては、学習が進むに従って正答率は高くなるものの、上下に変動することがあるからである。学習部１７０は、学習終了時において、「正答率優先」が選択されている場合、正答率が最も高いときの、各ノードの重みを学習結果記憶部１８０に格納する。また、学習終了時において「最新結果優先」が選択されている場合、最新の各ノードの重みを学習結果として学習結果記憶部１８０に格納する。
【００５９】
また、学習部１７０は、ユーザの指示に応じて、学習を開始／中断／再開する。図９は、学習開始前の進捗状況を示す画面である。ユーザが開始ボタンを押すと、学習部１７０は学習を開始し、図１０に示すような進捗状況を示す画面を表示部３に表示する。学習部１７０は、決められた時間間隔で最新の進捗状況を表示するように進捗状況を示す画面の表示内容を更新する。ユーザが中断ボタンを押すことによって、学習部１７０は、学習を中断する。また、ユーザが再開ボタンの押下により再開を指示すると、学習部１７０は、学習を再開する。学習部１７０は、学習を終了すると、図１１に示すような画面を表示部３に表示する。
【００６０】
学習結果記憶部１８０は、学習部１７０の学習結果として、最終的なディープニューラルネットワークの各ノードの重みを記憶する。以上が、学習装置１００に係る構成である。
【００６１】
続いて、図２に示す推論装置２００について説明する。推論装置２００は、学習装置１００により調整された学習モデルを使用して、推論対象のデータについて推論を行う。推論装置２００は、推論対象のデータを記憶する推論データ記憶部２１０と、推論対象データを使用して推論を行う推論部２２０と、推論の結果を格納する推論結果記憶部２３０とを有する。推論装置２００の各部は、演算部４が推論処理プログラム１２を実行することによって実現される。
【００６２】
推論データ記憶部２１０は、推論の対象となるデータを記憶する。
【００６３】
推論部２２０は、推論に先立って、前処理部１３０が学習データに対して行った前処理の手法を、学習結果記憶部１８０から読み出し、推論対象のデータに対して前処理を行う。
【００６４】
推論部２２０は、前処理の後、学習結果記憶部１８０に格納されている情報に基づいて、調整後のディープニューラルネットワークに推論対象のデータを入力し、出力値を推論結果記憶部２３０に出力する。推論部２２０は、推論の実行中にも、図９〜図１１に示した学習時の進捗状況と同様に、進捗状況を示す画面を表示部３に示す。
【００６５】
推論結果記憶部２３０は、推論部２２０の推論結果を記憶する。具体的には推論結果記憶部２３０は、ディープニューラルネットワークの出力に基づく推論結果を記憶する。以上が、推論装置２００に係る構成である。
【００６６】
続いて、図１２を参照しながら、学習装置１００の学習処理のフローを説明する。まず、学習条件取得部１１０は、図３〜図６に示す画面からユーザが入力した学習の前提及び制約を示す学習条件を取得し（ステップＳ１１）、取得した学習条件を前処理部１３０とモデル選択部１５０とに供給する。
【００６７】
前処理部１３０は、学習条件取得部１１０から供給された学習条件と、学習データ記憶部１２０に格納された学習データとに応じて前処理の手法を選択する（ステップＳ１２）。前処理部１３０は、選択した前処理の手法を使用して、学習データ記憶部１２０に格納された学習データに対して前処理を行い（ステップＳ１３）、前処理を行った学習データを学習部１７０に供給する。また、前処理部１３０は、使用した前処理の手法を学習結果記憶部１８０に格納する。
【００６８】
モデル選択部１５０は、学習条件取得部１１０から供給された学習条件と、学習データ記憶部１２０に格納された学習データとに応じて、学習モデル記憶部１４０から学習モデルを選択する（ステップＳ１４）。さらに、モデル選択部１５０は、学習データの種類に応じて、選択した学習モデルの構成を変更し、その学習モデルを特定する情報をモデル規模決定部１６０に供給する。
【００６９】
モデル規模決定部１６０は、学習条件取得部１１０から供給された学習条件に応じて、モデル選択部１５０が選択した学習モデルの規模を決定し（ステップＳ１５）、決定した内容を学習部１７０に供給する。
【００７０】
学習部１７０は、ユーザが指定した目標正答率に到達するまで（ステップＳ１６；Ｎｏ）、学習処理を行う（ステップＳ１７）。具体的には、学習部１７０は、モデル選択部１５０、モデル規模決定部１６０が決定した構成を採用したディープニューラルネットワークに学習データを入力し、ディープニューラルネットワークの出力と正解データとから、正答率を算出する。学習部１７０は、現在の学習の進捗率と、最新の正答率とについての画面の表示を更新する（ステップＳ１８）。
【００７１】
学習部１７０は、ユーザが指定した目標正答率に到達すると（ステップＳ１６；Ｙｅｓ）、学習を終了し、各ノードの重みを含む学習結果を出力する（ステップＳ１９）。以上が学習装置１００の学習処理の流れである。
【００７２】
次に、図１３を参照して、学習済みのディープニューラルネットワークを使用した推論装置２００の推論処理を説明する。
【００７３】
推論部２２０は、前処理部１３０が学習データに対して行った前処理の手法を、学習結果記憶部１８０から読み出し、推論データ記憶部２１０に格納されている推論対象のデータに対して前処理を行う（ステップＳ２１）。
【００７４】
推論部２２０は、前処理の後、学習結果記憶部１８０から、モデル選択部１５０が選択した学習モデルを特定する情報と、モデル規模決定部１６０が決定した規模を示す情報と、学習部１７０が更新したディープニューラルネットワークの重みと、を読み出す。推論部２２０は、読み出した内容を採用したディープニューラルネットワークに、推論対象のデータを入力し、推論を実行する（ステップＳ２２）。推論部２２０は、推論結果を推論結果記憶部２３０に格納する。以上が推論処理である。
【００７５】
以上説明したように、実施の形態においては、学習装置１００は、ユーザが指定した学習に関する前提及び制約に応じて、適切な学習モデルを選択し、選択した学習モデルの規模を決定して、学習モデルを自動的に最適化する。これにより、従来ユーザが行っていた学習モデルの選択、学習モデルの規模の決定を、ユーザ自身が行う必要がない。よって、ユーザが特別な知識を有していない場合であっても、ディープラーニングを容易に行うことができる。
【００７６】
モデル規模決定部１６０は、ユーザが指定したハードウェア資源の制約に応じて、学習モデルの規模を調整する。このため、例えば、学習装置１００において他のアプリケーションが動作している場合には、他のアプリケーションの動作を妨げることなく、学習が実行される。
【００７７】
モデル規模決定部１６０が学習モデルの規模を適切に調整するため、複雑でない学習データに対して、大規模なニューラルネットワークを使用した学習を行うことはない。学習装置１００は、複雑な学習データに対して小規模なニューラルネットワークを使用した学習を行うこともない。このような構成により、規模を調整せずに、複雑ではない学習データに対して、大規模なニューラルネットワークを使用した学習を行って、不必要に時間がかかる、不必要にプロセッサの処理の負荷が上がるといったデメリットは生じない。また、規模を調整せずに、複雑な学習データに対して小規模なニューラルネットワークを使用した学習を行って、十分な学習結果が得られないといったデメリットは生じない。
【００７８】
さらにモデル選択部１５０は、ラベル付きデータについては、入力層に入力せず、中間層に直接入力するように学習モデルを変更するように、ユーザが入力した学習データの種類に応じて、学習モデルの構成を変更してもよい。これは、入力層においては、入力される学習データを標準化することがあり、このような場合には、各値が持つ意味が予め定義付けされているラベル付きデータについては、標準化の処理を省略することができるためである。
【００７９】
実施の形態においては、モデル規模決定部１６０は、ハードウェア資源の制約であるとしてユーザが指定したメモリの容量に応じて、学習モデルの規模の拡大または縮小を行う例を説明したが、学習モデルの規模の拡大または縮小の方法はこれに限られない。
【００８０】
例えば、モデル規模決定部１６０は、入力される学習データの次元数に応じて、学習モデルの規模を拡大または縮小してもよい。また、モデル規模決定部１６０は、学習データの複雑さの度合いに応じて、学習モデルの規模を拡大または縮小してもよい。例えば、学習データが複雑なデータである場合、学習モデルの規模を拡大し、学習データが複雑でない場合、学習モデルの規模を縮小するようにしてもよい。学習データの複雑さの度合いは、例えば、学習データの平均、分散等の統計量を求めて算出することができる。
【００８１】
また、モデル規模決定部１６０は、学習データの特性に応じて学習モデルの規模を拡大または縮小することができる。例えば、学習データが時間的に連続したデータであるか否か、学習データが時系列において関連性を有するデータであるかに応じて学習モデルの規模を拡大または縮小することができる。例えば、学習データが、時間的に連続したデータ、あるいは時系列において関連性を有するデータである場合、１周期のデータをまとめてニューラルネットワークに入力する必要があり、この場合、ニューラルネットワークの入力次元数が大きくなる。従って、ニューラルネットワークの規模が拡大する。
【００８２】
また、モデル規模決定部１６０は、学習データのデータ種類に応じて学習モデルの規模を拡大または縮小することができる。これは、学習データのデータ種類に応じて、ニューラルネットワークの構造が異なり、結果として、ニューラルネットワークの規模が拡大または縮小するからである。ここで、データの種類は、数値、ラベル付きデータ等を含むものとする。
【００８３】
実施の形態においては、学習条件として入力された推論の目的とハードウェア資源の制約と学習データの特性を示す情報と達成すべき目標と、に応じて、学習モデルの選択と、規模の決定とを行った。しかし、学習条件としてこれらの一部だけを使用してもよい。例えば、ユーザは学習条件として推論の目的のみを入力してもよく、学習装置１００は、入力された推論の目的に応じて、モデルの選択、規模の決定を行ってもよい。
【００８４】
モデルの選択の方法は、実施の形態に記載の方法に限られない。例えば、学習モデル記憶部１４０に、学習モデルそれぞれの性能をあらかじめ評価した評価値を記憶しておく。モデル選択部１５０は、ユーザが入力した推論の目的と学習データの特性から、選択テーブル１４０３から該当する学習モデルが複数存在する場合には、ユーザが入力した達成すべき目標値と、該当した学習モデルそれぞれの性能を示す評価値とに基づいて、学習モデルを選択する。達成すべき目標値である目標正答率が、決められた値以上である場合には、モデル選択部１５０は、性能を示す評価値が高い学習モデルを選択してもよい。
【００８５】
また、学習装置１００は、モデルの選択、規模のユーザが学習条件の入力画面から入力した学習条件を使用しなくてもよい。例えば、ユーザが指定する条件を示すファイルを記憶部１にあらかじめ格納しておき、このファイルを読み出して、学習条件に応じたモデルの選択と規模の決定とを行ってもよい。
【００８６】
実施の形態においては、学習推論装置１０００が、学習装置１００と推論装置２００とを備える例を説明したが、学習装置１００と、推論装置２００とは別個の装置として構成されてもよい。
【００８７】
実施の形態においては、学習データがあらかじめ学習データ記憶部１２０に格納されている例を説明したが、この構成に限られない。例えば、学習装置１００に他の装置と通信が可能となるようにネットワークインターフェースを設け、学習装置１００にネットワークを介して接続された他の装置から学習データが提供されるようにしてもよい。
【００８８】
同様に、推論装置２００に、他の装置から、推論対象のデータがネットワークを介して提供されるようにしてもよい。また、推論装置２００は、リアルタイムで供給される推論対象データに対して、処理を行い、推論結果をリアルタイムで出力するように構成されてもよい。
【００８９】
上記の実施の形態にかかる学習処理、推論処理のためのプログラムを記録する記録媒体としては、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリ、半導体メモリ、磁気テープを含むコンピュータ読取可能な記録媒体を使用することができる。
【００９０】
本発明は、広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
【符号の説明】
【００９１】
１  記憶部、２  入力部、３  表示部、４  演算部、９  バス、１１  学習処理プログラム、１２  推論処理プログラム、１００  学習装置、１１０  学習条件取得部、１２０  学習データ記憶部、１３０  前処理部、１４０  学習モデル記憶部、１５０  モデル選択部、１６０  モデル規模決定部、１７０  学習部、１８０  学習結果記憶部、２００  推論装置、２１０  推論データ記憶部、２２０  推論部、２３０  推論結果記憶部、１０００  学習推論装置、１４０１  モデル定義領域、１４０２  初期パラメータ領域、１４０３  選択テーブル
【図１】
2019234810.tif 000003
【図２】
2019234810.tif 000004
【図３】
2019234810.tif 000005
【図４】
2019234810.tif 000006
【図５】
2019234810.tif 000007
【図６】
2019234810.tif 000008
【図７】
2019234810.tif 000009
【図８】
2019234810.tif 000010
【図９】
2019234810.tif 000011
【図１０】
2019234810.tif 000012
【図１１】
2019234810.tif 000013
【図１２】
2019234810.tif 000014
【図１３】
2019234810.tif 000015
【手続補正書】
【提出日】令和1年6月3日(2019.6.3)
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、学習装置、学習推論装置、方法、及びプログラムに関する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
上記目的を達成するため、本発明の学習装置は、ニューラルネットワークを使用した学習を行う。学習条件取得手段は、学習の前提及び制約を示す学習条件を取得する。学習モデル選択手段は、学習の前提及び制約に応じて、ニューラルネットワークの構造の枠組みとなる学習モデルを選択する。学習モデル規模決定手段は、学習の前提及び制約に応じて、選択された学習モデルについてニューラルネットワークの規模を決定する。学習手段は、学習モデルを規模で構成したニューラルネットワークに、学習データを入力して学習を行う。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
本発明の学習装置は、学習の前提及び制約に応じて、ニューラルネットワークの構造の枠組みとなる学習モデルを選択し、学習の前提及び制約に応じて、選択した学習モデルについてニューラルネットワークの規模を決定する。本発明の学習装置がこのような構成を備えることで、学習パラメータの設定についてユーザに意識させずに適切な学習パラメータの設定が可能となる。
【手続補正５】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ニューラルネットワークを使用した学習を行う学習装置であって、
学習の前提及び制約を示す学習条件を取得する学習条件取得手段と、
前記学習の前提及び前記制約に応じて、ニューラルネットワークの構造の枠組みとなる学習モデルを選択する学習モデル選択手段と、
前記学習の前提及び前記制約に応じて、選択された前記学習モデルについてニューラルネットワークの規模を決定する学習モデル規模決定手段と、
前記学習モデルを前記規模で構成したニューラルネットワークに、学習データを入力して学習を行う学習手段と、
を有する学習装置。
【請求項２】
前記規模は、ニューラルネットワークの中間層の層数と、中間層それぞれに含まれるノード数と、ノード間それぞれの接続の有無と、により示され、
前記学習モデル規模決定手段は、前記学習の前提及び前記制約に応じて、前記学習モデル選択手段が選択した前記学習モデルにより表されるニューラルネットワークの中間層の層数を増減し、中間層それぞれに含まれるノード数を増減し、ノード間それぞれの接続の有無を決定する、
請求項１に記載の学習装置。
【請求項３】
前記学習条件取得手段が取得する前記学習の前提及び前記制約は、学習済みのニューラルネットワークを使用して行う推論の目的と、前記学習装置のハードウェア資源の制約と、前記学習データの特性を示す情報と、設定された目標と、を含む、
請求項１又は２に記載の学習装置。
【請求項４】
前記学習モデル規模決定手段は、前記ハードウェア資源の制約に応じて、前記規模を決定する、
請求項３に記載の学習装置。
【請求項５】
前記ハードウェア資源の制約は、前記学習装置において学習に使用可能なメモリの容量の上限値を含む、
請求項４に記載の学習装置。
【請求項６】
前記学習モデル選択手段は、前記推論の目的と、前記学習データの前記特性を示す情報と、に応じて前記学習モデルを選択する、
請求項３から５のいずれか１項に記載の学習装置。
【請求項７】
前記学習データの前記特性を示す情報は、前記学習データの種類と、前記学習データの値の取り得る範囲と、を含む、
請求項３から６のいずれか１項に記載の学習装置。
【請求項８】
前記学習モデル選択手段は、
前記学習データの前記種類に応じて、前記学習データを、ニューラルネットワークの入力層に入力せずに、指定する中間層に入力するよう、選択した学習モデルの構成を変更する、
請求項７に記載の学習装置。
【請求項９】
前記学習手段は、前記学習データが入力されるとニューラルネットワークが出力するべき真値である正解値と、前記学習データを実際に入力した場合にニューラルネットワークが出力した出力値との差から、正答率を求め、
前記設定された目標は、前記学習手段の学習において達成されるべき正答率を示す、
請求項３から８のいずれか１項に記載の学習装置。
【請求項１０】
前記学習条件取得手段はユーザが入力する前記学習条件を取得する、
請求項１から９のいずれか１項に記載の学習装置。
【請求項１１】
前記学習手段における学習に先立って、前記学習データに適した前処理を行う前処理部をさらに備える、
請求項１から１０のいずれか１項に記載の学習装置。
【請求項１２】
前記学習手段は、学習によりニューラルネットワークの中間層に含まれるノードそれぞれの重みを更新し、重みを更新したニューラルネットワークを学習済みニューラルネットワークとして出力する、
請求項１から１１のいずれか１項に記載の学習装置。
【請求項１３】
請求項１２に記載の学習装置を含み、
前記学習手段が出力した前記学習済みニューラルネットワークに、推論の対象とするデータを入力し、前記学習済みニューラルネットワークの出力を、推論結果とする学習推論装置。
【請求項１４】
ニューラルネットワークを使用した学習を行うコンピュータが、
学習の前提及び制約を示す学習条件を取得する学習条件取得ステップと、
前記学習の前提及び前記制約に応じて、ニューラルネットワークの構造を選択する選択ステップと、
前記学習の前提及び前記制約に応じて、ニューラルネットワークの規模を決定する規模決定ステップと、
選択した前記構造を有し、決定した前記規模のニューラルネットワークに、学習データを入力して学習を行う学習ステップと、
を含む方法。
【請求項１５】
ニューラルネットワークを使用した学習を行うコンピュータに、
学習の前提及び制約を示す学習条件を取得し、
前記学習の前提及び前記制約に応じて、ニューラルネットワークの構造の枠組みとなる学習モデルを選択し、
前記学習の前提及び前記制約に応じて、前記学習モデルについてニューラルネットワークの規模を決定し、
前記学習モデルを前記規模で構成したニューラルネットワークに、学習データを入力して学習を行う、
ようにさせるプログラム。
【手続補正書】
【提出日】令和1年9月3日(2019.9.3)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
上記目的を達成するため、本発明の学習装置は、ニューラルネットワークを使用した学習を行う。学習条件取得手段は、学習条件として、学習済みのニューラルネットワークを使用して行う推論の目的と、学習装置のハードウェア資源の制約と、学習データの特性を示す情報と、設定された目標とを含む、学習の前提及び制約を取得する。学習モデル選択手段は、学習の前提及び制約に応じて、ニューラルネットワークの構造の枠組みとなる学習モデルを選択する。学習モデル規模決定手段は、学習の前提及び制約に応じて、選択された学習モデルについてニューラルネットワークの規模を決定する。学習手段は、学習モデルを規模で構成したニューラルネットワークに、学習データを入力して学習を行う。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ニューラルネットワークを使用した学習を行う学習装置であって、
学習条件として、学習済みのニューラルネットワークを使用して行う推論の目的と、前記学習装置のハードウェア資源の制約と、学習データの特性を示す情報と、設定された目標とを含む、学習の前提及び制約を取得する学習条件取得手段と、
前記学習の前提及び前記制約に応じて、ニューラルネットワークの構造の枠組みとなる学習モデルを選択する学習モデル選択手段と、
前記学習の前提及び前記制約に応じて、選択された前記学習モデルについてニューラルネットワークの規模を決定する学習モデル規模決定手段と、
前記学習モデルを前記規模で構成したニューラルネットワークに、前記学習データを入力して学習を行う学習手段と、
を有する学習装置。
【請求項２】
前記規模は、ニューラルネットワークの中間層の層数と、中間層それぞれに含まれるノード数と、ノード間それぞれの接続の有無と、により示され、
前記学習モデル規模決定手段は、前記学習の前提及び前記制約に応じて、前記学習モデル選択手段が選択した前記学習モデルにより表されるニューラルネットワークの中間層の層数を増減し、中間層それぞれに含まれるノード数を増減し、ノード間それぞれの接続の有無を決定する、
請求項１に記載の学習装置。
【請求項３】
前記学習モデル規模決定手段は、前記ハードウェア資源の制約に応じて、前記規模を決定する、
請求項１または２に記載の学習装置。
【請求項４】
前記ハードウェア資源の制約は、前記学習装置において学習に使用可能なメモリの容量の上限値を含む、
請求項３に記載の学習装置。
【請求項５】
前記学習モデル選択手段は、前記推論の目的と、前記学習データの前記特性を示す情報と、に応じて前記学習モデルを選択する、
請求項１から４のいずれか１項に記載の学習装置。
【請求項６】
前記学習データの前記特性を示す情報は、前記学習データの種類と、前記学習データの値の取り得る範囲と、を含む、
請求項１から５のいずれか１項に記載の学習装置。
【請求項７】
前記学習モデル選択手段は、
前記学習データの前記種類に応じて、前記学習データを、ニューラルネットワークの入力層に入力せずに、指定する中間層に入力するよう、選択した学習モデルの構成を変更する、
請求項６に記載の学習装置。
【請求項８】
前記学習手段は、前記学習データが入力されるとニューラルネットワークが出力するべき真値である正解値と、前記学習データを実際に入力した場合にニューラルネットワークが出力した出力値との差から、正答率を求め、
前記設定された目標は、前記学習手段の学習において達成されるべき正答率を示す、
請求項１から７のいずれか１項に記載の学習装置。
【請求項９】
前記学習条件取得手段はユーザが入力する前記学習条件を取得する、
請求項１から８のいずれか１項に記載の学習装置。
【請求項１０】
前記学習手段における学習に先立って、前記学習データに適した前処理を行う前処理部をさらに備える、
請求項１から９のいずれか１項に記載の学習装置。
【請求項１１】
前記学習手段は、学習によりニューラルネットワークの中間層に含まれるノードそれぞれの重みを更新し、重みを更新したニューラルネットワークを学習済みニューラルネットワークとして出力する、
請求項１から１０のいずれか１項に記載の学習装置。
【請求項１２】
請求項１１に記載の学習装置を含み、
前記学習手段が出力した前記学習済みニューラルネットワークに、推論の対象とするデータを入力し、前記学習済みニューラルネットワークの出力を、推論結果とする学習推論装置。
【請求項１３】
ニューラルネットワークを使用した学習を行うコンピュータが実行する方法であって、
学習条件として、学習済みのニューラルネットワークを使用して行う推論の目的と、前記コンピュータのハードウェア資源の制約と、学習データの特性を示す情報と、設定された目標とを含む、学習の前提及び制約を取得する学習条件取得ステップと、
前記学習の前提及び前記制約に応じて、ニューラルネットワークの構造を選択する選択ステップと、
前記学習の前提及び前記制約に応じて、ニューラルネットワークの規模を決定する規模決定ステップと、
選択した前記構造を有し、決定した前記規模のニューラルネットワークに、前記学習データを入力して学習を行う学習ステップと、
を含む方法。
【請求項１４】
ニューラルネットワークを使用した学習を行うコンピュータに、
学習条件として、学習済みのニューラルネットワークを使用して行う推論の目的と、前記コンピュータのハードウェア資源の制約と、学習データの特性を示す情報と、設定された目標とを含む、学習の前提及び制約を取得させ、
前記学習の前提及び前記制約に応じて、ニューラルネットワークの構造の枠組みとなる学習モデルを選択させ、
前記学習の前提及び前記制約に応じて、前記学習モデルについてニューラルネットワークの規模を決定させ、
前記学習モデルを前記規模で構成したニューラルネットワークに、前記学習データを入力して学習させる、
プログラム。
【国際調査報告】
2019234810.tif 000016
2019234810.tif 000017
2019234810.tif 000018
2019234810.tif 000019