ピクセルプロセッサアレイ(PPA)センサーの畳み込みニューラルネットワーク実装を提示します。 PPAハードウェアは、汎用の処理要素のきめ細かい配列で構成され、各要素は、ライトキャプチャ、データストレージ、プログラム実行、および隣接要素との通信が可能です。これにより、画像を外部処理ハードウェアに転送するのではなく、光をキャプチャした時点で画像を直接保存および操作できます。私たちのCNNアプローチは、この配列を処理要素の4x4ブロックに分割し、4x4「ピクセル」あたりのローカルメモリ容量を増やすために、本質的に画像解像度とのトレードオフを行います。この4x4ブロック形式で、画像の加算、減算、ビットシフト画像の並列演算を実装します。これらのコンポーネントを使用して、これらの画像に対して3進重み畳み込みを実行し、そのような畳み込みの結果をコンパクトに保存し、最大プーリングを実行し、結果のサブサンプリングデータを付属のマイクロコントローラーに転送する方法を定式化します。数字認識と簡単な追跡タスクのために3値重みフィルターCNNをトレーニングし、SCAMP5 PPAシステムでこれらのネットワークの推論を示します。この作業は、ニューラルネットワーク処理機能をセンサーの焦点面に直接埋め込むための第一歩です。
We present a convolutional neural network implementation for pixel processor array (PPA) sensors. PPA hardware consists of a fine-grained array of general-purpose processing elements, each capable of light capture, data storage, program execution, and communication with neighboring elements. This allows images to be stored and manipulated directly at the point of light capture, rather than having to transfer images to external processing hardware. Our CNN approach divides this array up into 4x4 blocks of processing elements, essentially trading-off image resolution for increased local memory capacity per 4x4 "pixel". We implement parallel operations for image addition, subtraction and bit-shifting images in this 4x4 block format. Using these components we formulate how to perform ternary weight convolutions upon these images, compactly store results of such convolutions, perform max-pooling, and transfer the resulting sub-sampled data to an attached micro-controller. We train ternary weight filter CNNs for digit recognition and a simple tracking task, and demonstrate inference of these networks upon the SCAMP5 PPA system. This work represents a first step towards embedding neural network processing capability directly onto the focal plane of a sensor.