US 11,868,864 B2
Implementing neural networks in fixed point arithmetic computing systems
William John Gulland, Novato, CA (US)
Assigned to Google LLC, Mountain View, CA (US)
Filed by Google LLC, Mountain View, CA (US)
Filed on Mar. 26, 2020, as Appl. No. 16/830,922.
Application 16/830,922 is a continuation of application No. 15/432,842, filed on Feb. 14, 2017, granted, now 10,650,303.
Prior Publication US 2020/0226445 A1, Jul. 16, 2020
Int. Cl. G06N 3/04 (2023.01); G06F 7/483 (2006.01); G06N 3/063 (2023.01); G06F 5/01 (2006.01); G06N 3/08 (2023.01)
CPC G06N 3/04 (2013.01) [G06F 5/012 (2013.01); G06F 7/483 (2013.01); G06N 3/063 (2013.01); G06N 3/08 (2013.01); G06F 2207/3824 (2013.01); G06F 2207/4824 (2013.01)] 32 Claims
OG exemplary drawing
 
9. A system comprising one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:
receiving a request to implement a neural network on a processing system that performs neural network computations using fixed point arithmetic,
the neural network comprising a plurality of layers,
at least one layer having a plurality of nodes, and
at least one node of the at least one layer having a set of floating point weight values;
for the at least one node of the at least one layer:
determining a scaling value for the at least one node from the set of floating point weight values for the at least one node;
converting each of the set of floating point weight values of the at least one node into a fixed point weight value using the scaling value for the at least one node to generate a set of fixed point weight values for the at least one node; and
updating the neural network by replacing the set of floating point weight values for the at least one node with the set of fixed point weight values for the at least one node; and
processing a network input using the updated neural network with the set of fixed point weight values to generate a network output.