(57)【要約】【課題】実環境下での推定時における入力データのサイズと事前学習用データの入力データのサイズとが異なる場合であっても、モデルが適切な事前学習を実行できる学習用データを取得することが可能になる。【解決手段】学習装置１０において、前処理部１３０は、推定環境を模擬した環境下において計測した連続した入力データと、連続した入力データに対応する出力データとを、事前学習用データとして収集する事前学習用データ収集部１３１と、連続した入力データを、該入力データよりも大きなサイズを含む、複数のサイズの連続した入力データに変換するとともに、連続した入力データに対応する出力データを、複数のサイズの連続した入力データにそれぞれ対応する出力データに変換し、学習データとして出力する変換部１３２と、を有する。【選択図】図１
2020091535.tif 000002
【特許請求の範囲】
【請求項１】
推定環境を模擬した環境下において計測した連続した入力データと、前記連続した入力データに対応する出力データとを、事前学習用データとして収集する収集部と、
前記連続した入力データを、該入力データよりも大きなサイズを含む、複数のサイズの連続した入力データに変換するとともに、前記連続した入力データに対応する出力データを、前記複数のサイズの連続した入力データにそれぞれ対応する出力データに変換し、学習データとして出力する変換部と、
を有することを特徴とする前処理装置。
【請求項２】
前記変換部は、少なくとも推定環境下における再学習用の入力データを、該再学習用の入力データのサイズとは異なる他のサイズの入力データの数と同じ数、或いは、前記他のサイズの入力データの数より多い数含む分布にしたがって、前記連続した入力データを変換することを特徴とする請求項１に記載の前処理装置。
【請求項３】
前記分布は、前記再学習用の入力データを、前記他のサイズの入力データの数より多い数含む確率分布に従っており、
前記確率分布は、推定環境下で用いる入力データのサイズを分布の中心とした凸型の確率分布であることを特徴とする請求項２に記載の前処理装置。
【請求項４】
前記収集部は、前記連続した入力データのサイズとして、少なくとも１つ以上推定環境下における再学習用の入力データのサイズを含み、事前学習アルゴリズムが前記推定環境下における再学習用の入力データのサイズのデータを判別可能である指標をデータセットに含む前記事前学習用データを収集することを特徴とする請求項１〜３のいずれか一つに記載の前処理装置。
【請求項５】
前記収集部は、前記連続した入力データとして、眼球運動の推定環境を模擬した環境において計測されたユーザの眼電位の計測値の時系列データを収集し、前記連続した入力データに対応する出力データとして眼球の方向変化量を収集することを特徴とする請求項１〜４のいずれか一つに記載の前処理装置。
【請求項６】
前記収集部は、前記連続した入力データとして、視線位置の推定環境を模擬した環境において連続して撮像されたユーザの瞳孔位置を収集し、前記連続した入力データに対応する出力データとして画面上の視線位置の方向変化量を収集することを特徴とする請求項１〜４のいずれか一つに記載の前処理装置。
【請求項７】
前記収集部は、前記連続した入力データとして、物体移動の推定環境を模擬した環境において計測された物体の加速度の時系列データを収集し、前記連続した入力データに対応する出力データとして物体の実際の移動量を収集することを特徴とする請求項１〜４のいずれか一つに記載の前処理装置。
【請求項８】
前処理装置が実行する前処理方法であって、
推定環境を模擬した環境下において計測した連続した入力データと、前記連続した入力データに対応する出力データとを、事前学習用データとして収集する工程と、
前記連続した入力データを、該入力データよりも大きなサイズを含む、複数のサイズの連続した入力データに変換するとともに、前記連続した入力データに対応する出力データを、前記複数のサイズの連続した入力データにそれぞれ対応する出力データに変換し、学習データとして出力する工程と、
を含んだことを特徴とする前処理方法。
【請求項９】
推定環境を模擬した環境下において計測した連続した入力データと、前記連続した入力データに対応する出力データとを、事前学習用データとして収集するステップと、
前記連続した入力データを、該入力データよりも大きなサイズを含む、複数のサイズの連続した入力データに変換するとともに、前記連続した入力データに対応する出力データを、前記複数のサイズの連続した入力データにそれぞれ対応する出力データに変換し、学習データとして出力するステップと、
をコンピュータに実行させるための前処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、前処理装置、前処理方法及び前処理プログラムに関する。
【背景技術】
【０００２】
入力値が非線形性の強いデータ、或いは、ノイズの大きいデータであったとしても、頑健に出力値を精度よく推定可能である機械学習技術が提案されている。例えば、ニューラルネットワーク（ＮＮ：Neural  Network）や、畳み込みニューラルネットワーク（ＣＮＮ：Convolutional  Neural  Network）は、一定区間の系列的な入力に対応する１つの出力値を推定する問題を解くために使用される。
【０００３】
ある一定の区間における連続値から、１つの出力値を推定する問題をＣＮＮによって解くときには、まず、過去に計測できた「区間内の入力系列」と、「出力値」の対応関係を、ＣＮＮに学習させる必要がある。そして、学習を終えて初めて、学習済みのモデルに、新規な「区間内の入力系列」を与えることで、未知の「出力値」を推定できるようになる。ここで、区間のサイズが問題となる。ＣＮＮには、入力として様々に区間の長さが異なるデータを与えてよい。
【０００４】
例えば、最大の入力系列分の入力ユニットを用意して、それより小さい入力データを入れる場合には周囲を０で埋めるなどの前処理を行うことによって、入力系列のサイズの違いを吸収することができる。なお、ユニット数を固定する場合には、０で埋める以外にも、入力系列の周囲の値も含めて入力ユニットに入れ、正負で分ける、attention機構などによって対象範囲を指定するなどの方法を採用してもよく、ユニット数自体を可変にし、特殊なpooling層でユニット数の違いを吸収するなどの方法をとってもよい。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】中山英樹,  “深層畳み込みニューラルネットワークによる画像特徴抽出と転移学習”,  電子情報通信学会音声研究会7月研究会,  2015
【発明の概要】
【発明が解決しようとする課題】
【０００６】
学習時の入力系列の区間のサイズ（例えば１次元配列である場合には長さ）がＡであった場合、「サイズＡの入力系列」に対して精度よく出力を推定できるようにＣＮＮは学習を行う。このため、推定時に学習時と異なるサイズＢの入力系列をＣＮＮに与えると、適切な推定ができないという問題がある。図１５は、学習時と推定時とにおける入力系列の区間のサイズについて説明する図である。図１５に示すように、学習時の入力系列の長さが６であった場合、推定時に学習時の長さと異なる長さ４，６の入力系列をＣＮＮに入力すると、学習時と違う長さの系列である長さ４については、適切に推定画行えず、出力が発散してしまう（図１５の（１），（２）参照）。
【０００７】
この問題を避けるためには、推定時に用いる系列と同じサイズの系列を学習データに用いる必要がある。図１６は、学習時と推定時とにおける入力系列の区間のサイズについて説明する図である。学習時の入力系列の長さに４，６を含むならば、推定時に、長さ４，６の入力系列に対して適切に推定が可能になる（図１６の（１），（２）参照）。
【０００８】
しかしながら、推定時に用いる系列と同じサイズの系列を学習データとして集められない場合も多い。入力系列は、時間的な連続データ、或いは空間的な連続データである。これらの連続データは、より大きな連続データを一定間隔で区分したものである場合がある。一般に、何かを計測する際、時間・空間的に粒度を細かく区分して値を取得するためには、より高性能な計測装置や方法が必要となる。また、このような高性能な計測装置や方法は、一般的に高価である。
【０００９】
このため、出力データとして本来望ましい細かく区分されたレベルの出力値を取得できない場合がある。図１７は、ＣＮＮに対する入力データ及び出力データを説明する図である。図１７では、入力データが時系列データなどの１次元配列データである例を示す。本来は、入力となる連続データを、データＤａのように細かい粒度で区分し、それぞれの短い入力系列に対する出力をＣＮＮに学習させたくとも（図１７の（１）参照）、出力として本来望ましい細かく区分されたレベルの出力値を取得できない場合がある。そして、計測に求められる技術的或いは経済的な問題から、データＤｂのように、大きく区分した入力系列に対する出力しか取得できず、結果的に大きな入力系列とそれに対する出力しか学習できない場合がある（図１７の（２）参照）。
【００１０】
このように、従来の方法には、細かい粒度の入力系列と、それに対応する出力との学習ができないという問題があった。そして、従来の方法には、推定時に、学習時と異なるサイズの入力系列を与えると、適切に推定ができないという問題があった。
【００１１】
本番の実環境で十分なデータを集められないことが理由で生じる問題（有名なものとしては過学習も含む）を、実環境を模擬した環境で取得したデータで事前に学習したモデルを用いることで解決する手法として、転移学習がある。しかしながら、転移学習を用いて前述の問題を解決しようとした場合であっても、実環境で対象となるサイズ長のデータが全くない状態では、従来の転移学習を適用することはできない。
【００１２】
この理由は、転移学習は、実環境において不足したデータを補うことはできるものの、同じサイズの入力系列を対象としているためである。言い換えると、転移学習は、事前学習と、実環境での弱い再学習とのいずれにおいても、ネットワークの入力ユニット数が同一であり、そこに入力される画像のサイズ（区間）も同一である必要があるためである。
【００１３】
例えば、実環境において、長さ２の入力データと、それに対する出力データが少ない数しか集められない場合を例に説明する。この場合には、この問題を解決するため、模擬環境において、長さ２の入力データと、それに対する出力データを大量に集めて事前学習させておく。そして、実環境で取得した少ない数の長さ２の入力データと、それに対する出力データを用いて弱い再学習を行うことによって、推定精度を上げている。したがって、既存の転移学習手法では、実環境における再学習時に、長さ２の入力データに対する出力データが全く得られない場合には、適切に推定を行えない。
【００１４】
本発明は、上記に鑑みてなされたものであって、実環境下での推定時における入力データのサイズと事前学習用データの入力データのサイズとが異なる場合であっても、モデルが適切な事前学習を実行できる学習用データを取得することが可能になる前処理装置、前処理方法及び前処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
上述した課題を解決し、目的を達成するために、本発明に係る前処理装置は、推定環境を模擬した環境下において計測した連続した入力データと、連続した入力データに対応する出力データとを、事前学習用データとして収集する収集部と、連続した入力データを、該入力データよりも大きなサイズを含む、複数のサイズの連続した入力データに変換するとともに、連続した入力データに対応する出力データを、複数のサイズの連続した入力データにそれぞれ対応する出力データに変換し、学習データとして出力する変換部と、を有することを特徴とする。
【発明の効果】
【００１６】
本発明によれば、実環境下での推定時における入力データのサイズと事前学習用データの入力データのサイズとが異なる場合であっても、モデルが適切な事前学習を実行できる学習用データを取得することが可能になる。
【図面の簡単な説明】
【００１７】
【図１】図１は、実施の形態１における推定システムの構成の一例を示す図である。
【図２】図２は、ＣＮＮモデルの入出力データを説明する図である。
【図３】図３は、従来の学習方法を説明する図である。
【図４】図４は、学習装置における処理を説明する図である。
【図５】図５は、推定装置における処理を説明する図である。
【図６】図６は、学習装置が実行する事前学習処理の処理手順を示すフローチャートである。
【図７】図７は、推定装置が実行する再学習処理の処理手順を示すフローチャートである。
【図８】図８は、従来のＥＯＧ（Electrooculography）による眼球運動推定方法を説明する図である。
【図９】図９は、実施例１におけるＥＯＧによる眼球運動推定方法における事前学習を説明する図である。
【図１０】図１０は、実施例１におけるＥＯＧによる眼球運動推定方法における再学習を説明する図である。
【図１１】図１１は、カメラから取得された画像を説明する図である。
【図１２】図１２は、従来のカメラで撮像した画像による視線位置推定方法を説明する図である。
【図１３】図１３は、実施例２におけるカメラで撮像した画像による視線位置推定における事前学習を説明する図である。
【図１４】図１４は、プログラムが実行されることにより、学習装置及び推定装置が実現されるコンピュータの一例を示す図である。
【図１５】図１５は、学習時と推定時とにおける入力系列の区間のサイズについて説明する図である。
【図１６】図１６は、学習時と推定時とにおける入力系列の区間のサイズについて説明する図である。
【図１７】図１７は、ＣＮＮに対する入力データ及び出力データを説明する図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施の形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【００１９】
［実施の形態１］
まず、本発明の実施の形態１について説明する。図１は、実施の形態１における推定システムの構成の一例を示す図である。図１に示すように、実施の形態に係る推定システム１は、学習装置１０と、推定装置２０とを有する。
【００２０】
学習装置１０は、推定装置２０が用いるモデルの事前学習を行う。学習装置１０は、推定環境を模擬した環境下において計測した連続した系列的な入力データと、連続した系列的な入力データに対応する出力データとを、事前学習用データとして用いて、モデルの事前学習を行う。事前学習用データにおける入力データは、実環境下において推定装置２０に入力される入力データよりも細かい粒度のデータ、すなわち、推定装置２０に入力される入力データよりもサイズが小さいデータである。学習装置１０は、事前に学習されたモデルのモデルパラメータを推定装置２０に出力する。
【００２１】
推定装置２０は、実環境下に設けられた装置であり、学習装置１０において事前学習済みのモデルを用いて、推定対象である連続した系列的な入力データに対応する、１つの出力値を推定する。また、推定装置２０は、推定前に、実環境下に置いて収集された再学習用データを用いて、弱められた学習を行う転移学習（再学習）を行う。再学習用データは、実環境下において収集された、連続した系列的な入力データと、この入力データに対応する出力データとであり、学習装置１０に事前学習用データとして収集された入力データよりも粗い粒度のデータ、すなわち、サイズが大きいデータである。
【００２２】
［学習装置の構成］
次に、学習装置１０の構成について説明する。学習装置１０は、通信処理部１１、記憶部１２及び制御部１３を有する。
【００２３】
通信処理部１１は、ネットワーク等を介して接続された他の装置（例えば、推定装置２０）との間で、各種情報を送受信する通信インタフェースである。通信処理部１１は、ＮＩＣ（Network  Interface  Card）等で実現され、ＬＡＮ（Local  Area  Network）やインターネットなどの電気通信回線を介した他の装置と制御部１３（後述）との間の通信を行う。
【００２４】
記憶部１２は、例えば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現され、学習装置１０を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが記憶される。記憶部１２は、事前学習用データ１２１及びＣＮＮモデル１２２を有する。
【００２５】
事前学習用データ１２１は、推定環境を模擬した環境下において計測した連続した系列的な入力データと、連続した系列的な入力データに対応する出力データとである。事前学習用データ１２１の入力データは、推定環境を模擬した環境下において計測されたデータであり、実環境下での推定装置２０に入力される入力データよりも細かい粒度のデータである。事前学習用データ１２１は、連続した入力データのサイズとして、少なくとも１つ以上推定環境下における再学習用の入力データのサイズを含む。事前学習用データ１２１は、再学習用の入力データが、それ以外のサイズのデータと同じか、それ以上の影響力を事前学習過程において持つような操作を行うことのできるように、事前学習アルゴリズムが、推定環境下における再学習用の入力データのサイズのデータを判別可能である指標をデータセットに含む。
【００２６】
ＣＮＮモデル１２２は、ＣＮＮを適用したモデルである。図２は、ＣＮＮモデル１２２の入出力データを説明する図である。図２に示すように、ＣＮＮモデル１２２は、一定区間の系列的な入力データＤ１が入力されると、１つの出力値を推定する問題を解き、出力値Ｄ２を出力する（図２の（１），（２）参照）。ＣＮＮモデル１２２は、データの入出力関係を学習することによって、未知の入力データに対応する出力を推定する。ＣＮＮモデル１２２は、連続した系列的な入力データ及び出力データを学習したモデルの各種パラメータを含む。
【００２７】
なお、本実施の形態において使用されるモデルは、ＣＮＮモデルに限らない。本実施の形態において使用されるモデルは、連続した系列的な入力データから学習によって出力データを推定できるモデルであれば足りる。
【００２８】
制御部１３は、学習装置１０全体を制御する。制御部１３は、各種の処理手順などを規定したプログラム及び所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する。例えば、制御部１３は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路である。また、制御部１３は、各種のプログラムが動作することにより各種の処理部として機能する。制御部１３は、前処理部１３０及び事前学習部１３３を有する。
【００２９】
前処理部１３０は、ＣＮＮモデル１２２の事前学習用データ１２１に対して以下に説明する前処理を行うことによって、実環境下での推定時における入力データのサイズと事前学習用データの入力データのサイズとが異なる場合であっても、ＣＮＮモデルが適切な事前学習を実行できる学習用データを提供する。前処理部１３０は、事前学習用データ収集部１３１（収集部）及び変換部１３２を有する。
【００３０】
事前学習用データ収集部１３１は、推定環境を模擬した環境下において計測した連続した入力データと、連続した入力データに対応する出力データとを、事前学習用データとして収集する。事前学習用データ収集部１３１は、連続した入力データのサイズとして、少なくとも１つ以上推定環境下における再学習用の入力データのサイズを含み、事前学習アルゴリズムが推定環境下における再学習用の入力データのサイズのデータを判別可能である指標をデータセットに含む事前学習用データを収集する。
【００３１】
変換部１３２は、事前学習用データ収集部１３１が収集した連続した入力データを、該入力データよりも大きなサイズを含む、複数のサイズの連続した入力データに変換する。変換部１３２は、事前学習用データ収集部１３１が収集した、連続した入力データに対応する出力データを、複数のサイズの連続した入力データにそれぞれ対応する出力データに変換する。変換部１３２は、変換した入力データ及び出力データを事前学習用データとして、事前学習部１３３に出力する。
【００３２】
変換部１３２は、事前学習用データ収集部１３１が収集した、少なくとも推定環境下における再学習用の入力データを、該再学習用の入力データのサイズとは異なる他のサイズの入力データの数と同じ数、或いは、他のサイズの入力データの数より多い数含む分布にしたがって、連続した入力データを変換する。分布は、再学習用の入力データが、他のサイズの入力データの数より多い数含む確率分布に従っている。この確率分布は、推定環境下のデータサイズで推定精度を最も高めることを目的として、推定環境で用いる入力データのサイズを分布の中心とした凸型の確率分布である。
【００３３】
事前学習部１３３は、前処理部１３０によって変換された複数のサイズの連続した入力データと、この複数のサイズの連続する入力データにそれぞれ対応した出力データとを、ＣＮＮモデル１２２に学習させる。事前学習部１３３は、前処理部１３０により変換された大量の事前学習用データを学習したＣＮＮモデル１２２の各種パラメータを、実環境下における推定装置２０に出力する。
【００３４】
［推定装置の構成］
次に、推定装置２０の構成について説明する。推定装置２０は、実環境下に設けられた装置であり、通信処理部２１、記憶部２２及び制御部２３を有する。
【００３５】
通信処理部２１は、通信処理部１１と同様の機能を有し、ネットワーク等を介して接続された他の装置（例えば、学習装置１０）との間で、各種情報を送受信する通信インタフェースである。
【００３６】
記憶部２２は、記憶部１２と同様の機能を有し、半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現され、推定装置２０を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが記憶される。記憶部２２は、再学習用データ２２１及びＣＮＮモデル２２２を有する。
【００３７】
再学習用データ２２１は、実環境下において再学習のために収集された、連続した入力データと、この入力データに対応する出力データとである。最学習用の入力データは、学習装置１０に事前学習用データとして入力データよりも粗い粒度のデータ、すなわち、学習装置１０に入力される入力データよりもサイズが大きいデータである。
【００３８】
ＣＮＮモデル２２２は、モデルパラメータとして、学習装置１０から出力された各種パラメータが設定された後に、推定装置２０における再学習において、弱い学習を加えられる。
【００３９】
制御部２３は、推定装置２０全体を制御する。制御部２３は、制御部１３と同様の機能を有し、ＣＰＵやＭＰＵどの電子回路である。制御部２３は、再学習用データ収集部２３１、再学習部２３２及び推定部２３３を有する。
【００４０】
再学習用データ収集部２３１は、実環境下において収集された、連続した系列的な入力データと、この入力データに対応する出力データとを再学習用データとして収集する。これらの再学習用データは、学習装置１０において事前学習用データとして収集された入力データよりもサイズが大きいデータである。
【００４１】
再学習部２３２は、再学習データで、ＣＮＮモデル２２２に弱い学習を加えて、ＣＮＮモデル２２２のモデルパラメータを更新する。例えば、再学習部２３２は、ＣＮＮモデル２２２の出力層に遠い部分の学習係数を小さくすることによって、弱められた学習を行う。推定システム１では、実環境を模擬した環境下において取得した多量のデータでＣＮＮモデルの事前学習を行っておき、その後、実環境下で得られた少数のデータでＣＮＮモデルに弱い学習を加える。これによって、推定システム１では、実環境下で少数データしか得られない場合であっても、過学習を避けて高い精度で推定が可能なＣＮＮモデル２２２を生成することができる。
【００４２】
推定部２３３は、再学習後のＣＮＮモデル２２２を用いて推定を行う。推定部２３３は、ＣＮＮモデル２２２を用いて、推定対象である連続した系列的な入力データに対応する、１つの出力値を推定する。
【００４３】
［処理の流れ］
ここで、従来の学習方法について説明する。図３は、従来の学習方法を説明する図である。従来、推定時に事前学習時と異なるサイズの入力データをＣＮＮモデルに与えると、推定時に、適切な推定ができないという問題がある。具体的に、事前学習時に、推定したい長さ（例えば、４）に対応した出力が得られない場合には、長さ４のデータを学習に含めることができない（図３の（１）参照）。この場合には、入力データを細かい粒度（例えば、長さ４）で計測できていても、出力の計測ができた大きい粒度（例えば、長さ６）の入力データでしか推定が行なえない（図３の（２）参照）。この結果、推定時に、長さ４の入力データをＣＮＮモデルに与えても、出力が発散してしまい、適切な推定ができない。このように、従来、推定時に、学習時と異なるサイズの入力系列を与えると、適切に推定ができなかった。
【００４４】
これに対し、本実施の形態の学習装置１０では、前処理部１３０が、実環境下での推定時における入力データのサイズと事前学習用データの入力データのサイズとが異なる場合であっても、モデルが適切な事前学習を実行できるように、事前学習用データを変換している。図４は、学習装置１０における処理を説明する図である。図５は、推定装置２０における処理を説明する図である。
【００４５】
図４の（１）に示すように、学習装置１０は、実環境で推定したい粒度のデータを模擬環境下で取得する（図４の（Ａ）参照）。このとき、学習装置１０は、例えば、細かな粒度での計測を行うことによって、長さ２の入力データと、これに対応する出力データ「４」とを事前学習用のデータＤ１１−１として収集する。ここで、実環境で再学習及び推定したい入力データの粒度は、長さ６であるとする。したがって、収集した入力データの長さと、実環境で推定した入力データの長さが異なる。
【００４６】
この場合、学習装置１０では、前処理部１３０が、細かい粒度のデータを結合し、実環境で計測可能な大きめの粒度データを様々なスケールで生成し、事前学習に含める（図４の（Ｂ）参照）。例えば、前処理部１３０は、実環境で推定したい長さ６の入力データと、この長さ６に対応する出力データとを、事前学習用データ１２１から変換し、変換したデータＤ１１−２を事前学習に含める。
【００４７】
そして、事前学習部１３３は、事前学習用のデータＤ１１−１とともに、前処理部１３０が変換したデータＤ１１−２をＣＮＮモデル２２２に学習させ、図４の（２）に示すように、模擬環境下で、それぞれの粒度で推定できていることを確認する（図４の（Ｃ）参照）。
【００４８】
このように、例えば、模擬環境下で計測された長さ２の入力データを、長さ４や長さ６の入力データに変換したものを含めて事前学習し、実環境で長さ６の状態で再学習するとする。この時、データサイズごとに学習における影響力を変えるような操作を行わない限り、事前学習において２の長さの入力データの数が、長さ４の入力データの数、長さ６の入力データの数よりも少ないと、長さ２のデータの数については、学習において、たいして考慮せずとも、長さ４，６の入力データについて適切に推定できれば、推定がうまくいっているとアルゴリズムが判定を下してしまう（誤差関数を減少させるネットワーク）。このことから、事前学習において、長さ２の入力データは、長さ４，６の入力データの数と同じか、より多くの数で存在している必要がある。
【００４９】
長さ２の入力データの数を多くしておくと、実環境で用いる長さ２の入力データを重視してモデルを作ることができる。しかしながら、長さ２の入力データが多ければいいというものではない。例えば、長さ２の入力データが１００個で、長さ４，６の入力データが１個だった場合、学習や推定はうまくいかないと考えられる。これは、モデルが、長さ２，４，６の入力データがある程度平等に入力されてくる状況を前提としなくなることから、今度は、長さ６の入力データを用いて実環境下で弱い学習を行っても、弱い学習が、長さ２の入力データをモデルに入力した際の推測の経路に全く影響を及ぼさなくなってしまうためである。言い換えると、長４，６の入力データについてモデルが意味のある学習或いは推論を行わなくなってしまう。
【００５０】
このことから、データサイズの数は、一様分布（長さ２，４，６のデータが同数）に従うか、実環境下のデータ長に対応する目的を強調するにしても、実環境下のデータサイズを中心として、凸型の確率分布を描くような数（長さ２の入力データが一番多く、長さが、そこから離れる（この例では長さ４，６）につれて順々に数が減る分布）である必要がある。
【００５１】
また、このようにデータ数を揃えなくとも、事前学習の際に、実環境下での入力データの長さと一致した入力データの長さについては、それ以外の入力データの長さよりも誤差に対するペナルティを重くするなどの操作を通じて、擬似的に、実環境下の長さの入力データが、それ以外の長さの入力データと同じ以上に重要視されるよう、事前学習において操作を行うことができる。このような方法をとるために、変換部１３２は、「実環境下での長さと同じ長さの入力データはこれである」と判別可能な情報（指標）をデータセットに含めて、事前学習用データを変換する。なお、周囲を０で埋める前処理法を用いた場合には、０以外の部分が入力データの長さであるため、入力データそのものが、その判別指標となる。
【００５２】
続いて、推定装置２０は、事前学習後のＣＮＮモデルのモデルパラメータを受け取り、実環境下における再学習を行う（図５の（３）参照。）。実環境下では、推定したい細かな粒度（例えば、長さ２）で入力データを取得できても、細かな粒度の入力データに対応する出力データは、実環境では取得できない（図５の（Ｄ）参照）。ただし、実環境下では、大きな粒度のデータであれば入力及び出力ともに取得できるため、推定装置２０は、このデータを用いて、ＣＮＮを再学習する（図５の（Ｅ）参照）。推定装置２０は、例えば、長さ６の入力データと、この入力データに対応する出力データ「８」を用いて、弱められた学習（再学習）を行う。
【００５３】
この結果、図５の（４）に示すように、推定装置２０は、学習装置１０による事前学習の結果、長さ２の入力データについても出力データを適切に推定することが可能になる。これととともに、推定装置２０は、学習装置１０による事前学習と再学習データに基づく弱い学習との結果、長さ６の入力データについても、実環境に応じた出力データを適切に推定することが可能になる。
【００５４】
したがって、本実施の形態によれば、実環境下で再学習では細かい粒度のデータを用いることができない場合であっても、事前学習で得た細かい粒度の入出力データが持つ情報と、実環境下で得た大きな粒度のデータが持つ情報とが協調的に学習されたことで、いずれのサイズの入力データに対しても推定が可能になる（図５の（Ｆ）参照）。
【００５５】
［事前学習処理の処理手順］
次に、事前学習処理の処理手順について説明する。図６は、学習装置１０が実行する事前学習処理の処理手順を示すフローチャートである。
【００５６】
図６に示すように、学習装置１０では、前処理部１３０の事前学習用データ収集部１３１が、細かな粒度での計測を模擬環境下において連続した系列的な入力データと、連続した系列的な入力データに対応する出力データと事前学習用データとして収集する（ステップＳ１）。事前学習用データ収集部１３１は、実環境下での推定装置２０に入力される入力データよりも細かい粒度のデータを収集する。
【００５７】
続いて、前処理部１３０では、変換部１３２が、ステップＳ１において収集した連続した入力データを、該入力データよりも大きなサイズを含む、複数のサイズの連続した入力データに変換するとともに、連続した入力データに対応する出力データを、複数のサイズの連続した入力データにそれぞれ対応する出力データに変換する変換処理を行う（ステップＳ２）。変換部１３２は、変換した入力データ及び出力データを事前学習用データとして、事前学習部１３３に出力する。この際、変換部１３２は、事前学習用データ収集部１３１が収集した、連続した入力データを、少なくとも推定環境下における再学習用の入力データを、該再学習用の入力データのサイズとは異なる他のサイズの入力データの数と同じ数、或いは、他のサイズの入力データの数より多い数含む分布にしたがって変換する。そうでない場合には、実環境下での長さと同じ長さの入力データに事前学習において大きな影響力を持たせられるように、それと判別可能な指標を含めておく。
【００５８】
事前学習部１３３は、事前学習用データ収集部１３１が収集したデータ、及び、前処理部１３０によって変換された複数のサイズの連続した入力データと、この複数のサイズの連続する入力データにそれぞれ対応した出力データとを、ＣＮＮモデル１２２に学習させる事前学習を行う（ステップＳ３）。そして、事前学習部１３３は、前処理部１３０により変換されたデータを含む大量の事前学習用データを学習したＣＮＮモデル１２２の各種パラメータを、実環境下における推定装置２０に出力する（ステップＳ４）。
【００５９】
［再学習処理の処理手順］
次に、再学習処理の処理手順について説明する。図７は、推定装置２０が実行する再学習処理の処理手順を示すフローチャートである。
【００６０】
図７に示すように、推定装置２０では、再学習用データ収集部２３１は、実環境下において収集された、連続した系列的な入力データと、この入力データに対応する出力データとを再学習用データとして収集する（ステップＳ１１）。なお、再学習用データは、学習装置１０において事前学習用データとして収集された入力データよりもサイズが大きいデータである。
【００６１】
再学習部２３２は、再学習データで、ＣＮＮモデル２２２に弱い学習を加える再学習を行う（ステップＳ１２）。そして、再学習部２３２は、ＣＮＮモデル２２２のモデルパラメータを更新する（ステップＳ１３）。推定部２３３は、再学習後のＣＮＮモデル２２２を用いて、入力データに対する推定を実行する。
【００６２】
［実施の形態の効果］
このように、実施の形態では、ＣＮＮモデル１２２に事前学習を実行する学習装置１０に、前処理部１３０を設けて、事前学習用として収集したデータに前処理を行ってから、事前学習を実行させている。
【００６３】
具体的には、前処理部１３０は、推定環境を模擬した環境下において計測した連続した入力データと、連続した入力データに対応する出力データとを、事前学習用データとして収集する。そして、前処理部１３０は、この連続した入力データを、該入力データよりも大きなサイズを含む、複数のサイズの連続した入力データに変換するとともに、連続した入力データに対応する出力データを、複数のサイズの連続した入力データにそれぞれ対応する出力データに変換する前処理を行い、学習データとして出力する。前処理部１３０は、事前学習用データ収集部１３１が収集した、連続した入力データを、少なくとも推定環境下における推定装置２０の再学習用の入力データのサイズに変換する。
【００６４】
言い換えると、学習装置１０は、事前学習用データの入力データを合成し、事前学習用データの入力データのサイズを、実環境下での推定時における入力データのサイズを含む複数のサイズのデータに変換するとともに、収集された出力データを、複数のサイズの連続した入力データにそれぞれ対応する出力データに変換する前処理を行っている。
【００６５】
すなわち、実施の形態では、実環境下での再学習時及び推定時において、事前学習用データの入力データのサイズに対応する出力データが得られない場合であっても、事前学習時には、前処理部１３０による処理によって、実環境下での推定時における入力データのサイズを含む複数のサイズの入力データ及び該入力データに対応する出力データを生成し、事前学習を実行している。
【００６６】
したがって、実施の形態では、事前学習用データの粒度の小さい入力データ及び出力データに加え、実環境下において得られる粒度の大きい入力データ及び出力データについても、多量のデータを用いてＣＮＮモデル１２２に事前学習を実行させることができる。
【００６７】
そして、実施の形態では、その後、推定装置２０において、実環境下で得られた少数のデータで、事前学習後のＣＮＮモデル２２２に弱い再学習を加えるため、実環境下で少数データしか得られない場合であっても、過学習を避けて高い精度で推定が可能なＣＮＮモデル２２２を生成することができる。
【００６８】
上記のように、実施の形態によれば、実環境下での推定時における入力データのサイズと事前学習用データの入力データのサイズとが異なる場合であっても、ＣＮＮモデルが適切な事前学習を実行できる学習用データを取得することが可能になる。
【００６９】
［実施例１］
次に、実施例１として、ＥＯＧによる眼球運動推定に適用した場合について説明する。ＥＯＧでは、眼球が、前に＋方向、後ろに−方向に帯電していることを利用し、視線の向いている方向を推定する方法である。例えば、眼球のすぐ上及びすぐ下に電極を付けて電位を計測し、眼球のすぐ上の電位が上がり、すぐ下の電位が下がったことが計測されれば、眼球前方が上方向に変化、すなわち、視線が上方向に移動したことを推定できる。
【００７０】
まず、従来のＥＯＧによる眼球運動推定方法を説明する。図８は、従来のＥＯＧによる眼球運動推定方法を説明する図である。図８のグラフＧ１は、交流ＥＯＧ法を用いて計測した眼電位の時間依存を示す。グラフＧ１は、眼電位の変化量を増幅して記録したものである。ここで、区間Ｔ２においては、眼球前方が下方向に変化し、そのまま停止していると推定できる。区間Ｔ２の最初の電位変化がマイナス方向であることから、眼球後方のマイナス電位が電極に近づき、すなわち、眼球の上に寄り、眼球前方のプラス電位が電極から遠ざかった、すなわち、眼球の下に寄ったと判断できるためである。加えて、その直後に反対側に山なりの波形が現れていることから、その方向変化の直後に停止していることも推定できる。区間Ｔ１では眼球の回転はないことや、区間Ｔ３では眼球前方が上方向に変化したことも推定できる。
【００７１】
また、眼球の方向変化のサイズについては、電位変化量のサイズから推定が可能である。具体的には、区間Ｔ１のように眼球の方向変化のない時間帯での電位をオフセット値として考え、そこから推定区間中で一番初めに発生した電位変化の山の高さが高ければ高いほど、方向変化も大きいと考える。実際には、十分な精度を出すために、領域中の電位がどの程度オフセット値から離れていたかを合算（積分）して、サイズを算出することによって、方向変化のサイズを算出する。この際、一定領域間の波形と、その領域間に変化した眼球の角度が得られていれば、それらの対応をＣＮＮモデルに学習させることによって、ある新規な領域間の波形から、その領域間に変化した眼球の方向を推定することができるようになる。
【００７２】
ここで、この推定問題において、出力である推定対象は、眼球の方向（視線位置）変化である。眼球の方向変化を捉えるためには、視線の絶対位置を取得できるアイトラッキングシステムが必要である。リアルタイムに視線の位置を捉えるアイトラッキングシステムがあれば、細かい時間単位で電位を区切り、その区間の中で変化した視線位置を取得できる。例えば、０．１秒間隔で区切った場合、０．１秒ごとの視線位置を出力（データＤａ−１参照）として事前学習を行うことができる。
【００７３】
言い換えると、このように細かい間隔で眼球の方向変化を計測するには、高価なアイトラッキングシステムが必要であるものの（図８の（１）参照）、実環境下では、高価なアイトラッキングシステムを常に備えることは難しい。そこで、多くの場合、アイトラッキングシステムを用いずに、指定した距離を視線移動させるなどの方法によって、眼球の方向変化を簡便に計測し、指定した時間内に生じた電位の波形に対応づけたデータ（例えば、データＤｂ−１）で学習を行う。
【００７４】
しかしながら、アイトラッキングシステムなしには、大きな間隔でしか眼球方向変化量を取得できない（図８の（２）参照）。すなわち、「5秒の間に指定した距離の視線移動を起こしてください」というキャリブレーションをユーザに行わせることはできても、０．１秒ごとにこの行為をユーザに行わせることは不可能であるためである。言い換えると、アイトラキングなしには、リアルタイムに眼球の方向変化量を取得することはできず、５秒などの大きな時間的区間に対応した眼球変化量を出力として用いることになる。
【００７５】
０．１秒ごとなど細かい時間間隔で推定を行うには、その細かい時間間隔で計測された出力値を実環境下において再学習する必要がある。しかしながら、模擬環境下でアイトラッキングシステムを用いて事前学習用データを収集したとしても、実環境下では、アイトラッキングシステムを設けることが難しいため、事前学習時のデータの粒度に対応する再学習用データを収集することが難しい。このため、従来では、リアルタイムに眼球の方向変化量を推定することを目的とした学習には不適切なデータしか取得できなかった。
【００７６】
次に、本実施例１におけるＥＯＧによる眼球運動推定方法を説明する。図９は、実施例１におけるＥＯＧによる眼球運動推定方法における事前学習を説明する図である。
【００７７】
実施例１では、まず、学習装置１０の事前学習用データ収集部１３１が、模擬環境下において、アイトラッキングシステムを用いて事前学習用データを収集する。事前学習用データ収集部１３１は、連続した入力データとして、眼球運動の推定環境を模擬した環境において計測されたユーザの眼電位の計測値の時系列データを収集し、連続した入力データに対応する出力データとして眼球の方向変化量を収集する。
【００７８】
例えば、事前学習用データ収集部１３１は、視線位置を推定したい環境を模擬した環境において、事前に一度だけアイトラッキングシステムを用いて、最も細かい時間間隔で眼球の方向変化量を計測し（図９の（１）参照）、データを収集する。収集されるデータは、例えば、０．１秒ごとに計測された眼電位波形を入力データとし、各入力データに対応する眼球の方向変化量を出力するデータＤａ１２である。なお、視線位置の対象がモニタであれば、同じくモニタであればよく、対象がタブレットであれば、タブレットであればよい。画面と眼球との距離を一定に合わせたり、同一人物の生理データを計測したりする必要はない。
【００７９】
そして、変換部１３２は、これらの入力データを様々なサイズの系列ができるように合成し、これらの各サイズの入力データに対応する出力データを生成し、事前学習部１３３が、ＣＮＮモデル１２２に学習させる（図９の（２），（３）参照）。
【００８０】
具体的には、変換部１３２は、入力データである０．１秒ごとに計測された眼電位波形を、０．２秒、０．４秒、０．８秒の各間隔となるように合成し、各合成後の眼電位波形に対応する眼球の方向変化量をそれぞれ求めて、事前学習用データ（例えば、Ｄ１２−１〜Ｄ１２−３）とする。例えば、０．１秒間隔ごとに、アイトラッキングシステムで計測した場合、変換部１３２は、０．１秒間隔で撮像された眼電位波形のうち、連続する２つの波形を合成した０．２秒間隔の眼電位波形を入力データとし、合成した０．２秒間隔の眼電位波形に対応する眼球の方向変化量を求めて出力データとする。
【００８１】
ここで、ＣＮＮでは、入力層に近い畳み込み層では、入力データの特徴量を抽出する処理を行い、出力層に近い層では、抽出された主な特徴から出力を推定する処理を行っていると言われている。このうち、入力から特徴量を抽出する過程（畳み込み層）は、計測対象が共通していれば、計測する環境が異なった場合にも、同一のモデルを用いることができる。この過程を学習によって作るときに、細かい粒度から大きい粒度までの入力系列を大量に用いておくことで、推定場面で細かい粒度の入力系列を与えても、適切に特徴抽出を行える畳み込み層を生成することができる。
【００８２】
次に、適用先となる実環境での再学習について説明する。図１０は、実施例１におけるＥＯＧによる眼球運動推定方法における再学習を説明する図である。実環境においては、アイトラッキングシステムを用いず、被験者に眼球移動量を指示するなどの方法を用いて、大きな時間間隔で取得した眼球方向変化量を出力、電位の波形を入力とし、ＣＮＮを再学習する。この時、大きなサイズのデータしか取得できない実環境での再学習にあたっては、ＣＮＮのうちFully  connectedな出力層に近い数層の結線のみを学習の対象とし、変更する（図１０の（１）参照）。
【００８３】
事前学習によって、細かな時間間隔を含んだ、様々な時間間隔で区分した波形の特徴量を抽出できる畳み込み層を実現しておいた。ここでは、それらによって抽出された主な特徴から出力を算出するFully  connected層だけを、大きな時間間隔で取得した現実環境でのデータを用いて調節する。前述の通り、ある時間間隔で取得したデータのみを用いた学習は、モデルをその時間間隔に特化させ、それ以外の時間間隔で取得したデータへの対応力を低下させる。これに対し、本実施例１では、学習をFully  connected層に限定しておくことによって、モデル全体が大きな時間間隔にしか対応できない形に変化するのを防ぎつつ、事前学習での模擬環境と現実環境の違いによる大まかな入出力関係の違いを調整することを可能にする。
【００８４】
［実施例２］
次に、実施例２として、カメラで撮像した画像による視線位置推定に適用した場合について説明する。図１１は、カメラから取得された画像を説明する図である。図１２は、従来のカメラで撮像した画像による視線位置推定方法を説明する図である。
【００８５】
カメラによる視線位置の推定では、多くの場合、ユーザの顔を撮影し、撮像した画像Ｇ２１，Ｇ２２（図１１参照）に対する画像処理によって瞳孔の位置を取得する。取得された瞳孔の位置と、画面上での視線位置を対応付けることで、カメラを用いた視線位置推定は実現される。
【００８６】
カメラ画像から、眼球の方向（視線位置）変化を捉えたい場合を考える。視線位置の方向変化を捉えるには、視線の絶対位置を取得できるアイトラッキングシステムが必要である。リアルタイムに視線の位置を捉えるアイトラッキングシステムがあれば、細かい時間単位で画像を撮像し、その時間間隔ごとに変化した視線位置を取得できる。例えば、０．１秒間隔で撮像を行った場合、０．１秒ごとの視線位置を出力として事前学習を行うことができる（図１２上図参照）。
【００８７】
しかしながら、細かい時間間隔で画面上での視線位置を取得するには、高価なアイトラッキングシステムが必要であり（図１２の（１）参照）、いつでもアイトラッキングシステムを使えるわけではない。そこで、多くの場合、指定した距離を視線移動させるなどの方法によって、視線位置の方向変化量を簡便に計測し、指定した時間内に生じた画像内での瞳孔の移動量とそれを対応づけて学習を行う。したがって、従来、アイトラッキングシステムなしには、大きな間隔でしか視線位置の方向変化量を取得できなかった（図１２の（２）参照）。
【００８８】
このため、この手法では、リアルタイムに眼球の方向変化量を取得することはできず、５秒などの大きな時間的区間に対応した眼球変化量を出力として用いることになる。すなわち、「5秒の間に指定した距離の視線移動を起こしてください」というキャリブレーションをユーザに行わせることはできても、０．１秒ごとにこの行為をユーザに行わせることはできないためである。０．１秒ごとなど、細かい時間間隔で推定を行うには、その細かい時間間隔で計測された出力値を学習する必要があるため、従来では、リアルタイムに眼球の方向変化量を推定することを目的とした学習には不適切なデータしか取得できないという問題があった。
【００８９】
次に、本実施例２におけるカメラで撮像した画像による視線位置推定方法を説明する。図１３は、実施例２におけるカメラで撮像した画像による視線位置推定における事前学習を説明する図である。
【００９０】
実施例２では、まず、学習装置１０の事前学習用データ収集部１３１が、連続した入力データとして、視線位置の推定環境を模擬した環境において連続して撮像されたユーザの瞳孔位置を収集し、連続した入力データに対応する出力データとして画面上の視線位置の方向変化量を収集する。
【００９１】
具体的には、事前学習用データ収集部１３１が、視線位置を推定したい環境を模擬した模擬環境下で、事前に、一度、アイトラッキングシステムを用いて、細かい時間間隔でユーザの顔を撮像した画像を入力データとして取得するとともに、これらに対応する視線位置の方向変化量を計測しておく（図１３の（１）参照）。なお、視線位置の対象がモニタであれば、同じくモニタであればよく、対象がタブレットであれば、タブレットであればよい。画面と眼球との距離を一定に合わせたり、同一人物の生理データを計測したりする必要はない。
【００９２】
そして、変換部１３２は、これらの入力データを様々なサイズの系列が出来るように合成し、これらの各サイズの入力データに対応する出力データを生成し、事前学習部１３３が、ＣＮＮモデル１２２に学習させる（図１３の（２），（３）参照）。
【００９３】
具体的には、変換部１３２は、入力データである０．１秒ごとに計測された画像を、０．２秒間隔での画像に変換し、各変換後の画像に対応する視線位置の方向変化量をそれぞれ求めて、事前学習用データ（例えば、Ｄ１３−１〜Ｄ１３−３）とする。例えば、０．１秒間隔ごとにアイトラッキングシステムで計測した場合には、０．１行間隔で撮像された画像から、０．２秒間隔で画像を抽出して入力データとし、抽出した画像間における視線方向の変化量を求めて出力データとする。
【００９４】
ＣＮＮは、実施例１で説明したＥＯＧで説明した一次元の入力データ（１つのセンサ値が時系列にそって変化していくデータ）に限らず、二次元以上のデータも入力として扱うことができる。このため、事前学習部１３３は、縦×横の２次元データである画像が時系列に沿って変化していく２次元データを、そのまま、ＣＮＮモデル１２２の入力として、事前学習を行う。
【００９５】
次に、適用先となる実環境での再学習について説明する。実環境においては、アイトラッキングシステムを用いず、被験者に眼球移動量を指示するなどの方法を用いて、大きな時間間隔で取得した視線位置の方向変化量を出力、カメラで撮像した画像の変化系列を入力とし、ＣＮＮを再学習する。この時、実施例１において説明したように、学習にあたっては、ＣＮＮのうちFully  connectedな出力層に近い数層の結線のみを学習の対象とする（図１０参照）。
【００９６】
［実施例３］
次に、実施例３として、加速度センサの計測値による物体移動量推定に適用した場合について説明する。
【００９７】
この物体移動量推定補法では、物体がある位置から別の位置に移動するまでに取得される加速度センサからの時系列データを入力とし、実際の物体の移動量を出力としてＣＮＮモデルに事前学習を行う。このような場合、リアルタイムに物体の移動量を推定できるＣＮＮモデルを生成するには、別のセンサ情報を用いて、リアルタイムの物体位置を取得し、このように得られた値を出力データとし、加速センサによる計測値の時系列データを入力データとして事前学習を行う必要がある。例えば、別のセンサ情報として、接触センサを用いた位置取得などがある。しかしながら、実環境では、加速度センサとは別のセンサを用いることができず、細かい時間間隔で出力値が得られない場合がある。
【００９８】
このような場合であっても、学習装置１０の事前学習用データ収集部１３１は、連続した入力データとして、物体移動の推定環境を模擬した環境において計測された物体の加速度の時系列データを収集し、連続した入力データに対応する出力データとして物体の実際の移動量を収集する。具体的には、事前学習用データ収集部１３１は、模擬環境下において、細かい時間間隔での、加速度センサによる計測値と、加速度センサとは異なる別のセンサを用いた物体移動量の計測値とを、事前学習用データとして取得する。
【００９９】
そして、変換部１３２は、これらの入力データを様々なサイズの系列が出来るように合成し、これらの各サイズの入力データに対応する出力データを生成し、事前学習部１３３が、ＣＮＮモデル１２２に学習させる。例えば、０．１秒間隔ごとに、加速度センサ及び物体移動量を計測した場合、変換部１３２は、０．１秒間隔で計測した加速度センサの計測値のうち、連続する２つの計測値を、０．２秒間隔で計測した値となるように変換して入力データとする。そして、変換部１３２は、０．１秒間隔ごとに計測された物体移動量を基に、変換した０．２秒間隔の加速度センサの計測値に対応する物体の移動量を求めて出力データとする。
【０１００】
そして、実環境下では、推定装置２０は、粗い時間間隔で取得した物体位置情報のみを用いて再学習を行うことによって、細かい時間間隔での物体移動量推定が可能となる。なお、実環境下では、例えば、カメラによって物体が特定の位置を超えたタイミングを記録するなどの方法を採用してもよい。
【０１０１】
ＣＮＮによって入力から出力を推定する粒度は細かいほど良い場合が多い。しかしながら、細かい粒度で推定を行いたい場合、何の工夫もしなければ、事前学習において用いる入力データおよび出力データを細かい粒度で計測するしかない。一方、何らかの計測の粒度を細かくしていくと、経済的及び技術的な困難度が上がっていく。このような状況において、粒度の細かい計測が必要となる場面を少なくすることができれば、計測において経済的及び技術的な困難に行き当たる可能性を減らすことができる。
【０１０２】
本実施例１〜３では、推定時における再学習で用いる出力データについて、細かい粒度での計測の必要性を低減させることによって、計測における経済的及び技術的な困難を回避している。例えば、実施例１〜３において記載した通り、眼電位による視線移動量推定や、カメラ画像による視線移動量推定、その他の領域での推定において本実施の形態を適用する。この結果、技術的ハードルが高くなることの多いリアルタイムでの計測が必要となる場面を事前学習時のみに限ることができ、大幅に削減することができる。
【０１０３】
また、実施例１〜３では、実環境において取得した少数のデータで、モデルの出力層に近い部分のみを再調整することで、データ数の少なさを補った。ここで、データのサイズに依存して生じるデータ数不足、具体的には、再学習時に特定のサイズのデータのみが存在しない場合がある。これに対し、本実施例１〜３に示すように、学習装置１０は、事前学習時に細かい粒度で計測された入力データを様々なサイズの系列ができるように合成し、これらの各サイズの入力データに対応する出力データを生成している。この際、実施例１〜３に示すように、学習装置１０は、再学習時の学習対象であるサイズの入力データと出力データを事前学習用データとして生成することによって、再学習時に特定のサイズのデータのみが存在しない場合であっても、適切な事前学習及び再学習の実行を可能にする。
【０１０４】
［システム構成等］
図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷図や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、ＣＰＵ及び当該ＣＰＵにて解析実行されるプログラムにて実現され、或いは、ワイヤードロジックによるハードウェアとして実現され得る。本実施の形態に係る学習装置１０及び推定装置２０は、コンピュータとプログラムによっても実現でき、プログラムを記録媒体に記録することも、ネットワークを通して提供することも可能である。
【０１０５】
また、本実施の形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的におこなうこともでき、或いは、手動的に行なわれるものとして説明した処理の全部又は一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０１０６】
［プログラム］
図１４は、プログラムが実行されることにより、学習装置１０及び推定装置２０が実現されるコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０、ＣＰＵ１０２０を有する。また、コンピュータ１０００は、ハードディスクドライブインタフェース１０３０、ディスクドライブインタフェース１０４０、シリアルポートインタフェース１０５０、ビデオアダプタ１０６０、ネットワークインタフェース１０７０を有する。これらの各部は、バス１０８０によって接続される。
【０１０７】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、例えばマウス１１１０、キーボード１１２０に接続される。ビデオアダプタ１０６０は、例えばディスプレイ１１３０に接続される。
【０１０８】
ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、学習装置１０及び推定装置２０の各処理を規定するプログラムは、コンピュータ１０００により実行可能なコードが記述されたプログラムモジュール１０９３として実装される。プログラムモジュール１０９３は、例えばハードディスクドライブ１０９０に記憶される。例えば、学習装置１０及び推定装置２０における機能構成と同様の処理を実行するためのプログラムモジュール１０９３が、ハードディスクドライブ１０９０に記憶される。なお、ハードディスクドライブ１０９０は、ＳＳＤ（Solid  State  Drive）により代替されてもよい。
【０１０９】
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ１０９４として、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して実行する。
【０１１０】
なお、プログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。或いは、プログラムモジュール１０９３及びプログラムデータ１０９４は、ネットワーク（ＬＡＮ、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール１０９３及びプログラムデータ１０９４は、他のコンピュータから、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【０１１１】
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例及び運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【０１１２】
１  推定システム
１０  学習装置
１１，２１  通信処理部
１２，２２  記憶部
１３，２３  制御部
１２１  事前学習用データ
１２２，２２２  ＣＮＮモデル
１３０  前処理部
１３１  事前学習用データ収集部
１３２  変換部
１３３  事前学習部
２０  推定装置
２２１  再学習用データ
２３１  再学習用データ収集部
２３２  再学習部
２３３  推定部
【図１】
2020091535.tif 000003
【図２】
2020091535.tif 000004
【図３】
2020091535.tif 000005
【図４】
2020091535.tif 000006
【図５】
2020091535.tif 000007
【図６】
2020091535.tif 000008
【図７】
2020091535.tif 000009
【図８】
2020091535.tif 000010
【図９】
2020091535.tif 000011
【図１０】
2020091535.tif 000012
【図１１】
2020091535.tif 000013
【図１２】
2020091535.tif 000014
【図１３】
2020091535.tif 000015
【図１４】
2020091535.tif 000016
【図１５】
2020091535.tif 000017
【図１６】
2020091535.tif 000018
【図１７】
2020091535.tif 000019