(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-04-02
(45)【発行日】2025-04-10
(54)【発明の名称】モジュール回路、及びレザバー回路
(51)【国際特許分類】
G06N 3/063 20230101AFI20250403BHJP
G06N 3/049 20230101ALI20250403BHJP
G06G 7/60 20060101ALI20250403BHJP
G06G 7/184 20060101ALI20250403BHJP
H03K 3/03 20060101ALI20250403BHJP
H03K 5/04 20060101ALI20250403BHJP
H03K 7/08 20060101ALI20250403BHJP
【FI】
G06N3/063
G06N3/049
G06G7/60
G06G7/184
H03K3/03
H03K5/04
H03K7/08 F
(21)【出願番号】P 2023566302
(86)(22)【出願日】2022-12-05
(86)【国際出願番号】 JP2022044655
(87)【国際公開番号】W WO2023106249
(87)【国際公開日】2023-06-15
【審査請求日】2024-05-02
(31)【優先権主張番号】P 2021198579
(32)【優先日】2021-12-07
(33)【優先権主張国・地域又は機関】JP
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和元年度、国立研究開発法人科学技術振興機構「スパイキングネットによるエッジでのリアルタイム学習基盤」委託研究開発、産業技術力強化法第17条の適用を受ける特許出願
(73)【特許権者】
【識別番号】301021533
【氏名又は名称】国立研究開発法人産業技術総合研究所
(74)【代理人】
【識別番号】100161207
【氏名又は名称】西澤 和純
(74)【代理人】
【識別番号】100147267
【氏名又は名称】大槻 真紀子
(74)【代理人】
【識別番号】100140774
【氏名又は名称】大浪 一徳
(72)【発明者】
【氏名】井上 悠
(72)【発明者】
【氏名】矢嶋 赳彬
(72)【発明者】
【氏名】飯塚 哲也
【審査官】今城 朋彬
(56)【参考文献】
【文献】米国特許出願公開第2018/0211165(US,A1)
【文献】特開2005-267105(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/063
G06N 3/049
G06G 7/184
G06G 7/60
H03K 3/03
H03K 5/04
H03K 7/08
(57)【特許請求の範囲】
【請求項1】
第1ブロック回路と、
第2ブロック回路と、
を備え、
前記第1ブロック回路は、
入力パルス信号が入力される第1入力端子と、
前記入力パルス信号の間隔、及び前記入力パルス信号の幅に応じて所定期間の前記入力パルス信号の平均値を保持する保持部と、
前記平均値に応じた頻度において出力パルス信号を生成する発振部と、
前記出力パルス信号を出力する第1出力端子と、
を備え、
前記第2ブロック回路は、
前記第1ブロック回路から出力される前記出力パルス信号が入力される第2入力端子と、
前記出力パルス信号のデューティ比を調整するデューティ比調整器と、
前記デューティ比調整器によって調整された前記出力パルス信号を出力する第2出力端子と、
を備える
モジュール回路。
【請求項2】
前記第1ブロック回路は、
前記保持部は、キャパシタを含み、前記入力パルス信号を示すパルス電圧を積分し、前記パルス電圧を積分した結果を前記平均値として保持し、
前記発振部は、前記保持部による前記パルス電圧の積分によって得られる、前記パルス電圧を積分した結果に対して単調に増加する積分電流が前記保持部から供給され、前記積分電流の大きさに依存する周波数をもつ前記出力パルス信号を生成し、
興奮性の入力を示す前記入力パルス信号に応じて開閉することにより、前記キャパシタにチャージされる前記パルス電圧を形成するハイサイドスイッチング素子と、
を備える
請求項1に記載のモジュール回路。
【請求項3】
前記第1ブロック回路は、
抑制性の入力を示す前記入力パルス信号に応じて開閉することにより、前記キャパシタの電荷をディスチャージさせるローサイドスイッチング素子をさらに備える
請求項2に記載のモジュール回路。
【請求項4】
前記第1ブロック回路は、前記保持部から前記発振部への前記積分電流の流入を制限する流入制限器をさらに備える
請求項2に記載のモジュール回路。
【請求項5】
第3ブロック回路をさらに備え、
前記第3ブロック回路は、
前記第2ブロック回路から出力される前記出力パルス信号が入力される第3入力端子と、
MOSトランジスタのリーク電流によって充電される充電部と、
前記充電部の充電量が閾値を超えると、パルス信号を生成し、かつ前記充電部の充電量をリセットするパルス信号生成部と、
前記パルス信号生成部が生成した前記パルス信号を出力する第3出力端子と、
を備え、
前記パルス信号生成部が前記出力パルス信号を生成する頻度は、前記第3入力端子に前記出力パルス信号が入力される頻度に応じて増減する
請求項1に記載のモジュール回路。
【請求項6】
前記第3ブロック回路は、
電源端子と接地端子との間に直列接続されたP型MOSトランジスタとN型MOSトランジスタとを備えるCMOSインバータと、
前記CMOSインバータからの出力を反転させた反転信号を生成する反転器と、
前記P型MOSトランジスタと前記N型MOSトランジスタとの間に配置され前記反転信号に応じて開閉するスイッチング素子と、
前記CMOSインバータからの出力を遅延させて再び前記CMOSインバータに入力する遅延回路と、
前記第3入力端子に入力される前記出力パルス信号を示すパルス電圧によってチャージされる第2キャパシタと、
抑制性の入力を示す第2入力パルス信号に応じて開閉することによって閉状態において前記第2キャパシタの電荷をディスチャージさせる第2ローサイドスイッチング素子と、興奮性の入力を示す第1入力パルス信号に応じて開閉することによって、第1入力パルス信号を示すパルス電圧を生成する第2ハイサイドスイッチング素子とのうち少なくとも一方と、
を備え、
前記充電部は、前記第2キャパシタを含み、
前記パルス信号生成部は、前記反転器と、前記スイッチング素子と、前記遅延回路とを含み、
前記第2キャパシタの電圧が前記CMOSインバータに入力される
請求項5に記載のモジュール回路。
【請求項7】
請求項1
から請求項6のいずれか一項に記載のモジュール回路を複数備え
、
複数の前記モジュール回路それぞれに入力される前記入力パルス信号の前記平均値の線形結合を出力信号とし、当該線形結合の係数を学習対象とする
レザバー回路。
【請求項8】
1以上の前記モジュール回路それぞれに備えられる前記第2出力端子と1つの前記モジュール回路に備えられる前記第1入力端子とが接続される、または1つの前記モジュール回路に備えられる前記第2出力端子と1以上の前記モジュール回路それぞれに備えられる前記第1入力端子とが接続される
請求項7に記載のレザバー回路。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モジュール回路、及びレザバー回路に関する。
本願は、2021年12月7日に、日本に出願された特願2021-198579号に基づき優先権を主張し、その内容をここに援用する。
【背景技術】
【0002】
アナログ方式(積分回路)によるLIF(Leaky Integration and Fire)素子が知られている(特許文献1)。
【先行技術文献】
【非特許文献】
【0003】
【文献】「IEEE Transactions on Circuits and Systems II: Express Briefs」、2015年7月14日、62巻、11号、p.1088-1092
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に記載されるようなアナログ方式によるLIF素子では、消費電力が大きくなる傾向があった。LIF素子において低消費電力を実現できることが求められている。
【0005】
本発明は上記の点に鑑みてなされたものであり、LIF素子において低消費電力を実現できるモジュール回路、及びレザバー回路を提供する。
【課題を解決するための手段】
【0006】
本発明は上記の課題を解決するためになされたものであり、本発明の一態様は、第1ブロック回路と、第2ブロック回路と、を備え、前記第1ブロック回路は、入力パルス信号が入力される第1入力端子と、前記入力パルス信号の間隔、及び前記入力パルス信号の幅に応じて所定期間の前記入力パルス信号の平均値を保持する保持部と、前記平均値に応じた頻度において出力パルス信号を生成する発振部と、前記出力パルス信号を出力する第1出力端子と、を備え、前記第2ブロック回路は、前記第1ブロック回路から出力される前記出力パルス信号が入力される第2入力端子と、前記出力パルス信号のデューティ比を調整するデューティ比調整器と、前記デューティ比調整器によって調整された前記出力パルス信号を出力する第2出力端子と、を備えるモジュール回路である。
【0007】
また、本発明の一態様は、上記のモジュール回路において、前記第1ブロック回路は、前記保持部は、キャパシタを含み、前記入力パルス信号を示すパルス電圧を積分し、前記パルス電圧を積分した結果を前記平均値として保持し、前記発振部は、前記保持部による前記パルス電圧の積分によって得られる、前記パルス電圧を積分した結果に対して単調に増加する積分電流が前記保持部から供給され、前記積分電流の大きさに依存する周波数をもつ前記出力パルス信号を生成し、興奮性の入力を示す前記入力パルス信号に応じて開閉することにより、前記キャパシタにチャージされる前記パルス電圧を形成するハイサイドスイッチング素子と、を備える。
【0008】
また、本発明の一態様は、上記のモジュール回路において、前記第1ブロック回路は、抑制性の入力を示す前記入力パルス信号に応じて開閉することにより、前記キャパシタの電荷をディスチャージさせるローサイドスイッチング素子をさらに備える。
【0009】
また、本発明の一態様は、上記のモジュール回路において、前記第1ブロック回路は、前記保持部から前記発振部への前記積分電流の流入を制限する流入制限器をさらに備える。
【0010】
また、本発明の一態様は、上記のモジュール回路において、第3ブロック回路をさらに備え、前記第3ブロック回路は、前記第2ブロック回路から出力される前記出力パルス信号が入力される第3入力端子と、MOSトランジスタのリーク電流によって充電される充電部と、前記充電部の充電量が閾値を超えると、パルス信号を生成し、かつ前記充電部の充電量をリセットするパルス信号生成部と、前記パルス信号生成部が生成した前記パルス信号を出力する第3出力端子と、を備え、前記パルス信号生成部が前記出力パルス信号を生成する頻度は、前記第3入力端子に前記出力パルス信号が入力される頻度に応じて増減する。
【0011】
また、本発明の一態様は、上記のモジュール回路において、前記第3ブロック回路は、電源端子と接地端子との間に直列接続されたP型MOSトランジスタとN型MOSトランジスタとを備えるCMOSインバータと、前記CMOSインバータからの出力を反転させた反転信号を生成する反転器と、前記P型MOSトランジスタと前記N型MOSトランジスタとの間に配置され前記反転信号に応じて開閉するスイッチング素子と、前記CMOSインバータからの出力を遅延させて再び前記CMOSインバータに入力する遅延回路と、前記第3入力端子に入力される前記出力パルス信号を示すパルス電圧によってチャージされる第2キャパシタと、抑制性の入力を示す第2入力パルス信号に応じて開閉することによって閉状態において前記第2キャパシタの電荷をディスチャージさせる第2ローサイドスイッチング素子と、興奮性の入力を示す第1入力パルス信号に応じて開閉することによって、第1入力パルス信号を示すパルス電圧を生成する第2ハイサイドスイッチング素子とのうち少なくとも一方と、を備え、前記充電部は、前記第2キャパシタを含み、前記パルス信号生成部は、前記反転器と、前記スイッチング素子と、前記遅延回路とを含み、前記第2キャパシタの電圧が前記CMOSインバータに入力される。
【0012】
また、本発明の一態様は、上記のモジュール回路を複数備え、複数の前記モジュール回路それぞれに入力される前記入力パルス信号の前記平均値の線形結合を出力信号とし、当該線形結合の係数を学習対象とするレザバー回路である。
【0013】
また、本発明の一態様は、上記のレザバー回路において、1以上の前記モジュール回路それぞれに備えられる前記第2出力端子と1つの前記モジュール回路に備えられる前記第1入力端子とが接続される、または1つの前記モジュール回路に備えられる前記第2出力端子と1以上の前記モジュール回路それぞれに備えられる前記第1入力端子とが接続される。
【発明の効果】
【0014】
本発明によれば、LIF素子において低消費電力を実現できる。
【図面の簡単な説明】
【0015】
【
図1】本発明の実施形態に係るモジュール回路の構成の一例を示す図である。
【
図2】本発明の実施形態に係るシナプス素子回路の構成の一例を示す図である。
【
図3】本発明の実施形態に係る重み調整回路の構成の一例を示す図である。
【
図4】本発明の実施形態に係るLIFニューロン回路の構成の一例を示す図である。
【
図5】本発明の実施形態に係るレザバー回路の構成の一例を示す図である。
【
図6】本発明の実施形態に係る1つのシナプス素子回路と、1つの重み調整回路と、1つのLIFニューロン回路とが接続された場合の動作確認結果の一例を示す図である。
【
図7】本発明の実施形態に係る1つのシナプス素子回路と、1つの重み調整回路と、1つのLIFニューロン回路とが接続された場合の動作確認結果の一例を示す図である。
【
図8】本発明の実施形態に係るスパイキングニューラルネットワークの動作確認結果の一例を示す図である。
【
図9】本発明の実施形態に係るシナプス出力信号の時間変化の一例を示す図である。
【
図10】本発明の実施形態に係るニューロン電圧の時間変化の一例を示す図である。
【
図11】本発明の実施形態に係るシナプス電流の時間変化の一例を示す図である。
【
図12】本発明の実施例に係る作成された半導体チップの外観を示す図である。
【
図13】本発明の第1実施例に係るモジュール回路の構成を示す図である。
【
図14】本発明の第1実施例に係るモジュール回路の動作測定結果を示す図である。
【
図15】本発明の第2実施例に係るモジュール回路の構成を示す図である。
【
図16】本発明の第2実施例に係るモジュール回路の動作測定結果を示す図である。
【
図17】本発明の第3実施例に係るモジュール回路の構成を示す図である。
【
図18】本発明の第3実施例に係るモジュール回路の動作測定結果を示す図である。
【
図19】本発明の第4実施例に係るモジュール回路の構成を示す図である。
【
図20】本発明の第4実施例に係るモジュール回路の動作測定結果を示す図である。
【発明を実施するための形態】
【0016】
(実施形態)
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
図1は、本実施形態に係るモジュール回路1の構成の一例を示す図である。モジュール回路1は、シナプス素子回路2と、重み調整回路4と、LIFニューロン回路3とを備える。シナプス素子回路2と、重み調整回路4と、LIFニューロン回路3とは、この順に直列に接続されてモジュール回路1に備えられる。
【0017】
モジュール回路1は、例えば、ニューラルネットワークのシナプスとして用いられる。シナプス素子回路2には、入力パルス信号IP1が入力される。入力パルス信号IP1は、モジュール回路1の前段に備えられるシナプスから出力されるパルス信号である。シナプス素子回路2は、入力された入力パルス信号IP1を積分し、積分値に応じた周波数の出力パルス信号としてパルス信号MP2を出力する。シナプス素子回路2は、第1ブロック回路の一例である。
【0018】
重み調整回路4は、モジュール回路1から出力されるパルス信号MP2のパルス幅を調整する。パルス幅が広いほど、後段のニューロンの充電及び放電の速度は速くなる。すなわち、広いパルス幅は、ニューラルネットワークにおける大きな重みに相当する。重み調整回路4は、パルス幅を調整したパルス信号MP2をパルス信号MP3として出力する。パルス信号MP3は、LIFニューロン回路3へと出力される。重み調整回路4は、第2ブロック回路の一例である。
【0019】
LIFニューロン回路3は、トランジスタのリーク電流を用いてノードを充電する。LIFニューロン回路3は、充電されるノードの電圧が閾値を超えると、出力パルス信号OP1を出力しリセットされる。出力パルス信号OP1は、後段のニューロンへと出力される。LIFニューロン回路3では、重み調整回路4から入力されるパルス信号MP3によって、パルス信号が出力される頻度が増減する。LIFニューロン回路3は、第3ブロック回路の一例である。
【0020】
モジュール回路1は、時間領域のアナログ量(パルス間隔及びパルス幅)を用いたLIF(Leaky Integration and Fire)素子である。モジュール回路1では時間領域のアナログ量を用いることによって、従来のアナログ方式(積分回路)によるLIF素子よりも低消費電力のLIF素子を実現する。
【0021】
[シナプス素子回路2の構成]
図2は、本実施形態に係るシナプス素子回路2の構成の一例を示す図である。シナプス素子回路2は、入力端子IN21と、インバータD21と、P型MOSトランジスタT21と、電源端子P2と、入力端子IN22と、N型MOSトランジスタT22と、リングオシレータO2と、キャパシタC2と、N型MOSトランジスタT23と、出力端子OUT21と、出力端子OUT22とを備える。なお、P型MOSトランジスタT21、N型MOSトランジスタT22、及びN型MOSトランジスタT23は、信号が入力されていない状態においてオフ状態である。
【0022】
入力端子IN21には、入力パルス信号IP21が入力される。
図2に示すように入力パルス信号IP21は、所定の周期において短時間だけハイになる矩形波である。入力パルス信号IP21は、
図1に示す入力パルス信号IP1に相当する。入力端子IN21は、第1入力端子の一例である。
【0023】
インバータD21は、入力端子IN21に入力された入力パルス信号IP21の極性を反転させる。極性が反転された入力パルス信号IP21は、所定の周期において短時間だけローになる矩形波である。
【0024】
P型MOSトランジスタT21は、そのソースが電源端子P2に接続され、そのゲートがインバータD21に接続され、そのドレインが配線L21の接続点J22に接続される。P型MOSトランジスタT21は、インバータD21によって極性が反転された入力パルス信号IP21がローになる間だけオンとなり、ソースからドレインの向きに電流I21が流れる。上述したように、極性が反転された入力パルス信号IP21は短時間だけローとなるため、P型MOSトランジスタT21は当該短時間だけオンとなる。
【0025】
P型MOSトランジスタT21は、ハイサイドスイッチング素子の一例である。当該ハイサイドスイッチング素子は、興奮性の入力を示す入力パルス信号IP21に応じて開閉することにより、キャパシタC2にチャージされるパルス電圧を形成する。
【0026】
入力端子IN22には、入力パルス信号IP22が入力される。
図2に示すように入力パルス信号IP22は、所定の周期において短時間だけハイになる矩形波である。なお、
図2に示すように入力パルス信号IP22のパルス幅は、一例として、入力パルス信号IP21のパルス幅に比べて狭い。入力パルス信号IP22は、
図1に示す入力パルス信号IP1に相当する。入力端子IN21は、第1入力端子の一例である。
【0027】
N型MOSトランジスタT22は、そのソースがキャパシタC2及び配線L21の接続点J21に接続され、そのゲートが入力端子IN22に接続され、そのドレインが接地される。N型MOSトランジスタT22は、入力パルス信号IP22がハイになる間だけオンとなり、ソースからドレインの向きに電流I22が流れる。上述したように、入力パルス信号IP22は短時間だけハイとなるため、N型MOSトランジスタT22は当該短時間だけオンとなる。
【0028】
N型MOSトランジスタT22は、ローサイドスイッチング素子の一例である。当該ローサイドスイッチング素子は、抑制性の入力を示す入力パルス信号IP22に応じて開閉することにより、キャパシタC2の電荷をディスチャージさせる。
【0029】
キャパシタC2は、配線L21上に備えられる。P型MOSトランジスタT21が短時間だけオンとなり電流I21が流れる度に、当該短時間だけ充電されてキャパシタC2には電荷が溜まる。キャパシタC2の静電容量は、一例として、150fF(フェムトファラド)である。キャパシタC2の他端は接地されている。
【0030】
キャパシタC2は、保持部の一例である。保持部は、入力パルス信号IP21の間隔、及び入力パルス信号IP21の幅に応じて所定期間の入力パルス信号IP21の平均値を保持する。保持部は、キャパシタC2を含み、入力パルス信号IP21を示すパルス電圧を積分し、当該パルス電圧を積分した結果を平均値として保持する。
【0031】
リングオシレータO2は、パルス信号を出力する発振回路(オシレータ)である。リングオシレータO2は、インバータD22と、インバータD23と、インバータD24との3つのインバータを備える。インバータD22は、接続点J21によって配線L21に接続される。インバータD23は、接続点J22によって配線L21に接続される。インバータD24は、接続点J23によって配線L21に接続される。インバータD22、インバータD23、及びインバータD24は、この順に直列に接続される。インバータD24は、接続点J26を介して配線L24によってインバータD22に直列に接続される。つまり、リングオシレータO2は、リング状の構造を有している。
【0032】
リングオシレータO2は、発振部の一例である。発振部は、保持部が保持する入力パルス信号IP21の平均値に応じた頻度において出力パルス信号OP2を生成する。発振部は、保持部によるパルス電圧の積分によって得られる積分電流が保持部から供給され、当該積分電流の大きさに依存する周波数をもつ出力パルス信号OP2を生成する。当該積分電流は、保持部によるパルス電圧を積分した結果に対して単調に増加する電流である。
【0033】
インバータD24から出力される信号は、接続点J26において2つに分岐される。接続点J26において分岐された信号のうち一方は、出力端子OUT22に出力される。出力端子OUT22は、当該分岐された信号のうち一方を、出力パルス信号OP2として出力する。出力パルス信号OP2は、
図1に示すパルス信号MP2に相当する。接続点J26において分岐された信号のうち他方は、配線L24を介してインバータD22に入力される。
【0034】
インバータD22に、ローの信号が入力されると、当該信号は、インバータD22、インバータD23、インバータD24によってそれぞれ極性が反転されて、インバータD24からハイの信号が出力される。同様にして、インバータD22に、ハイの信号が入力されると、インバータD24からローの信号が出力される。インバータD24から出力される信号は、ローとハイとが周期的に繰り返される。その結果、インバータD24からは、出力パルス信号OP2が出力される。
【0035】
出力パルス信号OP2のパルス間隔は、ノードの電圧V2に依存する。ここで接続点J21、接続点J22、及び接続点J23をまとめてノードという。当該電圧は、キャパシタC2の電圧によって決まる。したがって、出力パルス信号OP2のパルス間隔は、キャパシタC2の電圧に依存する。入力パルス信号IP21のパルス間隔が狭いほど、単位時間当たりより多くのパルスが入力され、より多くの電荷がキャパシタC2に溜まる。より多くの電荷がキャパシタC2に溜まるほど、キャパシタC2の電圧は上昇する。キャパシタC2の電圧が高いほど、出力パルス信号OP2のパルス間隔は狭くなり、単位時間当たりより多くのパルスが出力される。
【0036】
つまり、シナプス素子回路2では、入力パルス信号IP21は、キャパシタC2に電荷が溜まることによって積分され、積分された値に応じた周波数(パルス間隔)の出力パルス信号OP2が出力される。つまり、出力パルス信号OP2の波形は、入力パルス信号IP21の波形を積分した結果に相当する。出力パルス信号OP2の波形は、シナプス素子回路2をニューラルネットワークのノードとして用いる場合に、学習に用いられる。出力パルス信号OP2は、
図1に示すパルス信号MP2に相当する。
【0037】
出力パルス信号OP2を出力すると同時に、リングオシレータO2は、電流を消費する。リングオシレータO2が消費した電流を、リーク電流I23という。リーク電流I23は、接続点J24から流れ出る。
【0038】
ここで
図2に示すノードの電圧V2の値は、P型MOSトランジスタT21がオンとなる度に立ち上がり、リングオシレータO2が動作しリーク電流I23が流れ出ることに応じて減少している。シナプス素子回路2では、リングオシレータO2の動作に応じて流れ出るリーク電流I23によって出力パルス信号OP2が生成される。つまり、シナプス素子回路2では、リーク電流がパルス列に変換される。
【0039】
図2に示すシナプス素子回路2では、リーク電流I23の量は、N型MOSトランジスタT23によって調整される。N型MOSトランジスタT23は、そのソースが接続点J24に接続され、そのドレイン及びゲートが接続点J25を介して接地される。
N型MOSトランジスタT23は、流入制限器の一例である。流入制限器は、保持部から発振部への積分電流の流入を制限する。
【0040】
なお、シナプス素子回路2の構成からN型MOSトランジスタT23は省略されてもよい。N型MOSトランジスタT23が備えられていない場合、P型MOSトランジスタT21に流れる電流I21の量のみを調整しても、リングオシレータO2から流れ出るリーク電流I23の量が調整できない。そのため、リングオシレータO2から出力される出力パルス信号OP2を所望のパルス列とするための調整の精度は、N型MOSトランジスタT23を備えた方が備えない場合に比べて高い。
【0041】
また、シナプス素子回路2の構成から入力端子IN22及びN型MOSトランジスタT22は省略されてもよい。
【0042】
[重み調整回路4の構成]
図3は、本実施形態に係る重み調整回路4の構成の一例を示す図である。
重み調整回路4は、入力端子IN4と、インバータD41と、遅延ラインD42と、マルチプレクサM4と、ゲートA4と、出力端子OUT4とを備える。
【0043】
入力端子IN4には、入力パルス信号IP4が入力される。入力パルス信号IP4は、
図1に示すパルス信号MP2(換言すれば、
図2に示す出力パルス信号OP2)に相当する。つまり、入力端子IN4には、第1ブロック回路から出力される出力パルス信号OP2が入力される。
【0044】
入力端子IN4に入力された入力パルス信号IP4は、接続点J41においてパルス信号IP41と、パルス信号IP42とに分岐される。パルス信号IP41は、インバータD41に入力される。パルス信号IP42は、ゲートA4に入力される。
【0045】
インバータD41は、パルス信号IP41をその極性を反転させて、遅延ラインD42へと出力する。
遅延ラインD42は、直列に接続された複数の遅延素子から構成される。マルチプレクサM4は、遅延ラインD42を構成する複数の遅延素子のなかからいずれか1つを選択して、パルス信号IP43として出力する。いずれの遅延素子から信号が取り出されるかに応じて、パルス信号IP43は、パルス信号IP42に比べて遅延する。遅延ラインD42において直列に接続された複数の遅延素子のうち、信号が取り出される遅延素子がインバータD41の側から遠いほど、取り出されるパルス信号IP43は、パルス信号IP42に比べて遅延する。
【0046】
ゲートA4には、パルス信号IP42と、当該パルス信号IP42に遅延してパルス信号IP43とが入力される。ゲートA4は、入力されたパルス信号IP42と、パルス信号IP43との論理積に相当する信号を出力する。ゲートA4から出力される信号は、出力端子OUT4から出力パルス信号OP4として出力される。
【0047】
出力パルス信号OP4のパルス幅は、遅延ラインD42においていずれの遅延素子から信号が取り出されるかに応じて、入力パルス信号IP4に比べて狭い。
図3に、パルス信号IP43の波形、パルス信号IP42の波形、及び出力パルス信号OP4の波形をそれぞれ示す。
【0048】
パルス信号IP42は、入力パルス信号IP4が接続点J41において分岐されただけであるため、パルス信号IP42の波形は、入力パルス信号IP4の波形と同じである。一方、パルス信号IP43は、パルス信号IP42に対して遅延している。パルス信号IP42の波形と、当該パルス信号IP42に対して遅延しているパルス信号IP43の波形とを合成することによって、入力パルス信号IP4に比べて狭いパルス幅をもつ出力パルス信号OP4が得られている。
【0049】
したがって、重み調整回路4では、遅延ラインD42においていずれの遅延素子から信号が取り出されるかに応じて、出力パルス信号OP4のパルス幅が調整される。
インバータD41、遅延ラインD42、及びマルチプレクサM4は、デューティ比調整器の一例である。デューティ比調整器は、出力パルス信号OP4のデューティ比を調整する。出力端子OUT4は、第2出力端子の一例である。第2出力端子は、デューティ比調整器によって調整された出力パルス信号OP4を出力する。
【0050】
なお、重み調整回路4の構成は、パルスのデューティ比さえ調整できれば、
図3に示した構成に限られない。重み調整回路4の構成は、例えば負荷容量を可変にしてパルス幅を調整する構成など、他の構成とされてもよい。
【0051】
[LIFニューロン回路3の構成]
図4は、本実施形態に係るLIFニューロン回路3の構成の一例を示す図である。LIFニューロン回路3は、入力端子IN31と、P型MOSトランジスタT31と、入力端子IN32と、N型MOSトランジスタT32と、電源端子P31と、キャパシタC3と、電源端子P32と、P型MOSトランジスタT33と、P型MOSトランジスタT34と、N型MOSトランジスタT35と、インバータD31と、インバータD32と、インバータD33と、インバータD34と、出力端子OUT3とを備える。
【0052】
なお、P型MOSトランジスタT31、N型MOSトランジスタT32、P型MOSトランジスタT33、P型MOSトランジスタT34、及びN型MOSトランジスタT35は、信号が入力されていない状態においてオフ状態である。また、P型MOSトランジスタT31、N型MOSトランジスタT32、P型MOSトランジスタT33、P型MOSトランジスタT34、及びN型MOSトランジスタT35それぞれの寄生容量は、一例として、10fF(フェムトファラド)である。
【0053】
P型MOSトランジスタT33は、そのソースが電源端子P32に接続され、そのゲートが接続点J35に接続され、そのドレインがP型MOSトランジスタT34のソースに接続される。
P型MOSトランジスタT34は、そのソースがP型MOSトランジスタT33のドレインに接続され、そのゲートが接続点J34に接続され、そのドレインが接続点J33に接続される。
【0054】
上述したように、P型MOSトランジスタT33、及びP型MOSトランジスタT34はオフ状態である。P型MOSトランジスタT33、及びP型MOSトランジスタT34は、オフ状態であっても、リーク電流I31が流れる。リーク電流I31は、オフ状態であっても常に流れている。
【0055】
キャパシタC3は、接続点J32を介して接続点J33と接続されている。P型MOSトランジスタT33、及びP型MOSトランジスタT34にリーク電流I31が流れると、キャパシタC3には電荷が溜まる。したがって、LIFニューロン回路3では、P型MOSトランジスタT33、及びP型MOSトランジスタT34を流れるリーク電流I31によって、キャパシタC3が充電される。つまり、キャパシタC3は、MOSトランジスタであるP型MOSトランジスタT33、及びP型MOSトランジスタT34のリーク電流I31によって充電される。キャパシタC3は、充電部に含まれる。
【0056】
キャパシタC3に電荷が溜まり、キャパシタC3の電圧が上昇することに応じて接続点J32の電圧V3が上昇する。つまり、キャパシタC3の電圧がCMOSインバータ(P型MOSトランジスタT33、及びN型MOSトランジスタT35)に入力される。接続点J32の電圧がインバータD31の閾値を超えると、インバータD31から、接続点J32の電圧V3に応じた信号がその極性が反転されて出力される。
【0057】
インバータD32、インバータD33、及びインバータD34は、この順に直列に備えられる。インバータD32は、接続点J34に接続され、インバータD34は、接続点J35に接続される。インバータD31から出力される信号は、インバータD32、インバータD33、及びインバータD34の3つインバータによって反転されてインバータD34から出力される。
インバータD34から出力されるパルス信号は、接続点J35に出力端子OUT3から出力パルス信号OP3として出力される。出力パルス信号OP3は、
図1に示す出力パルス信号OP1に相当する。
【0058】
N型MOSトランジスタT35は、そのソースが接続点J33に接続され、そのゲートが接続点J35に接続され、そのドレインが接地される。インバータD34から出力される出力パルス信号OP3が短時間だけハイとなると、N型MOSトランジスタT35は当該短時間だけオンとなる。N型MOSトランジスタT35がオンとなると、キャパシタC3に溜まっている電荷が流れ出ることによって、N型MOSトランジスタT35にはソースからドレインの向きに電流I32が流れる。N型MOSトランジスタT35に電流I32が流れることによって、キャパシタC3の電圧はリセットされる。
【0059】
ここで接続点J31、接続点J32、及び接続点J33をまとめてノードという。したがって、電圧V3はノードの電圧である。
図4に示すノードの電圧V3の値は、P型MOSトランジスタT33及びP型MOSトランジスタT34のリーク電流I31により電荷が溜まることによって上昇する。リーク電流I31による電圧V3の値の上昇の仕方は、当該値を時間の関数として表した場合に上に凸な緩やかな増加関数となる。
【0060】
ノードの電圧V3がインバータD31の閾値を超えてインバータD31から反転された信号が出力されると、電圧V3は急激に上昇する。インバータD31から出力される信号が、インバータD32、インバータD33、及びインバータD34の3つのインバータによって反転されながら要する時間だけ遅れて、N型MOSトランジスタT35がオンとなる。N型MOSトランジスタT35がオンとなると、キャパシタC3はリセットされて、電圧V3の値は急激に減少する。
【0061】
上述したノードの電圧V3がインバータD31の閾値を超えることによる電圧V3の急激な上昇と、キャパシタC3がリセットされることによる電圧V3の急激な減少によって、電圧V3の時間変化にはピークが形成される。出力パルス信号OP3がハイとなる時期は、ノードの電圧V3の時間変化の当該ピークに対応する。
【0062】
ここで上述したように、P型MOSトランジスタT33とN型MOSトランジスタT35とは、電源端子と接地端子との間に直列接続されている。P型MOSトランジスタT33とN型MOSトランジスタT35とは、CMOSインバータとして備えられる。
インバータD31は、CMOSインバータからの出力を反転させた反転信号を生成する。インバータD31は、反転器の一例である。
【0063】
P型MOSトランジスタT34は、P型MOSトランジスタT33とN型MOSトランジスタT35との間に配置されインバータD31が生成する反転信号に応じて開閉する。P型MOSトランジスタT34は、スイッチング素子の一例である。
【0064】
インバータD32、インバータD33、及びインバータD34は、CMOSインバータ(P型MOSトランジスタT33、及びN型MOSトランジスタT35)からの出力を遅延させて再び当該CMOSインバータに入力する。インバータD32、インバータD33、及びインバータD34は、遅延回路の一例である。
【0065】
インバータD31、P型MOSトランジスタT34、インバータD32、インバータD33、及びインバータD34は、パルス信号生成部に含まれる。パルス信号生成部は、反転器(インバータD31)と、スイッチング素子(P型MOSトランジスタT34)と、遅延回路(インバータD32、インバータD33、及びインバータD34)とを含む。パルス信号生成部は、充電部の充電量が閾値を超えると、パルス信号を生成し、かつ当該充電部の充電量をリセットする。
【0066】
また、出力端子OUT3は、第3出力端子の一例である。第3出力端子は、パルス信号生成部が生成した出力パルス信号OP3を出力する。出力パルス信号OP3は、
図1に示した出力パルス信号OP1に相当し、後段のニューロンへと出力される。
【0067】
P型MOSトランジスタT31、及びN型MOSトランジスタT32は、出力パルス信号OP3のパルス間隔を調整する。以下、P型MOSトランジスタT31、及びN型MOSトランジスタT32による出力パルス信号OP3のパルス間隔の調整について説明する。
【0068】
入力端子IN31には、入力パルス信号IP31が入力される。
図4に示すように入力パルス信号IP31は、所定の周期において短時間だけローになる矩形波である。入力端子IN31は、第2ブロック回路(重み調整回路4)から出力される出力パルス信号OP4(換言すれば、
図1に示すパルス信号MP3)が入力される第3入力端子の一例である。
P型MOSトランジスタT31は、そのソースが電源端子P31に接続され、そのゲートが入力端子IN31に接続され、そのドレインが接続点J31に接続される。
【0069】
P型MOSトランジスタT31は、そのゲートに入力される入力パルス信号IP31が短時間だけローになると、当該短時間だけオンとなる。P型MOSトランジスタT31がオンとなると、P型MOSトランジスタT31には、ソースからドレインの向きに電流I33が流れる。P型MOSトランジスタT31に電流I33が流れることによって、キャパシタC3に電荷が溜まる。上述したように、キャパシタC3には、P型MOSトランジスタT33及びP型MOSトランジスタT34を流れるリーク電流I31によっても電荷が溜まる。したがって、P型MOSトランジスタT31がオンとなることによって、キャパシタC3には、P型MOSトランジスタT31がオフとなっている場合に比べてより多くの電荷が溜まる。
【0070】
入力端子IN32には、入力パルス信号IP32が入力される。
図4に示すように入力パルス信号IP32は、所定の周期において短時間だけハイになる矩形波である。入力端子IN32は、第2ブロック回路(重み調整回路4)から出力される出力パルス信号OP1が入力される第3入力端子の一例である。
N型MOSトランジスタT32は、そのソースが接続点J31に接続され、そのゲートが入力端子IN32に接続され、そのドレインが接地される。
【0071】
N型MOSトランジスタT32は、そのゲートに入力される入力パルス信号IP32が短時間だけハイになると、当該短時間だけオンとなる。N型MOSトランジスタT32がオンとなると、N型MOSトランジスタT32には、ソースからドレインの向きに電流I34が流れる。N型MOSトランジスタT32に電流I34が流れることによって、キャパシタC3から電荷が流出する。したがって、N型MOSトランジスタT32がオンとなることによって、キャパシタC3には、N型MOSトランジスタT32がオフとなっている場合に比べてより少ない電荷が溜まる。
【0072】
上述したように、N型MOSトランジスタT32は、抑制性の入力を示す入力パルス信号IP32に応じて開閉することによって閉状態において入力パルス信号IP32の電荷をディスチャージさせる。N型MOSトランジスタT32は、第2ローサイドスイッチング素子の一例である。入力パルス信号IP32は、第2入力パルス信号の一例である。
【0073】
また、P型MOSトランジスタT31は、興奮性の入力を示す入力パルス信号IP31に応じて開閉することによって、入力パルス信号IP31を示すパルス電圧を生成する。P型MOSトランジスタT31は、第2ハイサイドスイッチング素子の一例である。入力パルス信号IP31は、第1入力パルス信号の一例である。
【0074】
上述したように、P型MOSトランジスタT31またはN型MOSトランジスタT32へのパルス信号の入力によって、キャパシタC3に溜まる電荷は増減する。キャパシタC3に溜まる電荷が増減すると、ノードの電圧V3は変化する。また、出力端子OUT3から出力される出力パルス信号OP3は、電圧V3がインバータD31の閾値を超えるとハイとなる。P型MOSトランジスタT31またはN型MOSトランジスタT32へのパルス信号の入力によりノードの電圧V3を変化させることによって、電圧V3がインバータD31の閾値を超える時期を調整することができる。出力パルス信号OP3のパルス間隔は、電圧V3がインバータD31の閾値を超える時期に応じて決まっている。
【0075】
したがって、LIFニューロン回路3では、入力される入力パルス信号IP31または入力パルス信号IP32によって、出力される出力パルス信号OP3のパルス間隔を調整できる。換言すれば、LIFニューロン回路3では、入力される入力パルス信号IP31または入力パルス信号IP32によって、出力される出力パルス信号OP3の出力頻度を増減させることができる。入力パルス信号IP31は、興奮性パルスに相当する。入力パルス信号IP32は、抑制性パルスに相当する。
【0076】
上述したようにキャパシタC3は、入力パルス信号(入力パルス信号IP31または入力パルス信号IP32)を示すパルス電圧によってチャージされる。キャパシタC3は、第3入力端子(入力端子IN31または入力端子IN32)に入力される出力パルス信号OP4(つまり、入力パルス信号IP31または入力パルス信号IP32)を示すパルス電圧によってチャージされる第2キャパシタの一例である。
【0077】
ここで、入力パルス信号IP31、または入力パルス信号IP32は、LIFニューロン回路3の前段に備えられる重み調整回路4から出力される出力パルス信号OP4である。例えば、LIFニューロン回路3の前段に2つの重み調整回路4が備えられ、一方の重み調整回路4から入力パルス信号IP31が入力され、他方の重み調整回路4から入力パルス信号IP32が入力される。なお、それらの重み調整回路4の前段にはそれぞれシナプス素子回路2が備えられる。
【0078】
したがって、パルス信号生成部が出力パルス信号OP3を生成する頻度は、第3入力端子(入力端子IN31、または入力端子IN32)に重み調整回路4から出力される出力パルス信号OP4が入力される頻度に応じて増減する。
【0079】
なお、LIFニューロン回路3の構成から、P型MOSトランジスタT31、またはN型MOSトランジスタT32のいずれか一方は省略されてもよい。例えば、LIFニューロン回路3によってパルス間隔を短くするだけであれば、P型MOSトランジスタT31が備えられれば十分である。一方、LIFニューロン回路3によってパルス間隔を長くするだけであれば、N型MOSトランジスタT32が備えられれば十分である。
【0080】
なお、出力パルス信号OP3のパルス間隔は、LIFニューロン回路3に備えられるトランジスタ(P型MOSトランジスタT31、N型MOSトランジスタT32、P型MOSトランジスタT33、P型MOSトランジスタT34、及びN型MOSトランジスタT35)の大きさ(サイズ)にも依存している。したがって、LIFニューロン回路3に備えられるトランジスタの大きさを調整することによって、LIFニューロン回路3から出力される出力パルス信号OP3のパルス間隔は調整できる。ただし、トランジスタの大きさはLIFニューロン回路3を組み立てた時点において決まるため、トランジスタの大きさによるパルス間隔の調整は、LIFニューロン回路3を組み立てる時期においてなされる調整である。
【0081】
なお、リーク電流I31の大きさは、P型MOSトランジスタT31を流れる電流I33の大きさ、またはN型MOSトランジスタT32を流れる電流I34の大きさに比べて非常に小さい。
また、P型MOSトランジスタT31、及びN型MOSトランジスタT32にも、オフ状態であってもリーク電流が流れる。キャパシタC3に溜まる電荷は、P型MOSトランジスタT31、及びN型MOSトランジスタT32それぞれに流れるリーク電流によっても増減する。P型MOSトランジスタT31に流れるリーク電流によって、キャパシタC3には電荷が溜まる。N型MOSトランジスタT32に流れるリーク電流によって、キャパシタC3からは電荷が流出する。
【0082】
モジュール回路1では、LIFニューロン回路3を備えることによって、入力パルス信号(
図1に示す入力パルス信号IP1)のパルス間隔と、出力パルス信号(
図1に示す出力パルス信号OP1)のパルス間隔との関係は非線形な関係となる。
【0083】
なお、モジュール回路1の構成からLIFニューロン回路3が省略されてもよい。その場合、第2入力端子である入力端子IN4には、シナプス素子回路2から出力される出力パルス信号OP2が直接入力される。
【0084】
また、上述したように、シナプス素子回路2の構成からローサイドスイッチング素子の構成は省略されてもよい。本実施形態では、シナプス素子回路2がローサイドスイッチング素子を備えることによって、シナプス素子回路2には、抑制性の入力を示す入力パルス信号IP22を入力することができる。そのため、ローサイドスイッチング素子の構成を備えるシナプス素子回路2では、モジュール回路1の構成からLIFニューロン回路3が省略される場合であっても、シナプス素子回路2に入力されるパルスの頻度と幅が大きいほど、出力されるパルスの頻度が小さくなるようにすることができる。
【0085】
これによって、モジュール回路1の構成からLIFニューロン回路3が省略される場合であっても、後述するようにモジュール回路1をニューラルネットワークに適用する場合に、ニューラルネットワークとしての動作を安定させることができる。なお、本実施形態では、ニューラルネットワークとしての動作を安定させる機能は、LIFニューロン回路3によって担われている。
【0086】
[レザバー回路及びスパイキングニューラルネットワークへの適用]
次に
図5から
図11を参照し、LIF素子であるモジュール回路1をレザバー回路及びスパイキングNN(Neural Network)への適用例について説明する。
図5は、本実施形態に係るレザバー回路N1の構成の一例を示す図である。レザバー回路N1は、一例として、入力層と、中間層と、出力層との3層からなる。入力層には、LIF素子M11と、LIF素子M12と、LIF素子M13と、LIF素子M14とが備えられる。中間層には、LIF素子M21と、LIF素子M22と、LIF素子M23とが備えられる。出力層には、LIF素子M31と、LIF素子M32と、LIF素子M33と、LIF素子M34とが備えられる。これらのLIF素子(LIF素子M11、LIF素子M12、・・・、LIF素子M34)はそれぞれが、
図1に示したモジュール回路1と同様の構成を有する。つまり、レザバー回路N1は、モジュール回路1を複数備えるレザバー回路である。
【0087】
ここで、例えば、入力層に備えられるLIF素子M11、及びLIF素子M12と、中間層に備えられるLIF素子M21とに着目する。LIF素子M11に備えられる出力端子OUT3(
図4)と、LIF素子M21に備えられる入力端子IN21または入力端子IN22(
図2)とが接続される。LIF素子M12に備えられる出力端子OUT3(
図4)と、LIF素子M21に備えられる入力端子IN21または入力端子IN22(
図2)とが接続される。これらによって、LIF素子M11及びLIF素子M12からそれぞれ出力される出力パルス信号OP3は、LIF素子M21に入力パルス信号IP21または入力パルス信号IP22として入力される。
したがって、1以上のモジュール回路1それぞれに備えられる出力端子OUT3と1つのモジュール回路1に備えられる入力端子IN21または入力端子IN22とが接続される。
【0088】
一方、例えば、入力層に備えられるLIF素子M12と、中間層に備えられるLIF素子M21、及びLIF素子M22とに着目する。LIF素子M12に備えられる出力端子OUT3(
図4)と、LIF素子M21に備えられる入力端子IN21または入力端子IN22(
図2)とが接続される。LIF素子M12に備えられる出力端子OUT3(
図4)と、LIF素子M22に備えられる入力端子IN21または入力端子IN22(
図2)とが接続される。これらによって、LIF素子M12から出力される出力パルス信号OP3は、LIF素子M21、及びLIF素子M22それぞれに入力パルス信号IP21または入力パルス信号IP22として入力される。
したがって、1つのモジュール回路1に備えられる出力端子OUT3と1以上のモジュール回路1それぞれに備えられる入力端子IN21または入力端子IN22とが接続される。
【0089】
次に、1つのシナプス素子回路2と、1つの重み調整回路4と、1つのLIFニューロン回路3とがこの順に接続された場合について、動作確認を実施した結果を説明する。
図6は、本実施形態に係る1つのシナプス素子回路と、1つの重み調整回路と、1つのLIFニューロン回路とが接続された場合の動作確認結果の一例を示す図である。
図6に示す複数のグラフは、重み設定、興奮性パルス、ニューロン内積分端子、ニューロン出力パルス、シナプス内積分出力、積分結果読み出し、及びシナプス出力信号の各値の時間変化を示す。
図6に示す動作確認結果では、LIFニューロン回路3には、興奮性パルスのみが入力され抑制性パルスは入力されていない。
【0090】
重み設定は、重み調整回路4のデューティ比設定用データを示す。換言すれば、重み調整回路4に備えられるマルチプレクサM4(
図3)に対して、遅延ラインD42を構成する複数の遅延素子のいずれからパルス信号を取り出す遅延素子として選択するか指示する信号の値を示す。
興奮性パルスは、重み調整回路4に備えられる入力端子IN4に入力される入力パルス信号IP4の値を示す。興奮性パルスは、一定の周期、振幅、デューティ比で発生させたパルス信号である。
【0091】
ニューロン内積分端子は、LIFニューロン回路3に備えられるノード(接続点J31、接続点J32、及び接続点J33)の電圧V3の値を示す。ノードの電圧V3の値は、上述したようにキャパシタC3の電圧の値と等しい。
ニューロン出力パルスは、LIFニューロン回路3に備えられる出力端子OUT3から出力される出力パルス信号OP3の値を示す。
【0092】
シナプス内積分出力は、シナプス素子回路2に備えられるノード(接続点J21、接続点J22、及び接続点J23)の電圧V2の値を示す。ノードの電圧V2の値は、上述したようにキャパシタC2の電圧の値と等しい。
積分結果読み出しは、シナプス素子回路2に備えられる出力端子OUT21から出力される信号の値を示す。
シナプス出力信号は、シナプス素子回路2に備えられる出力端子OUT22から出力される出力パルス信号OP2の値を示す。
【0093】
シナプス内積分出力、または積分結果読み出しの時間変化から、シナプス素子回路2が、LIF素子として機能していることがわかる。
【0094】
図6に示す動作確認結果によれば、LIFニューロン回路3における平均消費電力は、2.5nW(ナノワット)であった。シナプス素子回路2における平均消費電力は、3.0nWであった。
【0095】
図7は、本実施形態に係る1つのシナプス素子回路と、1つの重み調整回路と、1つのLIFニューロン回路とが接続された場合の動作確認結果の一例を示す図である。
図7に示す複数のグラフは、興奮性パルス、抑制性パルス、シナプス内積分出力、積分結果読み出し、シナプス出力信号、ニューロン内積分端子、及びニューロン出力パルスの各値の時間変化を示す。
図7に示す動作確認結果では、LIFニューロン回路3には、興奮性パルスと、抑制性パルスとが入力される。
【0096】
興奮性パルスは、重み調整回路4に備えられる入力端子IN4に入力される入力パルス信号IP31の値を示す。興奮性パルスは、一定の周期、振幅、デューティ比で発生させたパルス信号である。
抑制性パルスは、重み調整回路4に備えられる入力端子IN32に入力される入力パルス信号IP32の値を示す。抑制性パルスは、一定の周期、振幅、デューティ比で発生させたパルス信号である。
他のシナプス内積分出力、積分結果読み出し、シナプス出力信号、ニューロン内積分端子、及びニューロン出力パルスの各値の意味については、
図6と同様であるため説明を省略する。
【0097】
シナプス内積分出力、積分結果読み出し、シナプス出力信号、ニューロン内積分端子、及びニューロン出力パルスの各値の時間変化は、
図7に示す動作確認結果ではLIFニューロン回路3に興奮性パルスと、抑制性パルスとが入力されているために
図6に示した時間変化とは異なっている。
【0098】
抑制性パルスが入力されている期間においては、ニューロン出力パルスは常にローとなっている。また、興奮性パルスのパルス間隔が短い期間においては、ニューロン出力パルスのパルス間隔が短くなっている。つまり、上述したようにLIFニューロン回路3では、興奮性パルスである入力パルス信号IP31、または抑制性パルスである入力パルス信号IP32によって出力パルス信号OP3の出力頻度を増減させることができる。
【0099】
次に、LIF素子であるモジュール回路1によって構成されるスパイキングNNの動作確認結果について説明する。
図8は、本実施形態に係るスパイキングNNの動作確認結果の一例を示す図である。当該スパイキングNNは、一例として、4つのモジュール回路1から構成される。
図8に示す複数のグラフは、スパイク出力、積分出力、及びVCO(Voltage-controlled oscillator)出力の各値の時間変化を示す。
図8に示す複数のグラフは、4つのモジュール回路1それぞれについてのスパイク出力、積分出力、及びVCO出力の各値を示す。
【0100】
スパイク出力は、LIFニューロン回路3に備えられる出力端子OUT3から出力される出力パルス信号OP3の値を示す。
積分出力は、シナプス素子回路2に備えられるノード(接続点J21、接続点J22、及び接続点J23)の電圧V2の値を示す。4つのモジュール回路1それぞれについて、4つの積分出力は互いに異なっている。当該4つの積分出力を調整することによって、4つのモジュール回路1は、スパイキングNNとして動作させることができる。
VCO出力は、シナプス素子回路2に備えられる出力端子OUT22から出力される出力パルス信号OP2の値を示す。
【0101】
次に、上述したスパイキングNNによって学習を実施した結果について説明する。
図9は、本実施形態に係るシナプス出力信号の時間変化の一例を示す図である。当該シナプス出力信号は、シナプス素子回路2に備えられる出力端子OUT21から出力される出力パルス信号OP2の値を示す。
【0102】
図9には、シナプス出力信号とともに、教師信号が示されている。教師信号は、シナプス出力信号の値が当該教師信号の値に近くなるようにする学習のための信号である。教師信号は、
図9において「RLS on」として示される時期から「off」として示される時期までの期間において入力される。
【0103】
シナプス出力信号のグラフは、教師信号が入力されている期間では、当該教師信号のグラフとほぼ重なっている。シナプス出力信号のグラフは、教師信号の入力が終了した後の期間(「off」として示される時期より後の期間)において、教師信号が入力されている期間と同様の時間変化を示している。つまり、シナプス出力信号のグラフは、教師信号によって教師信号のグラフと同様の時間変化をするように変化している。つまり、モジュール回路1から構成されるスパイキングNNによって学習が実現可能であることがわかる。
【0104】
図10は、本実施形態に係るニューロン電圧の時間変化の一例を示す図である。ニューロン電圧は、上述したニューロン内積分端子(
図6、
図7)と同様に、LIFニューロン回路3に備えられるノード(接続点J31、接続点J32、及び接続点J33)の電圧V3の値を示す。
【0105】
図11は、本実施形態に係るシナプス電流の時間変化の一例を示す図である。シナプス電流は、上述したシナプス内積分出力(
図6、
図7)と同様に、シナプス素子回路2に備えられるノード(接続点J21、接続点J22、及び接続点J23)の電圧V2の値を示す。
【0106】
以上に説明したように、本実施形態に係るモジュール回路1は、第1ブロック回路(本実施形態において、シナプス素子回路2)と、第2ブロック回路(本実施形態において、重み調整回路4)と、を備える。
第1ブロック回路(本実施形態において、シナプス素子回路2)は、第1入力端子(本実施形態において、入力端子IN21)と、保持部(本実施形態において、キャパシタC2)と、発振部(本実施形態において、リングオシレータO2)と、第1出力端子(本実施形態において、出力端子OUT22)と、を備える。
第1入力端子(本実施形態において、入力端子IN21)は、入力パルス信号IP1が入力される。
保持部(本実施形態において、キャパシタC2)は、入力パルス信号IP1の間隔、及び入力パルス信号IP1の幅に応じて所定期間の入力パルス信号IP1の平均値を保持する。
発振部(本実施形態において、リングオシレータO2)は、当該平均値に応じた頻度において出力パルス信号OP2を生成する。
第1出力端子(本実施形態において、出力端子OUT22)は、出力パルス信号OP2を出力する。
第2ブロック回路(本実施形態において、重み調整回路4)は、第2入力端子(本実施形態において、入力端子IN4)と、デューティ比調整器(本実施形態において、インバータD41、遅延ラインD42、及びマルチプレクサM4)と、第2出力端子(本実施形態において、出力端子OUT4)と、を備える。
第2入力端子(本実施形態において、入力端子IN4)は、第1ブロック回路(本実施形態において、シナプス素子回路2)から出力される出力パルス信号OP2が入力される。
デューティ比調整器(本実施形態において、インバータD41、遅延ラインD42、及びマルチプレクサM4)は、出力パルス信号OP2のデューティ比を調整する。
第2出力端子(本実施形態において、出力端子OUT4)は、デューティ比調整器(本実施形態において、インバータD41、遅延ラインD42、及びマルチプレクサM4)によって調整された出力パルス信号(本実施形態において、出力パルス信号OP4)を出力する。
【0107】
この構成により、本実施形態に係るモジュール回路1では、入力パルス信号の間隔、及びパルス信号の幅といった時間領域の情報に応じた頻度において出力パルス信号を出力できるため、LIF素子において低消費電力を実現できる。
【0108】
本実施形態に係るモジュール回路1は、ニューラルネットワーク等に用いられるニューロン素子の低消費電力な集積回路実装方式に関するものである。本実施形態に係るモジュール回路1では、電圧や電流を情報として使用せず、ローとハイとの2値のパルス信号の周期やパルス幅という、いわば時間領域の情報を用いることで低電力、低発熱、高度集積化を可能にする。本実施形態に係るモジュール回路1は、主にオフ状態のトランジスタに流れるリーク電流を利用し動作するため極低消費電力での動作が可能である。本実施形態に係るモジュール回路1は、低消費電力での動作が可能であるとともに、大きな容量を必要とせず、比較的小面積でミリ秒単位の時定数の実現が可能である。
【0109】
本実施形態に係るモジュール回路1は、従来のアナログ方式によるLIF素子とは異なり、雑音等に敏感なアナログ量を精緻に制御することなく、0または1の2値の電圧を遷移する時間を調整する。そのため、低電圧のプロセス技術においても実現が容易であり、先端プロセスへの親和性が高く、集積度を高められるメリットがある。
【0110】
(実施例)
以下では、本発明の実施例について説明する。以下に説明する実施例でそれぞれ用いたモジュール回路は、
図12に示すような半導体チップとして作成された。拡大領域R2は、当該半導体チップのうち長方形の領域R1を拡大した領域である。拡大領域R2は、長辺の長さが70μmであり、短辺の長さが30μmである。LIFニューロン回路の半導体チップの面積は、127mm
2である。シナプス素子回路の半導体チップの面積は、231mm
2である。重み調整回路の半導体チップの面積は、525mm
2である。
【0111】
以下に説明する実施例において、シナプス素子回路20の構成は、上述した実施形態に係るシナプス素子回路2の構成(
図2)と同様である。重み調整回路40の構成は、上述した実施形態に係る重み調整回路4の構成(
図3)と同様である。LIFニューロン回路30の構成は、上述した実施形態に係るLIFニューロン回路3の構成(
図4)と同様である。そのため、以下に説明する実施例では、上述した実施形態において用いた各符号を用いて説明する場合がある。
【0112】
(第1実施例)
第1実施例では、1つの重み調整回路と、1つのLIFニューロン回路とが接続された場合の、実際に作製した回路での動作測定結果について説明する。
図13は、本実施例に係るモジュール回路10aの構成の一例を示す図である。モジュール回路10aは、パルスジェネレータ50と、重み調整回路40と、LIFニューロン回路30とを備える。パルスジェネレータ50と、重み調整回路40と、LIFニューロン回路30とは、この順に直列に接続されてモジュール回路10aに備えられる。
【0113】
パルスジェネレータ50は、入力パルス信号IP4として、100Hzの矩形波を生成する。パルスジェネレータ50によって生成された入力パルス信号IP4は、重み調整回路40の入力端子IN4に入力される。入力端子IN4に入力パルス信号IP4が入力されると、重み調整回路40の出力端子OUT4からは出力パルス信号OP4が出力される。重み調整回路40から出力される出力パルス信号OP4は、LIFニューロン回路30の入力端子IN31に入力される。LIFニューロン回路30の出力端子OUT3からは出力パルス信号OP3としてスパイク信号Vspikeが出力される。
【0114】
図14に、モジュール回路10aの動作測定結果として、モジュール回路10aから出力されるスパイク信号V
spikeの波形を示す。
図14(A)、
図14(B)、
図14(C)、及び
図14(D)はそれぞれ、重み調整回路40による出力パルス信号OP4のパルス幅の調整のための重みの値が1、2、4、及び8の場合のスパイク信号V
spikeの波形を示す。
図14に示すように当該重みが大きくなるほど、スパイク信号V
spikeのスパイクの周期が短くなることが確認できた。
【0115】
(第2実施例)
第2実施例では、2つの重み調整回路が、1つのLIFニューロン回路の2つの入力端子に接続された場合の、実際に作製した回路での動作測定結果について説明する。
図15は、本実施例に係るモジュール回路10bの構成の一例を示す図である。モジュール回路10bは、パルスジェネレータ51と、パルスジェネレータ52と、重み調整回路41と、重み調整回路42と、LIFニューロン回路30とを備える。パルスジェネレータ51と、重み調整回路41とはこの順に直列に接続される。パルスジェネレータ52と、重み調整回路42とはこの順に直列に接続される。直列に接続されたパルスジェネレータ51及び重み調整回路41と、直列に接続されパルスジェネレータ52及び重み調整回路42とが並列にLIFニューロン回路30に接続される。
【0116】
重み調整回路41、及び重み調整回路42それぞれの構成は、重み調整回路40の構成と同様である。パルスジェネレータ51、及びパルスジェネレータ52それぞれの構成は、パルスジェネレータ50の構成と同様である。パルスジェネレータ51によって生成された100Hzの矩形波である入力パルス信号IP4が重み調整回路41の入力端子IN4に入力され、重み調整回路41の出力端子OUT4からは出力パルス信号OP4として出力される。同様に、パルスジェネレータ52によって生成された100Hzの矩形波である入力パルス信号IP4が重み調整回路42の入力端子IN4に入力され、重み調整回路42の出力端子OUT4からは出力パルス信号OP4として出力される。
【0117】
重み調整回路41から出力される出力パルス信号OP4は、LIFニューロン回路30の入力端子IN31に、興奮性パルスである入力パルス信号IP31として入力される。一方、重み調整回路42から出力される出力パルス信号OP4は、LIFニューロン回路30の入力端子IN32に、抑制性パルスである入力パルス信号IP32として入力される。LIFニューロン回路30の出力端子OUT3からは出力パルス信号OP3としてスパイク信号Vspikeが出力される。
【0118】
図16に、モジュール回路10bの動作測定結果として、モジュール回路10bから出力されるスパイク信号V
spikeの波形を示す。
図16(A)は、入力端子IN31には信号が入力されず、入力端子IN32に抑制性パルス(入力パルス信号IP32)が入力された場合のスパイク信号V
spikeの波形を示す。
図16(B)は、入力端子IN31、及び入力端子IN32のいずれにも信号が入力されない場合のスパイク信号V
spikeの波形を示す。
図16(C)は、入力端子IN31には興奮性パルス(入力パルス信号IP31)が入力され、入力端子IN32には信号が入力されない場合のスパイク信号V
spikeの波形を示す。
図16(B)に示すように、LIFニューロン回路30は、信号が入力されなくても、定期的に出力端子OUT3にスパイク信号V
spikeを出力している。
図16(A)に示すように、入力端子IN32から抑制性パルスが入力された場合、当該スパイク信号V
spikeの周期が長くなる。一方、
図16(C)に示すように、入力端子IN31から興奮性パルスが入力された場合、当該スパイク信号V
spikeの周期が短くなる。
【0119】
(第3実施例)
第3実施例では、第2実施例に係るモジュール回路がシナプス回路に接続された場合の、実際に作製した回路での動作測定結果について説明する。
図17は、本実施例に係るモジュール回路10cの構成の一例を示す図である。モジュール回路10cの構成と、第2実施例に係るモジュール回路10b(
図15)の構成とを比較すると、シナプス素子回路20が異なる。モジュール回路10cでは、LIFニューロン回路30にシナプス素子回路20が直列に接続されている。
【0120】
LIFニューロン回路30の出力端子OUT3から出力されるスパイク信号Vspikeは、シナプス素子回路20の入力端子IN22に入力される。シナプス素子回路20の出力端子OUT22からは、リングオシレータO2によって生成されたパルス信号Vringが出力パルス信号OP2として出力される。
【0121】
図18に、モジュール回路10cの動作測定結果として、モジュール回路10cから出力されるパルス信号V
ringの波形を示す。
図18(A)は、入力端子IN31には信号が入力されず、入力端子IN32に抑制性パルス(入力パルス信号IP32)が入力された場合のパルス信号V
ringの波形を示す。
図16(B)は、入力端子IN31、及び入力端子IN32のいずれにも信号が入力されない場合のパルス信号V
ringの波形を示す。
図16(C)は、入力端子IN31には興奮性パルス(入力パルス信号IP31)が入力され、入力端子IN32には信号が入力されない場合のパルス信号V
ringの波形を示す。
図18(B)に示すように、シナプス素子回路20は、LIFニューロン回路30が出力するスパイク信号V
spikeに応じて定期的にパルス信号V
ringとして矩形波を出力している。
図18(A)に示すように、入力端子IN32から抑制性パルスが入力された場合、当該矩形波の周波数が小さくなる。一方、
図18(C)に示すように、入力端子IN31から興奮性パルスが入力された場合、当該矩形波の周波数が大きくなる。
【0122】
(第4実施例)
第4実施例では、1つの重み調整回路と、1つのシナプス回路とが接続された場合の、実際に作製した回路での動作測定結果について説明する。
図19は、本実施例に係るモジュール回路10dの構成の一例を示す図である。モジュール回路10dは、パルスジェネレータ50と、重み調整回路40と、シナプス素子回路20とを備える。パルスジェネレータ50と、重み調整回路40と、シナプス素子回路20とは、この順に直列に接続されてモジュール回路10dに備えられる。
【0123】
パルスジェネレータ50は、入力パルス信号IP4として、10Hzの矩形波を生成する。パルスジェネレータ50によって生成された入力パルス信号IP4は、重み調整回路40の入力端子IN4に入力される。入力端子IN4に入力パルス信号IP4が入力されると、重み調整回路40の出力端子OUT4からは出力パルス信号OP4が出力される。重み調整回路40から出力される出力パルス信号OP4は、シナプス素子回路20の入力端子IN22に入力される。シナプス素子回路20の出力端子OUT21からは、シナプス電位信号VSYNが信号(積分結果読み出し)として出力される。一方、シナプス素子回路20の出力端子OUT22からは、パルス信号Vringが出力される。
【0124】
図20に、モジュール回路10dの動作測定結果として、モジュール回路10dから出力されるシナプス電位信号V
SYNの波形、及びパルス信号V
ringの波形を示す。
図20(A)は、シナプス電位信号V
SYNの波形を示す。
図20(B)は、パルス信号V
ringの波形を示す。
図20(A)に示すように、モジュール回路10dでは、入力端子IN22に入力があると、まず、シナプス電位信号V
SYNが瞬間的に増加し、その後、シナプス電位信号V
SYNはゆっくりと減少する。一方、
図20(B)に示すように、パルス信号V
ringは、シナプス電位信号V
SYNの電圧に応じて周波数が変調された矩形波として出力される。入力端子IN22への入力に応じてシナプス電位信号V
SYNが増加すると、パルス信号V
ringの周波数は大きくなる。入力端子IN22に入力がないと、シナプス電位信号V
SYNは減少し、パルス信号V
ringの周波数は小さくなる。
【0125】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【符号の説明】
【0126】
1…モジュール回路、2…シナプス素子回路、4…重み調整回路、IN2…入力端子、C2…キャパシタ、O2…リングオシレータ、OUT22…出力端子、IN4…入力端子、D41…インバータ、D42…遅延ライン、M4…マルチプレクサ、OUT4…出力端子、IP1…入力パルス信号、OP2、OP4…出力パルス信号