发明名称 |
ROTATING DATA FOR NEURAL NETWORK COMPUTATIONS |
摘要 |
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for computing a layer output for a convolutional neural network layer, the method comprising: receiving a plurality of activation inputs; forming a plurality of vector inputs from the plurality of activation inputs, each vector input comprising values from a distinct region within the multi-dimensional matrix; sending the plurality of vector inputs to one or more cells along a first dimension of the systolic array; generating a plurality of rotated kernel structures from each of the plurality of kernel; sending each kernel structure and each rotated kernel structure to one or more cells along a second dimension of the systolic array; causing the systolic array to generate an accumulated output based on the plurality of value inputs and the plurality of kernels; and generating the layer output from the accumulated output. |
申请公布号 |
US2017103318(A1) |
申请公布日期 |
2017.04.13 |
申请号 |
US201615389371 |
申请日期 |
2016.12.22 |
申请人 |
Google Inc. |
发明人 |
Ross Jonathan;Thorson Gregory Michael |
分类号 |
G06N3/08;G06N5/04 |
主分类号 |
G06N3/08 |
代理机构 |
|
代理人 |
|
主权项 |
1. A method for computing a layer output for a convolutional neural network layer from a layer input for the convolutional neural network layer using a two-dimensional systolic array, the convolutional neural network layer having a plurality of kernels, each kernel having a respective matrix structure of weights, the method comprising:
receiving a plurality of activation inputs, the plurality of activation inputs represented as a multi-dimensional matrix; forming a plurality of vector inputs from the plurality of activation inputs, each vector input comprising values from a distinct region within the multi-dimensional matrix; sending the plurality of vector inputs to one or more cells along a first dimension of the systolic array; generating a plurality of rotated kernel structures from each of the plurality of kernels, where generating a particular rotated kernel structure comprises shifting elements in the respective matrix structure for the kernel along one dimension; sending each kernel structure and each rotated kernel structure to one or more cells along a second dimension of the systolic array; causing the systolic array to generate an accumulated output based on the plurality of value inputs and the plurality of kernels; and generating the layer output from the accumulated output. |
地址 |
Mountain View CA US |