IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ソフトバンクモバイル株式会社の特許一覧

特許7379742学習実行装置、プログラム、及び学習実行方法
<>
  • 特許-学習実行装置、プログラム、及び学習実行方法 図1
  • 特許-学習実行装置、プログラム、及び学習実行方法 図2
  • 特許-学習実行装置、プログラム、及び学習実行方法 図3
  • 特許-学習実行装置、プログラム、及び学習実行方法 図4
  • 特許-学習実行装置、プログラム、及び学習実行方法 図5
  • 特許-学習実行装置、プログラム、及び学習実行方法 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-06
(45)【発行日】2023-11-14
(54)【発明の名称】学習実行装置、プログラム、及び学習実行方法
(51)【国際特許分類】
   G06N 3/092 20230101AFI20231107BHJP
   G06N 3/126 20230101ALI20231107BHJP
   G06N 3/06 20060101ALI20231107BHJP
【FI】
G06N3/092
G06N3/126
G06N3/06
【請求項の数】 10
(21)【出願番号】P 2023031277
(22)【出願日】2023-03-01
(62)【分割の表示】P 2020121597の分割
【原出願日】2020-07-15
(65)【公開番号】P2023085258
(43)【公開日】2023-06-20
【審査請求日】2023-05-30
【早期審査対象出願】
(73)【特許権者】
【識別番号】501440684
【氏名又は名称】ソフトバンク株式会社
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】石若 裕子
(72)【発明者】
【氏名】吉田 智博
(72)【発明者】
【氏名】伊藤 忠輝
【審査官】三沢 岳志
(56)【参考文献】
【文献】特表2012-516780(JP,A)
【文献】國吉 康夫他,人間的身体性に基づく知能の発生原理解明への構成論的アプローチ,日本ロボット学会誌,28巻4号,日本ロボット学会,2010年09月,pp.415-434
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/092
G06N 3/126
G06N 3/06
(57)【特許請求の範囲】
【請求項1】
筋肉に含まれる複数の筋繊維のそれぞれに対して、筋繊維が速筋であるか遅筋であるかを示す第1パラメータと、収縮可能なエネルギーを示す第2パラメータと、前記第2パラメータの最大値と、自己回復力を示す第3パラメータと、前記第3パラメータの最大値と、前記筋繊維が速筋である場合に、前記筋繊維が収縮する毎に消費されるエネルギー量を示す第4パラメータとを格納する情報格納部と、
前記第1パラメータ、前記第2パラメータ、前記第2パラメータの最大値、前記第3パラメータ、前記第3パラメータの最大値、及び前記第4パラメータを用いた学習を実行することによって、前記筋肉のモデルを学習する学習実行部であって、前記筋繊維が収縮する毎に前記第2パラメータから予め定められた値を減算し、前記第3パラメータが0でない間は、時間経過に伴って前記第2パラメータを回復させ、前記筋繊維が損傷したと判定した後、前記筋繊維が回復したと判定した場合に、前記筋繊維が速筋である場合には、前記第2パラメータの最大値及び前記第4パラメータの値を増加させ、前記筋繊維が遅筋である場合には、前記第3パラメータの最大値を増加させることによって、前記筋肉のモデルを学習する、学習実行部
を備える学習実行装置。
【請求項2】
前記学習実行部は、前記筋繊維が速筋である場合には、前記筋繊維が収縮する毎に前記第2パラメータから前記第4パラメータの値を減算し、前記筋繊維が遅筋である場合には、前記筋繊維が収縮する毎に前記第2パラメータから前記第4パラメータの値以外の値を減算する、請求項に記載の学習実行装置。
【請求項3】
前記学習実行部は、前記筋繊維が損傷したと判定した後、前記筋繊維が回復したと判定した場合において、前記筋繊維が速筋である場合、前記第3パラメータの最大値は増大させない、請求項又はに記載の学習実行装置。
【請求項4】
前記学習実行部は、前記筋繊維が損傷したと判定した後、前記筋繊維が回復したと判定した場合において、前記筋繊維が遅筋である場合、前記第2パラメータの最大値は増大させない、請求項からのいずれか一項に記載の学習実行装置。
【請求項5】
それぞれに運動単位が接続された複数の介在ニューロンの発火パターンに従って、前記運動単位に含まれる運動ニューロンに接続された筋繊維を収縮させることによって筋肉を動作させる筋肉モデルと、前記筋肉モデルに含まれる複数の筋繊維のそれぞれに対して、筋繊維が速筋であるか遅筋であるかを示す第1パラメータと、収縮可能なエネルギーを示す第2パラメータと、前記第2パラメータの最大値と、自己回復力を示す第3パラメータと、前記第3パラメータの最大値と、前記筋繊維が速筋である場合に、前記筋繊維が収縮する毎に消費されるエネルギー量を示す第4パラメータとを格納する情報格納部と、
前記筋肉モデルの目標動作を設定する動作設定部
前記第1パラメータ、前記第2パラメータ、前記第2パラメータの最大値、前記第3パラメータ、前記第3パラメータの最大値、及び前記第4パラメータを用いた学習を実行する学習実行部であって、複数の発火パターンのうち、前記筋肉モデルの動作が前記目標動作により近い発火パターンに報酬を与える学習を実行することによって、前記目標動作を実現する発火パターンを学習し、前記発火パターンに基づいて前記筋肉モデルを動作させた場合に、前記筋繊維を収縮させた前記運動単位を成長させる、学習実行部と
を備え、
前記筋肉モデルは、速筋の運動単位と、遅筋の運動単位とを含み、
前記学習実行部は、前記発火パターンに基づいて前記筋肉モデルを動作させた場合に、前記速筋の運動単位と前記遅筋の運動単位とを異なる基準に従って成長させる、
学習実行装置。
【請求項6】
前記学習実行部は、前記発火パターンに基づいて前記筋肉モデルを動作させた場合において、前記運動単位が速筋である場合、前記第2パラメータ及び前記第4パラメータを増加させ、前記運動単位が遅筋である場合、前記第2パラメータを増加させることによって、前記速筋の運動単位と前記遅筋の運動単位とを異なる基準に従って成長させる、請求項5に記載の学習実行装置。
【請求項7】
前記情報格納部は、前記運動単位が使用されるたびに増加するパラメータである第5パラメータをさらに格納し、
前記学習実行部は、前記第5パラメータの増加に伴って、前記運動単位のレベルを向上させ、
前記学習実行部は、前記運動単位のレベルが高いほど、前記運動単位が速筋である場合の前記第2パラメータ及び前記第4パラメータを増加しにくくし、前記運動単位が遅筋である場合の前記第2パラメータを増加しにくくする、請求項6に記載の学習実行装置。
【請求項8】
コンピュータを、請求項1から7のいずれか一項に記載の学習実行装置として機能させるためのプログラム。
【請求項9】
コンピュータによって実行される学習方法であって、
筋肉に含まれる複数の筋繊維のそれぞれに対して、筋繊維が速筋であるか遅筋であるかを示す第1パラメータと、収縮可能なエネルギーを示す第2パラメータと、前記第2パラメータの最大値と、自己回復力を示す第3パラメータと、前記第3パラメータの最大値と、前記筋繊維が速筋である場合に、前記筋繊維が収縮する毎に消費されるエネルギー量を示す第4パラメータとを格納する格納ステップと、
前記第1パラメータ、前記第2パラメータ、前記第2パラメータの最大値、前記第3パラメータ、前記第3パラメータの最大値、及び前記第4パラメータを用いた学習を実行することによって、前記筋肉のモデルを学習する学習実行ステップであって、前記筋繊維が収縮する毎に前記第2パラメータから予め定められた値を減算し、前記第3パラメータが0でない間は、時間経過に伴って前記第2パラメータを回復させ、前記筋繊維が損傷したと判定した後、前記筋繊維が回復したと判定した場合に、前記筋繊維が速筋である場合には、前記第2パラメータの最大値及び前記第4パラメータの値を増加させ、前記筋繊維が遅筋である場合には、前記第3パラメータの最大値を増加させることによって、前記筋肉のモデルを学習する、学習ステップ
を備える学習実行方法。
【請求項10】
コンピュータによって実行される学習方法であって、
それぞれに運動単位が接続された複数の介在ニューロンの発火パターンに従って、前記運動単位に含まれる運動ニューロンに接続された筋繊維を収縮させることによって筋肉を動作させる筋肉モデルと、前記筋肉モデルに含まれる複数の筋繊維のそれぞれに対して、筋繊維が速筋であるか遅筋であるかを示す第1パラメータと、収縮可能なエネルギーを示す第2パラメータと、前記第2パラメータの最大値と、自己回復力を示す第3パラメータと、前記第3パラメータの最大値と、前記筋繊維が速筋である場合に、前記筋繊維が収縮する毎に消費されるエネルギー量を示す第4パラメータとを格納する格納ステップと、
前記筋肉モデルの目標動作を設定する動作設定ステップと、
前記第1パラメータ、前記第2パラメータ、前記第2パラメータの最大値、前記第3パラメータ、前記第3パラメータの最大値、及び前記第4パラメータを用いた学習を実行する学習実行ステップであって、複数の発火パターンのうち、前記筋肉モデルの動作が前記目標動作により近い発火パターンに報酬を与える学習を実行することによって、前記目標動作を実現する発火パターンを学習し、前記発火パターンに基づいて前記筋肉モデルを動作させた場合に、前記筋繊維を収縮させた前記運動単位を成長させる、学習実行ステップと
を備え、
前記筋肉モデルは、速筋の運動単位と、遅筋の運動単位とを含み、
前記学習実行ステップは、前記発火パターンに基づいて前記筋肉モデルを動作させた場合に、前記速筋の運動単位と前記遅筋の運動単位とを異なる基準に従って成長させる、学習実行方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習実行装置、プログラム、及び学習実行方法に関する。
【背景技術】
【0002】
CG(Computer Graphics)の分野において、筋収縮に基づくシミュレーション手法が知られていた(例えば、非特許文献1~非特許文献6、参照)。従来のシミュレーション手法では、いわゆるヒルタイプモデル及びいわゆるCPG(Central Pattern Generator)等が用いられていた。
[先行技術文献]
[非特許文献]
[非特許文献1]Thomas Geitenbeek, Michiel van de Panne, A. F. v. d. s. Flexible muscle-based locomotion for bipedal creatures. ACM Transactions on Graphics, (206), 2013.
[非特許文献2]Jack M.Wang, Samuel R.Hmner, S. L. V. K. Optimizing locomotion controllers using biologically-based actuators and objectives. ACM Trans. Graph, 31(4), 2012.
[非特許文献3]Yoonsang Lee, Moon Seok Park, T. K. J. L. Locomotion control for many-muscle humanoids. ACM Transactions on Graphics, 33(6), 2014.
[非特許文献4]Sehee Min, Jungdam Won, S. L. J. P. J. L. Softcon: simulation and control of soft-bodied animals with biomimetic actuators. ACM Transactions on Graphics, 38(6):208:1-208:12, 2019.
[非特許文献5]Cecila Laschi, Matteo Cianchetti, B. M. L. m. M. F. P. D. Soft robot arm inspired by the octopus. Advanced Robotics, 26(7):709-727, 2012.
[非特許文献6]Jungdam Won, Jongho Park, K. K. J. L. How to train your dragon: Example-guided control of flapping flight. ACM Transactions on Graphics, 36(4):1:1-1:12, 2017.
【発明の概要】
【0003】
本発明の第1の態様によれば、学習実行装置が提供される。学習実行装置は、それぞれに運動単位が接続された複数の介在ニューロンの発火パターンに従って、運動単位に含まれる運動ニューロンに接続された筋繊維を収縮させることによって筋肉を動作させる筋肉モデルを格納する格納部を備えてよい。学習実行装置は、筋肉モデルの目標動作を設定する動作設定部を備えてよい。学習実行装置は、発火パターンを学習する学習実行部であって、複数の発火パターンのうち、筋肉モデルの動作が目標動作により近い発火パターンに報酬を与える学習を実行することによって、目標動作を実現する発火パターンを学習する学習実行部を備えてよい。
【0004】
上記学習実行部は、上記複数の発火パターンのそれぞれに従って上記筋肉モデルを動作させ、上記筋肉モデルの動作が上記目標動作により近い発火パターンに基づいて複数の発火パターンを発生させ、当該複数の発火パターンのそれぞれに従って上記筋肉モデルを動作させ、上記筋肉モデルの動作が上記目標動作により近い発火パターンに基づいて複数の発火パターンを発生させることを繰り返すことによって、上記目標動作を実現する発火パターンを学習してよい。上記学習実行部は、ランダムに発生させた上記複数の発火パターンのそれぞれに従って上記筋肉モデルを動作させ、上記筋肉モデルの動作が上記目標動作により近い発火パターンに基づいて複数の発火パターンを発生させ、当該複数の発火パターンのそれぞれに従って上記筋肉モデルを動作させ、上記筋肉モデルの動作が上記目標動作により近い発火パターンに基づいて複数の発火パターンを発生させることを繰り返すことによって、上記目標動作を実現する発火パターンを学習してよい。上記学習実行部は、学習済みの発火パターンに基づいて発生させた上記複数の発火パターンのそれぞれに従って上記筋肉モデルを動作させ、上記筋肉モデルの動作が上記目標動作により近い発火パターンに基づいて複数の発火パターンを発生させ、当該複数の発火パターンのそれぞれに従って上記筋肉モデルを動作させ、上記筋肉モデルの動作が上記目標動作により近い発火パターンに基づいて複数の発火パターンを発生させることを繰り返すことによって、上記目標動作を実現する発火パターンを学習してよい。上記学習実行部は、上記発火パターンに基づいて上記筋肉モデルを動作させた場合に、上記筋繊維を収縮させた上記運動単位を成長させてよい。上記筋肉モデルは、速筋の運動単位と、遅筋の運動単位とを含んでよく、上記学習実行部は、上記発火パターンに基づいて上記筋肉モデルを動作させた場合に、上記速筋の運動単位と上記遅筋の運動単位とを異なる基準に従って成長させてよい。上記情報格納部は、上記運動単位に対して、速筋であるか遅筋であるかを示す第1パラメータと、収縮可能なエネルギーを示す第2パラメータと、上記第2パラメータの最大値と、自己回復力を示す第3パラメータと、上記第3パラメータの最大値とを格納してよく、上記学習実行部は、上記第1パラメータ、上記第2パラメータ、上記第2パラメータの最大値、上記第3パラメータ、及び上記第3パラメータの最大値を用いた学習を実行してよい。上記学習実行部は、上記運動単位が収縮する毎に上記第2パラメータから予め定められた値を減算し、上記第3パラメータが0でない間は、時間経過に伴って上記第2パラメータを回復させてよい。上記情報格納部は、上記運動単位が速筋である場合に、上記運動単位が収縮する毎に消費されるエネルギー量を示す第4パラメータを格納し、上記学習実行部は、上記第1パラメータ、上記第2パラメータ、上記第2パラメータの最大値、上記第3パラメータ、上記第3パラメータの最大値、及び上記第4パラメータを用いた学習を実行してよい。上記学習実行部は、上記運動単位が速筋である場合には、上記運動単位が収縮する毎に上記第2パラメータから上記第4パラメータの値を減算し、上記運動単位が遅筋である場合には、上記運動単位が収縮する毎に上記第2パラメータから上記第4パラメータの値以外の値を減算してよい。上記学習実行部は、上記筋繊維が損傷したと判定した後、上記筋繊維が回復したと判定した場合に、上記運動単位が速筋である場合には、上記第2パラメータの最大値及び上記第4パラメータの値を増加させ、上記運動単位が遅筋である場合には、上記第3パラメータの最大値を増加させてよい。上記学習実行部は、上記筋繊維が損傷したと判定した後、上記筋繊維が回復したと判定した場合において、上記運動単位が速筋である場合、上記第3パラメータの最大値は増大させなくてよい。上記学習実行部は、上記筋繊維が損傷したと判定した後、上記筋繊維が回復したと判定した場合において、上記運動単位が遅筋である場合、上記第2パラメータの最大値は増大させなくてよい。上記学習実行部は、上記第2パラメータが0になった場合に、上記筋繊維が損傷したと判定してよい。上記情報格納部は、上記運動単位に対して、上記運動単位の使用に関連する第5パラメータを格納してよく、上記学習実行部は、上記第5パラメータの増加に伴って上記運動単位のレベルを向上させ、上記運動単位のレベルが高いほど、上記運動単位が速筋である場合の上記第2パラメータの最大値及び上記第4パラメータの値を増加しにくくし、上記運動単位が遅筋である場合の上記第3パラメータの最大値を増加しにくくしてよい。上記学習実行部は、一の運動単位を収縮させた後、予め定められた不応期を経過するまで、当該一の運動単位が収縮できないようにして、上記発火パターンを学習してよい。上記学習実行部は、上記運動単位の温度が高いほど上記不応期を短くして、上記発火パターンを学習してよい。上記学習実行部は、時系列の上記複数の発火パターンに従って動作させた上記筋肉モデルの動作が上記目標動作を達成した場合に、上記目標動作を達成した状態の発火パターンから予め定められた時間遡った状態の発火パターンを更新することによって、上記学習を実行してよい。
【0005】
本発明の第2の態様によれば、学習実行装置が提供される。学習実行装置は、筋肉に含まれる複数の筋繊維のそれぞれに対して、筋繊維が速筋であるか遅筋であるかを示す第1パラメータと、収縮可能なエネルギーを示す第2パラメータと、第2パラメータの最大値と、自己回復力を示す第3パラメータと、第3パラメータの最大値とを格納する情報格納部を備えてよい。学習実行装置は、上記第1パラメータ、上記第2パラメータ、上記第2パラメータの最大値、上記第3パラメータ、及び上記第3パラメータの最大値を用いた学習を実行することによって、筋肉のモデルを学習する学習実行部を備えてよい。
【0006】
上記情報格納部は、上記筋繊維が速筋である場合に、上記筋繊維が収縮する毎に消費されるエネルギー量を示す第4パラメータを格納してよく、上記学習実行部は、上記第1パラメータ、上記第2パラメータ、上記第2パラメータの最大値、上記第3パラメータ、上記第3パラメータの最大値、及び上記第4パラメータを用いた学習を実行してよい。上記学習実行部は、上記筋繊維が収縮する毎に上記第2パラメータから予め定められた値を減算し、上記第3パラメータが0でない間は、時間経過に伴って上記第2パラメータを回復させ、上記筋繊維が損傷したと判定した後、上記筋繊維が回復したと判定した場合に、上記筋繊維が速筋である場合には、上記第2パラメータの最大値及び上記第4パラメータの値を増加させ、上記筋繊維が遅筋である場合には、上記第3パラメータの最大値を増加させることによって、上記筋肉のモデルを学習してよい。上記学習実行部は、上記筋繊維が速筋である場合には、上記筋繊維が収縮する毎に上記第2パラメータから上記第4パラメータの値を減算し、上記筋繊維が遅筋である場合には、上記筋繊維が収縮する毎に上記第2パラメータから上記第4パラメータの値以外の値を減算してよい。上記学習実行部は、上記筋繊維が損傷したと判定した後、上記筋繊維が回復したと判定した場合において、上記筋繊維が速筋である場合、上記第3パラメータの最大値は増大させなくてよい。上記学習実行部は、上記筋繊維が損傷したと判定した後、上記筋繊維が回復したと判定した場合において、上記筋繊維が遅筋である場合、上記第2パラメータの最大値は増大させなくてよい。
【0007】
本発明の第3の態様によれば、コンピュータを、上記学習実行装置として機能させるためのプログラムが提供される。
【0008】
本発明の第4の態様によれば、コンピュータによって実行される学習実行方法が提供される。学習実行方法は、それぞれに運動単位が接続された複数の介在ニューロンの発火パターンに従って、運動単位に含まれる運動ニューロンに接続された筋繊維を収縮させることによって筋肉を動作させる筋肉モデルの目標動作を設定する動作設定ステップを備えてよい。学習実行方法は、複数の発火パターンのうち、筋肉モデルの動作が目標動作により近い発火パターンに報酬を与える学習を実行することによって、目標動作を実現する発火パターンを学習する学習実行ステップを備えてよい。
【0009】
本発明の第5の態様によれば、コンピュータによって実行される学習実行方法が提供される。学習実行方法は、筋肉に含まれる複数の筋繊維のそれぞれに対して、筋繊維が速筋であるか遅筋であるかを示す第1パラメータと、収縮可能なエネルギーを示す第2パラメータと、第2パラメータの最大値と、自己回復力を示す第3パラメータと、第3パラメータの最大値とを格納する格納ステップを備えてよい。学習実行方法は、第1パラメータ、第2パラメータ、第2パラメータの最大値、第3パラメータ、及び第3パラメータの最大値を用いた学習を実行することによって、筋肉のモデルを学習する学習実行ステップを備えてよい。
【0010】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0011】
図1】学習実行装置100の一例を概略的に示す。
図2】筋肉モデル300の一例を概略的に示す。
図3】発火パターン400の一例を概略的に示す。
図4】学習実行装置100の機能構成の一例を概略的に示す。
図5】筋肉モデル300の具体例を概略的に示す。
図6】学習実行装置100として機能するコンピュータ1200のハードウェア構成の一例を概略的に示す。
【発明を実施するための形態】
【0012】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0013】
図1は、学習実行装置100の一例を概略的に示す。学習実行装置100は、筋肉の動きをモデル化した筋肉モデルに目標動作を実行させるための学習を実行する。
【0014】
筋肉モデルは、例えば、人の一部の筋肉に対応する。筋肉モデルは、人の全部の筋肉に対応してもよい。筋肉モデルは、人に限らず、筋肉を有する任意の生物に対応してもよい。また、筋肉モデルは、CGのキャラクタ等に対応してもよい。
【0015】
本実施形態に係る学習実行装置100は、例えば、それぞれに運動単位が接続された複数の介在ニューロンの発火パターンに従って、運動単位に含まれる運動ニューロンに接続された筋繊維を収縮させることによって筋肉を動作させる筋肉モデルを格納する。介在ニューロンは、インターニューロンと呼ばれる場合もある。運動ニューロンは、モーターニューロンと呼ばれる場合もある。運動単位は、モーターユニットと呼ばれる場合もある。
【0016】
学習実行装置100は、筋肉モデルが目標動作を実現する発火パターンを学習する。学習実行装置100は、例えば、ランダムに発生させた複数の発火パターンのうち、筋肉モデルの動作が目標動作に近い発火パターンに報酬を与える学習を実行することによって、発火パターンを学習する。
【0017】
従来の筋収縮に基づくシミュレーション手法として、ヒルタイプモデル及びCPG等が知られている。従来手法では、パラメータを人手で設定して運動をシミュレーションしていた。従来手法では、筋肉モデルに異なる動作を実行させようとした場合に、すべて人手でパラメータを設定する必要があった。それに対して、本実施形態に係る学習実行装置100によれば、目標動作を実現可能な発火パターンを自動的に学習できるので、動作の種類毎に個別にパラメータを設定する必要をなくすことができる。
【0018】
学習実行装置100は、学習を進める中で、発火パターンに基づいて筋肉モデルを動作させた場合に、筋肉モデルの筋肉を成長させてもよい。学習実行装置100は、例えば、発火パターンに基づいて筋肉モデルを動作させた場合に、筋繊維を収縮させた運動単位を成長させる。従来手法においては、パラメータの設定次第では、実際の筋肉の動きとは異なる動きを実現してしまう場合があった。それに対して、本実施形態に係る学習実行装置100は、筋肉の成長をも考慮することによって、よりリアルな動きを実現可能にできる。
【0019】
学習実行装置100は、様々な分野に適用されてよい。学習実行装置100は、例えば、CGのキャラクタに任意の動作を実現させる発火パターンを学習し、任意の動作を実行するキャラクタのCGアニメーションを生成する。
【0020】
従来は、キャラクタに任意の動作を実行させるためにアニメーションを作り込む必要があったが、本実施形態に係る学習実行装置100によれば、例えば、筋肉モデルの筋肉を成長させつつ、目標動作を実行するように介在ニューロンの発火パターンを学習することによって、自動的に任意の動作を実行するキャラクタのCGアニメーションを生成することができる。例えば、目標動作としてダンスの動作を設定すると、キャラクタが当該ダンスを実行するCGアニメーションを自動的に生成することができる。本実施形態に係る学習実行装置100によれば、介在ニューロンからの発火パターンを学習し、実際の生物と同じ制御系統の動きを実現することによって、リアルな動きを実現することができる。
【0021】
また、従来技術では、例えば、8頭身の人間のダンスの動きを、3頭身のキャラクタに実行させるような場合に、動きの対応がとれずに不自然な動きになってしまう場合があった。それに対して、本実施形態に係る学習実行装置100によれば、3頭身のキャラクタの筋肉の構造及び成長を考慮した学習を実行することによって、3頭身のキャラクタに、自然な動きを実現させることができる。
【0022】
学習実行装置100は、例えば、生成したCGアニメーションを、学習実行装置100が備えるディスプレイに表示させる。また、学習実行装置100は、例えば、生成したCGアニメーションを、ネットワーク20を介して通信端末200に送信することによって、通信端末200に表示させてもよい。
【0023】
通信端末200は、PC(Personal Computer)、タブレット端末、及びスマートフォン等であってよい。学習実行装置100と通信端末200とは、ネットワーク20を介して通信してよい。ネットワーク20は、インターネットを含んでよい。ネットワーク20は、LAN(Local Area Network)を含んでよい。ネットワーク20は、移動体通信ネットワークを含んでよい。移動体通信ネットワークは、3G(3rd Generation)通信方式、LTE(Long Term Evolution)通信方式、5G(5th Generation)通信方式、及び6G(6th Generation)通信方式以降の通信方式のいずれに準拠していてもよい。
【0024】
また、学習実行装置100は、例えば、リハビリテーションの分野に適用されてもよい。学習実行装置100は、例えば、歩行のリハビリを実施する実施者の筋肉モデルを登録するとともに、目標動作として歩行を登録する。そして、介在ニューロンの発火パターンのン学習を進め、歩行ができるようになるまでの動作及び筋肉の成長を記録する。これにより、歩行ができるようになるまでの適切な動作を模索することができる。
【0025】
また、学習実行装置100は、例えば、スポーツ科学の分野に適用されてもよい。学習実行装置100は、例えば、スポーツ選手の筋肉モデルを登録するとともに、目標動作として、理想的なフォーム等を登録する。そして、介在ニューロンの発火パターンのン学習を進め、理想的なフォームが身に着くまでの動作及び筋肉の成長を記録する。これにより、トレーニングの方法を模索することができる。
【0026】
なお、学習実行装置100は、介在ニューロンの発火パターンに従って筋肉を動作させる筋肉モデル以外の筋肉モデルに対して、筋肉の成長を適用してもよい。例えば、学習実行装置100は、ヒルタイプモデルに基づく筋肉モデルに対して、筋肉の成長を適用する。また、例えば、学習実行装置100は、CPGを用いた筋肉モデルに対して、筋肉の成長を適用する。また、例えば、学習実行装置100は、DQNを用いた筋肉モデルに対して、筋肉の成長を適用する。学習実行装置100は、その他、任意の既存のモデルに対して、筋肉の成長を適用してもよい。
【0027】
図2は、筋肉モデル300の一例を概略的に示す。筋肉モデル300は、脊髄310内の複数の介在ニューロン320と、複数の介在ニューロン320のそれぞれに接続された複数の運動単位330とを含む。1つの運動単位330には、運動ニューロン340と、運動ニューロン340に接続された筋繊維350とが含まれる。1つの運動ニューロン340には、複数の筋繊維350が接続される。
【0028】
図3は、発火パターン400の一例を概略的に示す。発火パターン400は、複数の介在ニューロン320の時系列のオン402及びオフ404を示す。筋肉モデル300に対して、発火パターン400を適用することによって、介在ニューロン320から各運動単位330に対して時系列で信号が入力され、オン402に従って、運動単位330の筋繊維350が収縮する。これにより、様々な筋肉の動きが実現される。
【0029】
図4は、学習実行装置100の機能構成の一例を概略的に示す。学習実行装置100は、情報格納部102、入力受付部104、データ受信部106、動作設定部108、学習実行部110、及び表示制御部112を備える。
【0030】
情報格納部102は、各種情報を格納する。情報格納部102は、筋肉モデルを格納してよい。情報格納部102は、それぞれに運動単位330が接続された複数の介在ニューロン320の発火パターンに従って、運動単位330に含まれる運動ニューロン340に接続された筋繊維350を収縮させることによって筋肉を動作させる筋肉モデルを格納してよい。
【0031】
情報格納部102は、筋肉モデル300に含まれる複数の運動単位330のそれぞれについて、関連するパラメータを格納してよい。情報格納部102は、運動単位330が、速筋であるか遅筋であるかを示すタイプパラメータを格納してよい。タイプパラメータは、第1パラメータの一例であってよい。
【0032】
情報格納部102は、収縮可能なエネルギーを示すパラメータであるHPを格納してよい。HPは、第2パラメータの一例であってよい。情報格納部102は、HPの最大値を示すMAXHPを格納してよい。
【0033】
情報格納部102は、自己回復力を示すパラメータであるMPを格納してよい。MPは、第3パラメータの一例であってよい。情報格納部102は、MPの最大値を示すMAXMPを格納してよい。
【0034】
情報格納部102は、筋繊維350が速筋である場合に、筋繊維350が収縮する毎に消費されるエネルギー量を示す第4パラメータを格納してよい。本例では、情報格納部102は、第4パラメータの一例である筋繊維350の直径を示すDIAMを格納する。情報格納部102は、運動単位330の使用に関連するパラメータであるEXPを格納してよい。EXPは、例えば、運動単位330が使用されるたびに増加するパラメータであってよい。EXPは、例えば、運動単位330が使用された回数に関連するパラメータであってよい。EXPは、運動単位330が使用された回数そのものであってもよい。EXPは、第5パラメータの一例であってよい。
【0035】
入力受付部104は、各種入力を受け付ける。入力受付部104は、学習実行装置100が備える入力デバイスを介した入力を受け付けてよい。
【0036】
データ受信部106は、ネットワーク20を介して各種データを受信する。データ受信部106は、例えば、通信端末200から、筋肉モデル300を受信して情報格納部102に格納する。また、データ受信部106は、例えば、通信端末200から、運動単位330のパラメータを受信して、情報格納部102に格納する。
【0037】
動作設定部108は、筋肉モデルの目標動作を設定する。動作設定部108は、例えば、入力受付部104が受け付けた入力に従って、筋肉モデル300の目標動作を設定してよい。動作設定部108は、データ受信部106が通信端末200から受信した設定指示に従って、筋肉モデル300の目標動作を設定してよい。
【0038】
学習実行部110は、学習を実行する。学習実行部110は、発火パターンを学習してよい。学習実行部110は、複数の発火パターンのうち、筋肉モデル300の動作が目標動作により近い発火パターンに報酬を与える学習によって、目標動作を実現する発火パターンを学習してよい。学習実行部110は、例えば、強化学習を用いる。学習実行部110は、DQN(Deep Q-Network)を用いてもよい。学習実行部110は、GA(Genetic Algorithm)を用いてもよい。学習実行部110は、その他任意の学習手法を用いてもよい。
【0039】
学習実行部110は、例えば、ある目標動作を実現する発火パターンを学習する場合に、まず、ランダムに複数の発火パターンを発生させる。学習実行部110は、ランダムに発生させた複数の発火パターンのそれぞれに従って筋肉モデル300を動作させ、筋肉モデル300の動作が目標動作により近い発火パターンに基づいて複数の発火パターンを発生させる。学習実行部110は、発生させた複数の発火パターンのそれぞれに従って筋肉モデル300を動作させ、筋肉モデル300の動作が目標動作により近い発火パターンに基づいて複数の発火パターンを発生させる。学習実行部110は、これらを繰り返すことによって、目標動作を実現する発火パターンを学習してよい。
【0040】
学習実行部110は、学習済みの発火パターンに基づいて複数の発火パターンを発生させてもよい。例えば、学習実行部110は、膝を20度に曲げて維持するという目標動作に対して学習した発火パターンと、膝を60度に曲げて維持するという目標動作に対して学習した発火パターンと、膝を90度に曲げて維持するという目標動作に対して学習した発火パターンに基づいて、複数の発火パターンを発生させる。これにより、例えば、膝を任意の角度に曲げて維持するという目標動作のための複数の発火パターンを容易に準備することができ、発火パターンをランダムに発生させる場合と比較して、全体に要する時間を短くすることができる。
【0041】
学習実行部110は、学習を進める間、発火パターンに基づいて筋肉モデル300を動作させた場合に、筋繊維350を収縮させた運動単位330を成長させてよい。
【0042】
筋肉モデル300は、速筋の運動単位330と、遅筋の運動単位330とを含んでよい。学習実行部110は、発火パターンに基づいて筋肉モデル300を動作させた場合に、速筋の運動単位330と遅筋の運動単位330とを異なる基準に従って成長させてよい。
【0043】
学習実行部110は、運動単位330が収縮する毎にHPから予め定められた値を減算してよく、MPが0でない間は、時間経過に伴ってHPを回復させてよい。学習実行部110は、運動単位330が速筋である場合には、運動単位330が収縮する毎にHPからDIAMを減算してよい。学習実行部110は、運動単位330が遅筋である場合には、運動単位330が収縮する毎にHPから1を減算してよい。なお、これに限らず、学習実行部110は、運動単位330が速筋である場合に、運動単位330が収縮する毎にHPからDIAM以外の値を減算してもよい。また、学習実行部110は、運動単位330が遅筋である場合に、運動単位330が収縮する毎にHPから、例えばDIAMの値等の、1以外の値を減算してもよい。学習実行部110は、MPが0でない間は、時間経過に伴ってHPを回復させてよい。学習実行部110は、MPが0になった場合、HPの回復を行わなくてよい。学習実行部110は、時間経過に伴って、MPを回復させてよい。
【0044】
学習実行部110は、筋繊維350が損傷したと判定した後、筋繊維350が回復したと判定した場合に、運動単位330が速筋である場合には、MAXHP及びDIAMを増加させ、運動単位330が遅筋である場合には、MAXMPを増加させてよい。
【0045】
学習実行部110は、筋繊維350が損傷したと判定した後、筋繊維350が回復したと判定した場合において、運動単位330が速筋である場合、MAXMPは増大させなくてよい。学習実行部110は、筋繊維350が損傷したと判定した後、筋繊維350が回復したと判定した場合において、運動単位330が遅筋である場合、MAXHPは増大させなくてよい。学習実行部110は、例えば、HPが0になった場合に、筋繊維350が損傷したと判定してよく、HPがMAXHPになったり、HPが予め定められた閾値より高くなった場合に、筋繊維350が回復したと判定してよい。
【0046】
学習実行部110は、EXPの増加に伴って、運動単位330のレベルを向上させてよい。学習実行部110は、例えば、レベル毎に定められたEXPの値を登録しておき、EXPの値がレベルに対応するEXPの値を超えた場合に、運動単位330のレベルを向上させる。より高いレベルに対して、より多いEXPの値が登録されてよい。
【0047】
学習実行部110は、運動単位330のレベルが高いほど、運動単位330が速筋である場合のMAXHP及びDIAMを増加しにくくし、運動単位330が遅筋である場合のMAXMPを増加しにくくしてよい。
【0048】
学習実行部110は、運動単位330の筋繊維350を収縮させた後、予め定められた不応期を経過するまで、当該筋繊維350が収縮できないようにしてよい。情報格納部102は、複数の運動単位330のそれぞれの温度を格納してもよい。学習実行部110は、運動単位330が使用されるほど、運動単位330の温度を高くしてよく、運動単位330が使用されなければ、時間経過に伴って、運動単位330の温度を低くしてよい。学習実行部110は、運動単位330の温度が高いほど不応期を短くしてよい。
【0049】
学習実行部110は、時系列の複数の発火パターンに従って動作させた筋肉モデルの動作が目標動作を達成した場合に、目標動作を達成した状態の発火パターンから予め定められた時間遡った状態の発火パターンを更新することによって学習を実行してもよい。発火パターンが生成されてから、筋肉が実際に動くまで、不応期及び慣性の法則等の、様々なタイムディレイが存在するので、報酬を得た瞬間の発火パターンを更新するのは好ましくない場合がある。それに対して、学習実行部110によれば、目標動作を達成した状態の発火パターンから予め定められた時間遡った状態の発火パターンが更新されるので、学習精度を向上させることができる。
【0050】
当該予め定められた時間は、任意に設定可能であってよく、変更可能であってよい。学習実行部110は、速筋と遅筋とで、異なる時間を用いてもよい。例えば、学習実行部110は、運動単位330が速筋である場合、目標動作を達成した状態の発火パターンから20ms前の状態の発火パターンを更新し、運動単位330が遅筋である場合、目標動作を達成した状態の発火パターンから40ms前の状態の発火パターンを更新してよい。
【0051】
学習実行部110は、学習した発火パターンを用いて、表示データを生成してよい。学習実行部110は、例えば、発火パターンによって任意のキャラクタを動作させたCGアニメーションを生成する。学習実行部110は、筋肉モデル300の学習を開始してから、目標動作を実現できるまでの間の、筋肉モデル300の動作及び筋肉の成長に関するデータを表示する表示データを生成してもよい。学習実行部110は、筋肉モデル300の学習を開始してから、理想的なフォームを実現できるまでの間の、筋肉モデル300の動作及び筋肉の成長に関するデータを表示する表示データを生成してもよい。
【0052】
表示制御部112は、学習実行部110による学習結果に関連する各種表示を制御する。表示制御部112は、例えば、学習実行部110によって生成された表示データを、学習実行装置100が備えるディスプレイに表示させる。表示制御部112は、学習実行部110によって生成された表示データを、ネットワーク20を介して通信端末200に送信し、通信端末200が備えるディスプレイに表示させてもよい。
【0053】
情報格納部102は、既知のモデルに従った筋肉モデルを格納してもよい。情報格納部102は、例えば、ヒルタイプモデルに基づく筋肉モデルを格納する。情報格納部102は、CPGを用いた筋肉モデルを格納してもよい。情報格納部102は、DQNを用いた筋肉モデルを格納してもよい。
【0054】
情報格納部102は、既知のモデルに従った筋肉モデルの筋肉に含まれる複数の筋繊維のそれぞれに対して、タイプパラメータと、HPと、MAXHPと、MPと、MAXMPと、DIAMとを格納してよい。
【0055】
学習実行部110は、筋繊維が収縮する毎に、筋繊維が速筋である場合にHPからDIAMを減算し、筋繊維が遅筋である場合にHPから1を減算し、MPが0でない間は、時間経過に伴ってHPを回復させ、筋繊維が損傷したと判定した後、筋繊維が回復したと判定した場合に、筋繊維が速筋である場合には、MAXHP及びDIAMを増加させ、筋繊維が遅筋である場合には、MAXMPを増加させてよい。
【0056】
学習実行部110は、MPが0になった場合、HPの回復を行わなくてよい。学習実行部110は、時間経過に伴って、MPを回復させてよい。学習実行部110は、筋繊維が損傷したと判定した後、HPが回復した場合において、筋繊維が速筋である場合、MAXMPは増大させなくてよい。学習実行部110は、筋繊維が損傷したと判定した後、HPが回復した場合において、筋繊維が遅筋である場合、MAXHPは増大させなくてよい。
【0057】
学習実行部110は、EXPの増加に伴って、筋繊維のレベルを向上させてよい。学習実行部110は、例えば、レベル毎に定められたEXPの値を登録しておき、EXPの値がレベルに対応するEXPの値を超えた場合に、筋繊維のレベルを向上させる。より高いレベルに対して、より多いEXPの値が登録されてよい。学習実行部110は、筋繊維のレベルが高いほど、筋繊維が速筋である場合のMAXHP及びDIAMの値を増加しにくくし、筋繊維が遅筋である場合のMAXMPを増加しにくくしてよい。
【0058】
学習実行部110は、筋繊維を収縮させた後、予め定められた不応期を経過するまで、当該筋繊維が収縮できないようにしてよい。情報格納部102は、複数の筋繊維のそれぞれの温度を格納してもよい。学習実行部110は、筋繊維が使用されるほど、筋繊維の温度を高くしてよく、筋繊維が使用されなければ、時間経過に伴って、筋繊維の温度を低くしてよい。学習実行部110は、筋繊維の温度が高いほど不応期を短くしてよい。
【0059】
図5は、筋肉モデル300の具体例を概略的に示す。図5では、人間の腱372、膝374、及び骨376に対応する筋肉360の筋肉モデル300を例示する。上述の通り、脊髄310内には複数の介在ニューロン320が存在する。脊髄310は、学習器とみなすことも可能である。複数の介在ニューロン320のそれぞれは、発火と非発火の2つの状態をとり得る。運動単位330には、運動ニューロン340と、運動ニューロン340に接続された筋繊維350とが含まれる。1つの運動ニューロン340には、複数の筋繊維350が接続される。運動ニューロン340には、速筋と遅筋との2つの種類があってよい。運動ニューロン340は、サイズが大きい場合、速筋であってよく、サイズが小さい場合、遅筋であってよい。運動ニューロン340は、例えば、サイズが閾値より大きい場合、速筋であり、サイズが閾値より小さいばあい、遅筋である。筋繊維350は、速筋繊維と遅筋繊維との2つの種類があってよい。筋肉360は、筋繊維350の集合体である。本例において、学習実行部110は、1つのモデルとして、2つの筋肉(伸筋と屈筋)が接続された膝関節に対して、単純な動きを発火パターンで制御する。運動単位330には、速筋及び遅筋の2つの種類があってよく、学習実行部110は、速筋と遅筋とでそれぞれ異なる成長を行わせてよい。
【0060】
発火パターンを使用して筋肉を制御するためには、ニューロンの活動電位を計算する必要がある。学習実行部110は、介在ニューロン320を発火する場合に、例えば、Hodgkin-Huxleyモデル(A.L. Hodgkin, A. A quantitative description of membrane current and its application to conduction and excitation in nerve, from the physiological laboratory. University of Cambridge, pp. 500-544, 1952.)に従って、活動電位を計算してよい。計算された活動電位は、キルヒホッフの法則に従って、接続された運動ニューロン340に分配される。
【0061】
学習実行部110は、拡張したヒルタイプモデルを用いてよく、発火している運動ニューロン340の活動電位の合算を筋肉モデルの入力信号としてよい。筋肉モデルにおいて、筋肉の収縮力が計算され、物理法則に従って、筋肉の収縮力から膝関節のトルクに変換し、膝を動かして、関節角度が変化する。学習実行部110は、運動結果を関節角度として出力してよい。関節角度が目標角度を達成した場合、学習実行部110は、発火パターンに報酬を与えてよい。
【0062】
上述したように、学習実行部110は、拡張したヒルタイプモデルを用いてよい。従来のヒルタイプモデルは、筋肉の収縮要素(CE)、CEに対して並列に配置される並列弾性要素(PEE)及び直列に配置される直列弾性要素(SEE)で構成されている。拡張モデルでは、ばね定数に起因する筋痙攣を軽減するために、従来のヒルタイプモデルにおける腱力計算に減衰係数を追加する。ヒルタイプモデルでは、筋繊維が運動ニューロンから電流を取得し、PEE、SEE、及びCEを使用して力に変換する。
【0063】
【数1】
【0064】
【数2】
【0065】
loptは、CEの最大の力を得るために最適化された長さであり、Aは、筋肉活動比であり、lceは、CEの長さである。この関数を近似するためにいくつかの方程式が提案されている。例えば、Rosen and Kuoモデル(Deshpande, P.-H. K. . A. D. Contribution of passive properties of muscle-tendon units to the metacarpophalangeal joint torque of the index finger. IEEE, pp. 288-294, 2010.)を適用してよい。
【0066】
【数3】
【0067】
Vceは、CEの収縮速度であり、Vmaxは、CEの最大収縮速度である。PEが発生する力であるFpeの式は次のとおりである。
【0068】
【数4】
【0069】
Kpeは、PEのばね定数であり、lpeは、PEの長さであり、lpe_restはPEの平衡長であり、dpeは、PEの減衰係数であり、Vpeは、PEの終端速度である。SEEの力であるFseの式は次の通りである。
【0070】
【数5】
【0071】
kseは、SEEのばね定数であり、lseは、SEEの長さであり、lse_restはSEEの平衡長であり、dseは、SEEの減衰係数であり、Vseは、SEEの終端速度である。
【0072】
運動単位330が活動電位を受けると、筋肉の収縮が引き起こされる。収縮が力のピークに達するまでの時間を収縮時間と呼ぶ。遅筋の運動単位330は、収縮時間が長く、最大収縮力が小さくなる。速筋の運動単位330は、収縮時間が短く、最大収縮力が高くなる。1つの筋肉は、複数の速筋の運動単位330と複数の遅筋及び運動単位330で構成されている。そこで、これらの運動単位330からなるヒルタイプモデルを採用する。
【0073】
【数6】
【0074】
Nは速筋の運動単位330の数であり、Mは遅筋の運動単位330の数であり、Fce_f_iは、i番目の速筋の収縮力であり、Fce_s_j、j番目の遅筋の収縮力である。
【0075】
遅筋の運動単位330及び速筋の運動単位330の生物学的特性が、本実施形態に係る筋肉モデルによってモデル化される。運動ニューロン340と筋繊維350で構成される運動単位330の成長モデルでは、すべての筋繊維350に、筋収縮に使用できるエネルギー値(HP)がある。収縮の度に、速筋のHPの値を、筋繊維350の直径に等しい値だけ減少させてよい。また、収縮の度に、遅筋のHPの値を、1だけ減少させてよい。継続的な筋肉の収縮によりHPが減少し、HPが0になると、筋断裂が発生する。筋断裂が発生すると、回復しなければ、介在ニューロン320から電気信号を受信した場合でも、筋繊維350を再び収縮させることはできない。一方、介在ニューロン320からの信号の間隔が十分に大きければ、筋繊維350は自然に回復することができる。本モデルにおいて、自己回復力を示すMPが0でない限り、筋繊維350は、時間の経過とともに回復する。これらによって、学習実行部110は、様々な発火パターンを学習することができる。
【0076】
運動単位330は、使用されるたびにEXPを取得し、成長を促進する。本モデルにおいては、成長のレベルを表すためにLVを定義している。遅筋の運動単位と速筋の運動単位には、異なる成長規則がある。速筋の運動単位330の場合、MAXHP及び筋繊維350の直径のパラメータが増加する。当該ルールは、生物学的な成長ルールに基づいている。
【0077】
速筋の運動単位330には、筋繊維の周囲に衛星細胞が存在する。筋断裂が発生すると、衛星細胞が分裂し、速筋の筋繊維350のサイズが増加する。太い筋繊維350ほど強度は高くなるが、より多くのHPを必要とする。
【0078】
遅筋の筋繊維350は、サイズが増加しないが、自己回復力が増加する。生物学的な成長ルールによれば、遅筋の筋繊維350の周囲の毛細血管の数が増加するため、遅筋の筋繊維350に輸送される酸素の量が増加する。
【0079】
本モデルでは、筋繊維350の疲労を示すパラメータであるSPをさらに含んでもよい。遅筋の筋繊維350のみにおいて、成長に伴ってSPの値が減少する。すなわち、遅筋の筋繊維は、より長く使用されることができる。
【0080】
表1は、各パラメータの説明を示し、表2は、アルゴリズムの一例を示す。
【0081】
【表1】
【0082】
【表2】
【0083】
学習実行部110は、介在ニューロン320の発火パターンを学習するために、Qラーニングを使用してよい。学習プロセスは、各介在ニューロン320をエージェントとするマルチエージェントシステム学習に基づいてよい。各エージェントは、その環境を監視する。環境とは、介在ニューロン320と運動ニューロン340との接続性、及び運動単位330のパラメータとして定義されてよい。学習中、初期接続設定は変更されないが、運動単位のパラメータは変更可能であってよい。
【0084】
各介在ニューロン320は、複数の運動ニューロン340に接続されており、速筋又は遅筋のいずれかに接続される。なお、運動単位330の筋繊維350が速筋であるか遅筋であるかは、接続している運動ニューロンのサイズによって決まる。この原理は生物学に由来する。エージェントは、エージェント間で状態情報を共有できる。これは、ミエリン接続による情報共有と同等である。
【0085】
Qラーニングにおける状態と行動の組み合わせでは、Qi=(si:ai)であり、Siは各エージェントの状態を示す。
【0086】
【数7】
【0087】
【数8】
【0088】
【数9】
【0089】
Mは、介在ニューロン320に接続されている運動ニューロン340の合計であり、Oは、他の介在ニューロン320に接続されている運動ニューロン340の合計である。 各エージェントは、発火(1)又は発火しない(0)のような行動aiを実行する。
【0090】
各介在ニューロン320は、接続されている各運動単位のすべてのパラメータと、情報を共有している他の介在ニューロン320が保持している運動単位のエネルギーの合計を監視し、発火するかどうかを決定する。介在ニューロン320の発火に基づいて、Hodgkin Huxleyモデルを用いて、接続された運動単位の電気信号が計算され、入力信号の計算に利用される。次に、拡張されたヒルタイプモデルを使用して、筋肉の収縮から計算された角度がエージェントにフィードバックされる。
【0091】
報酬には、即時と遅延の2種類があってよい。即時の報酬として、膝関節が目標の角度を達成する度に、rgoalを受信する。膝関節が目標角度を達成し続ける限り、エージェントは報酬を受け取り続ける。
【0092】
遅延報酬として、すべてのエージェントの残りのHPの合計が、エピソードの終わりに、報酬としてすべてのエージェントに均等に分配される。これは、効率的な動きを生み出す協調行動に寄与する。
【0093】
図6は、学習実行装置100として機能するコンピュータ1200のハードウェア構成の一例を概略的に示す。コンピュータ1200にインストールされたプログラムは、コンピュータ1200を、本実施形態に係る装置の1又は複数の「部」として機能させ、又はコンピュータ1200に、本実施形態に係る装置に関連付けられるオペレーション又は当該1又は複数の「部」を実行させることができ、及び/又はコンピュータ1200に、本実施形態に係るプロセス又は当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ1200に、本明細書に記載のフローチャート及びブロック図のブロックのうちのいくつか又はすべてに関連付けられた特定のオペレーションを実行させるべく、CPU1212によって実行されてよい。
【0094】
本実施形態によるコンピュータ1200は、CPU1212、RAM1214、及びグラフィックコントローラ1216を含み、それらはホストコントローラ1210によって相互に接続されている。コンピュータ1200はまた、通信インタフェース1222、記憶装置1224、DVDドライブ、及びICカードドライブのような入出力ユニットを含み、それらは入出力コントローラ1220を介してホストコントローラ1210に接続されている。DVDドライブは、DVD-ROMドライブ及びDVD-RAMドライブ等であってよい。記憶装置1224は、ハードディスクドライブ及びソリッドステートドライブ等であってよい。コンピュータ1200はまた、ROM1230及びキーボードのようなレガシの入出力ユニットを含み、それらは入出力チップ1240を介して入出力コントローラ1220に接続されている。
【0095】
CPU1212は、ROM1230及びRAM1214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ1216は、RAM1214内に提供されるフレームバッファ等又はそれ自体の中に、CPU1212によって生成されるイメージデータを取得し、イメージデータがディスプレイデバイス1218上に表示されるようにする。
【0096】
通信インタフェース1222は、ネットワークを介して他の電子デバイスと通信する。記憶装置1224は、コンピュータ1200内のCPU1212によって使用されるプログラム及びデータを格納する。DVDドライブは、プログラム又はデータをDVD-ROM等から読み取り、記憶装置1224に提供する。ICカードドライブは、プログラム及びデータをICカードから読み取り、及び/又はプログラム及びデータをICカードに書き込む。
【0097】
ROM1230はその中に、アクティブ化時にコンピュータ1200によって実行されるブートプログラム等、及び/又はコンピュータ1200のハードウェアに依存するプログラムを格納する。入出力チップ1240はまた、様々な入出力ユニットをUSBポート、パラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入出力コントローラ1220に接続してよい。
【0098】
プログラムは、DVD-ROM又はICカードのようなコンピュータ可読記憶媒体によって提供される。プログラムは、コンピュータ可読記憶媒体から読み取られ、コンピュータ可読記憶媒体の例でもある記憶装置1224、RAM1214、又はROM1230にインストールされ、CPU1212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ1200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置又は方法が、コンピュータ1200の使用に従い情報のオペレーション又は処理を実現することによって構成されてよい。
【0099】
例えば、通信がコンピュータ1200及び外部デバイス間で実行される場合、CPU1212は、RAM1214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース1222に対し、通信処理を命令してよい。通信インタフェース1222は、CPU1212の制御の下、RAM1214、記憶装置1224、DVD-ROM、又はICカードのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、又はネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。
【0100】
また、CPU1212は、記憶装置1224、DVDドライブ(DVD-ROM)、ICカード等のような外部記録媒体に格納されたファイル又はデータベースの全部又は必要な部分がRAM1214に読み取られるようにし、RAM1214上のデータに対し様々なタイプの処理を実行してよい。CPU1212は次に、処理されたデータを外部記録媒体にライトバックしてよい。
【0101】
様々なタイプのプログラム、データ、テーブル、及びデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU1212は、RAM1214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM1214に対しライトバックする。また、CPU1212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU1212は、当該複数のエントリの中から、第1の属性の属性値が指定されている条件に一致するエントリを検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
【0102】
上で説明したプログラム又はソフトウエアモジュールは、コンピュータ1200上又はコンピュータ1200近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワーク又はインターネットに接続されたサーバシステム内に提供されるハードディスク又はRAMのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ1200に提供する。
【0103】
本実施形態におけるフローチャート及びブロック図におけるブロックは、オペレーションが実行されるプロセスの段階又はオペレーションを実行する役割を持つ装置の「部」を表わしてよい。特定の段階及び「部」が、専用回路、コンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、及び/又はコンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタル及び/又はアナログハードウェア回路を含んでよく、集積回路(IC)及び/又はディスクリート回路を含んでよい。プログラマブル回路は、例えば、フィールドプログラマブルゲートアレイ(FPGA)、及びプログラマブルロジックアレイ(PLA)等のような、論理積、論理和、排他的論理和、否定論理積、否定論理和、及び他の論理演算、フリップフロップ、レジスタ、並びにメモリエレメントを含む、再構成可能なハードウェア回路を含んでよい。
【0104】
コンピュータ可読記憶媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読記憶媒体は、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読記憶媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読記憶媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク、メモリスティック、集積回路カード等が含まれてよい。
【0105】
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又はSmalltalk(登録商標)、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1又は複数のプログラミング言語の任意の組み合わせで記述されたソースコード又はオブジェクトコードのいずれかを含んでよい。
【0106】
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路が、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を生成するために当該コンピュータ可読命令を実行すべく、ローカルに又はローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路に提供されてよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【0107】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0108】
特許請求の範囲、明細書、及び図面中において示した装置、システム、プログラム、及び方法における動作、手順、ステップ、及び段階などの各処理の実行順序は、特段「より前に」、「先立って」などと明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、及び図面中の動作フローに関して、便宜上「まず、」、「次に、」などを用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【0109】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0110】
特許請求の範囲、明細書、及び図面中において示した装置、システム、プログラム、及び方法における動作、手順、ステップ、及び段階などの各処理の実行順序は、特段「より前に」、「先立って」などと明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、及び図面中の動作フローに関して、便宜上「まず、」、「次に、」などを用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0111】
20 ネットワーク、100 学習実行装置、102 情報格納部、104 入力受付部、106 データ受信部、108 動作設定部、110 学習実行部、112 表示制御部、200 通信端末、300 筋肉モデル、310 脊髄、320 介在ニューロン、330 運動単位、340 運動ニューロン、350 筋繊維、360 筋肉、372 腱、374 膝、376 骨、400 発火パターン、402 オン、404 オフ、1200 コンピュータ、1210 ホストコントローラ、1212 CPU、1214 RAM、1216 グラフィックコントローラ、1218 ディスプレイデバイス、1220 入出力コントローラ、1222 通信インタフェース、1224 記憶装置、1230 ROM、1240 入出力チップ
図1
図2
図3
図4
図5
図6