Font Size: a A A

A CUDA Based Parallel Decoding Algorithm for the Leech Lattice Locality Sensitive Hash Family

Posted on:2013-01-13Degree:M.SType:Thesis
University:University of CincinnatiCandidate:Carraher, Lee AFull Text:PDF
GTID:2458390008466140Subject:Engineering
Abstract/Summary:
Nearest neighbor search is a fundamental requirement of many machine learning algorithms and is essential to fuzzy information retrieval. The utility of efficient database search and construction has broad utility in a variety of computing fields. Applications such as coding theory and compression for electronic communication systems as well as use in artificial intelligence for pattern and object recognition. In this thesis, a particular subset of nearest neighbors is consider, referred to as c-approximate k-nearest neighbors search. This particular variation relaxes the constraints of exact nearest neighbors by introducing a probability of finding the correct nearest neighbor c, which offers considerable advantages to the computational complexity of the search algorithm and the database overhead requirements. Furthermore, it extends the original nearest neighbors algorithm by returning a set of k candidate nearest neighbors, from which expert or exact distance calculations can be considered. Furthermore thesis extends the implementation of c-approximate k-nearest neighbors search so that it is able to utilize the burgeoning GPGPU computing field. The specific form of c-approximate k-nearest neighbors search implemented is based on the locality sensitive hash search from the E2LSH package of Indyk and Andoni [1]. In this paper, the authors utilize the exceptional properties of the Leech Lattice [2], as a subspace quantizer for the locality sensitive hash families. The Leech Lattice is unique in that it provides the closest lattice packing of equal sized spheres in 24 dimensional space. In addition, advances from coding theory provide a very favorable decoding algorithm for finding the nearest lattice center to a query point in euclidean 24 dimensional space [3] [4]. The multilevel construction of the Leech Lattice provides an excellent opportunity for parallelization as it contains the minimization of many independent sub-lattice decodings resulting from the lattices exceptional symmetry among lattices. These decodings are additionally highly floating point computationally intensive, and because of which suggest a favorable implementation on GPGPU architectures such as NVIDIAs CUDA based framework. Furthermore, the overall construction of a locality sensitive hash based, nearest neighbors search algorithm, is able to be parallelized fairly efficiently as the hash decodings are completely independent of one another. The goal of this thesis is to present a CUDA optimized parallel implementation of a bounded distance Leech Lattice decoder [4] for use in query optimized c-approximate k-nearest neighbors using the locality sensitive hash framework of E2LSH. The system will be applied to the approximate image retrieval of SIFT transformed [5] image vectors.;[1] A. Andoni, Nearest Neighbor Search: the Old, the New, and the Impossible. PhD thesis, MASSACHUSETTS INSTITUTE OF TECHNOLOGY, September 2009. [2] J. Leech, "Notes on sphere packings," Canadian Journal of Mathematics, 1967. [3] J. Forney, G. D., "A bounded-distance decoding algorithm for the leech lattice, with generalizations," Information Theory, IEEE Transactions on, vol. 35, pp. 906–909, Jul 1989. [4] O. Amrani and Y. Beery, "Efficient bounded-distance decoding of the hexacode and associated decoders for the leech lattice and the golay code," Communications, IEEE Transactions on, vol. 44, pp. 534–537, May 1996. [5] D. G. Lowe, "Object recognition from local scale-invariant features," in Computer Vision, 1999. The Proceedings of the Seventh IEEE International Conference on, vol. 2, pp. 1150–1157, 1999.
Keywords/Search Tags:Locality sensitive hash, Leech lattice, Algorithm, CUDA, Search, Nearest, IEEE
Related items