(57)【特許請求の範囲】
【請求項１】
複数の学習装置ユニットを含むシステムであって、
各学習装置ユニットは、
入力側に配置された入力側学習装置及び出力側に配置された出力側学習装置のうちの少なくとも一方と、
内部状態を構成する情報を通信する通信手段と、
他の学習装置ユニットにより共有される内部状態を有する中間学習装置であって、前記通信手段を介して他の学習装置ユニットの内部に配置された中間学習装置と内部状態を共有する中間学習装置と、
を具備し、
各学習装置ユニットは、該学習装置ユニットの前記中間学習装置が他の学習装置ユニットの前記中間学習装置と内部状態を共有する前及び共有した後の両方において、前記通信手段を介した通信を行うことなく独立して学習を実行することが可能である、ことを特徴とするシステム。
【請求項２】
各学習装置ユニットの前記中間学習装置は、他の学習装置ユニットから該他の学習装置ユニットの内部に配置された中間学習装置の内部状態を構成する情報を取得することにより、前記他の学習装置ユニットの内部に配置された中間学習装置と内部状態を共有する、請求項１に記載のシステム。
【請求項３】
各学習装置ユニットの前記中間学習装置は、前記中間学習装置の内部状態を構成する情報として、該中間学習装置に入力された入力情報と該入力情報に対応して該中間学習装置により出力された出力情報とのセットを取得する、請求項２に記載のシステム。
【請求項４】
各学習装置ユニットの前記中間学習装置は、当該学習装置ユニット及び他の学習装置ユニットにアクセス可能に設けられた記憶装置から、内部状態を構成する情報を取得することにより、前記他の学習装置ユニットの内部に配置された中間学習装置と内部状態を共有するように設けられる、請求項１に記載のシステム。
【請求項５】
各学習装置ユニットは、当該学習装置ユニットが受信する入力又は前記少なくとも１つの学習装置の内部状態を決定する決定手段をさらに具備し、
各学習装置ユニットの前記中間学習装置は、前記決定手段により決定された前記入力又は前記内部状態に基づいて、前記記憶装置から内部状態を構成する情報を取得する、請求項４に記載のシステム。
【請求項６】
前記内部状態を構成する情報が重みを含む、請求項１〜請求項５のいずれかに記載のシステム。
【請求項７】
各学習装置ユニットが、自動車、産業機器、ロボット、温室制御装置、及び、センサと制御装置とを有する機器、のうちのいずれかに搭載される、請求項１〜６のいずれかに記載のシステム。
【請求項８】
前記入力側学習装置は特徴量抽出器を含む、請求項１〜請求項７のいずれかに記載のシステム。
【請求項９】
前記出力側学習装置は、制御理論に従った制御を実行する装置を含む、請求項１〜請求項８のいずれかに記載のシステム。
【請求項１０】
複数の学習装置ユニットを含むシステムに用いられるコンピュータプログラムであって、
コンピュータを、
各学習装置ユニットに含まれた、
入力側に配置された入力側学習装置及び出力側に配置された出力側学習装置のうちの少なくとも一方、
内部状態を構成する情報を通信する通信手段、及び、
他の学習装置ユニットにより共有される内部状態を有する中間学習装置であって、前記通信手段を介して他の学習装置ユニットの内部に配置された中間学習装置と内部状態を共有する中間学習装置、
として機能させ、
各学習装置ユニットは、該学習装置ユニットの前記中間学習装置が他の学習装置ユニットの前記中間学習装置と内部状態を共有する前及び共有した後の両方において、前記通信手段を介した通信を行うことなく独立に学習を実行することが可能である、ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に記載された技術は、機械学習を用いた学習装置に関する。
【背景技術】
【０００２】
機械学習を用いた学習装置に関連した技術が、特開２０１３−１０６２０２号公報（特許文献１）に開示されている。特許文献１には、機械学習を行う各エージェントが有するモデルと機械学習を行う他のエージェントが有するモデルとが類似する場合にこれらのモデル全体を合成することによって学習効率を向上させる技術が開示されている。なお、特許文献１の開示内容は、引用により本明細書に組み入れられる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１０６２０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
昨今、より効率的な機械学習を行う学習装置が必要とされている。
【課題を解決するための手段】
【０００５】
１つの実施形態に係る学習装置ユニットは、少なくとも１つの学習装置と、他の学習装置ユニットにより共有される内部状態を有する中間学習装置を前記少なくとも１つの学習装置と接続する接続手段と、を具備するものである。
【０００６】
１つの実施形態に係るコンピュータプログラムは、コンピュータを、学習装置ユニットに配置された少なくとも１つの学習装置、及び、他の学習装置ユニットにより共有される内部状態を有する中間学習装置を前記少なくとも１つの学習装置と接続する接続手段、として機能させるものである。
【図面の簡単な説明】
【０００７】
【図１】図１は、本発明の様々な実施形態に係る学習装置ユニットが用いられるシステムの構成例を示す模式図である。
【図２】図２は、ニューロンのモデルを示す模式図である。
【図３】図３は、３層の重みを有するニューラルネットワークを示す模式図である。
【図４】図４は、本発明の第１の実施形態に係る学習装置ユニット１０であってニューラルネットワークを用いてモデル化された学習装置ユニット１０の構成例を概念的に示す模式図である。
【図５】図５は、本発明の第２の実施形態に係る学習装置ユニット１０であってニューラルネットワークを用いてモデル化された学習装置ユニット１０の構成例を概念的に示す模式図である。
【図６】図６は、本発明の第３の実施形態に係る学習装置ユニット１０であってニューラルネットワークを用いてモデル化された学習装置ユニット１０の構成例を概念的に示す模式図である。
【図７】図７は、本発明の様々な実施形態に係る学習装置ユニットが適用される具体的なアプリケーションの概要を示す模式図である。
【図８】図８は、本発明の第１の実施形態に係る学習装置ユニットを適用したアプリケーションの具体例を詳細に説明する模式図である。
【図９】図９は、本発明の第１の実施形態に係る学習装置ユニットを適用したアプリケーションの具体例を詳細に説明する模式図である。
【図１０】図１０は、本発明の第１の実施形態に係る学習装置ユニットを適用したアプリケーションの具体例を詳細に説明する模式図である。
【図１１】図１１は、本発明の第１の実施形態に係る学習装置ユニットを適用したアプリケーションの具体例を詳細に説明する模式図である。
【図１２】図１２は、本発明の第２の実施形態に係る学習装置ユニットを適用したアプリケーションの具体例を詳細に説明する模式図である。
【図１３】図１３は、本発明の第３の実施形態に係る学習装置ユニットを適用したアプリケーションの具体例を詳細に説明する模式図である。
【図１４】図１４は、本発明の実施形態に係る学習装置ユニットに設けられる中間学習装置の変形例を示す模式図である。
【発明を実施するための形態】
【０００８】
以下、本発明の様々な実施形態について適宜図面を参照して説明する。なお、図面において共通する構成要素には同一の参照符号が付されている。
【０００９】
１．システム構成
図１は、本発明の様々な実施形態に係る学習装置ユニットが用いられるシステムの構成例を示す模式図である。図１に示すように、このシステム１は、学習装置ユニット１０−１〜１０−Ｎと、通信回線２０に接続されるサーバ装置３０と、測定装置４０と、出力装置５０と、を含む。学習装置ユニット１０−１〜１０−Ｎ（以下総称して「学習装置ユニット１０」と称することがある。）の各々は、学習装置ユニット１０−１〜１０−Ｎのうちの他の学習装置ユニット及びサーバ装置３０と通信回線２０を介して情報を通信することが可能である。
【００１０】
２．学習装置ユニット１０のハードウェア構成
学習装置ユニット１０−１〜１０−Ｎは、それぞれ、対応する個体（機器）に搭載されるものである。また、学習装置ユニット１０−１〜１０−Ｎには、（図示はされていないが）それぞれ、測定装置４０−１〜４０−Ｎ、及び、出力装置５０−１〜５０−Ｎが接続される。これらの測定装置４０−１〜４０−Ｎ、及び、出力装置５０−１〜５０−Ｎは、対応する個体（機器）に搭載される場合もあるし、別の機器として通信手段を使って接続される場合もある。学習装置ユニット１０は、一実施形態において、機械学習を実行可能な任意の情報処理装置であり、例えば、自動車や航空機、ロボット等の産業機器、化学プラントや施設園芸等の環境制御端末、情報処理サーバ、パーソナルコンピュータ、タブレット、携帯電話機、スマートフォン、携帯情報端末、タッチパッド等を含むが、これらには限られない。
【００１１】
学習装置ユニット１０のハードウェア構成例が図１において参照符号「１０」が付されたブロック内に示されている。学習装置ユニット１０は、図示のとおり、ＣＰＵ１１と、メインメモリ１２と、入力Ｉ／Ｆ１３と、通信Ｉ／Ｆ１４と、外部メモリ１５と、出力Ｉ／Ｆ１８と、を含み、これらの各構成要素が内部バス１７を介して互いに電気的に接続されている。
【００１２】
ＣＰＵ１１は、外部メモリ１５からオペレーティングシステム等の様々なプログラムをメインメモリ１２にロードし、ロードしたプログラムに含まれる命令を実行する。メインメモリ１２は、ＣＰＵ１１が実行するプログラムを格納するために用いられ、例えば、ＤＲＡＭによって構成される。
【００１３】
入力Ｉ／Ｆ１３は、測定機器４０の出力データを取り込む機能を有し、内部バス１７によって、各構成要素と接続される。ここで、測定機器４０の出力である各種測定データは、センサ等で取得した情報、例えば、温度、湿度、位置情報、画像データなどを含み、動画データや温度のある一定間隔で取得された温度データ列など時系列データでもよい。出力Ｉ／Ｆ１８は、内部バス１７を通して各構成要素からデータを受信し、学習装置ユニットの外部にある出力装置５０に出力するものである。ここで、出力装置５０に出力されるデータは、例えばモータを駆動する際の制御情報や、ブザー、制御スイッチ、自動車のアクセルやブレーキ、液晶ディスプレイなどの情報出力装置に対する制御情報などが想定される。
通信Ｉ／Ｆ１４は、ハードウェア、ファームウェア、又は、ＴＣＰ／ＩＰドライバやＰＰＰドライバ等の通信用ソフトウェア又はこれらの組み合わせとして実装され、通信網２０を介して、他の学習装置ユニット１０及びサーバ装置１０と様々な情報を通信することが可能となるように構成される。
外部メモリ１５は、例えば磁気ディスクドライブやフラッシュメモリ等により構成され、オペレーティングシステム等の様々なプログラムを記憶する。
【００１４】
以上の構成を有する一実施形態に係る学習装置ユニット１０は、ＣＰＵ１１が、外部メモリ１５からメインメモリ１２にロードした所定のプログラムを実行することによって、機械学習を行う学習装置ユニットとして機能することができる。例えば、この機械学習を行う学習装置ユニットは、ＣＰＵ１１が様々なプログラムを実行することにより、ニューラルネットワークによりモデル化された複数の学習装置等を含むものとして実現される。
【００１５】
３．ニューラルネットワークによりモデル化された学習装置の概念
まず、モデル化された学習装置に用いられるニューロンのモデルについて図２を参照して説明する。図２は、ニューロンのモデルを示す模式図である。
【００１６】
図２に示すように、ニューロンは、複数の入力ｘ（ここでは一例として入力ｘ１〜入力ｘ３）に対する出力ｙを出力するものである。各入力ｘには、この入力ｘに対応する重みｗが掛けられる。これにより、ニューロンは、次の式により表現される出力ｙを出力する。なお、入力ｘ、出力ｙ及び重みｗは、すべてベクトルである。
【数１】
0005816771.tif 000002
ここで、θはバイアスであり、ｆｋは活性化関数である。
【００１７】
次に、上述したニューロンを組み合わせた３層の重みを有するニューラルネットワークについて、図３を参照して説明する。図３は、３層の重みを有するニューラルネットワークを示す模式図である。
【００１８】
図３に示すように、ニューラルネットワークの左側から複数の入力ｘ（ここでは一例として入力ｘ１〜入力ｘ３）が入力され、右側から結果ｙ（ここでは一例として結果ｙ１〜入力ｙ３）が出力される。
具体的には、入力ｘ１〜入力ｘ３は、３つのニューロンＮ１１〜Ｎ１３の各々に対して対応する重みが掛けられて入力される。これらの入力に掛けられる重みはまとめてｗ１と標記されている。
ニューロンＮ１１〜Ｎ１３は、それぞれ、特徴ベクトルｚ１１〜特徴ベクトルｚ１３を出力する。これらの特徴ベクトルｚ１１〜特徴ベクトルｚ１３はまとめてｚ１と標記されている。この特徴ベクトルｚ１は、重みｗ１と重みｗ２との間の特徴ベクトルである。
特徴ベクトルｚ１１〜特徴ベクトルｚ１３は、２つのニューロンＮ２１、Ｎ２２の各々に対して対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みはまとめてｗ２と標記されている。
ニューロンＮ２１、２２は、それぞれ、特徴ベクトルｚ２１、ｚ２２を出力する。これらの特徴ベクトルｚ２１、ｚ２２は、まとめてｚ２と標記されている。この特徴ベクトルｚ２は、重みｗ２と重みｗ３との間の特徴ベクトルである。
特徴ベクトルｚ２１、ｚ２２は、３つのニューロンＮ３１〜Ｎ３３の各々に対して対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みはまとめてｗ３と標記されている。
最後に、ニューロンＮ３１〜Ｎ３３は、それぞれ、結果ｙ１〜入力ｙ３を出力する。
【００１９】
重みｗ１〜ｗ３は、誤差逆伝搬法（バックプロパゲーション）により学習可能なものである。誤差の情報は、右側から入り左側に流れる。誤差逆伝搬法は、各ニューロンについて、入力ｘが入力されたときの出力ｙと真の出力ｙ（教師）との差分を小さくするように、それぞれの重みを調整（学習）する手法である。
【００２０】
この３層の重みを有するニューラルネットワークは、順次接続された３つの学習装置、すなわち、学習装置Ｄ１〜Ｄ３を含むものとして考えることができるものである。学習装置を結ぶ変数（特徴ベクトルｚ１、ｚ２）は、各学習装置の学習が進むにつれて自動的に最適な表現になる。これらの特徴ベクトルの表現は人間が明示的に与える必要のないものである。また、これらの特徴ベクトルは、学習により自動的に決定されるものであるため、具体的に何を表現しているかを知ることは多くの場合難しいものである。
【００２１】
４．第１の実施形態に係る学習装置ユニット１０の基本的な構成
次に、上記「３」で説明した概念を踏まえて、第１の実施形態に係る学習装置ユニット１０の基本的な構成例について、図４を参照して説明する。
図４は、本発明の第１の実施形態に係る学習装置ユニット１０であってニューラルネットワークを用いてモデル化された学習装置ユニット１０の構成例を概念的に示す模式図である。
【００２２】
個体１に搭載される学習装置ユニット（便宜上「学習装置ユニット１０−１」という。）は、一例として、入力側に配置された入力側学習装置Ｄ１１と、出力側に配置された出力側学習装置Ｄ３１と、を含む。これに代えて、学習装置ユニット１０−１は、入力側学習装置Ｄ１１及び出力側学習装置Ｄ３１のいずれか一方のみを含むものであってもよい。さらに、個体１に搭載される学習装置ユニット１０−１は、例えばサーバ装置３０（図１参照）に配置された中間学習装置Ｄ２を、入力側学習装置Ｄ１１と出力側学習装置Ｄ３１との間に接続する接続機能（図示せず）を含む。なお、学習装置ユニット１０−１が入力側学習装置Ｄ１１及び出力側学習装置Ｄ３１のいずれか一方のみを含む場合には、この接続機能は、中間学習装置Ｄ２をそのように含まれた学習装置に接続する。
同様に、個体２（個体３）に搭載される学習装置ユニット（便宜上「学習装置ユニット１０−２」（「学習装置ユニット１０−３」という。）は、入力側に配置された入力側学習装置Ｄ１２（Ｄ１３）と、出力側に配置された出力側学習装置Ｄ３２（Ｄ３３）と、を含む。これに代えて、学習装置ユニット１０−２（１０−３）は、入力側学習装置Ｄ１２（Ｄ１３）及び出力側学習装置Ｄ３２（Ｄ３３）のいずれか一方のみを含むものであってもよい。さらに、個体２（個体３）に搭載される学習装置ユニット１０−２（１０−３）は、例えばサーバ装置３０に配置された中間学習装置Ｄ２を、入力側学習装置Ｄ１２（Ｄ１３）と出力側学習装置Ｄ３２（Ｄ３３）との間に接続する接続機能（図示せず）を含む。なお、学習装置ユニット１０−２（１０−３）が入力側学習装置Ｄ１２（Ｄ１３）及び出力側学習装置Ｄ３２（Ｄ３３）のいずれか一方のみを含む場合には、この接続機能は、中間学習装置Ｄ２をそのように含まれた学習装置に接続する。
【００２３】
個体１に搭載される学習装置ユニット１０−１に着目すると、入力側学習装置Ｄ１１は、１つの入力に対してそれぞれ対応する重みＷ１１を掛け合わせて対応するニューロンに渡す。これらのニューロンにより出力された特徴ベクトル（の集合）を特徴ベクトルＺ１１として出力する。
【００２４】
この後、接続機能（図示しない）が、入力側学習装置Ｄ１１と出力側学習装置Ｄ３１との間に（入力側学習装置Ｄ１１及び出力側学習装置Ｄ３１のうちいずれか一方しか存在しない場合には、そのように存在する学習装置に）中間学習装置Ｄ２を「接続」する。具体的には、接続機能は、入力側学習装置Ｄ１１により出力された特徴ベクトルＺ１１を、通信回線を介してサーバ装置３０（図１）に送信する。特徴ベクトルＺ１１を受信したサーバ装置３０は、このサーバ装置３０によりニューラルネットワークによりモデル化された中間学習装置Ｄ２に出力する。この中間学習装置Ｄ２は、特徴ベクトルＺ１１にそれぞれ対応する重みＷ２を掛け合わせたものを入力し、出力として特徴ベクトルＺ２を得る。さらに、サーバ装置３０は、このようにして得られた特徴ベクトルＺ２を、通信回線を介して学習装置ユニット１０−１に送信する。特徴ベクトルＺ２を受信した学習装置ユニット１０−１は、この特徴ベクトルＺ２を出力側学習装置Ｄ３１に出力する。このように、サーバ装置３０の中間学習装置Ｄ２に特徴ベクトルＺ１１を送信し、中間学習装置Ｄ２から特徴ベクトルＺ２を受信し、受信した特徴ベクトルＺ２を出力側学習装置Ｄ３１に出力する、という一連の動作が、「接続機能」により行われる「接続」に相当する。この接続機能は、学習装置ユニット１０−１に搭載されたＣＰＵ１１が所定のプログラムを実行することにより実現される機能である。
【００２５】
なお、接続機能がサーバ装置３０と情報（特徴ベクトルＺ１１、Ｚ２）を通信する際には、通信Ｉ／Ｆ１４（図１参照）が用いられる。
【００２６】
出力側学習装置Ｄ３１は、受け取った特徴ベクトルＺ２に対して対応する重みＷ３１を掛け合わせたものを入力して、出力を得る。
【００２７】
以上のような構成は、個体２（個体３）に搭載される学習装置ユニット１０−２（１０−３）も同様に有するものである。
各学習装置ユニットは、それぞれ固有の測定装置および出力装置と接続される。例えば、学習装置ユニット１０−１は、それぞれ固有の測定装置４０−１及び出力装置５０−１と接続される。入力側学習装置に用いられる重み及び出力側学習装置により用いられる重みは、学習装置ユニットに固有のものが用いられる。すなわち、入力側学習装置Ｄ１１〜Ｄ１３は、それぞれ、固有の重みＷ１１〜Ｗ１３を用い、出力側学習装置Ｄ３１〜Ｄ３３は、それぞれ、固有の重みＷ３１〜Ｗ３３を用いる。一方、中間学習装置Ｄ２により用いられる重みＷ２（内部状態を構成する情報）は、すべての学習装置ユニットにより共有される。
【００２８】
図４に示されたモデル化されたネットワークは、全体としては、図３に示されたモデル化されたネットワークと同一の構成を有するものと考えることができるものであるため、図４に示されたネットワークにおいても、通常の誤差逆伝搬法を用いて学習が可能なものである。すなわち、図４に示された矢印とは逆方向に（すなわち、紙面上右側から左側に向かって）誤差が伝搬し、各学習装置に含まれた各ニューロン（に与えられた重み）が学習される。
【００２９】
本実施形態では、各学習装置ユニットがサーバ装置３０により実現される中間学習装置Ｄ２（より具体的には中間学習装置の内部状態）を共有する構成について説明したが、別の実施形態では、各学習装置ユニットが固有の中間学習装置を備える構成を採用することも可能である。この場合には、各学習装置ユニットが備える中間学習装置が、すべての学習装置ユニット間において同一の内部状態（重み）を有するように（すなわち、すべての中間学習装置の内部状態が同一となるように）、各学習装置ユニットが相互に内部状態を構成する情報（重み）を一定の頻度で通信してもよい。すべての中間学習装置が同一の内部状態を有するようにするために、ある特定の学習装置ユニット（例えば最新の内部状態を有する学習装置ユニット）が、その内部状態を構成する情報（重み）を、そのまま他のすべての学習装置ユニットに対して送信してもよいし、ある特定の学習装置ユニット（例えば最新の内部状態を有する学習装置ユニット）が、その内部状態と各学習装置ユニットの内部状態との差分のみをその学習装置ユニットに送信してもよい。さらにまた、各中間学習装置が、その内部状態を構成する情報（重み）を混ぜること（例えば、線形和などの演算処理があるがそれに限らない）によって得られた情報（重み)を用いるようにしてもよい。
【００３０】
５．第２の実施形態に係る学習装置ユニット１０の基本的な構成
次に、第２の実施形態に係る学習装置ユニット１０の基本的な構成例について、図５を参照して説明する。
図５は、本発明の第２の実施形態に係る学習装置ユニット１０であってニューラルネットワークを用いてモデル化された学習装置ユニット１０の構成例を概念的に示す模式図である。以下、上述した第１の実施形態と異なる点のみに着目して説明する。
【００３１】
各個体に搭載される学習装置ユニット、ここでは例えば個体１に搭載される学習装置ユニット１０−１は、入力側に配置された入力側学習装置Ｄ１１と、出力側に配置された出力側学習装置Ｄ３１と、入力側学習装置１１と出力側学習装置Ｄ３１との間に接続された中間学習装置Ｄ２１と、を含む。これに代えて、学習装置ユニット１０−１は、入力側学習装置Ｄ１１及び出力側学習装置Ｄ３１のうちのいずれか一方のみを含むものであってもよい。この中間学習装置Ｄ２１もまた、学習装置ユニット１０−１に搭載されたＣＰＵ１１が所定のプログラムを実行することにより実現される「接続機能」によって、入力側学習装置１１と出力側学習装置Ｄ３１との間（入力側学習装置Ｄ１１及び出力側学習装置Ｄ３１のうちのいずれか一方しか存在しない場合には、そのように存在する学習装置）に接続されたものであるといえる。
【００３２】
本実施形態では、各学習装置ユニットの中間学習装置が同一の内部状態（重み）を有しない場合を扱う。
【００３３】
図５を参照すると、学習装置ユニット１０−１の中間学習装置Ｄ２１と、学習装置ユニット１０−２の中間学習装置Ｄ２２とは、重みを直接的には共有しない。代わりに、一方の学習装置ユニット（例えば学習装置ユニット１０−１）が、中間学習装置Ｄ２１に入力された情報（特徴ベクトルＺ１１）とこれに対応して中間学習装置Ｄ２１から出力された情報（特徴ベクトルＺ２１）とのセットを、他方の学習装置ユニット（例えば学習装置ユニット１０−２）に通信回線を介して送信する。このセットは、学習装置ユニット１０−１の中間学習装置Ｄ２１が重みＷ２１という内部状態を有するという結果を生じさせた情報（この情報も特許請求の範囲に記載された「内部状態を構成する情報」に相当する）に相当する。
【００３４】
上記セットを受信した学習装置ユニット１０−２は、上記セットのうちの特徴ベクトルＺ１１を特徴ベクトルＺ１２とし、上記セットのうちの特徴ベクトルＺ２１を特徴ベクトルＺ２２として、中間学習装置Ｄ２２の重みＷ２２を学習させる。この学習は、通常の誤差逆伝搬法を用いて実行可能である。
【００３５】
このように、学習装置ユニット１０−１と学習装置ユニット１０−２とは、直接的には中間学習装置の重みを共有しないが、間接的には実質的に中間学習装置の重みを共有するといえる。
【００３６】
６．第３の実施形態に係る学習装置ユニット１０の基本的な構成
次に、第３の実施形態に係る学習装置ユニット１０の基本的な構成例について、図６を参照して説明する。
図６は、本発明の第３の実施形態に係る学習装置ユニット１０であってニューラルネットワークを用いてモデル化された学習装置ユニット１０の構成例を概念的に示す模式図である。以下、上述した第１の実施形態及び第２の実施形態と異なる点のみに着目して説明する。
【００３７】
サーバ装置３０（又は少なくとも１つのある特定の学習装置ユニットであってもよい）に備えられたデータベースは、中間学習装置に用いられる重みとして、複数の重み（図６では一例として重み（１）〜（４）が示されている）を格納する。これらの重みは、特定の学習装置ユニット（例えば最も効果的な又は信頼性の高い学習を実行したと思われる学習装置ユニット）の中間学習装置において用いられていた重みの複製であってもよい。
【００３８】
ある個体の学習装置ユニット（ここでは一例として個体１に搭載される学習装置ユニット１０−１）は、通信回線を介して、入力側学習装置Ｄ１１の入力もしくはその内部状態に応じて、サーバ装置３０から重み（１）〜（４）のいずれかの重みに関する情報を受信する。
この学習装置ユニットに配置された中間学習装置が受信した重みを用いて、この学習装置ユニット全体が通常の誤差逆伝搬法に従って学習を行うことにより、入力側学習装置Ｄ１１、中間学習装置Ｄ２１及び出力側学習装置Ｄ３１の各々に含まれた重み（Ｗ１１、Ｗ２１、Ｗ３１）が更新される。
【００３９】
７．上記実施形態に係る学習装置ユニット１０を利用した具体的なアプリケーション例
次に、上記第１の実施形態１〜第３の実施形態に係る学習装置ユニット１０を適用した具体的なアプリケーション例について説明する。
ここでは、説明を分かり易くすることを目的として、各実施形態に係る学習装置ユニットを食品工場等で用いられる製造プロセスに用いた場合について具体的に説明する。具体的には、図７を参照して、ベルトコンベアに載置されて流れてくる丸型のケーキ及び四角型のケーキに対してそれぞれクリーム及びイチゴを乗せる作業を考える。図７は、本発明の様々な実施形態に係る学習装置ユニットが適用される具体的なアプリケーションの概要を示す模式図である。
【００４０】
個体１に搭載された学習装置ユニットは、図７（ａ）に示すように、丸型のケーキにクリームを乗せる作業を扱うものである。個体２に搭載された学習装置ユニットは、図７（ｂ）に示すように、四角型のケーキにイチゴを乗せる作業を扱うものである。
【００４１】
このような作業を実現するに際して、各学習装置ユニットは、ビジョンセンサにより得られた情報を入力として「物品検出」及び「良品／不良品判定」を行う。個体１に搭載された学習装置ユニットは、ケーキが不良品であると判定した場合にはそのケーキをベルトコンベアからはじき、ケーキが良品であると判定した場合にはそのケーキの上にクリームを乗せるものであり、個体２に搭載された学習装置ユニットは、ケーキが不良品であると判定した場合にはラインを止め、ケーキが良品であると判定した場合にはそのケーキの上にイチゴを乗せるものである。
【００４２】
７−１．第１の実施形態に係る学習装置ユニットを用いた場合
図８〜図１１は、本発明の第１の実施形態に係る学習装置ユニットを適用したアプリケーションの具体例を詳細に説明する模式図である。
図８に示した例では、個体として２つの個体（個体１及び個体２）が用いられている。入力は、個体１及び個体２の両方において、それぞれに対応して設けられたビジョンセンサの画像データである。出力は、各個体によって異なっており、具体的には、個体１においては、「不良品をはじく」及び「クリームを乗せる」であり、個体２においては、＠ラインを止める」及び「イチゴを乗せる」である。
【００４３】
まず学習装置１に着目すると、個体１の学習装置ユニットに含まれる入力側学習装置Ｄ１１は、例えば図８にある構成の場合、ビジョンセンサの画像データを入力とし、２次元の特徴ベクトルを出力する。この入力側学習装置Ｄ１１は、学習が収束した後、何らかの物体がベルトコンベアを介して流れてきたことを検出する機能、及び、その物体が正常な丸型の形状を有するものであるか否かを判定する機能を分担できたと仮定する。
個体２の学習装置ユニットに含まれる入力側学習装置Ｄ１２もまた、ビジョンセンサの画像データを入力とし、２次元の特徴ベクトルを出力とする。この入力側学習装置Ｄ１２は、学習が収束した後、何らかの物体がベルトコンベアを介して流れてきたことを検出する機能、及び、その物体が正常な四角型の形状を有するものであるか否かを判定する機能、すなわち、それぞれの学習装置ユニットが接続される測定装置の差異によって異なる処理を分担できるものと仮定する。
【００４４】
次に学習装置２に着目すると、中間学習装置Ｄ２は、入力側学習装置Ｄ１１、Ｄ１２の各出力を入力とし、例えば図８にある構成の場合、２次元の特徴ベクトルを出力とする。この中間学習装置Ｄ２は、学習が収束した後、例外処理（不良品に対する処理）を行うかどうかを判定する結果、及び、正常品に対する次の作業（製造プロセス）を実行するかどうかを判定する結果、すなわち、それぞれの学習装置ユニットが接続される測定装置や出力装置の特性に依存しない一般的な処理、を表現できるものと仮定する。
【００４５】
次に学習装置３に着目すると、個体１の学習装置ユニットに含まれる出力側学習装置Ｄ３１は、中間学習装置Ｄ２の出力を入力とし、「不良品をはじく」及び「クリームを乗せる」を出力とする。個体２の学習装置ユニットに含まれる出力側学習装置Ｄ３２は、中間学習装置Ｄ２の出力を入力とし、「ラインを止める」及び「イチゴを乗せる」を出力とし、すなわち、それぞれの学習装置ユニットが接続される出力装置の差異によって異なる処理を分担できるものと仮定する。
具体的には、不良品については、出力側学習装置Ｄ３１は「不良品をはじく」という指示を示す信号を出力し、出力側学習装置Ｄ３２は「ラインを止める」という指示を示す信号を出力する。正常品については、出力側学習装置Ｄ３１は「クリームを乗せる」という指示を示す信号を出力する。このように各出力側装置に出力された信号は、出力Ｉ／Ｆ１８を介して出力装置５０に送信される。
【００４６】
次に、個体１に搭載された学習装置ユニット１０−１において学習が行われた結果、各ニューロンの重みＷが図９に標記されたようなものとなっていると仮定した場合に、個体１に搭載された学習装置ユニット１０−１が「正しい物体」を検出したときの各学習装置の出力を考える。
【００４７】
図９には、入力側学習装置Ｄ１１の重みＷ１１が省略されているが、物体検出を示す出力については、バイアス（θ）及び活性化関数（ｆｋ）を通した値として「１」が出力されるものとする。一方、「不良品判定」の出力については「０」が出力されるものとする。
【００４８】
中間学習装置Ｄ２では、「作業実行判定」を示す出力として「１」が出力され、「例外処理判定」を示す出力として「０」が出力される。
出力側学習装置Ｄ３１では、「クリームを乗せる」を示す出力として「１」が出力され、「不良品をはじく」を示す出力として「０」が出力される。
【００４９】
このように、正しい物体を検出した場合に「クリームを乗せる」という指示を示す信号が出力されることになる。
【００５０】
次に、図１０を参照して、誤差逆伝搬法を用いて学習装置の重みが更新される動作について説明する。
個体１に搭載された学習装置ユニット１０−１の入力側学習装置Ｄ１１が「正しい物体」を検出したときに出力側学習装置Ｄ３１が「誤った出力を出してしまった」場合を考える。
ここでは、中間学習装置Ｄ２の重みＷ２が図１０に例示したようなものになっていしまっていることに起因して、中間学習装置Ｄ２の出力が期待するものと異なり、その結果、出力側学習装置Ｄ３１の出力も誤ったものになってしまったと仮定する。
【００５１】
この場合、ＣＰＵ１１は、Ｄ３１の出力結果と期待値（教師）との間の誤差を、バックプロパゲーションにより、各学習装置の重みに反映させる。これにより、各学習装置の重みが正しい分布を有するように、学習が行われていく。図１０には、一例として、Ｗ２において、入力側学習装置Ｄ１１の「物体検出」を示す出力に掛け合わせられる２つの重み「０.９」及び「０.１」がそれぞれ「０.３」及び「０.７」に更新される様子が示されている。このように更新された後は、入力側学習装置Ｄ１１が「正しい物体」を検出したときには出力側学習装置Ｄ３１が「クリームを乗せる」という指示を示す信号を出力することは、図９を参照して上述したとおりである。
【００５２】
次に、図１１を参照して、個体２に搭載された学習装置ユニット１０−２による検出動作及び学習について考える。
中間学習装置Ｄ２は、個体１に搭載された学習装置ユニット１０−１により学習された重みＷ２を有している。この重みＷ２（すなわち、中間学習装置Ｄ２の内部状態）は、個体２に搭載された学習装置ユニット１０−２にも共有される。すなわち、極端にいえば、学習装置ユニット１０−２それ自体は、実際に学習を行わなくとも、他の学習装置ユニットにより行われた学習により得られた中間学習装置Ｄ２の内部状態（重み）を利用して、「作業実行判定」及び「例外処理実行判定」を簡単かつ精度良く行うことができる。
なお、図１１は、不良品を検出したときにラインを止めるという動作を行う場合の各学習装置の様子の例を示している。
【００５３】
７−２．第２の実施形態に係る学習装置ユニットを用いた場合
図１２は、本発明の第２の実施形態に係る学習装置ユニットを適用したアプリケーションの具体例を詳細に説明する模式図である。
【００５４】
図５を参照して上述したように、個体１に搭載された学習装置ユニット１０−１の中間学習装置Ｄ２１は、個体２に搭載された学習装置ユニット１０−２の中間学習装置Ｄ２２に入力された情報（特徴ベクトルＺ１２）とこれに対応して中間学習装置Ｄ２２により出力された情報（特徴ベクトルＺ２２）とのセットを共有する。このセットは、中間学習装置Ｄ２２が内部状態（重みＷ２２）を有するという結果を生じさせた情報であるため、学習装置ユニット１０−１がこのセットを用いた学習を実行することによって、中間学習装置Ｄ２１の内部状態は、中間学習装置Ｄ２２の内部状態により近づく可能性がある。したがって、中間学習装置Ｄ２１は、中間学習装置Ｄ２２と間接的に内部状態を共有することができる。
【００５５】
同様に、個体２に搭載された学習装置ユニット１０−２の中間学習装置Ｄ２２は、個体１に搭載された学習装置ユニット１０−１の中間学習装置Ｄ１２に入力された情報（特徴ベクトルＺ１１）とこれに対応して中間学習装置Ｄ１２により出力された情報（特徴ベクトルＺ２１）とのセットを共有する。したがって、中間学習装置Ｄ２２もまた、上述した理由により、中間学習装置Ｄ２１と間接的に内部状態を共有することができる。
【００５６】
７−３．第３の実施形態に係る学習装置ユニットを用いた場合
図１３は、本発明の第３の実施形態に係る学習装置ユニットを適用したアプリケーションの具体例を詳細に説明する模式図である。
【００５７】
図６を参照して上述したように、各学習装置ユニット（例えば個体１に搭載された学習装置ユニット１０−１）の中間学習装置Ｄ２１は、サーバ装置３０等に備えられたデータベース（記憶装置）に格納された複数の重みの中から選択された重み（内部状態）を、通信回線を介して取得する。これにより、中間学習装置Ｄ２１は、入力データ又は入力側学習装置の内部状態に応じて選択された重み（内部状態）を利用することができる。これを実現するために、中間学習装置Ｄ２１又は学習装置ユニット１０−１は、学習装置ユニット１０−１（学習装置ユニット１０−１に含まれた学習装置）が受信する入力、又は、学習装置ユニット１０−１の内部状態（学習装置ユニット１０−１に含まれた学習装置の内部状態）を決定する学習機能（決定手段）を備え、中間学習装置Ｄ２１は、この学習機能により決定された上記入力又は上記内部状態に基づいて、上記記憶装置に格納された複数の重みの中から適切な重み（内部状態）を取得するようにしてもよい。具体的には、学習機能は、予め初期設定された識別方法（決定方法）を用いるだけでなく、例えば、出力側学習装置の出力（学習装置ユニット全体の出力）が期待する出力と異なっていた場合、識別方法への入力を利用してデータベースから何を選択するか、すなわち、識別方法（決定方法）を、それに応じて変えるように学習することができる。学習装置ユニットの内部において学習機能を実行するために用意された学習装置は、学習装置ユニットの出力ベクトルの一部をこの識別のために用いること等により、入力、内部状態、出力及び期待する出力との誤差が与えられ、学習を実行することができる。
【００５８】
以上説明した具体的なアプリケーションは、説明を分かり易くするために用いた単なる一例に過ぎず、各ブロックの入出力データの形
式や意味、及び、各ブロックの処理内容等は、これまで説明してきたものに限定されるものではない。むしろ、個体に依存しない共有すべき情報（中間学習装置に関連した情報）と、個体に依存する情報（入力側学習装置及び出力側学習装置に関連した情報）とは、ユーザが明示的に与えなくとも、学習を進めるにつれて、自動的に分離されるものである。
【００５９】
８．変形例
これまで、説明を簡潔にするために、複数の個体（に搭載される学習装置ユニット）により共有される中間学習装置が１つである場合について説明してきた。しかし、各個体（に搭載される学習装置ユニット）は、同時に複数の中間学習装置を利用してもよい。
例えば、図１４に例示されるように、各個体（に搭載される学習装置ユニット）は、中間学習装置Ｄ２１には、相互に並列に設けられた２つの中間学習装置Ｄ２２、Ｄ２３が、直列に接続されている。一般化すれば、様々な実施形態に係る中間学習装置は、１又は複数の中間学習装置と、これに直列及び／又は並列に接続された１又は複数の中間学習装置と、を少なくとも含むものとすることができる。
各個体に搭載される学習装置ユニットが複数の中間学習装置を共有する一具体例について、先に用いた図８を参照して説明する。これら複数の中間学習装置は、各々、相互に異なる対象範囲を扱う学習装置として設けられ得る。図８に示した中間学習装置Ｄ２に代えて、第１の中間学習装置として、“社会全体”を対象として共有される中間学習装置Ｄ２１が用意され、さらに、この中間学習装置Ｄ２１と後段の出力側学習装置Ｄ３１、Ｄ３２との間に、第２の中間学習装置として、“工場内の個体間”を対象として共有される中間学習装置Ｄ２２が用意される。中間学習装置Ｄ２１では、例えば、他の１００００台の学習装置ユニットにより共有され、より一般的なスキルに基づく演算処理を行い、「例外処理実行判定」及び「作業実行判定処理」を出力として行うとする。一方、中間学習装置Ｄ２２は、ある工場内に配置された他の５０台の学習装置ユニット（個体１が搭載された学習装置ユニット及び個体２が搭載された学習装置ユニットを含む）により共有され、「不良品対応処理」及び「製造継続実行」という出力を行うとする。これにより、この工場における局所的に共有されたスキルを用いて、中間学習装置Ｄ２２は、中間学習装置Ｄ２１から、例外処理実行を要求され作業実行を実行しない、という入力を受けた場合に、不良品対応処理を行うという出力をする。これらの出力が出力側学習装置Ｄ３１に入力される。これにより、「不良品をはじく」等の出力側の特性に沿った学習が出力側学習装置Ｄ３１により行われる。以上例示したように、様々な実施形態に係る中間学習装置は、複数の中間学習装置を適宜含むことが可能である。
【００６０】
以上、様々な実施形態が、ニューラルネットワークを用いた教師あり学習に基づいた学習装置を利用する場合について説明した。この場合には、１つの個体における「一般的な（既知の）」学習の動作及び特徴は、「各個体に対応した教師データ（入出力データの組）を取得及び使用し、入力に対して正しい出力を行うように、学習装置を実現する関数を最適化するように学習を行う」といえる。
しかし、様々な実施形態は、これに限定されるものではない。例えば、自動運転やロボットの制御といったような環境に対して行動を問う問題では、教師あり学習だけでなく強化学習の枠組みも利用可能である。
【００６１】
また、対象とする課題によっては、ニューラルネットワークを用いない機械学習を利用することも可能である。例えば、多くの個体で同一の条件でデータ収集を行い、その入力データの特性が分かっている場合等には、必ずしもニューラルネットワークを用いる必要はない。この場合には、入力側学習装置には、経験的に優れていると知られている特徴量抽出器を使うことができる。中間学習装置では、クラスタリング、次元削減、Dictionary learningなどの教師なし学習アルゴリズムを行い、それは多くの個体の入力を用いて実施する。出力側学習装置は、例えば強化学習であれば、一般的なテーブル型のQ学習や、古典的な制御理論的な制御などを実行する。
なお、ニューラルネットワークを用いた機械学習では、カメラ画像データと速度データなど、次元の異なる複数の形式のデータを使用して１つの学習装置で学習を行うことが可能である。
【００６２】
本明細書で説明される処理及び手順は、実施形態において明示的に説明されたものによってのみならず、ソフトウェア、ハードウェア又はこれらの組み合わせによっても実現可能なものである。具体的には、本明細書で説明された処理及び手順は、集積回路、揮発性メモリ、不揮発性メモリ、磁気ディスク、光ストレージ等の媒体に、当該処理に相当するロジックを実装することによって実現される。また、本明細書で説明された処理及び手順は、それらの処理・手順をコンピュータプログラムとして実装し、各種のコンピュータに実行させることが可能である。
【００６３】
本明細書中で説明される処理及び手順が単一の装置、ソフトウェア、コンポーネント、モジュールによって実行される旨が説明されたとしても、そのような処理又は手順は、複数の装置、複数のソフトウェア、複数のコンポーネント、及び／又は、複数のモジュールによって実行されるものとすることができる。また、本明細書中で説明されるデータ、テーブル又はデータベースが単一のメモリに格納される旨説明されたとしても、そのようなデータ、テーブル又はデータベースは、単一の装置に備えられた複数のメモリ又は複数の装置に分散して配置された複数のメモリに分散して格納されるものとすることができる。さらに、本明細書において説明されるソフトウェア及びハードウェアの要素は、それらをより少ない構成要素に統合して、又は、より多い構成要素に分解することによって実現されるものとすることができる。
【００６４】
９．様々な実施形態に係る学習装置ユニットが適用されるアプリケーションについて
以上、説明を分かり易くするために、様々な実施形態が食品工場で用いられる製造プロセスに適用される場合について説明した。しかし、本明細書において開示された様々な実施形態は、これに限定されるものではなく、様々なアプリケーションに適用可能なものである。例えば、これらの実施形態は、以下に例示的に挙げられる様々なアプリケーションにも適用可能なものである。
（１）自動車
様々な実施形態に係る学習装置ユニットは、自動車に搭載されるカメラ、距離センサ、ＧＰＳなどのセンサ情報を入力とし、運転支援情報の提示や自動運転を行うことを出力とすることができる。この場合、各個体、すなわち、各自動車（各個体に様々な実施形態に係る学習装置ユニットが搭載される）から出力されるセンサ情報等を効率的に活用することができる。
（２）製造業
様々な実施形態に係る学習装置ユニットは、製造に用いられる複数の製造装置・ロボットからの情報を入力とし、これら製造装置・ロボットに与える指示を出力とすることができる。様々な実施形態に係る学習装置ユニットは、例えば、高度なロボット制御の実現や、プロセス最適化、異常の予知等において活用され得る。
（３）農業
様々な実施形態に係る学習装置ユニットは、温室栽培における環境制御に適用可能であり、例えば、温室の外的環境変化に応じた環境制御の実現や、消費エネルギーの最小化、生産品種に応じた栽培方法の共有化等において活用され得る。
（４）センサ・制御装置を有する機器全般
様々な実施形態に係る学習装置ユニットは、複数の機器に適用され、センサ情報の分析結果の提示や機器の制御等において活用され得る。
いずれのアプリケーションにおいても、様々な実施形態に係る学習装置ユニットを用いることによって、従来の手法に比べて、センサ情報の活用にかかる時間的コスト及び精度を改善することができる。
【００６５】
以上説明したように、様々な実施形態では、多くの個体（機器）に搭載された学習装置ユニット（の中間学習装置）の間において共通するスキルを共有する。具体的には、各個体（機器）に搭載された学習装置ユニットは、その個体に固有の情報を学習する学習装置と、他の個体との間で共有できる情報についての学習を行う学習装置と、を含むように構成される。かかる構成を備えた各個体に搭載された学習装置ユニットは、学習を実行する際には、他の個体に搭載された学習装置ユニットで得られた入出力データ及び／又は学習結果（内部状態、何らかのデータを学習装置に入力した場合に得られた出力等を含む）を利用する。
【００６６】
これにより、各個体ごとに独立に大量にデータを貯めて学習を実行する場合に比べて、より短い時間で学習を実行することができる。さらに、各個体について得られたデータを単純に合成する場合（例えば特許文献１に開示された手法）に比べて、精度の低下を抑えつつ学習を実行することができる。
【符号の説明】
【００６７】
１０  学習装置ユニット
１１  ＣＰＵ
１３  入力Ｉ／Ｆ
１４  通信Ｉ／Ｆ
１８  出力Ｉ／Ｆ
２０  通信回線
３０  サーバ装置
４０  測定装置
５０  出力装置
Ｄ１１〜Ｄ１３  入力側学習装置
Ｄ２、Ｄ２１、Ｄ２２  中間学習装置
Ｄ３１〜Ｄ３３  出力側学習装置
【要約】
【課題】            より効率的な機械学習を行う学習装置を提供すること。
【解決手段】        一実施形態に係る学習装置ユニットは、少なくとも１つの学習装置と、他の学習装置ユニットにより共有される内部状態を有する中間学習装置を前記少なくとも１つの学習装置に接続する接続手段と、を具備する。
【選択図】          図４【図１】
0005816771.tif 000003
【図２】
0005816771.tif 000004
【図３】
0005816771.tif 000005
【図４】
0005816771.tif 000006
【図５】
0005816771.tif 000007
【図６】
0005816771.tif 000008
【図７】
0005816771.tif 000009
【図８】
0005816771.tif 000010
【図９】
0005816771.tif 000011
【図１０】
0005816771.tif 000012
【図１１】
0005816771.tif 000013
【図１２】
0005816771.tif 000014
【図１３】
0005816771.tif 000015
【図１４】
0005816771.tif 000016