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

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

▶ 株式会社不二越の特許一覧

<>
  • 特許-情報処理装置及び情報処理プログラム 図1
  • 特許-情報処理装置及び情報処理プログラム 図2
  • 特許-情報処理装置及び情報処理プログラム 図3
  • 特許-情報処理装置及び情報処理プログラム 図4
  • 特許-情報処理装置及び情報処理プログラム 図5
  • 特許-情報処理装置及び情報処理プログラム 図6
  • 特許-情報処理装置及び情報処理プログラム 図7
  • 特許-情報処理装置及び情報処理プログラム 図8
  • 特許-情報処理装置及び情報処理プログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2025-04-08
(45)【発行日】2025-04-16
(54)【発明の名称】情報処理装置及び情報処理プログラム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20250409BHJP
   G06F 18/27 20230101ALI20250409BHJP
【FI】
G06N20/00 130
G06F18/27
【請求項の数】 8
(21)【出願番号】P 2024202354
(22)【出願日】2024-11-20
【審査請求日】2024-12-09
【早期審査対象出願】
(73)【特許権者】
【識別番号】000005197
【氏名又は名称】株式会社不二越
(74)【代理人】
【識別番号】100176072
【弁理士】
【氏名又は名称】小林 功
(74)【代理人】
【識別番号】100169225
【弁理士】
【氏名又は名称】山野 明
(72)【発明者】
【氏名】園部 勝
【審査官】今城 朋彬
(56)【参考文献】
【文献】パターン認識のMTシステムを説明してみた(概要編) #MT法 - Qiita,[online],2022年12月22日,all 16 pages,https://qiita.com/b1307ro/items/c388309e41f3547cddf5
【文献】区分線形回帰モデル - 井出草平の研究ノート,[online],2023年11月24日,all 4 pages,https://ides.hatenablog.com/entry/2023/11/24/101336
【文献】LU, Kuan et al.,Application of Multi-layer Forward Neural Network based Piecewise Linear Regressionin Simulation of Steam Turbine Valve Flow Curve,IOP Conf. Series: Earth and Environmental Science 512,IOP Publishing [online],2020年,pp.1-5,https://iopscience.iop.org/article/10.1088/1755-1315/512/1/012170
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
G06N 3/02
G06F 18/27
(57)【特許請求の範囲】
【請求項1】
推定に用いられる複数の説明変数に対応する変数値セットを取得する取得部と、
前記説明変数に対する目的変数の分布を示す散布図を表示するとともに、前記散布図を介する入力操作を受け付けて前記説明変数の範囲を複数の区間に分割するためのUI部と、
前記UI部を通じて分割された前記複数の区間に対応する複数の線分を連結してなる折れ線関数を回帰式とする前記説明変数毎の単回帰モデルを用いて、前記取得部により取得された前記変数値セットから単一の前記目的変数をそれぞれ推定し、前記目的変数の仮の推定値の集合体である中間値セットを求める第1推定処理と、前記中間値セットを用いて前記目的変数を推定し、前記目的変数の推定値を求める第2推定処理と、を実行する推定部と、
を備えることを特徴とする情報処理装置。
【請求項2】
推定に用いられる複数の説明変数に対応する変数値セットを取得する取得部と、
前記取得部により取得された前記変数値セットから前記説明変数毎の単回帰モデルを用いて単一の目的変数をそれぞれ推定し、前記目的変数の仮の推定値の集合体である中間値セットを求める第1推定処理と、前記中間値セットを用いて前記目的変数を推定し、前記目的変数の推定値を求める第2推定処理と、を実行する推定部と、
を備え
前記第2推定処理は、前記中間値セット間の交互作用を示す複数の交互作用値を算出する第1演算と、前記第1演算により算出された前記複数の交互作用値に寄与率を作用して前記目的変数の前記推定値を求める第2演算と、を含むことを特徴とする情報処理装置。
【請求項3】
推定に用いられる複数の説明変数に対応する変数値セットを取得する取得部と、
前記取得部により取得された前記変数値セットから、複数の線分を連結してなる折れ線関数を回帰式とする前記説明変数毎の単回帰モデルを用いて単一の目的変数をそれぞれ推定し、前記目的変数の仮の推定値の集合体である中間値セットを求める第1推定処理と、前記中間値セットを用いて前記目的変数を推定し、前記目的変数の推定値を求める第2推定処理と、を実行する推定部と、
を備え
前記推定部は、前記第1推定処理を実行するための第1推定器と、前記第2推定処理を実行するための第2推定器と、を直列的に接続した推定モデルを用いて前記目的変数を推定し、
前記第1推定器は、第1入力層、第1中間層、及び第1出力層を含む階層型ニューラルネットワークであり、
前記第1中間層を構成する演算ユニットの活性化関数は、直線状又は折れ線状の関数形状を有することを特徴とする情報処理装置。
【請求項4】
前記説明変数及び前記目的変数の集合体である学習用データセットを用いて、前記説明変数毎に複数の区間を定め、前記区間毎に単回帰演算を行い、前記説明変数毎かつ前記区間毎の単回帰係数である回帰係数セットを算出する回帰演算部と、
前記回帰演算部により得られた前記回帰係数セットを、前記第1推定器における演算規則を特定する可変パラメータの初期値として設定し、前記推定モデルに対して前記可変パラメータを更新する学習処理を行う学習処理部と、
をさらに備えることを特徴とする請求項に記載の情報処理装置。
【請求項5】
推定に用いられる複数の説明変数に対応する変数値セットを取得する取得ステップと、
グラフィカル・ユーザ・インタフェースを通じて、前記説明変数に対する目的変数の分布を示す散布図を表示するとともに、前記散布図を介する入力操作を受け付けて前記説明変数の範囲を複数の区間に分割する分割ステップと、
分割された前記複数の区間に対応する複数の線分を連結してなる折れ線関数を回帰式とする前記説明変数毎の単回帰モデルを用いて、取得された前記変数値セットから単一の前記目的変数をそれぞれ推定し、前記目的変数の仮の推定値の集合体である中間値セットを求める第1推定処理と、前記中間値セットを用いて前記目的変数を推定し、前記目的変数の推定値を求める第2推定処理と、を実行する推定ステップと、
を1つ又は複数のコンピュータに実行させることを特徴とする情報処理プログラム。
【請求項6】
推定に用いられる複数の説明変数に対応する変数値セットを取得する取得ステップと、
取得された前記変数値セットから、複数の線分を連結してなる折れ線関数を回帰式とする前記説明変数毎の単回帰モデルを用いて単一の目的変数をそれぞれ推定し、前記目的変数の仮の推定値の集合体である中間値セットを求める第1推定処理と、前記中間値セットを用いて前記目的変数を推定し、前記目的変数の推定値を求める第2推定処理と、を実行する推定ステップと、
を1つ又は複数のコンピュータに実行させ
前記第2推定処理は、前記中間値セット間の交互作用を示す複数の交互作用値を算出する第1演算と、前記第1演算により算出された前記複数の交互作用値に寄与率を作用して前記目的変数の前記推定値を求める第2演算と、を含むことを特徴とする情報処理プログラム。
【請求項7】
推定に用いられる複数の説明変数に対応する変数値セットを取得する取得ステップと、
取得された前記変数値セットから、複数の線分を連結してなる折れ線関数を回帰式とする前記説明変数毎の単回帰モデルを用いて単一の目的変数をそれぞれ推定し、前記目的変数の仮の推定値の集合体である中間値セットを求める第1推定処理と、前記中間値セットを用いて前記目的変数を推定し、前記目的変数の推定値を求める第2推定処理と、を実行する推定ステップと、
を1つ又は複数のコンピュータに実行させ
前記推定ステップでは、前記第1推定処理を実行するための第1推定器と、前記第2推定処理を実行するための第2推定器と、を直列的に接続した推定モデルを用いて前記目的変数を推定し、
前記第1推定器は、第1入力層、第1中間層、及び第1出力層を含む階層型ニューラルネットワークであり、
前記第1中間層を構成する演算ユニットの活性化関数は、直線状又は折れ線状の関数形状を有することを特徴とする情報処理プログラム。
ることを特徴とする情報処理プログラム。
【請求項8】
前記説明変数及び前記目的変数の集合体である学習用データセットを用いて、前記説明変数毎に複数の区間を定め、前記区間毎に単回帰演算を行い、前記説明変数毎かつ前記区間毎の単回帰係数である回帰係数セットを算出する算出ステップと、
算出された前記回帰係数セットを、前記第1推定器における演算規則を特定する可変パラメータの初期値として設定し、前記推定モデルに対して前記可変パラメータを更新する学習処理を行う学習ステップと、
を前記1つ又は複数のコンピュータにさらに実行させることを特徴とする請求項7に記載の情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の説明変数から単一の目的変数を推定する情報処理装置及び情報処理プログラムに関する。
【背景技術】
【0002】
従来から、ニューラルネットワークを含む学習器に対して学習処理を施し、学習パラメータ群の各値を最適化するための人工知能技術が知られている。
【0003】
特許文献1に、倒立振子制御系における制御パラメータを、ニューラルネットワークの学習アルゴリズム(例えば、平均二乗誤差を用いた誤差逆伝播法)を用いて最適化するコントローラが開示されている。また、特許文献1に、複数の説明変数から単一の目的変数を推定するための推定モデルとして、階層型ニューラルネットワークが示されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開平06-095704号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、学習用データセットの性質、より詳しくは、説明変数同士の交互作用の大きさ又は傾向によって目的変数の推定精度が異なる場合がある。しかしながら、特許文献1に開示される推定モデルでは、交互作用の影響が何ら考慮されておらず、学習用データセットの性質によっては推定精度が低下することがある。
【0006】
本発明はこのような問題に鑑みてなされたものであり、その目的は、目的変数の推定精度をより向上可能な情報処理装置及び情報処理プログラムを提供することにある。
【課題を解決するための手段】
【0007】
本発明における情報処理装置は、推定に用いられる複数の説明変数に対応する変数値セットを取得する取得部と、前記取得部により取得された前記変数値セットから前記説明変数毎の単回帰モデルを用いて単一の目的変数をそれぞれ推定し、前記目的変数の仮の推定値の集合体である中間値セットを求める第1推定処理と、前記中間値セットを用いて前記目的変数を推定し、前記目的変数の推定値を求める第2推定処理と、を実行する推定部と、を備える。
【0008】
また、前記単回帰モデルが示す回帰式は、複数の線分を連結してなる折れ線関数であってもよい。
【0009】
また、当該情報処理装置は、前記説明変数に対する前記目的変数の分布を示す散布図を表示するとともに、前記散布図を介する入力操作を受け付けて前記複数の線分に対応する複数の区間に分割するためのUI部をさらに備えてもよい。
【0010】
また、前記第2推定処理は、前記中間値セット間の交互作用を示す複数の交互作用値を算出する第1演算と、前記第1演算により算出された前記複数の交互作用値に寄与率を作用して前記目的変数の前記推定値を求める第2演算と、を含んでもよい。
【0011】
また、前記推定部は、前記第1推定処理を実行するための第1推定器と、前記第2推定処理を実行するための第2推定器と、を直列的に接続した推定モデルを用いて前記目的変数を推定し、前記第1推定器は、第1入力層、第1中間層、及び第1出力層を含む階層型ニューラルネットワークであり、前記第1中間層を構成する演算ユニットの活性化関数は、直線状又は折れ線状の関数形状を有してもよい。
【0012】
また、当該情報処理装置は、前記説明変数及び前記目的変数の集合体である学習用データセットを用いて、前記説明変数毎に複数の区間を定め、前記区間毎に単回帰演算を行い、前記説明変数毎かつ前記区間毎の単回帰係数である回帰係数セットを算出する回帰演算部と、前記回帰演算部により得られた前記回帰係数セットを、前記第1推定器における演算規則を特定する可変パラメータの初期値として設定し、前記推定モデルに対して前記可変パラメータを更新する学習処理を行う学習処理部と、をさらに備えてもよい。
【0013】
本発明における情報処理プログラムは、推定に用いられる複数の説明変数に対応する変数値セットを取得する取得ステップと、取得された前記変数値セットから前記説明変数毎の単回帰モデルを用いて単一の目的変数をそれぞれ推定し、前記目的変数の仮の推定値の集合体である中間値セットを求める第1推定処理と、前記中間値セットを用いて前記目的変数を推定し、前記目的変数の推定値を求める第2推定処理と、を実行する推定ステップと、を1つ又は複数のコンピュータに実行させる。
【発明の効果】
【0014】
本発明によれば、目的変数の推定精度をより向上させることができる。
【図面の簡単な説明】
【0015】
図1】本発明の一実施形態における情報処理装置の構成の一例を示すブロック図である。
図2図1の推定モデルが有するネットワーク構造の一例を示す図である。
図3図1の情報処理装置による学習動作の一例を示す第1フローチャートである。
図4図1の情報処理装置による学習動作の一例を示す第2フローチャートである。
図5】説明変数及び目的変数に関する散布図の一例を示す図である。
図6図4の散布図に対する単回帰演算により求められる回帰式の一例を示す図である。
図7図1のUI部に表示される学習設定画面の一例を示す図である。
図8図6の折れ線関数に対応する可変パラメータの一例を示す図である。
図9図1の情報処理装置による推定動作の一例を示すフローチャートである。
【発明を実施するための形態】
【0016】
以下、添付図面を参照しながら本発明の実施形態について説明する。説明の理解を容易にするため、各図面において同一の構成要素に対しては可能な限り同一の符号を付して、重複する説明は省略する。また、「部」の文言は、例えば、ユニット、モジュール、デバイス、又は要素などの他の文言と置き換えられてもよい。
【0017】
[情報処理装置10の構成]
<全体構成>
図1は、本発明の一実施形態における情報処理装置10の構成の一例を示すブロック図である。この情報処理装置10は、様々な用途向けに設計された「汎用コンピュータ」であってもよいし、特定の用途向けに設計された「専用コンピュータ」であってもよい。汎用コンピュータの一例として、パーソナルコンピュータを含む据置型の装置、又は、タブレット・ラップトップを含む携帯型の装置が挙げられる。専用コンピュータの一例として、組み込みコンピュータ又はPLC(Programmable Logic Controller)などが挙げられる。
【0018】
また、情報処理装置10は、情報処理サービスを提供するサーバコンピュータであってもよい。サーバコンピュータは、クラウド型あるいはオンプレミス型のいずれであってもよい。また、図1では情報処理装置10を単体のコンピュータとして示しているが、これに代わって、情報処理装置10は、分散システムを構築するコンピュータ群であってもよい。
【0019】
この情報処理装置10は、具体的には、通信部12と、入力部14と、表示部16と、制御部18と、記憶部20と、を備える。
【0020】
通信部12は、図示しない外部装置に対して電気信号を送受信するインターフェースである。これにより、情報処理装置10は、学習用データセット40を外部装置から取得するとともに、自身が生成した推定結果情報46を外部装置に提供することができる。
【0021】
入力部14は、例えば、マウス、キーボード、タッチセンサ、マイクロフォン、又はこれらを組み合わせた入力デバイスから構成される。表示部16は、液晶パネル、有機EL(Electro Luminescence)パネル、又は電子ペーパを含む出力デバイスから構成される。入力部14による入力機能及び表示部16による表示機能を組み合わせることにより、グラフィカル・ユーザ・インターフェース(以下、UI部22)が構築される。
【0022】
制御部18は、[1]CPU(Central Processing Unit)、GPGPU(General-Purpose computing on Graphics Processing Unit)を含む汎用プロセッサ、[2]ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)を含む専用プロセッサによって構成される。制御部18は、記憶部20に格納されたプログラム及びデータを読み出して実行することで、取得部24、回帰演算部26、推定部28、学習処理部30、表示制御部32、及び出力処理部34として機能する。
【0023】
取得部24は、学習処理又は推定処理に必要な様々なデータを取得する。取得部24は、例えば、学習用データセット40及び変数値セット54を取得する。取得部24は、外部装置から通信を介してデータを取得してもよいし、情報処理装置10の各部(例えば、記憶部20又はUI部22)を介してデータを取得してもよい。
【0024】
回帰演算部26は、取得部24により取得された学習用データセット40を用いて、単一の説明変数から単一の目的変数を予測する回帰演算(いわゆる、単回帰演算)を行う。この単回帰演算では、複数の線分を連結してなる折れ線関数が回帰式として用いられる。すなわち、回帰演算部26は、学習用データセット40を用いて説明変数毎に複数の区間を定め、区間毎に単回帰演算を行い、説明変数毎かつ区間毎の単回帰係数(後述する回帰係数セット42)を算出する。なお、複数の変数はそれぞれ定義が異なるので、回帰演算部26は、標準化又は正規化を通じて各変数のスケールを合わせてもよい。
【0025】
推定部28は、複数の説明変数から単一の目的変数を推定するための情報処理(以下、推定処理)を行う。この推定処理には、機械学習がなされた推定モデル36が用いられる。推定モデル36は、第1推定処理を行う第1推定器E1と、第2推定処理を行う第2推定器E2と、を直列的に接続した数理モデルである。第1推定処理は、推定に用いられる複数の説明変数に対応する変数値セット54から説明変数毎の単回帰モデルを用いて目的変数をそれぞれ推定し、該目的変数の仮の推定値の集合体(以下、中間値セット56)を求めるための情報処理である。第2推定処理は、中間値セット56を用いて目的変数を推定し、該目的変数の推定値58を求めるための情報処理である。第2推定処理は、例えば、中間値セット56間の交互作用を示す複数の交互作用値を算出する「第1演算」と、複数の交互作用値に寄与率を作用して目的変数の推定値を求める「第2演算」と、を含む。なお、推定部28は、回帰演算部26の場合と同様に、標準化又は正規化を通じて各変数のスケールを合わせてもよい。また、この単回帰モデルは、回帰演算部26による単回帰演算を完全に再現する数理モデルであってもよいし、当該単回帰演算を実質的に再現する数理モデル(いわゆる、派生モデル)であってもよい。
【0026】
第1推定器E1は、説明変数毎の単回帰モデルを再現するための演算器である。単回帰モデルが示す回帰式は、複数の線分を連結してなる折れ線関数である。つまり、第1推定器E1は、回帰演算部26による説明変数毎の単回帰演算を並列的に配置し、当該単回帰演算を一括的に実行する演算器に相当する。この場合、第1推定器E1は、例えば、第1入力層、第1中間層、及び第1出力層を含む階層型ニューラルネットワークである。説明変数の個数をn個(n≧2)、区間の個数をm個(n≧2)とする場合、第1入力層における演算ユニット数は、例えば、(n+1)個である。第1中間層における演算ユニット数は、例えば、(n・m+1)個である。第1出力層における演算ユニット数は、例えば、n個である。なお、活性化関数の閾値が可変パラメータに含まれる場合、第1入力層における演算ユニット数をn個とし、第1中間層における演算ユニット数をn・m個としてもよい。
【0027】
第1中間層を構成する演算ユニットの活性化関数は、単回帰演算における回帰式である折れ線関数を線形和によって表現可能な関数形状である。具体的には、活性化関数は、直線状又は折れ線状の関数形状を有する。この関数形状の一例として、ReLU(Rectified Linear Unit)関数、ReLU6関数、Leaky ReLU関数、ハードハイパボリックタンジェント関数、ハードシグモイド関数、恒等関数、ソフトシュリンク関数、ハードシュリンク関数などが挙げられる。
【0028】
第2推定器E2は、少なくとも、仮の推定値同士の交互作用を考慮した演算器である。第2推定器E2は、例えば、第2入力層、少なくとも1層の第2中間層、及び第2出力層を含む階層型ニューラルネットワークである。説明変数の個数をn個(n≧2)とする場合、第2入力層における演算ユニット数は、例えば、n個である。第2中間層における演算ユニット数は、n個であってもよいし、m個(m≠n)であってもよい。第2出力層における演算ユニット数は、原則的に1個である。
【0029】
第2推定器E2は、上記した第1演算及び第2演算を一体的に実行してもよいし、第1演算及び第2演算を切り分けて順次実行してもよい。第1演算及び第2演算を切り分ける場合、第2推定器E2は、第1演算を行う第1演算器E21と、第2演算を行う第2演算器E22と、を直列的に接続した数理モデルである。
【0030】
第1演算器E21は、仮の推定値同士の交互作用を示す交互作用値を算出するために設けられる。交互作用値は、2つの値の積であってもよいし、3つ以上の値の積であってもよい。また、交互作用の種類は、積に限られず、他の非線形演算子であってもよい。第1演算器E21は、例えば、入力層及び出力層を含むニューラルネットワークである。説明変数の個数をn個(n≧2)とする場合、入力層における演算ユニット数は、例えば、n個である。出力層における演算ユニット数は、交互作用値の個数(m)に等しい。例えば、すべての組み合わせにて2つの値の積を求める場合、m=n(n-1)/2である。
【0031】
第2演算器E22は、複数の交互作用値に寄与率を作用して目的変数の推定値を求めるために設けられる。寄与率の作用の一例として、荷重和、ソフトマックス演算が挙げられる。第2演算器E22は、例えば、入力層及び出力層を含むニューラルネットワークである。入力層における演算ユニット数は、交互作用値の個数(m)に等しい。出力層における演算ユニット数は、原則的に1個である。
【0032】
学習処理部30は、学習用データセット40を用いて、推定モデル36に対して学習処理(ここでは、教師あり学習)を行う。学習処理部30は、推定モデル36における演算規則を特定する可変パラメータの初期値を設定した後、予め定められた更新規則に従って可変パラメータの値を逐次的に更新する。学習パラメータの更新規則の一例として、確率的勾配降下法、モーメンタム法、AdaGrad法、Adam法が挙げられる。
【0033】
可変パラメータの初期値は、回帰演算部26により得られた回帰係数セット42を用いて設定される。例えば、第1推定器E1では、回帰演算部26による単回帰演算と等価になるように重み係数が設定される。例えば、第2推定器E2では、説明変数同士の交互作用の大きさが略同じになるように重み係数が設定される。設定方法の具体例については、図8で詳しく述べる。
【0034】
表示制御部32は、所望の画像又は映像を表示するように表示部16の駆動動作を制御する。具体的には、表示制御部32は、学習設定画面70(図7)を含む様々な画面を表示するための表示用データを生成し、該表示用データを表示部16に供給する。
【0035】
出力処理部34は、推定部28により得られた推定結果に基づいて出力処理を行う。出力対象は、推定値58そのものであってもよいし、推定値58から生成した生成物であってもよい。生成物の一例として、[1]推定値58に基づく分析情報、又は[2]制御対象物を制御するための制御信号、などが挙げられる。
【0036】
記憶部20は、制御部18が各構成要素を制御するのに必要なプログラム及びデータを記憶している。記憶部20は、非一過性であり、かつ、コンピュータ読み取り可能な記録媒体で構成されている。ここで、コンピュータ読み取り可能な記録媒体は、光磁気ディスク、ROM(Read Only Memory)、CD(Compact Disc)-ROM、フラッシュメモリなどの可搬媒体、コンピュータシステムに内蔵されるハードディスク(HDD:Hard Disk Drive)、ソリッドステートドライブ(SSD:Solid State Drive)などの記憶装置である。図1の例では、記憶部20には、学習用データセット40、回帰係数セット42、学習パラメータ群44、及び推定結果情報46が記憶されている。
【0037】
学習用データセット40は、学習処理に必要なデータであり、具体的には、変数値セット50及び正解値52をデータ単位とする学習データの集合体である。変数値セット50は、複数の説明変数から構成される。正解値52は、変数値セット50に対応する目的変数の理想値(あるいは、教示値)に相当する。
【0038】
回帰係数セット42は、回帰演算部26により算出された単回帰係数の集合体である。単回帰係数は、説明変数毎かつ区間毎に求められる。すなわち、回帰係数セット42は、説明変数毎の[1]1次回帰式の傾き、[2]1次回帰式の切片、[3]区間の下限値、及び[4]区間の上限値に相当する。
【0039】
学習パラメータ群44は、推定モデル36に対する学習処理を通じて決定された学習パラメータの集合体である。学習パラメータの一例として、[1]推定モデル36が有するモデル構造を特定するための「ハイパーパラメータ」、又は[2]学習用データセット40の母集団に応じて最適値が変化する「可変パラメータ」が挙げられる。可変パラメータの一例として、演算ユニット間の重み係数、活性化関数の係数などが挙げられる。
【0040】
推定結果情報46は、推定部28による推定結果に関する情報、具体的には、変数値セット54と、中間値セット56と、推定値58と、を含む。変数値セット54は、推定に用いられる説明変数に対応する複数の変数値である。中間値セット56は、第1推定器E1からの出力値(つまり、目的変数の仮の推定値の集合体)である。推定値58は、第2推定器E2からの出力値(つまり、目的変数の推定値)である。
【0041】
<推定モデル36のネットワーク構造>
図2は、図1の推定モデル36が有するネットワーク構造の一例を示す図である。図2の例では、説明変数の個数が4個であり、説明変数の区間数が3個であることを想定する。また、説明の便宜上、2番目の説明変数に関わるシナプス結合のみを図示している。他の説明変数についても、2番目の説明変数の場合と同様の接続構成を有する。
【0042】
推定モデル36は、例えば、5つの層LY1,LY2,LY3,LY4,LY5からなる階層型ニューラルネットワークで構成される。推定モデル36の演算規則は、学習パラメータの集合体である学習パラメータ群44(図1)の各値によって定められる。
【0043】
層LY1は、第1推定器E1の第1入力層に対応する層であり、本図の例では5個の演算ユニットから構成される。上から1~4番目の演算ユニットには、1~4番目の説明変数がそれぞれ入力される。上から5番目の演算ユニットには、固定値(例えば、1)が入力される。
【0044】
層LY2は、第1推定器E1の第1中間層に対応する層であり、本図の例では、活性化関数がReLU関数である13個の演算ユニットから構成される。上から1~3番目の演算ユニットには、1番目の説明変数に対応する3つの区間内での演算結果がそれぞれ出力される。上から4~6番目の演算ユニットには、2番目の説明変数に対応する3つの区間内での演算結果がそれぞれ出力される。上から7~9番目の演算ユニットには、3番目の説明変数に対応する3つの区間内での演算結果がそれぞれ出力される。上から13番目の演算ユニットには、固定値(例えば、1)が入力される。
【0045】
層LY3は、第1推定器E1の第1出力層又は第2推定器E2の第2入力層(あるいは、第1演算器E21の入力層)に対応する層であり、本図の例では4個の演算ユニットから構成される。上から1~4番目の演算ユニットには、1~4番目の説明変数に対応する仮の推定値(つまり、中間値セット56)が出力される。
【0046】
層LY4は、第2推定器E2の第2中間層(あるいは、第1演算器E21の出力層及び第2演算器E22の入力層)に対応する層であり、本図の例では4個の演算ユニットから構成される。上から1~4番目の演算ユニットには、仮の推定値同士の交互作用を示す交互作用値がそれぞれ出力される。
【0047】
層LY5は、第2推定器E2の第2出力層(あるいは、第2演算器E22の出力層)に対応する層であり、本図の例では1個の演算ユニットから構成される。この演算ユニットには、最終的な推定値が出力される。
【0048】
[情報処理装置10の動作]
この実施形態における情報処理装置10は、以上のように構成される。続いて、この情報処理装置10による学習動作及び推定動作について、図1図9を参照しながら説明する。
【0049】
<学習動作>
図3は、図1の情報処理装置10による学習動作の一例を示す第1フローチャートである。図4は、図1の情報処理装置10による学習動作の一例を示す第2フローチャートである。
【0050】
(SP10:取得ステップ)
図3のステップSP10において、取得部24は、学習処理に用いられる学習用データセット40を取得する。
【0051】
(SP12:正規化ステップ)
ステップSP12において、回帰演算部26は、ステップSP10で取得された学習用データセット40に含まれる変数値セット50及び正解値52をそれぞれ正規化する。
【0052】
図5は、説明変数及び目的変数に関する散布図の一例を示す図である。散布図の横軸は正規化された説明変数{x}(単位:無次元)を示すとともに、散布図の縦軸は正規化された目的変数(単位:無次元)を示している。各々の変数は、[0,1]の範囲内で正規化されている。図5から理解されるように、目的変数は、説明変数を引数とする3次元関数で近似できそうな関係性を有する。
【0053】
(SP14:仮分割ステップ)
図3のステップSP14において、回帰演算部26は、ステップSP12で正規化された各説明変数の区間を仮分割する。この仮分割により、説明変数毎に、区間の下限値及び上限値がそれぞれ決定される。
【0054】
(SP16:単回帰ステップ)
ステップSP16において、回帰演算部26は、ステップSP14で仮分割された区間に従って説明変数毎に単回帰演算を行い、説明変数毎の回帰係数(つまり、回帰係数セット42)を算出する。
【0055】
図6は、図4の散布図に対する単回帰演算により求められる折れ線関数の一例を示す図である。この折れ線関数は、3本の線素L1,L2,L3からなる折れ線PLで示されている。線素L1は、区間が[0,x]であり、傾きがα(正)であり、切片がyである線分に相当する。線素L2は、区間が[x,x]であり、傾きがβ(負)であり、切片がyである線分に相当する。線素L3は、区間が[x,1]であり、傾きがγ(正)であり、切片がyである線分に相当する。
【0056】
(SP18:設定表示ステップ)
図3のステップSP18において、表示制御部32は、学習処理の設定に関する情報を含む表示用データを生成し、該表示用データを表示部16に供給する。これにより、情報処理装置10のUI部22に、図7の学習設定画面70が表示される。
【0057】
図7は、図1のUI部22に表示される学習設定画面70の一例を示す図である。学習設定画面70上には、グラフ欄72と、4種類の情報入力部74,76,78,80と、[単回帰]と表記されたボタン82と、[最適化]と表記されたボタン84と、が設けられている。
【0058】
グラフ欄72には、図4の散布図が可視化して表示されている。グラフ欄72は、点群86と、近似曲線88と、1本又は複数本の分割線90と、を含んで構成される。情報入力部74,76からの入力内容に応じて、点群86の個数又は位置が変化する。情報入力部74,76,78,80からの入力内容に応じて、近似曲線88の形状が変化する。情報入力部80からの入力内容に応じて、分割線90の本数が変化する。ユーザによるスライド操作に応じて、分割線90の位置が変化する。
【0059】
情報入力部74は、説明変数の種類を選択するためのユーザコントロール(例えば、プルダウンメニュー)から構成される。情報入力部76は、点群86のデータ数を選択するためのユーザコントロール(例えば、コンボボックス)から構成される。情報入力部78は、近似曲線88の次数を選択するためのユーザコントロール(例えば、プルダウンメニュー)から構成される。情報入力部80は、区間の分割数を選択するためのユーザコントロール(例えば、プルダウンメニュー)から構成される。[単回帰]ボタン82は、区間の変更操作を受け付けるためのユーザコントロールである。[最適化]ボタン84は、区間の決定操作を受け付けるためのユーザコントロールである。
【0060】
(SP20:決定受付ステップ)
図3のステップSP20において、制御部18は、区間の決定操作を受け付けたか否かを確認する。決定操作をまだ受け付けていない場合(ステップSP20:NO)、制御部18は、次のステップSP22に進む。
【0061】
(SP22:変更受付ステップ)
ステップSP22において、制御部18は、区間の変更操作を受け付けたか否かを確認する。変更操作をまだ受け付けていない場合(ステップSP22:NO)、制御部18は、ステップSP20に戻り、以下、ステップSP20,SP22を順次繰り返す。
【0062】
例えば、ユーザは、学習設定画面70(図7)上のグラフ欄72を視ながら、近似曲線88の適合性、すなわち、点群86の近似曲線88が精度よく近似できているか否かを確認する。ユーザは、近似曲線88の適合性がないと判断した場合、データ数、次数、分割数、又は分割線90の位置を変更した後に、[単回帰]ボタン82のタップ操作を行う。そうすると、制御部18は、区間の変更操作を受け付けた後(ステップSP22:YES)、次のステップSP24に進む。
【0063】
(SP24:再分割ステップ)
ステップSP24において、回帰演算部26は、ステップSP22で変更操作を受け付けた時点で、UI部22に入力されている内容から各説明変数の区間を再分割する。この再分割により、説明変数毎に、区間の下限値及び上限値がそれぞれ変更される。その後、制御部18は、ステップSP16に戻って、以下、ステップSP16~SP24を順次繰り返す。
【0064】
ユーザは、学習設定画面70(図7)上のグラフ欄72を視ながら、近似曲線88の適合性があると判断した場合、[最適化]ボタン84のタップ操作を行う。そうすると、制御部18は、区間の決定操作を受け付けた後(ステップSP20:YES)、次のステップSP26に進む。
【0065】
(ステップSP26:構築ステップ)
ステップSP26において、学習処理部30は、ステップSP24で決定操作を受け付けた時点で、UI部22に入力されている内容(例えば、説明変数の個数、区間の分割数)から推定モデル36を構築する。これにより、図2に示す推定モデル36が構築される。
【0066】
(ステップSP28:初期化ステップ)
図4のステップSP28において、学習処理部30は、ステップSP26で構築された推定モデル36に関する学習パラメータ群44を初期化する。学習処理部30は、具体的には、学習パラメータ群44を構成する学習パラメータを定義するとともに、各学習パラメータの初期値を付与する。
【0067】
図8は、図6の折れ線関数に対応する可変パラメータの一例を示す図である。図8の例では、演算ユニットの活性化関数がReLU関数である場合を想定する。1番目の区間に対応する活性化関数(F)では、閾値がθ=0であり、乗数がC=αであり、オフセット(あるいは、バイアス)がS=yである。2番目の区間に対応する活性化関数(F)では、閾値がθ=xであり、乗数がC=β-αであり、オフセットがS=y-F(x)である。3番目の区間に対応する活性化関数(F)では、閾値がθ=xであり、乗数がC=γ-(α+β)であり、オフセットがS=y-F(x)-F(x)である。
【0068】
図2の例では、第1推定器E1に関して、層LY1内のi番目の演算ユニットと、層LY2内の(3・i+j)番目の演算ユニットとの間の重み係数は、すべて1に設定される。層LY1内の5番目の演算ユニットと、層LY2内の(3・i+j)番目の演算ユニットとの間の重み係数は、閾値{θi,j}に設定される。層LY2内のi番目の演算ユニットと、層LY3内の(3・i+j)番目の演算ユニットとの間の重み係数は、乗数{Ci,j}に設定される。層LY2内の13番目の演算ユニットと、層LY3内のi番目の演算ユニットとの間の重み係数は、オフセット{S}に設定される。
【0069】
図2の例では、第2推定器E2に関して、層LY3内のi番目の演算ユニットと、層LY4内のj番目の演算ユニットとの間の重み係数は、クロネッカのデルタ{δi,j}に設定される。
【0070】
(SP30:学習ステップ)
図4のステップSP30において、学習処理部30は、ステップSP28で初期化された状態から、推定モデル36に対する学習処理を行う。この学習処理を通じて、学習パラメータ群44の各値が決定される。
【0071】
(SP32:結果表示ステップ)
ステップSP32において、表示制御部32は、学習処理の結果に関する情報を含む表示用データを生成し、該表示用データを表示部16に供給する。これにより、情報処理装置10のUI部22に、図示しない学習結果画面が表示される。
【0072】
(SP34:結果確認ステップ)
ステップSP34において、制御部18は、学習の終了操作を受け付けたか否かを確認する。終了操作を受け付けなかった場合(ステップSP34:NO)、制御部18は、図3のステップSP20に戻る。以下、制御部18は、必要に応じて、区間の再分割(SP22)及び決定(SP20)を行った後、ステップSP26~SP34を順次繰り返す。その一方、終了操作を受け付けた場合(ステップSP34:YES)、制御部18は、次のステップSP36に進む。
【0073】
(SP36:保存ステップ)
ステップSP36において、学習処理部30は、ステップSP30で決定された学習パラメータ群44を記憶部20に保存させる。これにより、推定部28は、この学習パラメータ群44を読み出してセットすることにより、推定モデル36を用いた推定処理を行うことができる。
【0074】
<推定動作>
図9は、図1の情報処理装置10による推定動作の一例を示すフローチャートである。
【0075】
(SP40:確認ステップ)
ステップSP40において、取得部24は、データを取得するタイミング(つまり、取得タイミング)が到来したか否かを確認する。取得タイミングがまだ到来していない場合(ステップSP40:NO)、取得部24は、取得タイミングが到来するまでの間、ステップSP40に留まる。その後、取得タイミングが到来した場合(ステップSP40:YES)、取得部24は、次のステップSP42に進む。
【0076】
(SP42:取得ステップ)
ステップSP42において、取得部24は、推定に用いられる変数値セット54を取得する。
【0077】
(SP44:正規化ステップ)
ステップSP44において、推定部28は、ステップSP40で取得された変数値セット54の各値を、ステップSP12(図3)の場合と同じ演算規則に従って正規化する。
【0078】
(SP46:推定ステップ)
ステップSP46において、推定部28は、ステップSP44で正規化された変数値セット54を推定モデル36に入力することで目的変数を推定する。これにより、中間値セット56が中間生成物として得られるとともに、推定値58が成果物として得られる。
【0079】
(SP48:出力ステップ)
ステップSP48において、出力処理部34は、ステップSP46で得られた推定値58又は推定値58から生成した生成値を出力する。このようにして、情報処理装置10による推定動作が終了する。
【0080】
[実施形態のまとめ]
以上のように、この実施形態における情報処理装置10及び情報処理プログラムによれば、変数値セット54から説明変数毎の単回帰モデルを用いて目的変数の仮の推定値の集合体(つまり、中間値セット56)を求める第1推定処理と、中間値セット56を用いて目的変数の推定値を求める第2推定処理と、を順次実行することにより、説明変数同士の交互作用による影響がない前段の推定と、仮の推定値同士の交互作用を考慮した後段の推定と、を明示的に分離することができる。これにより、交互作用の大きさ又は傾向に影響を受けにくい推定が可能となり、目的変数の推定精度をより向上させることができる。
【0081】
また、単回帰モデルは、複数の線分(線素L1~L3)を連結してなる折れ線関数を回帰式とする回帰モデルであってもよい。これにより、複雑な関数形状を有する非線形モデルであっても、より簡素な線形モデルの集合によって表現可能となるので、回帰式の適合性がより高まる。
【0082】
また、情報処理装置10は、説明変数に対する目的変数の分布を示す散布図(ここでは、グラフ欄72)を表示するとともに、グラフ欄72を介する入力操作を受け付けて複数の線分(線素L1~L3)に対応する複数の区間に分割するためのUI部22をさらに備えてもよい。これにより、ユーザは、UI部22を通じて、散布図を視認しながら区間を分割する操作を容易に行える。
【0083】
また、第2推定処理は、中間値セット56間の交互作用を示す複数の交互作用値を算出する第1演算と、第1演算により算出された複数の交互作用値に寄与率を作用して目的変数の推定値を求める第2演算と、を含んでもよい。交互作用値の計算と寄与率の作用とを明示的に分離することで、交互作用の影響をさらに受けにくい推定が行える。
【0084】
また、推定部28は、第1推定器E1と第2推定器E2とを直列的に接続した推定モデル36を用いて目的変数を推定してもよい。この場合、第1推定器E1は、第1入力層(層LY1)、第1中間層(層LY2)及び第1出力層(層LY3)を含む階層型ニューラルネットワークであり、層LY2を構成する演算ユニットの活性化関数は、直線状又は折れ線状の関数形状を有する。第1推定器E1による推定を通じて、折れ線関数を回帰式とする推定演算を階層型ニューラルネットワーク内で再現することができる。
【0085】
また、情報処理装置10は、学習用データセット40を用いて、説明変数毎かつ区間毎の単回帰係数である回帰係数セット42を算出する回帰演算部26と、回帰係数セット42を、第1推定器E1における演算規則を特定する可変パラメータの初期値として設定し、推定モデル36に対して可変パラメータを更新する学習処理を行う学習処理部30をさらに備えてもよい。これにより、第1推定器E1に対して最適解又は最適解に近い初期条件を付与可能となり、その分だけ学習処理の収束性及び精度が高まる。特に、推定モデル36は、比較的少ない層数(5つの層LY1~LY5)から構成されるので、勾配消失問題あるいは過学習が発生しにくくなるという利点もある。
【0086】
[変形例]
なお、本発明は、上記した実施形態に限定されるものではなく、この発明の主旨を逸脱しない範囲で自由に変更できることは勿論である。あるいは、技術的に矛盾が生じない範囲で各々の構成を任意に組み合わせてもよい。あるいは、技術的に矛盾が生じない範囲で、フローチャートを構成するステップの実行順又は実行有無を変更してもよい。
【0087】
上記した実施形態では、情報処理装置10が推定部28及び学習処理部30(図1)の両方を備える場合を例に挙げて説明したが、装置構成はこれに限られない。例えば、情報処理装置10は、推定部28の機能のみを備える場合、図示しない外部装置から学習パラメータ群44をダウンロードし、学習パラメータ群44を用いて推定処理を行ってもよい。あるいは、情報処理装置10は、学習処理部30の機能のみを備える場合、学習処理を通じて生成した学習パラメータ群44を図示しない外部装置に供給してもよい。
【符号の説明】
【0088】
10…情報処理装置、18…制御部、20…記憶部、22…UI部、24…取得部、26…回帰演算部、28…推定部、30…学習処理部、32…表示制御部、34…出力処理部、36…推定モデル、40…学習用データセット、42…回帰係数セット、44…学習パラメータ群、46…推定結果情報、54…変数値セット、56…中間値セット、58…推定値、70…学習設定画面、E1…第1推定器、E2…第2推定器、E21…第1演算器、E22…第2演算器、SP42…取得ステップ、SP46…推定ステップ
【要約】
【課題】目的変数の推定精度をより向上可能な情報処理装置及び情報処理プログラムを提供する。
【解決手段】情報処理装置10は、推定に用いられる複数の説明変数に対応する変数値セット54を取得する取得部24と、変数値セット54から説明変数毎の単回帰モデルを用いて単一の目的変数をそれぞれ推定し、目的変数の仮の推定値の集合体である中間値セット56を求める第1推定処理と、中間値セット56を用いて目的変数を推定し、目的変数の推定値58を求める第2推定処理と、を実行する推定部28と、を備える。
【選択図】図1
図1
図2
図3
図4
図5
図6
図7
図8
図9