JP2022141513A - 演算装置、共通演算設定装置、演算方法、共通演算設定方法およびプログラム - Google Patents

演算装置、共通演算設定装置、演算方法、共通演算設定方法およびプログラム Download PDF

Info

Publication number
JP2022141513A
JP2022141513A JP2021041855A JP2021041855A JP2022141513A JP 2022141513 A JP2022141513 A JP 2022141513A JP 2021041855 A JP2021041855 A JP 2021041855A JP 2021041855 A JP2021041855 A JP 2021041855A JP 2022141513 A JP2022141513 A JP 2022141513A
Authority
JP
Japan
Prior art keywords
function
common
parameter value
group
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021041855A
Other languages
English (en)
Inventor
智晴 長尾
Tomoharu Nagao
直規 葛谷
Naoki Kuzutani
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yokohama National University NUC
Original Assignee
Yokohama National University NUC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yokohama National University NUC filed Critical Yokohama National University NUC
Priority to JP2021041855A priority Critical patent/JP2022141513A/ja
Publication of JP2022141513A publication Critical patent/JP2022141513A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

【課題】関数を定める値を記憶するための記憶容量を比較的小さくできるようにする。【解決手段】演算装置が、関数を用いる演算を行う複数の関数演算部と、前記関数演算部がグループ分けされたグループ毎に、前記関数を定める値を記憶する共通関数情報記憶部と、を備える。【選択図】図1

Description

本発明は、演算装置、共通演算設定装置、演算方法、共通演算設定方法およびプログラムに関する。
ニューラルネットワークのエッジにおける信号の重み付けに非線形素子を使用し、非線形素子のパラメータ値を学習対象とする技術が提案されている(非特許文献1参照)。
Xiaolei Zhang, Yan Zhao, Kai Guo, Gaoliang Li and Nianmao Deng, "An Adaptive B-Spline Neural Network and Its Application in Terminal Sliding Mode Control for a Mobile Satcom Antenna Inertially Stabilized Platform", Sensors 2017, 17, 978,2017年
非線形素子では、線形素子よりも自由度が高い分、パラメータの個数が多くなる。ニューラルネットワークのエッジにおける信号の重み付けに、非線形素子による非線形関数を使用する場合など、非線形関数を使用する箇所が多い場合、パラメータを記憶するための記憶容量をなるべく小さくできることが好ましい。
本発明の目的の一例は、非線形関数のパラメータなど、関数を定める値を記憶するための記憶容量を比較的小さくすることができる演算装置、共通演算設定装置、演算方法、共通演算設定方法およびプログラムを提供することである。
本発明の第1の態様によれば、演算装置は、関数を用いる演算を行う複数の関数演算部と、前記関数演算部がグループ分けされたグループ毎に、前記関数を定める値を記憶する共通関数情報記憶部と、を備える。
前記関数演算部は、パラメータを有する関数テンプレートにパラメータ値が設定されて示される前記関数を用いる演算を行い、前記共通関数情報記憶部は、前記グループ毎に、そのグループに含まれる関数演算部に共通のパラメータ値を記憶するようにしてもよい。
前記共通関数情報記憶部は、前記グループ毎に、前記関数の引数値と関数値とが紐付けられた関数テーブルを記憶し、前記関数演算部は、前記関数テーブルを参照して前記関数を用いた演算を行うようにしてもよい。
前記演算装置が、1つの関数を定める1組の値のうちの一部の値を前記関数演算部毎に記憶する個別関数情報記憶部をさらに備え、前記共通関数情報記憶部は、前記1つの関数を定める1組の値のうち前記個別関数情報記憶部が記憶する値以外の値を記憶するようにしてもよい。
本発明の第2の態様によれば、共通演算設定装置は、パラメータを有する関数テンプレートにパラメータ値が設定されて示される関数を用いる演算を行う複数の第1関数演算部と、前記第1関数演算部毎にパラメータ値を記憶する個別パラメータ値記憶部とを備えるパラメータ値個別モデル演算装置の前記第1関数演算部を、前記第1関数演算部毎の前記関数の類似度に基づいてグループ分けするグループ化部と、前記第1関数演算部のグループ毎に、そのグループに含まれる全ての前記第1関数演算部における前記関数の代わりに用いられる1つの関数のパラメータ値である共通パラメータ値を算出する共通パラメータ値算出部と、パラメータを有する関数を用いる演算を行う複数の第2関数演算部と、前記第2関数演算部がグループ分けされたグループ毎にパラメータ値を記憶する共通パラメータ値記憶部とを備えるパラメータ値共通モデル演算装置の、前記第2関数演算部に対して前記第1関数演算部のグループに応じたグループの設定を行い、前記共通パラメータ値記憶部に前記共通パラメータ値を記憶させるパラメータ値共通モデル設定部と、を備える。
本発明の第3の態様によれば、共通演算設定装置は、パラメータを有する関数テンプレートにパラメータ値が設定されて示される関数を用いる演算を行う複数の関数演算部と、前記関数演算部がグループ分けされたグループ毎にパラメータ値を記憶する共通パラメータ値記憶部とを備えるパラメータ値共通モデル演算装置の、前記共通パラメータ値記憶部が記憶するパラメータ値による前記関数の引数値と関数値とが紐付けられた関数テーブルを前記グループ毎に算出するテーブル算出部と、関数の引数値と関数値とが紐付けられた関数テーブルを参照して演算を行う複数のテーブル参照部と、前記テーブル参照部がグループ分けされたグループ毎に関数テーブルを記憶する共通テーブル記憶部とを備えるテーブル共通モデル演算装置の、前記テーブル参照部に対して前記関数演算部のグループに応じたグループの設定を行い、前記テーブル算出部が前記グループ毎に算出した前記関数テーブルを前記共通テーブル記憶部に記憶させるテーブル共通モデル設定部と、を備える。
本発明の第4の態様によれば、共通演算設定装置は、パラメータを有する関数を用いる演算を行う複数の関数演算部と、前記関数演算部がグループ分けされたグループ毎にパラメータ値を記憶する共通パラメータ値記憶部とを備えるパラメータ値共通モデル演算装置の、前記関数演算部のグループ分けを複数通り行うグループ仮設定部と、前記グループ分け毎に、前記関数演算部のグループ毎の前記パラメータ値の学習を前記パラメータ値共通モデル演算装置に行わせる学習制御部と、前記グループ分け毎の学習結果に基づいて何れかのグループ分けを選択するグループ分け決定部と、前記パラメータ値共通モデル演算装置の前記関数演算部に対して、選択されたグループ分けによるグループの設定を行い、選択されたグループ分けでの学習結果におけるパラメータ値を前記共通パラメータ値記憶部に記憶させるパラメータ値共通モデル設定部と、を備える。
本発明の第5の態様によれば、演算方法は、グループ分けされた関数演算部が、グループ毎にパラメータ値を記憶する共通パラメータ値記憶部からパラメータ値を読み出すことと、前記関数演算部が、パラメータを有する関数テンプレートに、共通パラメータ値記憶部から読み出したパラメータ値を設定して示される関数を用いて演算を行うことと、を含む。
本発明の第6の態様によれば、共通演算設定方法は、パラメータを有する関数テンプレートにパラメータ値が設定されて示される関数を用いる演算を行う複数の第1関数演算部と、前記第1関数演算部毎にパラメータ値を記憶する個別パラメータ値記憶部とを備えるパラメータ値個別モデル演算装置の前記第1関数演算部を、前記第1関数演算部毎の前記関数の類似度に基づいてグループ分けすることと、前記第1関数演算部のグループ毎に、そのグループに含まれる全ての前記第1関数演算部における前記関数の代わりに用いられる1つの関数のパラメータ値である共通パラメータ値を算出することと、パラメータを有する関数を用いる演算を行う複数の第2関数演算部と、前記第2関数演算部がグループ分けされたグループ毎にパラメータ値を記憶する共通パラメータ値記憶部とを備えるパラメータ値共通モデル演算装置の、前記第2関数演算部に対して前記第1関数演算部のグループに応じたグループの設定を行い、前記共通パラメータ値記憶部に前記共通パラメータ値を記憶させることと、を含む。
本発明の第7の態様によれば、共通演算設定方法は、パラメータを有する関数テンプレートにパラメータ値が設定されて示される関数を用いる演算を行う複数の関数演算部と、前記関数演算部がグループ分けされたグループ毎にパラメータ値を記憶する共通パラメータ値記憶部とを備えるパラメータ値共通モデル演算装置の、前記共通パラメータ値記憶部が記憶するパラメータ値による前記関数の引数値と関数値とが紐付けられた関数テーブルを前記グループ毎に算出することと、関数の引数値と関数値とが紐付けられた関数テーブルを参照して演算を行う複数のテーブル参照部と、前記テーブル参照部がグループ分けされたグループ毎に関数テーブルを記憶する共通テーブル記憶部とを備えるテーブル共通モデル演算装置の、前記テーブル参照部に対して前記関数演算部のグループに応じたグループの設定を行い、前記グループ毎に算出した前記関数テーブルを前記共通テーブル記憶部に記憶させることと、を含む。
本発明の第8の態様によれば、共通演算設定方法は、パラメータを有する関数を用いる演算を行う複数の関数演算部と、前記関数演算部がグループ分けされたグループ毎にパラメータ値を記憶する共通パラメータ値記憶部とを備えるパラメータ値共通モデル演算装置の、前記関数演算部のグループ分けを複数通り行うことと、前記グループ分け毎に、前記関数演算部のグループ毎の前記パラメータ値を学習によって算出することと、前記グループ分け毎の学習結果に基づいて何れかのグループ分けを選択することと、前記パラメータ値共通モデル演算装置の前記関数演算部に対して、選択されたグループ分けによるグループの設定を行い、選択されたグループ分けでの学習結果におけるパラメータ値を前記共通パラメータ値記憶部に記憶させることと、を含む。
本発明の第9の態様によれば、プログラムは、コンピュータに、パラメータを有する関数テンプレートにパラメータ値が設定されて示される関数を用いる演算を行う複数の第1関数演算部と、前記第1関数演算部毎にパラメータ値を記憶する個別パラメータ値記憶部とを備えるパラメータ値個別モデル演算装置の前記第1関数演算部を、前記第1関数演算部毎の前記関数の類似度に基づいてグループ分けすることと、前記第1関数演算部のグループ毎に、そのグループに含まれる全ての前記第1関数演算部における前記関数の代わりに用いられる1つの関数のパラメータ値である共通パラメータ値を算出することと、パラメータを有する関数を用いる演算を行う複数の第2関数演算部と、前記第2関数演算部がグループ分けされたグループ毎にパラメータ値を記憶する共通パラメータ値記憶部とを備えるパラメータ値共通モデル演算装置の、前記第2関数演算部に対して前記第1関数演算部のグループに応じたグループの設定を行い、前記共通パラメータ値記憶部に前記共通パラメータ値を記憶させることと、を実行させるためのプログラムである。
本発明の第10の態様によれば、プログラムは、コンピュータに、パラメータを有する関数テンプレートにパラメータ値が設定されて示される関数を用いる演算を行う複数の関数演算部と、前記関数演算部がグループ分けされたグループ毎にパラメータ値を記憶する共通パラメータ値記憶部とを備えるパラメータ値共通モデル演算装置の、前記共通パラメータ値記憶部が記憶するパラメータ値による前記関数の引数値と関数値とが紐付けられた関数テーブルを前記グループ毎に算出することと、関数の引数値と関数値とが紐付けられた関数テーブルを参照して演算を行う複数のテーブル参照部と、前記テーブル参照部がグループ分けされたグループ毎に関数テーブルを記憶する共通テーブル記憶部とを備えるテーブル共通モデル演算装置の、前記テーブル参照部に対して前記関数演算部のグループに応じたグループの設定を行い、前記グループ毎に算出した前記関数テーブルを前記共通テーブル記憶部に記憶させることと、を実行させるためのプログラムである。
本発明の第11の態様によれば、プログラムは、コンピュータに、パラメータを有する関数を用いる演算を行う複数の関数演算部と、前記関数演算部がグループ分けされたグループ毎にパラメータ値を記憶する共通パラメータ値記憶部とを備えるパラメータ値共通モデル演算装置の、前記関数演算部のグループ分けを複数通り行うことと、前記グループ分け毎に、前記関数演算部のグループ毎の前記パラメータ値を学習によって算出することと、前記グループ分け毎の学習結果に基づいて何れかのグループ分けを選択することと、前記パラメータ値共通モデル演算装置の前記関数演算部に対して、選択されたグループ分けによるグループの設定を行い、選択されたグループ分けでの学習結果におけるパラメータ値を前記共通パラメータ値記憶部に記憶させることと、を実行させるためのプログラムである。
上記した演算装置、共通演算設定装置、演算方法、共通演算設定方法およびプログラムによれば、関数を定める値を記憶するための記憶容量を比較的小さくすることができる。
第1実施形態に係る情報処理システムの装置構成の例を示す図である。 第1実施形態に係るニューラルネットワークの一部の構成の例を示す図である。 第1実施形態に係るパラメータ値個別モデル演算装置の構成の例を示す図である。 第1実施形態に係るパラメータ値共通化装置の構成の例を示す図である。 第1実施形態に係るパラメータ値共通モデル演算装置の構成の例を示す図である。 第1実施形態に係るテーブル化装置の構成の例を示す図である。 第1実施形態に係る共通パラメータ値が示す関数の例を示す図である。 第1実施形態に係る共通パラメータ値が示す関数の量子化の例を示す図である。 第1実施形態に係るテーブル算出部が生成する関数テーブルの例を示す図である。 第1実施形態に係るテーブル共通モデル演算装置の構成の例を示す図である。 第1実施形態に係る情報処理システムが、パラメータ値共通モデル演算装置およびテーブル共通モデル演算装置の設定の設定を行う場合の処理の手順の例を示すフローチャートである。 第1実施形態に係るパラメータ値共通化装置がパラメータ値を共通化する処理手順の例を示すフローチャートである。 第1実施形態に係るテーブル化装置が関数を関数テーブル化する処理手順の例を示すフローチャートである。 第1実施形態に係るパラメータ値共通モデル演算装置の運用時における共通方式重み処理部の処理手順の例を示すフローチャートである。 第1実施形態に係るテーブル共通モデル演算装置の運用時における共通テーブル方式重み処理部の処理手順の例を示すフローチャートである。 第1実施形態に係るパラメータ値混合モデル演算装置の構成の例を示す図である。 第1実施形態に係るテーブル混合モデル演算装置の構成の例を示す図である。 第1実施形態に係るパラメータテーブル併用モデル演算装置の構成の例を示す図である。 第1実施形態に係るニューラルネットワークシステムの構成の例を示す図である。 第2実施形態に係る情報処理システムの装置構成の例を示す図である。 第2実施形態に係るグループ設定方式学習制御装置の構成の例を示す図である。 第2実施形態に係る情報処理システムが、パラメータ値共通モデル演算装置およびテーブル共通モデル演算装置の設定の設定を行う場合の処理の手順の例を示すフローチャートである。 第2実施形態に係るグループ設定方式学習制御装置が、パラメータ値共通モデル演算装置を制御して学習を行わせる処理手順の例を示すフローチャートである。 少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
<第1実施形態>
図1は、第1実施形態に係る情報処理システムの装置構成の例を示す図である。図1に示す構成で、情報処理システム1は、パラメータ値個別モデル演算装置11と、パラメータ値個別学習制御装置12と、パラメータ値共通化装置13と、パラメータ値共通モデル演算装置14と、パラメータ値共通学習制御装置15と、テーブル化装置16と、テーブル共通モデル演算装置17とを備える。
情報処理システム1は、変形可能な関数を用いて演算を行う演算装置の関数を設定するシステムである。図1の各部のうち、パラメータ値個別モデル演算装置11と、パラメータ値共通モデル演算装置14と、テーブル共通モデル演算装置17とが、変形可能な関数を用いて演算を行う演算装置の例に該当する。変形可能な関数を用いて演算を行う演算装置を、単に演算装置とも称する。
以下では、情報処理システム1が扱う演算装置が、変形可能な関数を用いてエッジにおける信号の重み付けを行うニューラルネットワークが実装された装置である場合を例に説明する。ただし、情報処理システム1が扱う演算装置は、これに限定されない。
図2は、ニューラルネットワークの一部の構成の例を示す図である。図2では、階層型かつ全結合のニューラルネットワークの、2つの中間層のノードおよび、ノード間のエッジが示されている。ただし、情報処理システム1が扱う演算装置にニューラルネットワークが実装される場合、実装されるニューラルネットワークの種類は特定の種類に限定されない。
図2に示す構成で、ニューラルネットワークシステム110は、ノード演算部111と、重み処理部112とを備える。
ノード演算部111は、ニューラルネットワークのノードとして機能する。以下では、ノード演算部111が、ノード演算部111自らへの入力の合計値を活性化関数に入力し、得られる関数値を出力する場合を例に説明する。ただし、情報処理システム1が扱う演算装置にニューラルネットワークが実装される場合、実装されるニューラルネットワークのノードの種類は特定の種類に限定されない。
重み処理部112は、ニューラルネットワークのエッジとして機能する。以下では、重み処理部112が、エッジにおける信号(ノードからノードへ伝達される数値)に対する重み付けを行う場合を例に説明する。特に、重み処理部112が、変形可能な関数を用いて重み付けの計算を行う場合を例に説明する。ただし、情報処理システム1が扱う演算装置にニューラルネットワークが実装される場合、ノード間の信号の重み付けの方法は特定の方法に限定されない。
図3は、パラメータ値個別モデル演算装置11の構成の例を示す図である。図3に示す構成で、パラメータ値個別モデル演算装置11は、ノード演算部111と、個別方式重み処理部120とを備える。個別方式重み処理部120は、関数演算部121と、個別パラメータ値記憶部122とを備える。
パラメータ値個別モデル演算装置11は、は、ニューラルネットワークシステム110の例に該当する。個別方式重み処理部120は、重み処理部112の例に該当する。
個別方式重み処理部120は、変形可能な関数を用いてエッジにおける信号の重み付けを行う。具体的には、関数演算部121が、パラメータを有する関数の演算を行う。個別パラメータ値記憶部122は、関数のパラメータ値を記憶する。関数演算部121が演算を行う関数は、個別パラメータ値記憶部122が記憶するパラメータ値を関数のパラメータに設定することで特定される。関数が特定されることを、関数が定まるとも称する。
関数演算部121は、ノード演算部111から出力される値を、パラメータ値によって特定された関数に入力し、算出する関数値をノード演算部111に出力する。関数演算部121が行う演算は、ニューラルネットワークのエッジにおける重み付けとして機能し、個別パラメータ値記憶部122が記憶するパラメータ値が、学習によって更新される。
パラメータ値個別モデル演算装置11の関数演算部121は、第1演算部の例に該当する。
パラメータを有する関数を関数テンプレートとも称する。関数テンプレートのパラメータにパラメータ値を設定することで関数が定まる。個別パラメータ値記憶部122が記憶する関数のパラメータ値は、関数テンプレートのパラメータに設定されることで、その関数が特定されるパラメータ値であるといえる。
全ての関数演算部121が、同じ内容の関数テンプレートを1つずつ備えていてもよいが、関数演算部121によって備える関数テンプレートが異なっていてもよい。
個別方式重み処理部120の個別パラメータ値記憶部122が記憶するパラメータ値を関数テンプレートのパラメータに設定することで定まる関数を、その個別方式重み処理部120の関数とも称する。
関数演算部121が演算を行う関数は、非線形関数または区分線形関数であってもよい。例えば、関数演算部121が演算を行う関数は、B-スプライン関数(B-Spline Function)であってもよい。ここでいうB-スプライン関数は、グラフがB-スプライン曲線(B-Spline Curve)を示す関数である。
B-スプライン関数は区分多項式なので、ある一つのパラメータ値を更新しても関数全体の形状が変わるのではなく、一部の定義域での関数値の変更にとどまる。この点で、B-スプライン関数を学習による更新の対象とした場合に、学習が比較的速く収束することが期待される。
ただし、関数演算部121が演算を行う関数は、B-スプライン関数に限定されない。
パラメータ値個別モデル演算装置11のように、非線形関数または区分線形関数など比較的複雑な関数を学習における更新対象とすることで、重み係数の乗算による重み付けの場合と比較して、1つのノードで表せる情報がより多い。この点で、比較的複雑な関数を学習における更新対象とすることで、ニューラルネットワークのノード数を比較的少なくすることができると期待される。
一方、比較的複雑な関数を学習における更新対象とする場合、関数のパラメータの個数が多くなり、パラメータ値を記憶するための記憶容量が大きくなる。装置の小型化の観点から、あるいは、比較的性能の低い実装する場合、記憶容量をなるべく小さくできることが好ましい。
そこで、情報処理システム1は、学習済みのパラメータ値個別モデル演算装置11の関数のパラメータ値から、エッジ(図2の重み処理部112)のグループ毎にパラメータ値を算出し、パラメータ値共通化装置13に設定する。
パラメータ値個別学習制御装置12は、パラメータ値個別モデル演算装置11に学習を行わせる。パラメータ値個別モデル演算装置11の学習方法として、例えば誤差逆伝播法(Backpropagation)などの公知の方法を用いることができる。
パラメータ値共通化装置13は、パラメータ値個別モデル演算装置11の個別パラメータ値記憶部122が記憶するパラメータ値に基づいて個別方式重み処理部120をグループ分けし、グループ毎にパラメータ値を算出する。パラメータ値共通化装置13は、算出したグループ毎のパラメータ値を、パラメータ値共通モデル演算装置14に設定する。
パラメータ値共通化装置13は、共通演算設定装置の例に該当する。
図4は、パラメータ値共通化装置13の構成の例を示す図である。図4に示す構成で、パラメータ値共通化装置13は、グループ化部311と、共通パラメータ値算出部312と、パラメータ値共通モデル設定部313とを備える。
グループ化部311は、パラメータ値個別モデル演算装置11の個別パラメータ値記憶部122が記憶するパラメータ値に基づいて個別方式重み処理部120をグループ分けする。
個別方式重み処理部120の各々は、関数演算部121を1つ備える。したがって、個別方式重み処理部120のグループ分けは、個別方式重み処理部120の関数演算部121(第1演算部)のグループ分けにも該当する。
また、個別パラメータ値記憶部122が記憶するパラメータ値によって、1つの個別方式重み処理部120について1つの関数が特定される。したがって、個別方式重み処理部120のグループ分けは、関数のグループ分けにも該当する。
グループ分けをグループ化とも称する。
グループ化部311は、個別方式重み処理部120の関数について、関数同士の類似度の指標値を算出する。そして、グループ化部311は、類似度が所定の条件以上に高い個別方式重み処理部120が同一のグループに含まれるように、個別方式重み処理部120のグループを決定する。
グループ化部311が、関数の類似度の指標値を算出する方法は、特定の方法に限定されない。
例えば、グループ化部311が、複数の関数それぞれについて関数値をサンプリングし、2つの関数の関数値の差の大きさを、関数が類似するほど値が小さくなる指標値として算出するようにしてもよい。
グループ化部311が、関数への所定の入力値に対する関数値を算出し、算出した関数値をサンプリング値として用いるようにしてもよい。グループ化部311が、関数への複数の入力値のそれぞれについて、関数値をサンプリングして指標値を算出するようにしてもよい。
あるいは、パラメータ値の差が小さいほど関数が類似すると評価できる場合、グループ化部311が、パラメータ値の差の大きさを、関数が類似するほど値が小さくなる指標値として算出するようにしてもよい。
グループ化部311が、個別方式重み処理部120のグループ分けを行う方法は、特定の方法に限定されない。
例えば、グループ化部311が、同じグループに含まれる2つの個別方式重み処理部120の組み合わせの何れについても、関数が類似するほど値が小さくなる指標値が所定の閾値以下になるように、個別方式重み処理部120のグループを決定するようにしてもよい。
共通パラメータ値算出部312は、グループ化部311が設定した個別方式重み処理部120のグループ毎に、そのグループに含まれる個別方式重み処理部120に共通のパラメータ値を算出する。グループに含まれる個別方式重み処理部120に共通のパラメータ値を共通パラメータ値とも称する。共通パラメータ値は、個別方式重み処理部120の関数演算部121のグループに含まれる全ての関数演算部121における関数の代わりに用いられる1つの関数のパラメータ値であるといえる。
共通パラメータ値算出部312がパラメータ値を算出する方法は、特定の方法に限定されない。
共通パラメータ値算出部312が、1つのグループに含まれる全ての個別方式重み処理部120の関数を近似する関数のパラメータ値を算出するようにしてもよい。例えば、共通パラメータ値算出部312が、1つのグループに含まれる全ての個別方式重み処理部120の関数の平均的な関数のパラメータ値を算出するようにしてもよい。ここでいう個別方式重み処理部120の関数は、その個別方式重み処理部120の個別パラメータ値記憶部122が記憶するパラメータ値によって特定される関数である。
さらに例えば、共通パラメータ値算出部312が、関数への複数の入力値のそれぞれについて、1つのグループに含まれる全ての個別方式重み処理部120の関数のサンプリングを行って入力値毎に平均を算出するようにしてもよい。そして、共通パラメータ値算出部312が、入力値の個数分得られる点(座標)を近似する曲線を示す関数を、平均的な関数として算出するようにしてもよい。
パラメータ値共通モデル設定部313は、共通パラメータ値算出部312が算出する、グループ毎のパラメータ値をパラメータ値共通モデル演算装置14に設定する。
また、パラメータ値共通モデル設定部313は、個別方式重み処理部120のグループに基づいて、パラメータ値共通モデル演算装置14における重み処理部である共通方式重み処理部のグループを決定し、共通方式重み処理部の各々に設定する。
例えば、パラメータ値共通モデル演算装置14が、ニューラルネットワークのノードおよびエッジがパラメータ値個別モデル演算装置11におけるニューラルネットワークのノードおよびエッジと一対一に対応付けられるように構成されていてもよい。そして、パラメータ値共通モデル設定部313が、パラメータ値個別モデル演算装置11に設定されるグループに含まれる各部と、パラメータ値共通モデル演算装置14に設定されるグループに含まれる各部とが、ニューラルネットワークのノードおよびエッジのレベルで同じになるように、パラメータ値共通モデル演算装置14の共通方式重み処理部のグループを決定するようにしてもよい。
図5は、パラメータ値共通モデル演算装置14の構成の例を示す図である。図5に示す構成で、パラメータ値共通モデル演算装置14は、ノード演算部111と、共通パラメータ値記憶部130と、共通方式重み処理部140とを備える。共通方式重み処理部140は、関数演算部121と、グループID記憶部141と、パラメータ値取得部142とを備える。
パラメータ値共通モデル演算装置14は、ニューラルネットワークシステム110の例に該当する。共通方式重み処理部140は、重み処理部112の例に該当する。
関数演算部121は、パラメータ値を取得する相手以外は、パラメータ値個別モデル演算装置11の関数演算部121の場合と同様である。パラメータ値共通モデル演算装置14では、関数演算部121は、パラメータ値取得部142を介して共通パラメータ値記憶部130からパラメータ値を取得する。パラメータ値共通モデル演算装置14の関数演算部121は第2演算部の例に該当する。
共通方式重み処理部140は、関数演算部121を1つずつ備える。したがって、共通方式重み処理部140のグループ分けは、共通方式重み処理部140の関数演算部121(第2演算部)のグループ分けにも該当する。
共通パラメータ値記憶部130は、共通パラメータ値を記憶する。すなわち、共通パラメータ値記憶部130は、パラメータ値共通化装置13の共通パラメータ値算出部312がグループ(図5の例では、共通方式重み処理部140のグループ)毎に算出するパラメータ値を記憶する。
共通パラメータ値記憶部130が記憶するグループ毎のパラメータ値は、関数を定める値の例に該当する。共通パラメータ値記憶部130は、共通関数情報記憶部の例に該当する。
共通パラメータ値記憶部130は、共通パラメータ値をグループIDと紐付けて記憶する。グループIDは、グループを識別する識別情報である。共通パラメータ値記憶部130は、共通方式重み処理部140のグループ毎に、そのグループを示すグループIDと、そのグループの共通パラメータ値とを記憶する。
共通パラメータ値記憶部130が、共通パラメータ値をグループIDと紐付けて記憶する方法は、特定の方法に限定されない。例えば、共通パラメータ値記憶部130が、グループIDの欄と共通パラメータ値の欄とを含む表形式のデータを記憶するなど、グループIDが明示されるデータを記憶するようにしてもよい。あるいは、共通方式重み処理部140のグループに順番が付けられ、共通パラメータ値記憶部130が、グループの順番に応じた順番で共通パラメータ値を記憶するなど、グループIDが明示されないデータを記憶するようにしてもよい。
共通方式重み処理部140は、パラメータ値個別モデル演算装置11の個別方式重み処理部120の場合と同様、変形可能な関数を用いてエッジにおける信号の重み付けを行う。
ただし、共通方式重み処理部140では、関数テンプレートのパラメータ値を読み出す対象が、個別方式重み処理部120の場合と異なる。上記のように、個別方式重み処理部120は、個別方式重み処理部120自らが備える個別パラメータ値記憶部122からパラメータ値を読み出し、関数テンプレートのパラメータに設定する。一方、共通方式重み処理部140は、共通パラメータ値記憶部130がグループ毎に記憶するパラメータ値のうち、共通方式重み処理部140自らが含まれるグループのパラメータ値を読み出し、関数テンプレートのパラメータに設定する。
それ以外の点では、共通方式重み処理部140は、個別方式重み処理部120と同様である。
共通方式重み処理部140が共通パラメータ値記憶部130から読み出すパラメータ値を関数テンプレートのパラメータに設定することで定まる関数を、その共通方式重み処理部140の関数とも称する。
グループID記憶部141は、グループIDを記憶する。図5の例では、グループID記憶部141は、パラメータ値共通化装置13のパラメータ値共通モデル設定部313が設定する、共通方式重み処理部140のグループを識別するグループIDを記憶する。
パラメータ値取得部142は、グループID記憶部141が記憶するグループIDを読み出す。そして、パラメータ値取得部142は、共通パラメータ値記憶部130が記憶する共通パラメータ値のうち、グループID記憶部141から読み出したグループIDに紐付けられる共通パラメータ値を読み出す。これにより、共通方式重み処理部140は、共通方式重み処理部140自らが含まれるグループの共通パラメータ値を取得する。
関数演算部121は、パラメータ値取得部142が取得した共通パラメータ値を関数テンプレートのパラメータに設定して関数を特定する。そして、関数演算部121は、特定した関数に、ノード演算部111からの値を入力して関数値を算出する。関数演算部121は、算出した関数値をノード演算部111へ出力する。
パラメータ値共通モデル演算装置14では、関数テンプレートのパラメータ値を共通方式重み処理部140のグループ毎に共有する点で、パラメータ値個別モデル演算装置11と比較して、パラメータ値を記憶するための記憶容量が小さくて済む。
パラメータ値個別モデル演算装置11の場合と同様、パラメータ値共通モデル演算装置14でも、全ての関数演算部121が、同じ内容の関数テンプレートを1つずつ備えていてもよいが、関数演算部121によって備える関数テンプレートが異なっていてもよい。同じグループに含まれる関数演算部121の関数テンプレートのパラメータに同じパラメータ値を設定可能であればよく、パラメータ値の設定によって特定される関数が、関数演算部121によって異なっていてもよい。
パラメータ値共通化装置13が、パラメータ値共通モデル演算装置14の設定を行った後、パラメータ値共通学習制御装置15が、パラメータ値共通モデル演算装置14に対して、パラメータ値共通モデル演算装置14の処理の精度を向上させるための学習を行わせるようにしてもよい。
例えば、パラメータ値共通モデル演算装置14がクラス分類を行う場合、ここでいう処理の精度は分類精度(例えば正解率)である。ただし、パラメータ値共通モデル演算装置14が行う処理は、特定の処理に限定されない。
パラメータ値共通モデル演算装置14の学習方法としてパラメータ値個別モデル演算装置11の学習と同様の学習方法を用いるようにしてもよい。そして、個別パラメータ値記憶部122が記憶するパラメータ値の更新に代えて、共通パラメータ値記憶部130が記憶するパラメータ値を更新するようにしてもよい。
パラメータ値共通モデル演算装置14を製品に実装するなど、パラメータ値共通モデル演算装置14を運用するようにしてもよい。あるいは、関数演算部121が行う関数の演算を関数テーブル化することで、関数の演算の処理負荷を軽減するようにしてもよい。ここでいう関数テーブルは、関数の引数値(関数への入力値)とその引数値の場合の関数値(関数の出力値)とが紐付けられたデータである。
図6は、テーブル化装置16の構成の例を示す図である。図6に示す構成で、テーブル化装置16は、テーブル算出部321と、テーブル共通モデル設定部322とを備える。
テーブル化装置16は、パラメータ値共通モデル演算装置14の共通パラメータ値記憶部130が記憶する共通パラメータ値が示す関数の関数テーブルを生成する。ここでいうパラメータ値が示す関数は、関数テンプレートのパラメータにそのパラメータ値を設定して得られる関数である。そして、テーブル化装置16は、生成した関数テーブルをテーブル共通モデル演算装置17に設定する。
テーブル共通モデル演算装置17は、パラメータ値共通モデル演算装置14における、関数テンプレートのパラメータに共通パラメータ値を設定して得られる関数の演算が、関数テーブルを参照することによる関数の演算に置き換えられた装置として構成される。
テーブル算出部321は、パラメータ値共通モデル演算装置14の共通パラメータ値記憶部130が記憶する共通パラメータ値毎に、共通パラメータ値が示す関数の関数テーブルを生成する。したがって、テーブル算出部321は、パラメータ値共通モデル演算装置14における共通方式重み処理部140のグループ毎に、重み計算のための関数を示す関数テーブルを生成する。
図7は、共通パラメータ値が示す関数の例を示す図である。図7のグラフの横軸は、引数値(関数への入力値)を示す。縦軸は、関数値(関数の出力値)を示す。引数値および関数値は、浮動小数(浮動小数点数)などの小数で表されていてもよい。
図8は、共通パラメータ値が示す関数の量子化の例を示す図である。ここでいう量子化は、アナログ値を離散的なデジタル値で近似的に表すことである。図8のグラフの横軸は、引数値を示す。縦軸は、関数値を示す。
図8の例で、関数の定義域が2個の区間に分割されている。各区間における引数値は、(0・・・000)、(0・・・001)、(0・・・010)、・・・、(1・・・111)のように、Nビット(bit)のビット列で表されるように量子化されている。Nは正の整数を表す。例えば、引数値がNビットの固定小数(固定小数点数)で表されるように量子化されてもよい。
このように量子化された関数の関数テーブルを生成することで、関数テーブルを参照する際の検索キーがNビットのビット列で表され、関数テーブルの検索を比較的容易に行うことができる。
なお、図8の横軸では、(0)10=(0・・・000)、(1)10=(0・・・001)、(2)10=(0・・・010)、・・・のように、量子化された引数値が10進数で示されている。
図8の例で、関数の値域についても2個の区間に分割され、各区間における関数値がNビットの整数で表されるように量子化されている。この量子化により、関数テーブルを参照して得られる関数値(関数テーブルからの出力値)がNビットのビット列で表され、関数テーブルの検索結果を比較的容易に伝達することができる。
図9は、テーブル算出部321が生成する関数テーブルの例を示す図である。図9の例で、関数テーブルが表形式のデータとして表され、行毎に、引数値とその引数値の場合の関数値とが紐付けられている。引数値および関数値は、それぞれ、図8の例のようにNビットの整数に量子化されている。
テーブル共通モデル設定部322は、テーブル算出部321が生成する、グループ毎の関数テーブルをテーブル共通モデル演算装置17に設定する。
また、テーブル共通モデル設定部322は、共通方式重み処理部140のグループに基づいて、テーブル共通モデル演算装置17における重み処理部である共通テーブル方式重み処理部のグループを決定し、共通テーブル方式重み処理部の各々に設定する。
例えば、テーブル共通モデル演算装置17が、ニューラルネットワークのノードおよびエッジがパラメータ値共通モデル演算装置14におけるニューラルネットワークのノードおよびエッジと一対一に対応付けられるように構成されていてもよい。そして、テーブル共通モデル設定部322が、パラメータ値共通モデル演算装置14に設定されるグループに含まれる各部と、テーブル共通モデル演算装置17に設定されるグループに含まれる各部とが、ニューラルネットワークのノードおよびエッジのレベルで同じになるように、テーブル共通モデル演算装置17の共通テーブル方式重み処理部のグループを決定するようにしてもよい。
関数テーブルを設定されるテーブル共通モデル演算装置17は、関数の引数値を検索キーとして関数テーブル内の関数値を検索することで、その引数値の場合の関数値を読み出すことができる。
図10は、テーブル共通モデル演算装置17の構成の例を示す図である。図10に示す構成で、テーブル共通モデル演算装置17は、ノード演算部111と、共通テーブル記憶部150と、共通テーブル方式重み処理部160とを備える。共通テーブル方式重み処理部160は、テーブル参照部161と、グループID記憶部141とを備える。
テーブル共通モデル演算装置17は、ニューラルネットワークシステム110の例に該当する。共通テーブル方式重み処理部160は、重み処理部112の例に該当する。
共通テーブル方式重み処理部160は、テーブル参照部161を1つずつ備える。したがって、共通テーブル方式重み処理部160のグループ分けは、テーブル参照部161のグループ分けにも該当する。
共通テーブル記憶部150は、テーブル化装置16のテーブル共通モデル設定部322が設定する共通テーブル方式重み処理部160のグループ毎に、関数テーブルを記憶する。共通テーブル記憶部150が共通テーブル方式重み処理部160のグループ毎に記憶する関数テーブルは、そのグループに含まれる共通テーブル方式重み処理部160に共通の関数テーブルとして用いられる。グループに含まれる共通テーブル方式重み処理部160に共通の関数テーブルを共通テーブルとも称する。
共通テーブル記憶部150が記憶する関数テーブルにおける引数値および関数値は、関数を定める値の例に該当する。共通テーブル記憶部150は、共通関数情報記憶部の例に該当する。
共通テーブル記憶部150は、共通テーブルをグループIDと紐付けて記憶する。共通テーブル記憶部150は、共通テーブル方式重み処理部160のグループ毎に、そのグループを示すグループIDと、そのグループの共通テーブルとを記憶する。
共通テーブル記憶部150が、共通テーブルをグループIDと紐付けて記憶する方法は、特定の方法に限定されない。例えば、共通テーブル記憶部150が、グループIDの欄と共通テーブルの欄とを含む表形式のデータを記憶するなど、グループIDが明示されるデータを記憶するようにしてもよい。あるいは、共通テーブル方式重み処理部160のグループに順番が付けられ、共通テーブル記憶部150が、グループの順番に応じた順番で共通テーブルを記憶するなど、グループIDが明示されないデータを記憶するようにしてもよい。
共通テーブル方式重み処理部160は、パラメータ値共通モデル演算装置14の共通方式重み処理部140の場合と同様、変形可能な関数を用いてエッジにおける信号の重み付けを行う。
ただし、共通テーブル方式重み処理部160では、ノード演算部111からの値を引数値として、その引数値の場合の関数値を取得する方法が、共通方式重み処理部140の場合と異なる。共通方式重み処理部140は、共通パラメータ値記憶部130から読み出す共通パラメータ値を関数テンプレートのパラメータに設定して関数を特定し、特定した関数に引数値を入力して関数値を算出する。一方、共通テーブル方式重み処理部160は、共通テーブル記憶部150が記憶する共通テーブルを参照して、引数値に紐付けられている関数値を読み出す。
それ以外の点では、共通テーブル方式重み処理部160は、共通方式重み処理部140と同様である。
共通テーブル方式重み処理部160が参照する共通テーブルが示す関数を、その共通テーブル方式重み処理部160の関数とも称する。
グループID記憶部141は、グループIDを記憶する。図10の例では、グループID記憶部141は、テーブル化装置16のテーブル共通モデル設定部322が設定する、共通テーブル方式重み処理部160のグループを識別するグループIDを記憶する。
テーブル参照部161は、グループID記憶部141が記憶するグループIDを読み出す。そして、テーブル参照部161は、共通テーブル記憶部150が記憶する共通テーブルのうち、グループID記憶部141から読み出したグループIDに紐付けられる共通テーブルを参照する。テーブル参照部161は、関数の引数値となるノード演算部111からの値を、Nビットのビット列に量子化し、量子化したビット列を検索キーとして共通テーブル内の関数値を検索する。この検索により、テーブル参照部161は、検索キーに示される引数値の場合の関数値を、量子化されたビット列にて読み出す。テーブル参照部161は、量子化されたビット列で示される関数値を、量子化を行わない場合の関数値に換算する。テーブル参照部161は、得られた関数値をノード演算部111へ出力する。
テーブル共通モデル演算装置17では、関数テーブルを参照して関数値を読み出す点で、関数が複雑な場合でも関数値を取得する処理の負荷が比較的軽く、関数を取得する処理の時間が比較的短いことが期待される。
また、関数を関数テーブルの形式で表すために比較的大きい記憶容量が必要になる。この点について、テーブル共通モデル演算装置17では、共通テーブル記憶部150は、共通テーブル方式重み処理部160のグループ毎に1つの共通テーブルを記憶すればよい。したがって、テーブル共通モデル演算装置17では、共通テーブル方式重み処理部160の個数が多い場合でも、共通テーブル記憶部150が記憶する共通テーブルの個数が比較的少なくて済み、共通テーブルを記憶するための記憶容量が比較的小さくて済むことが期待される。
テーブル共通モデル演算装置17を製品に実装するなど、テーブル共通モデル演算装置17を運用するようにしてもよい。
図11は、情報処理システム1が、パラメータ値共通モデル演算装置14およびテーブル共通モデル演算装置17の設定の設定を行う場合の処理の手順の例を示すフローチャートである。
図11の処理で、パラメータ値個別モデル演算装置11が、パラメータ値個別学習制御装置12の制御に従って学習を行う(ステップS111)。パラメータ値個別モデル演算装置11は、学習にて、個別パラメータ値記憶部122が記憶するパラメータ値を更新する。この学習は、パラメータ値個別モデル演算装置11に実装されるニューラルネットワークの学習に該当する。
ステップS111の処理では、図1に示される装置のうちパラメータ値個別モデル演算装置11と、パラメータ値個別学習制御装置12とが有ればよく、それ以外の装置が用意されている必要は無い。
次に、パラメータ値共通化装置13が、パラメータ値個別モデル演算装置11の個別パラメータ値記憶部122が記憶するパラメータ値を共通化し、共通化の結果をパラメータ値共通モデル演算装置14に設定する(ステップS112)。パラメータ値共通化装置13は、共通化されたパラメータ値、および、パラメータ値の共通化における共通方式重み処理部140グループを、パラメータ値共通モデル演算装置14に設定する。
ステップS112の処理では、図1に示される装置のうちパラメータ値個別モデル演算装置11、パラメータ値共通化装置13、および、パラメータ値共通モデル演算装置14が有ればよく、それ以外の装置が用意されている必要は無い。
次に、パラメータ値共通モデル演算装置14は、パラメータ値共通学習制御装置15の制御に従って学習を行う(ステップS113)。パラメータ値共通モデル演算装置14は、学習にて、共通パラメータ値記憶部130が記憶する共通パラメータ値を更新する。この学習は、パラメータ値共通モデル演算装置14に実装されるニューラルネットワークの学習に該当する。
ステップS113の処理では、図1に示される装置のうちパラメータ値共通モデル演算装置14と、パラメータ値共通学習制御装置15とが有ればよく、それ以外の装置が用意されている必要は無い。
パラメータ値共通モデル演算装置14は、学習済みのパラメータ値個別モデル演算装置11の設定を移植されていると言える点で、既に学習済みであると言える。ステップS113でのパラメータ値共通モデル演算装置14の学習は、パラメータ値共通モデル演算装置14の処理の精度をより高めるファインチューニングに該当する。
次に、テーブル化装置16が、パラメータ値共通モデル演算装置14の共通パラメータ値記憶部130が記憶する共通パラメータ値が示す関数を関数テーブル化し、関数テーブル化の結果をテーブル共通モデル演算装置17に設定する(ステップS114)。テーブル化装置16は、得られた関数テーブル、および、関数テーブル毎の共通テーブル方式重み処理部160のグループを、テーブル共通モデル演算装置17に設定する。
ステップS114の処理では、図1に示される装置のうちパラメータ値共通モデル演算装置14、テーブル化装置16、および、テーブル共通モデル演算装置17が有ればよく、それ以外の装置が用意されている必要は無い。
ステップS14の後、情報処理システム1は、図11の処理を終了する。
図12は、パラメータ値共通化装置13がパラメータ値を共通化する処理手順の例を示すフローチャートである。パラメータ値共通化装置13は、図11のステップS112で図12の処理を行う。
図12の処理で、グループ化部311は、パラメータ値個別モデル演算装置11の個別方式重み処理部120の関数の類似度に基づいて、関数をグループ分けする(ステップS121)。1つの個別方式重み処理部120につき1つの関数が示されることから、グループ化部311が行う関数のグループ分けによって、個別方式重み処理部120もグループ分けされる。
次に、パラメータ値共通化装置13は、個別方式重み処理部120のグループ毎に処理を行うループL11を開始する(ステップS122)。ループL11の処理では、処理対象となっている個別方式重み処理部120のグループを対象グループとも称する。
ループL11の処理で、共通パラメータ値算出部312は、対象グループの共通パラメータ値を算出する(ステップS123)。上述したように、共通パラメータ値算出部312が、対象グループに含まれる全ての個別方式重み処理部120の関数を近似する関数のパラメータ値を共通パラメータ値として算出するようにしてもよい。
パラメータ値共通モデル設定部313は、共通パラメータ値算出部312が算出した共通パラメータ値を、グループIDと紐付けてパラメータ値共通モデル演算装置14の共通パラメータ値記憶部130に記憶させる(ステップS124)。
また、パラメータ値共通モデル設定部313は、対象グループに対応する共通方式重み処理部140のグループを決定し、決定したグループに含まれる共通方式重み処理部140のグループID記憶部141にグループIDを記憶させる(ステップS125)。
上述したように、パラメータ値共通モデル演算装置14が、ニューラルネットワークのノードおよびエッジがパラメータ値個別モデル演算装置11におけるニューラルネットワークのノードおよびエッジと一対一に対応付けられるように構成されていてもよい。そして、パラメータ値共通モデル設定部313が、対象グループに含まれる個別方式重み処理部120に対応付けられる全ての共通方式重み処理部140を纏めたグループを、対象グループに対応する共通方式重み処理部140のグループとして決定するようにしてもよい。
次に、パラメータ値共通化装置13は、ループL11の終端処理を行う(ステップS126)。具体的には、パラメータ値共通化装置13は、ステップS121で得られた全てのグループについてループL11の処理を行ったか否かを判定する。ループL11の処理を行っていないグループがあると判定した場合、処理がステップS123に戻り、パラメータ値共通化装置13は、引き続き未処理のグループに対してループL11の処理を行う。一方、全てのグループについてループL11の処理を行ったと判定した場合、パラメータ値共通化装置13は、ループL11を終了する。
ステップS126でループL11を終了した場合、パラメータ値共通化装置13は、図12の処理を終了する。
図13は、テーブル化装置16が関数を関数テーブル化する処理手順の例を示すフローチャートである。テーブル化装置16は、図11のステップS114で図13の処理を行う。
図13の処理で、テーブル化装置16は、共通方式重み処理部140のグループ毎に処理を行うループL21を開始する(ステップS131)。ループL21では、処理対象となっている共通方式重み処理部140グループを対象グループとも称する。
ループL21の処理で、テーブル算出部321は、共通パラメータ値記憶部130が記憶する共通パラメータ値のうち、対象グループのグループIDと紐付けられる共通パラメータ値が示す関数を関数テーブル化する(ステップS132)。
テーブル共通モデル設定部322は、テーブル算出部321が生成した関数テーブルを、グループIDと紐付けてテーブル共通モデル演算装置17の共通テーブル記憶部150に記憶させる(ステップS133)。
また、テーブル共通モデル設定部322は、対象グループに対応する共通テーブル方式重み処理部160のグループを決定し、決定したグループに含まれる共通テーブル方式重み処理部160のグループID記憶部141にグループIDを記憶させる(ステップS134)。
上述したように、テーブル共通モデル演算装置17が、ニューラルネットワークのノードおよびエッジがパラメータ値共通モデル演算装置14におけるニューラルネットワークのノードおよびエッジと一対一に対応付けられるように構成されていてもよい。そして、テーブル共通モデル設定部322が、対象グループに含まれる共通方式重み処理部140に対応付けられる全ての共通テーブル方式重み処理部160を纏めたグループを、対象グループに対応する共通テーブル方式重み処理部160のグループとして決定するようにしてもよい。
次に、テーブル化装置16は、ループL21の終端処理を行う(ステップS135)。具体的には、テーブル化装置16は、共通方式重み処理部140の全てのグループについてループL21の処理を行ったか否かを判定する。ループL21の処理を行っていないグループがあると判定した場合、処理がステップS132に戻り、テーブル化装置16は、引き続き未処理のグループに対してループL21の処理を行う。一方、全てのグループについてループL21の処理を行ったと判定した場合、テーブル化装置16は、ループL21を終了する。
ステップS136でループL21を終了した場合、テーブル化装置16は、図13の処理を終了する。
図14は、パラメータ値共通モデル演算装置14の運用時における共通方式重み処理部140の処理手順の例を示すフローチャートである。ノード演算部111からの値の入力を受けた共通方式重み処理部140は、図14の処理を行って関数値を算出しノード演算部111へ出力する。
図14の処理で、パラメータ値取得部142は、グループID記憶部141からグループIDを読み出す(ステップS141)。
そして、パラメータ値取得部142は、グループID記憶部141から読み出したグループIDに紐付けられている共通パラメータ値を、共通パラメータ値記憶部130から読み出す(ステップS142)。
関数演算部121は、パラメータ値取得部が取得した共通パラメータ値を関数テンプレートのパラメータに設定する(ステップS143)。関数テンプレートのパラメータにパラメータ値を設定することで、関数が特定される。
そして、関数演算部121は、ノード演算部111からの値を特定された関数に入力して関数値を算出する(ステップS144)。関数演算部121は、算出した関数値をノード演算部111へ出力する。
ステップS144の後、パラメータ値共通モデル演算装置14は、図14の処理を終了する。
図15は、テーブル共通モデル演算装置17の運用時における共通テーブル方式重み処理部160の処理手順の例を示すフローチャートである。ノード演算部111からの値の入力を受けた共通テーブル方式重み処理部160は、図15の処理を行って関数値を算出しノード演算部111へ出力する。
図15の処理で、テーブル参照部161は、グループID記憶部141からグループIDを読み出す(ステップS151)。
そして、テーブル参照部161は、グループID記憶部141から読み出したグループIDに紐付けられている共通テーブルを参照して、ノード演算部111からの値を変換する(ステップS152)。
具体的には、テーブル参照部161は、共通テーブル記憶部150が記憶する共通テーブルのうち、グループID記憶部141から読み出したグループIDに紐付けられている共通テーブルを特定する。そして、テーブル参照部161は、ノード演算部111からの値を検索キーとして、特定した共通テーブル内の関数値を検索し、ノード演算部111からの値に紐付けられている関数値を読み出す。これにより、テーブル参照部161は、ノード演算部111からの値を引数値として関数に入力した場合の関数値を取得する。テーブル参照部161は、得られた関数値をノード演算部111へ出力する。
なお、図7から図9の例のように、共通テーブルに格納される値が量子化されている場合、テーブル参照部161は、ノード演算部111からの値を量子化し、量子化された値を検索キーとして、共通テーブル内の関数値を検索する。また、テーブル参照部161は、共通テーブルから読み出した関数値に対して量子化の逆演算を行い、逆演算後の関数値をノード演算部111へ出力する。
あるいは、テーブル共通モデル演算装置17全体で、量子化された値を用いるようにしてもよい。この場合、個々の共通テーブル方式重み処理部160は、量子化の演算、および、量子化の逆演算を行う必要は無い。
ステップS152の後、共通テーブル方式重み処理部160は、図15の処理を終了する。
情報処理システム1が、パラメータ値共通モデル演算装置14に代えて、関数テンプレートのパラメータのうち一部のパラメータについてのみパラメータ値が共通化された装置を備えるようにしてもよい。
図16は、パラメータ値混合モデル演算装置24の構成の例を示す図である。パラメータ値混合モデル演算装置24は、関数テンプレートのパラメータのうち一部のパラメータについてのみパラメータ値が共通化された装置の例に該当する。
図16に示す構成で、パラメータ値混合モデル演算装置24は、ノード演算部111と、共通パラメータ値記憶部210と、混合方式重み処理部220とを備える。混合方式重み処理部220は、関数演算部221と、グループID記憶部141と、パラメータ値取得部142と、個別パラメータ値記憶部222とを備える。
パラメータ値混合モデル演算装置24は、ニューラルネットワークシステム110の例に該当する。混合方式重み処理部220は、重み処理部112の例に該当する。
共通パラメータ値記憶部210は、関数テンプレートのパラメータ値を記憶する。
共通パラメータ値記憶部210を、パラメータ値共通モデル演算装置14の共通パラメータ値記憶部130と比較すると、共通パラメータ値記憶部130が、関数テンプレートの全てのパラメータのパラメータ値を記憶するのに対して、共通パラメータ値記憶部210は、関数テンプレートのパラメータのうち一部のパラメータについてのみパラメータ値を記憶する。それ以外の点では、共通パラメータ値記憶部210は、共通パラメータ値記憶部130と同様である。共通パラメータ値記憶部130の場合と同様、共通パラメータ値記憶部210が記憶するパラメータ値を、共通パラメータ値とも称する。
パラメータ値混合モデル演算装置24のグループID記憶部141は、パラメータ値共通モデル演算装置14のグループID記憶部141と同様、グループIDを記憶する。パラメータ値混合モデル演算装置24では、グループIDは、混合方式重み処理部220のグループを識別する。
パラメータ値取得部142は、グループID記憶部141が記憶するグループIDに紐付けられる共通パラメータ値を、共通パラメータ値記憶部210から読み出す。
パラメータ値混合モデル演算装置24のパラメータ値取得部142が行う処理は、関数テンプレートの一部のパラメータのみのパラメータ値を読み出す点以外は、パラメータ値共通モデル演算装置14のパラメータ値取得部142の場合と同様である。
個別パラメータ値記憶部222は、関数テンプレートのパラメータ値を記憶する。具体的には、個別パラメータ値記憶部222は、関数テンプレートのパラメータのうち、共通パラメータ値記憶部がパラメータ値を記憶しているパラメータ以外のパラメータのパラメータ値を記憶する。
個別パラメータ値記憶部222を、パラメータ値個別モデル演算装置11の個別パラメータ値記憶部122と比較すると、個別パラメータ値記憶部122が、関数テンプレートの全てのパラメータのパラメータ値を記憶するのに対して、個別パラメータ値記憶部222は、関数テンプレートのパラメータのうち一部のパラメータについてのみパラメータ値を記憶する。それ以外の点では、個別パラメータ値記憶部222は、個別パラメータ値記憶部122と同様である。
関数演算部221は、パラメータ値取得部142が共通パラメータ値記憶部210から取得するパラメータ値と、個別パラメータ値記憶部222が記憶するパラメータ値とを関数テンプレートのパラメータに設定して関数を特定する。そして、関数演算部221は、特定した関数にノード演算部111からの値を入力して関数値を算出する。関数演算部221は、算出した関数値をノード演算部111へ出力する。
関数演算部221を、パラメータ値共通モデル演算装置14の関数演算部121と比較すると、パラメータ値を取得する相手が異なる。関数演算部121は、パラメータ値取得部142を介して共通パラメータ値記憶部130からパラメータ値を取得する。これに対し、関数演算部221は、パラメータ値取得部142を介して共通パラメータ値記憶部210からパラメータ値を取得し、残りのパラメータ値を個別パラメータ値記憶部222から取得する。それ以外の点では、関数演算部221は、関数演算部121と同様である。
パラメータ値共通モデル演算装置14の関数演算部121の場合と同様、全ての関数演算部221が同じ内容の関数テンプレートを1つずつ備えていてもよいが、関数演算部221によって備える関数テンプレートが異なっていてもよい。同じグループに含まれる関数演算部221の関数テンプレートのパラメータに同じパラメータ値を設定可能であればよく、パラメータ値の設定によって特定される関数が、関数演算部221によって異なっていてもよい。
このように、パラメータ値混合モデル演算装置24は、関数テンプレートのパラメータに設定するパラメータ値を、共通パラメータ値記憶部210と個別パラメータ値記憶部222とに分けて記憶する。これにより、パラメータ値混合モデル演算装置24では、記憶容量の低減と、高精度な処理の両立を図ることができる。
具体的には、パラメータ値混合モデル演算装置24では、共通パラメータ値記憶部210が記憶する共通パラメータ値を複数の混合方式重み処理部220が共有することで、記憶容量が比較的小さくて済む。かつ、パラメータ値混合モデル演算装置24では、混合方式重み処理部220毎に個別パラメータ値記憶部222を備えてパラメータ値を記憶することで、混合方式重み処理部220毎に異なる関数を特定することができ、この点で、高精度に処理を行えると期待される。
情報処理システム1が、テーブル共通モデル演算装置17に代えて、関数テーブルの一部のみ共通化された装置を備えるようにしてもよい。
図17は、テーブル混合モデル演算装置27の構成の例を示す図である。テーブル混合モデル演算装置27は、関数テーブルの一部のみ共通化された装置の例に該当する。
図17に示す構成で、テーブル混合モデル演算装置27は、ノード演算部111と、共通テーブル記憶部230と、混合テーブル方式重み処理部240とを備える。混合テーブル方式重み処理部240は、テーブル参照部241と、グループID記憶部141と、個別テーブル記憶部242とを備える。
テーブル混合モデル演算装置27は、ニューラルネットワークシステム110の例に該当する。混合テーブル方式重み処理部240は、重み処理部112の例に該当する。
共通テーブル記憶部230は、関数の定義域の一部について、関数テーブルを記憶する。
共通テーブル記憶部230を、テーブル共通モデル演算装置17の共通テーブル記憶部150と比較すると、共通テーブル記憶部150が、関数の定義域全体について関数テーブルを記憶するのに対して、共通テーブル記憶部230が、関数の定義域の一部についてのみ関数テーブルを記憶する。それ以外の点では、共通テーブル記憶部230は、共通テーブル記憶部150と同様である。共通テーブル記憶部150の場合と同様、共通テーブル記憶部230が記憶する関数テーブルを、共通テーブルとも称する。
テーブル混合モデル演算装置27のグループID記憶部141は、テーブル共通モデル演算装置17のグループID記憶部141と同様、グループIDを記憶する。テーブル混合モデル演算装置27では、グループIDは、混合テーブル方式重み処理部240のグループを識別する。
個別テーブル記憶部242は、関数の定義域の一部について、関数テーブルを記憶する。具体的には、個別テーブル記憶部242は、関数の定義域のうち共通テーブル記憶部230が関数テーブルを記憶する区間以外の区間について関数テーブルを記憶する。
テーブル参照部241は、共通テーブル記憶部230または個別テーブル記憶部242の何れかを選択して関数テーブルを参照する。具体的には、テーブル参照部241は、関数の定義域のうち、共通テーブル記憶部230が関数テーブルを記憶する区間、および、個別テーブル記憶部242が関数テーブルを記憶する区間について既知である。ノード演算部111からの値の入力を受けた場合、テーブル参照部241は、共通テーブル記憶部230または個別テーブル記憶部242の何れか、ノード演算部111からの値について関数テーブルを記憶している方を選択する。そして、テーブル参照部241は、共通テーブル記憶部230または個別テーブル記憶部242の何れか選択した方から、引数値がノード演算部111からの値である場合の関数値を読み出す。テーブル参照部241は、得られた関数値をノード演算部111へ出力する。
共通テーブル記憶部230の共通テーブルを参照する場合、テーブル参照部241は、グループID記憶部141からグループIDを読み出す。そして、テーブル参照部241は、共通テーブル記憶部230が記憶する共通テーブルのうち、グループID記憶部141から読み出したグループIDと紐付けられている共通テーブルを参照する。
テーブル参照部241をテーブル共通モデル演算装置17のテーブル参照部161と比較すると、関数テーブルの参照先が異なる。関数演算部121は、関数の定義域全体について、共通テーブル記憶部150が記憶する共通テーブルを参照する。これに対し、テーブル参照部241は、関数の引数値に応じて、共通テーブル記憶部230または個別テーブル記憶部242の何れかを選択して関数テーブルを参照する。それ以外の点では、テーブル参照部241は、テーブル参照部161と同様である。
このように、テーブル混合モデル演算装置27は、関数テーブルを、共通テーブル記憶部230と個別テーブル記憶部242とに分けて記憶する。これにより、テーブル混合モデル演算装置27では、記憶容量の低減と、高精度な処理の両立を図ることができる。
具体的には、テーブル混合モデル演算装置27では、共通テーブル記憶部230が記憶する共通テーブルを複数の混合テーブル方式重み処理部240が共有することで、記憶容量が比較的小さくて済む。かつ、テーブル混合モデル演算装置27では、混合テーブル方式重み処理部240毎に個別テーブル記憶部242を備えて関数テーブルの一部を記憶することで、混合テーブル方式重み処理部240毎に異なる部分関数を特定することができ、この点で、高精度に処理を行えると期待される。
例えば、パラメータ値混合モデル演算装置24が、パラメータ値を共通パラメータ値記憶部210と個別パラメータ値記憶部222とに分けて記憶することで、関数テンプレートによっては、関数の定義域のうち、同一グループ内の混合方式重み処理部220に共通の部分関数となる区間と、混合方式重み処理部220毎に部分関数が設定される区間とに分かれることが考えられる。
この場合、関数の定義域のうち、同一グループ内の混合方式重み処理部220に共通の部分関数となる区間については、テーブル混合モデル演算装置27の共通テーブル記憶部230が、関数テーブルを記憶するようにしてもよい。また、混合方式重み処理部220毎に部分関数が設定される区間については、テーブル混合モデル演算装置27の個別テーブル記憶部242が関数テーブルを記憶するようにしてもよい。
情報処理システム1が、テーブル共通モデル演算装置17に代えて、関数テンプレートと関数テーブルとを併用する装置を備えるようにしてもよい。
図18は、パラメータテーブル併用モデル演算装置28の構成の例を示す図である。パラメータテーブル併用モデル演算装置28は、関数テンプレートと関数テーブルとを併用する装置の例に該当する。
図18に示す構成で、パラメータテーブル併用モデル演算装置28は、ノード演算部111と、共通テーブル記憶部150と、併用方式重み処理部250とを備える。併用方式重み処理部250は、関数演算部251と、グループID記憶部141と、個別パラメータ値記憶部122とを備える。
パラメータテーブル併用モデル演算装置28は、ニューラルネットワークシステム110の例に該当する。併用方式重み処理部250は、重み処理部112の例に該当する。
共通テーブル記憶部150は、テーブル共通モデル演算装置17の場合と同様、共通テーブルをグループIDと紐付けて記憶する。パラメータテーブル併用モデル演算装置28の場合、共通テーブル記憶部150は、併用方式重み処理部250のグループ毎に、そのグループを示すグループIDと、そのグループの共通テーブルとを記憶する。共通テーブル記憶部150は、関数の定義域全体について、共通テーブルを記憶する。
グループID記憶部141は、テーブル共通モデル演算装置17のグループID記憶部141と同様、グループIDを記憶する。併用方式重み処理部250では、グループIDは、併用方式重み処理部250のグループを識別する。
個別パラメータ値記憶部122は、パラメータ値個別モデル演算装置11の個別パラメータ値記憶部122と同様、関数のパラメータ値を記憶する。
関数演算部251は、共通テーブル記憶部150の共通テーブルが示す関数と、関数テンプレートのパラメータにパラメータ値を設定して得られる関数とを併用して、関数の演算を行う。
具体的には、関数演算部251は、テーブル共通モデル演算装置17のテーブル参照部161と同様、共通テーブルから関数値を読み出す。関数演算部251は、共通テーブル記憶部150が記憶する共通テーブルのうち、グループID記憶部141が記憶するグループIDと紐付けられている共通テーブルを特定する。そして、関数演算部251は、特定した共通テーブルから、ノード演算部111からの値が引数値である場合の関数値を読み出す。
グループID記憶部141が記憶するグループIDと紐付けられている共通テーブルが示す関数を、共通関数とも称する。
また、関数演算部251は、パラメータ値個別モデル演算装置11の関数演算部121と同様、関数演算部121自らが備える関数テンプレートのパラメータに、個別パラメータ値記憶部122が記憶しているパラメータ値を設定して関数を特定する。
関数テンプレートのパラメータに、個別パラメータ値記憶部122が記憶しているパラメータ値を設定して特定される関数を、個別関数とも称する。
関数演算部251は、共通関数に対して、個別関数を用いた調整を行う。
例えば、関数演算部251が、個別関数を、引数値毎のオフセット値を示す関数として用いて調整を行うようにしてもよい。この場合、関数演算部251は、共通テーブルから読み出した関数値と、ノード演算部111からの値を個別関数に入力して算出する関数値とを足し合わせる。
あるいは、関数演算部251が、個別関数を、引数値毎の係数値を示す関数として用いて調整を行うようにしてもよい。この場合、関数演算部251は、共通テーブルから読み出した関数値と、ノード演算部111からの値を個別関数に入力して算出する関数値とを乗算する。
あるいは、関数演算部251が、個別関数を共通関数に対する後処理として用いて関数の合成を行うようにしてもよい。この場合、関数演算部251は、共通テーブルから読み出した関数値を個別関数に入力して関数値を算出する。
あるいは、関数演算部251が、個別関数を共通関数に対する前処理として用いて関数の合成を行うようにしてもよい。この場合、関数演算部251は、ノード演算部111からの値を個別関数に入力して関数値を算出する。そして、関数演算部251は、グループID記憶部141が記憶するグループIDと紐付けられている共通テーブルを参照して、個別関数で得られた関数値を共通関数に入力した場合の関数値を読み出す。
パラメータテーブル併用モデル演算装置28によれば、複雑な関数を共通関数として扱うことができ、かつ、個別関数を用いて併用方式重み処理部250毎に関数を調整することができる。
共通テーブル記憶部150が、共通関数を関数テーブルの形式で記憶することで、関数演算部251は、共通関数が複雑な関数であっても、比較的軽い負荷で、かつ、比較的高速に、関数値を取得することができる。また、共通テーブル記憶部150が、併用方式重み処理部250のグループ毎に共通テーブルを記憶することで、共通テーブルを記憶するための記憶容量が比較的小さくて済む。
個別関数として、例えばランプ関数、線形関数、指数関数または対数関数など簡単な関数を用いることが考えられる。個別関数として簡単な関数を用いることで、個別パラメータ値記憶部122がパラメータ値を記憶するための記憶容量が小さくて済む。また、個別関数として簡単な関数を用いることで、関数演算部251が、比較的軽い負荷で、かつ、比較的高速に、関数値を算出することができる。
関数の共通化の対象は、ニューラルネットワークのエッジにおける信号の重み付けを行うための関数に限定されない。例えば、ニューラルネットワークの活性化関数が共通化の対象となっていてもよい。
図19は、ニューラルネットワークシステム34の構成の例を示す図である。ニューラルネットワークシステム34は、ニューラルネットワークシステム110の例に該当する。共通方式ノード演算部260は、ノード演算部111の例に該当する。
図19では、ニューラルネットワークシステム34の各部のうち、共通パラメータ値記憶部130と、共通方式ノード演算部260とが示されている。共通方式ノード演算部260は、加算部261と、活性化関数演算部262とを備える。活性化関数演算部262は、関数演算部121と、グループID記憶部141と、パラメータ値取得部142とを備える。
加算部261は、共通方式ノード演算部260への入力値を合計する。
活性化関数演算部262は、加算部261の出力を活性化関数に入力した場合の関数値を算出する。
共通パラメータ値記憶部130、グループID記憶部141、パラメータ値取得部142、および、関数演算部121は、計算対象の関数が活性化関数である点以外は、パラメータ値共通モデル演算装置14の共通パラメータ値記憶部130、グループID記憶部141、パラメータ値取得部142、および、関数演算部121と同様である。
図19の例では、共通方式ノード演算部260がグループ分けされ、グループ毎に活性化関数が設定される。したがって、ニューラルネットワークシステム34では、共通方式ノード演算部260のグループ毎に異なる活性化関数を用いることができる。
また、共通パラメータ値記憶部130が記憶する共通パラメータ値を変化させることで活性化関数が変化する。活性化関数が学習の対象となっていてもよい。例えば、パラメータ値共通化装置が学習済みのパラメータ値個別モデル演算装置11に基づいてパラメータ値共通モデル演算装置14の設定を行うのと同様に、ノード毎に活性化関数を設定可能なニューラルネットワークの学習によって活性化関数が設定された後、活性化関数の類似度に基づくグループ分けを行い、グループ分けの結果に基づいてニューラルネットワークシステム34の設定を行うようにしてもよい。
あるいは、ニューラルネットワーク以外のモデルの関数が共通化の対象になっていてもよい。
以上のように、関数演算部121は、関数を用いる演算を行う。共通関数情報記憶部は、関数演算部121がグループ分けされたグループ毎に、関数を定める値を記憶する。
演算装置によれば、関数を定める値を関数演算部のグループ毎に記憶する点で、関数を定めるための値を記憶するための記憶容量を比較的小さくすることができる。
共通パラメータ値記憶部130は、共通関数情報記憶部の例に該当する。パラメータ値は、関数を定める値の例に該当する。パラメータ値共通モデル演算装置14は、演算装置の例に該当する。
また、共通テーブル記憶部150は、共通関数情報記憶部の例に該当する。関数テーブルの引数値および関数値は、関数を定める値の例に該当する。テーブル共通モデル演算装置17は、演算装置の例に該当する。
また、関数演算部121は、パラメータを有する関数テンプレートにパラメータ値が設定されて示される関数を用いる演算を行う。共通パラメータ値記憶部130は、関数演算部121のグループ毎に、そのグループに含まれる関数演算部121に共通のパラメータ値を記憶する。
パラメータ値共通モデル演算装置14によれば、関数のパラメータ値を関数演算部121のグループ毎に記憶する点で、パラメータ値を記憶するための記憶容量を比較的小さくすることができる。
また、共通テーブル記憶部150は、関数演算部121のグループ毎に、関数の引数値と関数値とが紐付けられた関数テーブルを記憶する。関数演算部121は、関数テーブルを参照して関数を用いた演算を行う。
テーブル共通モデル演算装置17によれば、関数テーブルを関数演算部121のグループ毎に記憶する点で、関数テーブルを記憶するための記憶容量を比較的小さくすることができる。
また、個別関数情報記憶部は、1つの関数を定める1組の値のうちの一部の値を関数演算部121毎に記憶する。共通関数情報記憶部は、前記1つの関数を定める1組の値のうち個別関数情報記憶部が記憶する値以外の値を記憶する。
演算装置によれば、1つの関数を定める1組の値のうちの一部の値を関数演算部121毎に記憶する点で、件数演算部毎に関数を特定することができ、かつ、1つの関数を定める1組の値のうちの一部の値を関数演算部121のグループ毎に記憶する点で、関数を定めるための値を記憶するための記憶容量を比較的小さくすることができる。
個別パラメータ値記憶部222は、個別関数値記憶部の例に該当する。共通パラメータ値記憶部210は、共通関数情報記憶部の例に該当する。パラメータ値混合モデル演算装置24は、演算装置の例に該当する。
また、個別テーブル記憶部242は、個別関数値記憶部の例に該当する。共通テーブル記憶部230は、共通関数情報記憶部の例に該当する。テーブル混合モデル演算装置27は、演算装置の例に該当する。
また、関数演算部121は、ニューラルネットワークのエッジにおける信号の重み付けを行う。
演算装置によれば、信号の重み付けに比較的複雑な関数を用いることができ、これによってニューラルネットワークのノード数を比較的小さくすることができると期待される。
また、関数演算部121は、ニューラルネットワークのノードにおける活性化関数の計算を行う。
演算装置によれば、活性化関数をノードのグループ毎に設定することができ、これによってニューラルネットワークのノード数を比較的小さくすることができると期待される。
また、グループ化部311は、パラメータを有する関数テンプレートにパラメータ値が設定されて示される関数を用いる演算を行う複数の第1関数演算部と、第1関数演算部毎にパラメータ値を記憶する個別パラメータ値記憶部とを備えるパラメータ値個別モデル演算装置11の第1関数演算部を、第1関数演算部毎の関数の類似度に基づいてグループ分けする。共通パラメータ値算出部312は、第1関数演算部のグループ毎に、そのグループに含まれる全ての第1関数演算部における関数の代わりに用いられる1つの関数のパラメータ値である共通パラメータ値を算出する。パラメータ値共通モデル設定部313は、パラメータを有する関数を用いる演算を行う複数の第2関数演算部と、第2関数演算部がグループ分けされたグループ毎にパラメータ値を記憶する共通パラメータ値記憶部130とを備えるパラメータ値共通モデル演算装置14の、第2関数演算部に対して第1関数演算部のグループに応じたグループの設定を行い、共通パラメータ値記憶部130に共通パラメータ値を記憶させる。
パラメータ値共通化装置13によれば、パラメータ値個別モデル演算装置11の第1関数演算部毎の関数を、関数の類似度に基づくグループ毎に共通化したパラメータ値共通モデル演算装置14を生成することができ、関数のパラメータ値を記憶するための記憶容量を低減させることができる。
また、テーブル算出部321は、パラメータを有する関数テンプレートにパラメータ値が設定されて示される関数を用いる演算を行う複数の関数演算部121と、関数演算部121がグループ分けされたグループ毎にパラメータ値を記憶する共通パラメータ値記憶部130とを備えるパラメータ値共通モデル演算装置14の、共通パラメータ値記憶部130が記憶するパラメータ値による関数の引数値と関数値とが紐付けられた関数テーブルをグループ毎に算出する。テーブル共通モデル設定部322は、関数の引数値と関数値とが紐付けられた関数テーブルを参照して演算を行う複数のテーブル参照部161と、テーブル参照部161がグループ分けされたグループ毎に関数テーブルを記憶する共通テーブル記憶部150とを備えるテーブル共通モデル演算装置17の、テーブル参照部161に対して関数演算部121のグループに応じたグループの設定を行い、テーブル算出部321がグループ毎に算出した関数テーブルを共通テーブル記憶部150に記憶させる。
テーブル化装置16によれば、パラメータ値共通モデル演算装置14の共通パラメータが示す関数を関数テーブルに置き換えたテーブル共通モデル演算装置17を生成することができ、関数のテーブル化による演算の高速化が期待される。
<第2実施形態>
図20は、第2実施形態に係る情報処理システムの装置構成の例を示す図である。図20に示す構成で、情報処理システム2は、パラメータ値共通モデル演算装置14と、グループ設定方式学習制御装置25と、テーブル化装置16と、テーブル共通モデル演算装置17とを備える。
パラメータ値共通モデル演算装置14と、テーブル化装置16と、テーブル共通モデル演算装置17とは、図1の構成の場合と同様であり、ここでは詳細な説明を省略する。
情報処理システム2の構成を情報処理システム1の構成と比較すると、情報処理システム2は、パラメータ値個別モデル演算装置11と、パラメータ値個別学習制御装置12と、パラメータ値共通化装置13とを備えていない。また、情報処理システム2は、パラメータ値共通学習制御装置15に代えてグループ設定方式学習制御装置25を備える。
情報処理システム1では、パラメータ値共通化装置13が、学習済みのパラメータ値個別モデル演算装置11の設定に基づいてパラメータ値共通モデル演算装置14の設定を行う。これに対し、情報処理システム2では、パラメータ値共通モデル演算装置14が、グループ設定方式学習制御装置25の制御に従って学習を行う。パラメータ値共通モデル演算装置14は学習によって共通パラメータ値を更新する。
図21は、グループ設定方式学習制御装置25の構成の例を示す図である。図21に示す構成で、グループ設定方式学習制御装置25は、グループ仮設定部331と、学習制御部332と、グループ分け決定部333と、パラメータ値共通モデル設定部313とを備える。
グループ設定方式学習制御装置25は、共通演算設定装置の例に該当する。
グループ仮設定部331は、パラメータ値共通モデル演算装置14の関数演算部121のグループ分けを複数通り行う。
学習制御部332は、グループ仮設定部331によるグループ分け毎に、パラメータ値共通モデル演算装置14を制御して共通パラメータ値記憶部の共通パラメータ値の学習を行わせる。すなわち、学習制御部332は、パラメータ値共通モデル演算装置14に学習を行わせ、学習によって共通パラメータ値を更新させる。
学習制御部332が、グループ分け毎の学習のそれぞれについて、共通方式重み処理部140のグループ分けと、学習完了時に共通パラメータ値記憶部130が記憶するグループ毎の共通パラメータ値とを記憶しておくようにしてもよい。学習制御部332が、共通方式重み処理部140のグループ分けとして、グループID記憶部141のそれぞれが記憶するグループIDを記憶しておくようにしてもよい。
グループ分け決定部333は、グループ分け毎の学習結果に基づいて何れかのグループ分けを選択する。
例えば、グループ分け決定部333が、パラメータ値共通モデル演算装置14の処理の精度が高いほど評価が高くなり、かつ、共通パラメータ値記憶部130が記憶する共通パラメータ値の個数が少ないほど評価が高くなる評価関数を用いて、学習結果を評価するようにしてもよい。そして、グループ分け決定部333が、学習結果の評価が最も高いグループ分けを選択するようにしてもよい。
パラメータ値共通モデル設定部313は、パラメータ値共通モデル演算装置14の関数演算部121に対して、選択されたグループ分けによるグループの設定を行う。具体的には、パラメータ値共通モデル設定部313は、共通方式重み処理部140のそれぞれについて、その共通方式重み処理部140が含まれるグループのグループIDをグループID記憶部141に記憶させる。
また、パラメータ値共通モデル設定部313は、選択されたグループ分けでの学習の結果得られた共通パラメータ値を、共通パラメータ値記憶部に記憶させる。
図22は、情報処理システム2が、パラメータ値共通モデル演算装置14およびテーブル共通モデル演算装置17の設定の設定を行う場合の処理の手順の例を示すフローチャートである。
図22の処理で、グループ設定方式学習制御装置25は、パラメータ値共通モデル演算装置14を制御して、共通方式重み処理部140の複数のグループ分けのそれぞれについて学習を行わせ、学習結果に基づいてパラメータ値共通モデル演算装置14の設定を行う(ステップS211)。
パラメータ値共通モデル演算装置14を製品に実装するなど、パラメータ値共通モデル演算装置14を運用するようにしてもよい。
次に、テーブル化装置16は、パラメータ値共通モデル演算装置14の共通パラメータ値記憶部130が記憶する共通パラメータ値が示す関数を関数テーブル化し、関数テーブル化の結果をテーブル共通モデル演算装置17に設定する(ステップS212)。ステップS212における処理は、図11のステップS114における処理と同様である。
テーブル共通モデル演算装置17を製品に実装するなど、テーブル共通モデル演算装置17を運用するようにしてもよい。
ステップS212の後、情報処理システム2は、図22の処理を終了する。
図23は、グループ設定方式学習制御装置25が、パラメータ値共通モデル演算装置14を制御して学習を行わせる処理手順の例を示すフローチャートである。グループ設定方式学習制御装置25は、図22のステップS211で図23の処理を行う。
図23の処理で、グループ仮設定部331は、パラメータ値共通モデル演算装置14の共通方式重み処理部140をグループ分けし、共通方式重み処理部140のグループを設定する(S221)。
ここでのグループ分けは、いろいろなグループ分けを試すための仮のグループ分けである。グループ仮設定部331が、共通方式重み処理部140のグループをランダムに設定するようにしてもよい。あるいは、グループ仮設定部331が、共通方式重み処理部140に可能なグループ分けを全て行うようにしてもよい。
グループ仮設定部331は、共通方式重み処理部140のグループを示すグループIDをグループID記憶部141に記憶させることで、その共通方式重み処理部140のグループの設定を行う。
次に、学習制御部332は、パラメータ値共通モデル演算装置14の学習の初期設定を行う(ステップS222)。例えば、学習制御部332は、共通パラメータ値記憶部130に、グループ毎の共通パラメータ値の初期値を記憶させる。
そして、学習制御部332は、パラメータ値共通モデル演算装置14を制御して学習を行わせる(ステップS223)。パラメータ値共通モデル演算装置14は、学習によって共通パラメータ値を更新する。
パラメータ値共通モデル演算装置14の学習が終了すると、グループ分け決定部333は、学習結果を評価する(ステップS224)。例えば、グループ分け決定部333が、共通方式重み処理部140のグループ分け毎に、所定の評価関数を用いて学習結果の評価値を算出し、記憶しておくようにしてもよい。
次に、学習制御部332は、パラメータ値共通モデル演算装置14の学習の繰り返しの終了条件が成立しているか否かを判定する(ステップS225)。
ここでの終了条件は、特定の条件に限定されない。例えば、ステップS225における終了条件は、グループ分けを所定の回数以上行ったか否かであってもよい。あるいは、ステップS225における終了条件は、共通方式重み処理部140に可能なグループ分けを全て行ったか否かであってもよい。
終了条件が成立していないと学習制御部332が判定した場合(ステップS225:NO)、処理がステップS221へ戻る。
一方、終了条件が成立していると学習制御部332が判定した場合(ステップS225:YES)、グループ分け決定部333は、学習結果に基づいて何れかのグループ分けを選択する(ステップS226)。例えば、グループ分け決定部333は、ステップS224で算出した評価値が最も大きい(評価が最も高い)グループ分けを選択する。
次に、パラメータ値共通モデル設定部313は、グループ分け決定部が選択したグループ分けに応じて、パラメータ値共通モデル演算装置14の設定を行う(ステップS227)。具体的には、パラメータ値共通モデル設定部313は、グループID記憶部141の各々に対し、選択されたグループ分けの際に記憶していたグループIDを再度記憶させる。また、パラメータ値共通モデル設定部313は、共通パラメータ値記憶部130に対し、選択されたグループ分けの学習にて得られた共通パラメータ値を再度記憶させる。
ステップS227の後、グループ設定方式学習制御装置25は、図23の処理を終了する。
情報処理システム1の場合と同様、情報処理システム2が、パラメータ値共通モデル演算装置14に代えて、パラメータ値混合モデル演算装置24を備えるようにしてもよい。情報処理システム2が、テーブル共通モデル演算装置17に代えて、テーブル混合モデル演算装置27を備えるようにしてもよい。
情報処理システム1の場合と同様、情報処理システム2でも、関数の共通化の対象は、ニューラルネットワークのエッジにおける信号の重み付けを行うための関数に限定されない。例えば、ニューラルネットワークシステム34(図19)のように、ニューラルネットワークの活性化関数が共通化の対象となっていてもよい。
あるいは、ニューラルネットワーク以外のモデルの関数が共通化の対象になっていてもよい。
以上のように、グループ仮設定部331は、パラメータを有する関数を用いる演算を行う複数の関数演算部121と、関数演算部121がグループ分けされたグループ毎にパラメータ値を記憶する共通パラメータ値記憶部130とを備えるパラメータ値共通モデル演算装置14の、関数演算部121のグループ分けを複数通り行う。学習制御部332は、グループ分け毎に、関数演算部121のグループ毎のパラメータ値の学習をパラメータ値共通モデル演算装置に行わせる。グループ分け決定部333は、グループ分け毎の学習結果に基づいて何れかのグループ分けを選択する。パラメータ値共通モデル設定部313は、パラメータ値共通モデル演算装置14の関数演算部121に対して、選択されたグループ分けによるグループの設定を行い、選択されたグループ分けでの学習結果におけるパラメータ値を共通パラメータ値記憶部130に記憶させる。
グループ設定方式学習制御装置25によれば、パラメータ値個別モデル演算装置11が無くてもパラメータ値共通モデル演算装置14の設定を行うことができる。
図24は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。図10に示す構成で、コンピュータ700は、CPU(Central Processing Unit)710と、主記憶装置720と、補助記憶装置730と、インタフェース740とを備える。
上記のパラメータ値個別モデル演算装置11、パラメータ値個別学習制御装置12、パラメータ値共通化装置13、パラメータ値共通モデル演算装置14、パラメータ値共通学習制御装置15、テーブル化装置16、テーブル共通モデル演算装置17、パラメータ値混合モデル演算装置24、テーブル混合モデル演算装置27、および、グループ設定方式学習制御装置25のうち何れか1つ以上が、コンピュータ700に実装されてもよい。その場合、上述した各処理部の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。また、CPU710は、プログラムに従って、上述した各記憶部に対応する記憶領域を主記憶装置720に確保する。補助記憶装置730は、たとえば、CDC(Compact Disc)や、DVD(digital versatile disc)等の不揮発性(non-transitory)記録媒体である。
パラメータ値個別モデル演算装置11がコンピュータ700に実装される場合、ノード演算部111、個別方式重み処理部120、および、それらの各部の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
また、CPU710は、プログラムに従って、個別パラメータ値記憶部122に対応する記憶領域を主記憶装置720に確保する。
パラメータ値個別モデル演算装置11と他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って通信を行うことで実行される。パラメータ値個別モデル演算装置11とユーザとのインタラクションは、インタフェース740が表示装置および入力デバイスを備え、CPU710の制御に従って各種画像の表示を行い、ユーザ操作を受け付けることで実行される。
パラメータ値個別学習制御装置12がコンピュータ700に実装される場合、パラメータ値個別学習制御装置12の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
また、CPU710は、プログラムに従って、パラメータ値個別学習制御装置12が処理を行うための記憶領域を主記憶装置720に確保する。
パラメータ値個別学習制御装置12と他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って通信を行うことで実行される。パラメータ値個別学習制御装置12とユーザとのインタラクションは、インタフェース740が表示装置および入力デバイスを備え、CPU710の制御に従って各種画像の表示を行い、ユーザ操作を受け付けることで実行される。
パラメータ値共通化装置13がコンピュータ700に実装される場合、グループ化部311、共通パラメータ値算出部312、および、パラメータ値共通モデル設定部313の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
また、CPU710は、プログラムに従って、パラメータ値共通化装置13が処理を行うための記憶領域を主記憶装置720に確保する。
パラメータ値共通化装置13と他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って通信を行うことで実行される。パラメータ値共通化装置13とユーザとのインタラクションは、インタフェース740が表示装置および入力デバイスを備え、CPU710の制御に従って各種画像の表示を行い、ユーザ操作を受け付けることで実行される。
パラメータ値共通モデル演算装置14がコンピュータ700に実装される場合、ノード演算部111、共通方式重み処理部140、および、それらの各部の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
また、CPU710は、プログラムに従って、共通パラメータ値記憶部130およびグループID記憶部141に対応する記憶領域を主記憶装置720に確保する。
パラメータ値共通モデル演算装置14と他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って通信を行うことで実行される。パラメータ値共通モデル演算装置14とユーザとのインタラクションは、インタフェース740が表示装置および入力デバイスを備え、CPU710の制御に従って各種画像の表示を行い、ユーザ操作を受け付けることで実行される。
パラメータ値共通学習制御装置15がコンピュータ700に実装される場合、パラメータ値共通学習制御装置15の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
また、CPU710は、プログラムに従って、パラメータ値共通学習制御装置15が処理を行うための記憶領域を主記憶装置720に確保する。
パラメータ値共通学習制御装置15と他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って通信を行うことで実行される。パラメータ値共通学習制御装置15とユーザとのインタラクションは、インタフェース740が表示装置および入力デバイスを備え、CPU710の制御に従って各種画像の表示を行い、ユーザ操作を受け付けることで実行される。
テーブル化装置16がコンピュータ700に実装される場合、テーブル算出部321およびテーブル共通モデル設定部322の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
また、CPU710は、プログラムに従って、テーブル化装置16が処理を行うための記憶領域を主記憶装置720に確保する。
テーブル化装置16と他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って通信を行うことで実行される。テーブル化装置16とユーザとのインタラクションは、インタフェース740が表示装置および入力デバイスを備え、CPU710の制御に従って各種画像の表示を行い、ユーザ操作を受け付けることで実行される。
テーブル共通モデル演算装置17がコンピュータ700に実装される場合、ノード演算部111、共通テーブル方式重み処理部160、およびそれらの各部の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
また、CPU710は、プログラムに従って、共通テーブル記憶部150、および、グループID記憶部141に対応する記憶領域を主記憶装置720に確保する。
テーブル共通モデル演算装置17と他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って通信を行うことで実行される。テーブル共通モデル演算装置17とユーザとのインタラクションは、インタフェース740が表示装置および入力デバイスを備え、CPU710の制御に従って各種画像の表示を行いユーザ操作を受け付けることで実行される。
パラメータ値混合モデル演算装置24がコンピュータ700に実装される場合、ノード演算部111、混合方式重み処理部220、および、それらの各部の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
また、CPU710は、プログラムに従って、共通パラメータ値記憶部210、グループID記憶部141、および、個別パラメータ値記憶部222に対応する記憶領域を主記憶装置720に確保する。
テーブル共通モデル演算装置17と他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って通信を行うことで実行される。テーブル共通モデル演算装置17とユーザとのインタラクションは、インタフェース740が表示装置および入力デバイスを備え、CPU710の制御に従って各種画像の表示を行いユーザ操作を受け付けることで実行される。
テーブル混合モデル演算装置27がコンピュータ700に実装される場合、ノード演算部111、混合テーブル方式重み処理部240、および、それらの各部の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
また、CPU710は、プログラムに従って、共通テーブル記憶部230、グループID記憶部141、および、個別テーブル記憶部242に対応する記憶領域を主記憶装置720に確保する。
テーブル共通モデル演算装置17と他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って通信を行うことで実行される。テーブル共通モデル演算装置17とユーザとのインタラクションは、インタフェース740が表示装置および入力デバイスを備え、CPU710の制御に従って各種画像の表示を行い、ユーザ操作を受け付けることで実行される。
グループ設定方式学習制御装置25がコンピュータ700に実装される場合、グループ仮設定部331、学習制御部332、グループ分け決定部333、および、パラメータ値共通モデル設定部313の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
また、CPU710は、プログラムに従って、グループ設定方式学習制御装置25が処理を行うための記憶領域を主記憶装置720に確保する。
グループ設定方式学習制御装置25と他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って通信を行うことで実行される。グループ設定方式学習制御装置25とユーザとのインタラクションは、インタフェース740が表示装置および入力デバイスを備え、CPU710の制御に従って各種画像の表示を行いユーザ操作を受け付けることで実行される。
なお、パラメータ値個別モデル演算装置11、パラメータ値個別学習制御装置12、パラメータ値共通化装置13、パラメータ値共通モデル演算装置14、パラメータ値共通学習制御装置15、テーブル化装置16、テーブル共通モデル演算装置17、パラメータ値混合モデル演算装置24、テーブル混合モデル演算装置27、および、グループ設定方式学習制御装置25の全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することで各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD-ROM(Compact Disc Read Only Memory)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
以上、本発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。
上記の実施形態の一部または全部は、以下の付記のようにも記載され得るが、以下には限定されない。
(付記1)
関数を用いる演算を行う複数の関数演算部と、
前記関数演算部がグループ分けされたグループ毎に、前記関数を定める値を記憶する共通関数情報記憶部と、
を備える演算装置。
(付記2)
前記関数演算部は、パラメータを有する関数テンプレートにパラメータ値が設定されて示される前記関数を用いる演算を行い、
前記共通関数情報記憶部は、前記グループ毎に、そのグループに含まれる関数演算部に共通のパラメータ値を記憶する、
付記1に記載の演算装置。
(付記3)
前記共通関数情報記憶部は、前記グループ毎に、前記関数の引数値と関数値とが紐付けられた関数テーブルを記憶し、
前記関数演算部は、前記関数テーブルを参照して前記関数を用いた演算を行う、
付記1に記載の演算装置。
(付記4)
1つの関数を定める1組の値のうちの一部の値を前記関数演算部毎に記憶する個別関数情報記憶部をさらに備え、
前記共通関数情報記憶部は、前記1つの関数を定める1組の値のうち前記個別関数情報記憶部が記憶する値以外の値を記憶する、
付記1から3の何れか一つに記載の演算装置。
(付記5)
前記関数演算部は、ニューラルネットワークのエッジにおける信号の重み付けを行う、
付記1から4の何れか一つに記載の演算装置。
(付記6)
前記関数演算部は、ニューラルネットワークのノードにおける活性化関数の計算を行う、
付記1から5の何れか一つに記載の演算装置。
(付記7)
パラメータを有する関数テンプレートにパラメータ値が設定されて示される関数を用いる演算を行う複数の第1関数演算部と、前記第1関数演算部毎にパラメータ値を記憶する個別パラメータ値記憶部とを備えるパラメータ値個別モデル演算装置の前記第1関数演算部を、前記第1関数演算部毎の前記関数の類似度に基づいてグループ分けするグループ化部と、
前記第1関数演算部のグループ毎に、そのグループに含まれる全ての前記第1関数演算部における前記関数の代わりに用いられる1つの関数のパラメータ値である共通パラメータ値を算出する共通パラメータ値算出部と、
パラメータを有する関数を用いる演算を行う複数の第2関数演算部と、前記第2関数演算部がグループ分けされたグループ毎にパラメータ値を記憶する共通パラメータ値記憶部とを備えるパラメータ値共通モデル演算装置の、前記第2関数演算部に対して前記第1関数演算部のグループに応じたグループの設定を行い、前記共通パラメータ値記憶部に前記共通パラメータ値を記憶させるパラメータ値共通モデル設定部と、
を備える共通演算設定装置。
(付記8)
パラメータを有する関数テンプレートにパラメータ値が設定されて示される関数を用いる演算を行う複数の関数演算部と、前記関数演算部がグループ分けされたグループ毎にパラメータ値を記憶する共通パラメータ値記憶部とを備えるパラメータ値共通モデル演算装置の、前記共通パラメータ値記憶部が記憶するパラメータ値による前記関数の引数値と関数値とが紐付けられた関数テーブルを前記グループ毎に算出するテーブル算出部と、
関数の引数値と関数値とが紐付けられた関数テーブルを参照して演算を行う複数のテーブル参照部と、前記テーブル参照部がグループ分けされたグループ毎に関数テーブルを記憶する共通テーブル記憶部とを備えるテーブル共通モデル演算装置の、前記テーブル参照部に対して前記関数演算部のグループに応じたグループの設定を行い、前記テーブル算出部が前記グループ毎に算出した前記関数テーブルを前記共通テーブル記憶部に記憶させるテーブル共通モデル設定部と、
を備える共通演算設定装置。
(付記9)
パラメータを有する関数を用いる演算を行う複数の関数演算部と、前記関数演算部がグループ分けされたグループ毎にパラメータ値を記憶する共通パラメータ値記憶部とを備えるパラメータ値共通モデル演算装置の、前記関数演算部のグループ分けを複数通り行うグループ仮設定部と、
前記グループ分け毎に、前記関数演算部のグループ毎の前記パラメータ値の学習を前記パラメータ値共通モデル演算装置に行わせる学習制御部と、
前記グループ分け毎の学習結果に基づいて何れかのグループ分けを選択するグループ分け決定部と、
前記パラメータ値共通モデル演算装置の前記関数演算部に対して、選択されたグループ分けによるグループの設定を行い、選択されたグループ分けでの学習結果におけるパラメータ値を前記共通パラメータ値記憶部に記憶させるパラメータ値共通モデル設定部と、
を備える共通演算設定装置。
(付記10)
グループ分けされた関数演算部が、グループ毎にパラメータ値を記憶する共通パラメータ値記憶部からパラメータ値を読み出すことと、
前記関数演算部が、パラメータを有する関数テンプレートに、共通パラメータ値記憶部から読み出したパラメータ値を設定して示される関数を用いて演算を行うことと、
を含む演算方法。
(付記11)
パラメータを有する関数テンプレートにパラメータ値が設定されて示される関数を用いる演算を行う複数の第1関数演算部と、前記第1関数演算部毎にパラメータ値を記憶する個別パラメータ値記憶部とを備えるパラメータ値個別モデル演算装置の前記第1関数演算部を、前記第1関数演算部毎の前記関数の類似度に基づいてグループ分けすることと、
前記第1関数演算部のグループ毎に、そのグループに含まれる全ての前記第1関数演算部における前記関数の代わりに用いられる1つの関数のパラメータ値である共通パラメータ値を算出することと、
パラメータを有する関数を用いる演算を行う複数の第2関数演算部と、前記第2関数演算部がグループ分けされたグループ毎にパラメータ値を記憶する共通パラメータ値記憶部とを備えるパラメータ値共通モデル演算装置の、前記第2関数演算部に対して前記第1関数演算部のグループに応じたグループの設定を行い、前記共通パラメータ値記憶部に前記共通パラメータ値を記憶させることと、
を含む共通演算設定方法。
(付記12)
パラメータを有する関数テンプレートにパラメータ値が設定されて示される関数を用いる演算を行う複数の関数演算部と、前記関数演算部がグループ分けされたグループ毎にパラメータ値を記憶する共通パラメータ値記憶部とを備えるパラメータ値共通モデル演算装置の、前記共通パラメータ値記憶部が記憶するパラメータ値による前記関数の引数値と関数値とが紐付けられた関数テーブルを前記グループ毎に算出することと、
関数の引数値と関数値とが紐付けられた関数テーブルを参照して演算を行う複数のテーブル参照部と、前記テーブル参照部がグループ分けされたグループ毎に関数テーブルを記憶する共通テーブル記憶部とを備えるテーブル共通モデル演算装置の、前記テーブル参照部に対して前記関数演算部のグループに応じたグループの設定を行い、前記グループ毎に算出した前記関数テーブルを前記共通テーブル記憶部に記憶させることと、
を含む共通演算設定方法。
(付記13)
パラメータを有する関数を用いる演算を行う複数の関数演算部と、前記関数演算部がグループ分けされたグループ毎にパラメータ値を記憶する共通パラメータ値記憶部とを備えるパラメータ値共通モデル演算装置の、前記関数演算部のグループ分けを複数通り行うことと、
前記グループ分け毎に、前記関数演算部のグループ毎の前記パラメータ値を学習によって算出することと、
前記グループ分け毎の学習結果に基づいて何れかのグループ分けを選択することと、
前記パラメータ値共通モデル演算装置の前記関数演算部に対して、選択されたグループ分けによるグループの設定を行い、選択されたグループ分けでの学習結果におけるパラメータ値を前記共通パラメータ値記憶部に記憶させることと、
を含む共通演算設定方法。
(付記14)
コンピュータに、
グループ分けされた関数演算部が、グループ毎にパラメータ値を記憶する共通パラメータ値記憶部からパラメータ値を読み出すことと、
前記関数演算部が、パラメータを有する関数テンプレートに、共通パラメータ値記憶部から読み出したパラメータ値を設定して示される関数を用いて演算を行うことと、
実行させるためのプログラム。
(付記15)
コンピュータに、
パラメータを有する関数テンプレートにパラメータ値が設定されて示される関数を用いる演算を行う複数の第1関数演算部と、前記第1関数演算部毎にパラメータ値を記憶する個別パラメータ値記憶部とを備えるパラメータ値個別モデル演算装置の前記第1関数演算部を、前記第1関数演算部毎の前記関数の類似度に基づいてグループ分けすることと、
前記第1関数演算部のグループ毎に、そのグループに含まれる全ての前記第1関数演算部における前記関数の代わりに用いられる1つの関数のパラメータ値である共通パラメータ値を算出することと、
パラメータを有する関数を用いる演算を行う複数の第2関数演算部と、前記第2関数演算部がグループ分けされたグループ毎にパラメータ値を記憶する共通パラメータ値記憶部とを備えるパラメータ値共通モデル演算装置の、前記第2関数演算部に対して前記第1関数演算部のグループに応じたグループの設定を行い、前記共通パラメータ値記憶部に前記共通パラメータ値を記憶させることと、
を実行させるためのプログラム。
(付記16)
コンピュータに、
パラメータを有する関数テンプレートにパラメータ値が設定されて示される関数を用いる演算を行う複数の関数演算部と、前記関数演算部がグループ分けされたグループ毎にパラメータ値を記憶する共通パラメータ値記憶部とを備えるパラメータ値共通モデル演算装置の、前記共通パラメータ値記憶部が記憶するパラメータ値による前記関数の引数値と関数値とが紐付けられた関数テーブルを前記グループ毎に算出することと、
関数の引数値と関数値とが紐付けられた関数テーブルを参照して演算を行う複数のテーブル参照部と、前記テーブル参照部がグループ分けされたグループ毎に関数テーブルを記憶する共通テーブル記憶部とを備えるテーブル共通モデル演算装置の、前記テーブル参照部に対して前記関数演算部のグループに応じたグループの設定を行い、前記グループ毎に算出した前記関数テーブルを前記共通テーブル記憶部に記憶させることと、
を実行させるためのプログラム。
(付記17)
コンピュータに、
パラメータを有する関数を用いる演算を行う複数の関数演算部と、前記関数演算部がグループ分けされたグループ毎にパラメータ値を記憶する共通パラメータ値記憶部とを備えるパラメータ値共通モデル演算装置の、前記関数演算部のグループ分けを複数通り行うことと、
前記グループ分け毎に、前記関数演算部のグループ毎の前記パラメータ値を学習によって算出することと、
前記グループ分け毎の学習結果に基づいて何れかのグループ分けを選択することと、
前記パラメータ値共通モデル演算装置の前記関数演算部に対して、選択されたグループ分けによるグループの設定を行い、選択されたグループ分けでの学習結果におけるパラメータ値を前記共通パラメータ値記憶部に記憶させることと、
を実行させるためのプログラム。
1、2情報処理システム
11 パラメータ値個別モデル演算装置
12 パラメータ値個別学習制御装置
13 パラメータ値共通化装置
14 パラメータ値共通モデル演算装置
15 パラメータ値共通学習制御装置
16 テーブル化装置
17 テーブル共通モデル演算装置
24 パラメータ値混合モデル演算装置
25 グループ設定方式学習制御装置
27 テーブル混合モデル演算装置
34、110 ニューラルネットワークシステム
111 ノード演算部
112 重み処理部
120 個別方式重み処理部
121、221、251 関数演算部
122、222 個別パラメータ値記憶部
130、210 共通パラメータ値記憶部
140 共通方式重み処理部
141 グループID記憶部
142 パラメータ値取得部
150、230 共通テーブル記憶部
160 共通テーブル方式重み処理部
161、241 テーブル参照部
220 混合方式重み処理部
240 混合テーブル方式重み処理部
242 個別テーブル記憶部
250 併用方式重み処理部
260 共通方式ノード演算部
261 加算部
262 活性化関数演算部
311 グループ化部
312 共通パラメータ値算出部
313 パラメータ値共通モデル設定部
321 テーブル算出部
322 テーブル共通モデル設定部
331 グループ仮設定部
332 学習制御部
333 グループ分け決定部

Claims (14)

  1. 関数を用いる演算を行う複数の関数演算部と、
    前記関数演算部がグループ分けされたグループ毎に、前記関数を定める値を記憶する共通関数情報記憶部と、
    を備える演算装置。
  2. 前記関数演算部は、パラメータを有する関数テンプレートにパラメータ値が設定されて示される前記関数を用いる演算を行い、
    前記共通関数情報記憶部は、前記グループ毎に、そのグループに含まれる関数演算部に共通のパラメータ値を記憶する、
    請求項1に記載の演算装置。
  3. 前記共通関数情報記憶部は、前記グループ毎に、前記関数の引数値と関数値とが紐付けられた関数テーブルを記憶し、
    前記関数演算部は、前記関数テーブルを参照して前記関数を用いた演算を行う、
    請求項1に記載の演算装置。
  4. 1つの関数を定める1組の値のうちの一部の値を前記関数演算部毎に記憶する個別関数情報記憶部をさらに備え、
    前記共通関数情報記憶部は、前記1つの関数を定める1組の値のうち前記個別関数情報記憶部が記憶する値以外の値を記憶する、
    請求項1から3の何れか一項に記載の演算装置。
  5. パラメータを有する関数テンプレートにパラメータ値が設定されて示される関数を用いる演算を行う複数の第1関数演算部と、前記第1関数演算部毎にパラメータ値を記憶する個別パラメータ値記憶部とを備えるパラメータ値個別モデル演算装置の前記第1関数演算部を、前記第1関数演算部毎の前記関数の類似度に基づいてグループ分けするグループ化部と、
    前記第1関数演算部のグループ毎に、そのグループに含まれる全ての前記第1関数演算部における前記関数の代わりに用いられる1つの関数のパラメータ値である共通パラメータ値を算出する共通パラメータ値算出部と、
    パラメータを有する関数を用いる演算を行う複数の第2関数演算部と、前記第2関数演算部がグループ分けされたグループ毎にパラメータ値を記憶する共通パラメータ値記憶部とを備えるパラメータ値共通モデル演算装置の、前記第2関数演算部に対して前記第1関数演算部のグループに応じたグループの設定を行い、前記共通パラメータ値記憶部に前記共通パラメータ値を記憶させるパラメータ値共通モデル設定部と、
    を備える共通演算設定装置。
  6. パラメータを有する関数テンプレートにパラメータ値が設定されて示される関数を用いる演算を行う複数の関数演算部と、前記関数演算部がグループ分けされたグループ毎にパラメータ値を記憶する共通パラメータ値記憶部とを備えるパラメータ値共通モデル演算装置の、前記共通パラメータ値記憶部が記憶するパラメータ値による前記関数の引数値と関数値とが紐付けられた関数テーブルを前記グループ毎に算出するテーブル算出部と、
    関数の引数値と関数値とが紐付けられた関数テーブルを参照して演算を行う複数のテーブル参照部と、前記テーブル参照部がグループ分けされたグループ毎に関数テーブルを記憶する共通テーブル記憶部とを備えるテーブル共通モデル演算装置の、前記テーブル参照部に対して前記関数演算部のグループに応じたグループの設定を行い、前記テーブル算出部が前記グループ毎に算出した前記関数テーブルを前記共通テーブル記憶部に記憶させるテーブル共通モデル設定部と、
    を備える共通演算設定装置。
  7. パラメータを有する関数を用いる演算を行う複数の関数演算部と、前記関数演算部がグループ分けされたグループ毎にパラメータ値を記憶する共通パラメータ値記憶部とを備えるパラメータ値共通モデル演算装置の、前記関数演算部のグループ分けを複数通り行うグループ仮設定部と、
    前記グループ分け毎に、前記関数演算部のグループ毎の前記パラメータ値の学習を前記パラメータ値共通モデル演算装置に行わせる学習制御部と、
    前記グループ分け毎の学習結果に基づいて何れかのグループ分けを選択するグループ分け決定部と、
    前記パラメータ値共通モデル演算装置の前記関数演算部に対して、選択されたグループ分けによるグループの設定を行い、選択されたグループ分けでの学習結果におけるパラメータ値を前記共通パラメータ値記憶部に記憶させるパラメータ値共通モデル設定部と、
    を備える共通演算設定装置。
  8. グループ分けされた関数演算部が、グループ毎にパラメータ値を記憶する共通パラメータ値記憶部からパラメータ値を読み出すことと、
    前記関数演算部が、パラメータを有する関数テンプレートに、共通パラメータ値記憶部から読み出したパラメータ値を設定して示される関数を用いて演算を行うことと、
    を含む演算方法。
  9. パラメータを有する関数テンプレートにパラメータ値が設定されて示される関数を用いる演算を行う複数の第1関数演算部と、前記第1関数演算部毎にパラメータ値を記憶する個別パラメータ値記憶部とを備えるパラメータ値個別モデル演算装置の前記第1関数演算部を、前記第1関数演算部毎の前記関数の類似度に基づいてグループ分けすることと、
    前記第1関数演算部のグループ毎に、そのグループに含まれる全ての前記第1関数演算部における前記関数の代わりに用いられる1つの関数のパラメータ値である共通パラメータ値を算出することと、
    パラメータを有する関数を用いる演算を行う複数の第2関数演算部と、前記第2関数演算部がグループ分けされたグループ毎にパラメータ値を記憶する共通パラメータ値記憶部とを備えるパラメータ値共通モデル演算装置の、前記第2関数演算部に対して前記第1関数演算部のグループに応じたグループの設定を行い、前記共通パラメータ値記憶部に前記共通パラメータ値を記憶させることと、
    を含む共通演算設定方法。
  10. パラメータを有する関数テンプレートにパラメータ値が設定されて示される関数を用いる演算を行う複数の関数演算部と、前記関数演算部がグループ分けされたグループ毎にパラメータ値を記憶する共通パラメータ値記憶部とを備えるパラメータ値共通モデル演算装置の、前記共通パラメータ値記憶部が記憶するパラメータ値による前記関数の引数値と関数値とが紐付けられた関数テーブルを前記グループ毎に算出することと、
    関数の引数値と関数値とが紐付けられた関数テーブルを参照して演算を行う複数のテーブル参照部と、前記テーブル参照部がグループ分けされたグループ毎に関数テーブルを記憶する共通テーブル記憶部とを備えるテーブル共通モデル演算装置の、前記テーブル参照部に対して前記関数演算部のグループに応じたグループの設定を行い、前記グループ毎に算出した前記関数テーブルを前記共通テーブル記憶部に記憶させることと、
    を含む共通演算設定方法。
  11. パラメータを有する関数を用いる演算を行う複数の関数演算部と、前記関数演算部がグループ分けされたグループ毎にパラメータ値を記憶する共通パラメータ値記憶部とを備えるパラメータ値共通モデル演算装置の、前記関数演算部のグループ分けを複数通り行うことと、
    前記グループ分け毎に、前記関数演算部のグループ毎の前記パラメータ値を学習によって算出することと、
    前記グループ分け毎の学習結果に基づいて何れかのグループ分けを選択することと、
    前記パラメータ値共通モデル演算装置の前記関数演算部に対して、選択されたグループ分けによるグループの設定を行い、選択されたグループ分けでの学習結果におけるパラメータ値を前記共通パラメータ値記憶部に記憶させることと、
    を含む共通演算設定方法。
  12. コンピュータに、
    パラメータを有する関数テンプレートにパラメータ値が設定されて示される関数を用いる演算を行う複数の第1関数演算部と、前記第1関数演算部毎にパラメータ値を記憶する個別パラメータ値記憶部とを備えるパラメータ値個別モデル演算装置の前記第1関数演算部を、前記第1関数演算部毎の前記関数の類似度に基づいてグループ分けすることと、
    前記第1関数演算部のグループ毎に、そのグループに含まれる全ての前記第1関数演算部における前記関数の代わりに用いられる1つの関数のパラメータ値である共通パラメータ値を算出することと、
    パラメータを有する関数を用いる演算を行う複数の第2関数演算部と、前記第2関数演算部がグループ分けされたグループ毎にパラメータ値を記憶する共通パラメータ値記憶部とを備えるパラメータ値共通モデル演算装置の、前記第2関数演算部に対して前記第1関数演算部のグループに応じたグループの設定を行い、前記共通パラメータ値記憶部に前記共通パラメータ値を記憶させることと、
    を実行させるためのプログラム。
  13. コンピュータに、
    パラメータを有する関数テンプレートにパラメータ値が設定されて示される関数を用いる演算を行う複数の関数演算部と、前記関数演算部がグループ分けされたグループ毎にパラメータ値を記憶する共通パラメータ値記憶部とを備えるパラメータ値共通モデル演算装置の、前記共通パラメータ値記憶部が記憶するパラメータ値による前記関数の引数値と関数値とが紐付けられた関数テーブルを前記グループ毎に算出することと、
    関数の引数値と関数値とが紐付けられた関数テーブルを参照して演算を行う複数のテーブル参照部と、前記テーブル参照部がグループ分けされたグループ毎に関数テーブルを記憶する共通テーブル記憶部とを備えるテーブル共通モデル演算装置の、前記テーブル参照部に対して前記関数演算部のグループに応じたグループの設定を行い、前記グループ毎に算出した前記関数テーブルを前記共通テーブル記憶部に記憶させることと、
    を実行させるためのプログラム。
  14. コンピュータに、
    パラメータを有する関数を用いる演算を行う複数の関数演算部と、前記関数演算部がグループ分けされたグループ毎にパラメータ値を記憶する共通パラメータ値記憶部とを備えるパラメータ値共通モデル演算装置の、前記関数演算部のグループ分けを複数通り行うことと、
    前記グループ分け毎に、前記関数演算部のグループ毎の前記パラメータ値を学習によって算出することと、
    前記グループ分け毎の学習結果に基づいて何れかのグループ分けを選択することと、
    前記パラメータ値共通モデル演算装置の前記関数演算部に対して、選択されたグループ分けによるグループの設定を行い、選択されたグループ分けでの学習結果におけるパラメータ値を前記共通パラメータ値記憶部に記憶させることと、
    を実行させるためのプログラム。
JP2021041855A 2021-03-15 2021-03-15 演算装置、共通演算設定装置、演算方法、共通演算設定方法およびプログラム Pending JP2022141513A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021041855A JP2022141513A (ja) 2021-03-15 2021-03-15 演算装置、共通演算設定装置、演算方法、共通演算設定方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021041855A JP2022141513A (ja) 2021-03-15 2021-03-15 演算装置、共通演算設定装置、演算方法、共通演算設定方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2022141513A true JP2022141513A (ja) 2022-09-29

Family

ID=83403027

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021041855A Pending JP2022141513A (ja) 2021-03-15 2021-03-15 演算装置、共通演算設定装置、演算方法、共通演算設定方法およびプログラム

Country Status (1)

Country Link
JP (1) JP2022141513A (ja)

Similar Documents

Publication Publication Date Title
CN110222821B (zh) 基于权重分布的卷积神经网络低位宽量化方法
CN110555508B (zh) 人工神经网络调整方法和装置
CN110413255B (zh) 人工神经网络调整方法和装置
US20200218982A1 (en) Dithered quantization of parameters during training with a machine learning tool
KR20200004700A (ko) 뉴럴 네트워크에서 파라미터를 처리하는 방법 및 장치
US11704570B2 (en) Learning device, learning system, and learning method
CN111026544B (zh) 图网络模型的节点分类方法、装置及终端设备
JP7180680B2 (ja) ネットワーク量子化方法、推論方法及びネットワーク量子化装置
US20130066452A1 (en) Information processing device, estimator generating method and program
US20220207304A1 (en) Robustness setting device, robustness setting method, storage medium storing robustness setting program, robustness evaluation device, robustness evaluation method, storage medium storing robustness evaluation program, computation device, and storage medium storing program
US11531884B2 (en) Separate quantization method of forming combination of 4-bit and 8-bit data of neural network
US20210081802A1 (en) Information processing device and method, and recording medium
JPH10247204A (ja) 多次元検索方法及び装置
JP2022141513A (ja) 演算装置、共通演算設定装置、演算方法、共通演算設定方法およびプログラム
CN112183726A (zh) 一种神经网络全量化方法及系统
US20220405561A1 (en) Electronic device and controlling method of electronic device
Lu et al. Auto-LUT: Auto Approximation of Non-Linear Operations for Neural Networks on FPGA
US20210216867A1 (en) Information processing apparatus, neural network computation program, and neural network computation method
US11989653B2 (en) Pseudo-rounding in artificial neural networks
US20230342613A1 (en) System and method for integer only quantization aware training on edge devices
WO2021230006A1 (ja) ネットワーク量子化方法及びネットワーク量子化装置
US11811427B2 (en) Information processing apparatus, method of processing information, and non-transitory computer-readable storage medium for storing information processing program
JP7120288B2 (ja) ニューラルネットワーク軽量化装置、ニューラルネットワーク軽量化方法およびプログラム
JP6992864B1 (ja) ニューラルネットワーク軽量化装置、ニューラルネットワーク軽量化方法およびプログラム
US20210406769A1 (en) Information processing system and compression control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231227