(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024166917
(43)【公開日】2024-11-29
(54)【発明の名称】制御システム、システム及びプログラム
(51)【国際特許分類】
G06N 3/008 20230101AFI20241122BHJP
B25J 13/00 20060101ALI20241122BHJP
【FI】
G06N3/008
B25J13/00 Z
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2023083349
(22)【出願日】2023-05-19
(71)【出願人】
【識別番号】591280485
【氏名又は名称】ソフトバンクグループ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】孫 正義
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS34
3C707KS39
3C707KT01
3C707LW15
3C707WA03
3C707WL05
3C707WL07
3C707WL13
3C707WM07
3C707WM16
3C707WM30
(57)【要約】
【課題】感情に応じてデータを適切に記録すること。
【解決手段】実施形態に係る制御システムは、ロボットの行動を制御する制御システムであって、記録制御部と、切換制御部とを備える。記録制御部は、センサによって連続的に検出された情報の少なくとも一部を処理して、第1記録形式の情報又は第1記録形式の情報より情報量が多い第2記録形式の情報を生成して記録させる。切換制御部は、第1記録形式の情報を生成させている場合に、ロボットまたはユーザの感情の変化が多くなったことに応じて、記録制御部による記録形式を、第1記録形式から第2記録形式に切り換える。
【選択図】
図2
【特許請求の範囲】
【請求項1】
ロボットの行動を制御する制御システムであって、
センサによって連続的に検出された情報の少なくとも一部を処理して、第1記録形式の情報又は前記第1記録形式の情報より情報量が多い第2記録形式の情報を生成して記録させる記録制御部と、
前記第1記録形式の情報を生成させている場合に、前記ロボットまたはユーザの感情の変化が多くなったことに応じて、前記記録制御部による記録形式を、前記第1記録形式から前記第2記録形式に切り換える切換制御部と
を備える制御システム。
【請求項2】
前記センサは、被写体を連続的に撮像するイメージセンサを含み、
前記第1記録形式の情報は、前記イメージセンサで撮像された物体の形状を表現する形
状データを含み、
前記第2記録形式の情報は、形状データより情報量が多い、前記イメージセンサの出力に基づく映像データを含む
請求項1に記載の制御システム。
【請求項3】
前記記録制御部によって記録される情報は、映像データであり、
前記第2記録形式は、前記第1記録形式よりも前記映像データの圧縮率が低い
請求項1に記載の制御システム。
【請求項4】
前記記録制御部は、
前記ロボットまたは前記ユーザの感情値が閾値以下の場合において、前記感情値の変化量が閾値を超える場合に、前記記録形式を、前記第1記録形式から前記第2記録形式に切り換える
請求項1に記載の制御システム。
【請求項5】
前記記録制御部は、
前記感情の変化が多くなった状況が収まった場合に、前記記録形式を、前記第2記録形式から前記第1記録形式に切り換える
請求項1に記載の制御システム。
【請求項6】
前記記録制御部は、
前記感情の変化の連続性に応じて、前記記録形式を、前記第2記録形式から前記第1記録形式に切り換える
請求項1に記載の制御システム。
【請求項7】
前記記録制御部は、
前記感情の変化における緩急の組み合わせまたは前記変化の程度に応じて、前記記録形式を、前記第2記録形式から前記第1記録形式に切り換える
請求項1に記載の制御システム。
【請求項8】
前記記録制御部は、
前記第2記録形式の情報にタグ付けを行って記録させる
請求項1に記載の制御システム。
【請求項9】
タグ付けされる情報は、
周辺情報、匂い、気温、湿度、位置情報、天候、周囲の人数、表情および感情に関する情報を少なくとも1つ含む
請求項8に記載の制御システム。
【請求項10】
前記映像データを含む前記第2記録形式の情報をサーバから受信し、受信した前記第2記録形式の情報に含まれる前記映像データに基づいて、前記ユーザに提示される映像を生成する映像生成部をさらに備える
請求項2に記載の制御システム。
【請求項11】
ロボットの行動を制御する制御システムであって、
センサによって連続的に検出された情報の少なくとも一部を処理して、第1記録形式の情報又は前記第1記録形式の情報より情報量が多い第2記録形式の情報を生成して記録させる記録制御部と、
前記第1記録形式の情報を生成させている場合に、前記ロボットまたはユーザの感情の変化が多くなったことに応じて、前記記録制御部による記録形式を、前記第1記録形式から前記第2記録形式に切り換える切換制御部と、を備える制御システムと、
前記第1記録形式または前記第2記録形式の情報を受信して記録するサーバと
を備えるシステム。
【請求項12】
ロボットの行動を制御する制御システムであって、
センサによって連続的に検出された情報の少なくとも一部を処理して、第1記録形式の情報又は前記第1記録形式の情報より情報量が多い第2記録形式の情報を生成して記録させる記録制御手順と、
前記第1記録形式の情報を生成させている場合に、前記ロボットまたはユーザの感情の変化が多くなったことに応じて、前記記録制御手順による記録形式を、前記第1記録形式から前記第2記録形式に切り換える切換制御手順と
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御システム、システム及びプログラムに関する。
【背景技術】
【0002】
ユーザと通話相手との会話を学習してユーザの問いかけに対する通話相手の返答を返答テーブルに蓄積する端末が知られている(例えば、特許文献1参照)。また、ユーザ情報、機器情報及び自身の現在の感情状態を入力して次回の感情状態を出力するニューラルネットを備える感情生成装置が知られている(例えば、特許文献2参照)。また、方向性人工シナプス接続性を有するレイヤ・ニューラルネット関係を有する複数の電子ニューロンを含む連想メモリに時空パターンを記憶する技術が知られている(例えば、特許文献3参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2011-253389号公報
【特許文献2】特開平10-254592号公報
【特許文献3】特表2013-535067号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の技術では、ユーザやロボットの感情に応じてデータを適切に記録できない場合があるという課題があった。
【0005】
本発明は、上記に鑑みてなされたものであって、感情に応じてデータを適切に記録することができる制御システム、システム及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
実施形態の一態様に係る制御システムは、ロボットの行動を制御する制御システムであって、記録制御部と、切換制御部とを備える。前記記録制御部は、センサによって連続的に検出された情報の少なくとも一部を処理して、第1記録形式の情報又は前記第1記録形式の情報より情報量が多い第2記録形式の情報を生成して記録させる。前記切換制御部は、前記第1記録形式の情報を生成させている場合に、前記ロボットまたはユーザの感情の変化が多くなったことに応じて、前記記録制御部による記録形式を、前記第1記録形式から前記第2記録形式に切り換える。
【発明の効果】
【0007】
実施形態の一態様によれば、感情に応じてデータを適切に記録することができる。
【図面の簡単な説明】
【0008】
【
図1A】
図1Aは、本実施形態に係るシステム20の一例を概略的に示す図である。
【
図2】
図2は、サーバ200及びロボット40のブロック構成を概略的に示す図である。
【
図3】
図3は、ニューラルネットワーク300を概略的に示す図である。
【
図4】
図4は、ニューラルネットワークのパラメータをテーブル形式で概略的に示す図である。
【
図5】
図5は、ロボット40が起動又はリセットされた場合のサーバ200の動作フローを概略的に示す図である。
【
図6】
図6は、人工シナプスの結合係数の計算を概略的に説明する図である。
【
図7】
図7は、結合係数の増減パラメータとして関数h
t
ijが定義されている場合の結合係数の時間発展を概略的に示す図である。
【
図8】
図8は、時刻t2で更に同時発火した場合の結合係数の時間発展を概略的に示す図である。
【
図9】
図9は、パラメータに与えられる化学的影響を定義する影響定義情報を概略的に示す図である。
【
図10】
図10は、内部状態及びステータスを計算するフローチャートを示す図である。
【
図11】
図11は、人工ニューロンが発火しない場合の内部状態の計算例を概略的に説明する図である。
【
図12】
図12は、人工ニューロンが発火する場合の出力の計算例を概略的に説明する図である。
【
図13】
図13は、人工ニューロンの増減パラメータとして関数が定義されている場合の結合係数の時間発展を概略的に示す図である。
【
図14】
図14は、記録形式切換ルール290に格納されるルール1400の一例をテーブル形式で示す図である。
【発明を実施するための形態】
【0009】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0010】
図1Aは、本実施形態に係るシステム20の一例を概略的に示す。
図1Bは、感情値変化の例を示す図である。システム20は、サーバ200と、ロボット40a及びロボット40bとを備える。ロボット40a及びロボット40bは、通信網90を通じてサーバ200と通信して情報をやりとりする。
【0011】
ユーザ30aは、ロボット40aのユーザである。ユーザ30bは、ロボット40bのユーザである。ロボット40bは、ロボット40aと略同一の機能を有する。そのため、ロボット40a及びロボット40bをロボット40と総称してシステム20を説明する。
【0012】
ロボット40は、状況に応じて頭部や肢部を動かしたり、ユーザ30と会話を行ったり、ユーザ30に映像を提供したりする等、状況に応じて各種の動作を行う。このとき、ロボット40は、サーバ200と連携して動作を決定する。例えば、ロボット40は、カメラ機能で取得したユーザ30の顔画像や、マイク機能で取得したユーザ30の音声等の検出情報をサーバ200に送信する。サーバ200は、ロボット40から受信した検出情報を解析して、ロボット40が取るべき動作を決定して、決定した動作を表す動作情報を、ロボット40に送信する。ロボット40は、サーバ200から受信した動作情報に従って動作する。
【0013】
ロボット40は自身の感情を表す感情値を持つ。例えば、ロボット40は、「嬉しい」、「楽しい」、「悲しい」、「怖い」、「興奮」等のそれぞれの感情の強さを表す感情値を持つ。ロボット40の感情値は、サーバ200が決定する。サーバ200は、決定した感情に応じた動作をロボット40に行わせる。例えば、興奮の感情値が大きい状態でユーザ30と会話するときは、早口でロボット40に発話させる。このように、ロボット40は、自己の感情を行動等で表現することができる。
【0014】
サーバ200は、ロボット40から受信した検出情報に基づいて、ニューラルネットワークを用いて、ロボット40の現在の状態を更新する。ロボット40の状態には、ロボット40の感情が含まれる。したがって、サーバ200は、ニューラルネットワークを用いて、ロボット40の感情を決定する。
【0015】
また、ロボット40は、カメラ機能で取得したユーザ30の映像データ等を、サーバ200に記録させる。ロボット40は、必要に応じてサーバ200から映像データ等を取得して、ユーザ30に提供する。ロボット40は、自己の感情の強さが強いほど、情報量がより多い映像データを生成してサーバ200に記録させる。例えば、ロボット40は、骨格データ等の高圧縮形式の情報を記録している場合に、自己の興奮の感情値が閾値を超えたことに応じて、HD動画等の低圧縮形式の情報の記録に切り換える。システム20によれば、ロボット40の感情が高まったときの高精細な映像データを記録として残すことができる。また、ロボット40は、ユーザ30の感情の強さが強い程、情報量が多い映像データを生成してサーバ200に記録させる。具体的には、ロボット40は、骨格データ等の高圧縮形式の情報を記録している場合に、ユーザ30の興奮の感情値が閾値を超えたことに応じて、HD動画等の低圧縮形式の情報の記録に切り換える。システム20によれば、ユーザ30の感情が高まったときの高精細な映像データを記録として残すことができる。
【0016】
また、ロボット40は、
図1Bの状態2のように、自己またはユーザの感情の強さが強くない場合であっても、自己またはユーザの感情が急激に変化したときには、情報量が多い映像データを生成してサーバ200に記録させる。例えば、ロボット40は、骨格データ等の高圧縮形式の情報を記録している場合に、自己またはユーザの興奮の感情値が閾値以下であったとしても感情値の変化が閾値を超えたことに応じて、HD動画等の低圧縮形式の情報の記録に切り換える。システム20によれば、ロボット40やユーザ30の感情が激しく変化したときの高精細な映像データを記録として残すことができる。また、ロボット40は、感情の変化の度合いに応じて映像データの情報量を変えてもよい。具体的には、ロボット40は、自己またはユーザの感情の変化の度合いが大きい程、映像データの圧縮率を低くする。また別の例として、ロボット40は、自己またはユーザの感情の変化の度合いが小さい順に、記録するデータを、テキストのみ→画像のみ→音声および画像→低画質映像→高画質映像といったように記録する情報の形式を変えてもよい。また、ロボット40は、圧縮率や情報の形式を変える場合に限らず、映像データの長さやデータ量を変えてもよい。これにより、ロボット40やユーザ30の感情がより激しく変化したときにより高精細な映像データを記録として残すことができる。
【0017】
また、ロボット40は、
図1Bの状態1のように、ロボット40またはユーザ30の感情の変化の連続性に応じて記憶する情報を変化させてもよい。例えば、ロボット40は、所定時間内での感情値の累積値が閾値を超えた場合に、情報量が多い映像データを生成してサーバ200に記録させる。また、ロボット40は、所定時間内での感情の変化(傾き)の緩急の組み合わせまたは傾きの程度に応じて記憶する情報を変えてもよい。例えば、ロボット40は、感情値の変化を示す傾きが所定時間内において、急激に上昇→一定時間緩やか→急激に下降といった組み合わせの場合に、情報量が多い映像データを生成してサーバ200に記録させる。これにより、例えば、プレッシャー等で緊張する場面では、感情の絶対値は相対的には大きくないものの時間が長く感じてしまう(一定値以上の感情値が所定時間継続する)状況の映像データを記録として残すことができる。
変化させる
【0018】
また、ロボット40は、自己やロボット40の感情値が閾値を超えた場合や、感情値の変化が閾値を超えた場合に記録する情報にタグ付けする。具体的には、ロボット40は、ロボット40が備えるセンサによって検知された情報や、ユーザまたは自己の感情値の情報を映像データにタグ付けする。タグ付けする情報は、例えば、周辺情報(周囲に存在する物体の情報等)や、匂い、気温、湿度、位置情報、天候、周囲の人数やその表情および感情等を含む。これにより、ユーザ30は、記録した情報を確認する際に、タグ付けされた情報から当時の状況等を鮮明に思い出すことができる。また、タグ付けすることで、記録した情報の中から特定の状況に関する情報を検索する際にも容易に情報を探し出すことができる。
【0019】
図2は、サーバ200及びロボット40のブロック構成を概略的に示す。ロボット40bは、センサ部156と、処理部152と、制御対象155と、通信部158と、表示部157とを有する。サーバ200は、処理部202と、格納部280と、通信部208とを有する。処理部202は、初期値設定部210と、外部入力データ生成部230と、パラメータ処理部240と、動作決定部250と、切換制御部260と、記録制御部270とを含む。格納部280は、動作決定ルール282、定義情報284、パラメータ初期値286、最新のパラメータ288、及び記録形式切換ルール290、及び記録データ29
2を格納する。
【0020】
ロボット40において、センサ部156は、マイク161、2Dカメラ163、3D深度センサ162、距離センサ164等のセンサを有する。センサ部156が有する各センサは、情報を連続的に検出する。センサ部156で検出されたセンサ情報は、処理部152に出力される。2Dカメラ163は、物体を連続的に撮像するイメージセンサの一例であり、可視光によって撮像して映像情報を生成する。3D深度センサ162は、赤外線パターンを連続的に照射して、赤外線カメラで連続的に撮影された赤外線画像から赤外線パターンを解析することによって、物体の輪郭を検出する。なお、センサ部156は、この他にも、時計、ジャイロセンサ、タッチセンサ、モータフィードバック用のセンサ、バッテリ残容量の検出センサ、匂いセンサ、温度センサ、湿度センサ、GPS(Global Positioning System)センサ等、様々なセンサを含んでよい。
【0021】
処理部152は、CPU等のプロセッサで形成される。処理部152は、センサ部156が有する各センサで連続的に検出されたセンサ情報を、通信部158を通じてサーバ200に送信させる。また、処理部152は、センサ部156が有する各センサで連続的に検出されたセンサ情報の少なくとも一部を処理して、記録用の情報を生成する。処理部152は、第1記録形式の情報又は第1記録形式の情報より情報量が多い第2記録形式の情報を生成する。第1記録形式の情報とは、例えば高圧縮形式の情報であり、第2記録形式の情報とは、例えば低圧縮形式の情報である。例えば、処理部152は、3D深度センサ162で連続的に検出された骨格情報に基づいて、物体の骨格データ等の形状データを、第1記録形式の情報として生成する。また、処理部152は、2Dカメラ163で撮像された映像情報及びマイク161で検出された音声情報から、フルHDの映像データ及び音声データを生成する。フルHDの映像データは、物体の形状データより情報が多い動画データの一例である。
【0022】
通信部158は、処理部152が生成した第1記録形式の情報又は第2記録形式の情報を、サーバ200に送信する。サーバ200において、記録制御部270は、通信部208がロボット40から受信した第1記録形式の情報又は第2記録形式の情報を、記録データ292に格納する。記録制御部270は、ロボット40のそれぞれを識別する情報に対応づけて、各ロボット40から受信した情報を記録データ292に格納する。
【0023】
また、ロボット40において、通信部158は、記録データ292に格納された情報を、サーバ200から取得する。通信部158は、記録制御部270により記録された、動画データを含む第2記録形式の情報を取得する記録情報受信部として機能する。処理部152は、通信部158が受信した第2記録形式の情報に含まれる動画データに基づいて、ユーザ30に提示される映像を生成する。処理部152は、ユーザ30に提示される映像を生成する映像生成部として機能する。
【0024】
また、通信部158は、サーバ200から動作内容を示す動作情報を受信する。処理部152は、通信部158が受信した動作内容に基づいて、制御対象155を制御する。制御対象155は、スピーカ、肢部等のロボット40の各部を駆動するモータ、発光装置等を含む。発声内容を示す情報をサーバ200から受信した場合、処理部152は、受信した発生内容に従って、スピーカから音声を出力させる。また、処理部152は、肢部の駆動モータを制御することにより、ロボット40の行動の一部を制御できる。また、処理部152は、これらのモータを制御することにより、ロボット40の感情の一部を表現できる。
【0025】
サーバ200において、通信部208は、ロボット40から受信した情報を処理部202に出力する。初期値設定部210は、通信部208で受信したニューラルネットワークの初期状態を示すパラメータの初期値を、格納部280内のパラメータ初期値286に格納する。なお、ニューラルネットワークのパラメータの初期値は、サーバ200において予め定められていてよいし、通信網90を介してユーザ30が変更可能であってよい。
【0026】
外部入力データ生成部230は、通信部208が受信したセンサ情報の少なくとも一部を処理して、ニューラルネットワークの外部からの入力情報を生成して、パラメータ処理部240に出力する。パラメータ処理部240は、当該入力情報と、格納部280に格納されている、ニューラルネットワークの現在のパラメータ288及び定義情報284とに基づいて、ニューラルネットワークの計算を行う。
【0027】
ニューラルネットワークが有する人工ニューロンは、ロボット40の状況が定義された複数の人工ニューロンと、ロボット40自身の複数の感情が定義された複数の感情人工ニューロンと、ロボット40自身の内分泌物質の生成状態が定義された複数の内分泌人工ニューロンとを含む。パラメータ処理部240は、外部入力データ生成部230が生成した入力情報に基づいて、ニューラルネットワークにおける複数の人工ニューロンの内部状態を表すパラメータを計算する。例えば、パラメータ処理部240は、外部入力データ生成部230が生成した入力情報に基づいて、ロボット40の状況が定義された複数の人工ニューロン等の現在の内部状態のパラメータを更新する。また、パラメータ処理部240は、ニューラルネットワークにおける他の人工ニューロンの内部状態のパラメータを計算する。これにより、例えば「嬉しい」という感情が定義された感情人工ニューロンの内部状態のパラメータが計算される。この感情人工ニューロンの内部状態のパラメータは、「嬉しい」という感情の強さを表す指標の一例である。したがって、パラメータ処理部240は、感情人工ニューロンの内部状態に基づいて、制御システムにおける感情の強さを決定することができる。このように、パラメータ処理部240は、センサ部156が有するセンサによって検出された情報の少なくとも一部に基づいて、ニューラルネットワークを用いて感情の強さを決定する感情決定部として機能する。
【0028】
パラメータ処理部240によって計算されたニューラルネットワークのパラメータは、切換制御部260及び動作決定部250に供給される。切換制御部260は、パラメータ処理部240から供給されたパラメータに基づいて、ロボット40の処理部152が生成する情報の記録形式を決定する。切換制御部260は、処理部152が生成する情報の記録形式を切り換える必要がある場合に、記録形式を切り換える旨の指示を、通信部208を通じてロボット40に送信させる。ロボット40において、処理部152は、サーバ200から受信した指示に従って、記録形式を切り換える。
【0029】
例えば、切換制御部260は、処理部152に第1記録形式の情報を生成させている場合に、パラメータ処理部240によって決定された感情の強さが高まったことに応じて、処理部152に生成させる情報の記録形式を第1記録形式から第2記録形式に切り換える旨の指示を、ロボット40に送信する。このように、切換制御部260は、パラメータ処理部240によって決定された感情の強さが高まったことに応じて、記録制御部270によって記録される情報の記録形式を、第1記録形式から第2記録形式に切り換える。これにより、ロボット40の感情が高まったときの情報を、詳細に記録として残すことができる。また、ロボット40において、処理部152は、サーバ200から取得した第2記録形式の動画データを取得して、ユーザ30に提示される映像を生成する。したがって、ユーザ30は、ロボット40の感情が高まったときの情報を映像として楽しむことができる。
【0030】
また、切換制御部260は、ユーザ30の感情の強さが高まったことに応じて、処理部152に生成させる情報の記録形式を第1記録形式から第2記録形式に切り換える旨の指示を、ロボット40に送信する。このように、切換制御部260は、パラメータ処理部240によって決定された感情の強さが高まったことに応じて、記録制御部270によって記録される情報の記録形式を、第1記録形式から第2記録形式に切り換える。これにより、ユーザ30の感情が高まったときの情報を、詳細に記録として残すことができる。また、ロボット40において、処理部152は、サーバ200から取得した第2記録形式の動画データを取得して、ユーザ30に提示される映像を生成する。したがって、ユーザ30は、自身の感情が高まったときの情報を映像として楽しむことができる。なお、ユーザの感情は、例えば、ユーザ30から検出される音声や表情に基づいて検出可能である。また、切換制御部260は、センサ部156に含まれる不図示のタッチセンサで衝撃が検出されたことに基づいて、ユーザ30の感情の変化を認識してよい。例えば、切換制御部260は、センサ部156に含まれるタッチセンサで衝撃が検出された場合に、ユーザ30の感情が悪くなったと認識してよい。
【0031】
なお、切換制御部260は、処理部152に第2記録形式の情報を生成させている場合に、パラメータ処理部240によって決定されたロボット40の感情またはユーザの感情の強さが低くなったことに応じて、処理部152に生成させる情報の記録形式を第2記録形式から第1記録形式に切り換える旨の指示を、ロボット40に送信する。このように、切換制御部260は、パラメータ処理部240によって決定された感情またはユーザの感情の強さが低くなったことに応じて、記録制御部270によって記録される情報の記録形式を、第2記録形式から第1記録形式に切り換える。
【0032】
また、切換制御部260は、ユーザ30またはロボット40の感情の変化が強くなったことに応じて、処理部152に生成させる情報の記録形式を第1記録形式から第2記録形式に切り換える旨の指示を、ロボット40に送信する。これにより、ユーザ30またはロボット40の感情が高まったときの情報を、詳細に記録として残すことができる。また、ロボット40において、処理部152は、サーバ200から取得した第2記録形式の動画データを取得して、ユーザ30に提示される映像を生成する。したがって、ユーザ30は、自身またはロボット40の感情が高まったときの情報を映像として楽しむことができる。
【0033】
なお、切換制御部260は、処理部152に第2記録形式の情報を生成させている場合に、ロボット40の感情またはユーザの感情の変化が収まった(変化量が閾値以下となった)もしくは、ロボット40の感情またはユーザの感情が変化前の感情に戻ったことに応じて、処理部152に生成させる情報の記録形式を第2記録形式から第1記録形式に切り換える旨の指示を、ロボット40に送信する。このように、切換制御部260は、ロボット40の感情またはユーザの感情の変化が収まったことに応じて、記録制御部270によって記録される情報の記録形式を、第2記録形式から第1記録形式に切り換える。
【0034】
また、切換制御部260は、ロボット40またはユーザ30の感情の変化の連続性に応じて記録形式を切り換えてもよい。例えば、切換制御部260は、所定時間内での感情値の累積値が閾値を超えた場合に、処理部152に生成させる情報の記録形式を第1記録形式から第2記録形式に切り換える旨の指示を、ロボット40に送信する。また、切換制御部260は、所定時間内での感情の変化(傾き)の緩急の組み合わせまたは傾きの程度に応じて記録形式を切り換えてもよい。例えば、切換制御部260は、感情値の変化を示す傾きが所定時間内において、急激に上昇→一定時間緩やか→急激に下降といった組み合わせの場合に、処理部152に生成させる情報の記録形式を第1記録形式から第2記録形式に切り換える旨の指示を、ロボット40に送信する。これにより、例えば、プレッシャー等で緊張する場面では、感情の絶対値は相対的には大きくないものの時間が長く感じてしまう(一定値以上の感情値が所定時間継続する)状況の映像データを記録として残すことができる。
【0035】
また、記録制御部270は、処理部152に生成させる情報の記録形式を第1記録形式から第2記録形式に切り換える際に、第2記録形式の情報へのタグ付け指示をロボット40に送信する。これにより、ユーザ30は、記録した情報を確認する際に、タグ付けされた情報から当時の状況等を鮮明に思い出すことができる。また、タグ付けすることで、記録した情報の中から特定の状況に関する情報を検索する際にも容易に情報を探し出すことができる。
【0036】
動作決定ルール282には、ロボット40の状態に対応づけて、ロボット40が行う動作を定める。例えば、動作決定ルール282には、ニューラルネットワークの人工ニューロンの内部状態に対応づけて、ロボット40が行う動作を定める。例えば、動作決定ルール282は、「嬉しい」という感情が定義された感情人工ニューロンが高いという条件に対応づけて、嬉しさを表す言葉を発声させるという動作を定める。また、動作決定ルール282は、眠気に対応する内分泌物質が定義された内分泌人工ニューロンの内部状態が高いという条件に対応づけて、眠くなった場合の動作を定める。
【0037】
なお、内分泌物質とは、神経伝達物質及びホルモン等、体内で分泌されシグナルを伝達する物質を意味する。また、内分泌とは、内分泌物質が体内で分泌されることを意味する。ただし、ロボット40自身の内分泌物質とは、ロボット40の動作に影響を及ぼす情報の1つであり、ロボット40が内分泌物質を実際に発生するということを意味していない。ロボット40自身の感情についても同様に、ロボット40の動作に影響を及ぼす情報の1つであり、ロボット40が実際に感情を有しているということを意味していない。
【0038】
動作決定部250は、パラメータ処理部240が決定した各人工ニューロンの活性状態又は内部状態に対応づけて動作決定ルール282に定められている動作に基づいて、ロボット40の動作を決定する。動作決定部250が決定した動作を示す動作情報は、通信部208からロボット40に送信される。ロボット40において、処理部152は、制御対象155を制御することによって、サーバ200から受信した情報が示す動作を行わせる。これにより、ロボット40は、現在のロボット40の感情に応じた適切な動作を行うことができる。
【0039】
図3は、ニューラルネットワーク300を概略的に示す。ニューラルネットワーク300は、パラメータ処理部240の動作を説明するための例示のニューラルネットワークである。ニューラルネットワーク300は、人工ニューロン1と、人工ニューロン2と、人工ニューロン3と、人工ニューロン4と、人工ニューロン5と、人工ニューロン6と、人工ニューロン7と、人工ニューロン8と、人工ニューロン9と、人工ニューロンaと、人工ニューロンbと、人工ニューロンcとを含む複数の人工ニューロンを含む。ニューラルネットワーク300は、人工シナプス301と、人工シナプス302と、人工シナプス303と、人工シナプス304と、人工シナプス305と、人工シナプス306と、人工シナプス307と、人工シナプス308と、人工シナプス309と、人工シナプス310と、人工シナプス311と、人工シナプス312と、人工シナプス313と、人工シナプス314と、人工シナプス315と、人工シナプス316と、人工シナプス317と、人工シナプス318と、人工シナプス319とを含む複数の人工シナプスを含む。人工ニューロンは、生体におけるニューロンに対応する。人工シナプスは、生体におけるシナプスに対応する。
【0040】
人工シナプス301は、人工ニューロン4と人工ニューロン1とを接続する。人工シナプス301は、人工シナプス301の矢印で示されるように、一方向に接続する人工シナプスである。人工ニューロン4は、人工ニューロン1の入力に接続される人工ニューロンである。人工シナプス302は、人工ニューロン1と人工ニューロン2とを接続する。人工シナプス302は、人工シナプス302の両端の矢印で示されるように、双方向に接続する人工シナプスである。人工ニューロン1は、人工ニューロン2の入力に接続される人工ニューロンである。人工ニューロン2は、人工ニューロン1の入力に接続される人工ニューロンである。
【0041】
なお、本実施形態において、人工ニューロンをNで表し、人工シナプスをSで表す場合がある。また、各人工ニューロンを識別する場合、上付きの参照符号を識別文字として用いる。また、任意の人工ニューロンを表す場合に、識別文字としてi又はjを用いる場合がある。例えば、Niは任意の人工ニューロンを表す。
【0042】
また、人工シナプスを、人工シナプスに接続されている2つの人工ニューロンのそれぞれの識別数字i及びjを用いて識別する場合がある。例えば、S41は、N1とN4とを接続する人工シナプスを表す。一般には、Sijは、Niの出力をNjに入力する人工シナプスを表す。なお、Sjiは、Njの出力をNiに入力する人工シナプスを表す。
【0043】
図3において、A~Jは、ロボット40の状態が定義されていることを表す。ロボット40の状態とは、ロボット40の感情、内分泌物質の生成状態、ロボット40の状況等を含む。一例として、N
4、N
6、及びN
7は、ロボット40の状況を表す概念が定義された概念人工ニューロンである。例えば、N
4は、「ベルが鳴った」という状況が割り当てられた概念人工ニューロンである。N
6は、「充電が開始された」という状況が割り当てられた概念人工ニューロンである。N
7は、「蓄電量が閾値以下」との状況が割り当てられた概念人工ニューロンである。
【0044】
N1、N3、Nb及びNcは、ロボット40の感情が定義された感情人工ニューロンである。N1は、「嬉しい」という感情が割り当てられた感情人工ニューロンである。N3は、「悲しい」という感情が割り当てられた感情人工ニューロンである。Nbは、「怖い」という感情が割り当てられた感情人工ニューロンである。Ncは、「楽しい」という感情が割り当てられた感情人工ニューロンである。
【0045】
N2、N5及びNaは、ロボット40の内分泌状態が定義された内分泌人工ニューロンである。N5は、ドーパミンの発生状態が割り当てられた内分泌人工ニューロンである。ドーパミンは、報酬系に関与する内分泌物質の一例である。すなわち、N5は、報酬系に関与する内分泌人工ニューロンの一例である。N2は、セロトニンの発生状態が割り当てられた内分泌人工ニューロンである。セロトニンは、睡眠系に関与する内分泌物質の一例である。すなわち、N2は、睡眠系に関与する内分泌人工ニューロンの一例である。Naは、ノルアドレナリンの発生状態が割り当てられた内分泌人工ニューロンである。ノルアドレナリンは、交感神経系に関与する内分泌物質の一例である。すなわち、Naは、交感神経系に関与する内分泌人工ニューロンである。
【0046】
格納部280内の定義情報284には、ニューラルネットワークを構成する複数の人工ニューロンの各人工ニューロンに対して、上述したようなロボット40の状態を定義する情報が格納される。このように、ニューラルネットワーク300は、概念人工ニューロン、感情人工ニューロン、内分泌人工ニューロンを含む。概念人工ニューロン、感情人工ニューロン、内分泌人工ニューロンは、概念、感情及び内分泌等の意味が明示的に定義された人工ニューロンである。これに対し、N8やN9は、ロボット40の状態が定義されていない人工ニューロンである。また、N8やN9は、概念、感情及び内分泌等の意味が明示的に定義されていない人工ニューロンである。
【0047】
ニューラルネットワーク300のパラメータとしては、ニューラルネットワークの各N
iへの入力であるIt
iと、ニューラルネットワークの外部からNiへの入力であるEt
iと、Niのパラメータと、Siのパラメータとを含む。
【0048】
Niのパラメータは、Niのステータスを表すSt
iと、Niが表す人工ニューロンの内部状態を表すVimtと、Niの発火の閾値を表すTi
tと、Niが最後に発火した時刻である最終発火時刻を表すtfと、最終発火時刻における人工ニューロンNiの内部状態を表すVimtfと、出力の増減パラメータであるat
i、bt
i、ht
iとを含む。出力の増減パラメータは、人工ニューロンの発火時の出力の時間発展を定めるパラメータの一例である。なお、本実施形態において、下付きの添え字のtは、時刻の進展とともに更新され得るパラメータであることを表す。また、Vimtは、人工ニューロンの膜電位に対応する情報であり、人工ニューロンの内部状態又は出力を表すパラメータの一例である。
【0049】
Sijのパラメータは、Sijの人工シナプスの結合係数を表すBSt
ijと、Sijが接続しているNi及びNjが最後に同時に発火した時刻である最終同時発火時刻を表すtcfと、最終同時発火時刻における結合係数を表すBSij
tcfと、結合係数の増減パラメータであるat
ij、bt
ij、ht
ijとを含む。結合係数の増減パラメータは、人工シナプスが結びつけている2つの人工ニューロンが最後に同時に発火した後の結合係数の時間発展を定めるパラメータの一例である。
【0050】
パラメータ処理部240は、外部入力データ生成部230からの入力と、ニューラルネットワークに基づいて上述したパラメータを更新して、各人工ニューロンの活性化の状態を決定する。動作決定部250は、ニューラルネットワーク内の複数の人工ニューロンのうちの少なくとも一部の人工ニューロンのパラメータの値によって定められる少なくとも一部の人工ニューロンの内部状態又は活性状態と、定義情報284によって少なくとも一部の人工ニューロンに定義されている状態とに基づいて、ロボット40の動作を決定する。なお、活性状態とは、活性化した状態又は活性化していない状態をとり得る。本実施形態において、活性化することを「発火」と呼び、活性化していないことを「未発火」と呼ぶ場合がある。なお、後述するように、「発火」の状態を、内部状態が上昇中であるか否かに応じて「上昇相」と「下降相」とに分ける。「未発火」と、「上昇相」及び「下降相
」とは、ステータスStiによって表される。
【0051】
図4は、ニューラルネットワークのパラメータをテーブル形式で概略的に示す。各ニューロンNは、閾値T
tと、増減パラメータh
t、a
t及びb
tとをパラメータとして持つ。また、各人工シナプスは、結合係数BS
tと、増減パラメータh
t、a
t及びb
tとをパラメータとして含む。
図4には、N
i毎に、人工シナプスでN
iに直接接続される全ての人工ニューロンの各パラメータと、当該人工シナプスの各パラメータとが、一行で示されている。
【0052】
図5は、ロボット40が起動又はリセットされた場合のサーバ200の動作フローを概略的に示す。サーバ200は、ロボット40が起動又はリセットされたことが受信すると、パラメータ処理部240は、ニューラルネットワークのパラメータの初期設定を行う。例えば、パラメータ処理部240は、格納部280からパラメータの初期値を取得して、ニューラルネットワークのパラメータデータを所定のデータ構造で生成する(S502)。また、時刻t
0におけるニューラルネットワークのパラメータの値を設定する。初期設定が完了すると、S504において、時刻tに関するループを開始する。
【0053】
S510において、パラメータ処理部240は、時間ステップtn+1における、人工シナプスの電気的影響による変化に対応するパラメータを計算する。具体的には、任意のSijのBSt
ijを計算する。
【0054】
S520において、パラメータ処理部240は、時間ステップtn+1における、内分泌物質による化学的影響による変化に対応するパラメータを計算する。具体的には、内分泌人工ニューロンが影響を及ぼすNi及びSijのパラメータの変化を計算する。より具体的には、時間ステップtn+1における、内分泌人工ニューロンが影響を及ぼす人工ニューロンNiの内部状態の増減パラメータや閾値と、内分泌人工ニューロンが影響を及ぼすSijの結合係数の増減パラメータや結合係数を計算する。
【0055】
S530において、パラメータ処理部240は、ニューラルネットワークの外部からの入力を取得する。具体的には、パラメータ処理部240は、外部入力データ生成部230の出力を取得する。
【0056】
S540において、パラメータ処理部240は、時間ステップtn+1における、Niの内部状態を計算する。具体的には、Vimtn+1及びステータスStt
iを計算する。そして、S550において、時刻tn+1における各パラメータの値を、格納部280のパラメータ288に格納する。また、時刻tn+1における各パラメータの値を、動作決定部250及び切換制御部260に出力する。
【0057】
S560において、切換制御部260は、時間ステップtn+1におけるNiのパラメータが、記録データ292に格納するデータの記録形式の切換条件を満たすか否かを判断する。時間ステップtn+1におけるNiのパラメータが記録形式の切換条件を満たす場合、切換制御部260は、記録形式の切り換えをロボット40に指示する(S570)。つづいて、記録制御部270は、第1記録形式から第2記録形式へ切り替える際に、第2記録形式の情報へのタグ付けを指示し(S580)、S506に進む。一方、S560において、時間ステップtn+1におけるNiのパラメータが記録形式の切換条件を満たさない場合は、S506に進む。
【0058】
S506において、パラメータ処理部240は、ループを終了するか否かを判断する。例えば、時間ステップが表す時刻が所定の時刻に達した場合や、ロボット40からのセンサ情報が予め定められた時間にわたって受信されなかった場合に、ループを終了すると判断する。ループを終了しない場合、S510に戻り、更に次の時間ステップの計算を行う。ループを終了する場合、このフローを終了する。
【0059】
図6は、人工シナプスの結合係数の計算を概略的に説明する図である。ここでは、増減パラメータの初期値として定数a
ij及びb
ijが定義されている場合を説明する。
【0060】
時刻tnの時間ステップにおいて、Sijの両端のNi及びNjがいずれも発火している場合、パラメータ処理部240は、時刻tn+1におけるBStn+1
ijを、BStn+1
ij =BStn
ij+atn
ij×(tn+1-tn)により計算する。一方、時刻tnの時間ステップにおいてSi及びSjがいずれも発火していない場合、時刻tn+1における結合係数BStn+1
ijを、BStn+1
ij=BStn
ij+btn
ij×(tn+1-tn)により計算する。また、BStn+1
ijが負の値になる場合は、BStn+1
ijは0とする。なお、BSijが正の値のSijでは、at
ijが正の値であり、bt
ijは負の値である。BSijが負の値のSijでは、at
ijは正の値であり、bt
ijは負の値である。
【0061】
図6に示されるように、時刻t
0で両端の人工ニューロンが同時発火しているので、BS
t
ijは単位時間当たりa
t0
ijで増加する。また、時刻t
1で同時発火していないので、BS
t
ijは、単位時間当たり|b
t1
ij|で減少する。また、時刻t
4で同時発火したことにより、BS
t
ijは単位時間当たりa
t4
ijで増加する。
【0062】
図7は、結合係数の増減パラメータとして関数h
t
ijが定義されている場合の結合係数の時間発展を概略的に示す。h
t
ijは、t
cfからの経過時間Δt(=t-t
cf)≧0において定義される。h
t
ijは、少なくともΔtの関数であり、実数の値をとる。
【0063】
図7に示す関数700は、h
t
ijの一例である。関数700は、時刻t
cfにおける結合係数BS
tcf
ij及びΔtの関数である。関数700は、Δtが所定の値より小さい範囲で場合に単調増加し、Δtが所定の値より大きい場合に単調減少して0に向けて漸減する。関数700は、Δt=0において値BS
tcf
ijをとる。
【0064】
図7は、結合係数の増減パラメータとして関数700が定義されており、時刻t
0において両端のN
i及びN
jが同時発火した場合の結合係数を示す。パラメータ処理部240は、関数700とΔtとに基づいて、時刻t
1~時刻t
6の各時刻のBS
t
ijを算出する。時刻t
1~時刻t
6の時間範囲内では、N
i及びN
jは同時発火していない。そのため、例えば、時刻t
2以降、結合係数は単調に減少する。
【0065】
図8は、時刻t
2でN
i及びN
jが更に同時発火した場合の結合係数の時間発展を概略
的に示す。結合係数は、時刻t
0から時刻t
2までは、
図7と同様に計算される。時刻t
2においてN
i及びN
jが更に同時発火すると、パラメータ処理部240は、h
t
ij(t-t
2,BS
t2
ij)に従って時刻t
3~t
6の各時刻の結合係数を計算する。このように、同時発火が繰り返される毎に、結合係数が高まる。これにより、生体におけるHebbの法則のように、人工シナプス結合を強化するような効果が得られる。一方、
図6及び
図7に示すように、同時発火しない時間が長くなると、人工シナプス結合が減衰するような効果が得られる。
【0066】
図9は、パラメータに与えられる化学的影響を定義する影響定義情報を概略的に示す。この影響定義情報は、
図5のS520のパラメータの変化の計算に用いられる。定義情報は、内分泌人工ニューロンの内部状態に関する条件と、影響を与える人工ニューロン又は人工シナプスを特定する情報と、影響内容を定める式を含む。
【0067】
図9の例において、内分泌人工ニューロンN
2は、眠気の内分泌物質が割り当てられた内分泌人工ニューロンである。内分泌人工ニューロンN
2に関する定義情報は、「Vm
tn
2>T
tn
2」の条件、内分泌人工ニューロンN
2が影響を与える人工ニューロンとして「感情人工ニューロンN
1及びN
3」、影響内容を定める式として「T
tn+1
i=T
tn
i×1.1」が定められている。これにより、パラメータ処理部240は、Vm
tn
2がT
tn
2を超える場合、時刻t
n+1の感情人工ニューロンN
1及びN
3閾値を、10%上昇させる。これにより、例えば、眠気が生じた場合に、感情人工ニューロンを発火させにくくすることができる。例えば、「蓄電量が閾値以下」であることが定義された概念人工ニューロンN
7の出力を、内分泌人工ニューロンN
2の入力に接続したニューラルネットワークを定めることで、蓄電量が低くなると感情が高まりにくくなる現象を体現することが可能になる。
【0068】
また、内分泌人工ニューロンN5は、ドーパミンが割り当てられた内分泌人工ニューロンである。内分泌人工ニューロンN5に関する第1の定義情報は、「Vmtn
5>Ttn
5及びVmtn
4>Ttn
4」の条件、内分泌人工ニューロンN5が影響を与える人工シナプスとして「S49及びS95」、影響内容を定める式として「atn+1
ij=atn
ij×1.1」という式が定められている。これにより、パラメータ処理部240は、Vmtn
5がTtn
5を超え、かつ、Vmtn
4がTtn
4を超える場合、時刻tn+1の人工シナプスS49及びS95の増減パラメータを10%上昇させる。
【0069】
これにより、報酬系の内分泌人工ニューロンが発火した場合に、「ベルが鳴った」という状況が定義された概念人工ニューロンN4が発火していると、インプリシット人工ニューロンN9を介した概念人工ニューロンN4とN5との結合を強めることができる。これにより、「ベルが鳴った」場合に報酬系の内分泌人工ニューロンN5が発火し易くなる。
【0070】
また、内分泌人工ニューロンN5に関する第2の定義情報は、「Vmtn
5>Ttn
5」の条件、内分泌人工ニューロンN5が影響を与える人工ニューロンとして「N1」、影響内容を定める式として「Ttn+1
i=Ttn
i×1.1」という式が定められている。これにより、パラメータ処理部240は、Vmtn
5がTtn
5を超える場合、時刻tn+1の人工ニューロンN1の増減パラメータを10%低下させる。これにより、報酬系の内分泌人工ニューロンN5が発火した場合に、嬉しいという感情が発火し易くなる。
【0071】
このような報酬系の内分泌人工ニューロンに関する影響を定めた定義によれば、ベルを鳴らしながらロボット40を充電するという行為を繰り返すと、ベルを鳴らしただけでロボット40が嬉しさを表す行動をとる、というような実装が可能になる。
【0072】
なお、影響定義情報は、
図9の例に限られない。例えば、条件として、人工ニューロンの内部状態が閾値以下であるとの条件を定義してよい。また、人工ニューロンのステータスに関する条件、例えば、上昇相、下降相又は未発火に関する条件を定義してよい。また、影響範囲は、人工ニューロンや人工シナプスを直接指定する他に、「特定の人工ニューロンに接続された全人工シナプス」というような定義を行うこともできる。また、影響の式については、対象が人工ニューロンの場合、閾値を定数倍にすることの他に、閾値に定数を加えることや、内部状態の増減パラメータを定数倍するような式を定義してよい。また、対象が人工シナプスの場合、増減パラメータを定数倍することの他に、結合係数を定数倍するような式を定義してよい。
【0073】
影響定義情報は、格納部280の定義情報284内に格納される。このように、格納部280は、内分泌人工ニューロンに人工シナプスで直接接続されていない他の人工ニューロン及び人工シナプスの少なくとも一方のパラメータに、内分泌人工ニューロンの内部状態及び発火状態の少なくとも一方が与える影響を定めた影響定義情報を格納する。そして、パラメータ処理部240は、内分泌人工ニューロンの内部状態及び発火状態の少なくとも一方と、当該影響定義情報とに基づいて、内分泌人工ニューロンに人工シナプスで直接接続されていない他の人工ニューロン及び人工シナプスの少なくとも一方のパラメータを更新する。また、内分泌人工ニューロンの内部状態及び発火状態の少なくとも一方が影響を与える他の人工ニューロンのパラメータは、他の人工ニューロンの閾値、発火状態、及び、発火時の出力の時間発展を定めるパラメータの少なくとも1つを含むことができる。また、内分泌人工ニューロンの内部状態及び発火状態の少なくとも一方が影響を与える人工シナプスのパラメータは、当該人工シナプスの結合係数、及び、当該人工シナプスが結びつけている2つの人工ニューロンが最後に同時に発火した後の結合係数の時間発展を定めるパラメータの少なくとも1つを含むことができる。また、影響定義情報は、報酬系に関連づけられた内分泌人工ニューロンの発火状態が感情人工ニューロンの閾値に与える影響を定めた情報を含み、パラメータ処理部240は、当該内分泌人工ニューロンが発火した場合に、影響定義情報に従って、感情人工ニューロンの閾値を更新する。
【0074】
図10は、V
tn+1
i及びS
tn+1
iを計算するフローチャートを示す。本フローチャートの処理は、
図5のS540内の処理の一部に適用できる。S1100において、パラメータ処理部240は、S
tn
iが未発火を示すか否かを判断する。
【0075】
Stn
iが未発火を示す場合、パラメータ処理部240は、Niへの入力Itn+1
iを計算する(S1110)。具体的には、ニューラルネットワークの外部からの入力がNiに接続されていない場合、Itn+1
i =ΣjBStn+1
ji×Vmtn
j×f(Stn
j)によって計算する。ニューラルネットワークの外部からの入力がNiに接続されている場合、Itn+1
i=ΣjBStn+1
ji× Vmtn
j×f(Stn
j)+Etn+1
iによって計算する。ここで、Etn
iは、ニューラルネットワークの外部からの時刻tnにおける入力である。
【0076】
また、f(S)は、Sが未発火を表す値の場合は0を返し、Sが上昇相又は下降相を示す値の場合は1を返す。このモデルは、ニューロンが発火した場合のみシナプスが活動電位を伝達するモデルに対応する。なお、f(S)=1を返してもよい。これは、ニューロンの発火状態によらず膜電位を伝達するモデルに対応する。
【0077】
S1112において、パラメータ処理部240は、Itn+1
iがTtn+1
iを超えるか否かを判断する。Itn+1
iがTtn+1
iを超える場合、パラメータ処理部240は、Vmtn+1
iを増減パラメータに基づいて算出するとともに、Vmtn+1
iに応じてStn+1
iを上昇相又は下降相に示す値に設定し(S1114)、このフローを終了する。
【0078】
S1100において、Stn
iが上昇相又は下降相である場合、パラメータ処理部240は、Vmtn+1
iを算出する(S1120)。そして、パラメータ処理部240は、tn+1までにVmt
iがVminに達した場合は、Stn+1
iを未発火の値に設定し、tn+1までにVmt
iがVminに達していない場合は、Stn+1
iを上昇相又は下降相の値に設定して、このフローを終了する。なお、パラメータ処理部240は、tn+iまでにVmt
iがVmaxに達した場合はStn+1
iに下降相の値を設定し、tn+1までにVmt
iがVmaxに達していない場合はStn+1
iに上昇相の値を設定する。
【0079】
このように、Niが発火している場合は、たとえ出力が閾値以下になっても、Niの出力は入力に依存しない。このような期間は、生体のニューロンにおける絶対不応期に対応する。
【0080】
図11は、N
iが発火しない場合のV
t
iの計算例を概略的に説明する図である。
【0081】
時刻t0の時間ステップにおいてNiは未発火である。時刻t1のIt1
iがTt1
i以下である場合、パラメータ処理部240は、時刻t1におけるVt1
iを、Vt1
i=It1
iにより計算し、時刻t0からt1までの期間のVt
iを、Vt
i=It0
iにより計算する。また、同様に、パラメータ処理部240は、時刻ステップtnで計算したVt
nの値を次の時刻ステップまで維持し、Vtn+1において、Itn+1に変化させる。
【0082】
図12は、N
iが発火する場合のV
i
tの計算例を概略的に説明する図である。
図12は、定数a
i及びb
iが定義されている場合の計算例である。
【0083】
時刻t0の時間ステップにおいて、Niは未発火である。時刻t1のIt1
iがTt1
iを超える場合、パラメータ処理部240は、時刻t1におけるVt1
iを、Vt1
i=It1
iにより計算し、時刻t0からt1までの期間のVt
iを、Vt
i=It0
iにより計算する。なお、ここでは、時刻t1のIt1
iがVmax以下であるとする。時刻t1のIt1
iがVmaxを超える場合は、It1
i=Vmaxとする。
【0084】
パラメータ処理部240は、
図12に示されるように、時刻t
1以降、V
t
iがVmaxに達する時刻まで、V
t
iを単位時間当たりa
t
ijで増加させる。また、パラメータ処理部240は、この期間のN
iのステータスS
t
iを上昇相に決定する。
【0085】
また、Vt
iがVmaxに達すると、Vt
iがVminに達するまで、Vt
iを単位時間当たり|bt
i|減少させる。また、パラメータ処理部240は、この期間のNiのステータスを下降相に決定する。そして、Vt
iがVminに達すると、次の時刻におけるVt6
iを、Vt6
i=It6
iにより計算する。また、Vt
iがVminに達した後のステータスを未発火に決定する。
【0086】
なお、Niのステータスが下降相にある場合、算出されたVmt
iがTt
iを下回ったとしても、Vmt
iはIt
iに依存しない。パラメータ処理部240は、Vmt
iがTt
iを下回ったとしても、Vmt
iがVminに達するまで、増減パラメータに従ってVmt
iを算出する。
【0087】
図13は、N
iの増減パラメータとして関数h
t
iが定義されている場合の結合係数の時間発展を概略的に示す。一般に、h
t
iは、発火時刻t
fからの経過時間Δt(=t-t
f)≧0において定義される。h
t
iは、少なくともΔtの関数である。h
t
iは実数の値をとり、h
t
iの値域はVmin以上Vmax以下である。
【0088】
図13に示す関数1300は、h
t
iの一例である。関数1300は、時刻t
fにおけるVm
tf
i及びΔtの関数である。関数1300は、Δtが所定の値より小さい範囲で場合に単調増加し、Δtが所定の値より大きい場合に単調減少する。関数1300は、Δt=0において値Vm
tf
iをとる。
【0089】
図13は、内部状態の増減パラメータとして関数1400が定義されており、時刻t
1においてN
iが発火した場合の出力を示す。パラメータ処理部240は、関数1400、Δt及びVm
f
iに基づいて、時刻t
1~時刻t5の各時刻のVmtiを計算する。Vm
t
iは時刻t
5でVminに達しているため、時刻t
6ではVm
i=I
t6
iとなる。
【0090】
図14は、記録形式切換ルール290に格納されるルール1400の一例をテーブル形式で示す。ルール1400は、N
1、N
3、N
b及びN
cのいずれかのVmtiが、閾値を超えたという第1条件が少なくとも満たされた場合に、情報の記録形式を「低圧縮形式に切り換える」という動作が定められている。これにより、切換制御部260は、高圧縮形式で情報が記録されている場合において、第1条件が満たされない状態から第1条件が満たされた状態になったときに、情報の記録形式を低圧縮形式に切り換えると判断する。なお、閾値として、それぞれのN
jのVmaxに定数0.9を乗じた値が例示されている。閾値は、Titより高くてよい。
【0091】
また、ルール1400には、N5及びNaのVmt
iの合計値が、閾値を超えたという第2条件が少なくとも満たされた場合に、データの記録形式を「低圧縮形式に切り換える
」という動作が定められている。これにより、切換制御部260は、高圧縮形式で情報が記録されている場合において、第2条件が満たされない状態から第2条件が満たされた状態になったときに、情報の記録形式を低圧縮形式に切り換えると判断する。なお、閾値として、それぞれのNjのVmaxの合計値に定数0.9を乗じた値が例示されている。閾値は、それぞれのNjのTi
tの合計値より高くてよい。
【0092】
N1、N3、Nb及びNcは、それぞれ「嬉しい」、「悲しい」、「怖い」及び「楽しい」という感情が定義された感情人工ニューロンである。したがって、パラメータ処理部240において感情人工ニューロンの内部状態に基づいて感情の強さが決定され、決定された感情の強さが予め定められた閾値を超えたことに応じて、記録形式を低圧縮形式に切り換えることができる。
【0093】
N5及びNaは、それぞれ「ドーパミン」及び「ノルアドレナリン」の内分泌物質が定義された内分泌人工ニューロンである。これらの内分泌人工ニューロンの内部状態のパラメータの合計値は、「興奮」という感情の強さを表す指標の一例である。したがって、パラメータ処理部240において内分泌人工ニューロンの内部状態に基づいて感情の強さが決定され、決定された感情の強さが予め定められた閾値を超えたことに応じて、記録形式を低圧縮形式に切り換えることができる。
【0094】
また、ルール1400には、N1、N3、Nb及びNcのいずれのVmt
iも第1閾値以下であり、かつ、N5及びNaのVmt
iの合計値が第2閾値以下であるという第3条件が満たされた場合に、データの記録形式を「高圧縮形式に切り換える」という動作が定められている。したがって、切換制御部260は、低圧縮形式で情報が記録されている場合において、第3条件が満たされない状態から第3条件が満たされた状態になったときに、情報の記録形式を高圧縮形式に切り換えると判断する。このように、感情の強さが予め定められた閾値以下となったことに応じて、記録形式を高圧縮形式に切り換えることができる。
【0095】
なお、第3条件の第1閾値は、それぞれのNjのVmaxに定数0.8を乗じた値である。また、第3条件の第2閾値は、それぞれのNjのVmaxの合計値に定数0.8を乗じた値である。このように、第3条件の第1閾値が第1条件の閾値より小さく、第3条件の第2閾値が第2条件の閾値より小さい場合が例示されている。しかし、第1閾値は第1条件の閾値と同じであってよく、第2閾値は第2条件の閾値と同じであってもよい。また、第3条件の第1閾値は、それぞれのNjのTi
tより高くてよい。また、第3条件の第2閾値は、それぞれのNjのTi
tの合計値より高くてよい。また、各条件の閾値には、これらの例に限られず、様々な値を適用できる。
【0096】
システム20によれば、ロボット40は、ロボット40の感情が著しく高くない状態にある期間、骨格データ等の高圧縮形式の情報を連続的にサーバ200に送信して、サーバ200に記録させる。サーバ200に記録された継続的な骨格データ等の情報は、ロボット40の記憶を解析する場合に使用することができる。そして、ロボット40は、ロボット40の感情が著しく高まると、フルHDの映像データ及び音声データの送信を開始し、感情が一定値以上強い状態が続く期間、骨格データに加えて、フルHDの映像データ及び音声データを含む低圧縮形式の情報をサーバ200に記録させる。そして、ロボット40は、例えばロボット40の思い出の映像を提供するようユーザ30から要求された場合に、フルHDの映像データ及び音声データを送信するようサーバ200に要求して、サーバ200から受信した映像データ及び音声データをユーザ30に提供する。
【0097】
このように、システム20によれば、ロボット40が強い感情を抱いたシーンの高画質な映像データを、サーバ200に蓄積することができる。一方、ロボット40が強い感情を抱いていない場合は、骨格データ等の概略化した情報をサーバ200に蓄積することができる。このように、ロボット40は、人間と同じように、強い感情を抱いたときの記憶を鮮明に残しつつ、強い感情を抱いていないときの記憶は概略化して残るようにことができる。
【0098】
なお、本実施形態では、感情として「嬉しい」、「悲しい」、「怖い」、「楽しい」及び「興奮」を取り上げて説明したが、システム20で扱う感情はこれらに限定されない。また、本実施形態では、内分泌物質として「ドーパミン」、「セロトニン」及び「ノルアドレナリン」を取り上げて説明したが、システム20で扱う内分泌物質はこれらに限定されない。
【0099】
また、サーバ200の機能は、1以上のコンピュータによって実装されてよい。サーバ
200の少なくとも一部の機能は、仮想マシンによって実装されてよい。また、サーバ200の機能の少なくとも一部は、クラウドで実装されてよい。また、サーバ200の機能のうち、格納部280を除く構成要素の機能は、CPUがプログラムに基づいて動作することによって実現できる。例えば、サーバ200の動作として説明した処理の少なくとも一部は、プロセッサがプログラムに従ってコンピュータが有する各ハードウェア(例えば、ハードディスク、メモリ等)を制御することにより実現できる。このように、サーバ200の処理の少なくとも一部は、プロセッサがプログラムに従って動作して各ハードウェアを制御することにより、プロセッサ、ハードディスク、メモリ等を含む各ハードウェアとプログラムとが協働して動作することにより実現できる。すなわち、プログラムが、サーバ200の各構成要素としてコンピュータを機能させることができる。同様に、ロボット40の構成要素のうち、制御対象155、センサ部156を除く構成要素の機能は、CPUがプログラムに基づいて動作することによって実現できる。すなわち、プログラムが、ロボット40の各構成要素としてコンピュータを機能させることができる。なお、コンピュータは、上述した処理の実行を制御するプログラムを読み込み、読み込んだプログラムに従って動作して、当該処理を実行してよい。コンピュータは、当該プログラムを記憶しているコンピュータ読取可能な記録媒体から当該プログラムを読み込むことができる。また、当該プログラムは通信回線を通じてコンピュータに供給され、コンピュータは、通
信回線を通じて供給されたプログラムを読み込んでよい。
【0100】
以上に説明した実施形態では、ロボット40とは異なるサーバ200が、ニューラルネットワークの処理を担う。また、ロボット40とは異なるサーバ200が、映像データ等の情報を格納する。しかし、ロボット40自身が、ニューラルネットワークの処理等の、サーバ200の機能を担ってよい。また、ロボット40自身が、映像データ等の情報を格納してよい。また、ロボット40は、サーバ200による制御対象となる機器の一例である。制御対象となる機器はロボット40に限られず、家電製品、乗物、玩具等の様々な機器を制御対象として適用できる。
【0101】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0102】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階などの各処理の実行順序は、特段「より前に」、「先立って」などと明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」などを用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0103】
20 システム
30 ユーザ
40 ロボット
90 通信網
152 処理部
155 制御対象
156 センサ部
158 通信部
161 マイク
162 3D深度センサ
163 2Dカメラ
164 距離センサ
200 サーバ
202 処理部
208 通信部
210 初期値設定部
230 外部入力データ生成部
240 パラメータ処理部
250 動作決定部
260 切換制御部
270 記録制御部
280 格納部
282 動作決定ルール
284 定義情報
286 パラメータ初期値
288 パラメータ
290 記録形式切換ルール
292 記録データ
300 ニューラルネットワーク