US 11,989,553 B2
Technologies for performing sparse lifting and procrustean orthogonal sparse hashing using column read-enabled memory
Mariano Tepper, Santa Clara, CA (US); Dipanjan Sengupta, Hillsboro, OR (US); Sourabh Dongaonkar, Santa Clara, CA (US); Chetan Chauhan, Folsom, CA (US); Jawad Khan, Portland, OR (US); Theodore Willke, Portland, OR (US); and Richard Coulson, Portland, OR (US)
Assigned to Intel Corporation, Santa Clara, CA (US)
Filed by Intel Corporation, Santa Clara, CA (US)
Filed on May 6, 2020, as Appl. No. 16/867,948.
Prior Publication US 2020/0264874 A1, Aug. 20, 2020
Int. Cl. G06F 16/23 (2019.01); G06F 7/58 (2006.01); G06F 9/30 (2018.01); G06F 16/13 (2019.01); G06F 16/22 (2019.01); G06F 16/2455 (2019.01); G06F 16/9535 (2019.01); G06F 16/9538 (2019.01); H01L 27/06 (2006.01)
CPC G06F 9/3001 (2013.01) [G06F 7/58 (2013.01); G06F 9/30036 (2013.01); G06F 16/137 (2019.01); G06F 16/2255 (2019.01); H01L 27/0688 (2013.01)] 17 Claims
OG exemplary drawing
 
1. A device comprising:
a memory that is column addressable;
a processor comprising circuitry connected to the memory, wherein the circuitry is to:
add a set of input data vectors to the memory as a set of binary dimensionally expanded vectors, including multiplying each input data vector with a projection matrix, wherein multiplying each input data vector with a projection matrix comprises operations to:
normalize input data from the set of input data vectors to add invariance to one or more specific deformations;
project the normalized input data to a different dimensional space to form a dimensionally expanded projection matrix;
binarize the dimensionally expanded projection matrix to produce a binary dimensionally expanded projection matrix corresponding with a binary dimensionally expanded hash code;
adapt a binary sparse projection matrix via procrustean orthogonal sparse hashing, the procrustean orthogonal sparse hashing comprising operations to: multiply each input data vector with a projection matrix having values optimized for the input data in the set of input data vectors by alternatingly iterating between optimizing the binary dimensionally expanded hash code and optimizing the binary dimensionally expanded projection matrix until the binary dimensionally expanded hash code and the binary dimensionally expanded projection matrix have converged to corresponding target values, wherein the procrustean orthogonal sparse hashing bypasses usage of random values in the binary sparse projection matrix during iterative computation of the binary dimensionally expanded hash code;
produce a search hash code from a search data vector, including multiplying the search data vector with the projection matrix; and
determine a Hamming distance between the search hash code and each of the binary dimensionally expanded vectors.