JP6960700B2 - Multicast Network On-Chip Convolutional Neural Network Hardware Accelerator and Its Behavior - Google Patents

Multicast Network On-Chip Convolutional Neural Network Hardware Accelerator and Its Behavior Download PDF

Info

Publication number
JP6960700B2
JP6960700B2 JP2020537478A JP2020537478A JP6960700B2 JP 6960700 B2 JP6960700 B2 JP 6960700B2 JP 2020537478 A JP2020537478 A JP 2020537478A JP 2020537478 A JP2020537478 A JP 2020537478A JP 6960700 B2 JP6960700 B2 JP 6960700B2
Authority
JP
Japan
Prior art keywords
neural network
convolutional neural
calculation
module
hardware accelerator
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.)
Active
Application number
JP2020537478A
Other languages
Japanese (ja)
Other versions
JP2021510219A (en
Inventor
杜高明
▲楊▼振文
▲呉▼▲樹▼明
▲張▼多利
宋宇▲鯤▼
▲張▼永亮
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.)
Hefei University of Technology
Original Assignee
Hefei University of Technology
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 Hefei University of Technology filed Critical Hefei University of Technology
Publication of JP2021510219A publication Critical patent/JP2021510219A/en
Application granted granted Critical
Publication of JP6960700B2 publication Critical patent/JP6960700B2/en
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/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/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons

Description

本発明は集積回路ネットワークオンチップの通信技術領域に属し、特にマルチキャストネットワークオンチップに基づいた畳み込みニューラルネットワークハードウェアアクセラレータおよびその動作方式に関与する。 The present invention belongs to the communication technology area of integrated circuit network-on-chip, and is particularly related to a convolutional neural network hardware accelerator based on a multicast network-on-chip and its operation method.

畳み込みニューラルネットワークは人工ニューラルネットワークを源に由来する。多層感知機器として、図形の並行移動、比例ズーム、傾斜の変形に強い適応性を持ち、図形の特徴を迅速に抽出できる。重み付け値共有ネットワーク構造を採用し、この構造は生物ニューラルネットワーク構造に強い相似性を持ち、このような構造は重み付け値の数量を減少し、ネットワークモデルの複雑度を低減し、ネットワークに対して多次元画像を入力するとこの長所が更に明確にしていて、画像は直接ネットワークの入力として、伝統的な識別アルゴリズムの複雑な特徴抽出とデータ再構築プロセスが避けられる。 Convolutional neural networks are derived from artificial neural networks. As a multi-layer sensing device, it has strong adaptability to parallel movement of figures, proportional zoom, and deformation of inclination, and can quickly extract the features of figures. Adopting a weighted value sharing network structure, this structure has strong similarity to the biological neural network structure, such a structure reduces the number of weighted values, reduces the complexity of the network model, and is more than the network. Inputting a dimensional image further clarifies this advantage, as the image is directly network input, avoiding the complex feature extraction and data reconstruction processes of traditional identification algorithms.

数字の書き方が簡単であり、十種類しかないが、数字の書き方が比較的に簡単であるため、差別が比較的に小さいであり、手書きの数字の形が差別が多く識別の難易度が高くなり、精度は比較的に低い。畳み込みニューラルネットワークを用いて識別精度を大きく高め、現状識別率が99.33%に達している。しかし、ある識別プロセスには、識別の速さおよび高い精度が求められている。 There are only ten types of numbers that are easy to write, but because the numbers are relatively easy to write, discrimination is relatively small, and the handwritten numbers are highly discriminatory and difficult to identify. The accuracy is relatively low. The identification accuracy is greatly improved by using a convolutional neural network, and the current identification rate has reached 99.33%. However, some identification processes require speed and accuracy of identification.

しかしながら、ソフトウェア的な畳み込みニューラルネットワークで図形を識別に時間がかかり、ニューラルネットワークの並行性は十分に発揮できなく、リアルタイム性と電力消費量の面では実際の要求に満たさない。ハードウェアに基づいた畳み込みニューラルネットワークの図形識別の面では、FPGAでニューラルネットワークを実現するのは新たな方向である。コンピュータエンジニアリングジャーナル第43巻第一期の《FPGAに基づいた畳み込みニューラルネットワークアクセラレータ》ではFPGAに基づいた畳み込みニューラルネットワークアクセラレータの実現方法を提出し、このアクセラレータはニューラルネットワークの計算で比較的に高い速度を獲得したが、ニューラルネットワークの計算時には畳み込み計算の並行性の利用はそれほど高くなく、それにゆえ畳み込み計算の面ではまだアップする区間が大きく、同時にこのアクセラレータは通信と計算を分離していなく、再利用性が強くない。 However, it takes time to identify a figure with a software-like convolutional neural network, the concurrency of the neural network cannot be sufficiently exhibited, and the actual requirements are not satisfied in terms of real-time performance and power consumption. In terms of graphic identification of convolutional neural networks based on hardware, the realization of neural networks with FPGAs is a new direction. In "FPGA-based Convolutional Neural Network Accelerator", Volume 43, Phase 1 of the Computer Engineering Journal, we submitted a method for realizing a convolutional neural network accelerator based on FPGA, and this accelerator has a relatively high speed in neural network calculations. Although acquired, the use of concurrency of convolutional calculation is not so high when calculating neural networks, so there is still a large interval to increase in terms of convolutional calculation, and at the same time, this accelerator does not separate communication and calculation and reuses it. The sex is not strong.

本発明は前記の現状の技術に不足なところを解決するため、マルチキャストネットワークオンチップに基づいた畳み込みニューラルネットワークハードウェアアクセラレータおよびその動作方式を提出し、畳み込みニューラルネットワークハードウェアアクセラレータを用いてマルチキャストネットワークオンチップ上転送するデータの処理の加速を期待し、ニューラルネットワークの並行性は十分に発揮し、更に早い数字識別速度を獲得し、再利用可能性と拡張性を高める。 In order to solve the above-mentioned deficiencies in the current technology, the present invention submits a convolutional neural network hardware accelerator based on the multicast network on chip and its operation method, and uses the convolutional neural network hardware accelerator to turn on the multicast network. Expected to accelerate the processing of data transferred on the chip, the parallelism of the neural network is fully demonstrated, a faster numerical identification speed is obtained, and reusability and expandability are enhanced.

本発明は上記目的を達すために採用する技術方式は下記となる:
本発明はマルチキャストネットワークオンチップに基づいた畳み込みニューラルネットワークハードウェアアクセラレータを提供する、前記マルチキャストネットワークオンチップはN×Mの下層二次元ネットワークとL×Sの上層ネットワークから構成され(MとNは2以上の整数であり、LとSは1以上の整数であり、かつ1≦L<N、1≦S<M)、
前記下層二次元ネットワークは全部でN×M個のノードルータを有し、L×S個のブロックに分けられ、個々のブロック内は中間ノードルータと複数の普通ノードルータを含み、前記普通ノードルータは五つの水平転送方向が含まれ、前記中間ノードルータは五つの水平転送方向と一つの上り転送方向を含み、前記上層ネットワークはいずれも転送ノードルータであり、個々の前記転送ノードルータはそれぞれ五つの水平転送方向と一つの下向き転送方向にデータ転送を行い、個々のブロック内の中間ノードルータと対応する転送ノードルータとは相互接続し、その中、五つの水平転送方向は、前後左右の四つの方向および対応する畳み込みニューラルネットワークハードウェアアクセラレータへ転送する一つの方向であり、その特徴は以下のとおりである:
個々の前記畳み込みニューラルネットワークハードウェアアクセラレータはそれぞれ前記下層二次元ネットワーク中の一つのノードルータと接続し、個々の前記畳み込みニューラルネットワークハードウェアアクセラレータには、通信インタフェースモジュール、入力処理モジュール、出力処理モジュール、データメモリグループ、再構築可能計算モジュール、記憶制御モジュール、活性化関数モジュール、重み付けメモリを含み、
前記畳み込みニューラルネットワークハードウェアアクセラレータは初期化段階で五つのモードに分けるように配置され、個々のモードでは少なくとも一つの畳み込みニューラルネットワークハードウェアアクセラレータを有し、
第一種のモードでは、前記畳み込みニューラルネットワークハードウェアアクセラレータの記憶制御モジュールはデータメモリグループを目標図メモリ、n個の特徴図メモリ(1≦n≦N)および結果メモリに分け、それに目標図のデータを前記目標図メモリに書き込み、前記記憶制御モジュールは第一の重み付けデータを前記重み付けメモリに書き込み、前記活性化関数モジュールに一種の活性化関数を設定し、
第二種のモードでは、前記畳み込みニューラルネットワークハードウェアアクセラレータの記憶制御モジュールはデータメモリグループを目標図メモリ、n−1個の特徴図メモリおよび結果メモリに分け、前記記憶制御モジュールは第二の重み付けデータを前記重み付けメモリに書き込み、前記活性化関数モジュールに前記活性化関数を設定し、
第三種のモードでは、前記畳み込みニューラルネットワークハードウェアアクセラレータの記憶制御モジュールはデータメモリグループを目標図メモリ、n−2個の特徴図メモリおよび結果メモリに分け、前記記憶制御モジュールは第三の重み付けデータを前記重み付けメモリに書き込み、前記活性化関数モジュールに前記活性化関数を設定し、
第四種のモードでは、前記畳み込みニューラルネットワークハードウェアアクセラレータの記憶制御モジュールはデータメモリグループを目標図メモリ、n−2個の特徴図メモリおよび結果メモリに分け、前記記憶制御モジュールは第四の重み付けデータを前記重み付けメモリに書き込み、前記活性化関数モジュールに前記活性化関数を設定し、
第五種のモードでは、前記畳み込みニューラルネットワークハードウェアアクセラレータの記憶制御モジュールはデータメモリグループ、重み付けメモリ、活性化関数モジュールを使用しなく、
個々の畳み込みニューラルネットワークハードウェアアクセラレータは下記方式で演算する:
(1)第一の畳み込み層の計算:
カレントの畳み込みニューラルネットワークハードウェアアクセラレータが第一種のモードである場合、前記記憶制御モジュールは前記目標図メモリから前記目標図データを読み出し、前記出力モジュールと再構築可能計算モジュールに転送し、前記出力処理モジュールは前記目標図データをパッケージング処理を行い前記通信インタフェースモジュールに転送し、前記再構築可能計算モジュールは前記目標図データを畳み込み計算してから前記活性化関数モジュールに転送して活性化関数計算を行い、該当畳み込みニューラルネットワークハードウェアアクセラレータが計算した第一の特徴図データを獲得し、前記記憶制御モジュールは第一の特徴図データを第一の特徴図メモリに格納し、
カレントの畳み込みニューラルネットワークハードウェアアクセラレータが第二種のモードである場合、前記入力処理モジュールが第一種のモードでの通信インタフェースモジュールからパッケージデータを受け取り、デパッケージング処理を行い、目標図データを獲得して前記再構築可能計算モジュールに転送し、前記再構築可能計算モジュールは前記目標図データを畳み込み計算してから前記活性化関数モジュールに転送して活性化関数計算を行い、該当畳み込みニューラルネットワークハードウェアアクセラレータが計算した第一の特徴図データを得、前記記憶制御モジュールは前記第一の特徴図データを第一の特徴図メモリに格納し、
(2)第二の畳み込み層の計算:
カレントの畳み込みニューラルネットワークハードウェアアクセラレータが第一種のモードである場合、前記記憶制御モジュールは前記第一の特徴図メモリから第一の特徴図データを読み出し、前記再構築可能計算モジュールと出力処理モジュールに転送し、前記再構築可能計算モジュールは第一の特徴図データを畳み込み計算してから前記活性化関数モジュールに転送して活性化関数計算を行い、当該畳み込みニューラルネットワークハードウェアアクセラレータが計算した第二の特徴図データを獲得し、記憶制御モジュールに転送し、前記記憶制御モジュールは当該第二の特徴図データを第二の特徴図メモリに格納し、前記出力モジュールは前記第一の特徴図データをパッケージング処理してから前記通信インタフェースモジュールに転送し、
カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第二種のモードである場合、前記記憶制御モジュールは前記第一の特徴図メモリから第一の特徴図データを読み出し、前記再構築可能計算モジュールと出力モジュールに転送し、前記出力処理モジュールは順次に第一種のモードと第二種のモードでのパッケージデータを受け取り、デパッケージング処理を行い、第一種のモードでの第一の特徴図データと第二種のモードでの第一の特徴図データを獲得し、前記再構築可能計算モジュールに転送し、前記再構築可能計算モジュールは前記第一の特徴図データをそれぞれ畳み込み計算してから前記活性化関数モジュールに転送し、活性化関数計算を行い、当該畳み込みニューラルネットワークハードウェアアクセラレータが計算した第二の特徴図データを獲得し、記憶制御モジュールに転送し、前記記憶制御モジュールは前記第二の特徴データを第二の特徴図メモリに格納し、前記出力処理モジュールは前記第一の特徴図データをパッケージング処理してから前記通信インタフェースモジュールに転送し、
カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第三種のモードである場合、前記入力処理モジュールは順次に第一種モードと第二種モードでのパッケージデータを受け取り、デパッケージング処理を行い、第一種のモードの第一の特徴図データと第二種のモードの第一の特徴図データを獲得し、前記再構築可能計算モジュールに転送し、前記再構築可能計算モジュールは二つのモードの第一の特徴図データをそれぞれ畳み込み計算してから前記活性化関数モジュールに転送して活性化関数計算を行い、二つのモードでの第二の特徴図データを獲得して記憶制御モジュールに転送し、前記記憶制御モジュールは前記二つのモードでの第二の特徴図データを第二の特徴図メモリに格納し、
カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第四種のモードである場合、前記入力処理モジュールは順次に第一種モードと第二種モードでのパッケージデータを受け取り、デパッケージング処理を行い、第一種のモードでの第一の特徴図データと第二種のモードでの第一の特徴図データを獲得し、前記再構築可能計算モジュールに転送し、前記再構築可能計算モジュールは二つのモードでの第一の特徴図データをそれぞれ畳み込み計算してから前記活性化関数モジュールに転送して活性化関数計算を行い、二つのモードでの第二の特徴図データを獲得し、記憶制御モジュールに転送し、前記記憶制御モジュールは前記二つのモードでの第二の特徴図データを第二の特徴図メモリに格納し、
(3)最初の全接続層の計算:
カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第二種のモードである場合、前記記憶制御モジュールは前記第二の特徴図メモリから前記第二の特徴図データを読み出し、前記再構築可能計算モジュールに転送し、前記再構築可能計算モジュールは前記第二の特徴図データの畳み込み計算した畳み込み結果を前記出力処理モジュールに転送し、前記出力処理モジュールは畳み込み結果をパッケージング処理してから前記通信インタフェースモジュールに転送し、
カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第三種のモードである場合、前記記憶制御モジュールは前記第二の特徴図メモリから前記第二の特徴図データを読み出し、前記再構築可能計算モジュールに転送し、前記再構築可能計算モジュールは前記第二の特徴図データの畳み込み計算した畳み込み結果を前記出力処理モジュールに転送し、前記出力処理モジュールは畳み込み結果をパッケージングしてから前記通信インタフェースモジュールに転送し、
カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第四種のモードである場合、前記記憶制御モジュールは前記第二の特徴図メモリから前記第二の特徴図データを読み出し、前記再構築可能計算モジュールに転送し、前記再構築可能計算モジュールは前記第二特徴図データの畳み込み計算した畳み込み結果を前記出力処理モジュールに転送し、前記出力処理モジュールは畳み込み結果をパッケージングしてから前記通信インタフェースモジュールに転送し、
カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第五種のモードである場合、前記入力処理モジュールは順次に第二種のモード、第三種のモード及び第四種のモードでのパッケージデータを受け取り、デパッケージング処理を行い、三つのモードでの畳み込み結果を獲得し、前記再構築可能計算モジュールに転送し、前記再構築可能計算モジュールは三つのモードでの畳み込み結果の累積計算した累積結果を獲得してから前記出力処理モジュールに転送し、前記出力処理モジュールは累積結果をパッケージング処理してから前記通信インタフェースモジュールに転送し、
それ以外には、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第一種のモードである場合、前記記憶制御モジュールは前記第二の特徴図メモリから前記第二の特徴図データを読み出し、前記再構築可能計算モジュールに転送し、前記再構築可能計算モジュールは前記第二の特徴図データを畳み込み計算した畳み込み結果を前記再構築可能計算モジュールに転送し、前記入力処理モジュールは順次に第五種のモードでのパッケージデータを受け取り、デパッケージング処理を行い、第五種のモードでの累積結果を獲得し、前記再構築可能計算モジュールに転送し、前記再構築可能計算モジュールは累積結果と畳み込み結果との同時に累積計算した第三の特徴図データを獲得し、前記記憶制御モジュールに転送し、前記記憶制御モジュールは前記第三の特徴図データを第三の特徴図メモリに格納し、
(4)第二の全接続層の計算:
カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第一種のモードである場合、前記記憶制御モジュールは前記第三の特徴図メモリから前記第三特徴図データを読み出し、活性化関数計算を行うようにそれぞれ前記活性化関数モジュールに転送し、活性化結果を獲得してから前記再構築可能計算モジュールと出力処理モジュールに転送し、前記再構築可能計算モジュールは前記活性化結果に対して畳み込み計算を行い、第一の初歩的な結果を獲得して前記活性化関数モジュールに転送し、活性化関数計算を行い、第一の出力結果を獲得して前記記憶制御モジュールに転送し、前記記憶制御モジュールは前記第一の出力結果を前記結果メモリに書き込み、前記出力処理モジュールは前記活性化結果をパッケージング処理してから前記通信インタフェースモジュールに転送し、
カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第二種のモードである場合、前記入力処理モジュールは順次に第一種のモードでのパッケージデータを受け取り、デパッケージング処理を行い、活性化結果を獲得して前記再構築可能計算モジュールに転送し、前記再構築可能計算モジュールは活性化結果に対して畳み込み計算を行い、第二の初歩結果を獲得して前記活性化関数モジュールに転送し、活性化計算を行い、第二の出力結果を獲得して前記出力処理モジュールに転送し、前記出力処理モジュールは前記第二の出力結果をパッケージング処理してから前記通信インタフェースモジュールに転送し、
カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第四種のモードである場合、前記入力処理モジュールは順次に第一種のモードでのパッケージデータを受け取ってデパッケージング処理を行い、活性化結果を獲得して前記再構築可能計算モジュールに転送し、前記再構築可能計算モジュールは活性化結果に対して畳み込み計算を行い、第三の初歩的な結果を獲得して前記活性化関数モジュールに転送し、活性化関数計算を行い、第三の出力結果を獲得して前記出力処理モジュールに転送し、前記出力処理モジュールは前記第三の出力結果をパッケージング処理してから前記通信インタフェースモジュールに転送し、
カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第一種のモードである場合、前記入力処理モジュールはさらに順次に第二種のモードと第四種のモードでのパッケージデータを受け取ってデパッケージング処理を行い、前記第二の出力結果と前記第三の出力結果を獲得して前記記憶制御モジュールに転送し、前記記憶制御モジュールは順次に前記第二の出力結果と前記第三の出力結果を前記結果メモリに書き込み、三つの出力結果はそれぞれ目標図データに対応する種別に属する確率を示す。
The technical method adopted by the present invention to achieve the above object is as follows:
The present invention provides a convolutional neural network hardware accelerator based on a multicast network on chip, said multicast network on chip is composed of an N × M lower layer two-dimensional network and an L × S upper layer network (M and N are 2). The above integers, L and S are one or more integers, and 1 ≦ L <N, 1 ≦ S <M).
The lower two-dimensional network has a total of N × M node routers and is divided into L × S blocks, and each block includes an intermediate node router and a plurality of ordinary node routers. Includes five horizontal forwarding directions, the intermediate node router contains five horizontal forwarding directions and one uplink forwarding direction, the upper network is each forwarding node router, and each of the forwarding node routers is five. Data is transferred in one horizontal transfer direction and one downward transfer direction, and the intermediate node router in each block and the corresponding transfer node router are interconnected, and five horizontal transfer directions are four in front, back, left, and right. One direction and one direction to transfer to the corresponding convolutional neural network hardware accelerator, the features of which are:
Each of the convolutional neural network hardware accelerators is connected to one node router in the lower two-dimensional network, and each of the convolutional neural network hardware accelerators includes a communication interface module, an input processing module, an output processing module, and the like. Includes data memory group, reconstructable compute module, memory control module, activation function module, weighted memory,
The convolutional neural network hardware accelerator is arranged so as to be divided into five modes at the initialization stage, and each mode has at least one convolutional neural network hardware accelerator.
In the first type mode, the storage control module of the convolutional neural network hardware accelerator divides the data memory group into a target diagram memory, n feature diagram memories (1 ≦ n ≦ N), and a result memory, and the target diagram. The data is written to the target diagram memory, the storage control module writes the first weighted data to the weighted memory, and a kind of activation function is set in the activation function module.
In the second mode, the storage control module of the convolutional neural network hardware accelerator divides the data memory group into a target diagram memory, n-1 feature diagram memory and a result memory, and the storage control module has a second weighting. Data is written to the weighted memory, the activation function is set in the activation function module, and the activation function is set.
In the third mode, the storage control module of the convolutional neural network hardware accelerator divides the data memory group into a target diagram memory, n-2 feature diagram memories and a result memory, and the storage control module has a third weighting. Data is written to the weighted memory, the activation function is set in the activation function module, and the activation function is set.
In the fourth mode, the storage control module of the convolutional neural network hardware accelerator divides the data memory group into a target diagram memory, n-2 feature diagram memories and a result memory, and the storage control module has a fourth weighting. Data is written to the weighted memory, the activation function is set in the activation function module, and the activation function is set.
In the fifth mode, the storage control module of the convolutional neural network hardware accelerator does not use the data memory group, the weighted memory, and the activation function module.
Individual convolutional neural network hardware accelerators are operated by the following method:
(1) Calculation of the first convolution layer:
When the current convolutional neural network hardware accelerator is in the first type mode, the storage control module reads the target diagram data from the target diagram memory, transfers the target diagram data to the output module and the reconstructable calculation module, and outputs the output. The processing module performs packaging processing of the target diagram data and transfers it to the communication interface module, and the reconstructable calculation module convolves and calculates the target diagram data and then transfers it to the activation function module to activate the activation function. The calculation is performed, the first feature diagram data calculated by the corresponding convolutional neural network hardware accelerator is acquired, and the storage control module stores the first feature diagram data in the first feature diagram memory.
When the current convolutional neural network hardware accelerator is in the second type mode, the input processing module receives the package data from the communication interface module in the first type mode, performs depackaging processing, and obtains the target diagram data. It is acquired and transferred to the reconstructable calculation module, and the reconstructable calculation module convolves and calculates the target diagram data and then transfers it to the activation function module to perform the activation function calculation, and the convolutional neural network corresponds to the convolutional neural network. The first feature diagram data calculated by the hardware accelerator is obtained, and the storage control module stores the first feature diagram data in the first feature diagram memory.
(2) Calculation of the second convolution layer:
When the current convolutional neural network hardware accelerator is in first-class mode, the storage control module reads the first feature diagram data from the first feature diagram memory, and the reconstructable calculation module and output processing module. The reconstructable calculation module convolves and calculates the first feature diagram data, then transfers it to the activation function module to perform the activation function calculation, and the convolution neural network hardware accelerator calculates the first. The second feature diagram data is acquired and transferred to the storage control module, the storage control module stores the second feature diagram data in the second feature diagram memory, and the output module is the first feature diagram data. Is packaged and then transferred to the communication interface module.
When the current convolutional neural network hardware accelerator is in the second type mode, the storage control module reads the first feature diagram data from the first feature diagram memory and turns it into the reconstructable calculation module and output module. After transferring, the output processing module sequentially receives the package data in the first type mode and the second type mode, performs the depackaging process, and performs the first feature diagram data and the first feature diagram data in the first type mode. The first feature diagram data in the two modes is acquired and transferred to the reconstructable calculation module, and the reconstructable calculation module convolves and calculates the first feature diagram data and then activates the activation. Transfer to the function module, perform activation function calculation, acquire the second feature diagram data calculated by the convolutional neural network hardware accelerator, transfer to the memory control module, and the memory control module has the second feature. The data is stored in the second feature diagram memory, and the output processing module packages the first feature diagram data and then transfers the data to the communication interface module.
When the current convolutional neural network hardware accelerator is in the third type mode, the input processing module sequentially receives the package data in the first type mode and the second type mode, performs the depackaging process, and performs the first type. The first feature diagram data of the type mode and the first feature diagram data of the second type mode are acquired and transferred to the reconstructable calculation module, and the reconstructable calculation module is the first of the two modes. After each of the feature diagram data of the above is convolutionally calculated, it is transferred to the activation function module to perform the activation function calculation, and the second feature diagram data in the two modes is acquired and transferred to the storage control module. The storage control module stores the second feature diagram data in the two modes in the second feature diagram memory, and stores the second feature diagram data in the second feature diagram memory.
When the current convolutional neural network hardware accelerator is in the fourth type mode, the input processing module sequentially receives the package data in the first type mode and the second type mode, performs the depackaging process, and performs the first type. The first feature diagram data in the seed mode and the first feature diagram data in the second type mode are acquired and transferred to the reconstructable calculation module, and the reconstructable calculation module is in two modes. After each of the first feature diagram data of the above is convolutionally calculated, it is transferred to the activation function module to perform the activation function calculation, the second feature diagram data in the two modes is acquired, and the data is transferred to the storage control module. Then, the storage control module stores the second feature diagram data in the two modes in the second feature diagram memory.
(3) Calculation of the first all connection layers:
When the current convolutional neural network hardware accelerator is in the second type mode, the storage control module reads the second feature diagram data from the second feature diagram memory and transfers it to the reconstructable calculation module. , The reconstructable calculation module transfers the convolutional result of the convolutional calculation of the second feature diagram data to the output processing module, and the output processing module packages the convolutional result and then transfers it to the communication interface module. death,
When the current convolutional neural network hardware accelerator is in the third type mode, the storage control module reads the second feature diagram data from the second feature diagram memory and transfers it to the reconstructable calculation module. , The reconstructable calculation module transfers the convolutional result of the convolutional calculation of the second feature diagram data to the output processing module, and the output processing module packages the convolutional result and then transfers it to the communication interface module. ,
When the current convolutional neural network hardware accelerator is in the fourth type mode, the storage control module reads the second feature diagram data from the second feature diagram memory and transfers it to the reconstructable calculation module. The reconstructable calculation module transfers the convolutional result of the convolutional calculation of the second feature diagram data to the output processing module, and the output processing module packages the convolutional result and then transfers it to the communication interface module.
When the current convolutional neural network hardware accelerator is in the 5th mode, the input processing module sequentially receives the package data in the 2nd mode, the 3rd mode and the 4th mode. The packaging process is performed, the convolution results in the three modes are acquired, and the data is transferred to the reconstructable calculation module. The reconstructable calculation module acquires the cumulative calculated results of the convolution results in the three modes. Then, the data is transferred to the output processing module, and the output processing module processes the cumulative result and then transfers the cumulative result to the communication interface module.
Otherwise, when the current convolutional neural network hardware accelerator is in first-class mode, the storage control module can read the second feature diagram data from the second feature diagram memory and reconstruct it. Transferred to the calculation module, the reconstructable calculation module convolves the second feature diagram data and transfers the convolutional calculation result to the reconstructable calculation module, and the input processing module sequentially performs in the fifth type mode. Receives the package data of, performs depackaging processing, acquires the cumulative result in the fifth type mode, transfers it to the reconstructable calculation module, and the reconstructable calculation module combines the cumulative result and the convolutional result. At the same time, the third feature diagram data cumulatively calculated is acquired and transferred to the storage control module, and the storage control module stores the third feature diagram data in the third feature diagram memory.
(4) Calculation of the second whole connection layer:
When the current convolution neural network hardware accelerator is in the mode of the first kind, the storage control module reads the third feature diagram data from the third feature diagram memory and performs the activation function calculation, respectively. It is transferred to the activation function module, and after obtaining the activation result, it is transferred to the reconstructable calculation module and the output processing module, and the reconstructable calculation module performs a convolution calculation on the activation result, and the first The first rudimentary result is acquired and transferred to the activation function module, the activation function calculation is performed, the first output result is acquired and transferred to the storage control module, and the storage control module is the first. One output result is written to the result memory, the output processing module packages the activation result, and then transfers the activation result to the communication interface module.
When the current convolution neural network hardware accelerator is in the second type mode, the input processing module sequentially receives the package data in the first type mode, performs the depackaging process, and obtains the activation result. The reconstructable calculation module performs a convolution calculation on the activation result, obtains a second elementary result, transfers the result to the activation function module, and performs the activation calculation. The second output result is acquired and transferred to the output processing module, and the output processing module processes the second output result and then transfers it to the communication interface module.
When the current convolution neural network hardware accelerator is in the 4th type mode, the input processing module sequentially receives the package data in the 1st type mode, performs the depackaging process, and obtains the activation result. The reconstructable calculation module performs a convolution calculation on the activation result, obtains a third rudimentary result, transfers the result to the activation function module, and activates the result. The conversion function calculation is performed, the third output result is acquired and transferred to the output processing module, and the output processing module processes the third output result and then transfers it to the communication interface module.
When the current convolutional neural network hardware accelerator is in the first type mode, the input processing module further sequentially receives the package data in the second type mode and the fourth type mode and performs the depackaging process. , The second output result and the third output result are acquired and transferred to the storage control module, and the storage control module sequentially transfers the second output result and the third output result to the result memory. The three output results indicate the probability of belonging to the type corresponding to the target diagram data.

本発明はマルチキャストネットワークオンチップに基づいた畳み込みニューラルネットワークハードウェアアクセラレータの動作方式も提供する、前記マルチキャストネットワークオンチップはN×Mの下層二次元ネットワークとL×Sの上層ネットワークから構成され(その中MとNは2以上の整数であり、LとSは1以上の整数であり、かつ1≦L<N、1≦S<M)、
前記下層二次元ネットワークは全部でN×M個のノードルータを有し、L×S個のブロックに分けられ、個々のブロック内は中間ノードルータと複数の普通ノードルータが含まれ、前記普通ノードルータは五つの水平転送方向を含み、前記中間ノードルータは五つの水平転送方向と一つの上り転送方向を含み、前記上層ネットワークはいずれも転送ノードルータであり、前記転送ノードルータは五つの水平転送方向と一つの下向き転送方向を含み、個々のブロック内の中間ノードルータと対応する転送ノードルータとは相互接続、その中、五つの水平転送方向は前後左右四つの方向および対応する畳み込みニューラルネットワークハードウェアアクセラレータへ転送する一つの方向であり、その特徴は以下のとおりである:
個々の前記畳み込みニューラルネットワークハードウェアアクセラレータはそれぞれ前記下層二次元ネットワーク中の一つのノードルータと接続し、畳み込み演算のプロセスは以下のとおりであり:
ステップ1、個々の前記畳み込みニューラルネットワークハードウェアアクセラレータを配置して初期化段階で五つのモードに分け、個々のモードには少なくとも一つの畳み込みニューラルネットワークハードウェアアクセラレータを有し、
ステップ2、第一と第二のモードでの畳み込みニューラルネットワークハードウェアアクセラレータを用いて第一の畳み込み計算を行い、
ステップ2.1、カレントの畳み込みニューラルネットワークハードウェアアクセラレータが第一種のモードである場合、前記畳み込みニューラルネットワークハードウェアアクセラレータは目標図データを獲得し、畳み込み計算を行ってから活性化関数計算を行って第一特徴図データを獲得し、
ステップ2.2、カレントの畳み込みニューラルネットワークハードウェアアクセラレータが第二種のモードである場合、前記畳み込みニューラルネットワークハードウェアアクセラレータは前記目標図データを畳み込み計算してから活性化関数計算を行って第一特徴図データを獲得し、
ステップ3、第一、第二、第三および第四のモードでの畳み込みニューラルネットワークハードウェアアクセラレータを用いて第二の畳み込み層計算を行い、
ステップ3.1、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第一種のモードである場合、前記畳み込みニューラルネットワークハードウェアアクセラレータは前記第一特徴図データを畳み込み計算し、さらに活性化関数計算を行って第二特徴図データを獲得し、
ステップ3.2、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第二種のモードである場合、前記畳み込みニューラルネットワークハードウェアアクセラレータは前記第一特徴図データを畳み込み計算してから活性化関数計算を行って第二特徴図データを獲得し、
ステップ3.3、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第三種のモードである場合、前記畳み込みニューラルネットワークハードウェアアクセラレータは第一種のモードでの第一特徴図データと第二種のモードでの第一特徴図データをそれぞれ畳み込み計算し、さらに活性化関数計算を行い、二つのモードでの第二特徴図データを獲得し、
ステップ3.4、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第四種のモードである場合、前記畳み込みニューラルネットワークハードウェアアクセラレータは第一種のモードでの第一特徴図データと第二種のモードでの第一特徴図データをそれぞれ畳み込み計算してから活性化関数計算を行い、二つのモードでの第二特徴図データを獲得し、
ステップ4、第一、第二、第三、第四および第五種のモードでの前記畳み込みニューラルネットワークハードウェアアクセラレータを用いて第一の全接続層計算を行い、
ステップ4.1カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第一種のモードである場合、前記畳み込みニューラルネットワークハードウェアアクセラレータは第二特徴図データを畳み込み計算してから畳み込み結果を獲得し、
ステップ4.2、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第二種のモードである場合、前記畳み込みニューラルネットワークハードウェアアクセラレータは前記第二特徴図データを畳み込み計算してから畳み込み結果を獲得し、
ステップ4.3、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第三種のモードである場合、前記畳み込みニューラルネットワークハードウェアアクセラレータは前記第二特徴図データを畳み込み計算してから畳み込み結果を獲得し、
ステップ4.4、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第四種のモードである場合、前記畳み込みニューラルネットワークハードウェアアクセラレータは前記第二特徴図データを畳み込み計算してから畳み込み結果を獲得し、
ステップ4.5、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第五種のモードである場合、前記畳み込みニューラルネットワークハードウェアアクセラレータは前記第二種のモード、第三種のモードおよび第四種のモードでの畳み込み結果を積算してから積算結果を獲得し、
ステップ4.6、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第一種のモードである場合、前記畳み込みニューラルネットワークハードウェアアクセラレータはさらに第五種のモードでの積算結果を積算してから第三の特徴図データを獲得し、
ステップ5、第一、第二および第四種のモードでの畳み込みニューラルネットワークハードウェアアクセラレータを用いて第二の全接続層計算を行い、
ステップ5.1、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第一種のモードである場合、前記畳み込みニューラルネットワークハードウェアアクセラレータは第三の特徴図データにを活性化関数計算してから活性化結果を獲得し、そして前記活性化結果を畳み込み計算を行い、第一の初歩的な結果を獲得し、最後に前記第一の初歩的な結果を活性化関数計算し、第一の活性化結果を獲得して格納し、
ステップ5.2、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第二種のモードである場合、前記畳み込みニューラルネットワークハードウェアアクセラレータは前記第一種のモードでの活性化結果を畳み込み計算してから第二の初歩的な結果を獲得し、前記第二の初歩的な結果を活性化関数計算を行い、第二の出力結果を獲得し、
ステップ5.3、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第四種のモードである場合、前記畳み込みニューラルネットワークハードウェアアクセラレータは前記第一種のモードでの活性化結果を畳み込み計算してから第三の初歩的な結果を獲得し、前記第三の初歩的な結果を活性化関数計算し、第三の出力結果を獲得し、
ステップ5.4、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第一種のモードである場合、前記畳み込みニューラルネットワークハードウェアアクセラレータは前記第二種のモードと第四種のモードでの第二の出力結果と第三の出力結果を格納し、三つの出力結果はそれぞれ目標図データに対応する種別に属する確率を示す。
三つの出力結果はそれぞれ目標図データに対応する種別に属する確率を示す。あるいは三つの出力結果は次の畳み込みネットワークまたは次の畳み込み層計算の入力とする。
現有の技術と比較すると、本発明の有益な技術効果は下記となり:
1、本発明のアクセラレータは畳み込みニューラルネットワーク計算の並行性を大きく高め、畳み込みニューラルネットワーク計算の速さは伝統的な畳み込みニューラルネットワークアクセラレータより明確に高め、再構築可能な設計により本発明は異なるニューラルネットワークの計算要求に対して本発明の相応の設定を行うことができ、伝統的な畳み込みニューラルネットワークでは具備していない再構築機能を具備していて、計算と通信の分離の策略は本発明の拡張性と再利用可能性が伝統的な畳み込みニューラルネットワークハードウェアアクセラレータより高くなり、計算した畳み込みニューラルネットワークの規模により本発明の拡張を行うことができる。
The present invention also provides a method of operating a convolutional neural network hardware accelerator based on a multicast network on-chip. The multicast network-on-chip is composed of an N × M lower layer two-dimensional network and an L × S upper layer network (among them). M and N are integers of 2 or more, L and S are integers of 1 or more, and 1 ≦ L <N, 1 ≦ S <M).
The lower two-dimensional network has a total of N × M node routers and is divided into L × S blocks, and each block includes an intermediate node router and a plurality of ordinary node routers. The router includes five horizontal forwarding directions, the intermediate node router contains five horizontal forwarding directions and one uplink forwarding direction, the upper network is a forwarding node router, and the forwarding node router has five horizontal forwarding directions. Including direction and one downward transfer direction, the intermediate node router in each block and the corresponding transfer node router are interconnected, of which five horizontal transfer directions are front, back, left and right, four directions and the corresponding convolutional neural network hardware. It is one direction to transfer to the wear accelerator, and its features are as follows:
Each of the convolutional neural network hardware accelerators is connected to one node router in the lower two-dimensional network, and the process of the convolutional operation is as follows:
Step 1. Each of the convolutional neural network hardware accelerators is placed and divided into five modes at the initialization stage, and each mode has at least one convolutional neural network hardware accelerator.
Step 2, Convolutional Neural Network in First and Second Modes Perform the first convolutional calculation using the hardware accelerator.
Step 2.1, When the current convolutional neural network hardware accelerator is in the first type mode, the convolutional neural network hardware accelerator acquires the target diagram data, performs the convolution calculation, and then performs the activation function calculation. Obtained the first feature diagram data
Step 2.2, When the current convolutional neural network hardware accelerator is in the second type mode, the convolutional neural network hardware accelerator performs the activation function calculation after convolving the target diagram data. Acquire feature diagram data and
Step 3, perform the second convolutional layer calculation using the convolutional neural network hardware accelerator in the first, second, third and fourth modes.
Step 3.1, When the current convolutional neural network hardware accelerator is in the first type mode, the convolutional neural network hardware accelerator convolves and calculates the first feature diagram data, and further performs an activation function calculation. Acquired the second feature diagram data,
Step 3.2, When the current convolutional neural network hardware accelerator is in the second type mode, the convolutional neural network hardware accelerator convolves the first feature diagram data and then performs the activation function calculation. Acquired the second feature diagram data,
Step 3.3, When the current convolutional neural network hardware accelerator is in the third type mode, the convolutional neural network hardware accelerator is in the first feature diagram data in the first type mode and the second type mode. Convolutional calculation of the first feature diagram data of each, and further activation function calculation to acquire the second feature diagram data in the two modes.
Step 3.4, When the current convolutional neural network hardware accelerator is in the 4th type mode, the convolutional neural network hardware accelerator is in the 1st feature diagram data and the 2nd type mode in the 1st type mode. After convolutional calculation of the first feature diagram data of, the activation function calculation is performed, and the second feature diagram data in the two modes is acquired.
Step 4, the first full connection layer calculation is performed using the convolutional neural network hardware accelerator in the first, second, third, fourth and fifth modes.
Step 4.1 When the current convolutional neural network hardware accelerator is in the first type mode, the convolutional neural network hardware accelerator convolves and calculates the second feature diagram data, and then obtains the convolution result.
Step 4.2, When the current convolutional neural network hardware accelerator is in the second type mode, the convolutional neural network hardware accelerator convolves and calculates the second feature diagram data, and then obtains the convolution result.
Step 4.3, When the current convolutional neural network hardware accelerator is in the third type mode, the convolutional neural network hardware accelerator convolves and calculates the second feature diagram data, and then obtains the convolution result.
Step 4.4, When the current convolutional neural network hardware accelerator is in the fourth type mode, the convolutional neural network hardware accelerator convolves and calculates the second feature diagram data, and then obtains the convolution result.
Step 4.5, If the current convolutional neural network hardware accelerator is in mode 5, the convolutional neural network hardware accelerator is in mode 2, mode 3 and mode 4. After accumulating the convolutional results of
Step 4.6, When the current convolutional neural network hardware accelerator is in the first type mode, the convolutional neural network hardware accelerator further integrates the integration results in the fifth type mode, and then the third feature. Acquire figure data,
Step 5, perform the second full connection layer calculation using the convolutional neural network hardware accelerator in the first, second and fourth modes.
Step 5.1, When the current convolutional neural network hardware accelerator is in the first type mode, the convolutional neural network hardware accelerator calculates the activation function in the third feature diagram data and then calculates the activation result. Obtain and then perform a convolutional calculation of the activation result to obtain the first rudimentary result, and finally calculate the activation function of the first rudimentary result to obtain the first activation result. And store
Step 5.2, When the current convolutional neural network hardware accelerator is in the second type mode, the convolutional neural network hardware accelerator convolves and calculates the activation result in the first type mode, and then the second type. Obtain the rudimentary result of, activate the second rudimentary result, perform the function calculation, and obtain the second output result.
Step 5.3, When the current convolutional neural network hardware accelerator is in the fourth type mode, the convolutional neural network hardware accelerator convolves and calculates the activation result in the first type mode, and then the third type. Obtain the rudimentary result of, calculate the activation function of the third rudimentary result, and obtain the third output result.
Step 5.4, When the current convolutional neural network hardware accelerator is in the first type mode, the convolutional neural network hardware accelerator is the second output result in the second type mode and the fourth type mode. And the third output result are stored, and each of the three output results shows the probability of belonging to the type corresponding to the target diagram data.
Each of the three output results shows the probability of belonging to the type corresponding to the target diagram data. Alternatively, the three output results are input to the next convolutional network or the next convolutional layer calculation.
Compared with the existing technology, the beneficial technical effects of the present invention are as follows:
1. The accelerator of the present invention greatly enhances the parallelism of the convolutional neural network calculation, the speed of the convolutional neural network calculation is clearly higher than that of the traditional convolutional neural network accelerator, and the present invention is different due to the reconstructable design. It is possible to make appropriate settings of the present invention for the calculation request of, and it has a reconstruction function which is not provided in the traditional convolutional neural network, and the strategy of separating calculation and communication is an extension of the present invention. The property and reusability are higher than those of traditional convolutional neural network hardware accelerators, and the scale of the calculated convolutional neural network can extend the present invention.

2、本発明は通信インタフェースモジュール、入力出力処理モジュールを通して、畳み込みニューラルネットワークハードウェアアクセラレータの再構築計算モジュールとマルチキャストネットワークオンチップとは相互接続し、多数の畳み込みニューラルネットワークハードウェアアクセラレータの間の通信を実現し、同時に多数の畳み込みニューラルネットワークハードウェアアクセラレータの計算がお互いに独立していて、このような設計により多数の畳み込みニューラルネットワークハードウェアアクセラレータが同時に一つの畳み込みニューラルネットワークを計算することができ、ローカルの計算結果をマルチキャストネットワークオンチップを通して、一回で他の多数の畳み込みニューラルネットワークハードウェアアクセラレータに転送でき、次の並行計算を行うことができ、このような通信と計算分離の策略と伝統的な畳み込みニューラルネットワークハードウェアアクセラレータと比較して、畳み込みニューラルネットワークの計算の並行性を大きく高め、畳み込みニューラルネットワークの計算の速さを高めた。それと同時に、通信インタフェースモジュールと入力出力処理モジュールを通して、畳み込みニューラルネットワークの計算と通信を分離し、計算と通信が相互独立とした部分となり、このような操作により、畳み込みニューラルネットワークの計算規模の要求に応じて、ネットワークオンチップの規模を相応に変更する場合、入力出力処理モジュールのみに対して設定を行い、再構築計算モジュールが新たに設計することは必要がなく、拡張時の難易度を低減し、拡張可能性とモジュールの再利用可能性を高め、伝統的なニューラルネットワークアクセラレータの拡張可能性と再利用可能性の欠陥を克服した。 2. The present invention interconnects the reconstruction calculation module of the convolutional neural network hardware accelerator and the multicast network on-chip through the communication interface module and the input / output processing module, and communicates between a large number of convolutional neural network hardware accelerators. Realized, at the same time, the calculations of many convolutional neural network hardware accelerators are independent of each other, and such a design allows many convolutional neural network hardware accelerators to calculate one convolutional neural network at the same time, locally. The result of the calculation can be transferred to many other convolutional neural network hardware accelerators at once through the multicast network on-chip, and the next parallel calculation can be performed, such communication and calculation separation tricks and traditional. Compared with the convolutional neural network hardware accelerator, the concurrency of the calculation of the convolutional neural network is greatly increased, and the calculation speed of the convolutional neural network is increased. At the same time, the calculation and communication of the convolutional neural network are separated through the communication interface module and the input / output processing module, and the calculation and communication become mutually independent parts. Therefore, when the scale of the network on-chip is changed accordingly, it is not necessary to make settings only for the input / output processing module and newly design the reconstruction calculation module, which reduces the difficulty level at the time of expansion. Increased scalability and reusability of modules, overcoming the extensible and reusability flaws of traditional neural network accelerators.

3、本発明は再構築可能な設計を採用し、原始的な畳み込みニューラルネットワークハードウェアアクセラレータは5種類の異なる動作モードに設定でき、それぞれ第一種のモードでの畳み込みニューラルネットワークハードウェアアクセラレータ、第二種のモードでの畳み込みニューラルネットワークハードウェアアクセラレータ、第三種のモードでの畳み込みニューラルネットワークハードウェアアクセラレータ、第四種のモードでの畳み込みニューラルネットワークハードウェアアクセラレータ、第五種のモードでの畳み込みニューラルネットワークハードウェアアクセラレータである。5種類動作モードは原始的な畳み込みニューラルネットワークハードウェアアクセラレータの設定で得られ、実現した機能はお互いに異なり、例えば第一種の動作モードでの畳み込みニューラルネットワークハードウェアアクセラレータは目標図形の入力と畳み込みニューラルネットワークの計算結果の出力機能を実現でき、この二つの機能は他のモードでの畳み込みニューラルネットワークハードウェアアクセラレータには具備しなく、5種類の異なる動作モードでの畳み込みニューラルネットワークハードウェアアクセラレータを相互組み合わせて、完全な畳み込みニューラルネットワークの計算が実現でき、このような設計により異なる畳み込みニューラルネットワークを計算する場合、原始的な畳み込みニューラルネットワークハードウェアアクセラレータを複数の異なる動作モードに設定することのみで、相応の組み合わせを行い、異なる種類の畳み込みニューラルネットワークを計算することができる。5種類異なる動作モードの設計により本発明が伝統的な畳み込みニューラルネットワークアクセラレータに対して再構築可能の長所が具備する。同時に5種類異なる動作モードの設定により異なる計算ステップの畳み込みニューラルネットワークハードウェアアクセラレータの機能を簡略に分類し、畳み込みニューラルネットワークハードウェアアクセラレータの動作効率を高めた。 3. The present invention adopts a reconstructable design, and the primitive convolutional neural network hardware accelerator can be set to 5 different operation modes, respectively, the convolutional neural network hardware accelerator in the first type mode, the first. Convolutional Neural Network Hardware Accelerator in 2 Modes, Convolutional Neural Network Hardware Accelerator in 3 Modes, Convolutional Neural Network Hardware Accelerator in 4 Modes, Convolutional Neural in 5 Modes It is a network hardware accelerator. The five operation modes are obtained by setting the primitive convolutional neural network hardware accelerator, and the realized functions are different from each other. For example, the convolutional neural network hardware accelerator in the first type operation mode inputs and convolves the target figure. It is possible to realize the output function of the calculation result of the neural network, and these two functions are not provided in the convolutional neural network hardware accelerator in other modes, and the convolutional neural network hardware accelerators in five different operation modes are mutually used. In combination, a complete convolutional neural network can be calculated, and if you want to calculate different convolutional neural networks with such a design, you only need to set the primitive convolutional neural network hardware accelerator to several different modes of operation. Different types of convolutional neural networks can be calculated with the appropriate combinations. The design of five different modes of operation provides the present invention with the advantage of being reconstructable over traditional convolutional neural network accelerators. At the same time, the functions of the convolutional neural network hardware accelerator with different calculation steps were simply classified by setting five different operation modes, and the operation efficiency of the convolutional neural network hardware accelerator was improved.

4、本発明の活性化関数モジュールは異なる類型の活性化関数ロジックに設定ができ、対応する畳み込みニューラルネットワークの計算要求に満たして、本発明は畳み込みニューラルネットワークの計算時に活性化関数計算プロセスの再構築可能性を実現した。 4. The activation function module of the present invention can be set to a different type of activation function logic, satisfying the calculation requirements of the corresponding convolutional neural network, and the present invention reiterates the activation function calculation process when calculating the convolutional neural network. Realized the possibility of construction.

本実施例で採用した手書き識別ネットワークフロー図Handwriting identification network flow diagram adopted in this embodiment 本実施例で採用した下層6×6、上層2×2規模のマルチキャストネットワークオンチップ構成図Multicast network on-chip configuration diagram of lower layer 6x6 and upper layer 2x2 scale adopted in this embodiment 本実施例のマルチキャストネットワークオンチップマッピング図Multicast network on-chip mapping diagram of this embodiment 本発明の再構築可能な畳み込みニューラルネットワークハードウェアアクセラレータ構造図Reconstructable Convolutional Neural Network Hardware Accelerator Structure Diagram of the Present Invention 第一種のモードでのニューラルネットワークハードウェアアクセラレータ構造図Neural network hardware accelerator structure diagram in the first type mode 第二種のモードでのニューラルネットワークハードウェアアクセラレータ構造図Neural network hardware accelerator structure diagram in the second type mode 第三種のモードでのニューラルネットワークハードウェアアクセラレータ構造図Neural network hardware accelerator structure diagram in the third type mode 第四種のモードでのニューラルネットワークハードウェアアクセラレータ構造図Neural network hardware accelerator structure diagram in type 4 mode 第五種のモードでのニューラルネットワークハードウェアアクセラレータ構造図。Neural network hardware accelerator structure diagram in the fifth type mode.

本実施例はマルチキャストネットワークオンチップアーキテクチャを採用して畳み込みニューラルネットワークの並行性を高め、手書きアラビア数字の識別の速さを加速する目的に至る。本実施例で採用した畳み込みニューラルネットワークは手書き数字識別ネットワークであり、その構造は二層の畳み込み層、二層の全接続層が含まれ、該当手書き識別ネットワークの構造は図1に示す。 The purpose of this embodiment is to increase the concurrency of the convolutional neural network by adopting the multicast network on-chip architecture and to accelerate the speed of identification of handwritten Arabic numerals. The convolutional neural network adopted in this embodiment is a handwritten digit identification network, the structure of which includes a two-layer convolutional layer and two layers of all connecting layers, and the structure of the corresponding handwritten identification network is shown in FIG.

本実施例の手書き識別機能はMNIST(Mixed National Institute of Standards and Technology database)手書きライブラリを用いて完成し、MNISTはグーグルラブとニューヨーク大学ケーロン研究所が建てた手書き数字トレーニングライブラリである。全体のトレーニングライブラリはトレーニングライブラリとテストライブラリが含まれ、トレニンーグライブライには60000枚の手書き数字画像があり、テストライブラリには10000枚がある。MNIST手書き数字画像の大きさは28×28であり、画像の特徴を抽出プロセスのエッジ影響を減少するために、ゼロ埋めを通して29×29の大きさに拡張する。このように入力層ニューラルノードの個数が29×29イコール841個である。 The handwriting recognition function of this embodiment is completed using the MNIST (Mixed National Institute of Standards and Technology database) handwriting library, and MNIST is a handwriting number training library built by Google Love and the Keron Institute of New York University. The entire training library includes a training library and a test library, the training library has 60,000 handwritten numeric images, and the test library has 10,000. The size of the MNIST handwritten numeric image is 28x28, and the features of the image are extended to a size of 29x29 through zero padding to reduce the edge effect of the extraction process. As described above, the number of input layer neural nodes is 29 × 29 equal to 841.

図1に示すように、該当畳み込みニューラルネットワークの計算は四層計算となり、第一層の計算は畳み込み層計算であり、入力層は841個のニューラルノードとなり、出力は6個の13×13の特徴図で全部で1041個のニューラルノードとなり、第二層は畳み込み層計算であり、入力層は第一個の畳み込み層が出力した16個の13×13の特徴図で全部で1041個のニューラルノードとなり、出力は50個の5×5の特徴図で全部で1250個のニューロンとなり、第三層は全接続層計算であり、入力層は第二個の畳み込み層が出力した50個の5×5の特徴図で全部で1250個のニューロンとなり、出力は100個のニューロンであり、第四層は全接続層計算であり、入力層は最初の全接続層が出力した100個のニューロンであり、出力は10個のニューロンである。 As shown in FIG. 1, the calculation of the corresponding convolutional neural network is a four-layer calculation, the calculation of the first layer is a convolutional layer calculation, the input layer is 841 neural nodes, and the output is six 13 × 13. There are 1041 neural nodes in total in the feature diagram, the second layer is a convolutional layer calculation, and the input layer is a total of 1041 neurals in 16 13 × 13 feature diagrams output by the first convolutional layer. It becomes a node, and the output is 50 5 × 5 feature diagrams with a total of 1250 neurons, the third layer is a total connection layer calculation, and the input layer is 50 5 5 output by the second convolutional layer. In the feature diagram of × 5, there are a total of 1250 neurons, the output is 100 neurons, the fourth layer is the total connection layer calculation, and the input layer is the 100 neurons output by the first all connection layer. Yes, the output is 10 neurons.

本発明はマルチキャストネットワークオンチップと畳み込みニューラルネットワークハードウェアアクセラレータの相互結合を採用し、畳み込みニューラルネットワークの計算を実現する。本実施例では、マルチキャストネットワークオンチップの構造は図2に示し、その中の円形アイコンはノードルータを表し、四角形アイコンはノードルータ上にマウントした畳み込みニューラルネットワークハードウェアアクセラレータを表し、6×6の下層二次元ネットワークと4×4の上層ネットワークから構成され、全部で40個のノードルータが含まれ、その中には下層二次元ネットワークは全部で36個のノードルータがあり、3×3の子ネットワークを単位に四つのマルチキャスト領域に分けられ、図2の中の点線で囲まれた四つの領域であり、個々の領域内は一つの中間ノードルータRと複数の普通ノードルータRを含み、普通ノードルータRが五つの水平転送方向を含み、中間ノードルータRは五つの水平転送方向と一つの上り転送方向を含み、上層ネットワークはいずれも転送ノードルータRであり、転送ノードルータRは五つの水平転送方向と一つの下向き転送方向を含み、個々の領域内の中間ノードルータRと相応の転送ノードルータRとは相互接続し、マルチキャストネットワークオンチップ構造は転送する情報を一つのノードルータから同時に多数のノードルータに転送することが実現でき、このように情報転送の効率を大きく高め、畳み込みニューラルネットワーク計算プロセスの中に再利用可能な情報転送の速さを高め、畳み込みニューラルネットワーク計算の並行性を高める。 The present invention employs the interconnection of a multicast network on-chip and a convolutional neural network hardware accelerator to realize the calculation of a convolutional neural network. In this embodiment, the structure of the multicast network on-chip is shown in FIG. 2, where the circular icon represents the node router and the square icon represents the convolutional neural network hardware accelerator mounted on the node router, 6x6. It consists of a lower two-dimensional network and a 4x4 upper network, and includes a total of 40 node routers, of which the lower two-dimensional network has a total of 36 node routers and 3x3 children. is divided into four multicast area network unit, a four region surrounded by a dotted line in FIG. 2, within each region comprises one intermediate node router R 3 and a plurality of ordinary nodes router R 2 , Ordinary node router R 2 contains five horizontal transfer directions, intermediate node router R 3 contains five horizontal transfer directions and one uplink transfer direction, and the upper network is transfer node router R 1 and the transfer node. Router R 1 includes five horizontal forwarding directions and one downward forwarding direction, interconnecting the intermediate node router R 3 and the corresponding forwarding node router R 1 in the individual regions, and forwarding the multicast network on-chip structure. Information can be transferred from one node router to many node routers at the same time, thus greatly increasing the efficiency of information transfer and increasing the speed of information transfer that can be reused during the convolutional neural network calculation process. , Increases the parallelism of convolutional neural network calculations.

本実施例で採用したマルチキャストネットワークオンチップ規模は使用している畳み込みニューラルネットワークの大きさにより設定し、実際の状況では計算で使用する畳み込みニューラルネットワークの種類が異なるため、実際状況に応じてマルチキャストネットワークオンチップの規模を設定し、6×6の下層二次元ネットワークと4×4の上層ネットワークが含まれているが、それだけに限らない双層ネットワーク構造である。 The multicast network on-chip scale adopted in this example is set according to the size of the convolutional neural network used, and since the type of convolutional neural network used in the calculation differs in the actual situation, the multicast network is used according to the actual situation. It is a dual-layer network structure that sets the scale of on-chip and includes, but is not limited to, a 6 × 6 lower layer two-dimensional network and a 4 × 4 upper layer network.

畳み込みニューラルネットワークハードウェアアクセラレータはそれぞれ下層二次元ネットワーク中の36個ノードルータと接続し、畳み込みニューラルネットワークハードウェアアクセラレータの内部構造は図4に示し、通信インタフェースモジュール、入力処理モジュール、出力処理モジュール、データメモリグループ、再構造可能計算モジュール、記憶制御モジュール、活性化関数モジュール、重み付けメモリを含み、
初期化段階では、畳み込みニューラルネットワークハードウェアアクセラレータは5種類のモードに設定し:
第一種のモードでは、畳み込みニューラルネットワークハードウェアアクセラレータの記憶制御モジュールはデータメモリグループを目標図メモリ、三つの特徴図メモリ(それぞれ、特徴図1、特徴図2、特徴図3)と結果メモリに分割していて、目標図データを目標図メモリに書き込み、記憶制御モジュールは第一の重み付けデータを重み付けメモリに書き込み、活性化関数モジュールには活性化関数をReLU(Rectified Liner Units)関数に設定し、このモードでのアクセラレータの構造は図5に示し、
第二種のモードでは、畳み込みニューラルネットワークハードウェアアクセラレータの記憶制御モジュールはデータメモリグループを目標図メモリ、二つの特徴図メモリ(それぞれ特徴図1、特徴図2)と結果メモリに分割していて、記憶制御モジュールは第二の重み付けデータを重み付けメモリに書き込み、活性化関数モジュール中には活性化関数をReLU(Rectified Liner Units)関数に設定し、このモードでのアクセラレータの構造は図6に示し、
第三種のモードでは、畳み込みニューラルネットワークハードウェアアクセラレータの記憶制御モジュールはデータメモリグループを目標図メモリ、一つの特徴図メモリ(特徴図2)と結果メモリに分割していて、記憶制御モジュールは第三の重み付けデータを重み付けメモリに書き込み、活性化関数モジュール中には活性化関数をReLU(Rectified Liner Units)関数に設定し、その構造は図7に示し、
第四種のモードでは、畳み込みニューラルネットワークハードウェアアクセラレータの記憶制御モジュールはデータメモリグループを目標図メモリ、一つの特徴図メモリ(特徴図2)と結果メモリに分割していて、記憶制御モジュールは第四の重み付けデータを重み付けメモリに書き込み、活性化関数モジュール中には活性化関数をReLU(Rectified Liner Units)関数に設定し、具体の構造は図8に示し、
第五種のモードでは、畳み込みニューラルネットワークハードウェアアクセラレータの記憶制御モジュールはデータメモリグループ、重み付けメモリと活性化関数モジュールを使用しなく、その構造は図9に示し、
本実例では、5種類のモードでの畳み込みニューラルネットワークハードウェアアクセラレータはそれぞれマルチキャストネットワークオンチップに対応するノードルータ上にマウントしていて、具体的なマルチキャストネットワークオンチップのマッピング方法は図3に示すように、その中ノードルータアイコン上の大文字数字はノードルータでマウントしている畳み込みニューラルネットワークハードウェアアクセラレータのモード番号を表し、大文字数字がない場合、該当ノードルータとそれにマウントしている畳み込みニューラルネットワークハードウェアアクセラレータと疎通していなく、その第一種のモードでの畳み込みニューラルネットワークハードウェアアクセラレータが1個で、第二種のモードでの畳み込みニューラルネットワークハードウェアアクセラレータが5個で、第三種のモードでの畳み込みニューラルネットワークハードウェアアクセラレータが16個で、第四種のモードでの畳み込みニューラルネットワークハードウェアアクセラレータが4個で、第五種のモードでの畳み込みニューラルネットワークハードウェアアクセラレータが4個である。その中マルチキャストネットワークオンチップの上層ネットワークは畳み込みニューラルネットワークハードウェアアクセラレータをマウントしていない。本実施例で採用している畳み込みニューラルネットワークハードウェアアクセラレータマッピング方式は使用している手書き識別畳み込みニューラルネットワークハードウェアアクセラレータの規模により設定していて、本発明は異なる畳み込みニューラルネットワークによって異なる数目の5種類のモードでの畳み込みニューラルネットワークハードウェアアクセラレータを採用していて、本実施例で採用しているマッピング方式と各種のモードでの畳み込みニューラルネットワークアクセラレータの数目が含まれ、それだけに限らない。5種類の異なる動作モードでのニューラルネットワークハードウェアアクセラレータを相互合わせて完全な畳み込みニューラルネットワーク計算が実現でき、このような設計により、異なる畳み込みニューラルネットワークを計算時には、原始的な畳み込みニューラルネットワークハードウェアアクセラレータを複数の異なる動作モードに設定するのみで、対応する組み合わせを行い、異なる種類の畳み込みニューラルネットワークを計算することができる。
Each convolutional neural network hardware accelerator is connected to a 36-node router in the lower two-dimensional network, and the internal structure of the convolutional neural network hardware accelerator is shown in Fig. 4, which shows the communication interface module, input processing module, output processing module, and data. Includes memory group, restructureable compute module, memory control module, activation function module, weighted memory,
At the initialization stage, the convolutional neural network hardware accelerator is set to 5 modes:
In the first type of mode, the storage control module of the convolutional neural network hardware accelerator divides the data memory group into the target diagram memory, the three feature diagram memories (feature diagram 1, feature diagram 2, and feature diagram 3, respectively) and the result memory. It is divided, the target diagram data is written to the target diagram memory, the storage control module writes the first weighted data to the weighted memory, and the activation function module sets the activation function to the ReLU (Refectied Liner Units) function. The structure of the accelerator in this mode is shown in FIG.
In the second mode, the storage control module of the convolutional neural network hardware accelerator divides the data memory group into a target diagram memory, two feature diagram memories (feature diagram 1 and feature diagram 2, respectively) and a result memory. The storage control module writes the second weighted data to the weighted memory, sets the activation function in the activation function module to the ReLU (Refectied Liner Units) function, and the structure of the accelerator in this mode is shown in FIG.
In the third mode, the storage control module of the convolutional neural network hardware accelerator divides the data memory group into the target diagram memory, one feature diagram memory (feature diagram 2) and the result memory, and the memory control module is the first. The three weighted data are written to the weighted memory, the activation function is set to the ReLU (Rectifier Liner Units) function in the activation function module, and the structure is shown in FIG.
In the fourth type mode, the storage control module of the convolutional neural network hardware accelerator divides the data memory group into the target diagram memory, one feature diagram memory (feature diagram 2), and the result memory, and the memory control module is the first. The weighted data of 4 is written to the weighted memory, the activation function is set to the ReLU (Rectifier Liner Units) function in the activation function module, and the specific structure is shown in FIG.
In the fifth mode, the storage control module of the convolutional neural network hardware accelerator does not use the data memory group, the weighted memory and the activation function module, and its structure is shown in FIG.
In this example, the convolutional neural network hardware accelerators in the five modes are mounted on the node routers corresponding to the multicast network on-chip, and the specific mapping method of the multicast network-on-chip is shown in FIG. In addition, the upper number on the node router icon indicates the mode number of the convolutional neural network hardware accelerator mounted on the node router, and if there is no upper number, the corresponding node router and the convolutional neural network hardware mounted on it. Not communicating with the wear accelerator, one convolutional neural network hardware accelerator in its first mode, five convolutional neural network hardware accelerators in its second mode, third mode There are 16 convolutional neural network hardware accelerators in, 4 convolutional neural network hardware accelerators in the 4th mode, and 4 convolutional neural network hardware accelerators in the 5th mode. Among them, the multicast network on-chip upper layer network does not mount the convolutional neural network hardware accelerator. The convolutional neural network hardware accelerator mapping method adopted in this embodiment is set according to the scale of the handwritten identification convolutional neural network hardware accelerator used, and the present invention has five different numbers depending on the different convolutional neural networks. The convolutional neural network hardware accelerator in the mode of is adopted, and the mapping method adopted in this embodiment and the number of convolutional neural network accelerators in various modes are included, and the present invention is not limited to that. Complete convolutional neural network calculations can be achieved by combining neural network hardware accelerators in five different modes of operation, and such a design allows for primitive convolutional neural network hardware accelerators when calculating different convolutional neural networks. Can be combined and calculated for different types of convolutional neural networks by simply setting to a number of different modes of operation.

第一の畳み込み層計算:
カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第一種のモードである場合、記憶制御モジュールは目標図メモリから目標図データを読み出し、出力処理モジュールと再構造可能計算モジュールに転送し、出力処理モジュールは目標図データをパッケージング処理を行い、目標図データと転送目的のノード情報をパッケージングし、通信インタフェースモジュールに転送し、通信インタフェースモジュールからマルチキャストネットワークオンチップに転送し、マルチキャストネットワークオンチップを通して第二種のモードでの畳み込みニューラルネットワークハードウェアアクセラレータをマウントしているノードの通信インタフェースモジュールに転送し、再構造可能計算モジュールは目標図データを受け取り、この時には再構築可能計算モジュールの通路選択機器は掛け算ロジックユニットに接続し、目標図データに対して掛け算ロジック計算し、さらに累積ロジック計算(すなわち完全な畳み込み計算)を行い、再構築可能計算モジュールは目標図データに対して畳み込み計算が完了してから活性化関数モジュールに転送してReLU活性化関数計算を行い、第一特徴図データを獲得し、畳み込み計算の並行度を高めるために、本実施例は掛け算ロジックユニット内に二つの乗算器を内蔵していて、同時に掛け算計算を行うことができ、第一層の畳み込み層計算時には、二つの乗算器が並行的に目標図データに対して掛け算ロジック計算を行っていて、本発明は掛け算ロジックユニットには多数の乗算器を内蔵することができ、本実施例の二つの乗算器が含まれているが、それだけに限定しなく、多数の乗算器の並行的な処理は畳み込み計算時の並行度を大きく高め、畳み込み計算の速さを高める。そのあとには、記憶制御モジュールは活性化関数から転送してきた第一特徴図データを受け取ってから、第一特徴図データを第一個の特徴図メモリに格納し、
カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第二種のモードである場合、入力処理モジュールは第一種のモードでの通信インタフェースモジュールが転送してきたパッケージデータを受け取りデパッケージング処理を行い、パッケージデータ中の目標図データ抽出し、目標図データを獲得し再構築可能計算モジュールに転送し、再構築可能計算モジュールの通路選択ユニットは目標図データを受け取り、掛け算ロジックユニットに接続し、目標図データに対して掛け算ロジック計算と累積ロジック計算(すなわち完全な畳み込み計算)を行ってから活性化関数モジュールに転送しReLU活性化関数計算を行い、第一特徴図データを獲得し、記憶制御モジュールは活性化関数モジュールから転送してきた第一特徴図データを受け取り、第一特徴図データを第一個の特徴図メモリに書き込み、
第二の畳み込み層計算:
カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第一種のモードである場合、記憶制御モジュールは第一個の目標図メモリから第一個の目標図データを読み出し、再構築可能計算モジュールの通路選択ユニットは第一特徴図データを受け取り、掛け算ロジックユニットに接続し、第一特徴図データに対して掛け算ロジック計算と累積ロジック計算(すなわち完全な畳み込み計算)を行ってから活性化関数モジュールに転送しReLU活性化関数計算を行い、第二特徴図データを獲得し記憶制御モジュールに転送し、記憶制御モジュールは活性化関数モジュールから転送してきた第二特徴図データを受け取ってから、第二特徴図データを第二個の特徴図メモリに格納し、出力処理モジュールは第一特徴図データをパッケージング処理を行い、第一特徴図データと転送目的ノード情報をパッケージングし、通信インタフェースモジュールに転送し、通信インタフェースモジュールからマルチキャストネットワークオンチップ上に転送し、マルチキャストネットワークオンチップを通して第三と第四種のモードの畳み込みニューラルネットワークハードウェアアクセラレータをマウントした目的ノードの通信インタフェースモジュールに転送し、
カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第二種のモードである場合、記憶制御モジュールは第一個の目標図メモリから第一個の目標図データを読み出し、出力処理モジュールと再構造可能計算モジュールに転送し、入力処理モジュールは第一種のモードとその他の第二種のモードでのパッケージデータを受け取り、デパッケージング処理を行い、データパッケージの第一特徴図データと第二種のモードでの第一特徴図データを抽出し、第一種のモードでの第一特徴図と第二種のモードでの第一特徴図を獲得し再構築可能計算モジュールに転送し、再構築可能計算モジュールの通路選択ユニットは第一特徴図を受け取り、掛け算ロジックユニットに接続し、それぞれ第一特徴図データに対して掛け算ロジック計算と累積ロジック計算(すなわち完全な畳み込み計算)を行ってから活性化関数モジュールに転送してReLU活性化関数計算を行い、第二特徴図データを獲得し記憶制御モジュールに転送し、記憶制御モジュールは第二特徴図データを第二個の特徴図メモリに格納し、出力処理モジュールは第一特徴図データをパッケージング処理し、第一特徴図データと転送目的ノード情報をパッケージングして通信インタフェースモジュールに転送し、通信インタフェースモジュールからマルチキャストネットワークオンチップに転送し、マルチキャストネットワークオンチップを通して第三と第四種のモードでの畳み込みニューラルネットワークハードウェアアクセラレータの目的ノードの通信インタフェースモジュールに転送し、
カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第三種のモードである場合、入力処理モジュールは順次に第一種のモードでと第二種のモードでのパッケージデータを受け取りデパッケージング処理を行い、データパッケージの第一特徴図データと第二種のモードでの第一特徴図データを抽出し、第一種のモードでの第一特徴図データと第二種のモードでの第一特徴図データを獲得し再構築可能計算モジュールに転送し、再構築可能計算モジュールの通路選択ユニットは二つのモードでの第一特徴図を受け取り、掛け算ロジックユニットに接続し、それぞれ第一特徴図データに対して掛け算ロジック計算と累積ロジック計算(すなわち完全な畳み込み計算)を行ってから活性化関数モジュールに転送してReLU活性化関数計算を行い、二つのモードでの第二特徴図データを獲得し記憶制御モジュールに転送し、記憶制御モジュールは活性化関数から転送してきた第二特徴図データを受け取ってから二つのモードでの第二特徴図データを第二個の特徴図メモリに格納し、
カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第四種のモードである場合、入力処理モジュールは順次に第一種のモードと第二種のモードでのパッケージデータを受け取りデパッケージング処理を行い、データパッケージの第一種のモードでの第一特徴図データと第二種のモードでの第一特徴図データを抽出し、第一種のモードでの第一特徴図データと第二種のモードでの第一特徴図データを獲得し再構築可能計算モジュールに転送し、再構造可能計算モジュールの通路選択ユニットは二つのモードでの第一特徴図データを受け取り、掛け算ロジックユニットに接続し、第一特徴図データに対して掛け算ロジック計算と累積ロジック計算(すなわち完全な畳み込み計算)を行ってから活性化関数モジュールに転送してReLU活性化関数計算を行い、二つのモードでの第二特徴図データを獲得し記憶制御モジュールに転送し、記憶制御モジュールは活性化関数から転送してきた第二特徴図データを受け取ってから二つのモードでの第二特徴図データを第二個の特徴図メモリに格納し、
最初の全接続層計算:
カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第一種のモードである場合、記憶制御モジュールは第二個の特徴図メモリから第二特徴図データを読み出し再構造可能計算モジュールに転送し、再構造可能計算モジュールの通路選択ユニットは第二特徴図データを受け取り、掛け算ロジックユニットに接続し、第二特徴図データに対して掛け算ロジック計算と累積ロジック計算(すなわち完全な畳み込み計算)を行い畳み込み結果を獲得し出力処理モジュールに転送し、出力処理モジュールは畳み込み結果をパッケージング処理を行い、畳み込み結果と転送目的ノード情報をパッケージングし通信インタフェースモジュールに転送して、通信インタフェースモジュールはマルチキャストネットワークオンチップに転送し、マルチキャストネットワークオンチップを通して相応の目的ノードの通信インタフェースモジュールに転送し、
カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第二種のモードである場合、記憶制御モジュールは第二個の特徴図メモリから第二特徴図データを読み出し再構造可能計算モジュールに転送し、再構築可能計算モジュールの通路選択ユニットは第二特徴図データを受け取り、掛け算ロジックユニットに接続し、第二特徴図データに対して掛け算ロジック計算と累積ロジック計算(すなわち完全な畳み込み計算)を行い畳み込み結果を獲得し出力処理モジュールに転送し、出力処理モジュールは畳み込み結果をパッケージング処理を行い、畳み込み結果と転送目的ノード情報をパッケージングし通信インタフェースモジュールに転送して、通信インタフェースモジュールはマルチキャストネットワークオンチップに転送し、マルチキャストネットワークオンチップを通して第五種のモードでの畳み込みニューラルネットワークハードウェアアクセラレータをマウントした目的ノードの通信インタフェースモジュールに転送し、
カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第三種のモードである場合、記憶制御モジュールは第二個の特徴図メモリから第二特徴図データを読み出し再構造可能計算モジュールに転送し、再構築可能計算モジュールの通路選択ユニットは第二特徴図データを受け取り、掛け算ロジックユニットに接続し、第二特徴図データに対して掛け算ロジック計算と累積ロジック計算(すなわち完全な畳み込み計算)を行い畳み込み結果を獲得し出力処理モジュールに転送し、出力処理モジュールは畳み込み結果をパッケージング処理を行い、畳み込み結果と転送目的ノード情報をパッケージングし通信インタフェースモジュールに転送して、通信インタフェースモジュールはマルチキャストネットワークオンチップに転送し、マルチキャストネットワークオンチップを通して第五種のモードでの畳み込みニューラルネットワークハードウェアアクセラレータをマウントした目的ノードの通信インタフェースモジュールに転送し、
カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第四種のモードである場合、記憶制御モジュールは第二個の特徴図メモリから第二特徴図データを読み出し再構造可能計算モジュールに転送し、再構築可能計算モジュールの通路選択ユニットは第二特徴図データを受け取り、掛け算ロジックユニットに接続し、第二特徴図データに対して掛け算ロジック計算と累積ロジック計算(すなわち完全な畳み込み計算)を行い畳み込み結果を獲得し出力処理モジュールに転送し、出力処理モジュールは畳み込み結果をパッケージング処理を行い、畳み込み結果と転送目的ノード情報をパッケージングし通信インタフェースモジュールに転送して、通信インタフェースモジュールはマルチキャストネットワークオンチップに転送し、マルチキャストネットワークオンチップを通して第五種のモードでの畳み込みニューラルネットワークハードウェアアクセラレータをマウントした目的ノードの通信インタフェースモジュールに転送し、
カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第五種のモードである場合、入力処理モジュールは順次に第二種のモード、第三種のモードおよび第四種のモードでのパッケージデータを受け取りデパッケージング処理を行い、データパッケージの第三種のモードでの畳み込み結果を抽出し、第三種の畳み込み結果を獲得し再構築可能計算モジュールに転送し、再構築可能計算モジュールの通路選択ユニットは三種類のモードでの畳み込み結果を受け取り、累積ロジック計算ユニットに接続し、三種類のモードでの畳み込み結果を累積計算してから累積結果を獲得し出力処理モジュールに転送し、出力処理モジュールは累積結果をパッケージング処理を行い、累積結果と転送目的ノード情報をパッケージングし通信インタフェースモジュールに転送し、
カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第一種のモードである場合、記憶制御モジュールはまだ第二個の特徴図メモリから第二特徴図データを読み出し再構造可能計算モジュールに転送し、再構造可能計算モジュールは第二特徴図データに対して畳み込み計算を行ってから畳み込み結果を再構築可能計算モジュールに転送し、入力処理モジュールは順次に第五種のモードでのパッケージデータを受け取りデパッケージング処理を行い、第五種のモードでの累積結果を獲得し再構築可能計算モジュールに転送し、再構築可能計算モジュールは累積結果と畳み込み結果に対して同時に累積計算を行い第三の特徴図データを獲得し記憶制御モジュールに転送し、記憶制御モジュールは第三の特徴図データを第三個の特徴図メモリに格納し、
第二の全接続層の計算:
カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第一種のモードである場合、記憶制御モジュールは第三個の特徴図メモリから第三特徴図データを読み出し、ReLU活性化関数計算を行うようにそれぞれ活性化関数モジュールに転送し、活性化結果を獲得してから再構築可能計算モジュールと出力処理モジュールに転送し、再構築可能計算モジュールの通路選択ユニットは活性化結果を受け取り、掛け算ロジックユニットに接続し、活性化結果に対して掛け算ロジック計算と累積ロジック計算(すなわち完全な畳み込み計算)を行い、第一の初歩的な結果を獲得し活性化関数モジュールに転送してReLU活性化関数計算を行い、第一出力結果を獲得し記憶制御モジュールに転送し、記憶制御モジュールは第一出力結果を受け取ってから、第一出力結果を結果メモリに書き込み、出力処理モジュールは活性化結果に対してパッケージング処理を行い、活性化結果と転送目的ノード情報をパッケージングしてから通信インタフェースモジュールに転送し、通信インタフェースモジュールはマルチキャストネットワークオンチップに転送し、マルチキャストネットワークオンチップを通して第二と第四種のモードでの畳み込みニューラルネットワークハードウェアアクセラレータをマウントした目的ノードの通信インタフェースモジュールに転送し、
カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第二種のモードである場合、入力処理モジュールは順次に第一種のモードでのパッケージデータを受け取りデパッケージング処理を行い、データパッケージの活性化結果を抽出し、活性化結果を獲得し再構築可能計算モジュールに転送し、再構築可能計算モジュールの通路選択ユニットは活性化結果を受け取り、掛け算ロジックユニットに接続し、活性化結果に対して掛け算ロジック計算と累積ロジック計算(すなわち完全な畳み込み計算)を行い、第二初歩的な結果を獲得し活性化関数モジュールに転送してReLU活性化関数計算を行い、第二出力結果を獲得し出力処理モジュールに転送し、出力処理モジュールは第二出力結果に対してパッケージング処理を行い、第二出力結果と転送目的ノード情報をパッケージングして通信インタフェースモジュールに転送し、通信インタフェースモジュールはマルチキャストネットワークオンチップに転送し、マルチキャストネットワークオンチップを通して第一種のモードでの畳み込みニューラルネットワークハードウェアアクセラレータをマウントした目的ノードの通信インタフェースモジュールに転送し、
カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第四種のモードである場合、入力処理モジュールは順次に第一種のモードでのパッケージデータを受け取りデパッケージング処理を行い、データパッケージの活性化結果を抽出し、活性化結果を獲得し再構築可能計算モジュールに転送し、再構築可能計算モジュールの通路選択ユニットは活性化結果を受け取り、掛け算ロジックユニットに接続し、活性化結果に対して掛け算ロジック計算と累積ロジック計算(すなわち完全な畳み込み計算)を行い、第三初歩的な結果を獲得し活性化関数モジュールに転送してReLU活性化関数計算を行い、第三出力結果を獲得し出力処理モジュールに転送し、出力処理モジュールは第三出力結果に対してパッケージング処理を行い、第三出力結果と転送目的ノード情報をパッケージングして通信インタフェースモジュールに転送し、通信インタフェースモジュールはマルチキャストネットワークオンチップに転送し、マルチキャストネットワークオンチップを通して第一種のモードでの畳み込みニューラルネットワークハードウェアアクセラレータをマウントした目的ノードの通信インタフェースモジュールに転送し、
その他、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第一種のモードである場合、入力処理モジュールはさらに順次に第二種のモードと第四種のモードでのパッケージデータを受け取りデパッケージング処理を行い、データパッケージの第二出力結果と第三出力結果を抽出し、第二出力結果と第三出力結果を獲得し記憶制御モジュールに転送し、記憶制御モジュールは順次に第二出力結果と第三出力結果を結果メモリに書き込み、
三つの出力結果はそれぞれ目標図データに対応する種別に属する確率を示す。あるいは、三つの出力結果は次の畳み込みネットワークまたは次の畳み込み層計算の入力とすることができる。
First convolution layer calculation:
When the current convolutional neural network hardware accelerator is in first-class mode, the storage control module reads the target diagram data from the target diagram memory and transfers it to the output processing module and the restructible calculation module, and the output processing module is the target. The figure data is packaged, the target figure data and the node information for transfer are packaged, transferred to the communication interface module, transferred from the communication interface module to the multicast network on-chip, and the second type through the multicast network on-chip. Transfer to the communication interface module of the node that mounts the convolutional neural network hardware accelerator in the mode, the restructible calculation module receives the target diagram data, and at this time the path selection device of the reconstructable calculation module is the multiplication logic. Connect to the unit, perform multiplication logic calculation on the target diagram data, perform cumulative logic calculation (that is, complete convolution calculation), and the reconstructable calculation module is activated after the convolution calculation is completed on the target diagram data. In this embodiment, two multipliers are built in the multiplication logic unit in order to transfer to the multiplication function module to perform ReLU activation function calculation, acquire the first feature diagram data, and increase the parallelism of the convolution calculation. The multiplication calculation can be performed at the same time, and at the time of the convolution layer calculation of the first layer, the two multipliers perform the multiplication logic calculation on the target diagram data in parallel, and the present invention is a multiplication logic unit. Can incorporate a large number of multipliers and includes the two multipliers of this embodiment, but not limited to that, the parallel processing of a large number of multipliers increases the degree of parallelism during convolution calculations. Increase and increase the speed of convolution calculation. After that, the storage control module receives the first feature diagram data transferred from the activation function, and then stores the first feature diagram data in the first feature diagram memory.
When the current convolution neural network hardware accelerator is in the second type mode, the input processing module receives the package data transferred by the communication interface module in the first type mode, performs depackaging processing, and is in the package data. The target diagram data of the After performing the multiplication logic calculation and the cumulative logic calculation (that is, the complete convolution calculation), the data is transferred to the activation function module to perform the ReLU activation function calculation, the first feature diagram data is acquired, and the storage control module is the activation function. Receives the first feature diagram data transferred from the module, writes the first feature diagram data to the first feature diagram memory, and
Second convolution layer calculation:
When the current convolution neural network hardware accelerator is in the first type mode, the memory control module reads the first target diagram data from the first target diagram memory, and the path selection unit of the reconstructable calculation module is Receives the first feature diagram data, connects it to the multiplication logic unit, performs multiplication logic calculation and cumulative logic calculation (that is, complete convolution calculation) on the first feature diagram data, and then transfers it to the activation function module for ReLU activity. The conversion function calculation is performed, the second feature diagram data is acquired and transferred to the storage control module, and the memory control module receives the second feature diagram data transferred from the activation function module, and then transfers the second feature diagram data. Stored in two feature diagram memories, the output processing module performs packaging processing of the first feature diagram data, packages the first feature diagram data and transfer target node information, transfers it to the communication interface module, and communicates. Transfer from the module onto the multicast network on-chip and transfer through the multicast network-on-chip to the communication interface module of the destination node with the convolutional neural network hardware accelerators of the third and fourth modes mounted.
When the current convolutional neural network hardware accelerator is in the second mode, the memory control module reads the first target diagram data from the first target diagram memory and turns it into an output processing module and a restructurable calculation module. Transfer, the input processing module receives the package data in the first type mode and the other second type mode, performs the depackaging process, and performs the first feature diagram data of the data package and the second type mode. The first feature diagram data is extracted, the first feature diagram in the first type mode and the first feature diagram in the second type mode are acquired and transferred to the reconstructable calculation module, and the reconstructable calculation module The passage selection unit receives the first feature diagram, connects it to the multiplication logic unit, performs multiplication logic calculation and cumulative logic calculation (that is, complete convolution calculation) on the first feature diagram data, respectively, and then turns it into an activation function module. Transfer and perform ReLU activation function calculation, acquire the second feature diagram data and transfer it to the storage control module, the storage control module stores the second feature diagram data in the second feature diagram memory, and the output processing module Packages the first feature diagram data, packages the first feature diagram data and transfer target node information, transfers it to the communication interface module, transfers it from the communication interface module to the multicast network on-chip, and then transfers it to the multicast network on-chip. Transfer to the communication interface module of the target node of the convolutional neural network hardware accelerator in the third and fourth types of modes through
When the current convolution neural network hardware accelerator is in the third type mode, the input processing module sequentially receives the package data in the first type mode and the second type mode, performs the depackaging process, and performs the data. The first feature diagram data of the package and the first feature diagram data in the second type mode are extracted, and the first feature diagram data in the first type mode and the first feature diagram data in the second type mode are extracted. Acquired and transferred to the reconstructable calculation module, the path selection unit of the reconstructable calculation module receives the first feature diagram in the two modes, connects to the multiplication logic unit, and multiplies each of the first feature diagram data. After performing logic calculation and cumulative logic calculation (that is, complete convolution calculation), transfer to the activation function module to perform ReLU activation function calculation, acquire the second feature diagram data in the two modes, and use it as the storage control module. After receiving the second feature diagram data transferred from the activation function, the storage control module stores the second feature diagram data in the two modes in the second feature diagram memory.
When the current convolution neural network hardware accelerator is in the 4th mode, the input processing module sequentially receives the package data in the 1st mode and the 2nd mode, performs the depackaging process, and performs the data package. The first feature diagram data in the first type mode and the first feature diagram data in the second type mode are extracted, and the first feature diagram data in the first type mode and the first feature diagram data in the second type mode are extracted. The first feature diagram data is acquired and transferred to the reconstructable calculation module, and the path selection unit of the restructureable calculation module receives the first feature diagram data in the two modes, connects to the multiplication logic unit, and the first feature. After performing multiplication logic calculation and cumulative logic calculation (that is, complete convolution calculation) on the figure data, transfer it to the activation function module to perform ReLU activation function calculation, and perform the second feature diagram data in the two modes. It is acquired and transferred to the memory control module, and after receiving the second feature diagram data transferred from the activation function, the memory control module stores the second feature diagram data in the two modes in the second feature diagram memory. ,
First all connection layer calculation:
When the current convolutional neural network hardware accelerator is in first-class mode, the storage control module reads the second feature diagram data from the second feature diagram memory, transfers it to the restructurable calculation module, and reconstructable computation. The passage selection unit of the module receives the second feature diagram data, connects it to the multiplication logic unit, performs multiplication logic calculation and cumulative logic calculation (that is, complete convolution calculation) on the second feature diagram data, and obtains the convolution result. Transfer to the output processing module, the output processing module performs packaging processing of the convolution result, packages the convolution result and transfer target node information and transfers it to the communication interface module, and the communication interface module transfers it to the multicast network on-chip. , Transfer to the communication interface module of the corresponding destination node through the multicast network on-chip,
When the current convolutional neural network hardware accelerator is in the second mode, the memory control module reads the second feature diagram data from the second feature diagram memory and transfers it to the restructurable calculation module for reconstructable calculation. The passage selection unit of the module receives the second feature diagram data, connects it to the multiplication logic unit, performs multiplication logic calculation and cumulative logic calculation (that is, complete convolution calculation) on the second feature diagram data, and obtains the convolution result. Transfer to the output processing module, the output processing module performs packaging processing of the convolution result, packages the convolution result and transfer target node information and transfers it to the communication interface module, and the communication interface module transfers it to the multicast network on-chip. Transfer to the communication interface module of the target node with the convolutional neural network hardware accelerator mounted in the fifth mode through the multicast network on-chip.
When the current convolutional neural network hardware accelerator is in the third mode, the storage control module reads the second feature diagram data from the second feature diagram memory and transfers it to the restructurable calculation module for reconstructable calculation. The passage selection unit of the module receives the second feature diagram data, connects it to the multiplication logic unit, performs multiplication logic calculation and cumulative logic calculation (that is, complete convolution calculation) on the second feature diagram data, and obtains the convolution result. Transfer to the output processing module, the output processing module performs packaging processing of the convolution result, packages the convolution result and transfer target node information and transfers it to the communication interface module, and the communication interface module transfers it to the multicast network on-chip. Transfer to the communication interface module of the target node with the convolutional neural network hardware accelerator mounted in the fifth mode through the multicast network on-chip.
When the current convolutional neural network hardware accelerator is in type 4 mode, the memory control module reads the second feature diagram data from the second feature diagram memory and transfers it to the restructurable calculation module for reconstructable computation. The passage selection unit of the module receives the second feature diagram data, connects it to the multiplication logic unit, performs multiplication logic calculation and cumulative logic calculation (that is, complete convolution calculation) on the second feature diagram data, and obtains the convolution result. Transfer to the output processing module, the output processing module performs packaging processing of the convolution result, packages the convolution result and transfer target node information and transfers it to the communication interface module, and the communication interface module transfers it to the multicast network on-chip. Transfer to the communication interface module of the target node with the convolutional neural network hardware accelerator mounted in the fifth mode through the multicast network on-chip.
If the current convolutional neural network hardware accelerator is in type 5 mode, the input processing module will sequentially receive and depackage the package data in type 2 mode, type 3 mode, and type 4 mode. Performs processing, extracts the convolutional result in the third type mode of the data package, acquires the third type convolutional result and transfers it to the reconstructable calculation module, and there are three types of passage selection units in the reconstructable calculation module. Receives the convolutional result in the mode of, connects to the cumulative logic calculation unit, cumulatively calculates the convolutional result in the three types of modes, then acquires the cumulative result and transfers it to the output processing module, and the output processing module transfers the cumulative result. Performs packaging processing, packages the cumulative result and transfer destination node information, and transfers it to the communication interface module.
When the current convolutional neural network hardware accelerator is in first-class mode, the memory control module can still read the second feature diagram data from the second feature diagram memory and transfer it to the restructurable calculation module for restructuring. The calculation module performs convolutional calculation on the second feature diagram data and then transfers the convolutional result to the reconstructable calculation module, and the input processing module sequentially receives the package data in the fifth type mode and depackages processing. Is performed, the cumulative result in the fifth type mode is acquired and transferred to the reconstructable calculation module, and the reconstructable calculation module performs cumulative calculation on the cumulative result and the convolutional result at the same time and performs the third feature diagram data. It is acquired and transferred to the storage control module, and the storage control module stores the third feature diagram data in the third feature diagram memory.
Calculation of the second whole connection layer:
When the current convolutional neural network hardware accelerator is in the first type mode, the memory control module reads the third feature diagram data from the third feature diagram memory and activates each to perform the ReLU activation function calculation. Transfer to the function module, get the activation result, then transfer to the reconstructable calculation module and output processing module, the path selection unit of the reconstructable calculation module receives the activation result, connect it to the multiplication logic unit, Multiply logic calculation and cumulative logic calculation (that is, complete convolution calculation) are performed on the activation result, the first rudimentary result is obtained, transferred to the activation function module, and ReLU activation function calculation is performed. One output result is acquired and transferred to the storage control module, the storage control module receives the first output result, then writes the first output result to the result memory, and the output processing module performs packaging processing on the activation result. Perform, package the activation result and transfer destination node information, then transfer to the communication interface module, transfer to the multicast network on-chip, and through the multicast network-on-chip in the second and fourth modes. Transfer to the communication interface module of the target node with the convolutional neural network hardware accelerator mounted,
When the current convolution neural network hardware accelerator is in the second type mode, the input processing module sequentially receives the package data in the first type mode, performs depackaging processing, and extracts the activation result of the data package. Then, the activation result is acquired and transferred to the reconstructable calculation module, and the path selection unit of the reconstructable calculation module receives the activation result, connects to the multiplication logic unit, and performs the multiplication logic calculation on the activation result. Perform cumulative logic calculation (ie complete convolution calculation), obtain the second rudimentary result and transfer it to the activation function module to perform ReLU activation function calculation, obtain the second output result and transfer it to the output processing module. Then, the output processing module performs packaging processing on the second output result, packages the second output result and the transfer target node information and transfers it to the communication interface module, and the communication interface module transfers it to the multicast network on-chip. Then, through the multicast network on-chip, transfer the convolutional neural network hardware accelerator in the first-class mode to the communication interface module of the target node on which it is mounted.
When the current convolution neural network hardware accelerator is in the 4th mode, the input processing module sequentially receives the package data in the 1st mode, performs the depackaging process, and extracts the activation result of the data package. Then, the activation result is acquired and transferred to the reconstructable calculation module, and the path selection unit of the reconstructable calculation module receives the activation result, connects to the multiplication logic unit, and performs the multiplication logic calculation on the activation result. Perform cumulative logic calculation (ie complete convolution calculation), obtain the third rudimentary result and transfer it to the activation function module to perform ReLU activation function calculation, obtain the third output result and transfer it to the output processing module. Then, the output processing module performs packaging processing on the third output result, packages the third output result and the transfer target node information and transfers it to the communication interface module, and the communication interface module transfers it to the multicast network on-chip. Then, through the multicast network on-chip, transfer the convolutional neural network hardware accelerator in the first-class mode to the communication interface module of the target node on which it is mounted.
In addition, when the current convolutional neural network hardware accelerator is in the first type mode, the input processing module further sequentially receives the package data in the second type mode and the fourth type mode and performs the depackaging process. , The second output result and the third output result of the data package are extracted, the second output result and the third output result are acquired and transferred to the memory control module, and the memory control module sequentially outputs the second output result and the third output result. Write the result to the result memory,
Each of the three output results shows the probability of belonging to the type corresponding to the target diagram data. Alternatively, the three output results can be inputs to the next convolutional network or the next convolutional layer calculation.

本実施例には、マルチキャストネットワークオンチップと畳み込みニューラルネットワークハードウェアアクセラレータを相互結合することを採用し、畳み込みニューラルネットワークの計算を実現している。本実施例には、マルチキャストネットワークオンチップの構造は図2に示し、その中円形アイコンはノードルータを表し、四角形アイコンはノードルータ上にマウントした畳み込みニューラルネットワークハードウェアアクセラレータであり、6×6の下層二次元ネットワークと4×4の上層ネットワークから構成され、全部で40個のノードルータが含まれ、その中下層二次元ネットワークは全部で36個のノードルータがあり、3×3の子ネットワークを単位に四つのマルチキャスト領域に分割し、図2の中の点線で囲まれた四つの領域のようになり、個々の領域内は一つ中間ノードルータRと複数の普通ノードルータRを含み、普通ノードルータRは五つの水平転送方向があり、中間ノードルータRは五つの水平転送方向と一つの上り転送方向があり、上層ネットワークはいずれも転送ノードルータRであり、転送ノードルータRは五つの水平転送方向と一つの下向き転送方向があり、個々の領域内の中間ノードルータRは相応の転送ノードルータRとは相互接続し、マルチキャストネットワークオンチップの構造は転送する情報が一つのノードルータから同時に多数のノードルータに転送することが実現でき、このように情報転送の効率は大きく高め、畳み込みニューラルネットワーク計算プロセスの再利用可能な情報の転送の速さを高め、畳み込みニューラルネットワーク計算の並行性を高める。 In this embodiment, the multicast network on-chip and the convolutional neural network hardware accelerator are interconnected to realize the calculation of the convolutional neural network. In this embodiment, the structure of the multicast network on-chip is shown in FIG. 2, in which the circular icon represents the node router and the square icon is the convolutional neural network hardware accelerator mounted on the node router, 6x6. It consists of a lower two-dimensional network and a 4x4 upper layer network, and includes a total of 40 node routers. The middle and lower layer two-dimensional network has a total of 36 node routers and has a 3x3 child network. divided into four multicast area to the unit, would be four area surrounded by a dotted line in FIG. 2, within each region comprises one intermediate node router R 3 and a plurality of ordinary nodes router R 2 , Ordinary node router R 2 has five horizontal transfer directions, intermediate node router R 3 has five horizontal transfer directions and one uplink transfer direction, and the upper network is transfer node router R 1 and transfer node. Router R 1 has five horizontal forwarding directions and one downward forwarding direction, intermediate node router R 3 in each region interconnects with the corresponding forwarding node router R 1, and the multicast network on-chip structure is forwarding. It is possible to transfer the information to be transferred from one node router to many node routers at the same time, thus greatly increasing the efficiency of information transfer and increasing the speed of transfer of reusable information in the convolutional neural network calculation process. , Increases the parallelism of convolutional neural network calculations.

本実例で採用したマルチキャストネットワークオンチップ規模は使用している畳み込みニューラルネットワークの大きさによって設定し、実際の状況では計算で使用している畳み込みニューラルネットワークの種類が異なるため、実際の状況によってマルチキャストネットワークオンチップの規模を設定し、6×6の下層二次元ネットワークと4×4の上層ネットワークが含まれているが、それだけに限らない双層ネットワーク構造である。 The multicast network on-chip scale adopted in this example is set according to the size of the convolutional neural network used, and since the type of convolutional neural network used in the calculation differs in the actual situation, the multicast network depends on the actual situation. It is a dual-layer network structure that sets the scale of on-chip and includes, but is not limited to, a 6 × 6 lower layer two-dimensional network and a 4 × 4 upper layer network.

畳み込みニューラルネットワークハードウェアアクセラレータはそれぞれ下層二次元ネットワークの36個のノードルータと接続していて、
その動作方式は下記のとおりであり:
ステップ1、畳み込みニューラルネットワークハードウェアアクセラレータを配置して初期化段階で五つのモードに分け、
ステップ2、第一と第二種のモードでの畳み込みニューラルネットワークハードウェアアクセラレータが第一の畳み込み層計算を行い:
ステップ2.1、カレントの畳み込みニューラルネットワークハードウェアアクセラレータが第一種のモードである場合、畳み込みニューラルネットワークハードウェアアクセラレータは目標図データを獲得し、畳み込み計算を行ってから活性化関数計算して第一特徴図データを獲得し、
ステップ2.2、カレントの畳み込みニューラルネットワークハードウェアアクセラレータが第二種のモードである場合、畳み込みニューラルネットワークハードウェアアクセラレータは目標図データに対して畳み込み計算を行ってから活性化関数計算を行って第一特徴図データを獲得し、
ステップ3、第一、第二、第三および第四種のモードでの畳み込みニューラルネットワークハードウェアアクセラレータを用いて第二の畳み込み層計算を行い:
ステップ3.1、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第一種のモードである場合、畳み込みニューラルネットワークハードウェアアクセラレータは第一特徴図データを畳み込み計算し、さらに活性化関数計算を行って第二特徴図データを獲得し、
ステップ3.2、、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第二種のモードである場合、畳み込みニューラルネットワークハードウェアアクセラレータは第一特徴図データを畳み込み計算してから活性化関数計算を行って第二特徴図データを獲得し、
ステップ3.3、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第三種のモードである場合、畳み込みニューラルネットワークハードウェアアクセラレータは第一種のモードでの第一特徴図データと第二種のモードでの第一特徴図データをそれぞれ畳み込み計算して、さらに活性化関数計算を行って二つのモードでの第二特徴図データを獲得し、
ステップ3.4、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第四種のモードである場合、畳み込みニューラルネットワークハードウェアアクセラレータは第一種のモードでの第一特徴図データと第二種のモードでの第一特徴図データをそれぞれ畳み込み計算してから活性化関数計算を行い、二つのモードの第二特徴図データを獲得し、
ステップ4、第一、第二、第三、第四および第五種のモードでの畳み込みニューラルネットワークハードウェアアクセラレータを用いて第一の全接続層計算を行い、
ステップ4.1、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第一種のモードである場合、畳み込みニューラルネットワークハードウェアアクセラレータは第二特徴図データを畳み込み計算してから畳み込み結果を獲得し、
ステップ4.2、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第二種のモードである場合、畳み込みニューラルネットワークハードウェアアクセラレータは第二特徴図データに対して畳み込み計算してから畳み込み結果を獲得し、
ステップ4.3、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第三種のモードである場合、畳み込みニューラルネットワークハードウェアアクセラレータは第二特徴図データを畳み込み計算してから畳み込み結果を獲得し、
ステップ4.4、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第四種のモードである場合、畳み込みニューラルネットワークハードウェアアクセラレータは第二特徴図データを畳み込み計算してから畳み込み結果を獲得し、
ステップ4.5、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第五種のモードである場合、畳み込みニューラルネットワークハードウェアアクセラレータは第二種のモード、第三種のモードおよび第四種のモードでの畳み込み結果を積算してから積算結果を獲得し、
ステップ4.6、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第一種のモードである場合、畳み込みニューラルネットワークハードウェアアクセラレータはさらに第五種のモードでの積算結果を積算してから第三の特徴図データを獲得し、
ステップ5、第一、第二および第四種のモードでの畳み込みニューラルネットワークハードウェアアクセラレータを用いて第二の全接続層計算を行い、
ステップ5.1、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第一種のモードである場合、畳み込みニューラルネットワークハードウェアアクセラレータは第三の特徴図データに対して活性化関数計算してから活性化結果を獲得し、活性化結果を畳み込み計算を行い、第一の初歩的な結果を獲得し、最後に第一の初歩的な結果に対して活性化関数計算を行い第一活性化結果を獲得して格納し、
ステップ5.2、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第二種のモードである場合、畳み込みニューラルネットワークハードウェアアクセラレータは第一種のモードでの活性化結果にを畳み込み計算してから第二の初歩的な結果を獲得し、第二の初歩的な結果を活性化関数計算を行い、第二出力結果を獲得し、
ステップ5.3、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第四種のモードである場合、畳み込みニューラルネットワークハードウェアアクセラレータは第一種のモードでの活性化結果にを畳み込み計算してから第三の初歩的な結果を獲得し、第三の初歩的な結果に対して活性化関数計算をし、第三出力結果を獲得し、
ステップ5.4、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第一種のモードである場合、畳み込みニューラルネットワークハードウェアアクセラレータは第二種のモードと第四種のモードでの第二の出力結果と第三の出力結果を格納する。
Each convolutional neural network hardware accelerator is connected to 36 node routers in the lower 2D network.
The operation method is as follows:
Step 1. Place the convolutional neural network hardware accelerator and divide it into 5 modes at the initialization stage.
Step 2, Convolutional Neural Network in First and Second Modes The hardware accelerator performs the first convolutional layer calculation:
Step 2.1, If the current convolutional neural network hardware accelerator is in first-class mode, the convolutional neural network hardware accelerator acquires the target diagram data, performs the convolutional calculation, and then calculates the activation function. Acquire one feature diagram data,
Step 2.2, If the current convolutional neural network hardware accelerator is in the second mode, the convolutional neural network hardware accelerator performs the convolutional calculation on the target diagram data and then the activation function calculation. Acquire one feature diagram data,
Step 3, Perform a second convolutional layer calculation using a convolutional neural network hardware accelerator in the first, second, third and fourth modes:
Step 3.1, When the current convolutional neural network hardware accelerator is in the first type mode, the convolutional neural network hardware accelerator convolves the first feature diagram data, performs the activation function calculation, and then performs the second. Acquire feature diagram data and
Step 3.2. When the current convolutional neural network hardware accelerator is in the second type mode, the convolutional neural network hardware accelerator convolves the first feature diagram data and then performs the activation function calculation. (2) Acquire feature diagram data and
Step 3.3, If the current convolutional neural network hardware accelerator is in the third mode, the convolutional neural network hardware accelerator is the first feature diagram data in the first mode and the second mode. The first feature diagram data is convolutionally calculated, and the activation function calculation is further performed to acquire the second feature diagram data in the two modes.
Step 3.4, If the current convolutional neural network hardware accelerator is in the 4th mode, the convolutional neural network hardware accelerator is the 1st feature diagram data in the 1st mode and the 2nd mode. After convolutional calculation of the first feature diagram data, the activation function calculation is performed to acquire the second feature diagram data of the two modes.
Step 4, perform the first full connection layer calculation using the convolutional neural network hardware accelerator in the first, second, third, fourth and fifth modes.
Step 4.1, When the current convolutional neural network hardware accelerator is in the first type mode, the convolutional neural network hardware accelerator convolves and calculates the second feature diagram data and then obtains the convolution result.
Step 4.2, If the current convolutional neural network hardware accelerator is in the second mode, the convolutional neural network hardware accelerator performs the convolutional calculation on the second feature diagram data and then obtains the convolutional result.
Step 4.3, If the current convolutional neural network hardware accelerator is in the third mode, the convolutional neural network hardware accelerator convolutionally calculates the second feature diagram data and then obtains the convolutional result.
Step 4.4, if the current convolutional neural network hardware accelerator is in type 4 mode, the convolutional neural network hardware accelerator convolves and calculates the second feature diagram data and then obtains the convolution result.
Step 4.5, If the current convolutional neural network hardware accelerator is in mode 5, the convolutional neural network hardware accelerator convolves in mode 2, mode 3 and mode 4. After accumulating the results, obtain the integrated results and
Step 4.6, When the current convolutional neural network hardware accelerator is in the first type mode, the convolutional neural network hardware accelerator further integrates the integration results in the fifth type mode, and then the third feature diagram. Acquire data,
Step 5, perform the second full connection layer calculation using the convolutional neural network hardware accelerator in the first, second and fourth modes.
Step 5.1, When the current convolutional neural network hardware accelerator is in the first type mode, the convolutional neural network hardware accelerator calculates the activation function for the third feature diagram data and then calculates the activation result. Obtain, convolve the activation result, perform the calculation, obtain the first rudimentary result, and finally perform the activation function calculation on the first rudimentary result to obtain the first activation result. Store and
Step 5.2, If the current convolutional neural network hardware accelerator is in the second type mode, the convolutional neural network hardware accelerator convolves the activation result in the first type mode and then calculates the second type. Obtain the rudimentary result, activate the second rudimentary result, perform the function calculation, obtain the second output result,
Step 5.3, If the current convolutional neural network hardware accelerator is in the 4th mode, the convolutional neural network hardware accelerator convolves the activation result in the 1st mode and then calculates the third. Obtain a rudimentary result, perform an activation function calculation on the third rudimentary result, and obtain a third output result.
Step 5.4, If the current Convolutional Neural Network Hardware Accelerator is in Type 1 mode, then the Convolutional Neural Network Hardware Accelerator is in Type 2 mode and Type 4 mode with a second output result and a second mode. Store the output result of the third.

例えば、三つの出力結果はそれぞれ目標図データに対応する種別に属する確率を示す。 For example, each of the three output results indicates the probability of belonging to the type corresponding to the target diagram data.

該当動作方式は数字図形の識別時間を大きく低減し、再構築可能な設計は拡張性を高め、マルチキャストネットワークオンチップを通してデータを転送し、計算と通信を完全に分離し、再利用範囲を計算ユニットの再利用可能から計算と通信ユニット全て再利用可能のレベルに拡張し、再利用設計のレベルを大きく高めた。 The corresponding operation method greatly reduces the identification time of numeric figures, the reconstructable design enhances scalability, data is transferred through the multicast network on-chip, calculation and communication are completely separated, and the reuse range is calculated as a unit. The level of reusability has been greatly increased by expanding the reusability of all calculation and communication units to the reusable level.

表1で示すように、本発明は一枚の図形を識別するシミュレート時間は0.16735msであり、実験の中のFPGAに基づいたCNN畳み込みニューラルネットワークが一枚の図形を識別の所要時間0.272msと比較して、本発明は比較試験に対して一枚の図形を識別する速さが38%を高め、本発明実例では10000枚の図形を識別するシミュレート時間は1673.5msであり、実験の中のFPGAに基づいたCNN畳み込みニューラルネットワークが10000枚の図形を識別の所要時間2912msと比較して、本発明は比較試験に対して10000枚の図形を識別する速さが43%を高め、

Figure 0006960700
表2で示すように、本発明は1枚の図形の識別の所要時間が0.16735msであり、その中の第一層の畳み込み層の所要時間が0.03485msであり、第二層の畳み込み層の所要時間が0.09543msであり、第一層の全接続層の所要時間が0.03522msであり、第二層の全接続層の所要時間が0.00185msである。本発明は10枚の図形の識別の所要時間が1.6735msであり、その中第一層の畳み込み層の所要時間が0.3485msであり、第二層の畳み込み層の所要時間が0.9543msであり、第一層の全接続層の所要時間が0.3522msであり、第二層の全接続層の所要時間が0.0185msである。本発明は100枚の図形の識別の所要時間が16.735msであり、その中第一層の畳み込み層の所要時間が3.485msであり、第二層の畳み込み層の所要時間が9.543msであり、第一層の全接続層の所要時間が3.522msであり、第二層の全接続層の所要時間が0.185msである。
Figure 0006960700
As shown in Table 1, the simulated time for identifying one figure is 0.16735 ms, and the time required for the CNN convolutional neural network based on FPGA in the experiment to identify one figure is 0. Compared with .272 ms, the present invention increased the speed of identifying one figure by 38% compared to the comparative test, and in the example of the present invention, the simulated time of identifying 10000 figures was 1673.5 ms. Compared with the time required for the CNN convolutional neural network based on FPGA in the experiment to identify 10,000 figures to 2912 ms, the present invention is 43% faster than the comparative test to identify 10,000 figures. Higher
Figure 0006960700
As shown in Table 2, the present invention takes 0.16735 ms for identifying one figure, 0.03485 ms for the first layer convolution layer, and 0.03485 ms for the second layer convolution. The time required for the layers is 0.09543 ms, the time required for all the connecting layers of the first layer is 0.03522 ms, and the time required for all the connecting layers of the second layer is 0.00185 ms. In the present invention, the time required for identifying 10 figures is 1.6735 ms, the time required for the first layer convolution layer is 0.3485 ms, and the time required for the second layer convolution layer is 0.9543 ms. The time required for all the connecting layers of the first layer is 0.3522 ms, and the time required for all the connecting layers of the second layer is 0.0185 ms. In the present invention, the time required for identifying 100 figures is 16.735 ms, the time required for the first layer convolution layer is 3.485 ms, and the time required for the second layer convolution layer is 9.543 ms. The time required for all the connecting layers of the first layer is 3.522 ms, and the time required for all the connecting layers of the second layer is 0.185 ms.
Figure 0006960700

Claims (2)

マルチキャストネットワークオンチップに基づいた畳み込みニューラルネットワークハードウェアアクセラレータであり、前記マルチキャストネットワークオンチップはN×Mの下層二次元ネットワークとL×Sの上層ネットワークから構成され(MとNは2以上の整数であり、LとSは1以上の整数であり、かつ1≦L<N、1≦S<M)、
前記下層二次元ネットワークは全部でN×M個のノードルータを有し、L×S個のブロックに分けられ、個々のブロック内は中間ノードルータと複数の普通ノードルータを含み、前記普通ノードルータは五つの水平転送方向が含まれ、前記中間ノードルータは五つの水平転送方向と一つの上り転送方向を含み、前記上層ネットワークはいずれも転送ノードルータであり、個々の前記転送ノードルータはそれぞれ五つの水平転送方向と一つの下向き転送方向にデータ転送を行い、個々のブロック内の中間ノードルータと対応する転送ノードルータとは相互接続し、その中、五つの水平転送方向は、前後左右の四つの方向および対応する畳み込みニューラルネットワークハードウェアアクセラレータへ転送する一つの方向であり、その特徴は以下のとおりである:
個々の前記畳み込みニューラルネットワークハードウェアアクセラレータはそれぞれ前記下層二次元ネットワーク中の一つのノードルータと接続し、個々の前記畳み込みニューラルネットワークハードウェアアクセラレータには、通信インタフェースモジュール、入力処理モジュール、出力処理モジュール、データメモリグループ、再構築可能計算モジュール、記憶制御モジュール、活性化関数モジュール、重み付けメモリを含み、
前記畳み込みニューラルネットワークハードウェアアクセラレータは初期化段階で五つのモードに分けるように配置され、個々のモードでは少なくとも一つの畳み込みニューラルネットワークハードウェアアクセラレータを有し、
第一種のモードでは、前記畳み込みニューラルネットワークハードウェアアクセラレータの記憶制御モジュールはデータメモリグループを目標図メモリ、n個の特徴図メモリ(1≦n≦N)および結果メモリに分け、それに目標図のデータを前記目標図メモリに書き込み、前記記憶制御モジュールは第一の重み付けデータを前記重み付けメモリに書き込み、前記活性化関数モジュールに一種の活性化関数を設定し、
第二種のモードでは、前記畳み込みニューラルネットワークハードウェアアクセラレータの記憶制御モジュールはデータメモリグループを目標図メモリ、n−1個の特徴図メモリおよび結果メモリに分け、前記記憶制御モジュールは第二の重み付けデータを前記重み付けメモリに書き込み、前記活性化関数モジュールに前記活性化関数を設定し、
第三種のモードでは、前記畳み込みニューラルネットワークハードウェアアクセラレータの記憶制御モジュールはデータメモリグループを目標図メモリ、n−2個の特徴図メモリおよび結果メモリに分け、前記記憶制御モジュールは第三の重み付けデータを前記重み付けメモリに書き込み、前記活性化関数モジュールに前記活性化関数を設定し、
第四種のモードでは、前記畳み込みニューラルネットワークハードウェアアクセラレータの記憶制御モジュールはデータメモリグループを目標図メモリ、n−2個の特徴図メモリおよび結果メモリに分け、前記記憶制御モジュールは第四の重み付けデータを前記重み付けメモリに書き込み、前記活性化関数モジュールに前記活性化関数を設定し、
第五種のモードでは、前記畳み込みニューラルネットワークハードウェアアクセラレータの記憶制御モジュールはデータメモリグループ、重み付けメモリ、活性化関数モジュールを使用しなく、
個々の畳み込みニューラルネットワークハードウェアアクセラレータは下記方式で演算する:
(1)第一の畳み込み層の計算:
カレントの畳み込みニューラルネットワークハードウェアアクセラレータが第一種のモードである場合、前記記憶制御モジュールは前記目標図メモリから前記目標図データを読み出し、前記出力モジュールと再構築可能計算モジュールに転送し、前記出力処理モジュールは前記目標図データをパッケージング処理を行い前記通信インタフェースモジュールに転送し、前記再構築可能計算モジュールは前記目標図データを畳み込み計算してから前記活性化関数モジュールに転送して活性化関数計算を行い、該当畳み込みニューラルネットワークハードウェアアクセラレータが計算した第一の特徴図データを獲得し、前記記憶制御モジュールは第一の特徴図データを第一の特徴図メモリに格納し、
カレントの畳み込みニューラルネットワークハードウェアアクセラレータが第二種のモードである場合、前記入力処理モジュールが第一種のモードでの通信インタフェースモジュールからパッケージデータを受け取り、デパッケージング処理を行い、目標図データを獲得して前記再構築可能計算モジュールに転送し、前記再構築可能計算モジュールは前記目標図データを畳み込み計算してから前記活性化関数モジュールに転送して活性化関数計算を行い、該当畳み込みニューラルネットワークハードウェアアクセラレータが計算した第一の特徴図データを得、前記記憶制御モジュールは前記第一の特徴図データを第一の特徴図メモリに格納し、
(2)第二の畳み込み層の計算:
カレントの畳み込みニューラルネットワークハードウェアアクセラレータが第一種のモードである場合、前記記憶制御モジュールは前記第一の特徴図メモリから第一の特徴図データを読み出し、前記再構築可能計算モジュールと出力処理モジュールに転送し、前記再構築可能計算モジュールは第一の特徴図データを畳み込み計算してから前記活性化関数モジュールに転送して活性化関数計算を行い、当該畳み込みニューラルネットワークハードウェアアクセラレータが計算した第二の特徴図データを獲得し、記憶制御モジュールに転送し、前記記憶制御モジュールは当該第二の特徴図データを第二の特徴図メモリに格納し、前記出力モジュールは前記第一の特徴図データをパッケージング処理してから前記通信インタフェースモジュールに転送し、
カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第二種のモードである場合、前記記憶制御モジュールは前記第一の特徴図メモリから第一の特徴図データを読み出し、前記再構築可能計算モジュールと出力モジュールに転送し、前記出力処理モジュールは順次に第一種のモードと第二種のモードでのパッケージデータを受け取り、デパッケージング処理を行い、第一種のモードでの第一の特徴図データと第二種のモードでの第一の特徴図データを獲得し、前記再構築可能計算モジュールに転送し、前記再構築可能計算モジュールは前記第一の特徴図データをそれぞれ畳み込み計算してから前記活性化関数モジュールに転送し、活性化関数計算を行い、当該畳み込みニューラルネットワークハードウェアアクセラレータが計算した第二の特徴図データを獲得し、記憶制御モジュールに転送し、前記記憶制御モジュールは前記第二の特徴データを第二の特徴図メモリに格納し、前記出力処理モジュールは前記第一の特徴図データをパッケージング処理してから前記通信インタフェースモジュールに転送し、
カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第三種のモードである場合、前記入力処理モジュールは順次に第一種モードと第二種モードでのパッケージデータを受け取り、デパッケージング処理を行い、第一種のモードの第一の特徴図データと第二種のモードの第一の特徴図データを獲得し、前記再構築可能計算モジュールに転送し、前記再構築可能計算モジュールは二つのモードの第一の特徴図データをそれぞれ畳み込み計算してから前記活性化関数モジュールに転送して活性化関数計算を行い、二つのモードでの第二の特徴図データを獲得して記憶制御モジュールに転送し、前記記憶制御モジュールは前記二つのモードでの第二の特徴図データを第二の特徴図メモリに格納し、
カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第四種のモードである場合、前記入力処理モジュールは順次に第一種モードと第二種モードでのパッケージデータを受け取り、デパッケージング処理を行い、第一種のモードでの第一の特徴図データと第二種のモードでの第一の特徴図データを獲得し、前記再構築可能計算モジュールに転送し、前記再構築可能計算モジュールは二つのモードでの第一の特徴図データをそれぞれ畳み込み計算してから前記活性化関数モジュールに転送して活性化関数計算を行い、二つのモードでの第二の特徴図データを獲得し、記憶制御モジュールに転送し、前記記憶制御モジュールは前記二つのモードでの第二の特徴図データを第二の特徴図メモリに格納し、
(3)最初の全接続層の計算:
カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第二種のモードである場合、前記記憶制御モジュールは前記第二の特徴図メモリから前記第二の特徴図データを読み出し、前記再構築可能計算モジュールに転送し、前記再構築可能計算モジュールは前記第二の特徴図データの畳み込み計算した畳み込み結果を前記出力処理モジュールに転送し、前記出力処理モジュールは畳み込み結果をパッケージング処理してから前記通信インタフェースモジュールに転送し、
カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第三種のモードである場合、前記記憶制御モジュールは前記第二の特徴図メモリから前記第二の特徴図データを読み出し、前記再構築可能計算モジュールに転送し、前記再構築可能計算モジュールは前記第二の特徴図データの畳み込み計算した畳み込み結果を前記出力処理モジュールに転送し、前記出力処理モジュールは畳み込み結果をパッケージングしてから前記通信インタフェースモジュールに転送し、
カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第四種のモードである場合、前記記憶制御モジュールは前記第二の特徴図メモリから前記第二の特徴図データを読み出し、前記再構築可能計算モジュールに転送し、前記再構築可能計算モジュールは前記第二特徴図データの畳み込み計算した畳み込み結果を前記出力処理モジュールに転送し、前記出力処理モジュールは畳み込み結果をパッケージングしてから前記通信インタフェースモジュールに転送し、
カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第五種のモードである場合、前記入力処理モジュールは順次に第二種のモード、第三種のモード及び第四種のモードでのパッケージデータを受け取り、デパッケージング処理を行い、三つのモードでの畳み込み結果を獲得し、前記再構築可能計算モジュールに転送し、前記再構築可能計算モジュールは三つのモードでの畳み込み結果の累積計算した累積結果を獲得してから前記出力処理モジュールに転送し、前記出力処理モジュールは累積結果をパッケージング処理してから前記通信インタフェースモジュールに転送し、
それ以外には、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第一種のモードである場合、前記記憶制御モジュールは前記第二の特徴図メモリから前記第二の特徴図データを読み出し、前記再構築可能計算モジュールに転送し、前記再構築可能計算モジュールは前記第二の特徴図データを畳み込み計算した畳み込み結果を前記再構築可能計算モジュールに転送し、前記入力処理モジュールは順次に第五種のモードでのパッケージデータを受け取り、デパッケージング処理を行い、第五種のモードでの累積結果を獲得し、前記再構築可能計算モジュールに転送し、前記再構築可能計算モジュールは累積結果と畳み込み結果との同時に累積計算した第三の特徴図データを獲得し、前記記憶制御モジュールに転送し、前記記憶制御モジュールは前記第三の特徴図データを第三の特徴図メモリに格納し、
(4)第二の全接続層の計算:
カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第一種のモードである場合、前記記憶制御モジュールは前記第三の特徴図メモリから前記第三特徴図データを読み出し、活性化関数計算を行うようにそれぞれ前記活性化関数モジュールに転送し、活性化結果を獲得してから前記再構築可能計算モジュールと出力処理モジュールに転送し、前記再構築可能計算モジュールは前記活性化結果に対して畳み込み計算を行い、第一の初歩的な結果を獲得して前記活性化関数モジュールに転送し、活性化関数計算を行い、第一の出力結果を獲得して前記記憶制御モジュールに転送し、前記記憶制御モジュールは前記第一の出力結果を前記結果メモリに書き込み、前記出力処理モジュールは前記活性化結果をパッケージング処理してから前記通信インタフェースモジュールに転送し、
カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第二種のモードである場合、前記入力処理モジュールは順次に第一種のモードでのパッケージデータを受け取り、デパッケージング処理を行い、活性化結果を獲得して前記再構築可能計算モジュールに転送し、前記再構築可能計算モジュールは活性化結果に対して畳み込み計算を行い、第二の初歩結果を獲得して前記活性化関数モジュールに転送し、活性化計算を行い、第二の出力結果を獲得して前記出力処理モジュールに転送し、前記出力処理モジュールは前記第二の出力結果をパッケージング処理してから前記通信インタフェースモジュールに転送し、
カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第四種のモードである場合、前記入力処理モジュールは順次に第一種のモードでのパッケージデータを受け取ってデパッケージング処理を行い、活性化結果を獲得して前記再構築可能計算モジュールに転送し、前記再構築可能計算モジュールは活性化結果に対して畳み込み計算を行い、第三の初歩的な結果を獲得して前記活性化関数モジュールに転送し、活性化関数計算を行い、第三の出力結果を獲得して前記出力処理モジュールに転送し、前記出力処理モジュールは前記第三の出力結果をパッケージング処理してから前記通信インタフェースモジュールに転送し、
カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第一種のモードである場合、前記入力処理モジュールはさらに順次に第二種のモードと第四種のモードでのパッケージデータを受け取ってデパッケージング処理を行い、前記第二の出力結果と前記第三の出力結果を獲得して前記記憶制御モジュールに転送し、前記記憶制御モジュールは順次に前記第二の出力結果と前記第三の出力結果を前記結果メモリに書き込み、三つの出力結果はそれぞれ目標図データに対応する種別に属する確率を示す。
It is a convolutional neural network hardware accelerator based on a multicast network on-chip, and the multicast network-on-chip is composed of an N × M lower layer two-dimensional network and an L × S upper layer network (M and N are integers of 2 or more). Yes, L and S are integers greater than or equal to 1, and 1 ≦ L <N, 1 ≦ S <M).
The lower two-dimensional network has a total of N × M node routers and is divided into L × S blocks, and each block includes an intermediate node router and a plurality of ordinary node routers. Includes five horizontal forwarding directions, the intermediate node router contains five horizontal forwarding directions and one uplink forwarding direction, the upper network is each forwarding node router, and each of the forwarding node routers is five. Data is transferred in one horizontal transfer direction and one downward transfer direction, and the intermediate node router in each block and the corresponding transfer node router are interconnected, and five horizontal transfer directions are four in front, back, left, and right. One direction and one direction to transfer to the corresponding convolutional neural network hardware accelerator, the features of which are:
Each of the convolutional neural network hardware accelerators is connected to one node router in the lower two-dimensional network, and each of the convolutional neural network hardware accelerators includes a communication interface module, an input processing module, an output processing module, and the like. Includes data memory group, reconstructable compute module, memory control module, activation function module, weighted memory,
The convolutional neural network hardware accelerator is arranged so as to be divided into five modes at the initialization stage, and each mode has at least one convolutional neural network hardware accelerator.
In the first type mode, the storage control module of the convolutional neural network hardware accelerator divides the data memory group into a target diagram memory, n feature diagram memories (1 ≦ n ≦ N), and a result memory, and the target diagram. The data is written to the target diagram memory, the storage control module writes the first weighted data to the weighted memory, and a kind of activation function is set in the activation function module.
In the second mode, the storage control module of the convolutional neural network hardware accelerator divides the data memory group into a target diagram memory, n-1 feature diagram memory and a result memory, and the storage control module has a second weighting. Data is written to the weighted memory, the activation function is set in the activation function module, and the activation function is set.
In the third mode, the storage control module of the convolutional neural network hardware accelerator divides the data memory group into a target diagram memory, n-2 feature diagram memories and a result memory, and the storage control module has a third weighting. Data is written to the weighted memory, the activation function is set in the activation function module, and the activation function is set.
In the fourth mode, the storage control module of the convolutional neural network hardware accelerator divides the data memory group into a target diagram memory, n-2 feature diagram memories and a result memory, and the storage control module has a fourth weighting. Data is written to the weighted memory, the activation function is set in the activation function module, and the activation function is set.
In the fifth mode, the storage control module of the convolutional neural network hardware accelerator does not use the data memory group, the weighted memory, and the activation function module.
Individual convolutional neural network hardware accelerators are operated by the following method:
(1) Calculation of the first convolution layer:
When the current convolutional neural network hardware accelerator is in the first type mode, the storage control module reads the target diagram data from the target diagram memory, transfers the target diagram data to the output module and the reconstructable calculation module, and outputs the output. The processing module performs packaging processing of the target diagram data and transfers it to the communication interface module, and the reconstructable calculation module convolves and calculates the target diagram data and then transfers it to the activation function module to activate the activation function. The calculation is performed, the first feature diagram data calculated by the corresponding convolutional neural network hardware accelerator is acquired, and the storage control module stores the first feature diagram data in the first feature diagram memory.
When the current convolutional neural network hardware accelerator is in the second type mode, the input processing module receives the package data from the communication interface module in the first type mode, performs depackaging processing, and obtains the target diagram data. It is acquired and transferred to the reconstructable calculation module, and the reconstructable calculation module convolves and calculates the target diagram data and then transfers it to the activation function module to perform the activation function calculation, and the convolutional neural network corresponds to the convolutional neural network. The first feature diagram data calculated by the hardware accelerator is obtained, and the storage control module stores the first feature diagram data in the first feature diagram memory.
(2) Calculation of the second convolution layer:
When the current convolutional neural network hardware accelerator is in first-class mode, the storage control module reads the first feature diagram data from the first feature diagram memory, and the reconstructable calculation module and output processing module. The reconstructable calculation module convolves and calculates the first feature diagram data, then transfers it to the activation function module to perform the activation function calculation, and the convolution neural network hardware accelerator calculates the first. The second feature diagram data is acquired and transferred to the storage control module, the storage control module stores the second feature diagram data in the second feature diagram memory, and the output module is the first feature diagram data. Is packaged and then transferred to the communication interface module.
When the current convolutional neural network hardware accelerator is in the second type mode, the storage control module reads the first feature diagram data from the first feature diagram memory and turns it into the reconstructable calculation module and output module. After transferring, the output processing module sequentially receives the package data in the first type mode and the second type mode, performs the depackaging process, and performs the first feature diagram data and the first feature diagram data in the first type mode. The first feature diagram data in the two modes is acquired and transferred to the reconstructable calculation module, and the reconstructable calculation module convolves and calculates the first feature diagram data and then activates the activation. Transfer to the function module, perform activation function calculation, acquire the second feature diagram data calculated by the convolutional neural network hardware accelerator, transfer to the memory control module, and the memory control module has the second feature. The data is stored in the second feature diagram memory, and the output processing module packages the first feature diagram data and then transfers the data to the communication interface module.
When the current convolutional neural network hardware accelerator is in the third type mode, the input processing module sequentially receives the package data in the first type mode and the second type mode, performs the depackaging process, and performs the first type. The first feature diagram data of the type mode and the first feature diagram data of the second type mode are acquired and transferred to the reconstructable calculation module, and the reconstructable calculation module is the first of the two modes. After each of the feature diagram data of the above is convolutionally calculated, it is transferred to the activation function module to perform the activation function calculation, and the second feature diagram data in the two modes is acquired and transferred to the storage control module. The storage control module stores the second feature diagram data in the two modes in the second feature diagram memory, and stores the second feature diagram data in the second feature diagram memory.
When the current convolutional neural network hardware accelerator is in the fourth type mode, the input processing module sequentially receives the package data in the first type mode and the second type mode, performs the depackaging process, and performs the first type. The first feature diagram data in the seed mode and the first feature diagram data in the second type mode are acquired and transferred to the reconstructable calculation module, and the reconstructable calculation module is in two modes. After each of the first feature diagram data of the above is convolutionally calculated, it is transferred to the activation function module to perform the activation function calculation, the second feature diagram data in the two modes is acquired, and the data is transferred to the storage control module. Then, the storage control module stores the second feature diagram data in the two modes in the second feature diagram memory.
(3) Calculation of the first all connection layers:
When the current convolutional neural network hardware accelerator is in the second type mode, the storage control module reads the second feature diagram data from the second feature diagram memory and transfers it to the reconstructable calculation module. , The reconstructable calculation module transfers the convolutional result of the convolutional calculation of the second feature diagram data to the output processing module, and the output processing module packages the convolutional result and then transfers it to the communication interface module. death,
When the current convolutional neural network hardware accelerator is in the third type mode, the storage control module reads the second feature diagram data from the second feature diagram memory and transfers it to the reconstructable calculation module. , The reconstructable calculation module transfers the convolutional result of the convolutional calculation of the second feature diagram data to the output processing module, and the output processing module packages the convolutional result and then transfers it to the communication interface module. ,
When the current convolutional neural network hardware accelerator is in the fourth type mode, the storage control module reads the second feature diagram data from the second feature diagram memory and transfers it to the reconstructable calculation module. The reconstructable calculation module transfers the convolutional result of the convolutional calculation of the second feature diagram data to the output processing module, and the output processing module packages the convolutional result and then transfers it to the communication interface module.
When the current convolutional neural network hardware accelerator is in the 5th mode, the input processing module sequentially receives the package data in the 2nd mode, the 3rd mode and the 4th mode. The packaging process is performed, the convolution results in the three modes are acquired, and the data is transferred to the reconstructable calculation module. The reconstructable calculation module acquires the cumulative calculated results of the convolution results in the three modes. Then, the data is transferred to the output processing module, and the output processing module processes the cumulative result and then transfers the cumulative result to the communication interface module.
Otherwise, when the current convolutional neural network hardware accelerator is in first-class mode, the storage control module can read the second feature diagram data from the second feature diagram memory and reconstruct it. Transferred to the calculation module, the reconstructable calculation module convolves the second feature diagram data and transfers the convolutional calculation result to the reconstructable calculation module, and the input processing module sequentially performs in the fifth type mode. Receives the package data of, performs depackaging processing, acquires the cumulative result in the fifth type mode, transfers it to the reconstructable calculation module, and the reconstructable calculation module combines the cumulative result and the convolutional result. At the same time, the third feature diagram data cumulatively calculated is acquired and transferred to the storage control module, and the storage control module stores the third feature diagram data in the third feature diagram memory.
(4) Calculation of the second whole connection layer:
When the current convolution neural network hardware accelerator is in the mode of the first kind, the storage control module reads the third feature diagram data from the third feature diagram memory and performs the activation function calculation, respectively. It is transferred to the activation function module, and after obtaining the activation result, it is transferred to the reconstructable calculation module and the output processing module, and the reconstructable calculation module performs a convolution calculation on the activation result, and the first The first rudimentary result is acquired and transferred to the activation function module, the activation function calculation is performed, the first output result is acquired and transferred to the storage control module, and the storage control module is the first. One output result is written to the result memory, the output processing module packages the activation result, and then transfers the activation result to the communication interface module.
When the current convolution neural network hardware accelerator is in the second type mode, the input processing module sequentially receives the package data in the first type mode, performs the depackaging process, and obtains the activation result. The reconstructable calculation module performs a convolution calculation on the activation result, obtains a second elementary result, transfers the result to the activation function module, and performs the activation calculation. The second output result is acquired and transferred to the output processing module, and the output processing module processes the second output result and then transfers it to the communication interface module.
When the current convolution neural network hardware accelerator is in the 4th type mode, the input processing module sequentially receives the package data in the 1st type mode, performs the depackaging process, and obtains the activation result. The reconstructable calculation module performs a convolution calculation on the activation result, obtains a third rudimentary result, transfers the result to the activation function module, and activates the result. The conversion function calculation is performed, the third output result is acquired and transferred to the output processing module, and the output processing module processes the third output result and then transfers it to the communication interface module.
When the current convolutional neural network hardware accelerator is in the first type mode, the input processing module further sequentially receives the package data in the second type mode and the fourth type mode and performs the depackaging process. , The second output result and the third output result are acquired and transferred to the storage control module, and the storage control module sequentially transfers the second output result and the third output result to the result memory. The three output results indicate the probability of belonging to the type corresponding to the target diagram data.
マルチキャストネットワークオンチップに基づいた畳み込みニューラルネットワークハードウェアアクセラレータの動作方式であり、前記マルチキャストネットワークオンチップはN×Mの下層二次元ネットワークとL×Sの上層ネットワークから構成され(その中MとNは2以上の整数であり、LとSは1以上の整数であり、かつ1≦L<N、1≦S<M)、
前記下層二次元ネットワークは全部でN×M個のノードルータを有し、L×S個のブロックに分けられ、個々のブロック内は中間ノードルータと複数の普通ノードルータが含まれ、前記普通ノードルータは五つの水平転送方向を含み、前記中間ノードルータは五つの水平転送方向と一つの上り転送方向を含み、前記上層ネットワークはいずれも転送ノードルータであり、前記転送ノードルータは五つの水平転送方向と一つの下向き転送方向を含み、個々のブロック内の中間ノードルータと対応する転送ノードルータとは相互接続、その中、五つの水平転送方向は前後左右四つの方向および対応する畳み込みニューラルネットワークハードウェアアクセラレータへ転送する一つの方向であり、その特徴は以下のとおりである:
個々の前記畳み込みニューラルネットワークハードウェアアクセラレータはそれぞれ前記下層二次元ネットワーク中の一つのノードルータと接続し、畳み込み演算のプロセスは以下のとおりであり:
ステップ1、個々の前記畳み込みニューラルネットワークハードウェアアクセラレータを配置して初期化段階で五つのモードに分け、個々のモードには少なくとも一つの畳み込みニューラルネットワークハードウェアアクセラレータを有し、
ステップ2、第一と第二のモードでの畳み込みニューラルネットワークハードウェアアクセラレータを用いて第一の畳み込み計算を行い、
ステップ2.1、カレントの畳み込みニューラルネットワークハードウェアアクセラレータが第一種のモードである場合、前記畳み込みニューラルネットワークハードウェアアクセラレータは目標図データを獲得し、畳み込み計算を行ってから活性化関数計算を行って第一特徴図データを獲得し、
ステップ2.2、カレントの畳み込みニューラルネットワークハードウェアアクセラレータが第二種のモードである場合、前記畳み込みニューラルネットワークハードウェアアクセラレータは前記目標図データを畳み込み計算してから活性化関数計算を行って第一特徴図データを獲得し、
ステップ3、第一、第二、第三および第四のモードでの畳み込みニューラルネットワークハードウェアアクセラレータを用いて第二の畳み込み層計算を行い、
ステップ3.1、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第一種のモードである場合、前記畳み込みニューラルネットワークハードウェアアクセラレータは前記第一特徴図データを畳み込み計算し、さらに活性化関数計算を行って第二特徴図データを獲得し、
ステップ3.2、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第二種のモードである場合、前記畳み込みニューラルネットワークハードウェアアクセラレータは前記第一特徴図データを畳み込み計算してから活性化関数計算を行って第二特徴図データを獲得し、
ステップ3.3、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第三種のモードである場合、前記畳み込みニューラルネットワークハードウェアアクセラレータは第一種のモードでの第一特徴図データと第二種のモードでの第一特徴図データをそれぞれ畳み込み計算し、さらに活性化関数計算を行い、二つのモードでの第二特徴図データを獲得し、
ステップ3.4、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第四種のモードである場合、前記畳み込みニューラルネットワークハードウェアアクセラレータは第一種のモードでの第一特徴図データと第二種のモードでの第一特徴図データをそれぞれ畳み込み計算してから活性化関数計算を行い、二つのモードでの第二特徴図データを獲得し、
ステップ4、第一、第二、第三、第四および第五種のモードでの前記畳み込みニューラルネットワークハードウェアアクセラレータを用いて第一の全接続層計算を行い、
ステップ4.1カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第一種のモードである場合、前記畳み込みニューラルネットワークハードウェアアクセラレータは第二特徴図データを畳み込み計算してから畳み込み結果を獲得し、
ステップ4.2、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第二種のモードである場合、前記畳み込みニューラルネットワークハードウェアアクセラレータは前記第二特徴図データを畳み込み計算してから畳み込み結果を獲得し、
ステップ4.3、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第三種のモードである場合、前記畳み込みニューラルネットワークハードウェアアクセラレータは前記第二特徴図データを畳み込み計算してから畳み込み結果を獲得し、
ステップ4.4、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第四種のモードである場合、前記畳み込みニューラルネットワークハードウェアアクセラレータは前記第二特徴図データを畳み込み計算してから畳み込み結果を獲得し、
ステップ4.5、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第五種のモードである場合、前記畳み込みニューラルネットワークハードウェアアクセラレータは前記第二種のモード、第三種のモードおよび第四種のモードでの畳み込み結果を積算してから積算結果を獲得し、
ステップ4.6、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第一種のモードである場合、前記畳み込みニューラルネットワークハードウェアアクセラレータはさらに第五種のモードでの積算結果を積算してから第三の特徴図データを獲得し、
ステップ5、第一、第二および第四種のモードでの畳み込みニューラルネットワークハードウェアアクセラレータを用いて第二の全接続層計算を行い、
ステップ5.1、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第一種のモードである場合、前記畳み込みニューラルネットワークハードウェアアクセラレータは第三の特徴図データにを活性化関数計算してから活性化結果を獲得し、そして前記活性化結果を畳み込み計算を行い、第一の初歩的な結果を獲得し、最後に前記第一の初歩的な結果を活性化関数計算し、第一の活性化結果を獲得して格納し、
ステップ5.2、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第二種のモードである場合、前記畳み込みニューラルネットワークハードウェアアクセラレータは前記第一種のモードでの活性化結果を畳み込み計算してから第二の初歩的な結果を獲得し、前記第二の初歩的な結果を活性化関数計算を行い、第二の出力結果を獲得し、
ステップ5.3、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第四種のモードである場合、前記畳み込みニューラルネットワークハードウェアアクセラレータは前記第一種のモードでの活性化結果を畳み込み計算してから第三の初歩的な結果を獲得し、前記第三の初歩的な結果を活性化関数計算し、第三の出力結果を獲得し、
ステップ5.4、カレントの畳み込みニューラルネットワークハードウェアアクセラレータは第一種のモードである場合、前記畳み込みニューラルネットワークハードウェアアクセラレータは前記第二種のモードと第四種のモードでの第二の出力結果と第三の出力結果を格納し、三つの出力結果はそれぞれ目標図データに対応する種別に属する確率を示す。
It is an operation method of a convolutional neural network hardware accelerator based on a multicast network on-chip, and the multicast network on-chip is composed of an N × M lower layer two-dimensional network and an L × S upper layer network (of which M and N are). It is an integer of 2 or more, L and S are integers of 1 or more, and 1 ≦ L <N, 1 ≦ S <M).
The lower two-dimensional network has a total of N × M node routers and is divided into L × S blocks, and each block includes an intermediate node router and a plurality of ordinary node routers. The router includes five horizontal forwarding directions, the intermediate node router contains five horizontal forwarding directions and one uplink forwarding direction, the upper network is a forwarding node router, and the forwarding node router has five horizontal forwarding directions. Including direction and one downward transfer direction, the intermediate node router in each block and the corresponding transfer node router are interconnected, of which five horizontal transfer directions are front, back, left and right, four directions and the corresponding convolutional neural network hardware. It is one direction to transfer to the wear accelerator, and its features are as follows:
Each of the convolutional neural network hardware accelerators is connected to one node router in the lower two-dimensional network, and the process of the convolutional operation is as follows:
Step 1. Each of the convolutional neural network hardware accelerators is placed and divided into five modes at the initialization stage, and each mode has at least one convolutional neural network hardware accelerator.
Step 2, Convolutional Neural Network in First and Second Modes Perform the first convolutional calculation using the hardware accelerator.
Step 2.1, When the current convolutional neural network hardware accelerator is in the first type mode, the convolutional neural network hardware accelerator acquires the target diagram data, performs the convolution calculation, and then performs the activation function calculation. Obtained the first feature diagram data
Step 2.2, When the current convolutional neural network hardware accelerator is in the second type mode, the convolutional neural network hardware accelerator performs the activation function calculation after convolving the target diagram data. Acquire feature diagram data and
Step 3, perform the second convolutional layer calculation using the convolutional neural network hardware accelerator in the first, second, third and fourth modes.
Step 3.1, When the current convolutional neural network hardware accelerator is in the first type mode, the convolutional neural network hardware accelerator convolves and calculates the first feature diagram data, and further performs an activation function calculation. Acquired the second feature diagram data,
Step 3.2, When the current convolutional neural network hardware accelerator is in the second type mode, the convolutional neural network hardware accelerator convolves the first feature diagram data and then performs the activation function calculation. Acquired the second feature diagram data,
Step 3.3, When the current convolutional neural network hardware accelerator is in the third type mode, the convolutional neural network hardware accelerator is in the first feature diagram data in the first type mode and the second type mode. Convolutional calculation of the first feature diagram data of each, and further activation function calculation to acquire the second feature diagram data in the two modes.
Step 3.4, When the current convolutional neural network hardware accelerator is in the 4th type mode, the convolutional neural network hardware accelerator is in the 1st feature diagram data and the 2nd type mode in the 1st type mode. After convolutional calculation of the first feature diagram data of, the activation function calculation is performed, and the second feature diagram data in the two modes is acquired.
Step 4, the first full connection layer calculation is performed using the convolutional neural network hardware accelerator in the first, second, third, fourth and fifth modes.
Step 4.1 When the current convolutional neural network hardware accelerator is in the first type mode, the convolutional neural network hardware accelerator convolves and calculates the second feature diagram data, and then obtains the convolution result.
Step 4.2, When the current convolutional neural network hardware accelerator is in the second type mode, the convolutional neural network hardware accelerator convolves and calculates the second feature diagram data, and then obtains the convolution result.
Step 4.3, When the current convolutional neural network hardware accelerator is in the third type mode, the convolutional neural network hardware accelerator convolves and calculates the second feature diagram data, and then obtains the convolution result.
Step 4.4, When the current convolutional neural network hardware accelerator is in the fourth type mode, the convolutional neural network hardware accelerator convolves and calculates the second feature diagram data, and then obtains the convolution result.
Step 4.5, If the current convolutional neural network hardware accelerator is in mode 5, the convolutional neural network hardware accelerator is in mode 2, mode 3 and mode 4. After accumulating the convolutional results of
Step 4.6, When the current convolutional neural network hardware accelerator is in the first type mode, the convolutional neural network hardware accelerator further integrates the integration results in the fifth type mode, and then the third feature. Acquire figure data,
Step 5, perform the second full connection layer calculation using the convolutional neural network hardware accelerator in the first, second and fourth modes.
Step 5.1, When the current convolutional neural network hardware accelerator is in the first type mode, the convolutional neural network hardware accelerator calculates the activation function in the third feature diagram data and then calculates the activation result. Obtain and then perform a convolutional calculation of the activation result to obtain the first rudimentary result, and finally calculate the activation function of the first rudimentary result to obtain the first activation result. And store
Step 5.2, When the current convolutional neural network hardware accelerator is in the second type mode, the convolutional neural network hardware accelerator convolves and calculates the activation result in the first type mode, and then the second type. Obtain the rudimentary result of, activate the second rudimentary result, perform the function calculation, and obtain the second output result.
Step 5.3, When the current convolutional neural network hardware accelerator is in the fourth type mode, the convolutional neural network hardware accelerator convolves and calculates the activation result in the first type mode, and then the third type. Obtain the rudimentary result of, calculate the activation function of the third rudimentary result, and obtain the third output result.
Step 5.4, When the current convolutional neural network hardware accelerator is in the first type mode, the convolutional neural network hardware accelerator is the second output result in the second type mode and the fourth type mode. And the third output result are stored, and each of the three output results shows the probability of belonging to the type corresponding to the target diagram data.
JP2020537478A 2018-01-15 2018-10-22 Multicast Network On-Chip Convolutional Neural Network Hardware Accelerator and Its Behavior Active JP6960700B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201810036727.3 2018-01-15
CN201810036727.3A CN108256628B (en) 2018-01-15 2018-01-15 Convolutional neural network hardware accelerator based on multicast network-on-chip and working method thereof
PCT/CN2018/111268 WO2019137060A1 (en) 2018-01-15 2018-10-22 Convolutional neural network hardware accelerator based on multicast network-on-chip, and operation mode thereof

Publications (2)

Publication Number Publication Date
JP2021510219A JP2021510219A (en) 2021-04-15
JP6960700B2 true JP6960700B2 (en) 2021-11-05

Family

ID=62740693

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020537478A Active JP6960700B2 (en) 2018-01-15 2018-10-22 Multicast Network On-Chip Convolutional Neural Network Hardware Accelerator and Its Behavior

Country Status (3)

Country Link
JP (1) JP6960700B2 (en)
CN (1) CN108256628B (en)
WO (1) WO2019137060A1 (en)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108256628B (en) * 2018-01-15 2020-05-22 合肥工业大学 Convolutional neural network hardware accelerator based on multicast network-on-chip and working method thereof
CN109254946B (en) * 2018-08-31 2021-09-17 郑州云海信息技术有限公司 Image feature extraction method, device and equipment and readable storage medium
CN109150731B (en) * 2018-09-19 2020-09-18 合肥工业大学 Multicast packet connection circuit based on convolutional neural network and routing method thereof
US20220129725A1 (en) * 2019-02-06 2022-04-28 Vastai Holding Company Method and system for convolution model hardware accelerator
CN110598844A (en) * 2019-08-06 2019-12-20 天津大学 Parallel convolution neural network accelerator based on FPGA and acceleration method
CN110689122B (en) * 2019-09-25 2022-07-12 苏州浪潮智能科技有限公司 Storage system and method
TWI717892B (en) * 2019-11-07 2021-02-01 財團法人工業技術研究院 Dynamic multi-mode cnn accelerator and operating methods
CN111178518A (en) * 2019-12-24 2020-05-19 杭州电子科技大学 Software and hardware cooperative acceleration method based on FPGA
CN111245730B (en) * 2020-01-15 2021-10-08 中山大学 Routing system and communication method of network on chip
CN111401532A (en) * 2020-04-28 2020-07-10 南京宁麒智能计算芯片研究院有限公司 Convolutional neural network reasoning accelerator and acceleration method
CN112152947B (en) * 2020-08-21 2021-07-20 北京百度网讯科技有限公司 Processor, implementation method, electronic device and storage medium
CN114363245B (en) * 2020-09-30 2024-04-26 北京灵汐科技有限公司 Multi-core network-on-chip data transmission method, device, equipment and medium
CN114239816B (en) * 2021-12-09 2023-04-07 电子科技大学 Reconfigurable hardware acceleration architecture of convolutional neural network-graph convolutional neural network
CN114844757B (en) * 2022-02-24 2023-11-24 电子科技大学长三角研究院(湖州) Network-on-chip design method for distributed parallel operation algorithm
CN116863490B (en) * 2023-09-04 2023-12-12 之江实验室 Digital identification method and hardware accelerator for FeFET memory array

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001216285A (en) * 2000-01-31 2001-08-10 Nagoya Industrial Science Research Inst Neural network operation method and device therefor
US8510244B2 (en) * 2009-03-20 2013-08-13 ISC8 Inc. Apparatus comprising artificial neuronal assembly
CN105681628B (en) * 2016-01-05 2018-12-07 西安交通大学 A kind of convolutional network arithmetic element and restructural convolutional neural networks processor and the method for realizing image denoising processing
KR102459855B1 (en) * 2016-06-14 2022-10-27 삼성전자주식회사 Accelerator for deep neural networks
CN106951961B (en) * 2017-02-24 2019-11-26 清华大学 A kind of convolutional neural networks accelerator that coarseness is restructural and system
CN107169560B (en) * 2017-04-19 2020-10-16 清华大学 Self-adaptive reconfigurable deep convolutional neural network computing method and device
CN106953800B (en) * 2017-04-21 2019-12-17 中国人民解放军国防科学技术大学 Self-adaptive vertical routing method and routing unit based on network on chip
CN107273969B (en) * 2017-05-11 2020-06-19 西安交通大学 Parameterized and extensible neural network full-connection layer multilayer interconnection structure
CN107273970B (en) * 2017-05-11 2020-06-19 西安交通大学 Reconfigurable platform of convolutional neural network supporting online learning and construction method thereof
CN107341544B (en) * 2017-06-30 2020-04-10 清华大学 Reconfigurable accelerator based on divisible array and implementation method thereof
CN107451659B (en) * 2017-07-27 2020-04-10 清华大学 Neural network accelerator for bit width partition and implementation method thereof
CN108256628B (en) * 2018-01-15 2020-05-22 合肥工业大学 Convolutional neural network hardware accelerator based on multicast network-on-chip and working method thereof

Also Published As

Publication number Publication date
WO2019137060A1 (en) 2019-07-18
CN108256628B (en) 2020-05-22
JP2021510219A (en) 2021-04-15
CN108256628A (en) 2018-07-06

Similar Documents

Publication Publication Date Title
JP6960700B2 (en) Multicast Network On-Chip Convolutional Neural Network Hardware Accelerator and Its Behavior
CN109784489B (en) Convolutional neural network IP core based on FPGA
US20230325348A1 (en) Performing concurrent operations in a processing element
CN105892989B (en) Neural network accelerator and operational method thereof
US11270197B2 (en) Efficient neural network accelerator dataflows
CN107239824A (en) Apparatus and method for realizing sparse convolution neutral net accelerator
Kim et al. A 125 GOPS 583 mW network-on-chip based parallel processor with bio-inspired visual attention engine
CN106951395A (en) Towards the parallel convolution operations method and device of compression convolutional neural networks
CN110050267A (en) System and method for data management
CN108170640B (en) Neural network operation device and operation method using same
WO2019136764A1 (en) Convolutor and artificial intelligent processing device applied thereto
CN110163358A (en) A kind of computing device and method
CN110383300A (en) A kind of computing device and method
CN110580519A (en) Convolution operation structure and method thereof
Gao et al. Customized high performance and energy efficient communication networks for AI chips
Hareth et al. Low power CNN hardware FPGA implementation
Duan et al. Energy-efficient architecture for FPGA-based deep convolutional neural networks with binary weights
Xiao et al. FPGA-based scalable and highly concurrent convolutional neural network acceleration
CN110377874A (en) Convolution algorithm method and system
Lin et al. High utilization energy-aware real-time inference deep convolutional neural network accelerator
Song et al. ReRAM-sharing: Fine-grained weight sharing for ReRAM-based deep neural network accelerator
US11687831B1 (en) Method, product, and apparatus for a multidimensional processing array for hardware acceleration of convolutional neural network inference
Lo et al. Energy-efficient accelerator design with 3d-sram and hierarchical interconnection architecture for compact sparse cnns
CN110222819B (en) Multilayer data partition combined calculation method for convolutional neural network acceleration
CN109978143B (en) Stack type self-encoder based on SIMD architecture and encoding method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200706

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211005

R150 Certificate of patent or registration of utility model

Ref document number: 6960700

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150