(57)【要約】      （修正有）【課題】記憶装置の容量を削減することのできる演算処理装置を提供する。【解決手段】演算処理装置は、交差する２方向に配列されたメモリ素子を有する第１アレイを少なくとも１個備えた組をｍ（ｍ≧２）個有する第１記憶装置２０と、第１記憶装置と同様の第２アレイを少なくとも１個備えた組をｎ（ｍ＞ｎ≧１）個有する第２記憶装置と、前記第１記憶装置から前記第１アレイのｎ個の組を選択して読み出し、前記第２記憶装置に格納する第１読み取り装置と、第１記憶装置と同様の第３アレイを少なくとも１個備えた第３記憶装置と、第１記憶装置と同様の第４アレイをｋ（ｍ＞ｋ≧１）個有する第４記憶装置５０と、前記第２記憶装置のデータを用いて前記第３記憶装置の前記第３アレイに対して畳み込み処理を行い、前記第４記憶装置に格納する第１処理層３０とを備えている。【選択図】図１
2019164520.tif 000002
【特許請求の範囲】
【請求項１】
第１方向および前記第１方向に交差する第２方向に配列されたメモリ素子を有する第１アレイを少なくとも１個備えた組をｍ（ｍ≧２）個有する第１記憶装置と、
前記第１方向および前記第２方向に配置されたメモリ素子を有する第２アレイを少なくとも１個備えた組をｎ（ｍ＞ｎ≧１）個有する第２記憶装置と、
前記第１記憶装置の前記第１アレイのｍ個の組から前記第１アレイのｎ個の組を選択し、この選択した組に含まれる第１アレイのメモリ素子に記憶されたデータを読み出し、前記第２記憶装置の前記第２アレイのメモリ素子に格納する第１読み取り装置と、
前記第１方向および前記第２方向に配置されたメモリ素子を有する第３アレイを少なくとも１個備えた第３記憶装置と、
前記第１方向および前記第２方向に配置されたメモリ素子を有する第４アレイをｋ（ｍ＞ｋ≧１）個有する第４記憶装置と、
前記第２記憶装置の前記第２アレイのメモリ素子に格納されたデータを用いて前記第３記憶装置の前記第３アレイに対して畳み込み処理を行い、前記第４記憶装置の前記第４アレイのメモリ素子に格納する第１処理層と、
を備えた演算処理装置。
【請求項２】
ｎはｋ以下である請求項１記載の演算処理装置。
【請求項３】
前記第２記憶装置の各組における前記第２アレイの個数は、前記第１記憶装置の各組における前記第１アレイの個数以下である請求項１または２記載の演算処理装置。
【請求項４】
前記第２アレイは前記第１および前記第２方向に配列されたメモリ素子の個数がそれぞれ前記第１アレイの前記第１および前記第２方向に配列されたメモリ素子の個数と同じである請求項１乃至３のいずれかに記載の演算処理装置。
【請求項５】
前記第１方向および前記第２方向に配列されたメモリ素子を有する第５アレイを少なくとも１個備えた組をｐ（ｐ≧２）個有する第５記憶装置と、
前記第１方向および前記第２方向に配置されたメモリ素子を有する第６アレイを少なくとも１個備えた組をｑ（ｐ＞ｑ≧１）個有する第６記憶装置と、
前記第５記憶装置の前記第５アレイのｐ個の組から前記第５アレイのｑ個の組を選択し、この選択した組に含まれる第５アレイのメモリ素子に記憶されたデータを読み出し、前記第６記憶装置の前記第６アレイのメモリ素子に格納する第２読み取り装置と、
前記第１方向および前記第２方向に配置されたメモリ素子を有する第７アレイをｒ（ｐ＞ｒ≧１）個有する第７記憶装置と、
前記第６記憶装置の前記第６アレイのメモリ素子に格納されたデータを用いて前記第４記憶装置の前記第４アレイに対して畳み込み処理を行い、前記第７記憶装置の前記第７アレイのメモリ素子に格納する第２処理層と、
を更に備え、
前記第６記憶装置の各組における前記第６アレイの個数は、前記第１記憶装置の各組における第１アレイの個数よりも少ない請求項１乃至４のいずれかに記載の演算処理装置。
【請求項６】
ｑはｒ以下である請求項５記載の演算処理装置。
【請求項７】
前記第６記憶装置の各組における前記第６アレイの個数は、前記第４記憶装置の前記第４アレイの個数以下である請求項５または６記載の演算処理装置。
【請求項８】
前記第６アレイは前記第１および前記第２方向に配列されたメモリ素子の個数がそれぞれ前記第５アレイの前記第１および前記第２方向に配列されたメモリ素子の個数と同じである請求項５乃至７のいずれかに記載の演算処理装置。
【請求項９】
前記第２記憶装置における前記第２アレイの組の個数と、前記第４記憶装置の前記第４アレイの個数と、前記第６記憶装置の各組の前記第６アレイの個数と、が相等しい請求項７または８記載の演算処理装置。
【請求項１０】
前記第２記憶装置における前記第２アレイの組の個数は、前記第１記憶装置における前記第１アレイの組の個数の約数である請求項１乃至９のいずれかに記載の演算処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、演算処理装置に関する。
【背景技術】
【０００２】
従来、複数の処理層の畳み込みニューラルネットワーク回路を実現する演算処理装置は、各処理層ごとにその出力の全てを格納する記憶装置を有しており、各処理層の処理を全て行ってその全ての出力をその記憶装置に格納し、その格納されている数値を用いて次の処理層の処理を行っている。記憶装置は、行方向および列方向に数値が配置された配列を少なくとも１つ有する。複数個の配列を有する場合、これらの複数の配列は、行方向および列方向を含む平面に交差する方向に配置され、この交差する方向を深さ方向と云う。
【０００３】
処理層が行う処理として、例えば、畳み込み処理が挙げられる。ここで、畳み込み処理とは、核と呼ばれる特定の数値からなる配列と、その核と等しい深さを持つ数値の配列との間で、対応する数値の積和を求める処理を意味する。なお、核の数値の各々は重みと呼ばれる。その積和に引き続いて積和の値にバイアスと呼ばれる特定の数値を加える処理を行う場合もある。
【０００４】
更に引き続いて積和ないしバイアスを加える処理の結果に対して発火関数処理を行う場合もある。発火関数処理とは、特定の数値に対して特定の関数の値を対応させる処理を意味する。特定の関数としては、例えば数値ｘに対してｔａｎｈ（ｘ）の値を対応させる、または数値ｘに対してｘとゼロとの大きい方を対応させる処理(Rectified Linear Unit処理）等がある。
【０００５】
なお、畳み込み処理に引き続いてプーリング(pooling)処理を行うこともある。プーリング処理とは、特定の数値の集まりを１個の数値で代表させる処理を意味する。代表させる方法としてはそれらの数値の最大値を抽出する方法、それらの数値の相加平均を算出する方法等がある。なお、畳み込み処理に於ける核の深さは通常はその処理を施す数値の配列の深さ、プーリング処理に於ける特定の数値の集まりの深さは通常は１である。
【０００６】
上述した様に、従来の演算処理装置は、各処理層にその出力の全てを格納する記憶装置を有しており、各処理層の処理を全て行ってその全ての出力を対応する記憶装置に格納し、その格納されている数値を用いて次の処理層の処理を行っていた。そのために各処理層ごとにその出力の全てを格納する記憶装置が必要となる。それ故に大きな回路面積が必要となり、その結果として製造コストの増大を惹き起こしてしまうという問題点があった。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１５−２１０７０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本実施形態は、記憶装置の容量を削減することのできる演算処理装置を提供する。
【課題を解決するための手段】
【０００９】
本実施形態による演算処理装置は、第１方向および前記第１方向に交差する第２方向に配列されたメモリ素子を有する第１アレイを少なくとも１個備えた組をｍ（ｍ≧２）個有する第１記憶装置と、前記第１方向および前記第２方向に配置されたメモリ素子を有する第２アレイを少なくとも１個備えた組をｎ（ｍ＞ｎ≧１）個有する第２記憶装置と、前記第１記憶装置の前記第１アレイのｍ個の組から前記第１アレイのｎ個の組を選択し、この選択した組に含まれる第１アレイのメモリ素子に記憶されたデータを読み出し、前記第２記憶装置の前記第２アレイのメモリ素子に格納する第１読み取り装置と、前記第１方向および前記第２方向に配置されたメモリ素子を有する第３アレイを少なくとも１個備えた第３記憶装置と、前記第１方向および前記第２方向に配置されたメモリ素子を有する第４アレイをｋ（ｍ＞ｋ≧１）個有する第４記憶装置と、前記第２記憶装置の前記第２アレイのメモリ素子に格納されたデータを用いて前記第３記憶装置の前記第３アレイに対して畳み込み処理を行い、前記第４記憶装置の前記第４アレイのメモリ素子に格納する第１処理層と、を備えている。
【図面の簡単な説明】
【００１０】
【図１】第１実施形態による演算処理装置の概要を説明する図。
【図２】第１実施形態における処理層の畳み込み処理を説明する図。
【図３】第１実施形態による演算処理装置の概要を説明する図。
【図４】第１実施形態に用いられる記憶装置を示す図。
【図５】第１実施形態における処理層の畳み込み処理を説明する図。
【図６】第１実施形態における処理層の畳み込み処理を説明する図。
【図７】第１実施形態における処理層の畳み込み処理を説明する図。
【図８】第１実施形態における他の処理層の畳み込み処理を説明する図。
【図９】第１実施形態における他の処理層の畳み込み処理を説明する図。
【図１０】第１実施形態における他の処理層の畳み込み処理を説明する図。
【図１１】第１実施形態における他の処理層の畳み込み処理を説明する図。
【図１２】第２実施形態による演算処理装置の概要を説明する図。
【図１３】第２実施形態における処理層の畳み込み処理を説明する図。
【図１４】第２実施形態における処理層の畳み込み処理を説明する図。
【図１５】第２実施形態における処理層の畳み込み処理を説明する図。
【図１６】第２実施形態における処理層の畳み込み処理を説明する図。
【図１７】第２実施形態における処理層の畳み込み処理を説明する図。
【図１８】第２実施形態における処理層の畳み込み処理を説明する図。
【図１９】第２実施形態における処理層の畳み込み処理を説明する図。
【図２０】第３実施形態による演算処理装置の概要を説明する図。
【図２１】第３実施形態における処理層の畳み込み処理を説明する図。
【図２２】第３実施形態における処理層の畳み込み処理を説明する図。
【図２３】第３実施形態における処理層の畳み込み処理を説明する図。
【発明を実施するための形態】
【００１１】
以下、図面を参照して本発明の実施形態を詳細に説明する。図面に示される数値の配列は説明の為に特定の並び方としているが、その並び方は本質ではなく他の並び方であってもよい。また本発明は以下の実施形態に限定されるものではなく、種々変更して用いる事ができる。
【００１２】
以下の実施形態では、処理層が２層の場合を例にとって説明する。処理層が３以上であっても連続する２つの処理層に適用することができる。
【００１３】
（第１実施形態）
第１実施形態による演算処理装置について図１乃至図７を参照して説明する。この第１実施形態の演算処理装置は、複数の処理層の畳み込みニューラルネットワーク回路を実現し、その概要を図１に示す。この演算処理装置１は、処理層３０と、処理層６０とを有し、処理層３０は、記憶装置２０に格納されたデータに対して畳み込み処理を行い、処理結果を記憶装置５０に格納する。処理層６０は、記憶装置５０に格納されたデータに対して畳み込み処理を行い、処理結果を記憶装置７０に格納する。
【００１４】
記憶装置２０は、図１に示すように８個のアレイＡ１〜Ａ８を有し、各アレイＡｉ（ｉ＝１，・・・，８）は、１１行１１列の要素（メモリ素子）を有している。各アレイＡｉ（ｉ＝１，・・・，８）における第ｊ（ｊ＝１，・・・，１１）行第ｋ（ｋ＝１，・・・，１１）列の要素をＡｉ（ｊ，ｋ）と表す。なお、本明細書では、この要素Ａｉ（ｊ，ｋ）（ｉ＝１．・・・，８，ｊ，ｋ＝１，・・・，１１）は、この要素に格納されるデータをも表す。要素Ａｉ（ｊ，ｋ）（ｉ＝１．・・・，８，ｊ，ｋ＝１，・・・，１１）に格納されるデータは図３に示す演算処理装置１内の読み取り部２によって外部記憶装置２００から読み取られ、数値記憶部４にある記憶装置２０に格納される。
【００１５】
記憶装置５０は、図１に示すように３個のアレイＣ１〜Ｃ３を有し、各アレイＣｉ（ｉ＝１，２，３）は、８行８列の要素（メモリ素子）を有している。各アレイＣｉ（ｉ＝１，２，３）における第ｊ（ｊ＝１，・・・，８）行第ｋ（ｋ＝１，・・・，８）列の要素をＣｉ（ｊ，ｋ）と表す。なお、本明細書では、この要素Ｃｉ（ｊ，ｋ）（ｉ＝１．２，３，ｊ，ｋ＝１，・・・，８）は、この要素に格納されるデータをも表す。
【００１６】
記憶装置７０は、図１に示すように９個のアレイＤ１〜Ｄ９を有し、各アレイＤｉ（ｉ＝１，・・・，９）は、６行６列の要素（メモリ素子）を有している。各アレイＤｉ（ｉ＝１，・・・，９）における第ｊ（ｊ＝１，・・・，６）行第ｋ（ｋ＝１，・・・，６）列の要素をＤｉ（ｊ，ｋ）と表す。なお、本明細書では、この要素Ｄｉ（ｊ，ｋ）（ｉ＝１．・・・，９，ｊ，ｋ＝１，・・・，６）は、この要素に格納されるデータをも表す。
【００１７】
（処理層３０の第１処理）
次に、処理層３０における畳み込み処理の一部の処理（第１処理）について図２乃至図７を参照して説明する。この畳み込み処理には、図２に示す３個の核Ｗ１〜Ｗ３が用いられる。核Ｗ１〜Ｗ３はそれぞれ、８個のアレイを有し、それぞれのアレイは４行４列に配置された要素を有している。例えば、核Ｗ１は、８個のアレイＷ１１〜Ｗ１８を有し、各アレイＷ１ｉ（ｉ＝１，・・・，８）は、４行４列に配置された要素（メモリ素子）を有する。各アレイＷ１ｉ（ｉ＝１，・・・，８）における第ｊ（ｊ＝１，・・・，４）行第ｋ（ｋ＝１，・・・，４）列に配置された要素をＷ１ｉ（ｊ，ｋ）と表す。要素Ｗ１ｉ（ｊ，ｋ）（ｊ，ｋ＝１．・・・、４）は、この要素に格納されるデータ（重みとも云う）をも表す。その他の核Ｗ２、Ｗ３の要素も同様な表示とする。
【００１８】
なお、処理層３０の畳み込み処理には１２個の核Ｅ１〜Ｅ１２が用いられる。核Ｅｊ（ｊ＝１，・・・，１２）はそれぞれ、８個のアレイＥｊ１〜Ｅｊ８を有し、各アレイＥｊｉ（ｉ＝１，・・・，８）は、４行４列に配置された要素（メモリ素子）を有する。各アレイＥｊｉ（ｉ＝１，・・・，８）の第ｍ行ｎ列に配置された要素をＥｊｉ（ｍ，ｎ）と表し、この要素Ｅｊｉ（ｍ，ｎ）は、この要素に格納されたデータをも表す。これらの核Ｅ１〜Ｅ１２の要素に格納される予め求められた値および後述するバイアスの値は、外部記憶装置２０２から図３に示す読み取り部２によって読み取られ、数値記憶部４にある記憶装置３５（図４参照）に記憶される。上記核Ｅ１〜Ｅ１２のそれぞれに含まれるアレイの個数（深さ方向の数）は、処理層３０の入力の深さ、すなわち記憶装置２０のアレイの個数と同じである。また、核Ｅ１〜Ｅ１２の個数（＝１２）は処理層３０の出力の深さと同じである。また、処理層３０に用いられるバイアスの値をＢ１ｉ（１≦ｉ≦１２）とする。
【００１９】
本実施形態の演算処理装置１は、図３に示す数値記憶部４の記憶部３５に格納された核Ｅ１〜Ｅ１２から少なくとも一部、例えば核Ｅ１〜Ｅ３のデータをそれぞれ、図３に示す読み取り部５を用いて読み取り、図２に示す記憶装置４０の核Ｗ１〜Ｗ３にそれぞれ格納する。
【００２０】
続いて、図５に示す様に、ｉ（１≦ｉ≦８）、ｊ（１≦ｊ≦４）、ｋ（１≦ｋ≦４）に対して、記憶装置２０に格納されたデータＡｉ（ｊ，ｋ）と、記憶装置４０に格納されたデータＷ１ｉ（ｊ，ｋ）との積の総和を算出する。すなわち、この総和は、
ΣΣΣ（Ａｉ（ｊ，ｋ）×Ｗ１ｉ（ｊ，ｋ））
と表される。最初の総和記号Σはｉに対しての総和を求め、２番目に示す総和記号Σはｊに対しての総和を求め、３番目に示す総和記号Σはｋに対しての総和を求める。この総和は、図３に示す演算処理部６によって求められる。この処理に於いて各々のｉ（ｉ＝１，・・・，８）に対する総和の算出は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。そして、求めた総和に、処理層３０のバイアス値Ｂ１１を加え、必要に応じて発火関数処理を施した値を図１に示す記憶装置５０のアレイＣ１の要素Ｃ１（１，１）に格納する（図５）。
【００２１】
次に、図６に示す様に、ｉ（１≦ｉ≦８）、ｊ（１≦ｊ≦４）、ｋ（１≦ｋ≦４）に対して、記憶装置２０に格納されたデータＡｉ（ｊ，ｋ＋１）と、記憶装置４０に格納されたデータＷ１ｉ（ｊ，ｋ）との積の総和を算出する。すなわち、この総和は、
ΣΣΣ（Ａｉ（ｊ，ｋ＋１）×Ｗ１ｉ（ｊ，ｋ））
と表される。１番目の総和記号Σはｉに対しての総和を求め、２番目に示す総和記号Σはｊに対しての総和を求め、３番目に示す総和記号Σはｋに対しての総和を求める。この総和は、図３に示す演算処理部６によって求められる。この処理に於いて各々のｉ（ｉ＝１，・・・，８）に対する積和の算出は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。そして、求めた総和に、処理層３０のバイアス値Ｂ１１を加え、必要に応じて発火関数処理を施した値を図１に示す記憶装置５０のアレイＣ１の要素Ｃ１（１，２）に格納する（図６）。
【００２２】
同様に、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）、ｒ（１≦ｒ≦３）の組それぞれに対して、記憶装置２０に格納されたデータＡｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）と、記憶装置４０に格納されたデータＷｒｉ（ｊ，ｋ）との積の総和を、ｉ（１≦ｉ≦８）、ｊ（１≦ｊ≦４）、ｋ（１≦ｋ≦４）に渡って算出する。すなわち、この総和は、
ΣΣΣＡｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）×Ｗｒｉ（ｊ，ｋ）
と表される。１番目の総和記号Σはｉに対しての総和を求め、２番目に示す総和記号Σはｊに対しての総和を求め、３番目に示す総和記号Σはｋに対しての総和を求める。この総和は、図３に示す演算処理部６によって求められる。なお、この総和は、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）、ｒ（１≦ｒ≦３）の組それぞれに対して求められる。この処理に於いて各々のｒ（ｒ＝１，２，３）に対する総和の算出は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。そして、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）、ｒ（１≦ｒ≦３）の組それぞれに対して求めた総和に処理層３０のバイアス値Ｂ１ｒを加え、必要に応じて発火関数処理を施した値を図１に示す記憶装置５０のアレイＣｒの要素Ｃｒ（ｐ、ｑ）に格納する（図７）。この状態で、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）、ｒ（１≦ｒ≦３）の組それぞれに対して、記憶装置５０のアレイＣｒの要素Ｃｒ（ｐ，ｑ）には処理層３０の出力の深さがｒの値と同一の値が格納されている。
【００２３】
（処理層６０の第１処理）
続いて処理層６０の処理の一部（第１処理）を行う。処理層３０の場合と同様に処理層６０に用いられる核Ｆ１〜Ｆ９の重みの数値も、図３に示す読み取り部２によって外部記憶装置２０２から読み出され、この読み出された値が演算処理装置１の内の数値記憶部４にある記憶装置５５に格納される（図８）。核Ｆｉ（ｉ＝１，・・・，９）は、３個のアレイＦｉ１、Ｆｉ２、Ｆｉ３を有し、各アレイＦｉｊ（ｊ＝１，２，３）は、３行３列に配置された要素（メモリ素子）を有している。各アレイＦｉｊ（ｊ＝１，２，３）の第ｐ（ｐ＝１，２，３）行第ｑ（ｑ＝１，２，３）列の要素はＦｉｊ（ｐ，ｑ）と表され、この要素に格納される数値（重み）もＦｉｊ（ｐ，ｑ）と表される。
【００２４】
演算処理装置１は、図３に示す数値記憶部４に格納されている核Ｆ１〜Ｆ９の重み数値を、図３に示す読み取り部５を用いて読み出し、記憶装置５８の核Ｖ１のアレイＶ１１〜Ｖ１３に格納する。各アレイＶ１ｊ（ｊ＝１，２，３）は、３行３列に配置された要素（メモリ素子）を有している。各アレイＶｉｊ（ｊ＝１，２，３）の第ｐ（ｐ＝１，２，３）行第ｑ（ｑ＝１，２，３）列の要素はＶｉｊ（ｐ，ｑ）と表され、この要素に格納される数値（重み）もＶｉｊ（ｐ，ｑ）と表される。なお、核Ｆｉ（ｉ＝１，・・・，９）の深さは処理層６０の入力の深さ９である。そして、処理層６０の出力は、９個のアレイＤ１〜Ｄ９を有する記憶装置７０に格納される（図９）。また、処理層６０のバイアス値をＢ２ｉ（１≦ｉ≦９）とする。
【００２５】
まず、図９に示す様に、ｉ（１≦ｉ≦３）、ｊ（１≦ｊ≦３）、ｋ（１≦ｋ≦３）に対して、記憶装置５０に格納されたアレイＣｉのデータＣｉ（ｊ，ｋ）と、記憶装置５８に格納された核Ｖ１のデータＶ１ｉ（ｊ，ｋ）との積の総和を算出する。すなわち、この総和は、
ΣΣΣＣｉ（ｊ，ｋ）×Ｖ１ｉ（ｊ，ｋ）
と表される。１番目の総和記号Σはｉに対しての総和を求め、２番目の総和記号Σはｊに対しての総和を求め、３番目の総和記号Σはｋに対しての総和を求める。この総和は図３に示す演算処理部６によって求められる。そして、上記総和は、記憶装置７０のアレイＤ１の要素Ｄ１（１，１）に格納される。この処理に於いて各々のｉ（ｉ＝１，２，３）に対する積和の算出は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。
【００２６】
次に、図１０に示す様に、ｉ（１≦ｉ≦３）、ｊ（１≦ｊ≦３）、ｋ（１≦ｋ≦３）に対して、記憶装置５０に格納されたアレイＣｉのデータＣｉ（ｊ，ｋ＋１）と、記憶装置５８に格納された核Ｖ１のデータＶ１ｉ（ｊ，ｋ）との積の総和を算出する。すなわち、この総和は、
ΣΣΣＣｉ（ｊ，ｋ＋１）×Ｖ１ｉ（ｊ，ｋ）
と表される。１番目の総和記号Σはｉに対しての総和を求め、２番目の総和記号Σはｊに対しての総和を求め、３番目の総和記号Σはｋに対しての総和を求める。この総和は図３に示す演算処理部６によって求められる。そして、上記総和は、記憶装置７０のアレイＤ１の要素Ｄ１（１，２）に格納される。この処理に於いて各々のｉ（ｉ＝１，２，３）に対する積和の算出は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。
【００２７】
同様に、ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦９）の組それぞれに対して、記憶装置５０に格納されたアレイＣｉ（ｉ＝１，２，３）のデータＣｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）と、記憶装置５８に格納されたアレイＶｒｉの要素Ｖｒｉ（ｊ，ｋ）（ｊ，ｋ＝１，２，３）との積の総和を、ｉ（１≦ｉ≦３）、ｊ（１≦ｊ≦３）、ｋ（１≦ｋ≦３）に渡って算出する。すなわち、この総和は、
ΣΣΣＣｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）×Ｖｒｉ（ｊ，ｋ）
と表される。１番目の総和記号Σはｉに対しての総和を求め、２番目の総和記号Σはｊに対しての総和を求め、３番目の総和記号Σはｋに対しての総和を求める。この総和は、図３に示す演算処理部６によって、ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦９）の組のそれぞれに対して求められ、記憶装置７０のアレイＤｒの要素Ｄｒ（ｐ，ｑ）に格納される。この処理の終了した状態を図１１に示す。この処理に於いて各々のｉ（ｉ＝１．２．３）に対する積和の算出は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。また、各々のｒ（ｒ＝１，・・・，９）に対する処理も並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。
【００２８】
（処理層３０の第２処理）
引き続いて、処理層３０の一部の処理（第２処理）を行う。ｉ（１≦ｉ≦８）、ｊ（１≦ｊ≦３）、ｋ，ｍ（１≦ｋ，ｍ≦４）に対して数値記憶部４の記憶装置３５に格納されている核Ｅｊ＋３のアレイＥｊ＋３ｉの要素Ｅｊ＋３ｉ（ｋ、ｍ）の数値を、図３に示す読み取り部５を用いて読み取り、記憶装置４０の核ＷｊのアレイＷｊｉの要素Ｗｊｉ（ｋ、ｍ）に格納する。
【００２９】
続いて、図５乃至図７で説明した処理と同様に、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）、ｒ（１≦ｒ≦３）の組のそれぞれに対して、記憶装置２０に格納されたデータＡｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）（ｉ＝１，・・・，８、ｊ，ｋ＝１，・・・，４）と、記憶装置４０に格納されたデータＷｒｉ（ｊ，ｋ）との積の総和を、ｉ（１≦ｉ≦８）、ｊ（１≦ｊ≦３）、ｋ（１≦ｋ≦３）に渡って算出する。すなわち、この総和は、
ΣΣΣＡｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）×Ｗｒｉ（ｊ，ｋ）
と表される。１番目の総和記号Σはｉに対しての総和を求め、２番目の総和記号Σはｊに対しての総和を求め、３番目の総和記号Σはｋに対しての総和を求める。この総和は、図３に示す演算処理部６によって、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）、ｒ（１≦ｒ≦３）の組それぞれに対して求められる。この処理に於いて各々のｉ（ｉ＝１，・・・，８）に対する積和の算出は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。そして、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）、ｒ（１≦ｒ≦３）の組それぞれに対して求めた値に、処理層３０のバイアスＢ１ｒ＋３を加え、必要に応じて発火関数処理を施した値を記憶装置５０のアレイＣｒの要素Ｃｒ（ｐ，ｑ）に格納する。なお、これらの処理に於いて各々のｒ（ｒ＝１．２．３）に対する処理は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。この状態でｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）、ｒ（１≦ｒ≦３）の組それぞれに対して、記憶装置５０のアレイＣｒの要素Ｃｒ（ｐ，ｑ）には処理層３０の出力の内の深さがｒ＋３の値と同一の値が格納されている。
【００３０】
（処理層６０の第２処理）
次に、ｉ（１≦ｉ≦３）、ｊ（１≦ｊ≦９）、ｋ、ｍ（１≦ｋ，ｍ≦３）に対して、図３に示す数値記憶部４の記憶装置５５に格納されている核Ｆｊの要素Ｆｊｉ＋３（ｋ，ｍ）の数値を、図３に示す読み取り部５を用いて読み取り、記憶装置５８に格納される核Ｖｊの要素Ｖｊｉ（ｋ，ｍ）に格納する。
【００３１】
続いて、図９乃至図１１を参照して説明した処理と同様に、ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦９）の組のそれぞれに対して、記憶装置５０に格納されたデータＣｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）と、記憶装置５８に格納されたデータＶｒｉ（ｊ，ｋ）との積の総和を、ｉ（１≦ｉ≦３）、ｊ（１≦ｊ≦３）、ｋ（１≦ｋ≦３）に渡って求める。すなわち、この総和は、
ΣΣΣＣｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）×Ｖｒｉ（ｊ，ｋ）
と表される。１番目の総和記号Σはｉに対しての総和を求め、２番目の総和記号Σはｊに対しての総和を求め、３番目の総和記号Σはｋに対しての総和を求める。
【００３２】
ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦９）の組のそれぞれに対して求めた総和と、記憶装置７０のアレイＤｒの要素Ｄｒ（ｐ，ｑ）に格納されている数値との和を改めて要素Ｄｒ（ｐ，ｑ）に格納する。この処理に於いて各々のｉ（ｉ＝１，２，３）に対する積和の算出は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。また、各々のｒ（ｒ＝１，・・・，９）に対する処理も並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。
【００３３】
（処理層３０の第３処理）
引き続いて、ｉ（１≦ｉ≦８）、ｊ（１≦ｊ≦３）、ｋ、ｍ（１≦ｋ，ｍ≦４）に対して、図３に示す数値記憶部４の記憶装置３５に格納されている核Ｅｊ＋６の要素Ｅｊ＋６ｉ（ｋ，ｍ）の数値を、図３に示す読み取り部５を用いて読み取り、記憶装置４０の核Ｗｊの要素Ｗｊｉ（ｋ，ｍ）に格納する。
【００３４】
続いて、図５乃至図７を参照して説明した処理と同様に、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）、ｒ（１≦ｒ≦３）の組のそれぞれに対して、記憶装置２０に格納されたデータＡｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）と、記憶装置４０に格納されたデータＷｒｉ（ｊ，ｋ）との積の総和を、ｉ（１≦ｉ≦８）、ｊ（１≦ｊ≦４）、ｋ（１≦ｋ≦４）に渡って算出する。すなわち、この総和は、
ΣΣΣＡｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）×Ｗｒｉ（ｊ，ｋ）
と表される。１番目の総和記号Σはｉに対しての総和を求め、２番目の総和記号Σはｊに対しての総和を求め、３番目の総和記号Σはｋに対しての総和を求める。この処理に於いて各々のｉ（ｉ＝１，・・・，８）に対する積和の算出は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。そして、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）、ｒ（１≦ｒ≦３）の組のそれぞれに対して算出した総和に処理層３０のバイアス値Ｂ１ｒ＋６を加え、必要に応じて発火関数処理を施した値を記憶装置５０のアレイＣｒの要素Ｃｒ（ｐ，ｑ）に格納する。なお、これらの処理に於いて各々のｒ（ｒ＝１，２，３）に対する処理は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。この状態で、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）、ｒ（１≦ｒ≦３）の組それぞれに対して、記憶装置５０のアレイＣｒの要素Ｃｒ（ｐ，ｑ）には処理層３０の出力の内の深さがｒ＋６の値と同一の値が格納されている。
【００３５】
（処理層６０の第３処理）
次に、ｉ（１≦ｉ≦３）、ｊ（１≦ｊ≦９）、ｋ、ｍ（１≦ｋ，ｍ≦３）に対して、図３に示す数値記憶部４の記憶装置５５の要素Ｆｊｉ＋６（ｋ，ｍ）に格納されている数値を、図３に示す読み取り部５を用いて読み取り、記憶装置５８の核Ｖｊの要素Ｖｊｉ（ｋ，ｍ）に格納する。
【００３６】
続いて、図９乃至図１１を参照して説明した処理と同様に、ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦９）の組のそれぞれに対して、記憶装置５０のアレイＣｉのデータＣｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）と、記憶装置５８に格納された核ＶｒのデータＶｒｉ（ｊ，ｋ）との積の総和を、ｉ（１≦ｉ≦３）、ｊ（１≦ｊ≦３）、ｋ（１≦ｋ≦３）に渡って求める。すなわち、この総和は、
ΣΣΣＣｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）×Ｖｒｉ（ｊ，ｋ）
と表される。１番目の総和記号Σはｉに対しての総和を求め、２番目の総和記号Σはｊに対しての総和を求め、３番目の総和記号Σはｋに対しての総和を求める。この処理に於いて各々のｉに対する積和の算出は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。そして、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）、ｒ（１≦ｒ≦３）の組のそれぞれに対して算出した総和と、記憶装置７０のアレイＤｒの要素Ｄｒ（ｐ，ｑ）に格納されている数値との和を改めて要素Ｄｒ（ｐ，ｑ）に格納する。この処理に於いて各々のｉ（ｉ＝１，２，３）に対する積和の算出は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。また、各々のｒ（ｒ＝１，・・・，９）に対する処理も並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。
【００３７】
（処理層３０の第４処理）
引き続いて、ｉ（１≦ｉ≦８）、ｊ（１≦ｊ≦３）、ｋ、ｍ（１≦ｋ，ｍ≦４）に対して、図３に示す数値記憶部４の記憶層３５の要素Ｅｊ＋９ｉ（ｋ，ｍ）に格納されている数値を、図３に示す読み取り部５を用いて読み取り、記憶装置４０の要素Ｗｊｉ（ｋ，ｍ）に格納する。
【００３８】
続いて、図５乃至図７を参照して説明した処理と同様に、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）、ｒ（１≦ｒ≦３）の組のそれぞれに対して、記憶装置２０の格納されたデータＡｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）と、記憶装置４０に格納されたデータＷｒｉ（ｊ，ｋ）との積の総和を、ｉ（１≦ｉ≦８）、ｊ（１≦ｊ≦４）、ｋ（１≦ｋ≦４）に渡って算出する。すなわち、この総和は、
ΣΣΣＡｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）×Ｗｒｉ（ｊ，ｋ）
と表される。１番目の総和記号Σはｉに対しての総和を求め、２番目の総和記号Σはｊに対しての総和を求め、３番目の総和記号Σはｋに対しての総和を求める。この処理に於いて各々のｉ（ｉ＝１，・・・，８）に対する積和の算出は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。
【００３９】
そして、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）、ｒ（１≦ｒ≦３）の組のそれぞれに対して算出した総和に、処理層３０のバイアス値Ｂ１ｒ＋９を加え、必要に応じて発火関数処理を施した値を、記憶装置５０のアレイＣｒの要素Ｃｒ（ｐ，ｑ）に格納する。なお、これらの処理に於いて各々のｒ（ｒ＝１，２，３）に対する処理は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。この状態で、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）、ｒ（１≦ｒ≦３）の組のそれぞれに対してアレイＣｒの要素Ｃｒ（ｐ，ｑ）には処理層３０の出力の内の深さがｒ＋９の値と同一の値が格納されている。
【００４０】
（処理層６０の第４処理）
次に、ｉ（１≦ｉ≦３）、ｊ（１≦ｊ≦９）、ｋ、ｍ（１≦ｋ，ｍ≦３）に対して、図３に示す数値記憶部４の記憶装置５５の要素Ｆｊｉ＋９（ｋ，ｍ）に格納されている数値を、図３に示す読み取り部５を用いて読み取り、記憶装置５８の要素Ｖｊｉ（ｋ，ｍ）に格納する。
【００４１】
続いて、図９乃至図１１を参照して説明した処理と同様に、ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦９）の組のそれぞれに対して、記憶装置５０に格納されたデータＣｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）と、記憶装置５８に格納されたデータＶｒｉ（ｊ，ｋ）との積の総和を、ｉ（１≦ｉ≦３）、ｊ（１≦ｊ≦３）、ｋ（１≦ｋ≦３）に渡って求める。すなわち、この総和は、
ΣΣΣＣｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）×Ｖｒｉ（ｊ，ｋ）
と表される。１番目の総和記号Σはｉに対しての総和を求め、２番目の総和記号Σはｊに対しての総和を求め、３番目の総和記号Σはｋに対しての総和を求める。この処理に於いて各々のｉ（ｉ＝１，２，３）に対する積和の算出は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。
【００４２】
そして、ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦９）の組のそれぞれに対して求めた値に、記憶装置７０のアレイＤｒの要素Ｄｒ（ｐ，ｑ）に格納されている数値と処理層６０のバイアス値Ｂ２ｒを加え、必要に応じて発火関数処理を施した値を、記憶装置７０のアレイＤｒの要素Ｄｒ（ｐ，ｑ）に格納する。なお、これらの処理に於いて各々のｒ（ｒ＝１，・・・，９）に対する処理は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。この状態で、ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦９）の組のそれぞれに対して、アレイＤｒの要素Ｄｒ（ｐ，ｑ）には処理層６０の出力の内の深さがｒの値と同一の値が格納されている。
【００４３】
このようにして、図３に示す演算処理部６によって得られた処理結果は出力部８を介して、外部記憶装置３００に格納される。
【００４４】
以上説明したように、本実施形態によれば、処理層３０の出力を格納する記憶装置５０のアレイの個数（＝３）は、処理層３０の出力の個数、すなわち記憶装置３５に格納された核の個数（＝１２）よりも少ない。これにより、記憶装置の容量を削減することのできる演算処理装置を提供することができる。また、記憶装置の容量を削減することができるので、回路面積を縮小することが可能となり、製造コストを抑制することができる。
【００４５】
本実施形態に於いては、記憶装置４０における核Ｗ１〜Ｗ３の個数（＝３）は、記憶装置５０のアレイＣ１〜Ｃ３の深さ（＝３）に等しいとしたが、このことに必然性は無く両者が相異なる値であってもよい。但し、記憶装置４０において、核Ｗ１〜Ｗ３の個数が、記憶装置５０のアレイＣ１〜Ｃ３の深さよりも多いと、図５乃至図７を参照して説明した処理に於いて、記憶装置４０の核の内で、記憶装置５０のアレイの深さを超えた核は使われないので、それだけ無駄が生ずる。また、記憶装置４０の核の個数が記憶装置５０のアレイの深さよりも少ないと、図５乃至図７を参照して説明した処理に於いて、記憶装置５０のアレイの内で、記憶装置４０の核の個数を超えた深さは使われないので、それだけ無駄が生ずる。それ故、記憶装置４０核の個数と記憶装置５０のアレイの深さとは相等しいことが好ましい。
【００４６】
また、本実施形態に於いては、記憶装置５５、５８における核の深さは、記憶装置５０のアレイの深さと等しいとしたが、このことに必然性は無く両者が相異なる値であってもよい。但し、記憶装置５５，５８の核の深さが記憶装置５０のアレイの深さよりも大きいと、図９乃至図１１を参照して説明した処理に於いて、記憶装置５８の核の深さの内で、記憶装置５０のアレイの深さを超えた深さは使われないので、それだけ無駄が生ずる。また、記憶装置５８の核の深さが記憶装置５０のアレイの深さよりも小さいと、図９乃至図１１を参照して説明した処理に於いて、記憶装置５０の核の内で、記憶装置５８の核のアレイの深さを超えた深さは使われないので、それだけ無駄が生ずる。それ故、記憶装置５５，５８における核の深さと、記憶装置５０のアレイの深さとは等しいことが好ましい。
【００４７】
特に、記憶装置４０における核の個数と、記憶装置５０のアレイの深さと、記憶装置５５，５８の核のアレイの深さとは、相等しいことが好ましい。
【００４８】
本実施形態に於いては、記憶装置４０の核の個数と、記憶装置５０のアレイの深さと、記憶装置５８の核の深さとの三者は相等しく３とした。それは処理層３０の出力の深さすなわち処理層６０の入力の深さである１２の約数である。このことに必然性はなく、記憶装置４０の核の個数と、記憶装置５０のアレイの深さと、記憶装置５８の核の深さとの三者を相等しい値に設定する場合に、その相等しい値が処理層３０の出力の深さすなわち処理層６０の入力の深さの約数でなくてもよい。但し、相等しい数値の記憶装置４０の核の個数と、記憶装置５０のアレイの深さと、記憶装置５８の核の深さとの三者の値が、処理層３０の出力の深さすなわち処理層６０の入力の深さの約数であると、本実施形態に示した様に図５乃至図８を参照して説明した処理と、図９乃至図１１を参照して説明した処理と、を交互に行う場合に処理に無駄が生じないという利点が得られる。それ故、記憶装置４０の核の個数と、記憶装置５０のアレイの深さと、記憶装置５８の核の深さとの三者が相等しく且つその相等しい値が処理層３０の出力の深さすなわち処理層６０の入力の深さの約数であることは好ましい。
【００４９】
本実施形態に於いては、畳み込み処理のみでプーリング(pooling)処理には言及していないが、プーリング処理は深さごとに独立に行われるので、処理層３０ないし処理層６０の畳み込み処理に続いてプーリング処理を行っても、同様の効果が得られる。
【００５０】
本実施形態に於いては、処理層３０の出力を格納する記憶装置５０は、図の面内方向は処理層３０の出力と等しい大きさ、すなわち８×８の大きさで、かつ深さが３とした。しかし、処理層３０の出力を格納する記憶装置として、処理層３０の面内方向の大きさと等しい長さの１次元的な配列とすることも可能である（例えば、本出願人によって出願された特願２０１７−２２２２９３号）。しかしながら、この様な記憶装置を用いると、記憶装置５５のアレイの値を、記憶装置５８のアレイに格納する処理に於いて、同一の数値を記憶装置５５より記憶装置５８に格納する処理を複数回に渡って行う必要がある。これは、記憶装置のアクセスの回数を過剰に増やすこととなるので処理に無駄な時間を要する。すなわち、処理の高速化の妨げとなる。それ故、本実施形態に示した様に、処理層３０の出力を格納する記憶装置は図の面内方向は行方向と列方向との双方に対して処理層３０の出力と等しい大きさを持つことが好ましい。
【００５１】
本実施形態に於いては、処理層３０の処理ないし処理層６０の処理は何れも畳み込み処理であるとしたが、このことに必然性はない。一般に処理層の入力ないし出力は、図の面内方向の大きさが１×１であるとするとそれは全結合処理となる。それ故、処理層３０ないし処理層６０の処理が全結合処理であるとしても同様の効果が得られる。但し、一回の処理に於いて全結合処理に於いては各々の重みは一回のみ用いられるのに対して畳み込み処理に於いては各々の重みは複数回に渡って用いられる。それ故、記憶装置に対するアクセスの回数の帰結として定まるところの処理時間に鑑みると、処理層３０の処理ないし処理層６０の処理が何れも畳み込み処理である場合に特に効果が得られる。
【００５２】
（第２実施形態）
第２実施形態による演算処理装置について図１２乃至図１９を参照して説明する。この第２実施形態の演算処理装置１は、図１乃至図１１に示す第１実施形態の演算処理装置において処理層３０に用いられる核の深さすなわち核に含まれるアレイの個数が異なっている。第１実施形態においては、記憶装置４０に格納される核に含まれるアレイの個数（＝８）は、処理層３０の入力の深さすなわち、記憶装置２０に格納されたアレイの個数（＝８）に等しかった。図１２に示すように、第２実施形態においては、処理層３０に用いられ、記憶装置４０に格納される核の個数は３であって、核はそれぞれ２個のアレイを有している。各アレイは、４行×４列に配置されたメモリ素子を有する。すなわち、第１実施形態とは、処理層３０に用いられる核の深さが異なっている。
【００５３】
次に、第２実施形態の演算処理装置の処理動作について、説明する。
【００５４】
（処理層３０の第１処理）
まず、ｉ（１≦ｉ≦２）、ｊ（１≦ｊ≦３）、ｋ、ｍ（１≦ｋ，ｍ≦４）に対して、図３に示す数値記憶部４の記憶装置３５に格納されている核の要素Ｅｊｉ（ｋ，ｍ）に格納されている数値を、図３に示す読み取り部５を用いて読み取り、記憶装置４０に格納されている核Ｗｊの要素Ｗｊｉ（ｋ，ｍ）に格納する。
【００５５】
続いて、図１３に示す様に、記憶装置２０に格納されたデータＡｉ（ｊ，ｋ）とデータＷ１ｉ（ｊ，ｋ）との積の総和を、ｉ（１≦ｉ≦２）、ｊ（１≦ｊ≦４）、ｋ（１≦ｋ≦４）に渡って求める。すなわち、この総和は、
ΣΣΣＡｉ（ｊ，ｋ）×Ｗ１ｉ（ｊ，ｋ）
と表される。１番目の総和記号Σはｉに対しての総和を求め、２番目の総和記号Σはｊに対しての総和を求め、３番目の総和記号Σはｋに対しての総和を求める。そして、この総和は、記憶装置５０のアレイＣ１の要素Ｃ１（１，１）に格納される。この処理に於いて各々のｉ（ｉ＝１，２）に対する積和の算出は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。
【００５６】
次に、図１４に示す様に、記憶装置２０に格納されたデータＡｉ（ｊ，ｋ＋１）と記憶装置４０に格納されたデータＷ１ｉ（ｊ，ｋ）との積の総和を、ｉ（１≦ｉ≦２）、ｊ（１≦ｊ≦４）、ｋ（１≦ｋ≦４）に渡って求める。すなわち、この総和は、
ΣΣΣＡｉ（ｊ，ｋ＋１）×Ｗ１ｉ（ｊ，ｋ）
と表される。１番目の総和記号Σはｉに対しての総和を求め、２番目の総和記号Σはｊに対しての総和を求め、３番目の総和記号Σはｋに対しての総和を求める。そして、この総和は、記憶装置５０のアレイＣ１の要素Ｃ１（１，２）に格納される。この処理に於いて各々のｉ（ｉ＝１，２）に対する積和の算出は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。
【００５７】
同様に、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）の組のそれぞれに対して、記憶装置２０に格納されたデータＡｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）と、記憶装置４０に格納されたデータＷ１ｉ（ｊ，ｋ）との積の総和を、ｉ（１≦ｉ≦２）、ｊ（１≦ｊ≦４）、ｋ（１≦ｋ≦４）に渡って求める。すなわち、この総和は、
ΣΣΣＡｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）×Ｗ１ｉ（ｊ，ｋ）
と表される。１番目の総和記号Σはｉに対しての総和を求め、２番目の総和記号Σはｊに対しての総和を求め、３番目の総和記号Σはｋに対しての総和を求める。そして、この総和は、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）の組のそれぞれに対して求められ、記憶装置５０のアレイＣ１の要素Ｃ１（ｐ，ｑ）に格納される。この処理に於いて各々のｉ（ｉ＝１，２）に対する積和の算出は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。この処理の終了した状態を図１５に示す。
【００５８】
続いて、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）の組のそれぞれに対し、記憶装置２０に格納されたデータＡｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）と、記憶装置４０に格納されたデータＷ２ｉ（ｊ，ｋ）との積の総和を、ｉ（１≦ｉ≦２）、ｊ（１≦ｊ≦４）、ｋ（１≦ｋ≦４）に渡って求める。すなわち、この総和は、
ΣΣΣＡｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）×Ｗ２ｉ（ｊ，ｋ）
と表される。１番目の総和記号Σはｉに対しての総和を求め、２番目の総和記号Σはｊに対しての総和を求め、３番目の総和記号Σはｋに対しての総和を求める。そして、この総和は、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）の組のそれぞれに対して求められ、記憶装置５０のアレイＣ２の要素Ｃ２（ｐ，ｑ）に格納される。この処理に於いて各々のｉ（ｉ＝１，２）に対する積和の算出は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。この処理の終了した状態を図１６に示す。
【００５９】
次に、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）の組みのそれぞれに対して、記憶装置２０に格納されたデータＡｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）と、記憶装置４０に格納されたデータＷ３ｉ（ｊ，ｋ）との積の総和を、ｉ（１≦ｉ≦２）、ｊ（１≦ｊ≦４）、ｋ（１≦ｋ≦４）に渡って求める。すなわち、この総和は、
ΣΣΣＡｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）×Ｗ３ｉ（ｊ，ｋ）
と表される。１番目の総和記号Σはｉに対しての総和を求め、２番目の総和記号Σはｊに対しての総和を求め、３番目の総和記号Σはｋに対しての総和を求める。そして、この総和は、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）の組のそれぞれに対して求められ、記憶装置５０のアレイＣ３の要素Ｃ３（ｐ，ｑ）に格納される。この処理に於いて各々のｉ（ｉ＝１，２）に対する積和の算出は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。この処理の終了した状態を図１７に示す。なお、図１３乃至図１５を参照して説明した処理、図１６を参照して説明した処理、および図１７を参照して説明した処理は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。
【００６０】
次に、ｉ（１≦ｉ≦２）、ｊ（１≦ｊ≦３）、ｋ、ｍ（１≦ｋ，ｍ≦４）に対して、図３に示す数値記憶部４の記憶装置３５に格納されているアレイＥｊｉ＋２の要素Ｅｊｉ＋２（ｋ，ｍ）の数値を、図３に示す読み取り部５を用いて読み取り、記憶装置４０のアレイＷｊｉの要素Ｗｊｉ（ｋ，ｍ）に格納する。
【００６１】
そして、図１３乃至図１７を参照して説明した処理と同様に、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）、ｒ（１≦ｒ≦３）の組それぞれに対して、記憶装置２０に格納されたデータＡｉ＋２（ｊ＋ｐ−１，ｋ＋ｑ−１）と、記憶装置４０に格納されたデータＷｒｉ（ｊ，ｋ）との積の総和を、ｉ（１≦ｉ≦２）、ｊ（１≦ｊ≦４）、ｋ（１≦ｋ≦４）に渡って求める。すなわち、この総和は、
ΣΣΣＡｉ＋２（ｊ＋ｐ−１，ｋ＋ｑ−１）×Ｗｒｉ（ｊ，ｋ）
と求められる。１番目の総和記号Σはｉに対しての総和を求め、２番目の総和記号Σはｊに対しての総和を求め、３番目の総和記号Σはｋに対しての総和を求める。そして、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）、ｒ（１≦ｒ≦３）の組それぞれに対して求めた総和と、記憶装置５０のアレイＣｒの要素Ｃｒ（ｐ，ｑ）との和を改めてＣｒ（ｐ，ｑ）に格納する。この処理に於いて各々のｉ（ｉ＝１，２）に対する積和の算出は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。また、これらの処理に於いて各々のｒ（ｒ＝１，２，３）に対する処理は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。この処理の終了した状態を図１８に示す。
【００６２】
次に、ｉ（１≦ｉ≦２）、ｊ（１≦ｊ≦３）、ｋ、ｍ（１≦ｋ，ｍ≦４）に対して、図３に示す数値記憶部４の記憶装置３５に格納されているアレイＥｊｉ＋４の要素Ｅｊｉ＋４（ｋ，ｍ）の数値を、図３に示す読み取り部５を用いて読み取り、記憶装置４０のアレイＷｊｉの要素Ｗｊｉ（ｋ，ｍ）に格納する。
【００６３】
そして図１８を参照して説明した処理と同様に、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）、ｒ（１≦ｒ≦３）の組それぞれに対して、記憶装置２０に格納されているデータＡｉ＋４（ｊ＋ｐ−１，ｋ＋ｑ−１）と、記憶装置４０に格納されているデータＷｒｉ（ｊ，ｋ）との積の総和を、ｉ（１≦ｉ≦２）、ｊ（１≦ｊ≦４）、ｋ（１≦ｋ≦４）に渡って求める。すなわち、この総和は、
ΣΣΣＡｉ＋４（ｊ＋ｐ−１，ｋ＋ｑ−１）×Ｗｒｉ（ｊ，ｋ）
と求められる。１番目の総和記号Σはｉに対しての総和を求め、２番目の総和記号Σはｊに対しての総和を求め、３番目の総和記号Σはｋに対しての総和を求める。そして、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）、ｒ（１≦ｒ≦３）の組それぞれに対して求めた総和と、記憶装置５０のアレイＣｒの要素Ｃｒ（ｐ，ｑ）に格納された値との和を改めて要素Ｃｒ（ｐ，ｑ）に格納する。この処理に於いて各々のｉ（ｉ＝１，２）に対する積和の算出は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。また、これらの処理に於いて各々のｒ（ｒ＝１，２，３）に対する処理は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。
【００６４】
次に、ｉ（１≦ｉ≦２）、ｊ（１≦ｊ≦３）、ｋ、ｍ（１≦ｋ，ｍ≦４）に対して、図３に示す数値記憶部４の記憶装置３５に格納されているアレイＥｊｉ＋６の要素Ｅｊｉ＋６（ｋ，ｍ）の数値を、図３に示す読み取り部５を用いて読み取り、記憶装置４０のアレイＷｊｉの要素Ｗｊｉ（ｋ，ｍ）に格納する。
【００６５】
そして図１８を参照して説明した処理と同様に、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）、ｒ（１≦ｒ≦３）の組それぞれに対して、記憶装置２０に格納されているデータＡｉ＋６（ｊ＋ｐ−１，ｋ＋ｑ−１）と、記憶装置４０に格納されているデータＷｒｉ（ｊ，ｋ）との積の総和を、ｉ（１≦ｉ≦２）、ｊ（１≦ｊ≦４）、ｋ（１≦ｋ≦４）に渡って求める。すなわち、この総和は、
ΣΣΣＡｉ＋６（ｊ＋ｐ−１，ｋ＋ｑ−１）×Ｗｒｉ（ｊ，ｋ）
と求められる。１番目の総和記号Σはｉに対しての総和を求め、２番目の総和記号Σはｊに対しての総和を求め、３番目の総和記号Σはｋに対しての総和を求める。そして、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）、ｒ（１≦ｒ≦３）の組それぞれに対して求めた総和と、記憶装置５０に格納されたアレイＣｒの要素Ｃｒ（ｐ，ｑ）との和を算出する。そして、上記和に処理層３０のバイアス値Ｂ１ｒを加え、必要に応じて発火関数処理を施した値を改めてアレイＣｒの要素Ｃｒ（ｐ，ｑ）に格納する。この処理に於いて各々のｉ（ｉ＝１，２）に対する積和の算出は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。また、これらの処理に於いて各々のｒ（ｒ＝１，２，３）に対する処理は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。この状態で、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）、ｒ（１≦ｒ≦３）の組それぞれに対してアレイＣｒの要素Ｃｒ（ｐ，ｑ）には処理層３０の出力の内の深さがｒの値と同一の値が格納されている。
【００６６】
（処理層６０の第１処理）
引き続いて、ｉ（１≦ｉ≦３）、ｊ（１≦ｊ≦９）、ｋ，ｍ（１≦ｋ，ｍ≦３）に対して、図３に示す数値記憶部４の記憶装置５５に格納されているアレイＦｊｉの要素Ｆｊｉ（ｋ，ｍ）の数値を、図３に示す読み取り部５を用いて読み取り、記憶装置５８のアレイＶｊｉの要素Ｖｊｉ（ｋ，ｍ）に格納する。
【００６７】
そして、図９乃至図１１を参照して説明した処理と同様に、ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦９）の組それぞれに対して、記憶装置５０に格納されているデータＣｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）と、記憶装置５８に格納されているデータＶｒｉ（ｊ，ｋ）との積の総和を、ｉ（１≦ｉ≦３）、ｊ（１≦ｊ≦３）、ｋ（１≦ｋ≦３）に渡って算出する。すなわち、この総和は、
ΣΣΣＣｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）×Ｖｒｉ（ｊ，ｋ）
と表される。１番目の総和記号Σはｉに対しての総和を求め、２番目の総和記号Σはｊに対しての総和を求め、３番目の総和記号Σはｋに対しての総和を求める。そして、ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦９）の組それぞれに対して算出した総和は、記憶装置７０のアレイＤｒの要素Ｄｒ（ｐ，ｑ）に格納する。この処理の終了した状態を図１９に示す。この処理に於いて各々のｉ（ｉ＝１，２，３）に対する積和の算出は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。また、各々のｒ（ｒ＝１，・・・，９）に対する処理も並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。
【００６８】
（処理層３０の第２処理）
次に、ｉ（１≦ｉ≦２）、ｊ（１≦ｊ≦３）、ｋ、ｍ（１≦ｋ，ｍ≦４）に対して、図１３乃至図１８を参照して説明した処理に関して、アレイＥｊｉの要素Ｅｊｉ（ｋ，ｍ）に格納されている数値の読み取りに於いて、アレイＥｊｉの要素Ｅｊｉ（ｋ，ｍ）を要素Ｅｊ＋３ｉ（ｋ，ｍ）と読み替えた処理を行う。この処理の終了した状態で、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）、ｒ（１≦ｒ≦３）の組それぞれに対して、記憶装置５０のアレイＣｒの要素Ｃｒ（ｐ，ｑ）には処理層３０の出力の内の深さがｒ＋３の値と同一の値が格納されている。
【００６９】
（処理層６０の第２処理）
次に、ｉ（１≦ｉ≦３）、ｊ（１≦ｊ≦９）、ｋ、ｍ（１≦ｋ，ｍ≦３）に対して、図３に示す数値記憶部４の記憶装置５５に格納されているアレイＦｊｉ＋３の要素Ｆｊｉ＋３（ｋ，ｍ）の数値を、図３に示す読み取り部５を用いて読み取り、記憶装置５８のアレイＶｊｉの要素Ｖｊｉ（ｋ，ｍ）に格納する。
【００７０】
続いて、図９乃至図１１を参照して説明した処理と同様に、ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦９）の組それぞれに対して、記憶装置５０に格納されたデータＣｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）と、記憶装置５８に格納されたデータＶｒｉ（ｊ，ｋ）との積の総和を、ｉ（１≦ｉ≦３）、ｊ（１≦ｊ≦３）、ｋ（１≦ｋ≦３）に渡って算出する。すなわち、この総和は、
ΣΣΣＣｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）×Ｖｒｉ（ｊ，ｋ）
と表される。１番目の総和記号Σはｉに対しての総和を求め、２番目の総和記号Σはｊに対しての総和を求め、３番目の総和記号Σはｋに対しての総和を求める。そして、ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦９）の組それぞれに対して算出した総和と、記憶装置７０のアレイＤｒの要素Ｄｒ（ｐ，ｑ）に格納されている数値との和を改めて要素Ｄｒ（ｐ，ｑ）に格納する。この処理に於いて各々のｉ（ｉ＝１，２，３）に対する積和の算出は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。また、各々のｒ（ｒ＝１，・・・，９）に対する処理も並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。
【００７１】
（処理層３０の第３処理）
そして、図１３乃至図１８を参照して説明した処理に関して、記憶装置３５に格納されているアレイＥｊｉの要素Ｅｊｉ（ｋ，ｍ）の数値の読み取りに於いて要素Ｅｊｉ（ｋ，ｍ）を要素Ｅｊ＋６ｉ（ｋ，ｍ）と読み替えた処理を行う。この処理の終了した状態で、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）、ｒ（１≦ｒ≦３）の組それぞれに対して、記憶装置５０のアレイＣｒの要素Ｃｒ（ｐ，ｑ）には処理層３０の出力の内の深さがｒ＋６の値と同一の値が格納されている。
【００７２】
（処理層６０の第３処理）
次に、ｉ（１≦ｉ≦３）、ｊ（１≦ｊ≦９）、ｋ、ｍ（１≦ｋ，ｍ≦３）に対して、図３に示す数値記憶部４の記憶装置５５に格納されているアレイＦｊｉ＋６の要素Ｆｊｉ＋６（ｋ，ｍ）の数値を、図３に示す読み取り部５を用いて読み取り、記憶装置５８のアレイＶの要素Ｖｊｉ（ｋ，ｍ）に格納する。
【００７３】
続いて、図９乃至図１１を参照して説明した処理と同様に、ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦９）の組それぞれに対し、記憶装置５０に格納されているデータＣｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）と、記憶装置５８に格納されているデータＶｒｉ（ｊ，ｋ）との積の総和を、ｉ（１≦ｉ≦３）、ｊ（１≦ｊ≦３）、ｋ（１≦ｋ≦３）に渡って算出する。すなわち、この総和は、
ΣΣΣＣｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）×Ｖｒｉ（ｊ，ｋ）
と表される。１番目の総和記号Σはｉに対しての総和を求め、２番目の総和記号Σはｊに対しての総和を求め、３番目の総和記号Σはｋに対しての総和を求める。そして、ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦９）の組それぞれに対して算出された総和と、記憶装置７０のアレイＤｒの要素Ｄｒ（ｐ，ｑ）に格納されている数値との和を改めて要素Ｄｒ（ｐ，ｑ）に格納する。この処理に於いて各々のｉ（ｉ＝１，２，３）に対する積和の算出は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。また、各々のｒ（ｒ＝１，・・・，９）に対する処理も並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。
【００７４】
（処理層３０の第４処理）
そして、１≦ｉ≦２、１≦ｊ≦３、１≦ｋ，ｍ≦４に対して、図１３乃至図１８を参照して説明した処理に於ける、アレイＥｊｉの要素Ｅｊｉ（ｋ，ｍ）に格納されている数値の読み取りに関して、要素Ｅｊｉ（ｋ，ｍ）を要素Ｅｊ＋９ｉ（ｋ，ｍ）と読み替えた処理を行う。この処理の終了した状態で、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）、ｒ（１≦ｒ≦３）の組それぞれに対して、記憶装置５０のアレイＣｒの要素Ｃｒ（ｐ，ｑ）には処理層３０の出力の内の深さがｒ＋９の値と同一の値が格納されている。
【００７５】
（処理層６０の第４処理）
次に、ｉ（１≦ｉ≦３）、ｊ（１≦ｊ≦９）、ｋ。ｍ（１≦ｋ，ｍ≦３）に対して、図３に示す数値記憶部４の記憶装置５５に格納されているアレイＦｊｉ＋９の要素Ｆｊｉ＋９（ｋ，ｍ）の数値を、図３に示す読み取り部５を用いて読み取り、記憶装置５８のアレイＶｊｉの要素Ｖｊｉ（ｋ，ｍ）に格納する。
【００７６】
続いて、図９乃至図１１を参照して説明した処理と同様に、ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦９）の組それぞれに対して、記憶装置５０に格納されたデータＣｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）と、記憶装置５８に格納されたデータＶｒｉ（ｊ，ｋ）との積の総和を、ｉ（１≦ｉ≦３）、ｊ（１≦ｊ≦３）、ｋ（１≦ｋ≦３）に渡って算出する。すなわち、この総和は、
ΣΣΣＣｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）×Ｖｒｉ（ｊ，ｋ）
と表される。１番目の総和記号Σはｉに対しての総和を求め、２番目の総和記号Σはｊに対しての総和を求め、３番目の総和記号Σはｋに対しての総和を求める。そして、ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦９）の組それぞれに対して算出された値と、記憶装置７０のアレイＤｒの要素Ｄｒ（ｐ，ｑ）に格納されている数値との和が算出される。この処理に於いて各々のｉ（ｉ＝１．２．３）に対する積和の算出は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。そして、上記和に処理層６０のバイアス値Ｂ２ｒを加え、必要に応じて発火関数処理を施した値を改めて要素Ｄｒ（ｐ，ｑ）に格納する。なお、これらの処理に於いて各々のｒ（ｒ＝１．・・・，９）に対する処理は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。この状態で、ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦９）の組それぞれに対して、記憶装置７０に格納されているアレイＤｒの要素Ｄｒ（ｐ，ｑ）には処理層６０の出力の内の深さがｒの値と同一の値が格納されている。
【００７７】
本実施形態に於いては、核Ｗｉ（ｉ＝１，２）の深さが２としてあるので、第１実施形態に示した場合と比べて、記憶装置４０の容量が少なくなっている。それ故、記憶装置の更なる削減が図られるという利点がある。
【００７８】
一方、第１実施形態の演算処理装置では処理層３０の入力側の深さ方向の処理を全ての深さに渡って並列に処理することが可能であるので、処理時間の短縮が図られる、すなわち動作の高速化が可能となるという利点がある。
【００７９】
本実施形態に於いては、核Ｗｉ（ｉ＝１，２）の深さが２としたが深さが２であることに必然性はない。但し、核Ｗｉ（ｉ＝１，２）の深さが処理層３０の入力の深さ、すなわち記憶装置２０のアレイの深さの約数である場合は、処理に無駄が生じないという利点が得られるので好ましい。
【００８０】
本実施形態に於いては畳み込み処理のみでプーリング処理には言及していないが、プーリング処理は深さごとに独立に行われるので、処理層３０ないし処理層６０の畳み込み処理に続いてプーリング処理を行っても、同様の効果が得られる。
【００８１】
以上説明したように、第２実施形態によれば、第１実施形態と同様に、記憶装置の容量を削減することのできる演算処理装置を提供することができる。また、記憶装置の容量を削減することができるので、回路面積を縮小することが可能となり、製造コストを抑制することができる。
【００８２】
（第３実施形態）
第３実施形態による演算処理装置１について図２０乃至図２３を参照して説明する。この実施形態の演算処理装置は、第１実施形態の演算処理装置１に於いて、記憶装置５８の核の個数が異なっている。第１実施形態においては、記憶装置５８の核の個数は処理層６０の出力の深さ、すなわち記憶装置７０のアレイの深さに等しかった。しかし、第３実施形態に於いては、図２０に示す様に、記憶装置５８に格納される核の個数が３であるとしている。記憶装置５８に格納される核Ｖｉ（ｉ＝１，２，３）はそれぞれ、３行３列に配置されたアレイＶｉ１、Ｖｉ２、Ｖｉ３を有している。
【００８３】
次に、本実施形態の動作について説明する。
【００８４】
（処理層３０の第１処理）
先ず、ｉ（１≦ｉ≦８）、ｊ（１≦ｊ≦３）、ｋ、ｍ（１≦ｋ，ｍ≦４）に対して、図３に示す数値記憶部４の記憶装置３５に格納されているアレイＥｊｉの要素Ｅｊｉ（ｋ，ｍ）の数値を、図３に示す読み取り部５を用いて読み取り、記憶装置４０に格納されるアレイＷｊｉの要素Ｗｊｉ（ｋ，ｍ）に格納する。
【００８５】
そして、図５乃至図７を参照して説明した処理と同様に、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）、ｒ（１≦ｒ≦３）の組それぞれに対して、記憶装置２０に格納されたデータＡｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）と、記憶装置４０に格納されたデータＷｒｉ（ｊ，ｋ）との積の総和を、ｉ（１≦ｉ≦８）、ｊ（１≦ｊ≦４）、ｋ（１≦ｋ≦４）に渡って算出する。すなわち、この総和は、
ΣΣΣＡｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）×Ｗｒｉ（ｊ，ｋ）
と表される。１番目の総和記号Σはｉに対しての総和を求め、２番目の総和記号Σはｊに対しての総和を求め、３番目の総和記号Σはｋに対しての総和を求める。この総和は、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）、ｒ（１≦ｒ≦３）の組それぞれに対して求められる。この処理に於いて各々のｉ（ｉ＝１，・・・，８）に対する積和の算出は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。そして、上記総和に処理層３０のバイアス値Ｂ１ｒを加え、必要に応じて発火関数処理を施した値を、記憶装置５０のアレイＣ１の要素Ｃｒ（ｐ，ｑ）に格納する。なお、これらの処理に於いて各々のｒ（ｒ＝１，２，３）に対する処理は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。この状態で、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）、ｒ（１≦ｒ≦３）の組それぞれに対して、記憶装置５０のアレイＣｒの要素Ｃｒ（ｐ，ｑ）には処理層３０の出力の内の深さがｒの値と同一の値が格納されている。
【００８６】
（処理層６０の第１処理）
次に、ｉ（１≦ｉ≦３）、ｊ（１≦ｊ≦３）、ｋ、ｍ（１≦ｋ，ｍ≦３）に対して、図３に示す数値記憶部４の記憶装置５５に格納されているアレイＦｊｉの要素Ｆｊｉ（ｋ，ｍ）の数値を、図３に示す読み取り部５を用いて読み取り、記憶装置５８のアレイＶｊｉの要素Ｖｊｉ（ｋ，ｍ）に格納する。
【００８７】
続いて、図９乃至図１１を参照して説明した処理と同様に、ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦３）の組それぞれに対して、記憶装置５０に格納されているデータＣｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）と、記憶装置５８に格納されているデータＶｒｉ（ｊ，ｋ）との積の総和を、ｉ（１≦ｉ≦３）、ｊ（１≦ｊ≦３）、ｋ（１≦ｋ≦３）に渡って算出する。すなわち、この総和は、
ΣΣΣＣｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）×Ｖｒｉ（ｊ，ｋ）
と表される。１番目の総和記号Σはｉに対しての総和を求め、２番目の総和記号Σはｊに対しての総和を求め、３番目の総和記号Σはｋに対しての総和を求める。ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦３）の組それぞれに対して算出した総和は、記憶装置７０のアレイＤｒの要素Ｄｒ（ｐ，ｑ）に格納する。この処理の終了した状態を図２１に示す。この処理に於いて各々のｉ（ｉ＝１，２，３）に対する積和の算出は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。また、各々のｒ（ｒ＝１，２，３）に対する処理も並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。
【００８８】
次に、ｉ（１≦ｉ≦３）、ｊ（１≦ｊ≦３）、ｋ、ｍ（１≦ｋ，ｍ≦３）に対して、図３に示す数値記憶部４の記憶装置５５に格納されたアレイＦｊ＋３ｉの要素Ｆｊ＋３ｉ（ｋ，ｍ）の数値を、図３に示す読み取り部５を用いて読み取り、記憶装置５８のアレイＶｊｉの要素Ｖｊｉ（ｋ，ｍ）に格納する。
【００８９】
続いて、図２１を参照して説明した処理と同様に、ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦３）に対して、記憶装置５０に格納されたデータＣｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）と、記憶装置５８に格納されたデータＶｒｉ（ｊ，ｋ）との積の総和を、ｉ（１≦ｉ≦３）、ｊ（１≦ｊ≦３）、ｋ（１≦ｋ≦３）に渡って算出する。すなわち、この総和は、
ΣΣΣＣｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）×Ｖｒｉ（ｊ，ｋ）
と表される。１番目の総和記号Σはｉに対しての総和を求め、２番目の総和記号Σはｊに対しての総和を求め、３番目の総和記号Σはｋに対しての総和を求める。ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦３）の組それぞれに対して算出した総和は、記憶装置７０のアレイＤｒ＋３の要素Ｄｒ＋３（ｐ，ｑ）に格納する。この処理の終了した状態を図２２に示す。この処理に於いて各々のｉ（ｉ＝１，２，３）に対する積和の算出は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。また、各々のｒ（ｒ＝１，２，３）に対する処理も並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。
【００９０】
次に、ｉ（１≦ｉ≦３）、ｊ（１≦ｊ≦３）、ｋ、ｍ（１≦ｋ，ｍ≦３）に対して、図３に示す数値記憶部４の記憶装置５５に格納されているアレイＦｊ＋６ｉの要素Ｆｊ＋６ｉ（ｋ，ｍ）の数値を、図３に示す読み取り部５を用いて読み取り、記憶装置５８のアレイＶｊｉの要素Ｖｊｉ（ｋ，ｍ）に格納する。
【００９１】
続いて、図２１を参照して説明した処理と同様に、ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦３）の組それぞれに対して、記憶装置５０に格納されたデータＣｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）と、記憶装置５８に格納されたデータＶｒｉ（ｊ，ｋ）との積の総和を、ｉ（１≦ｉ≦３）、ｊ（１≦ｊ≦３）、ｋ（１≦ｋ≦３）に渡って求める。すなわち、この総和は、
ΣΣΣＣｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）×Ｖｒｉ（ｊ，ｋ）
と表される。１番目の総和記号Σはｉに対しての総和を求め、２番目の総和記号Σはｊに対しての総和を求め、３番目の総和記号Σはｋに対しての総和を求める。ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦３）の組それぞれに対して求めた値は、記憶装置７０のアレイＤｒ＋６の要素Ｄｒ＋６（ｐ，ｑ）に格納する。この処理の終了した状態を図２３に示す。この処理に於いて各々のｉ（ｉ＝１，２，３）に対する積和の算出は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。また、各々のｒ（ｒ＝１，２，３）に対する処理も並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。
【００９２】
（処理層３０の第２処理）
引き続いて、ｉ（１≦ｉ≦８）、ｊ（１≦ｊ≦３）、ｋ，ｍ（１≦ｋ，ｍ≦４）に対して、図３に示す数値記憶部４の記憶装置３５に格納されたアレイＥｊ＋３ｉの要素Ｅｊ＋３ｉ（ｋ，ｍ）の数値を、図３に示す読み取り部５を用いて読み取り、記憶装置４０のアレイＷｊｉの要素Ｗｊｉ（ｋ，ｍ）に格納する。
【００９３】
そして、図５乃至図７を参照して説明した処理と同様に、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）、ｒ（１≦ｒ≦３）の組それぞれに対して、記憶装置２０に格納されたデータＡｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）と、記憶装置４０に格納されたデータＷｒｉ（ｊ，ｋ）との積の総和を、ｉ（１≦ｉ≦８）、ｊ（１≦ｊ≦４）、ｋ（１≦ｋ≦４）に渡って算出する。すなわち、この総和は、
ΣΣΣＡｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）×Ｗｒｉ（ｊ，ｋ）
と表される。１番目の総和記号Σはｉに対しての総和を求め、２番目の総和記号Σはｊに対しての総和を求め、３番目の総和記号Σはｋに対しての総和を求める。この処理に於いて各々のｉ（ｉ＝１，・・・，８）に対する積和の算出は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。そして、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）、ｒ（１≦ｒ≦３）の組それぞれに対して算出した値に処理層３０のバイアス値Ｂ１ｒ＋３を加え、必要に応じて発火関数処理を施した値を、記憶装置５０のアレイＣｒの要素Ｃｒ（ｐ，ｑ）に格納する。なお、これらの処理に於いて各々のｒ（ｒ＝１，２，３）に対する処理は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。この状態で、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）、ｒ（１≦ｒ≦３）の組それぞれに対して、記憶装置５０のアレイＣｒの要素Ｃｒ（ｐ，ｑ）には処理層３０の出力の内の深さがｒ＋３の値と同一の値が格納されている。
【００９４】
（処理層６０の第２処理）
次に、ｉ（１≦ｉ≦３）、ｊ（１≦ｊ≦３）、ｋ、ｍ（１≦ｋ，ｍ≦３）に対して、図３に示す数値記憶部４の記憶装置５５のアレイＦｊｉ＋３の要素Ｆｊｉ＋３（ｋ，ｍ）の数値を、図３に示す読み取り部５を用いて読み取り、記憶装置５８のアレイＶｊｉの要素Ｖｊｉ（ｋ，ｍ）に格納する。
【００９５】
続いて、図２１を参照して説明した処理と同様に、ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦３）の組それぞれに対して、記憶装置５０に格納されたデータＣｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）と、記憶装置５８に格納されたデータＶｒｉ（ｊ，ｋ）との積の総和を、ｉ（１≦ｉ≦３）、ｊ（１≦ｊ≦３）、ｋ（１≦ｋ≦３）に渡って求める。すなわち、この総和は、
ΣΣΣＣｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）×Ｖｒｉ（ｊ，ｋ）
と表される。１番目の総和記号Σはｉに対しての総和を求め、２番目の総和記号Σはｊに対しての総和を求め、３番目の総和記号Σはｋに対しての総和を求める。ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦３）の組それぞれに対して求めた値と、記憶装置７０のアレイＤｒの要素Ｄｒ（ｐ，ｑ）との和を改めて要素Ｄｒ（ｐ，ｑ）に格納する。この処理に於いて各々のｉ（ｉ＝１，２，３）に対する積和の算出は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。また、各々のｒ（ｒ＝１，２，３）に対する処理も並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。
【００９６】
次に、ｉ（１≦ｉ≦３）、ｊ（１≦ｊ≦３）、ｋ、ｍ（１≦ｋ，ｍ≦３）に対して、図３に示す数値記憶部４の記憶装置５５のアレイＦｊ＋３ｉ＋３の要素Ｆｊ＋３ｉ＋３（ｋ，ｍ）の数値を読み取り、記憶装置５８のアレイＶｊｉの要素Ｖｊｉ（ｋ，ｍ）に格納する。
【００９７】
続いて、図２２を参照して説明した処理と同様に、ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦３）の組それぞれに対して、記憶装置５０に格納されたデータＣｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）と、記憶装置５８に格納されたデータＶｒｉの要素Ｖｒｉ（ｊ，ｋ）との積の総和を、ｉ（１≦ｉ≦３）、ｊ（１≦ｊ≦３）、ｋ（１≦ｋ≦３）に渡って求める。すなわち、この総和は、
ΣΣΣＣｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）×Ｖｒｉ（ｊ，ｋ）
と表される。１番目の総和記号Σはｉに対しての総和を求め、２番目の総和記号Σはｊに対しての総和を求め、３番目の総和記号Σはｋに対しての総和を求める。ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦３）の組それぞれに対して求めた値と記憶装置７０のアレイＤｒの要素Ｄｒ＋３（ｐ，ｑ）との和を改めて要素Ｄｒ＋３（ｐ，ｑ）に格納する。この処理に於いて各々のｉ（ｉ＝１，２、３）に対する積和の算出は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。また、各々のｒ（ｒ＝１，２，３）に対する処理も並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。
【００９８】
次に、ｉ（１≦ｉ≦３）、ｊ（１≦ｊ≦３）、ｋ、ｍ（１≦ｋ，ｍ≦３）に対して、図３に示す数値記憶部４の記憶装置５５のアレイＦｊ＋６ｉ＋３の要素Ｆｊ＋６ｉ＋３（ｋ，ｍ）の数値を、図３に示す読み取り部５を用いて読み取り、記憶装置５８のアレイＶｊｉの要素Ｖｊｉ（ｋ，ｍ）に格納する。
【００９９】
続いて、図２３を参照して説明した処理と同様に、ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦３）の組それぞれに対して、記憶装置５０に格納されたデータＣｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）と、記憶装置５８に格納されたデータＶｒｉ（ｊ，ｋ）との積の総和を、ｉ（１≦ｉ≦３）、ｊ（１≦ｊ≦３）、ｋ（１≦ｋ≦３）に渡って求める。すなわち、この総和は、
ΣΣΣＣｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）×Ｖｒｉ（ｊ，ｋ）
と表される。１番目の総和記号Σはｉに対しての総和を求め、２番目の総和記号Σはｊに対しての総和を求め、３番目の総和記号Σはｋに対しての総和を求める。ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦３）の組それぞれに対して求められた値と、記憶装置７０のアレイＤｒの要素Ｄｒ＋６（ｐ，ｑ）との和を改めて要素Ｄｒ＋６（ｐ，ｑ）に格納する。この処理に於いて各々のｉ（ｉ＝１，２，３）に対する積和の算出は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。また、各々のｒ（ｒ＝１，２，３）に対する処理も並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。
【０１００】
（処理層３０の第３処理）
引き続いて、ｉ（１≦ｉ≦８）、ｊ（１≦ｊ≦３）、ｋ。ｍ（１≦ｋ，ｍ≦４）に対して、図３に示す数値記憶部４の記憶装置３５のアレイＥｊ＋６ｉの要素Ｅｊ＋６ｉ（ｋ，ｍ）の数値を、図３に示す読み取り部５を用いて読み取り、記憶装置４０のアレイＷｊｉの要素Ｗｊｉ（ｋ，ｍ）に格納する。
【０１０１】
そして、図５乃至図７を参照して説明した処理と同様に、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）、ｒ（１≦ｒ≦３）の組それぞれに対して、記憶装置２０に格納されたデータＡｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）と、記憶装置４０に格納されたデータＷｒｉ（ｊ，ｋ）との積の総和を、ｉ（１≦ｉ≦８）、ｊ（１≦ｊ≦４）、ｋ（１≦ｋ≦４）に渡って算出する。すなわち、この総和は、
ΣΣΣＡｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）×Ｗｒｉ（ｊ，ｋ）
と表される。１番目の総和記号Σはｉに対しての総和を求め、２番目の総和記号Σはｊに対しての総和を求め、３番目の総和記号Σはｋに対しての総和を求める。この処理に於いて各々のｉ（ｉ＝１，・・・，８）に対する積和の算出は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。そして、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）、ｒ（１≦ｒ≦３）の組それぞれに対して算出した値に処理層３０のバイアス値Ｂ１ｒ＋６を加え、必要に応じて発火関数処理を施した値を記憶装置５０のアレイＣｒの要素Ｃｒ（ｐ，ｑ）に格納する。なお、これらの処理に於いて各々のｒ（ｒ＝１，２，３）に対する処理は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。この状態で、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）、ｒ（１≦ｒ≦３）に対して、記憶装置Ｃｒの要素Ｃｒ（ｐ，ｑ）には処理層３０の出力の内の深さがｒ＋６の値と同一の値が格納されている。
【０１０２】
（処理層６０の第３処理）
次に、ｉ（１≦ｉ≦３）、ｊ（１≦ｊ≦３）、ｋ，ｍ（１≦ｋ，ｍ≦３）に対して、図３に示す数値記憶部４の記憶装置５５のアレイＦｊｉ＋６の要素Ｆｊｉ＋６（ｋ，ｍ）の数値を、図３に示す読み取り部５を用いて読み取り、記憶装置５８のアレイＶｊｉの要素Ｖｊｉ（ｋ，ｍ）に格納する。
【０１０３】
続いて、図２１を参照して説明した処理と同様に、ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦３）の組それぞれに対して、記憶装置５０に格納されたデータＣｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）と、記憶装置５８に格納されたデータＶｒｉ（ｊ，ｋ）との積の総和を、ｉ（１≦ｉ≦３）、ｊ（１≦ｊ≦３）、ｋ（１≦ｋ≦３）に渡って求める。すなわち、この総和は、
ΣΣΣＣｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）×Ｖｒｉ（ｊ，ｋ）
と表される。１番目の総和記号Σはｉに対しての総和を求め、２番目の総和記号Σはｊに対しての総和を求め、３番目の総和記号Σはｋに対しての総和を求める。そして、ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦３）の組それぞれに対して求めた値と、記憶装置７０に格納されたアレイＤｒの要素Ｄｒ（ｐ，ｑ）との和を改めて要素Ｄｒ（ｐ，ｑ）に格納する。この処理に於いて各々のｉ（ｉ＝１，２，３）に対する積和の算出は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。また、各々のｒ（ｒ＝１，２，３）に対する処理も並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。
【０１０４】
次に、ｉ（１≦ｉ≦３）、ｊ（１≦ｊ≦３）、ｋ，ｍ（１≦ｋ，ｍ≦３）に対して、図３に示す数値記憶部４の記憶装置５５に格納されたアレイＦｊ＋３ｉ＋６の要素Ｆｊ＋３ｉ＋６（ｋ，ｍ）の数値を、図３に示す読み取り部５を用いて読み取り、記憶装置５８のアレイＶｊｉの要素Ｖｊｉ（ｋ，ｍ）に格納する。
【０１０５】
続いて、図２２を参照して説明した処理と同様に、ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦３）の組それぞれに対して、記憶装置５０に格納されたデータＣｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）と、記憶装置５８に格納されたデータＶｒｉ（ｊ，ｋ）との積の総和を、ｉ（１≦ｉ≦３）、ｊ（１≦ｊ≦３）、ｋ（１≦ｋ≦３）に渡って求める。すなわち、この総和は、
ΣΣΣＣｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）×Ｖｒｉ（ｊ，ｋ）
と表される。１番目の総和記号Σはｉに対しての総和を求め、２番目の総和記号Σはｊに対しての総和を求め、３番目の総和記号Σはｋに対しての総和を求める。そして、ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦３）の組それぞれに対して求めた値と、記憶装置７０のアレイＤｒの要素Ｄｒ＋３（ｐ，ｑ）との和を改めて要素Ｄｒ＋３（ｐ，ｑ）に格納する。この処理に於いて各々のｉ（ｉ＝１，２，３）に対する積和の算出は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。また、各々のｒ（ｒ＝１，２，３）に対する処理も並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。
【０１０６】
次に、ｉ（１≦ｉ≦３）、ｊ（１≦ｊ≦３）、ｋ．ｍ（１≦ｋ，ｍ≦３）に対して、図３に示す数値記憶部４の記憶装置５５のアレイＦｊ＋６ｉ＋６の要素Ｆｊ＋６ｉ＋６（ｋ，ｍ）の数値を、図３に示す読み取り部５を用いて読み取り、記憶装置５８のアレイＶｊ＋６ｉ＋６の要素Ｖｊｉ（ｋ，ｍ）に格納する。
【０１０７】
続いて、図２３を参照して説明した処理と同様に、ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦３）の組それぞれに対して、記憶装置５０に格納されたデータＣｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）と、記憶装置５８に格納されたデータＶｒｉ（ｊ，ｋ）との積の総和を、ｉ（１≦ｉ≦３）、ｊ（１≦ｊ≦３）、ｋ（１≦ｋ≦３）に渡って求める。すなわち、この総和は、
ΣΣΣＣｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）×Ｖｒｉ（ｊ，ｋ）
と表される。１番目の総和記号Σはｉに対しての総和を求め、２番目の総和記号Σはｊに対しての総和を求め、３番目の総和記号Σはｋに対しての総和を求める。そして、ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦３）の組それぞれに対して求めた値と、記憶装置７０のアレイＤｒの要素Ｄｒ＋６（ｐ，ｑ）との和を改めて要素Ｄｒ＋６（ｐ，ｑ）に格納する。この処理に於いて各々のｉ（ｉ＝１，２，３）に対する積和の算出は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。また、各々のｒ（ｒ＝１，２，３）に対する処理も並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。
【０１０８】
（処理層３０の第４処理）
引き続いて、ｉ（１≦ｉ≦８）、ｊ（１≦ｊ≦３）、ｋ．ｍ（１≦ｋ，ｍ≦４）に対して、図３に示す数値記憶部４の記憶装置３５のアレイＥｊ＋９ｉの要素Ｅｊ＋９ｉ（ｋ，ｍ）の数値を、図３に示す読み取り部５を用いて読み取り、記憶装置４０のアレイＷｊｉの要素Ｗｊｉ（ｋ，ｍ）に格納する。
【０１０９】
そして、図５乃至図７を参照して説明した処理と同様に、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）、ｒ（１≦ｒ≦３）の組それぞれに対して、記憶装置２０に格納されたデータＡｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）と、記憶装置４０に格納されたデータＷｒｉ（ｊ，ｋ）との積の総和を、ｉ（１≦ｉ≦８）、ｊ（１≦ｊ≦４）、ｋ（１≦ｋ≦４）に渡って算出する。すなわち、この総和は、
ΣΣΣＡｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）×Ｗｒｉ（ｊ，ｋ）
と表される。１番目の総和記号Σはｉに対しての総和を求め、２番目の総和記号Σはｊに対しての総和を求め、３番目の総和記号Σはｋに対しての総和を求める。この処理に於いて各々のｉ（ｉ＝１，・・・，８）に対する積和の算出は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。そして、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）、ｒ（１≦ｒ≦３）の組それぞれに対して算出した値に処理層３０のバイアス値Ｂ１ｒ＋９を加え、必要に応じて発火関数処理を施した値を、記憶装置５０のアレイＣｒの要素Ｃｒ（ｐ，ｑ）に格納する。なお、これらの処理に於いて各々のｒ（ｒ＝１，２，３）に対する処理は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。この状態で、ｐ（１≦ｐ≦８）、ｑ（１≦ｑ≦８）、ｒ（１≦ｒ≦３）の組それぞれに対して、記憶装置５０のアレイＣｒの要素Ｃｒ（ｐ，ｑ）には処理層３０の出力の内の深さがｒ＋９の値と同一の値が格納されている。
【０１１０】
（処理層６０の第４処理）
次に、ｉ（１≦ｉ≦３）、ｊ（１≦ｊ≦３）、ｋ、ｍ（１≦ｋ，ｍ≦３）に対して、図３に示す数値記憶部４の記憶装置５５に格納されたアレイＦｊｉ＋９の要素Ｆｊｉ＋９（ｋ，ｍ）の数値を、図３に示す読み取り部５を用いて読み取り、記憶装置５８のアレイＶｊｉの要素Ｖｊｉ（ｋ，ｍ）に格納する。
【０１１１】
続いて、図２１を参照して説明した処理と同様に、ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦３）の組それぞれに対して、記憶装置５０に格納されたデータＣｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）と、記憶装置５８に格納されたデータＶｒｉ（ｊ，ｋ）との積の総和を、ｉ（１≦ｉ≦３）、ｊ（１≦ｊ≦３）、ｋ（１≦ｋ≦３）に渡って求める。すなわち、この総和は、
ΣΣΣＣｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）×Ｖｒｉ（ｊ，ｋ）
と表される。１番目の総和記号Σはｉに対しての総和を求め、２番目の総和記号Σはｊに対しての総和を求め、３番目の総和記号Σはｋに対しての総和を求める。そして、ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦３）の組それぞれに対して求めた値と、記憶装置７０のアレイＤｒの要素Ｄｒ（ｐ，ｑ）との和を算出する。その後、この和に処理層６０のバイアス値Ｂ２ｒを加え、必要に応じて発火関数処理を施した値を改めて要素Ｄｒ（ｐ，ｑ）に格納する。この処理に於いて各々のｉ（ｉ＝１，２，３）に対する積和の算出は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。また、各々のｒ（ｒ＝１，２，３）に対する処理も並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。
【０１１２】
次に、ｉ（１≦ｉ≦３）、ｊ（１≦ｊ≦３）、ｋ、ｍ（１≦ｋ，ｍ≦３）に対して、図３に示す数値記憶部４の記憶装置５５に格納されたアレイＦｊ＋３ｉ＋９の要素Ｆｊ＋３ｉ＋９（ｋ，ｍ）の数値を、図３に示す読み取り部５を用いて読み取り、記憶装置５８のアレイＶｊｉの要素Ｖｊｉ（ｋ，ｍ）に格納する。
【０１１３】
続いて、図２２を参照して説明した処理と同様に、ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦３）の組それぞれに対して、記憶装置５０に格納されたデータＣｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）と、記憶装置５８に格納されたデータＶｒｉ（ｊ，ｋ）との積の総和を、ｉ（１≦ｉ≦３）、ｊ（１≦ｊ≦３）、ｋ（１≦ｋ≦３）に渡って求める。すなわち、この総和は、
ΣΣΣＣｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）×Ｖｒｉ（ｊ，ｋ）
と表される。１番目の総和記号Σはｉに対しての総和を求め、２番目の総和記号Σはｊに対しての総和を求め、３番目の総和記号Σはｋに対しての総和を求める。そして、ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦３）の組それぞれに対して求めた値と、記憶装置７０に格納されたアレイＤｒの要素Ｄｒ＋３（ｐ，ｑ）との和を算出する。その後、上記和に、処理層６０のバイアス値Ｂ２ｒ＋３を加え、必要に応じて発火関数処理を施した値を改めて要素Ｄｒ＋３（ｐ，ｑ）に格納する。この処理に於いて各々のｉ（ｉ＝１，２，３）に対する積和の算出は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。また、各々のｒ（ｒ＝１，２，３）に対する処理も並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。
【０１１４】
次に、ｉ（１≦ｉ≦３）、ｊ（１≦ｊ≦３）、ｋ，ｍ（１≦ｋ，ｍ≦３）に対して、図３に示す数値記憶部４の記憶装置５５に格納されたアレイＦｊ＋６ｉ＋９の要素Ｆｊ＋６ｉ＋９（ｋ，ｍ）の数値を、図３に示す読み取り部５を用いて読み取り、記憶装置５８のアレイＶｊｉの要素Ｖｊｉ（ｋ，ｍ）に格納する。
【０１１５】
続いて、図２３を参照して説明した処理と同様に、ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦３）に対して、記憶装置５０に格納されたデータＣｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）と、記憶装置５８に格納されたデータＶｒｉ（ｊ，ｋ）との積の総和を、ｉ（１≦ｉ≦３）、ｊ（１≦ｊ≦３）、ｋ（１≦ｋ≦３）に渡って求める。すなわち、この総和は、
ΣΣΣＣｉ（ｊ＋ｐ−１，ｋ＋ｑ−１）×Ｖｒｉ（ｊ，ｋ）
と表される。１番目の総和記号Σはｉに対しての総和を求め、２番目の総和記号Σはｊに対しての総和を求め、３番目の総和記号Σはｋに対しての総和を求める。そして、ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦３）に対して求めた値と、記憶装置７０のアレイＤｒの要素Ｄｒ＋６（ｐ，ｑ）との和を算出する。その後、上記和に処理層６０のバイアス値Ｂ２ｒ＋６を加え、必要に応じて発火関数処理を施した値を改めて要素Ｄｒ＋６（ｐ，ｑ）に格納する。この処理に於いて各々のｉ（ｉ＝１，２，３）に対する積和の算出は並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。また、各々のｒ（ｒ＝１，２，３）に対する処理も並列に行うことも可能であり、その場合には処理時間の短縮すなわち動作の高速化が図られるという利点が得られる。この処理の終了した状態で、ｐ（１≦ｐ≦６）、ｑ（１≦ｑ≦６）、ｒ（１≦ｒ≦９）に対して、アレイＤｒの要素Ｄｒ（ｐ，ｑ）には処理層６０の出力の内の深さがｒの値と同一の値が格納されている。
【０１１６】
本実施形態に於いては、記憶装置５８の核の個数が３としてあるので、第１実施形態に示した場合と比べて記憶装置５８の容量が少なくなっている。それ故、記憶装置の更なる削減が図られるという利点がある。一方、第１実施形態の演算処理装置では処理層６０の出力側の深さ方向の処理を全ての深さに渡って並列に処理することが可能であるので、処理時間の短縮が図られるすなわち動作の高速化が可能となるという利点がある。
【０１１７】
本実施形態に於いては記憶装置５８の核の個数は３としたが３であることに必然性はない。但し、記憶装置５８の核の個数が処理層６０の出力の深さすなわち記憶装置７０のアレイの深さの約数であると、処理に無駄が生じないという利点が得られるので好ましい。
【０１１８】
本実施形態に於いては畳み込み処理のみでプーリング処理には言及していないが、プーリング処理は深さごとに独立に行われるので、処理層３０ないし処理層６０の畳み込み処理に続いてプーリング処理を行っても、同様の効果が得られる。
【０１１９】
本実施形態に於いては、記憶装置４０の核の深さは８としたが、このことに必然性はなく第２実施形態と同様に、記憶装置４０の核の深さが２であるとしても、本実施形態と第２実施形態とに於いて説明した処理を組み合わせることにより処理層３０と処理層６０との処理を実行可能である。そして、仮に記憶装置４０の核の深さを２とした場合は、本実施形態に比べて記憶装置４０の容量が少なくなっており、本実施形態に示した場合と比べて記憶装置５８の容量が少なくなっている。それ故、記憶装置の更なる削減が図られるという利点がある。一方、本実施形態ないし第２実施形態の様にすると処理層３０の入力の深さないし処理層６０の出力の深さ方向の全てに渡って処理を並列に実行することが可能となるので、処理時間の短縮が図られるすなわち動作の高速化が図られるという利点が得られる。
【０１２０】
以上説明したように、第３実施形態によれば、第１実施形態と同様に、記憶装置の容量を削減することのできる演算処理装置を提供することができる。また、記憶装置の容量を削減することができるので、回路面積を縮小することが可能となり、製造コストを抑制することができる。
【０１２１】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これらの実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これらの実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０１２２】
１・・・演算処理装置、２・・・読み取り部、４・・・数値記憶部、５・・・読み取り装置、６・・・演算処理部、８・・・出力部、２０・・・記憶装置、３０・・・処理層、３５・・・記憶装置、４０・・・記憶装置、５０・・・記憶装置、５５・・・記憶装置、５８・・・記憶装置、６０・・・処理層、７０・・・記憶装置、２００・・・外部記憶装置、２０２・・・外部記憶装置、３００・・・外部記憶装置、Ａ１〜Ａ８・・・アレイ、Ｃ１〜Ｃ３・・・アレイ、Ｄ１〜Ｄ９・・・アレイ、Ｅ１〜Ｅ１２・・・アレイ、Ｆ１〜Ｆ９・・・アレイ、Ｖ１〜Ｖ９・・・核、Ｖｉｊ（ｉ＝１，・・・，９、ｊ＝１，２，３）・・・アレイ、Ｗ１〜Ｗ１２・・・核、Ｗｉｊ（ｉ＝１，２，３、ｊ＝１，・・・，８）・・・アレイ
【図１】
2019164520.tif 000003
【図２】
2019164520.tif 000004
【図３】
2019164520.tif 000005
【図４】
2019164520.tif 000006
【図５】
2019164520.tif 000007
【図６】
2019164520.tif 000008
【図７】
2019164520.tif 000009
【図８】
2019164520.tif 000010
【図９】
2019164520.tif 000011
【図１０】
2019164520.tif 000012
【図１１】
2019164520.tif 000013
【図１２】
2019164520.tif 000014
【図１３】
2019164520.tif 000015
【図１４】
2019164520.tif 000016
【図１５】
2019164520.tif 000017
【図１６】
2019164520.tif 000018
【図１７】
2019164520.tif 000019
【図１８】
2019164520.tif 000020
【図１９】
2019164520.tif 000021
【図２０】
2019164520.tif 000022
【図２１】
2019164520.tif 000023
【図２２】
2019164520.tif 000024
【図２３】
2019164520.tif 000025