(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-26
(45)【発行日】2024-07-04
(54)【発明の名称】汎用学習済モデルの生成方法
(51)【国際特許分類】
G06N 20/00 20190101AFI20240627BHJP
【FI】
G06N20/00
(21)【出願番号】P 2023053246
(22)【出願日】2023-03-29
(62)【分割の表示】P 2019202438の分割
【原出願日】2018-12-21
【審査請求日】2023-04-17
(31)【優先権主張番号】P 2017249455
(32)【優先日】2017-12-26
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】517045705
【氏名又は名称】株式会社エイシング
(74)【代理人】
【識別番号】100098899
【氏名又は名称】飯塚 信市
(74)【代理人】
【識別番号】100163865
【氏名又は名称】飯塚 健
(72)【発明者】
【氏名】出澤 純一
(72)【発明者】
【氏名】菅原 志門
【審査官】大倉 崚吾
(56)【参考文献】
【文献】特開2010-020445(JP,A)
【文献】特開2010-009518(JP,A)
【文献】KONECNY, Jakub et al.,"Federated Learning: Strategies for Improving Communication Efficiency",arXiv [online],2017年10月,[2024年04月02日検索],インターネット<URL: https://arxiv.org/abs/1610.05492v2>,1610.05492v2
【文献】ANDRZEJAK, Artur et al.,"Interpretable models from distributed data via merging of decision trees",2013 IEEE Symposium on Computational Intelligence and Data Mining (CIDM) [online],IEEE,2013年09月,[2024年04月02日検索],インターネット<URL: https://ieeexplore.ieee.org/document/6597210>,Electronic ISBN: 978-1-4673-5895-8,DOI: 10.1109/CIDM.2013.6597210
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
ネットワークに接続された各情報処理装置において、各前記情報処理装置に記憶されたデータを用いて機械学習処理を行って情報処理装置毎に学習済モデルを生成する、学習済モデル生成ステップと、
各前記情報処理装置から、各前記学習済モデルを前記ネットワークを介して統合処理サーバへと提供する、学習済モデル提供ステップと、
前記統合処理サーバにおいて、各前記学習済モデルに対して統合処理を行って統合学習済モデルを生成する、統合ステップと、
前記統合学習済モデルを各前記情報処理装置へと提供する、統合学習済モデル提供ステップと、を備え、
前記統合ステップは、さらに、
前記統合処理を行う前に各前記学習済モデルの間で統合の可否に関する判定処理を行う、統合可否判定ステップを備える、方法。
【請求項2】
前記データは、各前記情報処理装置において生成されたデータである、請求項1に記載の方法。
【請求項3】
各前記情報処理装置において、前記統合学習済モデルを各前記情報処理装置に対して適用するか否かは選択可能に構成されている、請求項1に記載の方法。
【請求項4】
各前記情報処理装置における前記機械学習処理は、各前記情報処理装置に記憶されたデータを用いて既存の学習済モデルに対して行われる追加学習処理を含む、請求項1に記載の方法。
【請求項5】
前記統合処理は、統合学習済モデル間の統合も含む多段階の統合処理である、請求項1に記載の方法。
【請求項6】
前記学習済モデルは木構造を有する学習済モデルである、請求項1~
5のいずれか1項に記載の方法。
【請求項7】
複数の情報処理装置と、ネットワークを介して各前記情報処理装置と接続された統合処理サーバと、から成るシステムであって、
各前記情報処理装置は、
前記情報処理装置に記憶されたデータを用いて機械学習処理を行って学習済モデルを生成する、学習済モデル生成部と、
前記学習済モデルを前記ネットワークを介して前記統合処理サーバへと提供する、学習済モデル提供部と、を備え、
前記統合処理サーバは、
提供された各前記学習済モデルに対して統合処理を行って統合学習済モデルを生成する、統合部と、
前記統合学習済モデルを各前記情報処理装置へと提供する、統合学習済モデル提供部と、を備え、
前記統合部は、さらに、
前記統合処理を行う前に各前記学習済モデルの間で統合の可否に関する判定処理を行う、統合可否判定部を備える、システム。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、機械学習技術を利用した動作装置の制御、特に、木構造を有する機械学習器を用いた動作装置の制御に関する。
【背景技術】
【0002】
近年、大量のデータの存在、計算機の演算機能の飛躍的な向上、アルゴリズムの進歩等により機械学習の分野が高い注目を集めている。このような中、木構造を有する新たな機械学習の枠組みが注目されている(特許文献1)。
【0003】
図18は、新たな機械学習の枠組みに係る学習木の基本的構成について示す説明図である。
図18(a)には、当該学習手法における学習木の構造が示されており、
図18(b)には、当該構造に対応する状態空間のイメージが示されている。同図から明らかな通り、学習木構造は、階層的に分割された各状態空間に対応する各ノードを、最上位ノード(始端ノード又は根ノード)から最下端ノード(末端ノード又は葉ノード)まで、樹形状乃至格子状に配置することにより構成されている。なお、同図は、N階層d次元n分割の学習木においてNが2、dが2、nが2の場合の例を示しており、
図18(a)に記載の学習木の1階層目の4つの末端ノードに付された1~4の番号は、それぞれ、
図18(b)に記載の4つの状態空間に対応している。
【0004】
上記学習木を用いて学習処理を行う際には、入力されるデータが、逐次、分割された各状態空間に対応付けられ、それらが各状態空間に蓄積されていくこととなる。このとき、それまでデータが存在しなかった状態空間に新たにデータが入力された場合には、新たなノードが順次生成されていく。一方、予測出力は、新たな入力データに対応するノードへと対応する状態空間に内包される各データからそれぞれ遷移ベクトルを算出し、それらの遷移ベクトルの相加平均を取ることにより算出される。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、近年、工場内のロボットアーム等、様々な動作装置へと機械学習技術を適用しようとする試みがあり、例えば、同一の構成を有する一群の動作装置へと、事前学習を行った学習済モデルを組み込むことがよく行われる。
【0007】
しかしながら、たとえ同一の構成を有する動作装置であっても、個々の動作装置においては、個体差や経年変化等による機械的又は電気的な特性のばらつきが存在し、それにより事前学習済モデルでは全ての動作装置を適切に制御できないおそれがあった。
【0008】
本発明は、上述の技術的背景の下になされたものであり、その目的とするところは、動作装置の個別の特性に対応可能な汎用的学習済モデルを生成するシステム、方法等を提供することにある。
【0009】
本発明のさらに他の目的並びに作用効果については、明細書の以下の記述を参照することにより、当業者であれば容易に理解されるであろう。
【課題を解決するための手段】
【0010】
上述の技術的課題は、以下の構成を有する方法、システムにより解決することができる。
【0011】
本開示に係る汎用学習済モデルの生成方法は、所定の機械学習モデルについて所定の初期データに基づいて学習を行って初期学習済モデルを生成する、初期学習ステップと、所定の動作装置の制御を行う前記初期学習済モデルを複数の前記動作装置へと組み込み、かつ、各前記動作装置を夫々動作させることにより得られた個別の動作データに基づいて夫々追加学習を行って得られた複数の個別学習済モデルを統合処理して汎用学習済モデルを得る、統合ステップと、を備えている。
【0012】
このような構成によれば、初期学習として共通の学習を行った後に、個別の動作装置に合わせて追加学習を行い、それらを統合するので、所定の動作装置の個別の特性にも対応できる汎用的な学習済モデルを生成することができる。また、初期学習を行っているため一定の精度を担保することができるので、動作装置の使用を継続しつつ汎用的な学習済モデルを生成することができる。
【0013】
前記初期学習済モデルの生成は、ネットワークと接続された所定の初期学習サーバにおいて行われ、前記初期学習済モデルの前記動作装置への組み込みは、前記初期学習サーバから前記ネットワークを介して各前記動作装置へとダウンロードすることにより行われる、ものであってもよい。
【0014】
また、前記初期学習済モデルの前記動作装置への組み込みは、前記初期学習済モデルを集積回路へと搭載し、当該集積回路を各前記動作装置へと組み込むことにより行われる、ものであってもよい。
【0015】
前記汎用学習済モデルの生成方法は、さらに、前記汎用学習済モデルを各前記動作装置へと組み込む、再組込ステップ、を含むものであってもよい。
【0016】
前記機械学習モデルは、階層的に分割された状態空間へとそれぞれ対応付けられた複数のノードを階層的に配置することにより構成された木構造を有する学習モデルである、ものであってもよい。
【0017】
前記集積回路は、所定の統合処理サーバとの通信を行う通信部を備え、前記個別学習済モデルは、各前記動作装置から各前記通信部を介して前記統合処理サーバへと送信され、前記統合処理は、前記統合処理サーバにおいて実行される、ものであってもよい。
【0018】
前記初期データは、テスト用の前記動作装置又は前記動作装置のシミュレーションに基づいて生成されたデータであってもよい。
【0019】
前記統合ステップは、さらに、各前記個別学習済モデルに対応する付随情報に基づいて、前記個別学習済モデルを選択的に統合処理する選択的統合ステップを備える、ものであってもよい。
【0020】
また、本開示は、下記のような方法としても観念することができる。すなわち、本開示に係る方法は、所定の機械学習モデルについて所定の初期データに基づいて学習を行って初期学習済モデルを生成する、初期学習ステップと、所定の動作装置の制御を行う前記初期学習済モデルを複数の前記動作装置へと組み込む、組込ステップと、各前記動作装置を夫々動作させることにより得られた個別の動作データに基づいて夫々追加学習を行って複数の個別学習済モデルを生成する追加学習ステップと、各前記個別学習済モデルを統合処理して汎用学習済モデルを得る、統合ステップと、を備えている。
【0021】
さらに、本開示は、システムとしても観念することができる。すなわち、本開示に係るシステムは、所定の機械学習モデルについて所定の初期データに基づいて学習を行って初期学習済モデルを生成する、初期学習部と、所定の動作装置の制御を行う前記初期学習済モデルを複数の前記動作装置へと組み込み、かつ、各前記動作装置を夫々動作させることにより得られた個別の動作データに基づいて夫々追加学習を行って得られた複数の個別学習済モデルを統合処理して汎用学習済モデルを得る、統合部と、を備えている。
【発明の効果】
【0022】
本開示によれば、動作装置の個別の特性にも対応できる汎用的な学習済モデルを生成することができる。
【図面の簡単な説明】
【0023】
【
図1】
図1は、システムの全体構成に関する説明図である。
【
図2】
図2は、情報処理装置の構成に関する説明図である。
【
図3】
図3は、動作装置の構成に関する説明図である。
【
図4】
図4は、汎用学習済モデル生成に関するゼネラルフローチャートである。
【
図5】
図5は、学習処理に関するゼネラルフローチャートである。
【
図6】
図6は、誤差の演算処理に関するフローチャートである。
【
図7】
図7は、動作装置の動作に関するフローチャートである。
【
図8】
図8は、予測処理に関するフローチャートである。
【
図9】
図9は、統合処理に関するフローチャートである。
【
図10】
図10は、統合処理に関する詳細フローチャートである。
【
図11】
図11は、統合処理に関する概念図(その1)である。
【
図12】
図12は、統合処理に関する概念図(その2)である。
【
図13】
図13は、システムの全体構成図である(第2の実施形態)。
【
図14】
図14は、汎用学習済モデル生成に関するゼネラルフローチャートである(第2の実施形態)。
【
図15】
図15は、統合する学習済モデルの選択処理に関するフローチャートである。
【
図16】
図16は、付随情報に基づく統合処理の概念図である。
【
図17】
図17は、付随情報を用いて行われる多段階の統合処理の概念図である。
【
図18】
図18は、学習木の基本的構成に関する説明図である。
【発明を実施するための形態】
【0024】
以下、本発明の実施の一形態を、添付の図面を参照しつつ、詳細に説明する。
【0025】
<1.第1の実施形態>
図1~
図13を参照しつつ、本開示の第1の実施形態について説明する。
【0026】
<1.1 装置構成>
図1~
図3を参照しつつ、本実施形態に係る汎用学習済モデル生成システム5の装置構成について説明する。
【0027】
図1は、本実施形態に係る汎用学習済モデル生成システム5の全体構成に関する説明図である。同図から明らかな通り、汎用学習済モデル生成システム5は、後述の学習処理等の情報処理を行う情報処理装置1と、学習済モデルの統合を行う統合処理サーバ2と、ロボットアーム等の複数の動作装置3とを有し、各装置1~3は互いにインターネットを介して接続されている。なお、後述するように、集積回路4には、情報処理装置1において学習処理がなされた所定の学習済モデルが搭載され、学習済モデル搭載後の集積回路は各動作装置3へと搭載される。
【0028】
図2は、情報処理装置1の概略構成に関する説明図である。同図から明らかな通り、情報処理装置1は、ディスプレイ等を含む表示部11、スピーカ等を介して音声出力を行う音声出力部12、キーボード、マウス等の入力を受け付ける入力部13、CPU等から成る制御部14、動作プログラムや所定のデータの記憶を行うROM、RAM、フラッシュメモリ、ハードディスク等のメモリから成る記憶部15、外部装置との間の通信を行うための通信部1とを有し、それらは互いにシステムバスを介して接続されている。制御部14は、記憶部15からプログラムや所定のデータを読み出して機械学習を含む所定の情報処理を行う。なお、統合処理サーバ2のハードウェア構成も情報処理装置1と略同一であるので、ここでは構成の説明を省略する。
【0029】
図3は、動作装置3の内部に搭載される集積回路4の構成に関する説明図である。同図から明らかな通り、集積回路4は、MPU等から成る制御部41、ROM、RAM等から成る記憶部42、統合処理サーバ2等の外部装置との通信を行うための通信ユニット等から成る通信部43、動作装置3の動作回路等と接続され制御出力を提供する出力部44、外部装置との入出力を行うI/O部45とから構成され、それらは互いにシステムバス等を介して電気的に接続されている。すなわち、制御部41は、記憶部42から読み出した学習済モデルを用いて所定の動作装置3の制御を行うことができる。
【0030】
<1.2 動作>
次に、
図4~
図12を参照しつつ、本実施形態に係る汎用学習済モデル生成システム5の動作について説明する。
【0031】
<1.2.1 初期学習ステップ>
図4は、汎用学習済モデルを生成する方法に関するゼネラルフローチャートである。同図から明らかな通り、処理が開始すると、情報処理装置1において、木構造を有するモデルの学習処理が行われる(S10)。
【0032】
図5は、学習処理(S10)の詳細フローチャートである。同図から明らかな通り、処理が開始すると、まず、初期データの読込みと学習モデルへの入力処理が行われる(S101)。ここで、初期データは、入力データと対応する教師データとから成り、教師データは、実際に動作装置3を動作させることにより得られた実際のデータ群や、物理シミュレータ等によるシミュレーションにより得られたデータ群である。例えば、動作装置3がロボットアームであれば、制御態様に応じて、出力トルクの指令値、角度センサにより得られた実際の関節角度データ、カメラで撮影された手先位置等が教師データとなり得る。学習モデルへの入力処理が完了すると、次に、入力データが属すべき状態空間とその状態空間に対応するノードが特定され、これにより、複数のノード、すなわち、根ノードから末端ノードへと至る一の経路が特定される(S102)。このとき、過去にアクティブとなったことのないノードが当該経路上に存在する場合には、当該位置に新たなノードが生成される。その後、経路上の各ノードについて、各ノードの予測誤差に相当する誤差の演算処理が行われる(S103)。その後、各ノードに関する全てのデータとパラメータをファイルとして保存する処理(S104)が行われて処理は終了する。尚、ここでパラメータとは例えば、学習対象となる値域(学習空間)、すなわち、入出力データの最大値及び最小値、ネットワークの構造(階層数、次元数、分割数)等に関する情報である。
【0033】
図6は、誤差の演算処理(S103)の詳細について示したフローチャートである。処理が開始すると、まず、根ノードが着目ノードとして設定される(S1031)。次に、着目ノードについて、Et+1=(1-α)Et+α|O-O'|の式より誤差の更新処理が行われる(S1032)。ここで、Et+1は更新後の誤差、Etは更新前の誤差、αは忘却係数(0<α<1)を表し、同式から明らかな通り、更新後の誤差Et+1は、更新前の誤差Etと、入力データに基づく予測出力Oと着目ノードに包含されたデータに基づく予測出力O'との差分の絶対値とを、忘却係数αを用いて重み付け加算することにより演算される。すなわち、入力データに基づく予測出力Oと、着目ノードに包含された過去のデータに基づく予測出力O'との差分が小さい程、Et+1は小さくなるので、誤差Et+1が小さい程、予測精度が良いということとなる。更新された誤差Et+1は、当該着目ノードと対応付けられて誤差Eとして記憶部15へと保存される(S1033)。
【0034】
その後、この着目ノードが最下層のノードであるか否かの判定処理が行われ(S1034)、最下層ノードでない場合には着目ノードを1つ下位のノードへと変更する処理が行われる(S1035)。この一連の処理、着目ノードの経路上の1つ下位のノードへの変更処理(S1035)、誤差の更新処理(S1032)、保存処理(S1033)は、最下層ノードへと至るまで(S1034NO)、繰り返し行われる。一方、着目ノードが最下層ノード(末端ノード)へと至った場合(S1034YES)、処理は終了する。すなわち、この一連の処理によれば、経路上のすべてのノードについてそれぞれ予測精度に相当する誤差Eが生成されることとなる。
【0035】
なお、誤差Eの算出手法は上記に限定されない。従って、例えば、着目ノードより下位の経路上に存在するノードを参照する等して得られた誤差等を利用してもよい。
【0036】
<1.2.2 搭載ステップ>
図4に戻り、学習処理が完了すると、学習結果に相当する学習済モデルを集積回路(IC)4へと搭載する処理がなされ、その後、当該集積回路4を各動作装置3へと搭載する処理が行われる(S20)。具体的には、上述の初期データに基づいて学習済の木構造モデルは、制御部41により読み出されて実行可能な態様にて記憶部42へと記憶される。また、学習済モデルはさらに、追加学習が可能な態様にて構成され、各動作装置3において新たなデータが得られた場合には、当該データに基づいてさらなる追加学習を行うことができるよう構成されている。
【0037】
<1.2.3 追加学習ステップ>
動作装置3への搭載処理の完了後、搭載された学習済モデルを用いて実際に動作装置3の制御が行われると共に、当該動作により得られた実際の動作データに基づいて、追加的な学習処理が行われる(S30)。
【0038】
図7は、動作装置3の動作(S30)に関する詳細フローチャートである。同図から明らかな通り、処理が開始すると、学習済モデルを用いた予測処理により動作装置3の動作制御が行われる(S301)。
【0039】
図8は、予測処理(S301)の詳細に関するフローチャートである。同図から明らかな通り、処理が開始すると、まず、動作装置3に関する新たなデータを取得し、当該データを入力データとする(S3011)。次に、当該入力データに基づいて、属すべき状態空間(ノード)が特定され、それにより、複数の一連のノードから成る一の経路が特定される(S3012)。一の経路が特定されると、当該経路上において誤差Eが最小となるノードが特定され(S3013)、当該誤差E最小ノードに対応する各データの遷移ベクトルの相加平均(遷移ベクトルの合成ベクトル)に基づいて、予測出力が生成される(S3014)。この予測出力は出力部44を介して動作装置3の動作回路へと指令値として伝達され、動作装置3はこれに応じて動作する。すなわち、経路上の誤差最小ノードに基づいて予測出力が生成され、これにより、予測精度が比較的良いと見込まれるノードに基づいて予測出力を生成することができる。
【0040】
なお、本実施形態においては、予測出力は、経路上の誤差最小ノードに対応するデータに基づいて生成したが、このような処理に限定されない。従って、例えば、常に末端ノードに対応するデータに基づいて予測出力を生成するような構成としてもよい。
【0041】
図7に戻り、予測処理が終了すると動作装置3の実機動作データが記憶される(S302)。この予測処理(S301)と動作データの記憶処理(S302)を含む一連の処理は、所定の動作終了条件を満たすまで繰り返される(S303NO)。所定の動作終了条件を満たした場合(S303)、一連の動作は終了し、記憶した動作データを教師データとする追加学習処理が行われる(S304)。この追加学習処理は
図2に示した処理(S101~S104)と略同一であるので、ここでは説明を省略する。その後、処理は終了する。
【0042】
図7における動作をより具体的に説明するため、初期状態において関節角度が所定の基準において0度をなしている一関節のロボットアームの関節角度を30度の状態へと移行するタスクを例に説明する。まず、処理が開始して、初期角度(0度)と目標角度(30度)が、それらと出力トルクの指令値との間の関係を学習した学習済モデルへと与えられると、出力トルクの指令値の予測処理が行われ、その予測出力に応じてロボットアームが動作制御される(S301)。動作制御後、ロボットアームに備えられたセンサは、実際の動作データとして角度データを検出する(S302)。その後、ロボットアームの実際の駆動をもってタスクが終了すると動作が終了し(S303YES)、センサから得られた実際の角度値を用いて追加学習処理が行われる(S304)。以上の通り、ロボットアームは、実際の各動作につき追加学習を行い、精度の向上を図るものである。なお、ここでは、初期角度と目標角度を入力として出力トルクを予測する構成としたが、本開示はそのような学習構成に限定されない。従って、他の組み合わせの入出力構成を採用してもよいことは勿論である。
【0043】
<1.2.4 統合処理ステップ>
図4に戻り、各動作装置3における個別の追加学習処理(S30)が終了すると、各動作装置3から追加学習済モデルに関するデータ、すなわち、ノードとパラメータに関するデータをネットワークを介して統合処理サーバ2へと送信する処理が行われる(S40)。統合処理サーバ2は、当該データを受信すると、各追加学習済モデル同士を統合する処理を行う(S50)。
【0044】
図9は、統合処理(S50)に関する詳細フローチャートである。処理が開始すると、学習済モデルを生成する際に生成されたパラメータファイルが、2つの異なる学習済モデルについて、読み出される(S501)。このパラメータファイルに基づいて学習区間が一致又はおよそ一致するか否かを判定し(S502)、一致しない場合には(S502NO)、ユーザに対して図示しないディスプレイなど介して統合を行うことが出来ない旨を通知するエラーメッセージを出力し(S505)、続けて、すべての学習木同士の統合処理が完了したか否かを判定する(S506)。一方、この学習空間が一致又はおよそ一致する場合には、2つの学習済モデルのノードに関するデータファイルの読み出しが行われる(S503)。その後、後述する2つの異なる学習済モデルに係る学習木の統合処理が行われた後(S504)、すべての学習木同士の統合処理が完了したか否かが判定される(S506)。すべての学習木同士の統合処理が完了していないと判定された場合(S506NO)、別の学習木の組み合わせで統合処理がなされる(S506NO)。一方、すべての学習木同士の統合処理が完了したと判定された場合(S506YES)、処理は終了する。なお、ここで、学習空間のおよその一致とは、例えば、一方の学習済モデルに含まれるデータの最大値・最小値に所定割合(例えば、10%程度)の余裕を持たせた範囲内に、他の学習済モデルに含まれるデータの最大値・最小値が含まれることをいう。
【0045】
図10は、統合処理(S504)に関する詳細フローチャートである。処理が開始すると、第1番目のノード位置を着目位置として設定する(S5041)。次に、着目位置において、いずれの学習木においてもノードが存在するかについての判定処理を行う(S5042)。着目位置において、いずれの学習木においてもノードが存在する場合には(S5042YES)、当該2つのノードの統合処理を行う(S5043)。
【0046】
ここで、本実施形態に係るノードの統合処理の態様について説明する。
図12は、ノードの統合処理(S5043)に関する概念図である。
図12(a)は、上方左右の2つの着色されたノードを下方の1つの着色されたノードへと統合する場合の第1の統合例である。同図において、Eは前述の誤差を表し、Cはこれまでに包含したデータ数を表している。上方左側のノードの誤差Eはα(>0)、データ数Cはk(0以上の整数)であり、上方右側のノードの誤差Eはβ(>0)、データ数Cはm(0以上の整数)である。これらのノードを統合する際、各ノードに対応付けられたデータは1つのノードに対応付けられるように統合される。また、統合後の誤差Eは、上述の各誤差αとβとを各データ数k及びmを用いて重み付け加算することにより算出される。さらに、統合後のデータ数Cは各データ数k及びmを足し合わせることにより算出される。
【0047】
このような構成によれば、ノード同士の統合は包含されるデータ数に応じて重み付け加算を行うことにより行われるので、データ数に基づく信頼性に応じた学習関連パラメータの統合を行うことができる。
【0048】
図12(b)は、上方左右の2つの着色されたノードを下方の1つの着色されたノードへと統合する場合の第2の統合例である。上方左側のノードの誤差Eはα(>0)、データ数Cはn(0以上の整数)であり、上方右側のノードの誤差Eは∞、データ数Cは1である。ここで、誤差Eが∞となっているのは、当該ノードに対応付けられたデータ数が未だ1個であり、誤差が定義されていないことから便宜的に付与された値である。これらのノードを統合する際、各ノードに対応付けられたデータは1つのノードに対応付けられるように統合される。また、統合後の誤差Eは、上述の各誤差αと∞とに基づき、αとして算出される。さらに、統合後のデータ数Cは各データ数n及び1を足し合わせることによりn+1として算出される。
【0049】
なお、本実施形態においては、ノードの統合処理を行う上で、各ノードに対応付けられる各データ、誤差E、及びデータ数Cが統合の対象となるものとしたが、統合の対象はこれらのパラメータに限定されるものではない。従って、ノードの統合に際して、ノードへと対応付けられた他のパラメータを統合の対象としてもよいことは勿論である。
【0050】
図10に戻り、ノードの統合処理(S5043)が完了すると、統合後のノードが記憶部へと記憶される(S5044)。その後、全てのノード位置が処理されたか否かの判定処理が行われる(S5045)。
【0051】
一方、着目位置において、いずれの学習木においてもノードが存在する場合でない場合(S5042NO)、次に、いずれか一方の学習木においてノードが存在するか否かの判定処理が行われる(S5047)。いずれの学習木においてもノードが存在しない場合(S5047NO)、その後何らの処理も行わずに、続けてすべてのノード位置が処理されたか否かの判定処理が行われる(S5047NO)。いずれか一方の学習木の着目位置においてノードが存在する場合(S5047YES)、存在する一方の学習木のデータの着目ノード以下のノードを統合後のデータとして複製・保存する(S5048)。その後、全てのノード位置が処理されたか否かの判定処理が行われる(S5045)。
【0052】
このような構成によれば、あるノードが一方の学習済モデルのみに存在する場合には当該ノード以下のノードについても当該一方の学習済モデルにのみに存在することを利用して、効率的な統合処理を行うことができる。
【0053】
すべてのノード位置について処理が行われた場合(S5045YES)、処理は終了する。一方、未だすべてのノード位置について処理が行われていない場合(S5045NO)、着目位置を所定の次のノード位置へと変更設定する処理が行われ(S5046)、再び、ノードの統合処理(S5043)、或いは一方のノードの複製処理(S5048)等が行われる。なお、このとき、上位のノード位置から順に着目位置の設定(深さ優先探索)が行われる。これは、一方の学習木のみにノードが存在する場合に(S5047YES)、着目ノード以下のノードの複製を行うことから(S5048)、上位のノード位置から探索を行った方が効率的なためである。
【0054】
図11は、学習木の統合に関する概念図である。同図から明らかな通り、同図左上の第1の学習木と、同図右上の第2の学習木とを統合すると、同図下段に示されるように、黒色のノードについては統合処理が行われ、一方、白色のノードについては第1の学習木又は第2の学習木のノードが複製されることとなる。
【0055】
このような構成によれば、木構造を基本とした学習モデル同士の統合であるので、ニューラルネットワーク等と比べて容易な統合処理が可能となる。
【0056】
また、このような構成によれば、追加学習を行った多数の動作装置3から統合処理サーバ2へと各個別学習済モデルを集約して統合できるので、その種の動作装置に汎用的に使用できる学習済モデルを生成することができる。
【0057】
<1.2.5 ダウンロードステップ>
図4に戻り、統合処理サーバ2における学習済モデルの統合処理(S50)が終了すると、統合処理サーバ2から統合済モデル(汎用学習済モデル)をネットワークを介して各動作装置3へとダウンロードする処理が行われる(S60)。具体的には、所定期間経過後、動作装置3の所有者等は、図示しないパーソナル・コンピュータ等の情報処理装置へと統合済モデルをダウンロードし、当該情報処理装置からI/O部45を介して当該統合済モデルを各動作装置3へと転送して動作装置3の各記憶部42へと記憶させる。その後、処理は終了する。
【0058】
このような構成によれば、様々な動作装置3の特性を学習した統合済モデルを用いてより精度良く動作装置3の制御を行うことができる。また、動作装置3の所有者は、既に搭載されている学習済モデルを使用するか、又は、統合済モデルを使用するかを選択することもできる。
【0059】
なお、本実施形態においては、動作装置3の所有者等が統合済モデルを図示しないパーソナル・コンピュータ等の情報処理装置へと一旦ダウンロードする構成としたが、本開示はそのような構成に限定されない。従って、例えば、動作装置3の所有者等が動作装置3へとダウンロード指令を行い、それにより、動作装置3が通信部43を介して最新の統合済モデルをダウンロードするような構成としてもよい。
【0060】
<2.第2の実施形態>
次に、
図13~
図16を参照しつつ、本発明の第2の実施形態について説明する。本実施形態においては、学習済モデル同士の統合処理を行う際に種々の付随情報が使用される。
【0061】
図13は、本実施形態に係る汎用学習済モデル生成システム100の全体構成図である。同図から明らかな通り、汎用学習済モデル生成システム100は、第1の情報処理装置101と、第2の情報処理装置102と、情報処理端末103とを、インターネット等のネットワークを介して接続することにより構成されている。各装置は互いに通信を介して情報のやり取りを行う。
【0062】
第1の情報処理装置101は、後述の通り、主に学習処理を担当し、初期学習や学習済モデルの統合処理などを行う。第2の情報処理装置102は、アプリケーションサーバとして機能し、例えば、所定のアプリケーションプログラムの情報処理端末103への提供処理や所定のサーバ側の処理等を担い、また、第1の情報処理装置101及び情報処理端末3と情報の通信を行う。情報処理端末103は、スマートフォンやタブレットコンピュータ等の情報処理装置であり、第2の情報処理端末102から所定のアプリケーションプログラムをダウンロードすることができる。情報処理端末103は、第2の情報処理装置102と協働して、ユーザへと所定のアプリケーションを提供する。情報処理端末103は、Bluetooth(登録商標)等の規格によりペアリング可能なウェアラブル端末104と接続されている。ウェアラブル端末104は血圧、心拍数、体温、歩数等のセンシングを行う種々のセンサを備えており、取得されたセンサ情報は、情報処理端末3へと送信される。なお、各装置の装置構成は、
図2に示した構成と略同一であるのでここでは記載を省略する。
【0063】
ここで、アプリケーションプログラムの内容として種々の例が考え得るものの、本実施形態においては、ウェアラブル端末104から取得された各種のセンサ情報を入力として、ウェアラブル端末104のユーザの所定の病気リスク等を予測するアプリケーションプログラムである。センサから取得された情報には、血圧、心拍数、体温等のバイタルサイン情報と歩数等の活動量情報が含まれる。
【0064】
図14は、本実施形態に係る、汎用学習済モデル生成に関するゼネラルフローチャートである。
【0065】
処理が開始すると、第1の情報処理装置101において、実施形態1と同様の木構造を有する学習モデルを用いて初期学習が行われる(S81)。学習処理の詳細は
図5及び
図6と略同一であるのでその詳細に関する説明は省略する。
【0066】
ただし、本実施形態における学習処理は、血圧、心拍数、体温等のバイタル情報と歩数等の活動量情報を入力とし、実際の様々なユーザの病気情報(各種の数値、診断結果、健康状態に関する評価など)を教師データとして、教師あり学習を行うことにより行われる。すなわち、学習処理により、バイタル情報と活動量情報とに基づいて、ユーザにおいて予測される病気リスク等の病気情報を出力する学習済モデルを得ることができる。
【0067】
第1の情報処理装置101において生成された学習済モデルは、情報処理端末103上で実行されるアプリケーションソフトウェアを介して各情報処理端末103へとダウンロードされる(S82)。なお、アプリケーションサーバとして機能する情報処理端末102からの指令に応じて各情報処理端末103へとダウンロードされてもよい。
【0068】
このとき、情報処理端末103は、アプリケーションプログラムにより、ユーザに関する付随情報の入力を受け付け、内部の記憶部へと記憶している。付随情報とは、例えば、年齢、性別又は住んでいる地域に関する情報等である。
【0069】
その後、各情報処理端末103では、個別に追加学習が行われる(S83)。追加学習処理の詳細は
図7及び
図8に示したものと略同一であるのでその詳細に関する説明は省略する。ただし、本実施形態における追加学習処理においては、実際の動作データとして、アプリケーションソフトウェアを介して入力される各ユーザの実際の病気情報が用いられる。また、動作終了(S303)は、例えば、所定の期間の経過により判定される。
【0070】
所定の期間が経過すると、追加学習済の学習済モデルと当該学習済モデルを送信するユーザに関する付随情報とが、第1の情報処理装置101へと送信される(S84)。
【0071】
追加学習済の学習済モデルと付随情報とを受信すると、第1の情報処理装置101は、付随情報に基づき学習済モデル同士を統合する処理を行う(S85)。
【0072】
統合処理の詳細は
図9~
図12に示したものと略同一であるのでその詳細に関する説明は省略する。ただし、本実施形態における統合処理においては、
図9に示す統合処理の前段に、統合対象となる学習済モデルを選択する処理が行われる。
【0073】
図15は、統合する学習済モデルの選択処理に関するフローチャートである。同図から明らかな通り、処理が開始すると、第1の情報処理装置101は、所定の選択基準と受信した付随情報に応じて統合対象となる学習済モデルを選択する(S851)。ここで、所定の選択基準は、予め第1の情報処理装置101に記憶され又は他の装置や端末により設定された選択基準であり、その内容は、例えば、住んでいる地域情報等であってもよい。すなわち、第1の情報処理装置101は、例えば、住んでいる地域が同一のユーザに係る学習済モデルのみを選択する処理を行う。
【0074】
その後、選択された学習済モデルを適宜統合する処理を行って複数の汎用学習済モデルを得る(S852)。すなわち、各汎用学習済モデルは、同一の地域に居住するユーザに関する学習済モデルをそれぞれ統合したものになる。なお、統合する処理は、
図9に示したものと略同一であるので、その説明は省略する。
【0075】
図16は、付随情報に基づく統合処理(S85)の概念図である。同図においては、木構造を有する複数の学習済モデルが上下2段に配置されている。下段(第1階層)は、各情報処理端末103において個別に追加学習がなされた複数の学習済モデル110-1~110-N(Nは2以上の自然数)である。上段(第2階層)は、下段の学習済モデル110-1~110-Nを統合することにより生成された木構造を有する複数の学習済モデル120-1~120-M(Mは2以上の自然数)である。同図から明らかな通り、例えば、所定の選択基準が住んでいる地域である場合には、同じ地域に住んでいるユーザから得られた下段の複数の学習済モデルに基づいて、複数の学習済モデル同士を統合して上段(第2階層)に示す木構造を有する複数の学習済モデルが生成されることとなる。
【0076】
図14に戻り、統合処理(S85)が終了すると、統合された各学習済モデルを記憶する処理が行われ、処理は終了する(S86)。なお、記憶された各学習済モデルは、その後、各情報処理端末103へとダウンロード可能なように構成されてもよい。また、記憶された各学習済モデルは、第2の情報処理装置へと送信されてもよい。なお、この際、付随情報に応じて対応する学習済モデルをダウンロード可能なように構成してもよい。例えば、自らと同一地域に住んでいる者に適した予測モデル(学習済モデル)をダウンロードするといった構成としてもよい。
【0077】
このような構成によれば、所定の選択基準と付随情報に基づいて、追加学習済モデルを統合するので、付随情報が共通する学習済モデルを統合した汎用学習済モデルを生成することができる。これにより、特定の用途やユーザに適した学習済モデルを生成することができる。
【0078】
<3.変形例>
第1の実施形態においては、動作装置3から追加学習後の学習済モデルを送信することとして説明したが、本開示はそのような構成に限定されない。従って、例えば、動作装置3から動作データを統合処理サーバ2へと送信して統合処理サーバ2において当該動作データを学習することで統合を実現してもよい。
【0079】
上述の実施形態においては、追加学習後の学習済モデルの送信のタイミングについて特段限定していないものの、その送信のタイミングは、ある程度の追加学習が進行した後であってもよいし、逐次的なものであってもよい。
【0080】
上述の実施形態においては、ネットワーク上の統合処理サーバ2へと情報を集約するものとしたが、例えば、ネットワークと接続されたPLC(プログラマブル・ロジック・コントローラ)等に集約してもよい。
【0081】
第1の実施形態においては、動作装置3としてロボットアームを例示したが、このような動作装置に限定されない。従って、例えば、センサ機器、携帯電話、自動車、ドローン、AIスピーカ、船舶、海上フロート、トンネル掘削シールド、建設重機、鉄道、EV、空調、コンプレッサー、工場機械、家庭用ロボット、核融合制御、PLC、通信ゲートウェイ、スマートハウス、ウェアラブル端末、家電、メーター各種(電気水道ガスなど)、ゲーム機等、様々な動作装置に適用可能である。なお、本開示における動作は、装置の機械的な動作のみに限定されるものではなく、例えば、装置における電気的又は電磁的な動作等も含むものである。
【0082】
第1の実施形態においては、事前に学習を行った学習済モデルを集積回路4へと搭載し、当該集積回路4を動作装置3へと組み込みその後に個別に追加学習させる構成としたが、本開示はそのような構成に限定されない。従って、例えば、情報処理装置1上にて事前学習を行って学習済モデルを生成した後、当該学習済モデルを直接又は間接に各動作装置3へとダウンロードし、当該ダウンロードした学習済モデルに基づいて各動作装置3において追加学習を行ってもよい。
【0083】
第1の実施形態においては、情報処理装置1と統合処理サーバ2とは別々の構成として示したが一体であってもよい。また、一部の機能を独立してもよいし、分散的な処理を行ってもよい。
【0084】
第1の実施形態における集積回路4は、FPGA(Field-Programmable Gate Array)等で構成してもよい。
【0085】
第2の実施形態においては、
図16に示したように付随情報に基づく統合処理を2段階で行う構成として説明した。しかしながら、本発明はそのような構成に限定されない。従って、例えば、多段階で統合を行い、そのそれぞれを記憶しておき、情報処理端末103等からのリクエストに応じて適切な統合済の学習済モデルを提供するような構成としてもよい。
【0086】
図17は、付随情報を用いて行われる多段階の統合処理の概念図である。最下段は、個別の情報処理端末103において追加学習することにより得られた学習済モデル130-1~130-Nから成る第1階層130を示している。中段は、直下の階層の学習済モデルを統合処理することにより得られた学習済モデル140-1~140-Mから成る第2階層140を示している。そして、最上段は、直下の階層の学習済モデルを統合処理することにより得られた学習済モデル150-1~150-Lから成る第K階層150を示している。同図に示すように、付随情報に基づいて多段階的な統合処理を行ってもよい。例えば、第2階層では第1階層の学習済モデルを地域情報等に基づいて統合し、第3階層ではより広域な観点で地域情報に基づいて統合処理を行ってもよい。また、その他の階層では、性別や年齢情報等を基準として段階的に統合処理を行ってもよい。
【0087】
このような構成によれば、必要に応じて情報処理端末103や第2の情報処理装置102に対して適切な統合済の学習済モデルを提供することができる。
【0088】
上述の実施形態においては、学習モデルとして木構造を用いた学習モデルを採用したがこのような手法に限定されない。従って、統合可能な他の学習モデルを採用することができる。
【産業上の利用可能性】
【0089】
汎用学習済モデルの生成システムを製造等する産業にて利用可能である。
【符号の説明】
【0090】
1 情報処理装置
2 統合処理サーバ
3 動作装置
4 集積回路
5 汎用学習済モデル生成システム
100 汎用学習済モデル生成システム
101 第1の情報処理装置
102 第2の情報処理装置
103 情報処理端末
104 ウェアラブル端末