JP2021103521A - ニューラルネットワーク演算装置および方法 - Google Patents

ニューラルネットワーク演算装置および方法 Download PDF

Info

Publication number
JP2021103521A
JP2021103521A JP2020214202A JP2020214202A JP2021103521A JP 2021103521 A JP2021103521 A JP 2021103521A JP 2020214202 A JP2020214202 A JP 2020214202A JP 2020214202 A JP2020214202 A JP 2020214202A JP 2021103521 A JP2021103521 A JP 2021103521A
Authority
JP
Japan
Prior art keywords
neural network
neural
output
circuit
input
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
JP2020214202A
Other languages
English (en)
Other versions
JP7365999B2 (ja
Inventor
思翰 李
Sih-Han Li
思翰 李
張 世杰
Shih-Chien Chang
世杰 張
世玄 許
Shyh-Shyuan Sheu
世玄 許
建維 蘇
jian-wei Su
建維 蘇
富程 蔡
Fu-Cheng Tsai
富程 蔡
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.)
Industrial Technology Research Institute ITRI
Original Assignee
Industrial Technology Research Institute ITRI
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 Industrial Technology Research Institute ITRI filed Critical Industrial Technology Research Institute ITRI
Publication of JP2021103521A publication Critical patent/JP2021103521A/ja
Application granted granted Critical
Publication of JP7365999B2 publication Critical patent/JP7365999B2/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
    • 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/045Combinations of networks
    • 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/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

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)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Image Analysis (AREA)
  • Color Image Communication Systems (AREA)
  • Electrotherapy Devices (AREA)
  • Measurement Of Resistance Or Impedance (AREA)

Abstract

【課題】ニューラルハードウェアの電力と演算速度表現を改善することのできるニューラルネットワーク演算装置および方法を提供する。【解決手段】ニューラルネットワーク演算装置30は、第1ニューラル回路および第2ニューラル回路を含む。第1ニューラル回路は、ニューラルネットワークアルゴリズムにおいて特徴パターン(pattern)が固定された少なくとも1つの演算層のニューラルネットワーク演算を実行するために使用される。第2ニューラル回路は、ニューラルネットワークアルゴリズムにおいて特徴パターンが固定されていない少なくとも1つの演算層のニューラルネットワーク演算を実行するために使用される。第1ニューラル回路の性能は、第2ニューラル回路よりも大きい。【選択図】図3

Description

本発明は、演算装置および方法に関するものであり、特に、ニューラルネットワーク演算装置および方法に関するものである。
現在の生活において、人工知能(Artificial Intelligence,AI)が異なる技術分野において幅広く応用されるようになり、認識、警告、操作支援等に応用されている。しかし、AIが急速に発展したことによって、新しいタイプの様々なネットワークが生まれ、ハードウェア性能への要求も高まり続けている。人工知能発展の要求に応じるため、高効率人工知能の演算ハードウェアもまた、主な発展目的になっている。
さらに、人工知能を実現する演算ハードウェアは、主に、フォン・ノイマン(Von Neumann)構造により実現することができ、主に、メモリを介して重み値を保存し、処理ユニットを使用して入力信号を処理し、メモリの重み値にアクセスして演算結果を生成することによって、ニューラル演算を行う。処理ユニットが演算を行うには、いずれもメモリから重み値情報にアクセスする必要があるため、電力を大幅に消費して演算の遅延をもたらし、フォン・ノイマン構造がフォン・ノイマン・ボトルネック(Von Neumann Bottleneck)となって、ニューラルハードウェアの電力と演算速度表現が制限される。
本発明は、ニューラルハードウェアの電力と演算速度表現を改善することのできるニューラルネットワーク演算装置および方法を提供する。
本発明の1つの実施形態において、第1ニューラル回路および第2ニューラル回路を含むニューラルネットワーク演算装置を提供する。第1ニューラル回路は、ニューラルネットワークアルゴリズムにおいて特徴パターン(pattern)が固定された少なくとも1つの演算層のニューラルネットワーク演算を実行するために使用される。第2ニューラル回路は、ニューラルネットワークアルゴリズムにおいて特徴パターンが固定されていない少なくとも1つの演算層のニューラルネットワーク演算を実行するために使用される。第1ニューラル回路の性能は、第2ニューラル回路よりも大きい。
本発明の1つの実施形態において、第1ニューラル回路および第2ニューラル回路を内蔵したニューラルネットワーク演算装置に適用するニューラルネットワーク演算方法を提供する。第1ニューラル回路の性能は、第2ニューラル回路よりも大きい。前記方法は、第1ニューラル回路を使用して、ニューラルネットワークアルゴリズムにおいて特徴パターンが固定された少なくとも1つの演算層のニューラルネットワーク演算を実行するステップと、第2ニューラル回路を使用して、ニューラルネットワークアルゴリズムにおいて特徴パターンが固定されていない少なくとも1つの演算層のニューラルネットワーク演算を実行するステップと、を含む。
本発明の実施形態のニューラルネットワーク演算装置および方法は、それが実行する演算の特徴パターンに基づいて、ニューラルネットワークを2つの部分に分ける。特徴パターンが固定された特定の演算層のニューラルネットワーク演算については、性能の高いニューラル回路を使用して実行するが、特徴パターンが固定されていないその他の演算層については、性能は低いが弾性の高いニューラル回路を使用して実行するため、ニューラルハードウェアの電力および演算速度表現を改善することができる。
本発明の上記および他の目的、特徴、および利点をより分かり易くするため、図面と併せた幾つかの実施形態を以下に説明する。
添付図面は、本発明の原理がさらに理解されるために含まれており、本明細書に組み込まれ、且つその一部を構成するものである。図面は、本発明の実施形態を例示しており、説明とともに、本発明の原理を説明する役割を果たしている。
本発明の1つの実施形態に係るニューラルネットワークアーキテクチャの概略図である。 本発明の1つの実施形態に係るニューラルネットワークの転移学習の概略図である。 本発明の1つの実施形態に係るニューラルネットワーク演算装置のブロック図である。 本発明の1つの実施形態に係るニューラルネットワーク演算方法のフロー図である。 本発明の1つの実施形態に係るニューラル回路の概略図である。 本発明の1つの実施形態に係るニューラルネットワーク演算方法のフロー図である。 本発明の1つの実施形態に係るニューラルネットワーク演算方法のフロー図である。
本発明の実施形態は、半導体プロセスの方法で領域特定を実現する人工知能(Artificial Intelligence, AI)のニューラルネットワーク(Neural network)演算装置を提供する。メモリ内計算(Computing in memory, CIM)および転移学習(Transfer learning)の方法に基づいて、本発明の実施形態は、性能の高いニューラル回路を使用して、ニューラルネットワークにおいて特徴パターンが固定された(例えば、構造と重み値を更新する必要がない)特定の演算層のニューラルネットワーク演算を実行してから、性能は低いが弾性の高いニューラル回路を合わせて、ニューラルネットワークにおいて特徴パターンが固定されていない(例えば、構造と重み値を更新する必要がある)その他の演算層のニューラルネットワーク演算を実行する。そのため、演算リソースに限りのあるエッジデバイスにおいて、ニューラルネットワークを使用して映像/音声等の信号の認識を実現することができる。
図1は、本発明の1つの実施形態に係るニューラルネットワークアーキテクチャの概略図である。図1を参照すると、本実施形態のニューラルネットワーク1が畳み込みニューラルネットワーク(Convolution neural network, CNN)である場合を例とすると、畳み込みニューラルネットワークは、認識対象信号2の処理に対し、機能に基づいて、前処理、調整、特徴抽出、接続、決定等の複数の段階に分ける。ここで、認識対象信号2は、例えば、音声、映像等のセンサにより測定して得られたセンサ信号であり、前処理段階において、例えば、前処理回路により信号増幅、フィルタリング、ノイズ抑制、補償、デジタル−アナログ変換、アナログ特徴抽出等の前処理を行って、ニューラルネットワーク1の入力を生成する。
調整段階において、ニューラルネットワーク1は、例えば、様々な適応(adaptation)技術を応用して、後続の特徴抽出に適するよう、特徴の変化を調整する、または減少させる。
特徴抽出段階において、ニューラルネットワーク1は、例えば、複数の畳み込み層、プーリング(pooling)層で構成された特徴抽出装置を使用して、調整後の入力データに対して特徴抽出を行う。畳み込み層は、例えば、複数の入力から成る入力画像上で、異なる畳み込みカーネル(kernel)を移動させて畳み込み演算を行い、1組の特徴マップ(feature map)を取得する。プーリング層は、例えば、非線形プーリング関数を使用して、入力画像に対してダウンサンプリングを行い、パラメータの数と計算量を減らす。いくつかの実施形態において、プーリング層は、さらに、畳み込み層の物体辺縁に対する敏感性を減らすことができる。
特徴抽出のいくつか前の層において、ニューラルネットワーク1は、例えば、点、線、円、または多角形等の固定された特徴パターン(pattern)を採用して入力データの特徴を抽出する。これらの特徴は、通常、認識対象物体に特定されないが、後続の認識した物体に対する特定の特徴抽出の基礎とすることができる。顔認識を例に挙げると、まず、顔部分のライン、輪郭、または形状等の簡単な特徴を抽出することによって、後続の目、鼻、口等の特定部位の特徴抽出を行うのに有利になる。
接続段階において、ニューラルネットワーク1は、例えば、1つまたは複数の完全接続(fully connected)層で構成された分類器を1層前の演算層(例えば、特徴抽出装置の最後の1層の畳み込み層)と接続して、前方の特徴抽出装置が抽出した全ての特徴の重み値を受信し、後続の分類を行う。
決定段階において、ニューラルネットワーク1は、例えば、上述した完全接続層で構成された分類器により、接続段階で受信した特徴重み値に対し、ソフトマックス関数(softmax function)等の非線形関数を使用して個別の特徴の確率(各特徴の出力は0と1の間であり、且つ出力の総和は1である)を計算し、最後に、出力層により、分類器が計算した各特徴の確率に基づいて、投票により最終の認識結果を決定して出力する。上述した認識結果は、例えば、認識対象信号2が各分類に属する確率であり、認識対象信号2がどの分類に属するのか(例えば、確率の最も大きいものはどれか)を表示することができる。
図2は、本発明の1つの実施形態に係るニューラルネットワークの転移学習の概略図である。図2を参照すると、本実施形態は、図1のニューラルネットワーク1を例に挙げて、転移学習の概念について説明する。
まず、入力データの種類および認識対象の分類に基づいて、ニューラルネットワーク1の演算層アーキテクチャ(例えば、調整段階で応用する入力層、特徴抽出段階、接続段階、および決定段階で応用する複数の隠れ層、および決定段階の結果を出力するための出力層を含む)を決定し、ニューラルネットワーク1を確立するとともに、ランダム方式を採用して、各演算層における複数の節点の重み値を生成する。
続いて、映像認識データベース(例えば、イメージネット(ImageNet))から取得した複数の画像およびそれに対応する分類結果をトレーニングデータ3としてニューラルネットワーク1に送信してトレーニングを行い、トレーニングされたニューラルネットワーク1aを取得する。このニューラルネットワーク1aの各演算層における節点の重み値は、既にトレーニングデータを学習することにより更新されている。ニューラルネットワーク1aの複数の演算層は、それが演算した特徴パターンに基づいて、特徴パターンが固定されたニューラルネットワーク演算を実行するための演算層集合12と、特徴パターンが固定されていないニューラルネットワーク演算を実行するための演算層集合14とに分けることができる。
その後、新しいトレーニングデータ4および新しい分類をニューラルネットワーク1aに導入して、再度ニューラルネットワーク1aをトレーニングし、新しいニューラルネットワーク1bを生成する。トレーニング過程では、演算層集合12において各演算層が認識した特徴パターンに基づいて固定するため、その中の節点の重み値を更新する必要がなく、演算層集合14の複数の演算層に対してのみ構造調整および/または重み値更新を行うことができる。例を挙げて説明すると、ニューラルネットワーク1bにおいて、新しい分類に対し、調整後の演算層集合16における出力層の節点数は、3個増加されて5個になり、且つ各演算層の節点の重み値も新しいトレーニングデータ3を学習することにより更新される。
動物画像の認識を例に挙げて説明すると、入力層の入力は、パターンの全ての画素点であり、第1層の畳み込み層は、最も基礎的な図形、例えば、横線、直線、丸のような図形を判断し、第2層は、やや複雑な図形、例えば、多角形を判断し、第3層は、さらに複雑な図形を判断し、以下同様に判断を行う。このことからわかるように、前方のいくつかの層の特徴認識は、認識対象のターゲットと直接関係がないため、猫、犬、鳥、象、虎のどれを認識するかに関わらず、画素レベルの微小図形ではない。しかしながら、どのような図形であるかに関わらず、いずれも画素レベルの図形がまとまって形成されているため、前方のいくつかの層も極めて重要である。したがって、本発明の実施形態において、前方のいくつかの層を保留して、後方のいくつかの層を置換または更新した後、再度モデルのパラメータをトレーニングすることによって、新しく、且つ要求を満たしたモデルを取得することができる。新しいモデルに基づいて後方のいくつかの層をトレーニングするだけでよく、計算するパラメータが比較的少ないため、過剰適合(over-fitting)の問題が発生しにくい。
上述したニューラルネットワークアーキテクチャに基づき、本発明の実施形態は、メモリ内計算方式に基づくニューラルネットワーク演算装置アーキテクチャを提供する。図3は、本発明の1つの実施形態に係るニューラルネットワーク演算装置のブロック図である。図3を参照すると、本実施形態のニューラルネットワーク演算装置30は、例えば、抵抗変化型メモリアーキテクチャを採用したニューラルネットワーク加速器、あるいはこの加速器における1つの処理エンジン(Processing engine, PE)であり、ディープラーニング(Deep learning, DL)に応用され、プロセッサ(例えば、中央処理装置)を補助してニューラルネットワーク演算を行うために使用される。上述したニューラルネットワーク演算は、例えば、積和(Multiply Accumulate, MAC)演算である。
ニューラルネットワーク演算装置30は、第1ニューラル回路32および第2ニューラル回路34を含み、且つ第1ニューラル回路32の性能は、第2ニューラル回路34よりも大きい。いくつかの実施形態において、第1ニューラル回路32は、例えば、読み出し専用メモリ(Read only memory,ROM)または電子ヒューズ(Efuse)メモリ等のワンタイムプログラミング(One-time programming, OTP)メモリである。第2ニューラル回路34は、例えば、スタティックランダムアクセスメモリ(Static random access memory,SRAM)またはフラッシュ(flash)メモリ等のマルチタイムプログラミング(Multi-time programming,MTP)メモリである。その他の実施形態において、第1ニューラル回路32および第2ニューラル回路34は、その他の類型のメモリの組み合わせであってもよく、本発明はこれに限定されない。
いくつかの実施形態において、ニューラルネットワーク演算装置30は、さらに、入力および出力データを一時的に保存するためのバッファ(buffer)、および非線形関数およびプーリング関数演算を支持するための演算回路(図示せず)を含むが、本発明はこれに限定されない。
図4は、本発明の1つの実施形態に係るニューラルネットワーク演算方法のフロー図である。図3および図4を同時に参照すると、本実施形態の方法は、図3のニューラルネットワーク演算装置30に適用され、以下、ニューラルネットワーク演算装置30における各素子を組み合わせて、本発明のニューラルネットワーク演算方法の詳細なステップについて説明する。
ステップS402において、ニューラルネットワーク演算装置30は、第1ニューラル回路32を使用して、ニューラルネットワークアルゴリズムにおいて特徴パターンが固定された少なくとも1つの演算層のニューラルネットワーク演算を実行する。上述した固定された特徴パターンは、認識対象物体に特定されない点、線、円、または多角形を含むが、本発明はこれに限定されない。第1ニューラル回路32は、例えば、ニューラルネットワークアルゴリズムにおいて特徴学習を担当する演算層の演算、またはその他の認識したい対象と直接関係のない演算層の演算を行うために使用される。
いくつかの実施形態において、ニューラルネットワーク演算装置30は、例えば、まず、入力信号に対して信号増幅、フィルタリング、ノイズ抑制、補償、アナログ−デジタル変換、アナログ特徴抽出等の前処理を行って、第1ニューラル回路32の入力(例えば、図1の前処理段階における処理に対応する)を生成する。
いくつかの実施形態において、第1ニューラル回路32は、互いに交差して配置された複数の入力線および複数の出力線、それぞれ入力線と出力線の複数の交点に配置され、且つニューラルネットワーク演算の複数の重み値を保存する複数の記憶ユニット、およびそれぞれ出力線に接続された複数のセンサアンプを含むメモリ内計算(Computing in memory, CIM)アーキテクチャを採用する。
図5は、本発明の1つの実施形態に係るニューラル回路の概略図である。図5を参照すると、本実施形態は、図3の第1ニューラル回路32のアーキテクチャおよび操作方法を説明したものである。第1ニューラル回路32は、交差して配置された複数の入力線および複数の出力線を含むクロスバーアレイ(crossbar array)のアーキテクチャを採用する。これらの入力線および出力線は、例えば、メモリ回路のワード線およびビット線であり、列デコーダおよび行デコーダの制御により、ニューラルネットワーク演算の入力I1〜入力線に送信することができるが、本発明はこれに限定されない。
入力線および出力線の各交点において記憶ユニットを配置し、この記憶ユニットは、例えば、入力線の制御によりニューラルネットワーク演算の重み値(例えば、図示した重み値R11〜Rmn、m、nは正の整数)を保存して、対応する出力電流または等価抵抗をイネーブルにする、または起動時に生成することのできる読み出し専用メモリ(Read only memory, ROM)または電子ヒューズ(Efuse)等の半導体素子を採用する。
記憶ユニットは、n列とm行に分けられ、各行の記憶ユニットは、共に1本の入力線に接続され、ニューラルネットワーク演算の入力I1〜Imを受信して、前記行記憶ユニットの電流の大きさまたは等価抵抗を制御する。各記憶ユニットは、例えば、接続された入力線の入力に対して乗法演算を行い、接続された出力線に乗積を出力する(例えば、入力電圧は、保存した抵抗値に対応するコンダクタンスの作用により、出力電流を生成する)。各列の記憶ユニットは、共に1本の出力線に接続され、出力線は、接続された記憶ユニットが出力した乗積を累加して、出力O1〜Oを生成する(例えば、各記憶ユニットが出力した電流を集めて、出力電流を生成する)。
センサアンプSA1〜SAは、それぞれ出力線に接続され、接続された記憶ユニットが出力した乗積を出力線が累加して得られる出力O1〜Oを感知するために使用され、次の演算層の入力として使用される。
いくつかの実施形態において、ニューラルネットワーク演算装置30は、例えば、第1ニューラル回路32において複数の演算層のニューラルネットワーク演算を実行した時、互いに隣接する演算層の間に出力結果を調整することのできる1つの調整回路(図示せず)を追加し、この調整回路は、それぞれセンサアンプSA1〜SAに接続または配置され、調整後の出力が次の演算層の入力として適するよう、センサアンプSA1〜SAが感知した出力のゲイン(gain)およびバイアス(bias)を調整するために使用することができる。
図6は、本発明の1つの実施形態に係るニューラルネットワーク演算方法のフロー図である。図5および図6を同時に参照すると、本実施形態の方法は、図5の第1ニューラル回路32に適用され、以下、第1ニューラル回路32における各素子を組み合わせて、本発明のニューラルネットワーク演算方法の詳細なステップについて説明する。
ステップS602において、ニューラルネットワーク演算装置30により、ニューラルネットワーク演算の複数の入力I1〜Imをそれぞれ第1ニューラル回路32の入力線に入力する。
ステップS604において、第1ニューラル回路32の記憶ユニットにより、接続された入力線の入力I1〜Imに対して乗法演算を行い、接続された出力線に乗積を出力する。
ステップS606において、第1ニューラル回路32のセンサアンプSA1〜SAにより、接続された記憶ユニットが出力した乗積を出力線が累加して得られる出力O1〜を感知する。
ステップS608において、第1ニューラル回路32の調整回路により、調整後の出力が次の演算層の入力として適するよう、センサアンプSA1〜SAが感知した出力のゲインとバイアスを調整する。
出力結果を適切に調整することにより、1層下の演算層の特性または要求に符合させることができ、ハードウェアアーキテクチャを大幅に変更しなくても、より優れた正確性特性を実現することができる。
図4のフローに戻ると、ステップS404において、ニューラルネットワーク演算装置30は、第2ニューラル回路34を使用して、ニューラルネットワークアルゴリズムにおいて特徴パターンが固定されていない少なくとも1つの演算層のニューラルネットワーク演算を実行する。つまり、第2ニューラル回路34は、例えば、ニューラルネットワークアルゴリズムにおいて分類を担当する演算層の演算、または認識対象が異なるために修正を必要とするその他の演算層の演算を行うために使用される。
第1ニューラル回路32と同様に、第2ニューラル回路34もメモリ内計算演算アーキテクチャ(図5に示す)を採用するが、第1ニューラル回路32と異なるのは、第2ニューラル回路34における記憶ユニットが、スタティックランダムアクセスメモリ(Static random access memory,SRAM)またはフラッシュ(flash)等の半導体素子を採用することである。第1ニューラル回路32の記憶ユニットと相対させて説明すると、性能は低いが比較的高い弾性を有するため、新しい入力データに対応して、演算層のアーキテクチャを適応的に調整し、各演算層における節点の重み値を更新することができる。
図7は、本発明の1つの実施形態に係るニューラルネットワーク演算方法のフロー図である。図3および図7を参照すると、本実施形態の方法は、図3の第2ニューラル回路34に適用され、第2ニューラル回路34は、図5に示した第1ニューラル回路32のアーキテクチャを採用する。
ステップS702において、ニューラルネットワーク演算装置30は、ニューラルネットワーク演算の複数の入力をそれぞれ第2ニューラル回路34の入力線に入力する。
ステップS704において、第2ニューラル回路34の記憶ユニットは、接続された入力線の入力に対して乗法演算を行い、接続された出力線に乗積を出力する。
ステップS706において、第2ニューラル回路34のセンサアンプにより、接続された記憶ユニットが出力した乗積を出力線が累加して得られる出力を感知する。
ステップS708において、第2ニューラル回路34により、センサアンプが感知した出力に基づいて、演算層のアーキテクチャを調整する、または各記憶ユニットに保存した重み値を更新する。そのため、調整後の演算層は、新しい分類演算を支持することができ、且つより優れた認識正確性を有する。
いくつかの実施形態において、第2ニューラル回路34は、出力に対してアナログ−デジタル変換、正規化、および活性化関数演算等の後処理を行うことにより、次の演算層の入力とすることができるが、本発明はこれに限定されない。
いくつかの実施形態において、第1ニューラル回路32と同様に、第2ニューラル回路34も、互いに隣接する演算層の間に出力結果を調整することのできる1つの調整回路を追加して、調整後の出力が次の演算層の入力として適するよう、センサアンプが感知した出力のゲインおよびバイアスを調整するために使用することができ、それにより、より優れた正確性を実現することができるが、本発明はこれに限定されない。
以上のように、本発明の実施形態のニューラルネットワーク演算装置および方法は、メモリ内計算および転移学習の利点を組み合わせ、実行する演算の特徴パターンに基づいて、ニューラルネットワークを2つの部分に分ける。特徴パターンが固定された特定の演算層のニューラルネットワーク演算については、性能の高いニューラル回路を使用して実行するが、特徴パターンが固定されていないその他の演算層については、性能は低いが弾性の高いニューラル回路を使用して実行するため、高性能、低コスト、且つ一定の弾性を有するAI加速器チップ構造を実現することができ、端末(エッジ)またはクラウドのニューラルネットワーク加速器において運用することができる。
以上のごとく、この発明を実施形態により開示したが、もとより、この発明を限定するためのものではなく、当業者であれば容易に理解できるように、この発明の技術思想の範囲内において、適当な変更ならびに修正が当然なされうるものであるから、その特許権保護の範囲は、特許請求の範囲および、それと均等な領域を基準として定めなければならない。
本発明のニューラルネットワーク演算装置および方法は、メモリ装置、プロセッサ、およびその製造方法に応用することができる。
1、1a、1b ニューラルネットワーク
2 認識対象信号
3、4 トレーニングデータ
12、14、16 演算層集合
30 ニューラルネットワーク演算装置
32 第1ニューラル回路
34 第2ニューラル回路
1〜Im 入力
11〜Rmn 重み値
1〜On 出力
SA1〜SAn センサアンプ
S402〜S404、S602〜S608、S702〜S708 ステップ

Claims (20)

  1. ニューラルネットワークアルゴリズムにおいて特徴パターン(pattern)が固定された少なくとも1つの演算層のニューラルネットワーク演算を実行する第1ニューラル回路と、
    前記ニューラルネットワークアルゴリズムにおいて特徴パターンが固定されていない少なくとも1つの演算層のニューラルネットワーク演算を実行する第2ニューラル回路と、
    を含み、前記第1ニューラル回路の性能が、前記第2ニューラル回路よりも大きいニューラルネットワーク演算装置。
  2. 前記第1ニューラル回路が、ワンタイムプログラミング(One-time programming, OTP)メモリであり、前記第2ニューラル回路が、マルチタイムプログラミング(Multi-time programming, MTP)メモリである請求項1に記載のニューラルネットワーク演算装置。
  3. 前記ワンタイムプログラミングメモリが、読み出し専用メモリ(Read only memory, ROM)または電子ヒューズ(Efuse)メモリである請求項1または2に記載のニューラルネットワーク演算装置。
  4. 前記マルチタイムプログラミングメモリが、スタティックランダムアクセスメモリ(Static random access memory, SRAM)またはフラッシュ(flash)メモリである請求項2に記載のニューラルネットワーク演算装置。
  5. 固定された前記特徴パターンが、認識対象物体に特定されない点、線、円、または多角形を含む請求項2に記載のニューラルネットワーク演算装置。
  6. 入力信号に対して前処理を行い、前記第1ニューラル回路の複数の入力を生成する前処理回路をさらに含み、前記前処理が、信号増幅、フィルタリング、ノイズ抑制、補償、デジタル−アナログ変換、アナログ特徴抽出のうちの1つ、またはその組み合わせを含む請求項1〜5のいずれか1項に記載のニューラルネットワーク演算装置。
  7. 前記第1ニューラル回路および前記第2ニューラル回路が、それぞれ、
    それぞれ前記ニューラルネットワーク演算の複数の入力を受信する複数の入力線、および前記複数の入力線と交差して配置された複数の出力線と、
    それぞれ前記入力線と前記出力線の複数の交点に配置され、前記ニューラルネットワーク演算の複数の重み値を保存し、接続された前記入力線の前記入力に対して乗法演算を行って、接続された前記出力線に乗積を出力するための複数の記憶ユニットと、
    それぞれ前記出力線に接続され、接続された前記記憶ユニットが出力した前記乗積を前記出力線が累加して得られる出力を感知するための複数のセンサアンプ(Sense amplifier, SA)と、
    を含む請求項1〜6のいずれか1項に記載のニューラルネットワーク演算装置。
  8. 前記第1ニューラル回路および前記第2ニューラル回路が、さらに、
    それぞれ前記センサアンプに接続または配置され、調整後の前記出力が次の前記演算層の入力として適するよう、前記センサアンプが感知した前記出力のゲイン(gain)およびバイアス(bias)を調整するための複数の調整回路を含む請求項7に記載のニューラルネットワーク演算装置。
  9. 前記ニューラルネットワーク演算が、積和(Multiply Accumulate, MAC)演算である請求項1〜8のいずれか1項に記載のニューラルネットワーク演算装置。
  10. 第1ニューラル回路および第2ニューラル回路を内蔵したニューラルネットワーク演算装置に適用するニューラルネットワーク演算方法であって、前記第1ニューラル回路の性能が、前記第2ニューラル回路よりも大きく、前記方法が、
    前記第1ニューラル回路を使用して、前記ニューラルネットワークアルゴリズムにおいて特徴パターンが固定された少なくとも1つの演算層のニューラルネットワーク演算を実行するステップと、
    前記第2ニューラル回路を使用して、前記ニューラルネットワークアルゴリズムにおいて特徴パターンが固定されていない少なくとも1つの演算層のニューラルネットワーク演算を実行するステップと、
    を含む方法。
  11. 前記第1ニューラル回路が、互いに交差して配置された複数の入力線および複数の出力線、それぞれ前記入力線と前記出力線の複数の交点に配置され、且つ前記ニューラルネットワーク演算の複数の重み値を保存する複数の記憶ユニット、およびそれぞれ前記出力線に接続された複数のセンサアンプを含み、前記第1ニューラル回路を使用して、前記ニューラルネットワークアルゴリズムにおいて特徴パターンが固定された少なくとも1つの演算層のニューラルネットワーク演算を実行する前記ステップが、
    前記ニューラルネットワーク演算の複数の入力を前記入力線に入力するステップと、
    前記記憶ユニットにより、接続された前記入力線の前記入力に対して乗法演算を行い、接続された前記出力線に乗積を出力するステップと、
    前記センサアンプにより、接続された前記記憶ユニットが出力した前記乗積を前記出力線が累加して得られる出力を感知するステップと、
    を含む請求項10に記載の方法。
  12. 前記第1ニューラル回路を使用して、前記ニューラルネットワークアルゴリズムにおいて特徴パターンが固定された少なくとも1つの演算層のニューラルネットワーク演算を実行するステップの前に、さらに、
    入力信号に対して前処理を行い、前記第1ニューラル回路の前記入力を生成するステップを含み、前記前処理が、信号増幅、フィルタリング、ノイズ抑制、補償、アナログ−デジタル変換、アナログ特徴抽出のうちの1つ、またはその組み合わせを含む請求項10または11に記載の方法。
  13. 前記センサアンプにより、接続された前記記憶ユニットが出力した前記乗積を前記出力線が累加して得られる出力を感知するステップの後に、さらに、
    前記センサアンプが感知した前記出力に対して後処理を行うことにより、次の前記演算層の入力とするステップを含み、前記後処理が、アナログ−デジタル変換、正規化(normalization)、および活性化関数(activation function)演算のうちの1つ、またはその組み合わせを含む請求項10〜12のいずれか1項に記載の方法。
  14. 前記後処理が、さらに、調整後の前記出力が次の前記演算層の入力として適するよう、前記センサアンプが感知した前記出力のゲインおよびバイアスを調整することを含む請求項13に記載の方法。
  15. 前記第2ニューラル回路が、互いに交差して配置された複数の入力線および複数の出力線、それぞれ前記入力線と前記出力線の複数の交点に配置され、且つ前記ニューラルネットワーク演算の複数の重み値を保存する複数の記憶ユニット、およびそれぞれ前記出力線に接続された複数のセンサアンプを含み、前記第2ニューラル回路を使用して、前記ニューラルネットワークアルゴリズムにおいて特徴パターンが固定されていない少なくとも1つの演算層のニューラルネットワーク演算を実行する前記ステップが、
    前記ニューラルネットワーク演算の複数の入力を前記入力線に入力するステップと、
    前記記憶ユニットにより、接続された前記入力線の前記入力に対して乗法演算を行い、接続された前記出力線に乗積を出力するステップと、
    前記センサアンプにより、接続された前記記憶ユニットが出力した前記乗積を前記出力線が累加して得られる出力を感知するステップと、
    感知した前記出力に基づいて、前記演算層のアーキテクチャを調整する、または各前記記憶ユニットに保存した前記重み値を更新するステップと、
    を含む請求項10〜12のいずれか1項に記載の方法。
  16. 前記センサアンプにより、接続された前記記憶ユニットが出力した前記乗積を前記出力線が累加して得られる出力を感知するステップの後に、さらに、
    前記出力に対して後処理を行うことにより、次の前記演算層の入力とするステップを含み、前記後処理が、アナログ−デジタル変換、正規化、および活性化関数演算のうちの1つ、またはその組み合わせを含む請求項15に記載の方法。
  17. 前記後処理が、さらに、調整後の前記出力が次の前記演算層の入力として適するよう、前記センサアンプが感知した前記出力のゲインおよびバイアスを調整することを含む請求項13に記載の方法。
  18. 前記第1ニューラル回路が、ワンタイムプログラミングメモリであり、前記第2ニューラル回路が、マルチタイムプログラミングメモリであり、前記ワンタイムプログラミングメモリが、読み出し専用メモリまたは電子ヒューズメモリであり、前記マルチタイムプログラミングメモリが、スタティックランダムアクセスメモリまたはフラッシュメモリである請求項10〜17のいずれか1項に記載の方法。
  19. 固定された前記特徴パターンが、認識対象物体に特定されない点、線、円、または多角形を含む請求項10〜18のいずれか1項に記載の方法。
  20. 前記ニューラルネットワーク演算が、積和演算である請求項10〜19のいずれか1項に記載の方法。
JP2020214202A 2019-12-24 2020-12-23 ニューラルネットワーク演算装置および方法 Active JP7365999B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201962953207P 2019-12-24 2019-12-24
US62/953,207 2019-12-24

Publications (2)

Publication Number Publication Date
JP2021103521A true JP2021103521A (ja) 2021-07-15
JP7365999B2 JP7365999B2 (ja) 2023-10-20

Family

ID=76437232

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020214202A Active JP7365999B2 (ja) 2019-12-24 2020-12-23 ニューラルネットワーク演算装置および方法

Country Status (4)

Country Link
US (1) US20210192327A1 (ja)
JP (1) JP7365999B2 (ja)
CN (1) CN113033792A (ja)
TW (1) TWI787691B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112771541A (zh) * 2018-09-27 2021-05-07 谷歌有限责任公司 使用整数神经网络的数据压缩
CN117648957A (zh) * 2022-08-10 2024-03-05 华为技术有限公司 基于存算一体电路的神经网络补偿方法、装置及电路
WO2023160735A2 (zh) * 2023-06-09 2023-08-31 南京大学 一种运算方法和运算单元

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0644376A (ja) * 1992-05-28 1994-02-18 Matsushita Electric Ind Co Ltd 画像特徴抽出装置、画像認識方法及び画像認識装置
JP2001196920A (ja) * 2000-01-07 2001-07-19 Nippon Telegr & Teleph Corp <Ntt> 関数機能構成データ保持方法及びその方法を用いた集積回路
JP2015215837A (ja) * 2014-05-13 2015-12-03 株式会社デンソー 演算処理装置
JP2018026040A (ja) * 2016-08-12 2018-02-15 キヤノン株式会社 情報処理装置および情報処理方法
WO2018135516A1 (ja) * 2017-01-19 2018-07-26 日本電気株式会社 ニューラルネットワーク学習装置、ニューラルネットワーク学習方法、及び、ニューラルネットワーク学習プログラムが格納された記録媒体
JP2018133016A (ja) * 2017-02-17 2018-08-23 株式会社半導体エネルギー研究所 ニューラルネットワークシステム
WO2018208939A1 (en) * 2017-05-09 2018-11-15 Neurala, Inc. Systems and methods to enable continual, memory-bounded learning in artificial intelligence and deep learning continuously operating applications across networked compute edges
JP2019159889A (ja) * 2018-03-14 2019-09-19 オムロン株式会社 欠陥検査装置、欠陥検査方法、及びそのプログラム
JP2019191930A (ja) * 2018-04-25 2019-10-31 株式会社デンソー ニューラルネットワーク回路

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0822446A (ja) * 1994-07-11 1996-01-23 Matsushita Electric Ind Co Ltd ニューラルネットワーク回路
US7647284B2 (en) * 2007-01-12 2010-01-12 Toyota Motor Engineering & Manufacturing North America, Inc. Fixed-weight recurrent neural network controller with fixed long-term and adaptive short-term memory
US9189729B2 (en) * 2012-07-30 2015-11-17 International Business Machines Corporation Scalable neural hardware for the noisy-OR model of Bayesian networks
WO2014060001A1 (en) * 2012-09-13 2014-04-24 FRENKEL, Christina Multitransmitter model of the neural network with an internal feedback
CN105095965B (zh) * 2015-07-16 2017-11-28 清华大学 人工神经网络和脉冲神经网络神经的混合通信方法
US11055063B2 (en) * 2016-05-02 2021-07-06 Marvell Asia Pte, Ltd. Systems and methods for deep learning processor
CN108805270B (zh) * 2018-05-08 2021-02-12 华中科技大学 一种基于存储器的卷积神经网络系统
CN109800879B (zh) * 2018-12-21 2022-02-01 科大讯飞股份有限公司 知识库构建方法和装置
CN109816026B (zh) * 2019-01-29 2021-09-10 清华大学 卷积神经网络和脉冲神经网络的融合装置及方法
CN110543933B (zh) * 2019-08-12 2022-10-21 北京大学 基于flash存算阵列的脉冲型卷积神经网络

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0644376A (ja) * 1992-05-28 1994-02-18 Matsushita Electric Ind Co Ltd 画像特徴抽出装置、画像認識方法及び画像認識装置
JP2001196920A (ja) * 2000-01-07 2001-07-19 Nippon Telegr & Teleph Corp <Ntt> 関数機能構成データ保持方法及びその方法を用いた集積回路
JP2015215837A (ja) * 2014-05-13 2015-12-03 株式会社デンソー 演算処理装置
JP2018026040A (ja) * 2016-08-12 2018-02-15 キヤノン株式会社 情報処理装置および情報処理方法
WO2018135516A1 (ja) * 2017-01-19 2018-07-26 日本電気株式会社 ニューラルネットワーク学習装置、ニューラルネットワーク学習方法、及び、ニューラルネットワーク学習プログラムが格納された記録媒体
JP2018133016A (ja) * 2017-02-17 2018-08-23 株式会社半導体エネルギー研究所 ニューラルネットワークシステム
WO2018208939A1 (en) * 2017-05-09 2018-11-15 Neurala, Inc. Systems and methods to enable continual, memory-bounded learning in artificial intelligence and deep learning continuously operating applications across networked compute edges
JP2019159889A (ja) * 2018-03-14 2019-09-19 オムロン株式会社 欠陥検査装置、欠陥検査方法、及びそのプログラム
JP2019191930A (ja) * 2018-04-25 2019-10-31 株式会社デンソー ニューラルネットワーク回路

Also Published As

Publication number Publication date
CN113033792A (zh) 2021-06-25
TW202125340A (zh) 2021-07-01
US20210192327A1 (en) 2021-06-24
JP7365999B2 (ja) 2023-10-20
TWI787691B (zh) 2022-12-21

Similar Documents

Publication Publication Date Title
JP7365999B2 (ja) ニューラルネットワーク演算装置および方法
CN109697510B (zh) 具有神经网络的方法和装置
CN109496322B (zh) 信用评价方法和装置以及梯度渐进决策树参数调整方法和装置
TW201626293A (zh) 由知識圖譜偏置的資料分類
KR100865201B1 (ko) 참조 데이터 최적화 학습 방법과 패턴 인식 시스템
CN114841257B (zh) 一种基于自监督对比约束下的小样本目标检测方法
CN107240087B (zh) 目标检测系统和方法
CN105981055A (zh) 神经网络对当前计算资源的自适应
WO2016133591A1 (en) Method for dynamically updating classifier complexity
CN106296734B (zh) 基于极限学习机和boosting多核学习的目标跟踪方法
CN111783997B (zh) 一种数据处理方法、装置及设备
CN106651915A (zh) 基于卷积神经网络的多尺度表达的目标跟踪方法
US20150242746A1 (en) Dynamic spatial target selection
CN111291165A (zh) 训练词向量嵌入模型的方法及装置
CN113222123A (zh) 模型训练方法、装置、设备及计算机存储介质
CN112861718A (zh) 一种轻量级特征融合人群计数方法及系统
KR101825933B1 (ko) 좌표 변환을 위한 위상 코딩
US11880769B2 (en) Using multiple functional blocks for training neural networks
KR102505946B1 (ko) 인공신경망 모델 학습 방법 및 시스템
CN113837350A (zh) 神经形态设备和训练用于图像识别的神经网络的方法
CN114121296B (zh) 基于数据驱动的临床信息规则提取方法、存储介质及设备
CN110533158A (zh) 模型建构方法、系统及非易失性电脑可读取记录介质
WO2021130951A1 (ja) 物体追跡装置、物体追跡方法及び記録媒体
TW202207079A (zh) 目標資料特徵提取方法、及裝置
KR20210104299A (ko) 영상 객체 속성 분류 장치 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221011

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230106

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230418

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230810

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20230823

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: 20230919

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231010

R150 Certificate of patent or registration of utility model

Ref document number: 7365999

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150