(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024042285
(43)【公開日】2024-03-28
(54)【発明の名称】自己符号化を行うシステム、プログラム、および方法
(51)【国際特許分類】
G06N 3/04 20230101AFI20240321BHJP
【FI】
G06N3/04
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2022146887
(22)【出願日】2022-09-15
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和3年度、総務省、情報通信技術の研究開発、「脳の仕組みに倣った省エネ型の人工知能関連技術の開発・実証事業」に係る委託研究 産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】301022471
【氏名又は名称】国立研究開発法人情報通信研究機構
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】細田 一史
(57)【要約】
【課題】情報処理システムのエネルギー効率を改善する。
【解決手段】システム1は、入力信号Si
1,Si
2を符号化してからそれぞれを出力信号So
1,So
2として復号する。第1入力ノードNd
1、第2入力ノードNd
2、ハブノードNd
3、補助ノードNd
4、第1出力ノードNd
5、および第2出力ノードNd
6の各々は、当該ノードの状態値を表す正信号および当該状態値の符号を反転させた値を表す負信号の少なくとも1つを出力する。第1入力ノードNd
1、第2入力ノードNd
2、ハブノードNd
3、補助ノードNd
4、第1出力ノードNd
5、および第2出力ノードNd
6の各々は、当該ノードに入力される信号の合計値に対応する活性化値から当該ノードの状態値を引いた値に当該ノードが受けるノイズ信号を加えた値が、当該ノードの状態値の時間微分値に等しくなるように当該ノードの状態値を変化させる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
第1入力信号および第2入力信号を符号化してからそれぞれを第1出力信号および第2出力信号として復号するシステムであって、
前記第1入力信号を受ける第1入力ノードと、
前記第2入力信号を受ける第2入力ノードと、
ハブノードと、
補助ノードと、
前記第1出力信号を出力する第1出力ノードと、
前記第2出力信号を出力する第2出力ノードとを備え、
前記第1入力ノード、前記第2入力ノード、前記ハブノード、前記補助ノード、前記第1出力ノード、および前記第2出力ノードの各々は、当該ノードの状態値を表す正信号および当該状態値の符号を反転させた値を表す負信号の少なくとも1つを出力し、
前記第1入力ノードは、前記第1入力ノードおよび前記ハブノードの各々に前記第1入力ノードの負信号を出力し、
前記第2入力ノードは、前記ハブノードに前記第2入力ノードの負信号を出力し、
前記ハブノードは、前記ハブノード、前記第1出力ノード、および前記第2出力ノードの各々に前記ハブノードの負信号を出力し、
前記補助ノードは、前記ハブノードおよび前記補助ノードの各々に前記補助ノードの正信号を出力し、
前記第1出力ノードは、前記第1出力ノードに前記第1出力ノードの正信号を出力するとともに前記第1出力ノードの正信号を前記第1出力信号として出力し、
前記第2出力ノードは、前記ハブノードおよび前記第2出力ノードの各々に前記第2出力ノードの正信号を出力するとともに前記第2出力ノードの正信号を前記第2出力信号として出力し、
前記第1入力ノード、前記第2入力ノード、前記ハブノード、前記補助ノード、前記第1出力ノード、および前記第2出力ノードの各々は、当該ノードに入力される信号の合計値に対応する活性化値から当該ノードの状態値を引いた値に当該ノードが受けるノイズ信号を加えた値が、当該ノードの状態値の時間微分値に等しくなるように当該ノードの状態値を変化させる、システム。
【請求項2】
前記ハブノードは、前記ハブノードの状態値を前記システムの外部に出力する、請求項1に記載のシステム。
【請求項3】
前記第1入力ノード、前記第2入力ノード、前記ハブノード、前記補助ノード、前記第1出力ノード、および前記第2出力ノードの各々は、エッジノードとして形成され、
前記エッジノードは、プロセッサと、メモリと、通信部とを含む、請求項1または2に記載のシステム。
【請求項4】
第1入力信号および第2入力信号を受けて第1出力信号および第2出力信号を出力するシステムにおいて、前記第1入力信号および前記第2入力信号を符号化してからそれぞれを前記第1出力信号および前記第2出力信号として復号するプログラムであって、
前記システムは、
前記第1入力信号を受ける第1入力ノードと、
前記第2入力信号を受ける第2入力ノードと、
ハブノードと、
補助ノードと、
前記第1出力信号を出力する第1出力ノードと、
前記第2出力信号を出力する第2出力ノードとを備え、
前記第1入力ノード、前記第2入力ノード、前記ハブノード、前記補助ノード、前記第1出力ノード、および前記第2出力ノードの各々は、当該ノードの状態値を表す正信号および当該状態値の符号を反転させた値を表す負信号の少なくとも1つを出力し、
前記第1入力ノードは、前記第1入力ノードおよび前記ハブノードの各々に前記第1入力ノードの負信号を出力し、
前記第2入力ノードは、前記ハブノードに前記第2入力ノードの負信号を出力し、
前記ハブノードは、前記ハブノード、前記第1出力ノード、および前記第2出力ノードの各々に前記ハブノードの負信号を出力し、
前記補助ノードは、前記ハブノードおよび前記補助ノードの各々に前記補助ノードの正信号を出力し、
前記第1出力ノードは、前記第1出力ノードに前記第1出力ノードの正信号を出力するとともに前記第1出力ノードの正信号を前記第1出力信号として出力し、
前記第2出力ノードは、前記ハブノードおよび前記第2出力ノードの各々に前記第2出力ノードの正信号を出力するとともに前記第2出力ノードの正信号を前記第2出力信号として出力し、
前記プログラムは、前記第1入力ノード、前記第2入力ノード、前記ハブノード、前記補助ノード、前記第1出力ノード、および前記第2出力ノードの各々に含まれるプロセッサによって実行されることによって、当該ノードに入力される信号の合計値に対応する活性化値から当該ノードの状態値を引いた値に当該ノードが受けるノイズ信号を加えた値との和が、当該ノードの状態値の時間微分値に等しくなるように当該ノードの状態値を変化させる、プログラム。
【請求項5】
第1入力信号および第2入力信号を受けて第1出力信号および第2出力信号を出力するシステムにおいて、前記第1入力信号および前記第2入力信号を符号化してからそれぞれを前記第1出力信号および前記第2出力信号として復号する方法であって、
前記システムは、
前記第1入力信号を受ける第1入力ノードと、
前記第2入力信号を受ける第2入力ノードと、
ハブノードと、
補助ノードと、
前記第1出力信号を出力する第1出力ノードと、
前記第2出力信号を出力する第2出力ノードとを備え、
前記第1入力ノード、前記第2入力ノード、前記ハブノード、前記補助ノード、前記第1出力ノード、および前記第2出力ノードの各々は、当該ノードの状態値を表す正信号および当該状態値の符号を反転させた値を表す負信号の少なくとも1つを出力し、
前記第1入力ノードは、前記第1入力ノードおよび前記ハブノードの各々に前記第1入力ノードの負信号を出力し、
前記第2入力ノードは、前記ハブノードに前記第2入力ノードの負信号を出力し、
前記ハブノードは、前記ハブノード、前記第1出力ノード、および前記第2出力ノードの各々に前記ハブノードの負信号を出力し、
前記補助ノードは、前記ハブノードおよび前記補助ノードの各々に前記補助ノードの正信号を出力し、
前記第1出力ノードは、前記第1出力ノードに前記第1出力ノードの正信号を出力するとともに前記第1出力ノードの正信号を前記第1出力信号として出力し、
前記第2出力ノードは、前記ハブノードおよび前記第2出力ノードの各々に前記第2出力ノードの正信号を出力するとともに前記第2出力ノードの正信号を前記第2出力信号として出力し、
前記方法は、
前記第1入力ノード、前記第2入力ノード、前記ハブノード、前記補助ノード、前記第1出力ノード、および前記第2出力ノードの各々が、
当該ノードに入力される信号の合計値を算出するステップと、
前記合計値に対応する活性化値から当該ノードの状態値を引いた値に当該ノードが受けるノイズ信号を加えた値が、当該ノードの状態値の時間微分値に等しくなるように当該ノードの状態値を変化させるステップとを含む、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自己符号化を行うシステム、プログラム、および方法に関する。
【背景技術】
【0002】
従来、自己符号化を行う構成が知られている。たとえば、非特許文献1には、ニューラルネットワークとして形成された、エンコーダ-デコーダモデルの変分オートエンコーダが開示されている。変分オートエンコーダは、入力データよりも低次元の潜在変数を入力データから抽出して、当該潜在変数から入力データに対応する出力データを再現する。変分オートエンコーダによれば、入力データの重要な特徴を潜在変数として抽出することができるため、推論モデルの汎化性能および計算量の減少等を実現することができる。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Diederik P. Kingma, Max Welling, "Auto-Encoding Variational Bayes", arXiv:1312.6114.
【非特許文献2】Masayo Inoue1, Kunihiko Kaneko, "Cooperative Adaptive Responses in Gene Regulatory Networks with Many Degrees of Freedom", PLOS Computational Biology, April 4, 2013, 9(4): e1003001.
【発明の概要】
【発明が解決しようとする課題】
【0004】
生命システム(たとえば、脳神経ネットワーク、あるいは細胞シグナルネットワーク)は、多くの要素から構成されて常に変化し続ける動的ネットワーク(大自由度力学系)として形成され、熱ゆらぎ等のノイズを活用することによって効率的な情報処理を行っていることが知られている。
【0005】
一方、人工的に設計された情報処理システムにおいてノイズは、情報処理を妨げる外乱として抑制され、積極的に使用されない場合が多い。人工情報処理システムにおいて確実な情報処理を実現するためには、ノイズの影響を無視することが可能な程度にノイズよりも高いエネルギーの信号を使用することによって、S/N比(signal-to-noise ratio)を高める必要がある。その結果、情報処理システムが情報処理のために必要なエネルギーは、生命システムが同程度の当該情報処理のために必要なエネルギーよりも高い場合が多い。
【0006】
本発明は、上述のような課題を解決するためになされたものであり、その目的は、情報処理システムのエネルギー効率を改善することである。
【課題を解決するための手段】
【0007】
本発明の一局面に係るシステムは、第1入力信号および第2入力信号を符号化してからそれぞれを第1出力信号および第2出力信号として復号する。システムは、第1入力ノードと、第2入力ノードと、ハブノードと、補助ノードと、第1出力ノードと、第2出力ノードとを備える。第1入力ノードは、第1入力信号を受ける。第2入力ノードは、第2入力信号を受ける。第1出力ノードは、第1出力信号を出力する。第2出力ノードは、第2出力信号を出力する。第1入力ノード、第2入力ノード、ハブノード、補助ノード、第1出力ノード、および第2出力ノードの各々は、当該ノードの状態値を表す正信号および当該状態値の符号を反転させた値を表す負信号の少なくとも1つを出力する。第1入力ノードは、第1入力ノードおよびハブノードの各々に第1入力ノードの負信号を出力する。第2入力ノードは、ハブノードに第2入力ノードの負信号を出力する。ハブノードは、ハブノード、第1出力ノード、および第2出力ノードの各々にハブノードの負信号を出力する。補助ノードは、ハブノードおよび補助ノードの各々に補助ノードの正信号を出力する。第1出力ノードは、第1出力ノードに第1出力ノードの正信号を出力するとともに第1出力ノードの正信号を第1出力信号として出力する。第2出力ノードは、ハブノードおよび第2出力ノードの各々に第2出力ノードの正信号を出力するとともに第2出力ノードの正信号を第2出力信号として出力する。第1入力ノード、第2入力ノード、ハブノード、補助ノード、第1出力ノード、および第2出力ノードの各々は、当該ノードに入力される信号の合計値に対応する活性化値から当該ノードの状態値を引いた値に当該ノードが受けるノイズ信号を加えた値が、当該ノードの状態値の時間微分値に等しくなるように当該ノードの状態値を変化させる。
【0008】
本発明の他の局面に係るプログラムは、第1入力信号および第2入力信号を受けて第1出力信号および第2出力信号を出力するシステムにおいて、第1入力信号および第2入力信号を符号化してからそれぞれを第1出力信号および第2出力信号として復号する。システムは、第1入力ノードと、第2入力ノードと、ハブノードと、補助ノードと、第1出力ノードと、第2出力ノードとを備える。第1入力ノードは、第1入力信号を受ける。第2入力ノードは、第2入力信号を受ける。第1出力ノードは、第1出力信号を出力する。第2出力ノードは、第2出力信号を出力する。第1入力ノード、第2入力ノード、ハブノード、補助ノード、第1出力ノード、および第2出力ノードの各々は、当該ノードの状態値を表す正信号および当該状態値の符号を反転させた値を表す負信号の少なくとも1つを出力する。第1入力ノードは、第1入力ノードおよびハブノードの各々に第1入力ノードの負信号を出力する。第2入力ノードは、ハブノードに第2入力ノードの負信号を出力する。ハブノードは、ハブノード、第1出力ノード、および第2出力ノードの各々にハブノードの負信号を出力する。補助ノードは、ハブノードおよび補助ノードの各々に補助ノードの正信号を出力する。第1出力ノードは、第1出力ノードに第1出力ノードの正信号を出力するとともに第1出力ノードの正信号を第1出力信号として出力する。第2出力ノードは、ハブノードおよび第2出力ノードの各々に第2出力ノードの正信号を出力するとともに第2出力ノードの正信号を第2出力信号として出力する。プログラムは、第1入力ノード、第2入力ノード、ハブノード、補助ノード、第1出力ノード、および第2出力ノードの各々に含まれるプロセッサによって実行されることによって、当該ノードに入力される信号の合計値に対応する活性化値から当該ノードの状態値を引いた値に当該ノードが受けるノイズ信号を加えた値が、当該ノードの状態値の時間微分値に等しくなるように当該ノードの状態値を変化させる。
【0009】
本発明の他の局面に係る方法は、第1入力信号および第2入力信号を受けて第1出力信号および第2出力信号を出力するシステムにおいて、第1入力信号および第2入力信号を符号化してからそれぞれを第1出力信号および第2出力信号として復号する。システムは、第1入力ノードと、第2入力ノードと、ハブノードと、補助ノードと、第1出力ノードと、第2出力ノードとを備える。第1入力ノードは、第1入力信号を受ける。第2入力ノードは、第2入力信号を受ける。第1出力ノードは、第1出力信号を出力する。第2出力ノードは、第2出力信号を出力する。第1入力ノード、第2入力ノード、ハブノード、補助ノード、第1出力ノード、および第2出力ノードの各々は、当該ノードの状態値を表す正信号および当該状態値の符号を反転させた値を表す負信号の少なくとも1つを出力する。第1入力ノードは、第1入力ノードおよびハブノードの各々に第1入力ノードの負信号を出力する。第2入力ノードは、ハブノードに第2入力ノードの負信号を出力する。ハブノードは、ハブノード、第1出力ノード、および第2出力ノードの各々にハブノードの負信号を出力する。補助ノードは、ハブノードおよび補助ノードの各々に補助ノードの正信号を出力する。第1出力ノードは、第1出力ノードに第1出力ノードの正信号を出力するとともに第1出力ノードの正信号を第1出力信号として出力する。第2出力ノードは、ハブノードおよび第2出力ノードの各々に第2出力ノードの正信号を出力するとともに第2出力ノードの正信号を第2出力信号として出力する。方法は、第1入力ノード、第2入力ノード、ハブノード、補助ノード、第1出力ノード、および第2出力ノードの各々が、当該ノードに入力される信号の合計値を算出するステップと、合計値に対応する活性化値から当該ノードの状態値を引いた値に当該ノードが受けるノイズ信号を加えた値が、当該ノードの状態値の時間微分値に等しくなるように当該ノードの状態値を変化させるステップとを含む。
【発明の効果】
【0010】
本発明に係るシステム、プログラム、および方法によれば、第1入力ノード、第2入力ノード、ハブノード、補助ノード、第1出力ノード、および第2出力ノードの各々が当該ノードに入力される信号の合計値に対応する活性化値から当該ノードの状態値を引いた値に当該ノードが受けるノイズ信号を加えた値が、当該ノードの状態値の時間微分値に等しくなるように当該ノードの状態値を変化させることにより、当該システムのエネルギー効率を改善することができる。
【図面の簡単な説明】
【0011】
【
図1】実施の形態に係る情報処理システムの構成を示すブロック図である。
【
図2】情報処理システムのS/N比が10dBである場合における、4通りの入力信号に対応するハブノードの状態値の時間変化、および出力ノードの状態値の時間変化をそれぞれ表す12個のタイムチャートを併せて示す図である。
【
図3】ノイズ信号が0である場合(ノイズ信号がない場合)における、4通りの入力信号に対応するハブノードの状態値の時間変化、および出力ノードの状態値の時間変化を表す4個のタイムチャートを併せて示す図である。
【
図4】入力信号が{0,0}から{1,0}に切り替わる場合における第1出力ノードのポテンシャルエネルギー曲線の変化を示す図である。
【
図5】入力信号が{0,0}から{1,0}に切り替わる場合における第2出力ノードのポテンシャルエネルギー曲線の変化を示す図である。
【
図6】
図1のノードのハードウェア構成の一例を示すブロック図である。
【
図7】
図6の自己符号化プログラムを実行するプロセッサによって行われる処理の流れの一例を示すフローチャートである。
【
図8】実施の形態の変形例に係る情報処理システムの構成を示すブロック図である。
【発明を実施するための形態】
【0012】
以下、実施の形態について、図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は原則として繰り返さない。
【0013】
図1は、実施の形態に係る情報処理システム1の構成を示すブロック図である。情報処理システム1は、たとえば、コンピュータに含まれるアナログ集積回路として形成されてもよいし、複数のエッジノードを含むエッジコンピューティングシステムとして形成されてもよい。また、情報処理システム1は、より規模の大きい情報処理システムの一部として形成されてもよい。
【0014】
図1に示されるように、情報処理システム1は、入力信号Si
1(第1入力信号)および入力信号Si
2(第2入力信号)を符号化してからそれぞれを出力信号So
1(第1出力信号)および出力信号So
2(第2出力信号)として復号する。情報処理システム1は、入力ノードNd
1(第1入力ノード)と、入力ノードNd
2(第2入力ノード)と、ハブノードNd
3と、補助ノードNd
4と、出力ノードNd
5(第1出力ノード)と、出力ノードNd
6(第2出力ノード)とを備える。
【0015】
入力ノードNd1,Nd2は、入力信号Si1,Si2をそれぞれ受ける。出力ノードNd5,Nd6は、出力信号So1,So2をそれぞれ出力する。情報処理システム1において2次元の入力信号Si1,Si2は、ハブノードNd3の1次元の状態値x3として符号化され、状態値x3は2次元の出力信号So1,So2に復号される。
【0016】
入力ノードNd
1,Nd
2、ハブノードNd
3、補助ノードNd
4、および出力ノードNd
5,Nd
6の各々(ノードNd
i(iは、1以上6以下の自然数))は、ノードNd
iの状態値x
iを表す正信号および状態値x
iの符号を反転させた値を表す負信号の少なくとも1つを出力する。
図1において正信号,負信号は、実線の矢印および点線の矢印でそれぞれ表されている。なお、状態値x
iの初期値は、0である。
【0017】
入力ノードNd1、入力ノードNd2、ハブノードNd3、補助ノードNd4、出力ノードNd5、および出力ノードNd6は、有向グラフとして表現可能なネットワークを形成している。以下では、ノードNdjからNdiを出力される信号をSj,iと表す。
【0018】
入力ノードNd1は、入力ノードNd1およびハブノードNd3の負信号S1,1,S1,3をそれぞれ出力する。入力ノードNd2は、ハブノードNd3に負信号S2,3を出力する。ハブノードNd3は、ハブノードNd3、出力ノードNd5、および出力ノードNd6に負信号S3,3,S3,5,S3,6をそれぞれ出力する。補助ノードNd4は、ハブノードNd3および補助ノードNd4に正信号S4,3,S4,3をそれぞれ出力する。出力ノードNd5は、出力ノードNd5に正信号S5,5を出力するとともに状態値x5を出力信号So1として出力する。出力ノードNd6は、ハブノードNd3および出力ノードNd6に出力ノードNd6の正信号S6,3,S6,6をそれぞれ出力するとともに状態値x6を出力信号So2として出力する。
【0019】
入力ノードNd1、入力ノードNd2、ハブノードNd3、補助ノードNd4、出力ノードNd5、および出力ノードNd6によって形成される有向グラフの隣接行列Cは、たとえば、以下の式(1)のように表される。
【0020】
【0021】
隣接行列Cは、列番号j(1以上6以下の自然数)が信号を出力するノードNdjを表し、行番号iが当該信号が出力されるノードNdiを表す。隣接行列Cの各成分は、正信号を表す1、負信号を表す-1、およびノードNdjからNdiに信号が出力されていないことを表す0のいずれかである。信号Sj,iは、成分Ci,jと状態値xjとの積に等しい。
【0022】
たとえば、成分C3,4が1であることは、ノードNd4からNd3に正信号S4,3(=1・x4)が出力されることを表す。成分C5,3が-1であることは、ノードNd3からNd5に負信号S3,5(=(-1)・x3)が出力されることを表す。成分C1,2が0であることは、ノードNd2からNd1に信号が出力されていない(信号S2,1が0(=0・x2)である)ことを表す。
【0023】
ノードNd1、入力ノードNd2、ハブノードNd3、補助ノードNd4、出力ノードNd5、および出力ノードNd6の各々は、以下の式(2)に示されるように、当該ノードに入力される信号の合計値yiを算出する。なお、情報処理システム1において自然数Nは6である。自然数Nは、7以上であってもよい。
【0024】
【0025】
式(2)において信号Siは、ノードNdiにノードNd1~Nd6以外の構成から入力される信号の合計値である。たとえば、信号S1,S2は、入力信号Si1,Si2にそれぞれ対応する。ノードNd1~Nd6以外の構成からノードNd3~Nd6に入力される信号がないため、信号S3,S4,S5,S6の各々は0である。
【0026】
ノードNdiは、以下の式(3)を満たすように、ノードNdiの状態値xiを変化させる。式(3)のηは、ノードNdiが受けるノイズ信号を表す。情報処理システム1のS/N比は、たとえば10dB程度である。式(3)の左辺は、状態値xiの時間微分値である。右辺の第1項は、合計値yiに対する活性化関数の出力値(活性化値)である。式(3)においては、当該活性化関数の一例として、ゲインをβ(>0)とするシグモイド関数が使用されている。ゲインβは、たとえば10である。なお、式(3)の活性化関数は、シグモイド関数に限定されない。式(3)の活性化関数は、たとえば、ステップ関数、双曲線正接関数、あるいはランプ(ReLU(Rectified Linear Unit))関数であってもよい。
【0027】
【0028】
式(3)に示されるように、ノードNdiは、合計値yiに対応する活性化値から状態値xiを引いた値にノイズ信号ηを加えた値が、状態値xiの時間微分値に等しくなるようにノードNdiの状態値xiを変化させる。
【0029】
図2は、情報処理システム1のS/N比が10dBである場合における、4通りの入力信号Si
1,Si
2に対応するハブノードNd
3の状態値x
3の時間変化、および出力ノードNd
5,Nd
6の状態値x
5,x
6の時間変化をそれぞれ表す12個のタイムチャートを併せて示す図である。
図2において、入力信号Si
1,Si
2が{0,0},{0,1},{1,0},{1,1}の場合が1,2,3,4列目にそれぞれ示されている。
【0030】
図2に示されるように、入力信号Si
1,Si
2が{0,0},{0,1},{1,0},{1,1}の各々の場合において、状態値x
5,x
6(出力信号So
1,So
2)は、時間経過に応じてそれぞれ入力信号Si
1,Si
2の値の近傍において平衡状態に達している。すなわち、情報処理システム1は、オートエンコーダの機能(自己符号化機能)を有している。
【0031】
図3は、ノイズ信号ηが0である場合(ノイズ信号がない場合)における、4通りの入力信号Si
1,Si
2に対応するハブノードNd
3の状態値x
3の時間変化、および出力ノードNd
5,Nd
6の状態値x
5,x
6の時間変化を表す4個のタイムチャートを併せて示す図である。
図3においては、1組の入力信号Si
1,Si
2に対応する状態値x
3,x
5,x
6の時間変化が1つのタイムチャートに含まれている。
【0032】
図3に示されるように、入力信号Si
1,Si
2が互いに等しい場合、状態値x
5,x
6(出力信号So
1,So
2)は、時間経過に応じてそれぞれ入力信号Si
1,Si
2の値の近傍において平衡状態に達している。しかし、入力信号Si
1,Si
2が互いに異なる場合、状態値x
5が入力信号Si
1とは逆の値の近傍において平衡状態に達している。すなわち、ノイズ信号がない場合、情報処理システム1は、オートエンコーダとして機能しない。このことは、情報処理システム1においてノイズ信号ηは、自己符号化機能を実現するための手段として積極的に利用されており、抑制対象の外乱ではないことを示している。情報処理システム1は、ノイズ信号ηの影響を無視することができる程度にまで入力信号Si
1,Si
2のエネルギーを増加させる必要がないため、エネルギー効率を改善することができる。
【0033】
以下では、
図4,
図5を用いて、入力信号Si
1,Si
2が互いに異なる場合でも、情報処理システム1がオートエンコーダとして機能するメカニズムについて説明する。
図4は、入力信号Si
1,Si
2が{0,0}から{1,0}に切り替わる場合における出力ノードNd
5のポテンシャルエネルギー曲線の変化を示す図である。ポテンシャルエネルギー曲線とは、状態値と対応ノードのポテンシャルエネルギーUとの対応関係を示す曲線である。ポテンシャルエネルギー曲線上において傾きが0である点を、以下では当該ポテンシャルエネルギー曲線に対応する状態値の安定点とも呼ぶ。ポテンシャルエネルギーとは、状態値の不安定さを示す指標であり、力学系において力を位置で積分した値に対応する。状態値は、ポテンシャルエネルギーが低くなる方向に変化する。
図4において状態値x
3は、点線で示されている。また、状態値x
5の変化を分かり易くするために、状態値x
5はポテンシャルエネルギー曲線上を転がる円として模式的に示されている。後に説明する
図5においても同様である。
【0034】
図4を参照しながら、入力信号Si
1,Si
2が{0,0}から{1,0}に切り替わる前において、状態値x
3が0.7付近の値であり、出力ノードNd
5のポテンシャルエネルギー曲線がPE11であり、ポテンシャルエネルギー曲線PE11上において状態値x
5が0で安定しているとする。すなわち、ポテンシャルエネルギー曲線PE11上の0に対応する点は、状態値x
5の安定点である。
【0035】
その後、入力信号が{0,0}から{1,0}に切り替わることにより、状態値x3が0.32に減少すると、ポテンシャルエネルギー曲線は、PE11からPE12に変化する。ポテンシャルエネルギー曲線PE12においても0に対応する点が状態値x5の安定点であるが、ハブノードNd3から出力ノードNd5に出力される負信号S3,5が-0.32に増加することによって負信号S3,5による状態値x5の抑制が緩和される。このような状態において状態値x5は、ノイズ信号ηによってわずかに増加し得る。状態値x5が増加するとポテンシャルエネルギー曲線PE12の傾きが右下がりとなるため、状態値x5は、ポテンシャルエネルギー曲線PE12上を右下がりに移動して1付近に達する。状態値x3は状態値x5の影響を受けないため、ポテンシャルエネルギー曲線はPE12から変化しない。状態値x5が1付近のポテンシャルエネルギー曲線PE12の傾きは0か負(右下がり)のため、状態値x5は1付近に収束する。すなわち、状態値x5は、1付近において平衡状態に達する。
【0036】
図5は、入力信号Si
1,Si
2が{0,0}から{1,0}に切り替わる場合における出力ノードNd
6のポテンシャルエネルギー曲線の変化を示す図である。
図5を参照しながら、入力信号Si
1,Si
2が{0,0}から{1,0}に切り替わる前において、状態値x
3が0.7付近の値であり、出力ノードNd
6のポテンシャルエネルギー曲線がPE21であり、ポテンシャルエネルギー曲線PE21上において状態値x
6が0で安定しているとする。すなわち、ポテンシャルエネルギー曲線PE21上の0に対応する点は、状態値x
6の安定点である。なお、出力ノードNd
5,Nd
6にハブノードNd
3からそれぞれ加わる力(負信号S
3,5,S
3,6)は常に同じであるため、ポテンシャルエネルギー曲線PE21は
図4のポテンシャルエネルギー曲線PE11に等しい。
【0037】
その後、入力信号が{0,0}から{1,0}に切り替わることにより、状態値x3が0.32に減少すると、ポテンシャルエネルギー曲線は、PE21からPE22に変化する。ポテンシャルエネルギー曲線PE22においても0に対応する点が状態値x6の安定点であるが、ハブノードNd3から出力ノードNd6に出力される負信号が-0.32に増加することによって負信号S3,6による状態値x6の抑制が緩和される。このような状態において状態値x6は、ノイズ信号ηによってわずかに増加し得る。状態値x6が増加するとポテンシャルエネルギー曲線PE22の傾きが右下がりとなるとともに、出力ノードNd6からハブノードNd3に出力される正信号S6,3が増加するため、状態値x3が増加する。その結果、たとえば、状態値x3が0.32から増加すると、状態値x6が0.7付近の値に達する前にポテンシャルエネルギー曲線がPE22からPE21へ戻る。その結果、状態値x6は、0付近から増加しない。すなわち、状態値x6は、0付近において平衡状態に達する。
【0038】
入力信号Si
1,Si
2が{0,0}から{0,1}に切り替わる場合、切り替りの直後において状態値x
3が減少することにより、状態値x
5,x
6は両方とも1付近に増加する。その後、状態値x
5は、
図4に示されるポテンシャルエネルギー曲線PE12を線対称に反転させたポテンシャルエネルギー曲線に従って変化して、0付近に収束する。また、状態値x
6は、
図5に示されるポテンシャルエネルギー曲線PE22を線対称に反転させたポテンシャルエネルギー曲線に従って変化して、1付近に収束する。
【0039】
情報処理システム1においては、アニーリング法のように、ノイズ信号による大域最適解が探索されている。また、情報処理システム1においては、入力信号Si1,Si2が状態値x3の時系列データに符号化されている(時的コーディングあるいはダイナミックコーディング)。さらに、情報処理システム1においては、ノイズ信号ηによって状態値x3を動的に変化させることにより、出力ノードNd5,Nd6の各々のポテンシャルエネルギー曲線を動的に変化させている。
【0040】
なお、
図1に示される情報処理システム1のネットワークの探索には、たとえば遺伝的アルゴリズム(非特許文献2参照)を用いることができる。具体的には、各要素を-1,0,1の間でランダムに決定することによって、複数の隣接行列C1(たとえば100個)を生成する。複数の隣接行列C1の各々に対応するネットワークの自己符号化機能の評価指標を算出して、当該評価指標の高い順に複数の隣接行列C1を順位付ける。複数の隣接行列C1のうち、予め定められた順位(たとえば25位)以上の順位を有する複数の隣接行列C2を特定する。複数の隣接行列C2の各々から予め定められた個数(たとえば3個)の隣接行列C3を生成する。複数の隣接行列C3は、対応する隣接行列C2の各要素が予め定められた確率(たとえば1%~10%)で-1,0,1のうち当該要素とは異なる値に置換された隣接行列である。複数の隣接行列C2から生成された複数の隣接行列C3に対して、自己符号化機能の評価指標の算出以降の処理が繰り返される。
【0041】
自己符号化機能の評価指標は、複数の隣接行列C1の各々に対応するネットワークに、複数の入力信号Si1,Si2({0,0},{0,1},{1,0},{1,1})を入力した場合において、出力信号So1,So2と入力信号Si1,Si2との差の絶対値の総和に、入力信号Si1,Si2を{0,0}に戻した場合の出力信号So1,So2と{0,0}との差の絶対値の総和を加算した値である。なお、出力信号So1,So2の振動状態等を評価指標に反映させるため、入力信号Si1,Si2がネットワークに入力されてから予め定められた待機時間の半分が経過してから当該待機時間が経過するまでの出力信号So1,So2の平均値が出力信号So1,So2として用いられてもよい。
【0042】
以下では、情報処理システム1がエッジコンピューティングシステムとして形成されている場合について説明する。この場合、ノードNd
iは、エッジノードを形成する。
図6は、
図1のノードNd
iのハードウェア構成の一例を示すブロック図である。
図6に示されるように、ノードNd
iは、ストレージ101と、プロセッサ102と、メモリ103と、ネットワークインターフェイス104と、入出力部105とを含む。
【0043】
ストレージ101は、不揮発性の記憶装置であり、たとえば、ハードディスクあるいは外付けの記憶媒体を含む。ストレージ101には、たとえばオペレーティングシステムのプログラム(不図示)、および自己符号化プログラムPg1が保存されている。
【0044】
プロセッサ102は、ストレージ101に保存されている各種プログラムを実行することにより、情報処理システム1の機能を実現する。プロセッサ102は、たとえば、CPU(Central Processing Unit)、あるいはGPU(Graphics Processing Unit)を含む。情報処理システム1に含まれる各ノードNdiのプロセッサ102が自己符号化プログラムPg1を実行することにより、情報処理システム1の自己符号化機能が実現される。プロセッサ102は、ネットワークインターフェイス104を介して、インターネットに接続されている外部装置へデータを送信するとともに、当該外部装置からのデータを受信する。
【0045】
メモリ103は、揮発性の記憶装置であり、たとえば、RAM(Random Access Memory)を含む。メモリ103は、ワーキングメモリとして機能し、プログラムの実行に必要な各種データを一時的に格納する。
【0046】
入出力部105は、ユーザからの操作を受けるとともに、当該操作に対応するプログラムの処理結果をユーザに出力する。入出力部105は、たとえば、タッチパネル、ディスプレイ、ランプ、およびスピーカを含む。
【0047】
図7は、
図6の自己符号化プログラムPg1を実行するプロセッサ102によって行われる処理の流れの一例を示すフローチャートである。
図7に示される処理は、ノードNd
iを統合的に制御する不図示のメインルーチンによって、たとえばサンプリングタイム毎に呼び出される。以下ではステップを単にSと記載する。
【0048】
図7に示されるように、プロセッサ102は、S101においてノードNd
iに入力される信号の合計値y
iを算出して処理をS102に進める。プロセッサ102は、合計値y
iに対応する活性化値から状態値x
iを引いた値にノイズ信号ηを加えた値が、状態値x
iの時間微分値に等しくなるように状態値x
iを変化させて処理をメインルーチンに返す。
【0049】
図8は、実施の形態の変形例に係る情報処理システム1Aの構成を示すブロック図である。情報処理システム1Aの構成は、
図1の情報処理システム1においてハブノードNd
3から、状態値x
3を表す出力信号So
3が情報処理システム1Aの外部に出力されている点である。これ以外の情報処理システム1の構成は、情報処理システム1の構成と同様であるため、同様の構成についての説明を繰り返さない。状態値x
3は、入力信号Si
1,Si
2から次元が削減された入力信号Si
1,Si
2の特徴量である。情報処理システム1Aによれば、入力信号Si
1,Si
2の特徴量を情報処理システム1の外部において取得することができる。
【0050】
以上、実施の形態および変形例に係る情報処理システム、プログラム、および方法によれば、情報処理システムのエネルギー効率を改善することができる。
【0051】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0052】
1,1A 情報処理システム、101 ストレージ、102 プロセッサ、103 メモリ、104 ネットワークインターフェイス、105 入出力部、Nd1~Nd6,Ndi,Ndj ノード、Pg1 自己符号化プログラム、Si1,Si2 入力信号、So1~So3 出力信号。