Product Quantization for Nearest Neighbor search.

Slides:



Advertisements
Presentazioni simili
Memoria Virtuale in Linux
Advertisements

Elementi di complessità
Hash Tables Indirizzamento diretto Tabelle Hash Risoluzioni di collisioni Indirizzamento aperto.
D2I - Tema 3: Data Mining Stato di avanzamento Roma 11/10/2002.
Lezione 5 Domande: Laverage path length di Chord con 2^b identificatori e N=2^b nodi è (giustificare la risposta) Laverage path length di Chord con 2^b.
Clustering Mercoledì, 24 novembre 2004 Giuseppe Manco Readings: Chapter 8, Han and Kamber Chapter 14, Hastie, Tibshirani and Friedman Density-Based Clustering.
Index Land Surface for Efficient kNN Query Gruppo 2 Riccardo Mascia Roberto Saluto Relatore Roberto Saluto Cyrus Shahabi Lu-An TangSonghua Xing.
Voronoi-Based K Nearest Neighbor Search for Spatial Network Databases
ITCG “V. De Franchis” - PON FSE Modulo G/1 l’informatica”
1 Gestione della Memoria Capitolo Introduzione alla gestione della memoria 4.2 Swapping 4.3 Memoria virtuale 4.4 Implementazione 4.5 Algoritmi di.
Voronoi-Based K Nearest Neighbor Search for Spatial Network Databases1 GRUPPO 13: Relatore: Mengoli Dario Mengoli Dario Rovatti Fabrizio Tassoni Davide.
© 2015 Giorgio Porcu - Aggiornamennto 01/12/2015 I STITUTO T ECNICO SECONDO BIENNIO T ECNOLOGIE E P ROGETTAZIONE Rappresentazione dell’ Informazione Sistemi.
I DONEITÀ DI C ONOSCENZE E C OMPETENZE I NFORMATICHE ( A – D ) Analisi di Simulazione Prendere decisioni significa valutare ipotesi alternative Spesso.
Giuditta Cantoni, 4 E S.I.A I DATABASE. Definizione databese In informatica, il termine database, banca dati o base di dati (a volte abbreviato con il.
Corso di Alta formazione in TL&OS Modulo 1.3 Reti e Servizi - lezione 1 Modulo 1.3 Reti e servizi 1. Introduzione al Networking Connettere il PC in rete;
Huffman Canonico: approfondimento. Come abbiamo visto, Huffman canonico ci permette di ottenere una decompressione più veloce e con un uso più efficiente.
PRIMI CONCETTI ESEMPI INTRODUTTIVI DEFINIZIONI INTRODUZIONE ALLE FUNZIONI.
Sociologia dei Consumi Prof.ssa Maura Franchi AA Le abitudini: come euristiche Come possono essere utilizzate per l’analisi del consumatore?
Elaborazione delle Immagini Operatori Puntuali Luigi Cinque
NUMERI RELATIVI I numeri relativi comprendono i numeri positivi, negativi e lo 0 Esempio: +10, -5, +3, 0, -2 I numeri relativi si possono trovare all’interno.
PGDay 2009 FSGateway Ing. Torello Querci Resp. Architetture SW - Negens S.r.l. 4 Dicembre 2009, Pisa.
.  I tipi di dati non primitivi sono gli array, le struct e le union.  Gli array sono degli aggregati di variabili dello stesso tipo.  La dichiarazione.
Il modello logico Il modello logico.
messi a disposizione delle scuole da parte dell’INVALSI”
Il Sistema Operativo Gestione dei Processi
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
La rappresentazione delle informazioni
Branch and Bound Lezione n°19 Prof.ssa Rossella Petreschi
MASSIMO COMUNE DENOMINATORE (M.C.D)
Branch and Bound Lezione n°14 Prof.ssa Rossella Petreschi
Dal problema al processo risolutivo
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
La rotazione delle galassie e l'effetto Doppler
Dal problema al processo risolutivo
File hash.
APPUNTI DI STATISTICA INFERENZIALE
Organizzazione fisica
Algoritmi Avanzati a.a.2011/2012 Prof.ssa Rossella Petreschi
Accenni di analisi monovariata e bivariata
MAPPA GRUPPO BRAIN DAMAGE “ASPETTI POSITIVI” “DA MIGLIORARE”
SUBNETTING E SUPERNETTING
Corso Misure Meccaniche e Termiche 1 Esercitazione in Classe:
Domanda 1 A cosa corrisponde in notazione decimale il numero binario positivo senza segno ) 32 2) 48 3) 46 4) 3 5) 36 September 18.
Rapporti e proporzioni
Rappresentazione dei Numeri
I numeri relativi DEFINIZIONE. Si dicono numeri relativi tutti i numeri interi, razionali e irrazionali dotati di segno (positivo o negativo). ESEMPI Numeri.
Confronto tra diversi soggetti:
Allievi: ____________________
32 = 9 x2 = 9 x = 3 32 = 9 √9 = 3 L’estrazione di radice
Scheduling in Linux (Kernel 2.4 e 2.6)
Structured Query Language
Parte III – Dimensionamento rete di distribuzione
Corsi di Laurea in Biotecnologie
Process synchronization
* 07/16/96 Sez. 2: Ordinamento La consultazione di banche dati è sempre più cruciale in tutte le applicazioni dell’Informatica. Se vogliamo consultare.
Appunti Fonte: M. Addomine D. Pons - Informatica - Zanichelli
Variazione percentuale di una grandezza
Mettere i rilevamenti del bersaglio al minuto 00 e al minuto 06
monodimensionali: Vettori bidimensionali: Matrici
Economia politica Lezione 17
Grafi e problem solving
Reti Combinatorie: sintesi
Organizzazione Aziendale
Relazione tra due insiemi:
Economia dei mercati finanziari
Docente: Sabato Bufano
Algoritmi.
ALGORITMO E’ una successione finita di passi che consente di risolvere tutti i problemi di una classe e di determinare il risultato. Caratteristiche: Finito.
Arantxa De La Hoz Codice Matricola:
Transcript della presentazione:

Product Quantization for Nearest Neighbor search

Introduzione La ricerca Nearest Neighbor (NN) è fondamentale per l’analisi e l’elaborazione dei dati su larga scala, in particolare:  per l’analisi di contenuti multimediali (alta dimensionalità)  recupero di immagini in base al contenuto (data mining multimediale), dove i dati sono rappresentati da vettori multidimensionali Questo rende la ricerca NN su larga scala di dati ad alta dimensionalità molto onerosa dal momento che gli archivi sono limitati, così come lo sono le risorse computazionali Invece di realizzare l’esatto algoritmo NN, la ricerca è orientata ad approssimare l’algoritmo NN con il cosiddetto algoritmo di ricerca Approximate Nearest Neighbor (ANN)

Approximate Nearest Neighbors è Necessario 1 milione di immagini, 1000 descrittori per immagine  1 miliardo di distanze per descrittore locale  distanze in totale  Più di 1 ora per eseguire la query Per migliorare la scalabilità si utilizza  la ricerca Approximate Nearest Neighbor (ANN) Tre criteri di performance per ANN  qualità della ricerca  velocità  uso della memoria

Ricerca Approximate Nearest Neighbors (ANN) Tre criteri di performance per ANN  qualità della ricerca  velocità  uso della memoria La maggior parte degli algoritmi ottimizzano principalmente i due primi criteri: LSH, FLANN Locality Sensitive Hashing: buone proprietà teoriche  consumo di memoria: 10 tabelle hash significa almeno 40 byte per vettore  nessun adattamento dei dati FLANN[Muja and Lowe, 2009]  eccellente compromesso accuratezza/velocità  ha bisogno di molta memoria

Ricerca con quantization [Jégou et al., 2011] Ogni vettore di database è quantizzato con dove è il product quantizer è il vettore di query Se stimiamo la distanza da Allora possiamo dire che cioè, l’errore della distanza al quadrato è statisticamente limitato dall’errore di quantizzazione Per migliorare la scalabilità si utilizza  la ricerca Approximate Nearest Neighbor (ANN) Assumiamo di quantizzare Tre criteri di performance per ANN  qualità della ricerca  velocità  uso della memoria

Product Quantizer Il vettore è diviso in m subvector: Subvector sono quantizzati separatamente dai quantizzatori dove ciascun è appreso dall’algoritmo k-means con un numero limitato di centroidi Esempio:, è diviso in subvector di dimensione 16  ciascun subvector è quantizzato con centroidi  8 bit  lunghezza codebook: bit

Asymmetric Distance Computation (ADC) Calcolare la distanza approssimata nel dominio compresso Per calcolare la distanza tra la query e i molti codici  calcolare per ciascun subvector e tutti i possibili centroidi memorizzati in look-up table costi fissi per quantizzazione  per ciascun codice di database: sommare le distanze Ciascun codice 8x8=64 bit richiede soltanto m=8 somme per distanza IVFADC: combinazione con un inverted file per evitare la ricerca esaustiva

IVFADC: Combinazione con un Inverted File System Algoritmo di Indexing è il vettore di database 1) quantizzare con ; 2) calcolare il residuo ; 3) quantizzare con ; 4) aggiungere una nuova entry alla lista invertita corrispondente a. La list entry contiene l’id del vettore e il code (indici del product quantizer).

IVFADC: Combinazione con un Inverted File System Algoritmo di Searching del nearest neighbor(s) è la query 1) quantizzare ai suoi nearest neighbors nel codebook ; 2) calcolare la distanza per ciascun subquantizer e ciascuno dei suoi centroidi 3) calcolare la distanza tra e tutti i vettori indici della lista invertita. Si utilizzano le distanze subvector-to-centroid calcolate nel passo precedente; 4) selezionare i nearest neighbors di in base alle distanze stimate.

DATASET Eseguiamo i nostri esperimenti su due dataset, ANN_SIFT1M e ANN_SIFT10K. Abbiamo tre sottoinsiemi di vettori per dataset: learning; database; query.

ESPERIMENTI

La tabella seguente mostra i risultati ottenuti con codice di lunghezza 64 bit relativo al database SIFTsmall:  Il metodo PQ si comporta sempre meglio di SH, sia in termini di sia per quanto riguarda il time cost.  Il costo del passo extra di quantizzazione richiesto da IVFPQ appare chiaramente quando il database è di piccole dimensioni.

ESPERIMENTI La seguente tabella riassume i risultati di SIFTsmall con diverse lunghezze di codice:  Tutti i metodi con codici a 64 bit si comportano meglio in termini di rispetto ai codici a 16 e 32 bit.  Il metodo PQ a 64 bit, per database di piccole dimensioni, è più veloce rispetto a SH 64 bit e IVFADC 64 bit.

ESPERIMENTI La seguente tabella mostra i risultati con codice di lunghezza 64 bit relativamente al database SIFT1M:  Per database di grosse dimensioni, PQ 64 bit si comporta meglio in termini di rispetto a SH 64 bit.  La maggiore qualità di PQ rispetto a SH ha però un costo, infatti PQ è molto più lento di SH (25%).

Comparazione con i risultati riportati dal paper di Jégou