2016-07-15 20 views
1

In Product Quantization for Nearest Neighbor Search, wenn es zu Abschnitt IV.A kommt, sagt es, dass sie einen Grobquantisierer auch verwenden werden (was sie wie ich es fühle, ist nur ein wirklich kleinerer Produktquantisierer, kleinerer w.r.t. k, die Zahl der Zentroide).Warum brauchen wir einen Grobquantisierer?

Ich verstehe nicht wirklich, warum dies die Suchprozedur hilft und die Ursache könnte sein, dass ich denke, ich bekomme nicht die Art, wie sie es verwenden. Irgendwelche IDs bitte?

+0

Hmm, warum wird das bitte abgelehnt? Kann ich etwas machen, um die Frage zu verbessern? – gsamaras

Antwort

2

Wie in der nicht erschöpfenden SEARCH Abschnitt erwähnt, mit Produkt

Ungefähre nächste Nachbarn Suche Quantisierer schnell und deutlich reduziert die Speicheranforderungen für die Deskriptoren zu speichern.

Dennoch ist die Suche erschöpfend.

Der Grobquantisierer dient zur nicht erschöpfenden Suche. Es ruft zuerst einen Kandidatensatz ab und sucht dann innerhalb des Kandidatensatzes für die nächsten Nachbarn basierend auf PQ.

Also IMO hängt die Leistung weitgehend von der Leistung des Grobquantisierers ab. Wenn der Kandidatensatz an erster Stelle nicht die wahren nächsten Nachbarn enthält, können wir sie auch nicht in dem nachfolgenden PQ-Schritt erhalten.

Und afaik das grobe Quantisierer-Ding ist einer der grundlegenden Algorithmen für ANN, es muss nicht zusammen mit PQ verwendet werden.

+0

Hmm, also der grobe Quantisierer zeigt uns auf die Liste (sagen wir "w = 1"), die wir suchen sollten. Aber ich bin immer noch verwirrt, was sind grobe Quantisierung an erster Stelle? Es mischt die beiden Quantisierer und ich bin verwirrt! – gsamaras

+0

@gsamaras ja. Es ist wie eine Indexierungsmethode, Punkte innerhalb einer Zelle teilen denselben Index, so dass nur über die Punkte desselben Indexes gesucht wird, um eine erschöpfende Suche zu verhindern. Der Grobquantisierer wird zum Abrufen eines Kandidatensatzes verwendet, der PQ dient zum Beschleunigen der Sortierung auf Kosten der Genauigkeit. – dontloo

+0

OK, also wir grob die gesamte Datenbank Y (d. H. Jeder Vektor y in Y)? – gsamaras