(57)【要約】【課題】人の手を介さずに、学習装置が学習目的を達成するのに要する時間を短縮するための技術を提供する。【解決手段】所定のタスクに係る動作の制御を学習する学習装置であって、学習目的を含む学習データを受け付ける学習データ受付部と、学習データに基づいて、学習を実行するニューラルネットワークと、ニューラルネットワークによる学習結果を出力する出力部と、を備え、ニューラルネットワークは、学習目的の初期段階を達成するための第１学習を実行し、当該第１学習の結果に基づいて、学習に係る動作を続行不能となる状態に至る制御を学習する第２学習を実行し、第２学習の結果に基づいて、続行不能となる状態に至る制御を除外して学習目的を達成するための第３学習を実行する。【選択図】図１
2018200537.tif 000002
【特許請求の範囲】
【請求項１】
所定のタスクに係る動作の制御を学習する学習装置であって、
学習目的を含む学習データを受け付ける学習データ受付部と、
前記学習データに基づいて、学習を実行するニューラルネットワークと、
前記ニューラルネットワークによる学習結果を出力する出力部と、
を備え、
前記ニューラルネットワークは、
前記学習目的の初期段階を達成するための第１学習を実行し、当該第１学習の結果に基づいて、前記学習に係る動作を続行不能となる状態に至る制御を学習する第２学習を実行し、前記第２学習の結果に基づいて、前記続行不能となる状態に至る制御を除外して前記学習目的を達成するための第３学習を実行する、
学習装置。
【請求項２】
前記出力部は、
前記第２学習の結果を出力する、
請求項１に記載の学習装置。
【請求項３】
前記学習装置は、
所定のタスクに係る一連の動作の制御を学習する学習装置であって、
前記タスクを複数の場面に分割し、分割された前記場面それぞれにおいて、前記一連の動作のうち当該場面において行われる部分動作を特定する分類部をさらに備え、
前記ニューラルネットワークは、前記第２学習及び前記第３学習を、前記部分動作ごとに実行する、
請求項１に記載の学習装置。
【請求項４】
所定のコースを周回する車両の自動走行に係る一連の動作について制御を学習する自動走行制御学習装置であって、
前記コースを所定時間以内に所定の回数周回することを目的とする学習目的を含む学習データを受け付ける学習データ受付部と、
前記学習データに基づいて、学習を実行するニューラルネットワークと、
前記ニューラルネットワークによる学習結果を出力する出力部と、
を備え、
前記ニューラルネットワークは、
前記コースを１周できることを達成するための第１学習を実行し、当該第１学習の結果に基づいて、前記学習に係る動作が続行不能となる状態に至る制御を学習する第２学習を実行し、当該第２学習の結果に基づいて、前記続行不能となる状態に至る制御を除外して前記学習目的を達成するための第３学習を実行する、
自動走行制御学習装置。
【請求項５】
所定のワークを把持して、当該ワークの形状に応じた載置場所に積み上げるタスクに係る一連の動作について制御を学習するロボット制御学習装置であって、
所定時間以内に前記ワークを所定の個数、前記載置場所に積み上げることを目的とする学習目的を含む学習データを受け付ける学習データ受付部と、
前記学習データに基づいて、学習を実行するニューラルネットワークと、
前記ニューラルネットワークによる学習結果を出力する出力部と、
を備え、
前記ニューラルネットワークは、
前記ワークを１つ前記載置場所に積むことを達成するための第１学習を実行し、当該第１学習の結果に基づいて、前記学習に係る動作が続行不能となる状態に至る制御を学習する第２学習を実行し、当該第２学習の結果に基づいて、前記続行不能となる状態に至る制御を除外して前記学習目的を達成するための第３学習を実行する、
ロボット制御学習装置。
【請求項６】
制御部を備えるコンピュータが実行する、所定のタスクに係る動作の制御を学習する学習方法であって、
前記制御部が、
学習目的を含む学習データを受け付けるステップと、
前記学習データに基づいて、学習を実行するステップと、
前記学習を実行するステップによる学習結果を出力するステップと、
を実行し、
前記学習を実行するステップは、
前記学習目的の初期段階を達成するための第１学習を実行し、当該第１学習の結果に基づいて、前記学習に係る動作を続行不能となる状態に至る制御を学習する第２学習を実行し、前記第２学習の結果に基づいて、前記続行不能となる状態に至る制御を除外して前記学習目的を達成するための第３学習を実行する、ステップを含む、
学習方法。
【請求項７】
所定のタスクに係る動作の制御を学習するコンピュータに、
学習目的を含む学習データを受け付ける手順、
前記学習データに基づいて、学習を実行する手順、及び
前記学習を実行する手段による学習結果を出力する手順、
を実行させ、
前記学習を実行する手順は、
前記学習目的の初期段階を達成するための第１学習を実行し、当該第１学習の結果に基づいて、前記学習に係る動作を続行不能となる状態に至る制御を学習する第２学習を実行し、前記第２学習の結果に基づいて、前記続行不能となる状態に至る制御を除外して前記学習目的を達成するための第３学習を実行する、手順を含む、
プログラム。
【請求項８】
所定のタスクを実行する装置であって、
前記装置がタスクを実行するための動作に必要な情報をセンシングする第１センサと、
アクチュエータと、
前記アクチュエータによる前記装置の状態変化をセンシングする第２センサと、
前記第１センサ及び前記第２センサから出力されるセンサ値に基づいて前記アクチュエータを制御する制御部と、
請求項１乃至３のいずれか一項に記載された学習装置によって行われた学習結果を記憶する記憶部と、
を備え、
前記制御部は、
前記記憶部に記憶された前記学習結果に基づいて、前記第１センサ及び前記第２センサから出力されるセンサ値に応じた制御量を決定する、
装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習装置、学習制御方法、及びそのプログラムに関する。
【背景技術】
【０００２】
従来から、ニューラルネットワークなどの人工知能技術（以下、「ＡＩ技術」という。）に関する研究が、幅広く行われている（例えば、特許文献１参照）。特に、深層学習（Ｄｅｅｐ  Ｌｅａｒｎｉｎｇ）と呼ばれるＡＩ技術の台頭により、例えば画像による対象物の認識技術は、ここ数年で認識率が急速に向上し、画像の分類については人の認識率を超えるレベルに到達しつつある。深層学習の技術は、画像の認識のみではなく、音声認識、個人認証、行動予測、文章の要約、自動翻訳、監視、自動運転、故障予測、センサデータの分析、楽曲のジャンル判定、コンテンツ生成、セキュリティシステム、その他幅広い分野への応用が期待されている。
【０００３】
深層学習などの機械学習においては、機械に学習を実施させて所定の能力を獲得させることができる。このとき、機械学習を行う学習装置では、所定の能力を獲得するまで、学習する動作を繰り返し実行する。
【０００４】
例えば、特許文献１には、ロボットの学習制御方法について開示されている。特許文献１に記載の学習制御方法においては、人が予め設定したロボット動作の目標となる目標軌道と、ロボットが実際に動作した場合の実軌道との間に生じる誤差に基づき、ロボットの駆動部へ供給する入力値を修正する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平６−２８９９１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
自動車のエンジンや走行の制御、あるいは化学プラント等の、数多くのセンサ情報に基づいてアクチュエータを制御するような学習装置においては、制御とセンサ情報の出力とが互いに影響を与えるため、制御方法を獲得するために、より複雑な学習を行う必要がある。したがって、このような複雑な学習を行う学習装置において、特許文献１のように、人が予め制御量の目標値を設定することは容易ではない。他方で、目標値を設定せずに学習装置に学習を行わせた場合、非常に多くのトライエラーを繰り返す必要があり、効率が悪い。
【０００７】
そこで、本発明は、人の手を介さずに、学習装置が学習目的を達成するのに要する時間を短縮するための技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一側面に係る学習装置は、所定のタスクに係る動作の制御を学習する学習装置であって、学習目的を含む学習データを受け付ける学習データ受付部と、学習データに基づいて、学習を実行するニューラルネットワークと、ニューラルネットワークによる学習結果を出力する出力部と、を備え、ニューラルネットワークは、学習目的の初期段階を達成するための第１学習を実行し、当該第１学習の結果に基づいて、学習に係る動作を続行不能となる状態に至る制御を学習する第２学習を実行し、第２学習の結果に基づいて、続行不能となる状態に至る制御を除外して学習目的を達成するための第３学習を実行する。
【０００９】
上記構成によれば、学習目的を達成するための第３学習の前に、学習に係る動作を続行不能となる状態に至る制御の学習がなされる。これによって、人によって制御動作を制限する条件が与えられることなしに、装置自らが続行不能状態に至る制御を除外して学習を行うことができるため、より短期間で学習目的を達成することができる。
【００１０】
また、出力部は、第２学習の結果を出力してもよい。この態様によると、続行不能状態に至る制御の学習結果を、ほかの学習装置においても活用することができる。
【００１１】
また、学習装置は、所定のタスクに係る一連の動作の制御を学習する学習装置であって、タスクを複数の場面に分割し、分割された場面それぞれにおいて、一連の動作のうち当該場面において行われる部分動作を特定する分類部をさらに備え、ニューラルネットワークは、第２学習及び第３学習を、部分動作ごとに実行してもよい。
【００１２】
この態様によると、学習装置は、学習に係る動作を、場面に応じてより小さな単位である部分動作に分類し、分類した部分動作ごとに学習することができる。これによって、よりより短期間で学習目的を達成することができる。
【００１３】
本発明の一側面に係る自動走行制御学習装置は、所定のコースを周回する車両の自動走行に係る一連の動作について制御を学習する自動走行制御学習装置であって、コースを所定時間以内に所定の回数周回することを目的とする学習目的を含む学習データを受け付ける学習データ受付部と、学習データに基づいて、学習を実行するニューラルネットワークと、ニューラルネットワークによる学習結果を出力する出力部と、を備え、ニューラルネットワークは、コースを１周できることを達成するための第１学習を実行し、当該第１学習の結果に基づいて、学習に係る動作が続行不能となる状態に至る制御を学習する第２学習を実行し、当該第２学習の結果に基づいて、続行不能となる状態に至る制御を除外して学習目的を達成するための第３学習を実行する。
【００１４】
また、本発明の一側面に係るロボット制御学習装置は、所定のワークを把持して、当該ワークの形状に応じた載置場所に積み上げるタスクに係る一連の動作について制御を学習するロボット制御学習装置であって、所定時間以内にワークを所定の個数、載置場所に積み上げることを目的とする学習目的を含む学習データを受け付ける学習データ受付部と、学習データに基づいて、学習を実行するニューラルネットワークと、ニューラルネットワークによる学習結果を出力する出力部と、を備え、ニューラルネットワークは、ワークを１つ前記載置場所に積むことを達成するための第１学習を実行し、当該第１学習の結果に基づいて、学習に係る動作が続行不能となる状態に至る制御を学習する第２学習を実行し、当該第２学習の結果に基づいて、続行不能となる状態に至る制御を除外して学習目的を達成するための第３学習を実行する。
【００１５】
また、本発明の一側面に係る学習方法は、制御部を備えるコンピュータが実行する、所定のタスクに係る動作の制御を学習する学習方法であって、制御部が、学習目的を含む学習データを受け付けるステップと、学習データに基づいて、学習を実行するステップと、学習を実行するステップによる学習結果を出力するステップと、を実行し、学習を実行するステップは、学習目的の初期段階を達成するための第１学習を実行し、当該第１学習の結果に基づいて、学習に係る動作を続行不能となる状態に至る制御を学習する第２学習を実行し、第２学習の結果に基づいて、続行不能となる状態に至る制御を除外して学習目的を達成するための第３学習を実行する、ステップを含む、学習方法。
【００１６】
本発明の一側面に係るプログラムは、所定のタスクに係る動作の制御を学習するコンピュータに、学習目的を含む学習データを受け付ける手順、学習データに基づいて、学習を実行する手順、及び学習を実行する手順による学習結果を出力する手順、を実行させ、学習を実行する手順は、学習目的の初期段階を達成するための第１学習を実行し、当該第１学習の結果に基づいて、学習に係る動作を続行不能となる状態に至る制御を学習する第２学習を実行し、第２学習の結果に基づいて、続行不能となる状態に至る制御を除外して学習目的を達成するための第３学習を実行する、手順を含む、プログラム。
【００１７】
また、本発明の一側面に係る装置は、所定のタスクを実行する装置であって、装置がタスクを実行するための動作に必要な情報をセンシングする第１センサと、アクチュエータと、アクチュエータによる装置の状態変化をセンシングする第２センサと、第１センサ及び第２センサから出力されるセンサ値に基づいてアクチュエータを制御する制御部と、上記の学習装置によって行われた学習結果を記憶する記憶部と、を備え、制御部は、記憶部に記憶された学習結果に基づいて、第１センサ及び第２センサから出力されるセンサ値に応じた制御量を決定する、装置。
【発明の効果】
【００１８】
本発明によれば、人の手を介さずに、学習装置が学習目的を達成するのに要する時間を短縮するための技術を提供することができる。
【図面の簡単な説明】
【００１９】
【図１】第１実施形態における学習装置の概略構成を示すブロック図である。
【図２】第１実施形態における学習装置によって制御される車両が自動走行するコースを示す模式図である。
【図３】第１実施形態における学習装置の処理の概略を示すフローチャートである。
【図４】第１実施形態における学習装置の詳細構成を示すブロック図である。
【図５】第１実施形態における学習装置の処理の詳細を示すフローチャートである。
【図６】第１実施形態における学習装置の処理の詳細を示すフローチャートである。
【図７】第１実施形態における学習装置の処理の詳細を示すフローチャートである。
【図８】第１実施形態における学習装置の処理の詳細を示すフローチャートである。
【図９】第１実施形態における学習装置のハードウェア構成の一例を示す図である。
【図１０】第２実施形態における学習装置の概略構成を示すブロック図である。
【発明を実施するための形態】
【００２０】
[第１実施形態]
以下、図面を参照して本発明の実施形態について詳細に説明する。なお、同一の要素には同一の符号を付し、重複する説明を省略する。また、以下の実施の形態は、本発明を説明するための例示であり、本発明をその実施の形態のみに限定する趣旨ではない。さらに、本発明は、その要旨を逸脱しない限り、さまざまな変形が可能である。
【００２１】
＜１．システム概要＞
図１乃至図３を参照して本実施形態におけるシステムの概要について説明する。
図１は、本実施形態に係る学習装置１の概略構成を示すブロック図である。学習装置１は、所定のタスクを学習するものである。本実施形態に係る学習装置１は，一例として自動走行制御車両（以下、単に「車両」ともいう。）９０に搭載され、所定のコース（図２参照）を自動走行するための車両９０の制御を学習する。このとき学習装置１には、例えばオペレータ等から学習データが与えられる。学習データは、例えば次のような学習目的と学習要件を含むデータである。
【００２２】
（学習目的）
・所定時間以内にコースを１０周してゴールする。
（学習要件）
・コースアウトしない
・周回方向は時計回り
・ゴールする
・初期段階レベルでは「コースを１周してゴールする」
【００２３】
なお、タスクは、学習に係る動作（本実施形態での「学習に係る動作」は、車両９０の自動走行に必要な各種制御である。なお、当該各種制御によって車両９０が実行する動作と考えてもよい。）で達成したいことであり、本実施形態ではコースを周回することである。また、学習目的はタスクが達成すべき水準であり、本実施形態では、上記のとおり「所定時間以内にコースを１０周してゴールすること」である。そうすると、本実施形態では、初期段階レベルの学習では、タスクが行えるようになることが、学習要件として与えられているとも考えられる。
【００２４】
また、以下の説明では、学習装置１はＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）やサーバ装置などのコンピュータによって構成されるものとして説明するが、これに限定されず、例えば、プロセッサ、ＲＡＭ、ＲＯＭを有する任意の組込装置によって実現されてもよい。また、各装置において実装される構成はソフトウェアによって実現される構成に限定されない。各装置に含まれる任意の構成は、ハードウェアによって実現される構成でもよい。例えば後述するニューラルネットワーク２２はカスタムＬＳＩ（Ｌａｒｇｅ-Ｓｃａｌｅ Ｉｎｔｅｇｒａｔｉｏｎ）やＦＰＧＡ（Ｆｉｅｌｄ-Ｐｒｏｇｒａｍｍａｂｌｅ Ｇａｔｅ Ａｒｒａｙ）等の電子回路によって構成されてもよい。
【００２５】
図１に示すように、学習装置１は、制御部１０と、機械学習部２０と、動作分類部３０と、記憶部４０とを有している。
【００２６】
制御部１０は、車両９０において、学習装置１外に設けられた制御用センサ９１、アクチュエータ９２、状態検知用センサ９３と接続されている。制御部１０は、制御用センサ９１、及び状態検知用センサ９３からの出力に応じて、アクチュエータ９２を制御して、車両９０の自動走行を実施する。
【００２７】
制御用センサ９１は、車両９０の自動走行制御を行うためのセンサ群である。例えば制御用センサ９１は、車載カメラやレーザ等の車外障害物検出センサ、路面状態検出センサ等から構成される。他方で、状態検知用センサ９３は、自動走行している車両９０の制御状態を検出するセンサ群である。例えば状態検知用センサ９３は、振動センサや騒音センサ、燃料消費量検出センサ、車速センサ、加速度センサ、ヨーレートセンサ等から構成される。
【００２８】
アクチュエータ９２は、車両９０を自動走行させるために制御部１０によって制御される。アクチュエータ９２は、例えばアクセルアクチュエータ、ブレーキアクチュエータ、及び操舵アクチュエータ等から構成される。アクセルアクチュエータは、制御部１０からの制御信号に応じてスロットル開度を制御することによって車両の駆動力を制御する。ブレーキアクチュエータは、制御部１０からの制御信号に応じてブレーキペダルの操作量を制御することにより、車両の車輪に対する制動力の制御を行う。操舵アクチュエータは、制御部１０からの制御信号に応じて電動パワーステアリングシステムの操舵アシストモータの駆動を制御して、車両の操舵作用の制御を行う。
【００２９】
次に、図３を参照して学習装置１が学習を行う手順を大まかに説明する。なお、各ステップの処理の詳細については、後述する。図３は、学習装置１が学習を行う際の、処理フローの概略を示すフローチャートである。まず、学習初期段階（Ｓ１）として、タスクが行えるようになること（すなわち初期段階の学習要件を満たした動作ができるようになること）を目的に学習が行われる。本実施形態における学習装置１は、初期段階としては、「コースを１周してゴールすること」が学習要件として与えられている。
【００３０】
初期段階レベルの目的をクリアすると、次に動作の分類（Ｓ２）が行われる。この段階では、Ｓ１の学習初期段階で行った学習内容を解析することにより、タスクを所定のパラメータに基づいて複数に分割（以下では、分割されたタスクを「場面」ともいう。）し、分割された場面それぞれにおいて、タスクに係る一連の動作のうち当該場面において行われる動作（以下、「部分動作」ともいう。）を特定する処理が行われる。タスクを分割する所定のパラメータは、例えばタスクの学習中に係る動作の変位量や、タスクの学習中に係る動作を実行する環境（タスクの開始時点からの経過時間や、タスクの開始場所からの位置等）である。本実施形態では、所定のパラメータとして、タスクの開始場所からの位置（タスクの学習中に係る動作を実行する環境）を用いる。すなわち、本実施形態では、学習装置１は、コース上の位置に基づいて、タスクを場面に分割し、分割した場面に対応するコース単位で行われる動作に基づいて、学習に係る一連の動作が場面に分類される。場面に応じて分類された部分動作単位で学習を行うことで、学習の効率化を図ることができる。なお、本実施形態において、学習の効率化とは、例えば学習開始から学習目的の達成までの所要時間の短縮化を意味してもよい。
【００３１】
動作を分類すると、次のステップとして、分類した部分動作ごとに、学習続行不能状態に至る制御の学習（Ｓ３）が行われる。ここで、学習続行不能状態とは、タスクが続行不能になる状態をいう。例えば、学習装置１における学習が所定の装置の制御である場合には、制御対象となる所定の装置の動作が停止した場合や、所定の装置が故障して動作不能に陥った場合をいう。本実施形態では、学習続行不能状態とは、例えば、コースアウトする、壁等にクラッシュして動けなくなる、故障する等の状態である。学習続行不能状態に至る制御を予め学習することによって、のちのステップで最適な制御を学習するうえで、学習続行不能状態に陥ることを避けて学習を行うことができる。これによってより効率的に学習を行うことが可能になる。
【００３２】
学習最終段階（Ｓ４）では、学習の最適化が行われる。この段階では、場面ごとに分類して学習した部分動作を組み合わせた上で、動作の開始から終了までを最適に行う学習が行われる。本実施形態では、最終段階の学習として、所定時間以内にコースを１０周してゴールする学習が行われる。
【００３３】
＜２．詳細処理＞
次に、図４乃至図８を参照して、各ステップにおける学習装置１の処理の詳細について説明する。図４は本実施形態に係る学習装置１の詳細な構成を示すブロック図である。図４に示すように、機械学習部２０は、学習データ入出力部２１と、ニューラルネットワーク２２と、学習結果出力部２３とから構成される。また、動作分類部３０は、制御データ抽出部３１と、動作分類結果抽出部３２とから構成される。
以下では、図３のステップごとに、各部の処理の詳細について説明する。
【００３４】
（２−１．学習初期段階）
図５は、図３に示したＳ１の学習初期段階における詳細な処理フローを示すフローチャートである。まず、学習の初期段階（第１学習）において、学習データ入出力部２１が学習データを受け付ける（Ｓ１０１）。学習データは、例えば上述した学習目的及び学習要件を含むデータである。
【００３５】
次のステップ（Ｓ１０２）では、機械学習が行われる。本実施形態では、個々の制御動作を制限するための条件は予め指定されていないため、学習装置１自らが制御動作を学習することになる。具体的には、制御部１０は、ランダムな制御量をアクチュエータ９２に対して設定して動作させる。このとき車両９０は当然コースに沿って走行することはできないので、コースアウト等をしながらでたらめな走行をすることになる。制御部１０は、ランダムに与えた制御量に対する制御用センサ９１及び状態検知用センサ９３から出力（以下、「センサ値」ともいう。）を読み取り、これらのデータ（制御量及びセンサ値）を記憶部４０に記憶させる。ニューラルネットワーク２２は、記憶部４０を参照して、記憶された制御量とセンサ値とを読み取り、学習要件に適応する制御動作をＤｅｅｐ  Ｌｅａｒｎｉｎｇにより学習する（Ｓ１０２）。
【００３６】
学習要件には、初期段階レベルの目的として、「コースを１周してゴールすること」が設定されている。したがって、学習装置１においては、例えば制御用センサ９１からの出力に基づいてコースを１周してゴールしたと判断した時点で、機械学習が初期段階レベルに達したと判定し（Ｓ１０３：Ｙ）、初期段階の学習を終了する。
【００３７】
（２−２．動作の分類）
図６は、図３に示したＳ２の動作の分類における詳細な処理フローを示すフローチャートである。まず、動作の分類処理を行うに当たり、制御データ抽出部３１が学習初期段階終了時点における、制御用センサ９１のセンサ値と、これに対するアクチュエータ９２の制御量及び状態検知用センサ９３のセンサ値とを記憶部４０から抽出する（Ｓ２０１）。制御データ抽出部３１は、抽出した各値をニューラルネットワーク２２に対して学習データとして入力する。
【００３８】
次に、ニューラルネットワーク２２は、制御データ抽出部３１により入力された学習データに基づいて、機械学習を行う（Ｓ２０２）。このとき、ニューラルネットワーク２２では、周回動作を所定の個数に分割された場面に分類する。
【００３９】
ニューラルネットワーク２２による周回動作の場面への分類処理についてより詳細に説明する。ニューラルネットワーク２２は、周回動作の場面への分類を場面ベクトルと動作ベクトルとに基づいて行う。場面ベクトルは、車両９０が行うタスクの場面を表す。場面ベクトルは、例えば、制御用センサ９１が出力するセンサ値（例えばスタート地点からの位置（又は距離）、及びスタート地点からの方向）から取得される。一例として、スタート地点を原点とするｘ、ｙ座標を想定した場合、地点ｌにおける場面ベクトルは、（ｌx、y）で表すことが可能である。
【００４０】
他方、動作ベクトルは、走行する車両９０の制御状態を表す。動作ベクトルは、例えば状態検知用センサ９３が出力するセンサ値（例えば速度や加速度、角速度、角加速度等である）から取得される。一例として、ある地点ｌでの動作ベクトルは、当該地点ｌでの速度ｖ、加速度ａを用いて（ｖl、ａl）で表される。
【００４１】
ニューラルネットワーク２２は、場面ベクトル（ｌx、y）に基づいて、タスクを場面に分割し、動作ベクトル（ｖl、ａl）に基づいて、分割した場面ごとに当該場面で学習すべき動作の分類を学習する。これによって、学習装置１は、自身が今どの場面にいるかを判定することで、場面に応じた部分動作を学習することができる。一例としてニューラルネットワーク２２は、場面ベクトルが表す位置に加え、動作ベクトルの変化点に着目することで、車両９０の動作の加速・減速・方向転換等を把握し、当該変化点に基づいて、一連の動作を場面に応じた動作に分類することができる。また、例えばニューラルネットワーク２２は、動作ベクトルの類似度に基づいて、動作の分類を学習することも可能である。
【００４２】
図２に示したコースの例では、タスクは、ア〜オの５つのコースに応じた場面に分割される。各場面に分類される部分動作は例えば以下のとおりである。
場面ア：第１ストレート部分動作（例えば次の第１コーナーに差し掛かる際の減速のタイミングや走行位置等の制御である。）
場面イ：第１コーナー部分動作（例えばコーナーでのハンドル操作や、第２ストレートへ進入するに際した加速のタイミング等の制御である。）
場面ウ：第２ストレート部分動作（例えば次の第２コーナーに差し掛かる際の減速のタイミングや走行位置等の制御である。）
場面エ：第２コーナー部分動作（例えばコーナーでのハンドル操作や、第３ストレートへ進入するに際した加速のタイミング等の制御である。）
場面オ：第３ストレート部分動作（例えば第１ストレートに進入するに際した加速等の制御である。）
【００４３】
なお、ニューラルネットワーク２２は、分割した場面を、進行順に応じて並び替え可能であることが好ましい。
【００４４】
動作分類結果抽出部３２は、ニューラルネットワーク２２が学習した部分動作の分類を抽出し、記憶部４０に記憶させる（Ｓ２０３）。
【００４５】
（２−３．学習続行不能状態に至る制御の学習）
図７は、図３に示したＳ３の学習続行不能状態に至る制御の学習（第２学習）における詳細な処理フローを示すフローチャートである。まず、学習データ入出力部２１は、記憶部４０を参照し、Ｓ２の処理において分類された部分動作のうち、いずれかの部分動作を選択し、当該部分動作に必要なアクチュエータ９２への制御量を抽出する。さらに学習データ入出力部２１は、記憶部４０を参照し抽出した制御量において制御を実行し、その結果、学習続行不能状態に至ったか否かを例えば状態検知用センサ９３からの出力等に基づいて判定する。学習データ入出力部２１は、抽出した制御量とその結果、学習続行不能状態に至ったか否かの情報を学習データとして読み出し、ニューラルネットワーク２２に学習データとして与える。ニューラルネットワーク２２は、与えられた学習データのもと、Ｄｅｅｐ  Ｌｅａｒｎｉｎｇにより学習を行う（Ｓ３０１）。
【００４６】
このとき、学習結果出力部２３は、学習続行不能状態に至る制御の学習結果を出力することが可能である。これによって、ニューラルネットワーク２２は、例えば同様の構成を備える別の学習装置１’から、学習続行不能状態に至った制御を学習データとして受け付けて追加学習を行うことができる（Ｓ３０２）。これによってより効率の良い学習を行うことができる。効率の良い学習とは、例えば学習開始から学習目的達成までに要する時間が短い学習をいう。なお、Ｓ３０２の処理は必須の処理ではない。
【００４７】
学習装置１は、Ｓ３０１（及びＳ３０２）の処理を、分類されたすべての部分動作について実施する（Ｓ３０３）。
【００４８】
必須ではないが、学習装置１は、分類されたすべての部分動作について学習続行不能状態に至る制御を学習した後に、一連の動作を通じて再度学習を行うことも可能である（Ｓ３０４）。これによって、より速い周回制御を行うことが可能になる。
【００４９】
このように、本実施形態に係る学習装置１が、分類された部分動作について、まず学習続行不能状態に至る制御を学習することによって、その後の学習において、当該制御を避けて学習することが可能になる。これによって、より効率的な学習を行うことができる。
【００５０】
（２−４．最適化学習）
図８は、図３に示したＳ４の最適化学習（第３学習）における詳細な処理フローを示すフローチャートである。最適化学習では、Ｓ３までのステップで行った学習の最適化を図ることにより、学習開始時に学習データとして与えられた学習目的（本実施形態においては、「所定時間以内にコースを１０周してゴールする」ことである。）を達成するための学習を行う。最適化学習においては、Ｓ３で学習した学習続行不能状態に至る制御を除外して学習が行われる。このとき、学習データ入出力部２１は、記憶部４０を参照して、学習初期段階（図３のＳ１）において入力された学習データ（オペレータが設定したものである）を抽出する。また、学習データ入出力部２１は、さらに記憶部４０を参照して学習続行不能状態に至る制御を学習した後のニューラルネットワーク２２の状態を抽出する。学習データ入出力部２１は、抽出したこれらのデータを制御部１０に設定する。
【００５１】
制御部１０では、設定された上述のデータに基づいて、アクチュエータ９２に対する制御量を出力し、これに対する制御用センサ９１及び状態検知用センサ９３のセンサ値を取得する。制御部１０は、与えた制御量及び、これに対して出力されたセンサ値を記憶部４０に記憶させる。
【００５２】
ニューラルネットワーク２２は、上記の処理において制御部１０が記憶させた制御量及びセンサ値を読み出して、Ｄｅｅｐ  Ｌｅａｒｎｉｎｇにより学習を行う（Ｓ４０１）。これによってニューラルネットワーク２２は、学習続行不能状態に至る制御を学習した状態で、動作の開始から終了まで（すなわち、コースのスタートからゴールまで）をとおして、学習要件に適応する制御動作をより効率よく学習することができる。学習全体の最適化がなされるまでＳ４０１の処理が繰り返し行われる（Ｓ４０２）。最適化学習の結果は、学習結果出力部２３によって抽出され、記憶部４０に記憶される。これによって、最適化学習では、学習続行不能状態に至る制御を除外して学習を行うことができる。
【００５３】
このように、本実施形態に係る学習装置１によると、学習装置１自身が、学習に係る動作を、部分動作に分類して学習を行うことができる。これによって分類した動作ごとに個別最適化を図ることができるため、より効率よく（すなわち、より短期間で）学習を行うことができる。さらに、本実施形態に係る学習装置１によると、部分動作を学習するに際して、まず学習続行不能状態に至る制御を学習する。これによって、人があらかじめ動作ごとに細かく条件を設定することなく、効率よく学習を行うことができる。
【００５４】
（ハードウェア構成）
図９を参照しながら、上述してきた学習装置１をコンピュータ８００により実現する場合のハードウェア構成の一例を説明する。なお、それぞれの装置の構成は、複数台の装置に分けて実現することもできる。
【００５５】
図９に示すように、コンピュータ８００は、プロセッサ８０１、メモリ８０３、記憶装置８０５、入力インタフェース部（入力Ｉ／Ｆ部）８０７、データインタフェース部（データＩ／Ｆ部）８０９、通信インタフェース部（通信Ｉ／Ｆ部）８１１、及び表示装置８１３を含む。
【００５６】
プロセッサ８０１は、メモリ８０３に記憶されているプログラムを実行することによりコンピュータ８００における様々な処理を制御する。例えば、プロセッサ８０１がメモリ８０３に記憶されているプログラムを実行することで、学習装置１の制御部１０、機械学習部２０、及び動作分類部３０などが実現可能となる。
【００５７】
メモリ８０３は、例えばＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の記憶媒体である。メモリ８０３は、プロセッサ８０１によって実行されるプログラムのプログラムコードや、プログラムの実行時に必要となるデータを一時的に記憶する。
【００５８】
記憶装置８０５は、例えばハードディスクドライブ（ＨＤＤ）やソリッドステートドライブ等の補助記憶装置、フラッシュメモリ等の不揮発性の記憶媒体である。記憶装置８０５は、オペレーティングシステムや、上記各構成を実現するための各種プログラムを記憶する。このようなプログラムやデータは、必要に応じてメモリ８０３にロードされることにより、プロセッサ８０１から参照される。例えば上述の記憶部４０は、記憶装置８０５によって実現される。
【００５９】
入力Ｉ／Ｆ部８０７は、管理者からの入力を受け付けるためのデバイスである。入力Ｉ／Ｆ部８０７の具体例としては、キーボードやマウス、タッチパネル、各種センサ、ウェアラブル・デバイス等が挙げられる。入力Ｉ／Ｆ部８０７は、例えばＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等のインタフェースを介してコンピュータ８００に接続されても良い。
【００６０】
データＩ／Ｆ部８０９は、コンピュータ８００の外部からデータを入力するためのデバイスである。データＩ／Ｆ部８０９の具体例としては、各種記憶媒体に記憶されているデータを読み取るためのドライブ装置等がある。データＩ／Ｆ部８０９は、コンピュータ８００の外部に設けられることも考えられる。その場合、データＩ／Ｆ部８０９は、例えばＵＳＢ等のインタフェースを介してコンピュータ８００へと接続される。
【００６１】
通信Ｉ／Ｆ部８１１は、コンピュータ８００の外部の装置と有線又は無線により、インターネットＮを介したデータ通信を行うためのデバイスである。通信Ｉ／Ｆ部８１１は、コンピュータ８００の外部に設けられることも考えられる。その場合、通信Ｉ／Ｆ部８１１は、例えばＵＳＢ等のインタフェースを介してコンピュータ８００に接続される。
【００６２】
表示装置８１３は、各種情報を表示するためのデバイスである。表示装置８１３の具体例としては、例えば液晶ディスプレイや有機ＥＬ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイ、ウェアラブル・デバイスのディスプレイ等が挙げられる。表示装置８１３は、コンピュータ８００の外部に設けられても良い。その場合、表示装置８１３は、例えばディスプレイケーブル等を介してコンピュータ８００に接続される。
【００６３】
[第２実施形態]
第１実施形態では、学習装置１が自動走行制御車両９０に用いられる例について説明した。しかし、学習装置１が適用される装置は、第１実施形態に示した例に限定されず、種々の装置に適用することができる。本実施形態では、ピックアンドプレース動作を行うことをタスクとする、ロボットの制御に適用する例について説明する。なお、第２実施形態では、第１実施形態との差異点を中心に説明する。
【００６４】
まず、図１０を参照して本実施形態に係るシステム構成について第１実施形態との違いを説明する。学習装置１の構成は第１実施形態と同様である。他方で、学習装置１外の構成について、本実施形態では、制御用センサ９１’は、ピックアンドプレース動作を行うためのセンサ群から構成される。具体的には、ワーク検出センサ（画像センサ）、ロボット把持用力覚センサ等から構成される。また、制御用センサ９１’は、画像認識アルゴリズムを有しており、把持するワークの形状を認識することができる。その他の学習装置１外の構成は第１実施形態と同様である。
【００６５】
次に、本実施形態に係る学習と第１実施形態に係る学習の違いについて説明する。
本実施形態に係るタスクであるピックアンドプレース動作は、以下の手順で行われる動作をいう。
１．ワーク形状を認識して把持する。
２．把持したワークを持ち上げる。
３．ワーク形状に応じた所定の位置へ持ち上げたワークを移動させる。
４．ワーク形状ごとに筒内に積み上げる。
【００６６】
また、本実施形態に係るロボット制御の学習において、与えられる学習目的と学習要件とは次のとおりである。
【００６７】
（学習目的）
・３種類の異なる形状（例えば、円柱ワーク、四角柱ワーク、及び三角柱ワークの３種類である。）をしたワークがバラ積みされたコンテナから、ピックアンドプレース動作により、所定時間以内に、ワーク形状に応じた入口を有する筒（円形、四角形、三角形）に、１０個のワークを積み上げる。
（学習要件）
・所定位置以外にワークを載置しない
・ワーク形状ごとに１０個のワークを筒の中で積み上げる
・初期レベルでは「１個のワークを、適切なワーク形状の筒の中に積む」
【００６８】
本実施形態では、タスクは、ワークを形状に応じた筒に積み上げることである。また、本実施形態では、学習するピックアンドプレース動作は、第１の実施形態において、車両９０が走行するコースに基づいてタスクを場面に分割し、当該場面に基づいて部分動作を分類するのと同様の手順で、当該ピックアンドプレース動作も場面に応じて部分動作に分類処理されてもよい。例えば、本実施形態では、タスクは、タスクの学習中に係る動作の変位量に基づいて、ワークを把持する動作に応じた場面、ワークを運ぶ動作に応じた場面、ワークを積み上げる動作に応じた場面、に分割される。ピックアンドプレース動作は、分割された場面に応じて、部分動作に分類される。
【００６９】
また、本実施形態において、学習続行不能状態とは、例えばワークが筒内に入らなくなる状態をいう。したがって、学習続行不能状態に至る制御の学習段階において、学習される制御は、例えば次のとおりである。
・載置場所を間違える（ワークの形状と筒の入り口の形状が異なる）
・ワークを積み上げる向きを間違える（ワークの形状の向きと筒の形状の向きとが異なる）
【００７０】
本実施形態に係る学習装置１では、上記の学習続行不能状態に至る制御を予め学習することによって、ワーク形状と筒の形状を適切に認識することや、ワークを把持する際の向きについて予め学習することができる。これによって、最終段階の学習では、学習続行不能状態に至ることを避けることができるため、より学習の効率化を図ることができる。すなわち、学習目的達成までに要する時間をより短縮することができる。
その他の構成は第１実施形態と同様である。
【００７１】
以上、本発明の一実施形態について説明した。なお、本実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。また、本発明は、その趣旨を逸脱することなく、変更ないし改良され得るものである。例えば、上述の処理フローにおける各ステップは処理内容に矛盾を生じない範囲で各ステップの一部を省略したり、各処理ステップの順番を任意に変更して又は並列に実行することができる。
【００７２】
上述の実施形態では、本発明に係るシステムを利用して、深層学習などのＡＩ技術によって機械が獲得した能力の管理を行う例について説明したが、本発明はこれに限定されず、幅広い分野に適用することができる。例えば、製品の良品と不良品の識別、食品、機械部品、化学製品、薬品などのさまざまな工業分野、漁業分野、農業分野、林業分野、サービス業、医療や健康分野に適用することができる。また、組込分野の製品にＡＩ技術を適用する場合や社会システム等のＩＴ技術を活用したシステム、ビッグデータの分析、幅広い制御装置における分類処理等に本発明を適用してもよい。
【００７３】
なお、本明細書において、「部」や「手段」、「手順」とは、単に物理的構成を意味するものではなく、その「部」が行う処理をソフトウェアによって実現する場合も含む。また、１つの「部」や「手段」、「手順」や装置が行う処理が２つ以上の物理的構成や装置により実行されても、２つ以上の「部」や「手順」、装置が行う処理が１つの物理的手段や装置により実行されてもよい。
【００７４】
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
（付記１）
少なくとも１つのハードウェアプロセッサを備え、
前記ハードウェアプロセッサは、
学習目的を含む学習データを受け付け、
前記学習データに基づいて、学習を実行し、
前記ニューラルネットワークによる学習結果を出力し、
前記学習を実行することは、
前記学習目的の初期段階を達成するための第１学習を実行し、当該第１学習の結果に基づいて、前記学習に係る動作を続行不能となる状態に至る制御を学習する第２学習を実行し、前記第２学習の結果に基づいて、前記続行不能となる状態に至る制御を除外して前記学習目的を達成するための第３学習を実行することを含む。
（付記２）
少なくとも１つ以上のハードウェアプロセッサによって、
学習を行うステップであって、
学習目的を含む学習データを受け付けるステップと、
前記学習データに基づいて、学習を実行するステップと、
前記ニューラルネットワークによる学習結果を出力するステップと、
を実行し、
前記学習を実行するステップは、
前記学習目的の初期段階を達成するための第１学習を実行し、当該第１学習の結果に基づいて、前記学習に係る動作を続行不能となる状態に至る制御を学習する第２学習を実行し、前記第２学習の結果に基づいて、前記続行不能となる状態に至る制御を除外して前記学習目的を達成するための第３学習を実行する、ステップを含む、学習方法。
【符号の説明】
【００７５】
１  学習装置
１０  制御部
２０  機械学習部
２１  学習データ入出力部
２２  ニューラルネットワーク
２３  学習結果出力部
３０  動作分類部
３１  制御データ抽出部
３２  動作分類結果抽出部
４０  記憶部
９０  自動走行制御車両
９１  制御用センサ
９２  アクチュエータ
９３  状態検知用センサ
【図１】
2018200537.tif 000003
【図２】
2018200537.tif 000004
【図３】
2018200537.tif 000005
【図４】
2018200537.tif 000006
【図５】
2018200537.tif 000007
【図６】
2018200537.tif 000008
【図７】
2018200537.tif 000009
【図８】
2018200537.tif 000010
【図９】
2018200537.tif 000011
【図１０】
2018200537.tif 000012