Maximum inner-product search

From testwiki
Jump to navigation Jump to search

Template:Short description Maximum inner-product search (MIPS) is a search problem, with a corresponding class of search algorithms which attempt to maximise the inner product between a query and the data items to be retrieved. MIPS algorithms are used in a wide variety of big data applications, including recommendation algorithms and machine learning.[1]

Formally, for a database of vectors xi defined over a set of labels S in an inner product space with an inner product , defined on it, MIPS search can be defined as the problem of determining

argmaxiS xi,q

for a given query q.

Although there is an obvious linear-time implementation, it is generally too slow to be used on practical problems. However, efficient algorithms exist to speed up MIPS search.[1][2]

Under the assumption of all vectors in the set having constant norm, MIPS can be viewed as equivalent to a nearest neighbor search (NNS) problem in which maximizing the inner product is equivalent to minimizing the corresponding distance metric in the NNS problem.[3] Like other forms of NNS, MIPS algorithms may be approximate or exact.[4]

MIPS search is used as part of DeepMind's RETRO algorithm.[5]

References

Template:Reflist

See also


Template:Algorithm-stub

  1. 1.0 1.1 Template:Cite arXiv
  2. Steve Mussmann, Stefano Ermon. Learning and Inference via Maximum Inner Product Search. In Proc. 33rd International Conference on Machine Learning (ICML), 2016.
  3. Template:Cite journal
  4. Template:Cite book
  5. Template:Cite web