(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022110564
(43)【公開日】2022-07-29
(54)【発明の名称】ニューロン素子、ADコンバータ及びニューラルネットワーク
(51)【国際特許分類】
G06N 3/063 20060101AFI20220722BHJP
G06G 7/60 20060101ALI20220722BHJP
【FI】
G06N3/063
G06G7/60
【審査請求】有
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2021006051
(22)【出願日】2021-01-18
(11)【特許番号】
(45)【特許公報発行日】2022-02-14
(71)【出願人】
【識別番号】591071230
【氏名又は名称】株式会社ソリトンシステムズ
(74)【代理人】
【識別番号】100115716
【弁理士】
【氏名又は名称】山本 隆雄
(72)【発明者】
【氏名】橋元 謙一
(72)【発明者】
【氏名】高村 和久
(72)【発明者】
【氏名】梶原 邦弘
(72)【発明者】
【氏名】林 輝彦
(57)【要約】
【課題】入力信号の情報欠落及び消費電力を抑制することができるニューロン素子、差動型のニューロン素子、ADコンバータ及びニューラルネットワークを提供する。
【解決手段】ニューロン素子10は、入力信号によって電荷が蓄積される電荷蓄積部12と、電荷蓄積部12に蓄積された電荷が第1の所定量を超えた場合に、電荷蓄積部12から第2の所定量の電荷を排出する電荷排出部13と、パルス信号を生成するパルス信号生成部14と、を備えている。
【選択図】
図1
【特許請求の範囲】
【請求項1】
入力信号によって電荷が蓄積される第1の電荷蓄積部と、
前記第1の電荷蓄積部に蓄積された電荷が第1の所定量を超えた場合に、前記第1の電荷蓄積部から第2の所定量の電荷を排出し、パルス信号を生成する信号処理部と、
を備えたニューロン素子。
【請求項2】
前記信号処理部は、前記パルス信号を生成するパルス信号生成部と、前記パルス信号生成部で生成された前記パルス信号に基づいて、前記第1の電荷蓄積部から前記第2の所定量の電荷を排出する電荷排出部と、を備える
請求項1に記載のニューロン素子。
【請求項3】
前記電荷排出部は、前記第1の電荷蓄積部と並列に接続されており、前記パルス信号生成部により前記パルス信号が生成される期間に所定の電流を流すことによって、前記第1の電荷蓄積部から前記第2の所定量の電荷を排出する定電流源と、前記第1の電荷蓄積部に蓄積された電荷が前記第1の所定量を超えたと判定したときにオン信号を出力する判定部と、を更に備え、
前記パルス信号生成部は、前記判定部から前記オン信号が入力される期間に、所定のデューティ比の前記パルス信号を生成する
請求項2に記載のニューロン素子。
【請求項4】
前記入力信号の最大瞬間入力電流をImax、前記第1の電荷蓄積部の静電容量をCA、前記第1の所定量を検出するための閾値電圧をVth、電源電圧をVDD、前記第1の電荷蓄積部で発生する電圧が前記閾値電圧Vthを超えた時点から前記定電流源が前記所定の電流を流す時点までの遅延時間をDcmpとした場合に、
Dcmp<CA・VDD/Imax
を満たす
請求項3に記載のニューロン素子。
【請求項5】
前記信号処理部は、前記第1の電荷蓄積部から前記第2の所定量の電荷を排出する電荷排出部と、前記電荷排出部によって排出された電荷に基づいて前記パルス信号を生成するパルス信号生成部と、を備える
請求項1に記載のニューロン素子。
【請求項6】
前記電荷排出部は、第2の電荷蓄積部と、前記第1の電荷蓄積部に蓄積された電荷が前記第1の所定量を超えたと判定したときに第1の選択信号を出力し、前記第1の電荷蓄積部に蓄積された電荷が前記第1の所定量を下回ったと判定したときに第2の選択信号を出力する判定部と、前記判定部から前記第1の選択信号が出力された場合に、前記第1の電荷蓄積部と前記第2の電荷蓄積部とが並列接続するように切り替え、前記判定部から前記第2の選択信号が出力された場合に、前記パルス信号生成部に相当する負荷抵抗と前記第2の電荷蓄積部とが並列接続するように切り替える接続切替部と、を更に備え、
前記負荷抵抗は、前記接続切替部によって前記第2の電荷蓄積部と並列接続したときに、前記第2の電荷蓄積部に蓄積された電荷に基づいて前記パルス信号に相当する電圧信号を生成する
請求項5に記載のニューロン素子。
【請求項7】
前記入力信号の最大瞬間入力電流をImax、前記第1の電荷蓄積部の静電容量をCA、前記第1の所定量を検出するための閾値電圧をVth、電源電圧をVDD、前記第2の電荷蓄積部の静電容量をCB、前記負荷抵抗の抵抗値をR、前記第1の電荷蓄積部で発生する電圧が前記閾値電圧Vthを跨いだ時点から前記接続切替部による前記切り替えが実行される時点までの遅延時間をDcmpとした場合に、
Dcmp<(CA・CB)/(CA+CB)(VDD/Imax-R)
を満たす
請求項6に記載のニューロン素子。
【請求項8】
第1の入力信号と、前記第1の入力信号の極性を反転させた第2の入力信号によって電荷が蓄積される電荷蓄積部と、
前記電荷蓄積部に蓄積された電荷が第1の所定量を超えた場合に、前記電荷蓄積部から第2の所定量の電荷を排出し、第1のパルス信号及び当該第1のパルス信号の極性を反転させた第2のパルス信号を生成する信号処理部と、
を備えた差動型のニューロン素子。
【請求項9】
入力信号によって電荷が蓄積される電荷蓄積部と、
前記電荷蓄積部に蓄積された電荷が第1の所定量を超えた場合に、前記電荷蓄積部から第2の所定量の電荷を排出し、パルス信号を生成する信号処理部と、
前記信号処理部により生成された前記パルス信号に所定のデジタル処理を実施するデジタルフィルタと、
を備えたADコンバータ。
【請求項10】
請求項1から請求項8のいずれか1項に記載の複数のニューロン素子を備え、
任意の前記ニューロン素子の入力信号は、少なくとも1つの外部入力信号及び少なくとも1つの他の前記ニューロン素子の出力信号の中から、少なくともいずれか1つについて重みづけ加算処理された信号であり、
前記任意の前記ニューロン素子の出力信号は、外部出力信号又は重みづけ処理を経て少なくとも1つの他の前記ニューロン素子の入力信号の少なくともいずれか1つとなる
ニューラルネットワーク。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ニューロン素子、差動型のニューロン素子、ADコンバータ及びニューラルネットワークに関する。
【背景技術】
【0002】
従来、重み付けされた入力スパイク信号から動作信号を生成するように構成されたシナプスと、当該動作信号の入力によって生成された膜信号の電圧と所定の閾値との比較に基づいて出力スパイク信号を生成するように構成されたニューロンとで構成されるスパイクニューラルネットワーク回路が開示されている(特許文献1参照)。
【0003】
特許文献1では、当該動作信号は電流信号として与えられ、各ニューロンは、前段の複数のニューロンから入力される当該電流信号によって内部キャパシタが充電された結果、当該内部キャパシタに電圧が発生し、その電圧が所定の閾値を超えた時に出力スパイク信号を発生させるといった振る舞いをする。
【0004】
また、ΔΣ変調を用いてアナログ信号をデジタル信号に変換するADコンバータが知られている(非特許文献1及び非特許文献2参照)。
【0005】
図15は、従来のΔΣ変調型ADコンバータの基本構成を示す回路図である。
ΔΣ変調型ADコンバータは、入力アナログ入力信号にΔΣ変調を実施し、1ビット変調パルス信号を生成するΔΣ変調部と、当該変調パルス信号を受信し、例えば時間軸上の所定範囲のパルスの受け数を数えてnビットの出力デジタル信号へと変換するデジタルフィルタと、を備えている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】米国特許出願公開第2020/0160146号明細書
【非特許文献1】谷口研二,“LSI設計のためのCMOSアナログ回路入門”,CQ出版、2004年12月1日
【非特許文献2】“デルタ・シグマADCの基礎:デルタ・シグマ変調器について”,[ONLINE],[令和3年1月12日検索],インターネット<https://e2e.ti.com/blogs_/japan/b/analog/archive/2017/02/03/1-adc>
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1の技術では、搭載されている内部キャパシタは高々1つである。その結果、当該内部キャパシタに、その電荷蓄積量の上限を超える電荷が流れ込んだ場合、当該内部キャパシタから溢れる電荷が廃棄される。すなわち、特許文献1の技術には、所定の閾値を超える電流が入力された場合、入力電流の過剰分に相当する電荷がすべて廃棄されてしまうことから、廃棄された電荷に相当する情報が欠落する問題がある。
【0008】
非特許文献1又は非特許文献2のΔΣ変調型ADコンバータは、基準値近傍のパルス密度が高くなる。したがって、ΔΣ変調型ADコンバータは、例えば基準値がゼロVに設定された場合、入力アナログ信号がほとんどない場合であっても高パルス密度の変調パルス信号を生成する必要がある。すなわち、ΔΣ変調型ADコンバータには、入力信号がほとんどない状態であっても、徒に電力を消費してしまう問題がある。
【0009】
本発明は、このような実情を鑑みて提案されたものであり、入力信号の情報欠落及び消費電力を抑制することができるニューロン素子、差動型のニューロン素子、ADコンバータ及びニューラルネットワークを提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明に係るニューロン素子は、入力信号によって電荷が蓄積される第1の電荷蓄積部と、前記第1の電荷蓄積部に蓄積された電荷が第1の所定量を超えた場合に、前記第1の電荷蓄積部から第2の所定量の電荷を排出し、パルス信号を生成する信号処理部と、を備えている。
【0011】
本発明に係る差動型のニューロン素子は、第1の入力信号と、前記第1の入力信号の極性を反転させた第2の入力信号によって電荷が蓄積される電荷蓄積部と、前記電荷蓄積部に蓄積された電荷が第1の所定量を超えた場合に、前記電荷蓄積部から第2の所定量の電荷を排出し、第1のパルス信号及び当該第1のパルス信号の極性を反転させた第2のパルス信号を生成する信号処理部と、を備えている。
【0012】
本発明に係るADコンバータは、入力信号によって電荷が蓄積される電荷蓄積部と、前記電荷蓄積部に蓄積された電荷が第1の所定量を超えた場合に、前記電荷蓄積部から第2の所定量の電荷を排出し、パルス信号を生成する信号処理部と、前記信号処理部により生成された前記パルス信号に所定のデジタル処理を実施するデジタルフィルタと、を備えている。
【0013】
本発明に係るニューラルネットワークは、複数の前記ニューロン素子を備え、任意の前記ニューロン素子の入力信号は、少なくとも1つの外部入力信号及び少なくとも1つの他の前記ニューロン素子の出力信号の中から、少なくともいずれか1つについて重みづけ加算処理された信号であり、前記任意の前記ニューロン素子の出力信号は、外部出力信号又は重みづけ処理を経て少なくとも1つの他の前記ニューロン素子の入力信号の少なくともいずれか1つとなっている。
【発明の効果】
【0014】
本発明は、入力信号の情報欠落及び消費電力を抑制することができる。
【図面の簡単な説明】
【0015】
【
図1】第1実施形態に係るニューロン素子の機能的な構成を示すブロック図である。
【
図2】ニューロン素子の動作手順を示すフローチャートである。
【
図3】ニューロン素子の構成例を示す回路図である。
【
図4】ニューロン素子内の各信号の時間変化を示すタイミングチャートである。
【
図5】遅延時間が長くなった場合のニューロン素子内の各信号の時間変化を示すタイミングチャートである。
【
図6】第2実施形態に係るニューロン素子の構成例を示す回路図である。
【
図7】ニューロン素子内の各信号の時間変化を示すタイミングチャートである。
【
図8】正常に動作しない状態を引き起こす蓋然性が最も高い場合のニューロン素子内の各信号の時間変化を示すタイミングチャートである。
【
図9】第3実施形態に係るニューロン素子の構成例を示す回路図である。
【
図10】第4実施形態に係るADコンバータの機能的な構成を示すブロック図である。
【
図11】従来のΔΣ変調型ADコンバータの入力アナログ信号、変調パルス信号、出力デジタル信号を示す波形図である。
【
図12】第4実施形態に係るADコンバータの入力アナログ信号、変調パルス信号、出力デジタル信号を示す波形図である。
【
図13】ニューラルネットワークの構成例を示す図である。
【
図14】ニューロン素子の出力信号xi(i=1,2,3)と重みづけ係数wi(i=1,2,3)との関係を示す図である。
【
図15】従来のΔΣ変調型ADコンバータの基本構成を示す回路図である。
【発明を実施するための形態】
【0016】
以下、本発明の実施形態について図面を参照しながら詳細に説明する。
[第1実施形態]
図1は、第1実施形態に係るニューロン素子10の機能的な構成を示すブロック図である。
ニューロン素子10は、入力部11と、電荷蓄積部12と、電荷排出部13と、パルス信号生成部14と、出力部15と、制御部16と、を備える。
【0017】
入力部11は、外部から入力される電流信号(入力信号)を電荷蓄積部12に供給する。なお、入力部11は、例えば入力信号が電圧信号の場合は、その電圧信号を所定の手法を用いてそれと等価な電流信号に変換する。
【0018】
電荷蓄積部12は、入力部11から電流信号が供給され、電荷を蓄積する。
電荷排出部13は、制御部16の指示に基づいて又はパルス信号生成部14で生成されるパルス信号に応じて、電荷蓄積部12に蓄積された電荷を排出する。
【0019】
パルス信号生成部14は、制御部16の指示に基づいて又は電荷排出部13から排出される電荷に応じて、パルス信号を生成し、そのパルス信号を出力部15へ供給する。
【0020】
出力部15は、パルス信号生成部14から供給されるパルス信号を外部へ出力する。なお、出力部15は、必要があれば、パルス信号生成部14から供給されるパルス信号の波形を所定の形に整形してから外部へ出力してもよい。
【0021】
制御部16は、電荷蓄積部12の電荷蓄積量を例えば電圧などとして測定する。制御部16は、測定した電荷蓄積量(測定電荷蓄積量)が所定の閾値を超えた場合、パルス信号生成部14に対してパルス信号の生成を指示し、測定電荷蓄積量が閾値を超えなくなった場合、パルス信号生成部14に対してパルス信号の生成停止を指示する。
【0022】
または、制御部16は、測定電荷蓄積量が所定の閾値を超えた場合、電荷排出部13に対して、電荷蓄積部12からの所定量の電荷の排出を指示し、測定電荷蓄積量が閾値を超えなくなった場合、電荷排出部13に対して電荷の排出停止を指示する。
【0023】
なお、電荷排出部13及びパルス信号生成部14は、制御部16から指示を受けて直ちに所定の処理を実施するのでなく、ある一定期間を経てから所定の処理を実施する。また、電荷排出部13、パルス信号生成部14は及び制御部16は、先述のように互いに連携しており、電荷蓄積部12の測定電荷蓄積量が所定の閾値を超えた場合に、それらがまとまったかたちで、電荷蓄積部12から所定量の電荷を排出し、パルス信号を生成する信号処理部20として機能する。
【0024】
図2は、ニューロン素子10の動作手順を示すフローチャートである。
入力部11は、外部から入力信号があった場合(ステップS1)、その入力信号を受信して電荷蓄積部12に供給する(ステップS2)。なお、入力部11は、入力信号が電圧信号の場合、その電圧信号を所定の手法を用いてそれと等価な電流信号に変換して、変換された電流信号を電荷蓄積部12へ供給する。
【0025】
電荷蓄積部12は、入力部11から入力信号が供給されると電荷を蓄積する(ステップS3)。
制御部16は、電荷蓄積部12の電荷蓄積量を例えば電圧として測定し(ステップS4)、その測定電荷蓄積量が所定の閾値を超えた場合は(ステップS5)、電荷排出部13に対して、所定量の電荷の排出を指示する。これにより、電荷排出部13は、電荷蓄積部12から所定量の電荷を排出する(ステップS6)。なお、電荷蓄積部12の測定電荷蓄積量が所定の閾値を超えていない場合は、電荷蓄積部12の電荷は排出されずに、ステップS1へ戻る。
【0026】
次に、制御部16は、パルス信号生成部14に対して、パルス信号の生成を指示する。これにより、パルス信号生成部14は、パルス信号を生成する(ステップS7)。なお、パルス信号生成部14は、制御部16からの指示を受けることなく、電荷排出部13によって排出された電荷に応じて、パルス信号を生成してもよい。
【0027】
出力部15は、パルス信号生成部14で生成されたパルス信号を外部へ出力する(ステップS7)。そして、ステップS4へ戻る。なお、出力部15は、必要に応じて、パルス信号生成部14で生成されたパルス信号の波形を所定の形に整形してから外部へ出力してもよい。
【0028】
なお、制御部16は、電荷蓄積部12の測定電荷蓄積量が閾値を超えた場合に、まずはパルス信号生成部14に指示を出し、続いて電荷排出部13に指示を出してもよい。あるいは、電荷排出部13は、制御部16からの指示を受けることなく、パルス信号生成部14で生成されるパルス信号に応じて、所定量の電荷を排出してもよい。
【0029】
ここで、電荷蓄積部12の測定電荷蓄積量が閾値を超えた時から、電荷蓄積部12から電荷が排出される時までに、所定の遅延時間がある。よって、この遅延時間では、電荷蓄積部12には引き続き電荷が蓄積される。同様に、電荷蓄積部12の測定電荷蓄積量が閾値を下回った時から、電荷蓄積部12からの電荷の排出が停止する時までにも、所定の遅延時間がある。よって、この後者の遅延時間では、電荷蓄積部12からは引き続き電荷が排出される。
【0030】
このように、ニューロン素子10は、電荷蓄積部12に蓄積された電荷蓄積量が所定の閾値を超えた場合、パルス信号を外部へ出力すると同時に、電荷蓄積部12から所定量の電荷を排出させることで、電荷蓄積部12の電荷が溢れないようにしている。換言すれば、ニューロン素子10は、電荷蓄積部12から溢れる電荷の量に応じたパルス信号を外部へ出力することで、廃棄された電荷に相当する情報の欠落が発生する問題を回避できる。
【0031】
図3は、本実施形態に係るニューロン素子10Aの構成例を示す回路図である。ニューロン素子10Aは、
図1に示したニューロン素子10の一構成例である。
【0032】
ニューロン素子10Aは、キャパシタCA、キャパシタCB、コンパレータCMP、スイッチSWA、SWB、負荷抵抗Rを備えている。スイッチSWAは、例えばMOSトランジスタを用いたSPDT(Single-Pole Double-Throw)スイッチであり、3つの端子SW1、SW2、SW3を有している。スイッチSWAは、コンパレータCMPからの制御(選択信号)に応じて、端子SW1及び端子SW3の間、又は端子SW2及び端子SW3の間が導通する。なお、スイッチSWBもスイッチSWAと同じ構成である。
【0033】
キャパシタCAの一方の端子は入力端子INに接続され、その他方の端子は接地されている。キャパシタCBの一方の端子はスイッチSWAの端子SW3に接続され、その他方の端子はスイッチSWBの端子SW3に接続されている。
【0034】
スイッチSWAの端子SW1は、入力端子INに接続されている。スイッチSWBの端子SW1は接地されている。
【0035】
スイッチSWAの端子SW2は、負荷抵抗R及び出力端子OUTに接続されている。スイッチSWBの端子SW2は接地されている。
【0036】
負荷抵抗Rの一方の端子はスイッチSWAの端子SW2及び出力端子OUTに接続されており、その他方の端子は接地されている。このため、負荷抵抗Rは、スイッチSWAを介してキャパシタCBから排出される電荷に応じてパルス信号を生成する機能を有する。
【0037】
コンパレータCMPは、キャパシタCAに蓄積された電荷蓄積量を、入力端子INの電圧(=キャパシタCAで発生する電圧)として測定し、測定した電圧(測定電圧vA)が所定の閾値電圧Vthを超えたか否かを判定する。コンパレータCMPは、測定電圧vAが閾値電圧Vthを超えている場合は選択信号SW1をスイッチSWA、SWBに供給し、測定電圧vAが閾値電圧Vthを超えていない場合は選択信号SW2をスイッチSWA、SWBに供給する。
【0038】
スイッチSWA、SWBは、コンパレータCMPから選択信号が供給されると、次のように切り替わる。すなわち、スイッチSWA、SWBは、選択信号SW1が供給された場合は、端子SW1及び端子SW3の間が導通する(SW1に切り替わる)。また、スイッチSWA、SWBは、選択信号SW2が供給された場合は、端子SW2及び端子SW3の間が導通する(SW2に切り替わる)。
【0039】
このため、スイッチSWA、SWBに選択信号SW1が供給された場合、キャパシタCAとキャパシタCBは並列に接続される。他方、スイッチSWA、SWBに選択信号SW2が供給された場合、キャパシタCBと負荷抵抗Rは並列に接続され、キャパシタCBに蓄積された電荷が負荷抵抗Rを通じて放電する。
【0040】
なお、キャパシタCAの他方の端子、スイッチSWBの端子SW1、SW2、負荷抵抗Rの他方の端子は、等電位であればよく、本実施形態のように接地される場合に限定されるものではない。
【0041】
ところで、スイッチSWA、SWBは、増加中の測定電圧vAが閾値電圧Vthを超えた時、又は減少中の測定電圧vAが閾値電圧Vthを下回った時に、直ちに切り替わるものではない。すなわち、増加中又は減少中の測定電圧vAが閾値電圧Vthを過ぎた又は下回った時から、実際にスイッチSWA、SWBが切り替わる時まで、所定の遅延時間Dcmpがある。
【0042】
よって、測定電圧vAは、閾値電圧Vthを超えた時から遅延時間Dcmpを経過するまでは上昇し続ける。そして、遅延時間Dcmp経過後にスイッチSWA、SWBがSW1に切り替わる時点でキャパシタCA、CBが並列に接続されると、キャパシタCAに蓄積されていた電荷がキャパシタCBに流れ込み、その結果、測定電圧vAは急激に低下する。
【0043】
キャパシタCAの測定電圧vAが閾値電圧Vthを下回った場合も同様である。すなわち、スイッチSWA、SWBがSW1に切り替わって測定電圧vAが急激に低下し閾値電圧Vthを下回っても、その時から遅延時間Dcmpを経過するまではキャパシタCA、CBの並列接続状態は保持される。そして、遅延時間Dcmp経過後にスイッチSWA、SWBがSW2に切り替わる時点で、キャパシタCBは、キャパシタCAから分離され、負荷抵抗Rと並列接続される。
【0044】
遅延時間Dcmpは、配線遅延、スイッチSWA、SWBを構成するMOSトランジスタのゲート遅延、コンパレータCMPに起因した遅延等の総和時間である。特に、コンパレータCMPに起因した遅延は、その出力容量Coutや相互コンダクタンスgmなどから決定される。従って、それらを適切に設計することによって、遅延時間Dcmpが最適化される。
【0045】
以上のように構成されたニューロン素子10Aでは、外部から信号が入力されると、次のように動作する。
【0046】
図4は、ニューロン素子10A内の各信号の時間変化を示すタイミングチャートである。なお、初期状態において、
図3に示すキャパシタC
A、C
Bに蓄積されている電荷はゼロである。よって、キャパシタC
Aの測定電圧v
Aは0である。そして、測定電圧v
Aが閾値電圧V
thを下回っていることから、スイッチSWA、SWBは、共にSW2に切り替わっている。
【0047】
図4では、時刻t=0において、入力端子INに定電流i=Iが入力される。なお、実際には、入力端子INに入力される電流は一定ではない。
【0048】
ところで、ニューロン素子10Aの正常動作条件とは、最も厳しい状態、具体的には、許容される最大瞬間入力電流Imaxが定電流として連続して入力される状態であっても、ニューロン素子10Aが正常に動作する条件をいう。ニューロン素子10Aは、この正常動作条件を満たす限り、Imaxを超えない任意に変化する電流が入力される場合であっても正常に動作することが保証される。なお、正常動作条件の詳細については後述する。
【0049】
入力端子INに定電流i=Iが入力されると、キャパシタCAに電荷が蓄積され、キャパシタCAの測定電圧vAが次第に上昇する。
【0050】
時刻t=TtS1において、測定電圧vAが閾値電圧Vthを超えると、コンパレータCMPは、選択信号SW1をスイッチSWA、SWBに供給する。その結果、スイッチSWA、SWBは、SW2からSW1への切り替え動作を開始する。
【0051】
但し、先述したように、スイッチSWA、SWBのSW2からSW1への切り替えは直ちには実行されない。SW2からSW1へ切り替わる時刻tは、時刻t=TtS1から遅延時間Dcmpを経た時刻t=TS1である。
【0052】
すなわち時刻t=TtS1から時刻t=TS1においては、キャパシタCAには引き続き電荷が蓄積される。その結果、測定電圧vAは閾値電圧Vthを超えてもそのまま上昇し、時刻t=TS1直前にピーク電圧Vpkに到達する。
【0053】
時刻t=TS1において、スイッチSWA、SWBがSW2からSW1へ切り替わると、キャパシタCAとキャパシタCBが並列に接続され、キャパシタCAに蓄積されていた電荷がキャパシタCBに流れ込む。このため、キャパシタCAの測定電圧vAは、指数関数的に低下する。また、キャパシタCBで発生する電圧vBは、指数関数的に上昇する。
【0054】
但し、キャパシタCA、CB間の寄生抵抗rが十分小さく、キャパシタCA、CB間の時定数τ1は遅延時間Dcmpと比較して無視できるものとする。この結果、時刻t=TS1を超えた瞬間、キャパシタCAに蓄積された電荷の一部がキャパシタCBに流れ込み、キャパシタCA、CBのそれぞれで発生する電圧vA、vBは等しくVshになる。
【0055】
またこの時、測定電圧vA(=vB=Vsh)は閾値電圧Vthを下回るため、コンパレータCMPが選択信号SW2をスイッチSWA、SWBに供給し、スイッチSWA、SWBがSW1からSW2への切り替え動作を開始する。この時の時刻をt=TtS2とする。
【0056】
但し、先述したように、測定電圧vA(=vB=Vsh)が閾値電圧Vthより低下しても、スイッチSWA、SWBのSW1からSW2への切り替えは直ちには実行されない。SW1からSW2へ切り替わる時刻tは、時刻t=TtS2から遅延時間Dcmpを経た時刻t=TS2である。
【0057】
すなわち時刻t=TtS2から時刻t=TS2においては、キャパシタCA、CBの両方には引き続き電荷が蓄積される。その結果、測定電圧vA(=vB)はそのまま上昇し、時刻t=TS2の直前に電圧Vbkに到達する。
【0058】
なお、この時の測定電圧vAの上昇速度(傾き)はI/(CA+CB)であり、時刻t=0から時刻t=TtS1までの測定電圧vAの上昇速度(=I/CA)よりは小さい。その理由は、入力定電流i=Iによって流れ込む電荷が、並列接続されたキャパシタCA、CBの両方に蓄積されるためである。
【0059】
スイッチSWA、SWBがSW1からSW2への切り替わると、キャパシタCBは負荷抵抗Rと並列に接続される。その結果、キャパシタCBに蓄積された電荷は、負荷抵抗Rを通じて排出され、キャパシタCBで発生する電圧vBは、時定数τ2(=R・CB)を持つ指数関数に従って急激に低下する。この電圧vBが、出力端子OUTを介して、パルス信号として外部負荷に供給される。
【0060】
他方、キャパシタCAは、キャパシタCBから分離される。その結果、キャパシタCAには入力定電流i=Iによる電荷が流れ込み、キャパシタCAの測定電圧vAは上昇する。この時の測定電圧vAの上昇速度は、時刻t=0から時刻t=TtS1までの測定電圧vAの上昇速度(=I/CA)と同じである。
【0061】
2回目の時刻t=TtS1において、測定電圧vAは再び閾値電圧Vthを超えて、スイッチSWA、SWBがSW2からSW1への切り替え動作を開始する。そして、2回目の時刻t=TtS1から遅延時間Dcmpを経た時刻t=TS1において、スイッチSWA、SWBがSW2からSW1へ切り替わる。その結果、キャパシタCAに蓄積された電荷が、キャパシタCBに流れ込む。
【0062】
以上のように、第1実施形態のニューロン素子10Aは、定電流i=Iが入力端子INに入力された場合、ピーク電圧がVbk、周期が2・Dcmp+(TtS1-TS2)であるパルス電圧を出力端子OUTから出力する。
【0063】
つぎに、時刻t=0において定電流i=Iが入力端子INに入力される場合の、ニューロン素子10Aの2つの正常動作条件について説明する。
【0064】
第1の正常動作条件は、時刻t=TS1での測定電圧vA(=Vpk)が電源電圧VDDを超えないことである。すなわち第1の正常動作条件は、式(1)で与えられる。
【0065】
VDD>Vpk= Vth+(I・Dcmp)/CA …(1)
【0066】
ここで右側の等式の第2項は、時刻t=TtS1から時刻t=TS1までの間に、キャパシタCAに流れ込んだ電荷によって、測定電圧vAが上昇した分を表す。
【0067】
第2の正常動作条件については、遅延時間Dcmpが十分長くなった場合を考える。このとき、キャパシタCAのピーク電圧Vpkが電源電圧VDDを超えないように、閾値電圧Vthを大きく下げたとする。
【0068】
しかし、その結果、スイッチSWA、SWBがSW1に切り替わっている状態、すなわちキャパシタCAとキャパシタCBが並列接続された状態で、測定電圧vA(=vB)が閾値電圧Vthを超える状況が起こり得る。
【0069】
図5は、遅延時間D
cmpが長くなった場合のニューロン素子10A内の各信号の時間変化を示すタイミングチャートである。
【0070】
図5では、測定電圧v
A(=v
B)が閾値電圧V
thを超えても、キャパシタC
AとキャパシタC
Bの並列接続が保持されている状況が示されている。その後、時刻t=T
S2において、キャパシタC
AとキャパシタC
Bが分離される。この直前の測定電圧v
A(=v
B)の値はV
bkである。
【0071】
一方、コンパレータCMPは、キャパシタCAとキャパシタCBの並列接続が保持された状況であっても、測定電圧vA(=vB)が閾値電圧Vthを超えた段階(時刻t=TtS1)で、選択信号SW1を出力する。その後、時刻t=TS1において、スイッチSWA、SWBは、SW1に切り替わる。
【0072】
これより、スイッチSWA、SWBによるSW1からSW2への切り替えと、SW2からSW1への切り替えとの各々において、SW切り替え動作の開始から実際にSWの切り替えが有効になるまでの期間がオーバーラップする。具体的には、
図5において、時刻t=T
tS1から時刻t=T
S1までの期間と、時刻t=T
tS2から時刻t=T
S2までの期間において、時刻t=T
tS1から時刻t=T
S2までの期間が、オーバーラップする。
【0073】
その結果、スイッチSWA、SWBが実際にSW2に切り替わっている期間が短くなる。そして、キャパシタCBの放電時間が短くなるため、電荷が十分に排出されなくなり、キャパシタCBに残留電荷が存在することになる。
【0074】
その後、スイッチSWA、SWBが実際にSW1に切り替わってキャパシタCAとキャパシタCBが並列に接続された時、当該残留電荷は両者で共有されることになり、キャパシタCA、CBで発生する電圧Vshは、その残留電荷の分だけ底上げされる。
【0075】
その結果、測定電圧vA(=vB)が閾値電圧Vthを超える時刻t=TtS1は前倒しになる(早くなる)。しかし、時刻t=TS2は変わらない。その理由は、時刻t=TS2が、スイッチSWA、SWBがSW2からSW1へ切り替わって測定電圧vAが急激に低下し、測定電圧vAが閾値電圧Vthを下回った時刻であるt=TtS2によって決定されるからである。
【0076】
これより、上述のオーバーラップの期間が更に長くなり、スイッチSWA、SWBが実際にSW2に切り替わっている期間が更に短くなる。このようにして、キャパシタCB内の残留電荷は次第に増加し、最終的には、キャパシタCAとキャパシタCBが並列に接続されても両者で発生する電圧Vshが閾値電圧Vthを下回らなくなり、ニューロン素子10Aが正常に動作しなくなる。
【0077】
すなわち、第2の正常動作条件は、スイッチSWA、SWBが実際にSW2に切り替わっている間に、キャパシタCBに蓄積されていた電荷が完全に排出されることである。
【0078】
いま、k回目にスイッチSWA、SWBがSW1からSW2に切り替わり、キャパシタCAとキャパシタCBの並列接続が分離される直前にキャパシタCA、CBで発生していた電圧をVbk(k)とすると、この条件は式(2)の通りである。
【0079】
Dcmp-((CA+CB)・(Vbk(k)-Vth))/I>τ2…(2)
【0080】
ここで左辺第2項は、測定電圧v
A(=v
B)が閾値電圧V
thを超えてから電圧V
bk(k)に至るまでの時間、すなわち、
図5で示した時刻t=T
tS1から時刻t=T
S2までの期間に相当する。またτ
2は、先述したようにキャパシタC
B及び負荷抵抗Rで構成された放電回路の時定数であって、式(3)で表される。
【0081】
τ2=R・CB…(3)
【0082】
ところで電圧V
bk(k)は、
図5で示した1回目の電圧V
bk(1)を最大値とし、回数が進むごとに振動しつつ所定の値に収束していく。他方、測定電圧v
A(=v
B)=V
bk(1)の時点において蓄積された電荷の総量は、最初のt=T
tS1の時点でC
Aに蓄積された電荷C
A・V
thと、その後の2・D
cmpの間に流れ込んだ電荷2・I・D
cmpとの和である。よって、V
bk(k)とV
bk(1)の関係は式(4)で表される。
【0083】
Vbk(k)≦Vbk(1)=(CA・Vth+2・I・Dcmp)/(CA+CB)…(4)
【0084】
一方、式(2)において左辺が最小になるのは、Vbk(k)が最大値すなわちVbk(1)となる時である。これより式(2)においてVbk(k)をVbk(1)とし、式(3)及び式(4)を式(2)式に代入して整理すると、式(5)が得られる。
【0085】
(CB・Vth)/I-Dcmp>R・CB…(5)
【0086】
いま、想定される最大瞬間入力電流をImaxとした場合、入力定電流IをImaxとすることで、ここでの議論はImaxなる定電流が連続して入力されるという最も厳しい状態での解析となり、式(1)及び式(5)は、ニューロン素子10Aを安定動作させるための素子パラメータ間の正常動作条件を与えることになる。そこで、I=Imaxとして式(1)及び式(5)をVthについて整理すると、式(6)となる。
【0087】
Imax・(R+Dcmp/CB)<Vth
<VDD-(Imax・Dcmp)/CA…(6)
【0088】
式(6)より、閾値電圧Vthの許容設定範囲が得られる。さらに式(6)の最左辺及び最右辺に着目すれば、遅延時間Dcmpが満たすべき制約条件は、式(7)となる。
【0089】
Dcmp<(CA・CB)/(CA+CB)(VDD/Imax-R)…(7)
【0090】
すなわち式(6)及び式(7)が、想定される最大瞬間入力電流をImaxとした場合に、ニューロン素子10Aを正常に動作させるために、遅延時間Dcmp及び閾値電圧Vthが満たすべき正常動作条件となる。
【0091】
[第2実施形態]
つぎに、第2実施形態について説明する。なお、第1実施形態と同一の部分には同一の符号を付し、重複する説明は省略する。
【0092】
図6は、第2実施形態に係るニューロン素子10Bの構成例を示す回路図である。ニューロン素子10Bは、
図1に示したニューロン素子10の一構成例である。
【0093】
ニューロン素子10Bは、キャパシタCA、コンパレータCMP、パルス信号生成部PG、電圧制御電流源VCCSを備えている。キャパシタCAの一方の端子は入力端子INに接続され、その他方の端子は接地されている。
【0094】
コンパレータCMPは、キャパシタCAに蓄積された電荷蓄積量を、入力端子INの電圧(=キャパシタCAで発生する電圧)として測定し、測定した電圧(測定電圧vA)が所定の閾値電圧Vthを超えたか否かを判定する。コンパレータCMPは、測定電圧vAが閾値電圧Vthを超えている場合はハイレベルの信号(H信号)をパルス信号生成部PGに供給し、測定電圧vAが閾値電圧Vthを超えていない場合はローレベルの信号(L信号)をパルス信号生成部PGに供給する。
【0095】
パルス信号生成部PGは、コンパレータCMPからH信号が供給された場合に、デューティ比α(0<α<1)の矩形波であるパルス信号を生成する。また、パルス信号生成部PGは、コンパレータCMPからL信号が供給された場合は、パルス信号を生成しない。パルス信号生成部PGで生成されたパルス信号は、出力端子OUTを介して外部に出力されると共に、電圧制御電流源VCCSに供給される。
【0096】
電圧制御電流源VCCSは、キャパシタCAと並列に接続されている。具体的には、電圧制御電流源VCCSの電流入力端子は入力端子INに接続されており、その電流出力端子は接地されている。そして、電圧制御電流源VCCSは、パルス信号生成部PGで生成されたパルス信号に基づいて、電流入力端子から電流出力端子に流れる電流を制御する。
【0097】
具体的には、電圧制御電流源VCCSは、パルス信号生成部PGで生成されたパルス信号のハイレベルに応答して強制的に定電流iS=IFを流し、そのパルス信号のローレベルに応答して電流を遮断する。
【0098】
電圧制御電流源VCCSが強制的に定電流iS=IFを流し、その定電流IFが入力端子INから流れ込む電流より大きい場合、入力端子INに接続されているキャパシタCAから電荷が排出され、キャパシタCAの測定電圧vAが低下する。また、電圧制御電流源VCCSが電流を遮断する場合、入力端子INからのすべての電流がキャパシタCAに流れ込み、キャパシタCAの測定電圧vAが上昇する。
【0099】
なお、キャパシタCAの他方の端子及び電圧制御電流源VCCSの電流出力端子は、等電位であればよく、本実施形態のように接地される場合に限定されるものではない。
【0100】
ところで、パルス信号生成部PGは、増加中の測定電圧vAが閾値電圧Vthを超えた時、又は減少中の測定電圧vAが閾値電圧Vthを下回った時に、直ちに、パルス信号の生成動作を開始、または停止するものではない。すなわち、増加中又は減少中の測定電圧vAが閾値電圧Vthを過ぎた又は下回った時から、実際にパルス信号生成部PGの動作が開始あるいは停止する時まで、所定の遅延時間Dcmpがある。
【0101】
よって、測定電圧vAは、閾値電圧Vthを超えた時から遅延時間Dcmpを経過するまでは上昇し続け、遅延時間Dcmp経過後にパルス信号生成部PGの動作が開始し、それに連動して電圧制御電流源VCCSがキャパシタCAから電荷を排出すると、低下する。
【0102】
キャパシタCAの測定電圧vAが下降しながら閾値電圧Vthを下回った場合も同様である。すなわち、測定電圧vAは、閾値電圧Vthを下回った時から遅延時間Dcmpを経過するまでは下降し続け、遅延時間Dcmp経過後にパルス信号生成部PGの動作が停止し、それに連動して電圧制御電流源VCCSがキャパシタCAからの電荷の排出を停止すると、上昇する。
【0103】
遅延時間Dcmpは、配線遅延、パルス信号生成部PGの動作遅延、コンパレータCMPに起因した遅延等の総和時間である。特に、コンパレータCMPに起因した遅延は、その出力容量Coutや相互コンダクタンスgmなどから決定される。従って、それらを適切に設計することによって、遅延時間Dcmpが最適化される。
【0104】
以上のように構成されたニューロン素子10Bでは、外部から信号が入力されると、次のように動作する。
【0105】
図7は、ニューロン素子10B内の各信号の時間変化を示すタイミングチャートである。なお、初期状態において、
図6に示すキャパシタC
Aに蓄積されている電荷はゼロである。よって、キャパシタC
Aの測定電圧v
Aは0である。そして、測定電圧v
Aが閾値電圧V
thを下回っていることから、コンパレータCMPはL信号を出力し、パルス信号生成部PGの動作は停止している。
【0106】
図7では、時刻t=0において、入力端子INに定電流i=Iが入力される。なお、実際には、入力端子INに入力される電流は一定ではない。また、本実施形態のニューロン素子10Bの正常動作条件の詳細については後述する。
【0107】
入力端子INに定電流i=Iが入力されると、キャパシタCAに電荷が蓄積され、キャパシタCAの測定電圧vAが次第に上昇する。
【0108】
時刻t=TtOnにおいて、測定電圧vAが閾値電圧Vthを超えると、コンパレータCMPの出力信号がL信号からH信号に切り替わる。その結果、パルス信号生成部PGは、パルス信号の生成動作を開始する。そして電圧制御電流源VCCSは、パルス信号生成部PGからパルス信号が供給されると、そのハイレベルに応答して強制的に定電流iS=IFを流す(後述の時刻t=TOnを参照)。この結果、キャパシタCAから電荷が排出され、測定電圧vAが低下する。
【0109】
但し、先述したように、パルス信号生成部PGは、測定電圧vAが閾値電圧Vthを超えても直ちには動作しない。パルス信号生成部PGがパルス信号の生成動作を開始する時刻tは、時刻t=TtOnから遅延時間Dcmpを経た時刻t=TOnである。
【0110】
すなわち時刻t=TtOnから時刻t=TOnにおいては、キャパシタCAには引き続き電荷が蓄積される。その結果、測定電圧vAは閾値電圧Vthを超えてもそのまま上昇し、時刻t=TOn直前にピーク電圧Vpkに到達する。
【0111】
時刻t=TOnにおいて、パルス信号生成部PGがパルス信号生成動作を開始すると、電圧制御電流源VCCSは、パルス信号生成部PGから供給されたパルス信号のハイレベルに応答して強制的に定電流iS=IFを流す。この結果、キャパシタCAから電荷が排出され、測定電圧vAが低下する。
【0112】
また、電圧制御電流源VCCSは、当該パルス信号のローレベルに応答して電流を遮断する。このとき、キャパシタCAに電荷が蓄積され、測定電圧vAは再び上昇する。なお、この時の測定電圧vAの上昇速度(傾き)は、時刻t=0から時刻t=TtOnまでの測定電圧vAの上昇速度(=I/CA)と同じである。
【0113】
この結果、パルス信号生成部PGによるパルス信号の生成期間では、測定電圧vAは、低下と上昇を周期的に繰り返しながら、平均的には低下する。
【0114】
時刻t=TtOffにおいて、測定電圧vAは、閾値電圧Vthを下回る。このとき、コンパレータCMPから出力されパルス信号生成部PGに提供される信号がH信号からL信号に切り替わる。そして、パルス信号生成部PGはパルス信号の生成動作を停止する。この結果、電圧制御電流源VCCSは、電流を遮断する。
【0115】
但し、先述したように、パルス信号生成部PGは、測定電圧vAが閾値電圧Vthを下回っても直ちには停止しない。パルス信号生成部PGがパルス信号生成動作を停止する時刻tは、時刻t=TtOffから遅延時間Dcmpを経た時刻t=TOffである。すなわち時刻t=TtOffから時刻t=TOffにおいては、キャパシタCAからは引き続き電荷が排出される。その結果、測定電圧vAは、閾値電圧Vthを下回ってもそのまま下降する。
【0116】
なお、パルス信号生成部PGは、その特性上、パルス信号の生成動作中にコンパレータCMPからL信号が供給されても、その生成動作を直ちには中断せずに、1周期分の完全なパルス信号を生成した後に停止する。
【0117】
時刻t=TOffにおいて、パルス信号生成部PGの動作が停止し、電圧制御電流源VCCSが停止して電流を遮断する。すると、入力端子INからの定電流i=IでキャパシタCAに電荷が蓄積され、キャパシタCAの測定電圧vAが再び上昇する。
【0118】
その後、2度目の時刻t=TtOnにおいて、測定電圧vAは再び閾値電圧Vthを超える。そして、2度目の時刻t=TtOnから遅延時間Dcmpを経た時刻t=TOnにおいて、パルス信号生成部PG及び電圧制御電流源VCCSが再び動作を開始する。そして、上述した動作が繰り返される。
【0119】
以上のように、第2実施形態のニューロン素子10Bは、定電流i=Iが入力端子INに入力された場合、所定の電圧を有し、周期がDp、デューティ比がαの矩形波であるパルス信号を出力端子OUTから断続的に出力する。
【0120】
つぎに、ニューロン素子10Bの2つの正常動作条件について説明する。
第1の正常動作条件では、時刻t=0において定電流i=Iが入力端子INに入力される場合を考える。ここでは、正常動作条件の導出のため、定電流i=Iの代わりに、最大瞬間入力電流i=Imaxを用いる。
【0121】
先述したように、キャパシタCAの測定電圧vAが平均的に低下し続けるためには、定電流i=ImaxによってキャパシタCAに流れ込む電荷の量よりも、電圧制御電流源VCCSによってキャパシタCAから排出される電荷の量の方が多くなる必要がある。
【0122】
ここで、時刻t=TOnの直後に、パルス信号生成部PGによって生成される1周期分のパルス信号について考える。
【0123】
当該パルス信号の1周期において、キャパシタCAに流れ込む電荷の総量は、パルス信号の1周期がDpであることから、Dp・Imaxとなる。その1周期において、電圧制御電流源VCCSによってキャパシタCAから排出される電荷の総量は、電圧制御電流源VCCSの動作時間がα・Dpとなることから、α・Dp・IFとなる。そして後者が前者よりも大きいことから、第1の正常動作条件は式(8)となる。
【0124】
IF>1/α・Imax…(8)
【0125】
ところで、キャパシタCAに蓄積された電荷蓄積量がゼロになっても、電圧制御電流源VCCSがキャパシタCAから電荷を強制的に排出しようとすると、正常に動作しないことが想定される。そこで第2の正常動作条件は、この正常に動作しない状態を回避するための条件である。
【0126】
図8は、正常に動作しない状態を引き起こす蓋然性が最も高い場合のニューロン素子10B内の各信号の時間変化を示すタイミングチャートである。
【0127】
図8では、時刻t=0において、入力端子INに定電流i=I
maxが入力される。これより、キャパシタC
Aに電荷が蓄積され、キャパシタC
Aの測定電圧v
Aが速度I
max/C
Aで上昇する。
【0128】
時刻t=TtOnにおいて、測定電圧vAが閾値電圧Vthを超えた直後に、定電流i=Imaxが停止したとする。その結果、キャパシタCAの電荷蓄積量は一定の状態を維持する。その後、パルス信号生成部PGがパルス信号生成動作を開始し、それに応答して電圧制御電流源VCCSが定電流iS=IFを流すと、キャパシタCAから電荷が強制的に排出される。
【0129】
但し、電圧制御電流源VCCSが実際に動作を開始するのは、時刻t=TtOnから遅延時間Dcmpを経て時刻t=TOnになった時点であり、パルス信号生成部PGがパルス信号生成動作を開始してからである。なお、時刻t=TOnの直前では、キャパシタCAには、CA・Vthなる電荷が蓄積されている。
【0130】
時刻t=TOnにおいて、電圧制御電流源VCCSは、パルス信号生成部PGから供給されたパルス信号のハイレベルに応答して定電流iS=IFを流す。その結果、1周期分のパルス信号において、キャパシタCAからは(α・Dp・IF)なる量の電荷が強制的に排出され、測定電圧vAは(α・Dp・IF/CA)だけ低下する。また、電圧制御電流源VCCSは、当該パルス信号のローレベルに応答して電流を遮断する。このとき、キャパシタCAから電荷は排出されず、測定電圧vAは変化しない。
【0131】
このように、パルス信号がハイレベルの時は測定電圧v
Aが低下し、パルス信号がローレベルの時は測定電圧v
Aが低下せず一定のままである。よって、
図8に示すように、時刻t=T
On以降、測定電圧v
Aは、周期的かつ断続的に低下する。
【0132】
ところで、先述したように、時刻t=TOnの直前にて、キャパシタCAには、CA・Vthなる電荷が蓄積されている。そして時刻t=TOn直後のパルス信号においてキャパシタCAから電荷が排出されることから、測定電圧vAは直ちに閾値電圧Vthを下回り、コンパレータCMPからパルス信号生成部PGに提供される信号がH信号からL信号に切り替わる。この時の時刻をt=TtOffとする。
【0133】
但し、先述したように、パルス信号生成部PGのパルス信号生成動作は、測定電圧vAが閾値電圧Vthを下回っても直ちには停止しない。パルス信号生成部PGが当該動作を停止する時刻tは、時刻t=TtOffから遅延時間Dcmpを経た時刻t=TOffである。すなわち時刻t=TtOffから時刻t=TOffにおいては、キャパシタCAからは電圧制御電流源VCCSによって周期的かつ断続的に電荷が排出される。換言すれば、上述した測定電圧vAの下降は、時刻t=TOffまでの期間、継続する。
【0134】
ここで、電圧制御電流源VCCSに供給されたパルス信号がn周期を経て、測定電圧vAがゼロ近傍まで低下した場合を考える。このとき、キャパシタCAから排出された電荷の総量は、(n・α・Dp・IF)となる。他方、先述したように、パルス信号生成部PGがパルス信号生成動作を開始するまでにキャパシタCAに蓄積された電荷蓄積量は(CA・Vth)である。
【0135】
キャパシタCAから排出される電荷の総量は、キャパシタCAに蓄積された電荷蓄積量を超えてはならない。すなわち、式(9)を満たす必要がある。
【0136】
(n・α・Dp・IF)/CA<Vth<VDD…(9)
【0137】
ここで、式(9)の右側の不等式は、閾値電圧Vthの上限が電源電圧VDDであることを示している。
【0138】
つぎに、電圧制御電流源VCCSの継続的な動作による電荷排出期間と遅延時間Dcmpとの関係について述べる。
【0139】
図8において、仮に、遅延時間D
cmpが電荷排出期間より短い場合、時刻t=T
Offの位置が左に移動する結果、キャパシタC
Aに蓄積された電荷はゼロにはならない。よって、ニューロン素子10Bは正常に動作する。
【0140】
逆に、遅延時間Dcmpが電荷排出期間より長い場合、キャパシタCAに蓄積された電荷蓄積量を超えて電荷が排出されることになる。よって、ニューロン素子10Bは正常に動作しない。これより、遅延時間Dcmpが満たすべき条件は、電圧制御電流源VCCSに供給されるパルス信号の周期Dpが遅延時間Dcmpよりも十分小さい場合、式(10)で与えられる。
Dcmp≦n・Dp…(10)
【0141】
ここでnは、ある実数xに対してx以下の最大の整数がガウス記号[]を用いて[x]で表されるとすると、式(11)で与えられる。
n=[(CA・Vth)/(α・Dp・IF)]…(11)
【0142】
そして式(11)を式(10)に代入し、更に式(9)の右側の不等式及び式(8)を考慮すると、式(10)は式(12)となる。
Dcmp<CA・VDD/Imax…(12)
【0143】
また、式(10)を式(9)の左側の不等式に代入し、更に式(8)を考慮すると、式(9)は式(13)となる。
(Dcmp・Imax)/CA<Vth<VDD…(13)
【0144】
すなわち式(12)及び式(13)が、想定される最大瞬間入力電流をImaxとした場合に、ニューロン素子10Bを正常に動作させるために、遅延時間Dcmp及び閾値電圧Vthが満たすべき正常動作条件となる。
【0145】
また、パルス信号生成部PGは、電圧制御電流源VCCSによって制御される定電流iS=IFが式(8)を満たすように設定されるデューティ比αと、所望のnから式(10)を満たすように設定される周期Dpと、を有するパルス信号を生成するように設計すればよい。
【0146】
なお、第1及び第2実施形態では、キャパシタCAの基準電位を0Vとし、キャパシタCAに電流が流れ込み、キャパシタCAで発生する測定電圧vAが電源電圧VDDに向かって上昇する場合を説明した。但し、これらの実施形態に限定されるものではない。
【0147】
例えば、後述するように、キャパシタCAの基準電位は0Vのままとし、キャパシタCAから電流が流れ出し、キャパシタCAで発生する測定電圧vAが負の電源電圧VDDに向かって下降していくものでもよい。
【0148】
さらには、電源電圧VDDをキャパシタCAの基準電位とし、キャパシタCAに電流が流れ込んだ結果、キャパシタCAで発生する測定電圧vAが0Vに向けて下降していくものであってもよい。
【0149】
[第3実施形態]
つぎに、第3実施形態について説明する。なお、上述した実施形態と同一の部分には同一の符号を付し、重複する説明は省略する。
【0150】
図9は、第3実施形態に係るニューロン素子10Cの構成例を示す回路図である。ニューロン素子10Cは、
図3に示すニューロン素子10Aに相当する回路と、ニューロン素子10Aに相当する回路を反転させた回路と、を有している。すなわち、ニューロン素子10Cは、キャパシタC
A、C
B1、C
B2、コンパレータCMP、スイッチSWA1、SWB1、SWA2、SWB2、負荷抵抗R
1、R
2を備えている。
【0151】
キャパシタCAの一端側は入力端子IN1に接続され、その他端側は入力端子IN2に接続されている。すなわち、キャパシタCAは接地されていない。よって、入力端子IN1からキャパシタCAへ電流が流れ込むと、流れ込んだ電流と等しい大きさの電流が入力端子IN2から流れ出す。このため、キャパシタCAの両端には入力端子IN2の電位を基準とした電圧vAが発生する。このように、キャパシタCAは1個にまとめられるため、部品数を抑制することができる。
【0152】
キャパシタCB1及びキャパシタCB2の一方の端子はそれぞれスイッチSWA1及びSWA2の端子SW3に接続され、その他方の端子はそれぞれスイッチSWB1及びSWB2の端子SW3に接続されている。
【0153】
スイッチSWA1及びスイッチSWA2の端子SW1は、それぞれ入力端子IN1及び入力端子IN2に接続されている。スイッチSWB1及びスイッチSWB2の端子SW1は互いに接続されている。
【0154】
スイッチSWA1の端子SW2は、負荷抵抗R1及び出力端子OUT1に接続されている。スイッチSWA2の端子SW2は、負荷抵抗R2及び出力端子OUT2に接続されている。スイッチSWB1及びスイッチSWB2の端子SW2は接地されている。
【0155】
負荷抵抗R1の一方の端子はスイッチSWA1の端子SW2及び出力端子OUT1に接続されており、その他方の端子は接地されている。また負荷抵抗R2の一方の端子はスイッチSWA2の端子SW2及び出力端子OUT2に接続されており、その他方の端子は接地されている。
【0156】
コンパレータCMPの反転入力端子は所定の参照電圧Vthを供給する定電圧源Vthの正極に接続され、その非反転入力端子は入力端子IN1に接続されている。定電圧源Vthの負極は、入力端子IN2に接続されている。そして、定電圧源Vthは、入力端子IN2の電位を基準とした参照電圧Vthを、閾値電圧Vthとして、コンパレータCMPの反転入力端子に供給する。
【0157】
コンパレータCMPは、キャパシタCAに蓄積された電荷蓄積量を、入力端子IN2の電位を基準とした入力端子IN1の電圧(キャパシタCAの電圧)として測定し、測定した電圧(測定電圧vA)が所定の閾値電圧Vthを超えたか否かを判定する。コンパレータCMPは、測定電圧vAが閾値電圧Vthを超えている場合は選択信号SW1をスイッチSWA1、SWB1、SWA2、SWB2に供給し、測定電圧vAが閾値電圧Vthを超えていない場合は選択信号SW2をスイッチSWA1、SWB1、SWA2、SWB2に供給する。
【0158】
スイッチSWA1、SWB1、SWA2、SWB2は、コンパレータCMPから選択信号が供給されると、次のように切り替わる。すなわち、スイッチSWA1、SWB1、SWA2、SWB2は、選択信号SW1が供給された場合は、端子SW1及び端子SW3の間が導通する(SW1に切り替わる)。また、スイッチSWA1、SWB1、SWA2、SWB2は、選択信号SW2が供給された場合は、端子SW2及び端子SW3の間が導通する(SW2に切り替わる)。
【0159】
このため、スイッチSWA1、SWB1、SWA2、SWB2に選択信号SW1が供給される場合、キャパシタCAと、キャパシタCB1とCB2とを直列接続したものと、が並列に接続される。他方、スイッチSWA1、SWB1、SWA2、SWB2に選択信号SW2が供給された場合、キャパシタCB1及びキャパシタCB2がそれぞれ負荷抵抗R1及び負荷抵抗R2に並列に接続され、キャパシタCB1及びキャパシタCB2に蓄積された電荷が、それぞれ負荷抵抗R1及び負荷抵抗R2を通じて放電する。
【0160】
なお、スイッチSWB1、スイッチSWB2の端子SW2、負荷抵抗R1及び負荷抵抗R2の他方の端子は、等電位であればよく、本実施形態のように接地される場合に限定されるものではない。
【0161】
以上のように構成されたニューロン素子10Cでは、外部から信号が入力されると、次のように動作する。なお、初期状態において、キャパシタCA、CB1、CB2に蓄積されている電荷はゼロである。よって、キャパシタCAの測定電圧vAは0である。測定電圧vAが閾値電圧Vthを下回っていることから、すべてのスイッチSWA1、SWB1、SWA2、SWB2は、SW2に切り替わっている。よって、キャパシタCB1及びキャパシタCB2は、キャパシタCAから分離される。
【0162】
いま、入力端子IN1に定電流i1=Iが入力されると、入力端子IN2からはそれと等価な定電流i2=Iが流れ出し、キャパシタCAに電荷が蓄積され、キャパシタCAの測定電圧vAが次第に上昇する。
【0163】
測定電圧vAが閾値電圧Vthを超えると、コンパレータCMPは、選択信号SW1をスイッチSWA1、SWB1、SWA2、SWB2に供給する。その結果、スイッチSWA1、SWB1、SWA2、SWB2は、SW2からSW1へ切り替え動作を開始する。
【0164】
但し、第1実施形態の場合と同様に、スイッチSWA1、SWB1、SWA2、SWB2のSW2からSW1への切り替えは直ちには実行されない。SW2からSW1への切り替わる時刻tは、測定電圧vAが閾値電圧Vthを超えた時刻t=TtS1から遅延時間Dcmpを経た時刻t=TS1である。
【0165】
すなわち時刻t=TtS1から時刻t=TS1においては、キャパシタCAには引き続き電荷が蓄積される。その結果、測定電圧vAは閾値電圧Vthを超えてもそのまま上昇し、時刻t=TS1直前にピークに到達する。
【0166】
時刻t=TS1において、スイッチSWA1、SWB1、SWA2、SWB2がSW2からSW1へ切り替わると、キャパシタCAと、キャパシタCB1とキャパシタCB2とを直列接続したものと、が並列に接続される。そして、キャパシタCAに蓄積されていた電荷が、キャパシタCB1とキャパシタCB2とを直列接続したもの、に流れ込む。このため、キャパシタCAの測定電圧vAは、指数関数的に低下する。また、キャパシタCB1及びキャパシタCB2で発生する電圧vB1及びvB2は、それぞれ指数関数的に上昇及び低下する。
【0167】
但し、キャパシタCA、CB1、CB2間の寄生抵抗rが十分小さく、キャパシタCA、CB1、CB2間の時定数τ1は遅延時間Dcmpと比較して無視できるものとする。この結果、時刻t=TS1を超えた瞬間、キャパシタCAに蓄積された電荷の一部がキャパシタCB1及びキャパシタCB2に流れ込み、キャパシタCA、キャパシタCB1とキャパシタCB2とを直列接続したもの、のそれぞれで発生する電圧vA(=vB1+vB2)は等しくなる。
【0168】
またこの時、測定電圧vA(=vB1+vB2)は閾値電圧Vthを下回るため、コンパレータCMPが選択信号SW2をスイッチSWA1、SWB1、SWA2、SWB2に供給し、スイッチSWA1、SWB1、SWA2、SWB2が、SW1からSW2への切り替え動作を開始する。
【0169】
測定電圧vAが閾値電圧Vthを下回った時点から遅延時間Dcmpが経過すると、スイッチSWA1、SWB1、SWA2、SWB2が、SW1からSW2へ切り替わる。これにより、キャパシタCB1とキャパシタCB2とを直列接続したものは、キャパシタCAから分離される。そして、キャパシタCB1及びCB2に蓄積されていた電荷は、それぞれ負荷抵抗R1及びR2を通じて排出される。
【0170】
キャパシタCB1及びCB2のそれぞれで発生する電圧vB1及びvB2は、それぞれ時定数τ21(=R1・CB1)及びτ22(=R2・CB2)を持つ指数関数に従ってそれぞれ急激に低下及び上昇する。この電圧vB1及びvB2が、それぞれ出力端子OUT1及びOUT2を介して、パルス信号として外部負荷に供給される。
【0171】
ここで、キャパシタCA、CB1、CB2のそれぞれの静電容量をCA、CB1、CB2、負荷抵抗R1、R2のそれぞれの抵抗値をR1、R2すると、第1実施形態で用いたキャパシタCBの静電容量CB並びに負荷抵抗Rの抵抗値Rとの間にそれぞれ、式(14)及び式(15)が成立している。
CB1=CB2=2・CB ・・・(14)
R1=R2=R/2 ・・・(15)
【0172】
式(14)及び式(15)が成立する場合、
図9の上半分の回路(キャパシタC
A、C
B1、コンパレータCMP、負荷抵抗R
1)は、
図3の回路(キャパシタC
A、C
B、コンパレータCMP、負荷抵抗R)と完全に等価となる。また、
図9の下半分の回路(キャパシタC
A、C
B2、コンパレータCMP、負荷抵抗R
2)は、
図3の回路の極性を反転させたものと完全に等価となる。すなわち、出力端子OUT2から出力される信号は、出力端子OUT1から出力される信号の極性が反転したものとなる。
【0173】
この結果、ニューロン素子10Cは、
図3の場合と比較して、上下の回路に等しく加わる雑音の影響を打ち消すことが可能となり、より低雑音、高精度なパルス信号を生成できる。
【0174】
なお、本実施形態は、第1実施形態のニューロン素子10Aをベースとしたものに限定されず、第2実施形態のニューロン素子10Bをベースとしたものにも適用可能である。すなわち、本実施形態は、
図1のニューロン素子10と同様の機能を有するすべてのものに適用可能である。
【0175】
[第4実施形態]
つぎに、第4実施形態について説明する。なお、上述した実施形態と同一の部分には同一の符号を付し、重複する説明は省略する。
【0176】
図10は、第4実施形態に係るADコンバータ100の構成を示すブロック図である。ADコンバータ100は、変調パルス信号生成部50と、パルス波形整形部60と、デジタルフィルタ70と、を備えている。変調パルス信号生成部50は、
図1に示すニューロン素子10と同じ構成である。
【0177】
パルス波形整形部60は、変調パルス信号生成部50から受信したパルス信号の波形が矩形でない場合、それを整形し、矩形波として出力する。デジタルフィルタ70は、例えば、多段階接続されたT型フリップフロップで構成されるパルスカウンタである。デジタルフィルタ70は、パルス波形整形部60から受信した矩形波について、例えば時間軸上の所定範囲の矩形の受け数を数えてnビットの出力デジタル信号へと変換するなどといった処理をおこなう。
【0178】
図11は、従来(例えば
図15)のΔΣ変調型ADコンバータの入力アナログ信号、変調パルス信号、出力デジタル信号を示す波形図である。
【0179】
図11において、上段の入力アナログ信号は、周波数1Hz、振幅0.5V(0.0V~1.0V)の正弦波電圧信号である。
中段の波形図は、この入力アナログ信号に対し、サンプリング周波数500HzでΔΣ変調を実施した結果得られる1ビット変調パルス信号を示す。
下段の波形図は、後段のデジタルフィルタにおいて、この1ビット変調パルス信号に対して所定のデジタル処理をおこなうことで得られる、入力アナログ信号のAD変換結果としての出力デジタル信号である。
【0180】
図11中段の波形図に示すように、従来のΔΣ変調型ADコンバータにおいては、振幅の基準値(
図11の場合は0.5V)近傍のパルス密度が高くなっている。これにより、従来のΔΣ変調型ADコンバータでは、例えば入力信号の振幅幅が-1.0V~1.0Vに設定された場合、その基準値である0V近傍においてパルス密度が最も高くなる。
【0181】
換言すれば、従来のΔΣ変調型ADコンバータにおいては、入力アナログ信号がほとんどない状態(入力アナログ信号が基準値(ゼロ)近傍にある場合)においても、高密度のパルス信号が発生する。このため、入力アナログ信号がほとんどないにも関わらず、徒に電力を消費してしまうといった問題がある。
【0182】
図12は、
図10に示すADコンバータ100の入力アナログ信号、変調パルス信号、出力デジタル信号を示す波形図である。
【0183】
図12において、上段の入力アナログ信号は、周波数1Hz、振幅5nA(0nA~10nA)の正弦波電流信号である。
中段の波形図は、このアナログ信号を入力として、ADコンバータ100の変調パルス信号生成部50で得られる1ビット変調パルス信号を示す。なお、変調パルス信号生成部50は、本来であれば、入力信号があった場合に受動的に処理をおこなうイベント駆動型の動作をおこなうが、本実施形態では、従来のΔΣ変調型ADコンバータとの比較のため、500Hzなるサンプリング周波数に基づく同期型の動作をおこなった結果を示している。
下段の波形図は、デジタルフィルタ70において、この1ビット変調パルス信号に対して所定のデジタル処理をおこなうことで得られる、入力アナログ信号のAD変換結果としての出力デジタル信号である。
【0184】
図12中段の波形図に示すように、ADコンバータ100においては、入力アナログ信号がゼロ近傍の時のパルス密度が大幅に低下している。
【0185】
換言すれば、ADコンバータ100においては、入力アナログ信号がほとんどない場合には、パルス信号の密度を疎にすることにより、入力アナログ信号の強度に応じて消費電力を抑制することができる。
【0186】
なお、本実施形態では、ADコンバータ100は、入力アナログ信号である正弦波電流信号をAD変換する事例が示されているが、このような事例に限定されるものではない。
【0187】
例えば、
図1に示すニューロン素子10は、先述したように、本来は信号入力があった時のみ動作するイベント駆動型素子として機能する。すなわち、ニューロン素子10は、一般の同期処理とは異なり、入力信号がない時には無駄な回路が一切動作しないので、電力消費を著しく抑制することができる。
【0188】
[第5実施形態]
つぎに、第5実施形態について説明する。なお、上述した実施形態と同一の部分には同一の符号を付し、重複する説明は省略する。
【0189】
図13は、ニューラルネットワーク200の構成例を示す図である。ニューラルネットワーク200は、多段で構成された複数のニューロン素子10を備えている。
図14は、ニューロン素子10の出力信号xi(i=1、2、3)と重みづけ係数wi(i=1、2、3)を示す図である。
【0190】
任意のニューロン素子10の入力信号は、複数のニューロン素子10の出力信号xiがそれぞれ重み付け係数wiにより重みづけされ、それらが重畳されたものである。その入力信号が、ニューロン素子10の電荷蓄積部12に蓄積される。そして、ニューロン素子10は、
図2に示す処理を経て、出力信号を次段のニューロン素子10に供給する。
【0191】
なお、任意のニューロン素子10の入力信号は、他のニューロン素子10の出力信号である場合に限らず、外部からの入力信号(外部入力信号)であってもよいし、当該出力信号及び外部入力信号の両方であってもよい。さらに、当該出力信号及び外部入力信号は、単数でも複数でもよい。
【0192】
また、任意のニューロン素子10の出力信号は、他のニューロン素子10の入力信号である場合に限らず、外部への出力信号(外部出力信号)であってもよいし、当該入力信号及び外部出力信号の両方であってもよい。さらに、当該入力信号及び外部出力信号は、単数でも複数でもよい。
【0193】
以上のような構成のニューラルネットワーク200は、所望の目的に応じて、予め準備した教師データに基づいて重み付け係数wiを最適化することで、いわゆるディープラーニングを実現することができる。
【0194】
なお、本発明は、先述した実施形態に限定されるものではなく、特許請求の範囲に記載事項の範囲内で設計変更されたものにも適用可能である。
【符号の説明】
【0195】
10、10A、10B、10C ニューロン素子
12 電荷蓄積部
13 電荷排出部
14 パルス信号生成部
16 制御部
20 信号処理部
50 変調パルス信号生成部
70 デジタルフィルタ
100 ADコンバータ
200 ニューラルネットワーク
CA、CB、CB1、CB2 キャパシタ
CMP コンパレータ
PG パルス信号生成部
R、R1、R2 負荷抵抗
SWA、SWA1、SWA2、SWB、SWB1、SWB2 スイッチ
VCCS 電圧制御電流源
【手続補正書】
【提出日】2021-08-31
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
入力信号によって電荷が蓄積される第1の電荷蓄積部と、
前記第1の電荷蓄積部に蓄積された電荷が第1の所定量を超えた場合に、前記第1の電荷蓄積部から第2の所定量の電荷を排出し、パルス信号を生成する信号処理部と、を備え、
前記信号処理部は、前記パルス信号を生成するパルス信号生成部と、前記パルス信号生成部で生成された前記パルス信号に基づいて、前記第1の電荷蓄積部から前記第2の所定量の電荷を排出する電荷排出部と、を備える
ニューロン素子。
【請求項2】
前記電荷排出部は、前記第1の電荷蓄積部と並列に接続されており、前記パルス信号生成部により前記パルス信号が生成される期間に所定の電流を流すことによって、前記第1の電荷蓄積部から前記第2の所定量の電荷を排出する定電流源と、前記第1の電荷蓄積部に蓄積された電荷が前記第1の所定量を超えたと判定したときにオン信号を出力する判定部と、を更に備え、
前記パルス信号生成部は、前記判定部から前記オン信号が入力される期間に、所定のデューティ比の前記パルス信号を生成する
請求項1に記載のニューロン素子。
【請求項3】
前記入力信号の最大瞬間入力電流をImax、前記第1の電荷蓄積部の静電容量をCA、前記第1の所定量を検出するための閾値電圧をVth、電源電圧をVDD、前記第1の電荷蓄積部で発生する電圧が前記閾値電圧Vthを超えた時点から前記定電流源が前記所定の電流を流す時点までの遅延時間をDcmpとした場合に、
Dcmp<CA・VDD/Imax
を満たす
請求項2に記載のニューロン素子。
【請求項4】
請求項1から請求項3のいずれか1項に記載のニューロン素子と、
前記ニューロン素子の前記信号処理部により生成された前記パルス信号に所定のデジタル処理を実施するデジタルフィルタと、
を備えるADコンバータ。
【請求項5】
請求項1から請求項3のいずれか1項に記載の複数のニューロン素子を備え、
任意の前記ニューロン素子の入力信号は、少なくとも1つの外部入力信号及び少なくとも1つの他の前記ニューロン素子の出力信号の中から、少なくともいずれか1つについて重みづけ加算処理された信号であり、
前記任意の前記ニューロン素子の出力信号は、外部出力信号又は重みづけ処理を経て少なくとも1つの他の前記ニューロン素子の入力信号の少なくともいずれか1つとなる
ニューラルネットワーク。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0001
【補正方法】変更
【補正の内容】
【0001】
本発明は、ニューロン素子、ADコンバータ及びニューラルネットワークに関する。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0009
【補正方法】変更
【補正の内容】
【0009】
本発明は、このような実情を鑑みて提案されたものであり、入力信号の情報欠落及び消費電力を抑制することができるニューロン素子、ADコンバータ及びニューラルネットワークを提供することを目的とする。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0010
【補正方法】変更
【補正の内容】
【0010】
本発明に係るニューロン素子は、入力信号によって電荷が蓄積される第1の電荷蓄積部と、前記第1の電荷蓄積部に蓄積された電荷が第1の所定量を超えた場合に、前記第1の電荷蓄積部から第2の所定量の電荷を排出し、パルス信号を生成する信号処理部と、を備え、前記信号処理部は、前記パルス信号を生成するパルス信号生成部と、前記パルス信号生成部で生成された前記パルス信号に基づいて、前記第1の電荷蓄積部から前記第2の所定量の電荷を排出する電荷排出部と、を備えている。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0011
【補正方法】削除
【補正の内容】
【手続補正7】
【補正対象書類名】明細書
【補正対象項目名】0012
【補正方法】変更
【補正の内容】
【0012】
本発明に係るADコンバータは、前記ニューロン素子と、前記ニューロン素子の前記信号処理部により生成された前記パルス信号に所定のデジタル処理を実施するデジタルフィルタと、を備えている。