JP2015053008A - 識別装置および演算装置 - Google Patents

識別装置および演算装置 Download PDF

Info

Publication number
JP2015053008A
JP2015053008A JP2013186626A JP2013186626A JP2015053008A JP 2015053008 A JP2015053008 A JP 2015053008A JP 2013186626 A JP2013186626 A JP 2013186626A JP 2013186626 A JP2013186626 A JP 2013186626A JP 2015053008 A JP2015053008 A JP 2015053008A
Authority
JP
Japan
Prior art keywords
time
digital
signal
identification device
arithmetic
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.)
Granted
Application number
JP2013186626A
Other languages
English (en)
Other versions
JP5885719B2 (ja
Inventor
下 大 輔 宮
Daisuke Miyashita
下 大 輔 宮
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2013186626A priority Critical patent/JP5885719B2/ja
Priority to US14/176,490 priority patent/US9361577B2/en
Publication of JP2015053008A publication Critical patent/JP2015053008A/ja
Application granted granted Critical
Publication of JP5885719B2 publication Critical patent/JP5885719B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • G06N3/065Analogue means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Image Analysis (AREA)

Abstract

【課題】識別段階の処理を簡易な構成のハードウェアで行うことができる識別装置を提供する。
【解決手段】複数の入力デジタル値から構成される入力データを識別する識別装置であって、縦続接続され、それぞれが複数の演算装置を有する複数の演算層を備え、初段の演算層では、複数の入力デジタル値と重み係数とからデジタル値を生成し、2段目以降の演算層では、前段の演算層において生成された複数のデジタル値と重み係数とから新たなデジタル値を生成し、最終段の演算層が生成するデジタル値が、識別結果を示し、演算装置の少なくとも1つは、縦続接続された複数のデジタル時間変換回路であって、それぞれは、入力されるデジタル値と重み係数に応じた時間だけ時間信号を遅延させ、最終段のデジタル時間変換回路から出力される時間信号と、所定の時間閾値信号とを比較して、デジタル信号を生成する。
【選択図】図4

Description

本発明の実施形態は、識別装置および演算装置に関する。
ニューラルネットワークは、脳のニューロンおよびシナプスを模して考えられたモデルであり、学習および識別の2段階の処理により構成される。学習段階では、多数の入力からその特徴を学習し、識別処理のためのニューラルネットワークを構築する。識別段階では、ニューラルネットワークを用いて新たな入力が何であるかを識別する。
近年では、学習段階の技術が大きく発展しており、例えばディープラーニングにより、高い表現力を持った多層ニューラルネットワークを構築できるようになりつつある。
一方、識別段階の処理をソフトウェアで実装すると、処理に時間がかかったり消費電力が高くなったりするおそれがある。そこで、識別段階の処理をハードウェアで行うことも考えられる。しかしながら、多層ニューラルネットワークにおいては、パラメータ数や演算量が多いことから、ハードウェア構成が複雑になりかねない。
特許第5155843号 特許第5154666号
識別段階の処理を簡易な構成のハードウェアで行うことができる識別装置およびそのような識別装置に用いられる演算装置を提供する。
実施形態によれば、複数の入力デジタル値から構成される入力データを識別する識別装置であって、縦続接続され、そのそれぞれが複数の演算装置を有する複数の演算層を備え、初段の演算層における前記複数の演算装置のそれぞれは、前記複数の入力デジタル値と、そのそれぞれに対応する予め定められた重み係数と、からデジタル値を生成し、2段目以降の演算層における前記複数の演算装置のそれぞれは、前段の演算層における前記複数の演算装置により生成された複数のデジタル値と、そのそれぞれに対応する予め定められた重み係数と、から新たなデジタル値を生成し、最終段の演算層における前記複数の演算装置が生成するデジタル値が、識別結果を示し、前記複数の演算装置の少なくとも1つは、縦続接続された複数のデジタル時間変換回路であって、そのそれぞれは、入力されるデジタル値およびこのデジタル値に対応する前記重み係数に応じた時間だけ、第1の時間信号を遅延させて第2の時間信号を生成し、前記第2の時間信号は前記第1の時間信号として次段のデジタル時間変換回路に入力される、デジタル時間変換回路と、最終段の前記デジタル時間変換回路から出力される前記第2の時間信号と、所定の時間閾値信号とを比較して、デジタル信号を生成する時間デジタル変換回路と、を有する、識別装置が提供される。
識別システムの概略構成を示すブロック図。 識別装置3の概略構成を示すブロック図。 演算部Pの演算処理を模式的に説明する図。 図3の演算部Pのハードウェア構成を模式的に示すブロック図。 時間信号T[k]を説明する図。 DTC回路21kの回路構成の一例を示す図。 図6のDTC回路21kの動作を説明するタイムチャート。 TDC回路22の回路構成の一例を示す図。 図8のTDC回路22の動作を説明するタイムチャート。 DTC回路21kの回路構成の別の例を示す図。 図10のDTC回路21kの動作を説明するタイムチャート。 TDC回路22の回路構成の別の例を示す図。 図11のTDC回路22の動作の一例を示すタイムチャート。 シグモイド関数を示す図。 遅延回路32の第1の例を示す回路図。 遅延回路32’の第2の例を説明する図。 遅延回路32’’の第3の例を示す回路図。 図17(a)における可変抵抗素子321の一例を詳しく示す図。 図17(a)における可変抵抗素子321の別の例を詳しく示す図。 遅延回路32’’’の第4の例を示す回路図。 図20における可変容量324を詳しく示す図。
以下、実施形態について、図面を参照しながら具体的に説明する。
本実施形態では、ニューラルネットワークを利用した識別システムを想定している。本識別システムでは、まず学習段階として、ニューラルネットワーク(後述)を構築する。そして、ニューラルネットワークが構築されると、識別段階として、このニューラルネットワークを用いて新たな入力が何であるかを識別できる。以下では、入力が1桁の数字0〜9のいずれが描かれた画像であり、いずれの数字が描かれているかを識別する識別システムを例に取って説明する。
図1は、識別システムの概略構成を示すブロック図である。識別システムは、センサ1と、学習装置2と、識別装置3と、アプリケーション4とを備えている。
センサ1は例えばイメージセンサであり、数字が描かれた画像から、当該画像に対応する入力データを生成する。図示のように入力データはn個の画素から構成され、各画素の値Akは1または複数ビットのデジタル値であるとする。
学習装置2は、センサ1が生成した多数の入力データからその特徴を学習し、ニューラルネットワークを構築する。後に詳述するが、構築されたニューラルネットワークは、認識装置3における各演算部で用いられる重み係数として表される。そして、学習装置2は、ある数字「x」が描かれた画像に対応する入力データが入力されたときに、入力データが「x」であることを出力するような重み係数を見出す。
ユーザから多くの入力データを受信することで、ニューラルネットワークの精度を向上できるし、データを収集するコストを低減できる。なお、本実施形態では、学習装置2は公知の手法によりニューラルネットワークを構築するものとする。
識別装置3は学習装置2からニューラルネットワークにおける重み係数を取得する。学習装置2によりニューラルネットワークがアップデートされた場合、識別装置3は新たなニューラルネットワークの重み係数を取得することで、識別の精度が向上する。
そして、重み係数を取得した識別装置3は、センサ1が生成した識別対象の入力データを受け取る。そして、識別装置3は、重み係数を用いたニューラルネットワークに入力データを適用して、画像に描かれた数字が何であるかを識別する。
アプリケーション4は識別結果を利用して種々の処理を行う。
一旦、ニューラルネットワークのパラメータが学習装置2から取得されると、以降は、学習装置2を経由することなく、識別装置3が入力データを識別でき、その結果がアプリケーション4により利用される。そのため、識別段階において、本識別システムは極めて低消費電力で動作可能である。
図2は、識別装置3の概略構成を示すブロック図であり、ニューラルネットワークを示している。この識別装置3は、例えば1または複数の半導体集積回路により実装されてもよい。識別装置3は、入力層31と、1または複数の隠れ層32と、出力層33とを備えている。隠れ層32および出力層33をまとめて演算層とも呼ぶ。同図では、識別装置3が2層の隠れ層32a,32bを含む例を示している。この場合、隠れ層32aは初段の隠れ層とも言える。また、隠れ層32bは、前段の隠れ層32aに引き続く隠れ層とも言えるし、最終段の隠れ層とも言える。
入力層31はn個の入力部I1〜Inを有する。入力部I1〜Inの数nは、センサ1が生成する入力データの画素数と等しい。そして、入力データにおけるk番目の画素値Akが入力部Ikに設定される。
隠れ層32aはp(pは任意の整数)個の演算部P11〜P1pを有する。演算部P11〜P1pの動作は同様であるので、以下代表して演算部P1kとして説明する。演算部P1kには、入力層31における入力部I1〜Inからn個の画素値A1〜Anが入力される。そして、演算部P1kは、画素値A1〜Anと、そのそれぞれに対応する重み係数Fk1〜Fknとに対して所定の演算処理を行い、新たなデジタル値Bkを生成する。デジタル値Bkは1ビットであってもよいし複数ビットであってもよい。重み係数Fk1〜Fknは、学習装置2から取得される。
隠れ層32bはq(qは任意の整数)個の演算部P21〜P2qを有する。演算部P21〜P2qの動作は同様であるので、以下代表して演算部P2kとして説明する。演算部P2kには、前段の隠れ層32aにおける演算部P11〜P1pからp個のデジタル値B1〜Bpが入力される。そして、演算部P2kは、デジタル値B1〜Bpと、そのそれぞれに対応する重み係数Gk1〜Gkpとに対して所定の演算処理を行い、新たなデジタル値Ckを生成する。デジタル値Ckは1ビットであってもよいし複数ビットであってもよい。重み係数Gk1〜Gkpは、学習装置2から取得される。
出力層33は10個の演算部P30〜P39を有する。本実施形態ではあり得る識別結果の数が10種類(すなわち1桁の数字0〜9)であるため、そのそれぞれに対応する演算部P30〜P39が設けられる。演算部P30〜P39の動作は同様であるので、以下代表して演算部P3kとして説明する。演算部P3kには、隠れ層32bにおける演算部P21〜P2qからq個のデジタル値C1〜Cqが入力される。そして、演算部P3kは、デジタル値C1〜Cqと、そのそれぞれに対応する重み係数Hk1〜Hkqとに対して所定の演算処理を行い、新たなデジタル値Dkを生成する。重み係数Hk1〜Hknは、学習装置2から取得される。
好ましくは、デジタル値Dkは1ビットであり、デジタル値D0〜D9のうちの1つのみが“1”となる。そして、例えばデジタル値D6が“1”である場合、画像には数字「6」が描かれている、という識別結果となる。
ここで、上記重み係数Fk1〜Fkn,Gk1〜Gkp,Hk1〜Hkqがニューラルネットワークにおける重要なパラメータであり、これらを適切に定めることで、入力データを正しく識別できる。
なお、図2では2層の隠れ層を持つニューラルネットワークを例示しているが、隠れ層32a,32b間にさらに1または複数の隠れ層32を設けてもよい。一般に、隠れ層の数が多いほど識別の精度が向上する。特に、多くの隠れ層についての重み係数を定めることを「ディープラーニング」ともいう。あるいは、隠れ層を1層のみとしてもよい。この場合、隠れ層32bが省略され、隠れ層32aの出力が出力層33に入力される。
続いて、各演算部の演算処理について説明する。ニューラルネットワークでは、隠れ層32aにおける演算部P11〜P1pも、隠れ層32bにおける演算部P21〜P2qも、出力層33における演算部P30〜P39も、ほぼ同様の演算処理を行う。よって、以下では代表して演算部Pと表記する。
図3は、演算部Pの演算処理を模式的に説明する図である。演算部Pは、積和演算部11と、閾値処理部12とを有する。
演算部Pには、前段の演算部または入力部から、複数のデジタル値x1〜xrが入力される。ここで、デジタル値x1〜xrとは、初段の隠れ層32aにおける演算部P11〜P1pについては画素値A1〜An(r=n)であり、2段目の隠れ層32bにおける演算部P21〜P2qについてはデジタル値B1〜Bp(r=p)であり、出力層33における演算部P30〜P39についてはデジタル値C1〜Cq(r=q)である。
また、演算部Pには、デジタル値x1〜xrにそれぞれ対応する重み係数w1〜wrが予め定められている。重み係数w1〜wrは学習装置2から取得されるものである。
そして、積和演算部11は、下記(1)に示す積和演算処理を行って、中間信号Mを生成する。
M=Σwi*xi ・・・(1)
ここで、Σはi=1〜rまでの総和を意味する。
さらに、閾値処理部12は、中間信号Mと閾値THとを比較する閾値処理を行って、デジタル値xoutを生成する。閾値THは予め定めた定数であってもよいし、学習装置2から取得されてもよい。また、閾値THは、全演算部Pに対して共通でもよいし、演算部Pごとに異なっていてもよい。
ここで、デジタル値xoutとは、初段の隠れ層32aにおける演算部P11〜P1pについてはそれぞれデジタル値B1〜Bpであり、2段目の隠れ層32bにおける演算部P21〜P2qについてはそれぞれデジタル値C1〜Cqであり、出力層33における演算部P30〜P39についてはそれぞれデジタル値D0〜D9である。
本実施形態では、図3の演算処理をハードウェアで行う。ただし、重み係数の数が多い(数十億に至ることもある)ため、通常のデジタル回路を用いると回路構成が複雑になり、消費電力の増大を招きかねない。そこで、本実施形態では、上記の積和演算処理や閾値処理に適した回路を用いて演算することで回路構成を簡略化し、高速処理および低消費電力化を図る。以下、より詳しく説明する。
図4は、図3の演算部Pのハードウェア構成を模式的に示すブロック図である。演算部Pは、積和演算部11を構成するr個のデジタル時間変換回路(Digital to Time Converter、以下DTC回路という)211〜21rと、閾値処理部12を構成する時間デジタル変換回路(Time to Digital Converter、以下TDC回路という)22とを有する。
r個のDTC回路211〜21rは縦続接続されている。初段のDTC回路211には基準時間信号T[0]が入力される。基準時間信号T[0]ある基準の時刻で電圧値が遷移する信号である。各DTC回路21k(k=1〜r)は時間信号T[k]を生成する。時間信号T[k]は次段のDTC回路21(k+1)に入力される。最終段のDTC回路21rが生成する時間信号T[r]が中間信号Mとなる。ここで、時間信号T[k]について説明する。
図5は、時間信号T[k]を説明する図である。水平方向は時間の経過を表しており、垂直方向は電圧値である。図示のように、時間信号T[k]はある時刻で電圧値が遷移する信号である。そして、所定の基準時刻t0と、時間信号T[k]の電圧値が遷移する時刻との差が時間信号T[k]の値に対応する。あるいは、時間信号T[k]とは、時刻t0で電圧値が遷移する基準時間信号を、時間信号T[k]の値に対応する時間だけ遅延させた信号とも言える。なお電圧値の遷移は、図示のような“0”から“1”への遷移でもよいし、“1”から“0”への遷移でもよい。
図4に戻り、DTC回路21kにはデジタル値xkおよび重み係数wkが設定される。そして、DTC回路21kは、前段のDTC回路21(k−1)から入力される時間信号T[k−1]をデジタル値xrおよび重み係数wrに応じた時間だけ遅延させて、時間信号T[k]を生成する。より具体的には、DCT回路21kは下記(2)式に示す時間信号T[k]を生成する。
T[k]=T[k−1]+wi*xi ・・・(2)
結果として、最終段のDTC回路21rからは、下記(3)式に示す中間信号Mが生成される。
M=T[r]=T[0]+Σwi*xi ・・・(3)
上記(3)式は、上記(1)式と対応している。このように、本実施形態では、中間信号Mを時間信号とすることで、ハードウェア構成を簡略化できる。以下、DTC回路21kおよび閾値回路22の具体的な回路構成の例について説明する。
図6は、DTC回路21kの回路構成の一例を示す図である。このDTC回路21kはデジタル値xkが1ビットである場合の回路例であり、単位DTC回路210から構成される。図示のように、単位DTC回路210は、NOR回路31と、遅延回路32と、NOR回路33,34とを有する。
NOR回路31は、デジタル値xkの反転と時間信号T[k]とのNOR演算により、信号Aを生成する。遅延回路32は重み係数wkに応じた時間Dkだけ信号Aを遅延させて信号Bを生成する。NOR回路33は、一方の入力は“0”に固定されているため、時間信号T[k−1]を反転して信号Cを生成する。NOR回路34は、信号Bと信号CとのNOR演算により、時間信号T[k]を生成する。
なお、遅延回路32の具体的な構成例については、第2の実施形態で説明する。
図7は、図6のDTC回路21kの動作を説明するタイムチャートであり、デジタル値xk、時間信号T[k−1]、信号A〜Cおよび時間信号T[k]の波形を示している。ここで、時間信号T[k−1]は、時刻t1で“0”から“1”に遷移するものとする。同図(a)はデジタル信号xkが“0”の場合のタイムチャートであり、同図(b)はデジタル信号xkが“1”の場合のタイムチャートである。なお、以下の説明では、特に断らない限り、NOR回路31,33,34の遅延時間は遅延回路32の遅延時間に比べて十分に小さいため無視する。
図7(a)に示すように、デジタル値xkが“1”の場合、時間信号T[k]は時刻t1から重み係数wkに応じた時間Dkだけ経過した時刻t2で“0”から“1”に遷移する信号でとなり、すなわち、時間信号T[k−1]をDkだけ遅延させた信号となる。
一方、図7(b)に示すように、デジタル値xkが“1”の場合、時間信号T[k]は時刻t1で“0”から“1”に遷移する信号となり、すなわち、時間信号T[k−1]そのものである。
図8は、TDC回路22の回路構成の一例を示す図である。このTDC回路22もデジタル値xoutが1ビットである場合の回路例である。図示のように、TDC回路22は1つのフリップフロップ22aから構成される。そして、TDC回路22は、中間信号Mと時間閾値信号Th0とを比較して、1ビットのデジタル値xoutを生成する。
図9は、図8のTDC回路22の動作を説明するタイムチャートである。同図では、中間信号M0、時間閾値信号Th0およびデジタル信号xoutと、参考のために基準時間信号T0とを示している。
時間閾値信号Th0は、閾値に対応する時刻t11で論理が“0”から“1”に遷移する信号である。そして、フリップフロップ22aは、時間閾値信号Th0が遷移するタイミングで、中間信号Mの値を取り込み、デジタル信号xoutとする。
より具体的には、図9(a)の場合、中間信号Mは、基準信号T0に対する遅延時間が小さく、時刻t11より前に“1”から“0”に遷移している。よって、フリップフロップ22aはデジタル値xoutを“0”に設定する。一方、図9(b)の場合、中間信号Mは、基準信号T0に対する遅延時間が大きく、時刻t11より後に“1”から“0”に遷移している。よって、フリップフロップ22aはデジタル値xoutを“1”に設定する。
図10は、DTC回路21kの回路構成の別の例を示す図である。このDTC21kはデジタル値xkが3ビットである場合の回路例であり、図6に示す単位DTC回路210を3つ縦続接続したものである。なお、より一般的には、デジタル値xkがnビットである場合、n個の単位DTC回路210を縦続接続すればよい。
初段の単位DTC回路210には、前段のDTC回路21(k−1)からの時間信号T[k−1]およびデジタル値xkの最上位ビットxk[2]が入力される。そして、初段の単位DTC回路210における遅延回路32の遅延時間は、重み係数wkに応じた時間Dkの4倍である。
2段目の単位DTC回路210には、初段の単位DTC回路210からの時間信号およびデジタル値xkの上位から2ビット目xk[1]が入力される。そして、2段目の単位DTC回路210における遅延回路32の遅延時間は、重み係数wkに応じた時間Dkの2倍である。
最終段の単位DTC回路210には、2段目の単位DTC回路210からの時間信号およびデジタル値xkの最下位ビット目xk[0]が入力される。そして、最終段の単位DTC回路210における遅延回路32の遅延時間は、重み係数wkに応じた時間Dkである。
図11は、図10のDTC回路21kの動作を説明するタイムチャートである。図示のように、DTC回路21kは、デジタル値xkに応じて、入力される時間信号T[k−1]を遅延させて時間信号T[k]を出力する。デジタル値xkが1大きくなると、重み係数wkに応じた時間Dkだけ遅延時間は大きくなる
図12は、TDC回路22の回路構成の別の例を示す図である。このTDC回路21は3ビットのデジタル値xoutを生成する例を示している。TDC回路22は、2つの遅延素子221,222と、3つのフリップフロップ223〜225から構成される。
遅延素子221は中間信号Mを所定時間遅延させて信号M1Dを生成する。遅延素子222は信号M1Dを所定時間遅延させて信号M2Dを生成する。フリップフロップ223〜225には、中間信号M、信号M1D,M2Dがそれぞれ入力される。そして、フリップフロップ223〜225は、中間信号Mおよびその遅延信号M1D,M2Dと、時間閾値信号Th0とを比較して、それぞれデジタル値xout[2],xout[1],xout[0]を生成する。
図13は、図12のTDC回路22の動作の一例を示すタイムチャートである。同図では、中間信号M、信号M1D,M2D、時間閾値信号Th0および信号xout[2],xout[1],xout[0]とを示している。
時間閾値信号Th0は、閾値に対応する時刻t11で論理が“0”から“1”に遷移する信号である。そして、フリップフロップ223〜225は、時間閾値信号Th0が遷移するタイミングで、中間信号M、信号M1D,M2Dの値をそれぞれ取り込み、信号xout[2],xout[1],xout[0]とする。
より具体的には、図13の場合、中間信号Mおよび信号M1Dは、時刻t11より前に“1”から“0”に遷移している。一方、信号M1Dを遅延させた信号M2Dは、時刻t11より後に“1”から“0”に遷移している。よって、フリップフロップ223〜225は、信号xout[2],xout[1],xout[0]をそれぞれ、“0”,”0”,”1”に設定する。結果として、デジタル信号xoutは“001”となる。
図12および図13に示すように時間信号である中間信号Mの遅延時間を細かく判定して、図14に示すシグモイド関数1/(1+e)を近似してもよい。
以上説明したDTC回路21rおよびTDC回路22により、各演算部Pは図3に示す演算を行うことができる。
このように、第1の実施形態では、電圧値が遷移する時刻で情報を表現する時間信号を利用してニューラルネットワークによる識別に必要な演算処理を行う。よって、ハードウェア構成を簡略化できる。
(第2の実施形態)
第2の実施形態では、図6のDTC回路における遅延回路32の具体的な回路の例をいくつか示す。
図15は、遅延回路32の第1の例を示す回路図である。図示のように、遅延回路32は縦続接続された複数のインバータ(遅延素子)を有する。各インバータは入力される信号を所定時間だけ遅延させて、次段のインバータに供給する。インバータの数を多くするほど遅延時間を長くできる。これにより、簡易に遅延回路32を構成できる。なお、図15の遅延回路の場合、遅延時間はインバータの数に応じて定まる固定値となり、識別装置3の製造後に変更するのは困難である。
図16は、遅延回路32’の第2の例を説明する図であり、同図(a)は回路図、同図(b)はその動作を模式的に示すタイムチャートである。
図16(a)に示すように、遅延回路32’は、可変の電源電圧Vddが供給される遅延素子322を有する。遅延素子322は、例えば図15に示すように複数のインバータで構成してもよく、これらの少なくとも1つに可変の電源電圧Vddが供給されるようにしてもよい。
図16(b)に示すように、遅延素子322は、供給される電源電圧Vddに応じて、信号Aを遅延させて信号Bを生成する。例えば、電源電圧Vddが高い場合(Vdd:H)、遅延時間は短くなる。一方、電源電圧Vddが低い場合(Vdd:L)、遅延時間は長くなる。
図17は、遅延回路32’’の第3の例を示す回路図である。図示のように、遅延回路32’は可変抵抗素子321と、pMOSトランジスタQpと、nMOSトランジスタQnとを有する。トランジスタQp,Qnは遅延素子322を構成する。図17(a)に示すように、電源端子とトランジスタQpのソース端子との間に可変抵抗素子321が挿入されてもよい。また、図17(b)に示すように、グラウンド端子とトランジスタQnのソース端子との間に可変抵抗素子321が挿入されてもよい。さらに、図17(c)に示すように、電源端子とトランジスタQpのソース端子との間、および、グラウンド端子とトランジスタQnのソース端子との間の両方に可変抵抗素子321が挿入されてもよい。
図17の遅延回路32’’では、可変抵抗素子321の抵抗値が大きくなるほど、遅延時間が長くなる。
なお、信号Bの極性を調整するために、図17の遅延回路32’’の前後にインバータを設けてもよい。
図18は、図17(a)における可変抵抗素子321の一例を詳しく示す図である。図示のように、可変抵抗素子321は、DA変換器(DAC)と、MOSトランジスタQとを有する。DACには、例えば識別装置3とは別のメモリチップ323から重み係数が入力される。なお、このメモリチップ322は前もって学習装置2から取得した重み係数を記憶している。
そして、DACは重み係数をアナログ電圧に変換してトランジスタQのゲートに入力する。トランジスタQの抵抗値はアナログ電圧に応じた値となる具体的には、アナログ電圧が大きいほど、抵抗値は小さくなる。
図18のような構成により、識別装置3の製造後であっても、メモリチップ323の重み係数を書き換えることで、可変抵抗素子321の抵抗値を変更できる。よって、ニューラルネットワークを柔軟に変更することができる。例えばニューラルネットワークのバージョンアップや、用途の変更(数字を識別するためのニューラルネットワークから平仮名を識別するためのニューラルネットワークへの変更など)に対応できる。
図19は、図17(a)における可変抵抗素子321の別の例を詳しく示す図である。図示のように、可変抵抗素子321は抵抗可変型の不揮発性記憶素子321aから構成される。記憶素子321aはNAND型フラッシュメモリやReRAMなどであるが、特に制限はない。
記憶素子321aはニューラルネットワークにおける重み係数を記憶している。そして、記憶素子321aは重み係数に応じた閾値電圧Vthを有する。よって、記憶素子321aの抵抗値Rは閾値Vthに応じたR=f(V0−Vth)となる。
すなわち、記憶素子321aは、可変抵抗素子としての機能に加え、重み係数を記憶するメモリとしての機能も持っている。
図19のような構成により、識別装置3の製造後であっても、記憶素子321aの閾値電圧Vthを再調整することで、可変抵抗素子321の抵抗値を変更できる。さらに、記憶素子321a自身が重み係数を記憶できる。そのため、図18と比べ、メモリチップ322を設ける必要がないし、メモリチップ322から重み係数をロードする時間も節約できる。
なお、図17(b)や図17(c)における可変抵抗素子321に、図18や図19を適用してもよい。
図20は、遅延回路32’’’の第4の例を示す回路図である。図示のように、遅延回路32’’’は、遅延素子322の出力端子と、グラウンド端子との間に可変容量324が設けられる。この可変容量324の容量値が大きいほど、遅延時間は長くなる。
図21は、図20における可変容量324を詳しく示す図である。図示のように、可変容量として、容量変化型不揮発性記憶素子324aを用いてもよい。図19と同様に、記憶素子324aは、可変容量素子としての機能に加え、重み係数を記憶するメモリとしても機能する。
上述したような遅延回路32はアナログ回路であるため、必ずしも厳密に所望の遅延時間が実現されるとは限らない。しかしながら、ニューラルネットワーク自体がフォールトトレラントなシステムであるため、このことはほとんど問題にならない。
上述した各実施形態では、画像に描かれた数字を識別する例を示した。しかしながら、各実施形態の用途に限定はなく、数字以外の画像を識別してもよい。また、画像以外に音声の識別を行ってもよい。この場合、センサ1は音声を入力データに変換すればよい。あるいは、化合物の活性予測などに適用してもよい。
なお、以上説明した「識別」は、数字が何であるかといった「認識」のみならず、分類や予測をも含む概念である。また、図2に示すすべての演算装置が実施形態で説明した構成であるのが望ましいが、少なくとも一部が異なる構成であっても構わない。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
1 センサ
2 学習装置
3 識別装置
4 アプリケーション
31 入力層
32a,32b 隠れ層
33 出力層
I1〜In 入力部
P11〜P1p,P21〜P2q,P30〜P39 演算装置
11 積和演算部
12 閾値処理部
211〜21r デジタル時間変換(DTC)回路
22 時間デジタル変換(TDC)回路
321 可変抵抗素子
321a 不揮発性記憶素子
322 インバータ

Claims (14)

  1. 複数の入力デジタル値から構成される入力データを識別する識別装置であって、
    縦続接続され、そのそれぞれが複数の演算装置を有する複数の演算層を備え、
    初段の演算層における前記複数の演算装置のそれぞれは、前記複数の入力デジタル値と、そのそれぞれに対応する予め定められた重み係数と、からデジタル値を生成し、
    2段目以降の演算層における前記複数の演算装置のそれぞれは、前段の演算層における前記複数の演算装置により生成された複数のデジタル値と、そのそれぞれに対応する予め定められた重み係数と、から新たなデジタル値を生成し、
    最終段の演算層における前記複数の演算装置が生成するデジタル値が、識別結果を示し、
    前記複数の演算装置の少なくとも1つは、
    縦続接続された複数のデジタル時間変換回路であって、そのそれぞれは、入力されるデジタル値およびこのデジタル値に対応する前記重み係数に応じた時間だけ、第1の時間信号を遅延させて第2の時間信号を生成し、前記第2の時間信号は前記第1の時間信号として次段のデジタル時間変換回路に入力される、デジタル時間変換回路と、
    最終段の前記デジタル時間変換回路から出力される前記第2の時間信号と、所定の時間閾値信号とを比較して、デジタル信号を生成する時間デジタル変換回路と、を有する、識別装置。
  2. 複数の演算装置を用いたニューラルネットワークにより入力データを識別する識別装置であって、
    前記複数の演算装置の少なくとも1つは、
    縦続接続された複数のデジタル時間変換回路であって、そのそれぞれは、入力されるデジタル値およびこのデジタル値に対応する重み係数に応じた時間だけ、第1の時間信号を遅延させて第2の時間信号を生成し、前記第2の時間信号は前記第1の時間信号として次段のデジタル時間変換回路に入力される、デジタル時間変換回路と、
    最終段の前記デジタル時間変換回路から出力される前記第2の時間信号と、所定の時間閾値信号とを比較して、デジタル信号を生成する時間デジタル変換回路と、を有する、識別装置。
  3. 前記デジタル時間変換回路は、前記重み係数に応じた時間だけ、信号を遅延させる遅延回路を有する、請求項1または2に記載の識別装置。
  4. 前記遅延回路は、縦続接続される複数の遅延素子を有する、請求項3に記載の識別装置。
  5. 前記遅延回路は、供給される電源電圧に応じた時間だけ、入力信号を遅延させる遅延素子を有する、請求項3に記載の識別装置。
  6. 前記遅延回路は、
    可変抵抗素子と、
    この可変抵抗素子の抵抗値に応じた時間だけ、入力信号を遅延させる遅延素子と、を有する、請求項3に記載の識別装置。
  7. 前記遅延素子は、pMOSトランジスタおよびnMOSトランジスタを有し、
    前記可変抵抗素子は、前記pMOSトランジスタのソース端子と電源電圧との間、および、前記nMOSトランジスタのソース端子とグラウンドとの間、の少なくとも一方に挿入される、請求項6に記載の識別装置。
  8. 前記可変抵抗素子は、
    デジタル値である前記重み係数をアナログ電圧に変換するDAコンバータと、
    前記アナログ電圧が制御端子に供給され、そのアナログ電圧値に応じて抵抗値が変化するトランジスタと、を有する、請求項6または7に記載の識別装置。
  9. 前記可変抵抗素子は、前記重み係数を記憶した抵抗可変型不揮発性記憶素子である、請求項6または7に記載の識別装置。
  10. 前記抵抗可変型不揮発性記憶素子は、前記重み係数に応じた閾値電圧を有し、前記閾値電圧に応じて抵抗値が変化する、請求項8に記載の識別装置。
  11. 前記遅延回路は、
    可変容量と、
    この可変容量素子の容量値に応じた時間だけ、入力信号を遅延させる遅延素子と、を有する、請求項3に記載の識別装置。
  12. 前記可変容量は、容量変化型不揮発性記憶素子である、請求項11に記載の識別装置。
  13. 前記重み係数が書き換え可能である、請求項1または2に記載の識別装置。
  14. ニューラルネットワークにより入力データを識別する識別装置に用いられる演算装置であって、
    縦続接続された複数のデジタル時間変換回路であって、そのそれぞれは、入力されるデジタル値およびこのデジタル値に対応する重み係数に応じた時間だけ、第1の時間信号を遅延させて第2の時間信号を生成し、前記第2の時間信号は前記第1の時間信号として次段のデジタル時間変換回路に入力される、デジタル時間変換回路と、
    最終段の前記デジタル時間変換回路から出力される前記第2の時間信号と、所定の時間閾値信号とを比較して、デジタル信号を生成する時間デジタル変換回路と、演算装置。
JP2013186626A 2013-09-09 2013-09-09 識別装置および演算装置 Active JP5885719B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013186626A JP5885719B2 (ja) 2013-09-09 2013-09-09 識別装置および演算装置
US14/176,490 US9361577B2 (en) 2013-09-09 2014-02-10 Processing device and computation device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013186626A JP5885719B2 (ja) 2013-09-09 2013-09-09 識別装置および演算装置

Publications (2)

Publication Number Publication Date
JP2015053008A true JP2015053008A (ja) 2015-03-19
JP5885719B2 JP5885719B2 (ja) 2016-03-15

Family

ID=52626536

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013186626A Active JP5885719B2 (ja) 2013-09-09 2013-09-09 識別装置および演算装置

Country Status (2)

Country Link
US (1) US9361577B2 (ja)
JP (1) JP5885719B2 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017228295A (ja) * 2016-06-20 2017-12-28 東芝メモリ株式会社 演算装置
JP2018049887A (ja) * 2016-09-20 2018-03-29 株式会社東芝 メムキャパシタ、ニューロ素子およびニューラルネットワーク装置
WO2018168537A1 (en) 2017-03-14 2018-09-20 Omron Corporation Learning target apparatus and operating method
WO2018168536A1 (en) 2017-03-14 2018-09-20 Omron Corporation Learning apparatus and learning method
JP2019046460A (ja) * 2017-08-30 2019-03-22 株式会社アクセル 推論装置、及び推論方法
JP2020021480A (ja) * 2018-07-20 2020-02-06 株式会社半導体エネルギー研究所 半導体装置、及び電子機器
US10810018B2 (en) 2016-03-14 2020-10-20 Omron Corporation Device with extensibility
JPWO2019239246A1 (ja) * 2018-06-15 2021-07-26 株式会社半導体エネルギー研究所 半導体装置、及び電子機器
JP2022105077A (ja) * 2015-08-03 2022-07-12 エンゼルグループ株式会社 テーブルゲームの管理システム、遊技用代用貨幣、検査装置、遊技用代用貨幣の管理システム
US11727750B2 (en) 2015-08-03 2023-08-15 Angel Group Co., Ltd. Fraud detection system in a casino

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11074780B2 (en) 2015-08-03 2021-07-27 Angel Playing Cards Co., Ltd. Management system of substitute currency for gaming
ES2858576T3 (es) 2015-08-03 2021-09-30 Angel Playing Cards Co Ltd Moneda sustituta para jugar, dispositivo de inspección, y procedimiento de fabricación de moneda sustituta para jugar, y sistema de gestión de juegos de mesa
US10970962B2 (en) 2015-08-03 2021-04-06 Angel Playing Cards Co., Ltd. Management system of substitute currency for gaming
WO2018025752A1 (ja) 2016-08-02 2018-02-08 エンゼルプレイングカード株式会社 ゲーム管理システム
CN113559492A (zh) * 2015-11-19 2021-10-29 天使集团股份有限公司 桌面游戏的管理系统及游艺用代用货币
US10957156B2 (en) 2016-09-12 2021-03-23 Angel Playing Cards Co., Ltd. Chip measurement system
EP4406628A2 (en) 2016-02-01 2024-07-31 Angel Playing Cards Co., Ltd. Game token management system
JP2018136903A (ja) * 2017-02-21 2018-08-30 エンゼルプレイングカード株式会社 遊戯用代用貨幣の枚数計測システム
JP6782193B2 (ja) 2017-05-23 2020-11-11 株式会社東芝 情報処理装置、半導体装置および情報処理方法
CN111867689A (zh) 2017-12-05 2020-10-30 天使游戏纸牌股份有限公司 管理系统
US20190251430A1 (en) * 2018-02-13 2019-08-15 International Business Machines Corporation Mixed signal cmos rpu with digital weight storage
JP6960357B2 (ja) 2018-03-05 2021-11-05 株式会社東芝 情報処理装置、半導体装置および情報処理方法
US11515873B2 (en) 2018-06-29 2022-11-29 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device and electronic device
JP6926037B2 (ja) 2018-07-26 2021-08-25 株式会社東芝 シナプス回路、演算装置およびニューラルネットワーク装置
US11573792B2 (en) 2019-09-03 2023-02-07 Samsung Electronics Co., Ltd. Method and computing device with a multiplier-accumulator circuit
US11095427B1 (en) * 2020-09-25 2021-08-17 Intel Corporation Transceiver with inseparable modulator demodulator circuits
KR20230117662A (ko) 2022-02-01 2023-08-08 엔제루 구루푸 가부시키가이샤 관리 시스템
GB2620785B (en) * 2022-07-21 2024-08-07 Advanced Risc Mach Ltd Improved spiking neural network apparatus

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003283003A (ja) * 2002-03-27 2003-10-03 Sharp Corp 集積回路装置及びニューロ素子

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3524250B2 (ja) 1995-11-27 2004-05-10 キヤノン株式会社 デジタル画像処理プロセッサ
JP3526859B1 (ja) 2002-12-26 2004-05-17 和博 松江 パターン教示システム、それを用いたパターン識別装置、コンピュータプログラム及びパターン識別装置のデジタル論理回路設計方法
JP4728055B2 (ja) 2005-06-24 2011-07-20 エルピーダメモリ株式会社 人工神経回路
WO2009113993A1 (en) 2008-03-14 2009-09-17 Hewlett-Packard Development Company, L.P. Neuromorphic circuit
JP5155843B2 (ja) 2008-12-22 2013-03-06 シャープ株式会社 情報処理装置及びこれを用いたニューラルネットワーク回路
JP5977033B2 (ja) 2012-02-03 2016-08-24 浜松ヒートテック株式会社 熱処理装置
JP5801231B2 (ja) 2012-03-22 2015-10-28 株式会社東芝 伝送システム、復号装置、メモリコントローラおよびメモリシステム
JP2015032950A (ja) 2013-08-01 2015-02-16 株式会社東芝 遅延回路およびデジタル時間変換器

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003283003A (ja) * 2002-03-27 2003-10-03 Sharp Corp 集積回路装置及びニューロ素子

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12094297B2 (en) 2015-08-03 2024-09-17 Angel Group Co., Ltd. Fraud detection system in a casino
JP7541048B2 (ja) 2015-08-03 2024-08-27 エンゼルグループ株式会社 テーブルゲームの管理システム、遊技用代用貨幣、検査装置、遊技用代用貨幣の管理システム
US11727750B2 (en) 2015-08-03 2023-08-15 Angel Group Co., Ltd. Fraud detection system in a casino
US12094293B2 (en) 2015-08-03 2024-09-17 Angel Group Co., Ltd. Fraud detection system in a casino
US11741780B2 (en) 2015-08-03 2023-08-29 Angel Group Co., Ltd. Fraud detection system in a casino
US12094296B2 (en) 2015-08-03 2024-09-17 Angel Group Co., Ltd. Fraud detection system in a casino
US12094294B2 (en) 2015-08-03 2024-09-17 Angel Group Co., Ltd. Fraud detection system in a casino
US12094295B2 (en) 2015-08-03 2024-09-17 Angel Group Co., Ltd. Fraud detection system in a casino
US12094291B2 (en) 2015-08-03 2024-09-17 Angel Group Co., Ltd. Fraud detection system in a casino
JP2022105077A (ja) * 2015-08-03 2022-07-12 エンゼルグループ株式会社 テーブルゲームの管理システム、遊技用代用貨幣、検査装置、遊技用代用貨幣の管理システム
US12094292B2 (en) 2015-08-03 2024-09-17 Angel Group Co., Ltd. Fraud detection system in a casino
US10810018B2 (en) 2016-03-14 2020-10-20 Omron Corporation Device with extensibility
JP2017228295A (ja) * 2016-06-20 2017-12-28 東芝メモリ株式会社 演算装置
JP2018049887A (ja) * 2016-09-20 2018-03-29 株式会社東芝 メムキャパシタ、ニューロ素子およびニューラルネットワーク装置
US10505108B2 (en) 2016-09-20 2019-12-10 Kabushiki Kaisha Toshiba Memcapacitor, neuro device, and neural network device
WO2018168536A1 (en) 2017-03-14 2018-09-20 Omron Corporation Learning apparatus and learning method
WO2018168537A1 (en) 2017-03-14 2018-09-20 Omron Corporation Learning target apparatus and operating method
JP2019046460A (ja) * 2017-08-30 2019-03-22 株式会社アクセル 推論装置、及び推論方法
JPWO2019239246A1 (ja) * 2018-06-15 2021-07-26 株式会社半導体エネルギー研究所 半導体装置、及び電子機器
US11848664B2 (en) 2018-06-15 2023-12-19 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device and electronic device
JP2020021480A (ja) * 2018-07-20 2020-02-06 株式会社半導体エネルギー研究所 半導体装置、及び電子機器

Also Published As

Publication number Publication date
US9361577B2 (en) 2016-06-07
JP5885719B2 (ja) 2016-03-15
US20150074028A1 (en) 2015-03-12

Similar Documents

Publication Publication Date Title
JP5885719B2 (ja) 識別装置および演算装置
JP6846297B2 (ja) 演算装置
Zhang et al. In-memory computation of a machine-learning classifier in a standard 6T SRAM array
US20170351949A1 (en) Ising device and control method thereof
US20080151600A1 (en) Logical Operation Circuit and Logical Operation Device
US11157799B2 (en) Neuromorphic circuits for storing and generating connectivity information
JPWO2015118686A1 (ja) 階層型ニューラルネットワーク装置、判別器学習方法および判別方法
US11010560B2 (en) Multi-resolution convolutional neural networks for sequence modeling
Cao et al. NeuADC: Neural network-inspired synthesizable analog-to-digital conversion
CN110651330A (zh) 二分忆阻网络中的深度学习
US11494629B2 (en) Charge-sharing compute-in-memory system
US11295198B2 (en) Implementation model of self-organizing reservoir based on lorentzian nonlinearity
US20190294957A1 (en) Arithmetic device and arithmetic method
Kim et al. VCAM: Variation compensation through activation matching for analog binarized neural networks
US20210064974A1 (en) Formation failure resilient neuromorphic device
JP2007066258A (ja) 演算装置
EP4121912A1 (en) Quantum circuit and methods for use therewith
US11423290B2 (en) Methods of executing an arithmetic operation and semiconductor devices performing the arithmetic operation
JP2016019091A (ja) Da変換器のテスト回路及びad変換器のテスト回路
JP2019071113A (ja) イジング装置及びイジング装置の制御方法
CN116722861B (zh) 信号的逻辑处理方法、装置、电子设备和存储介质
Ionescu et al. FPGA implementation of an associative content addressable memory
TWI676361B (zh) 連續漸進式類比數位轉換器及其控制方法
Kang et al. DIMA Prototype Integrated Circuits
US9748968B1 (en) Extreme index finder and finding method thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150814

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160112

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160209

R151 Written notification of patent or utility model registration

Ref document number: 5885719

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350