지역감응 해싱

Locality-sensitive hashing

컴퓨터 공학에서, 지역감응 해싱(LSH)은 유사한 입력 항목을 높은 확률의 동일한 "버킷"으로 해시하는 알고리즘 기법이다.[1](버킷의 수는 가능한 입력 항목의 우주보다 훨씬 작다.)[1]유사한 항목이 동일한 버킷에 포함되기 때문에 이 기법은 데이터 클러스터링과 가장 가까운 인접 검색에 사용될 수 있다.해시 충돌이 최소화되지 않고 극대화된다는 점에서 기존 해싱 기법과는 다르다.또는, 이 기법은 고차원 데이터의 차원성을 줄이는 방법으로 볼 수 있다; 고차원 입력 항목은 항목 간의 상대적 거리를 유지하면서 저차원 버전으로 축소될 수 있다.

해싱 기반 근사치 인접 검색 알고리즘은 일반적으로 해싱 방법의 두 가지 주요 범주 중 하나를 사용한다. 해싱 방법은 로컬리티 보존 해싱(LSH)과 같은 데이터 독립적 방법 또는 데이터 의존적 방법(예: LPH)이다.[2][3]

정의들

한 LSH family[1][4][5]F{\displaystyle{{F\mathcal}}}M)(M, d){\displaystyle{{M\mathcal}미터 법 우주}=(M,d)}, 문턱 R>0{\displaystyle R>0}, 근사치 인자 c1{\displaystyle c> 1}, 확률 P1{\displaystyle P_{1}}와 P2정의된다. {\displaystyle P_. This family is a set of functions that map elements of the metric space to buckets . An LSH family must satisfy the following conditions for any two points and any hash 함수 는)F {\ {\mathcal 에서 임의로 선택됨

  • ( ,) R ( )= h () 즉, pq)가 1{\
  • d( , ) R{\ d cR 2 확률 최대 P {\

> 가족이 흥미롭다 그런 가족 {\\displaystyle {\라고 한다.

H가 확률 분포 D와 함께 기능을 함수 h∈ H{\displaystyleh\in H}선택에 결합된 해시 함수의 Alternatively[6]는 유사점 기능 ϕ 가진 항목이 U을 지닌 우주에 관해서:U×U→[0,1]{\displaystyle \phi \colon U\times U\to[0,1]}로 정의한 LSH 제도는 가족입니다.교류D에 대한 코딩은 P [ () ( ( )= h( ) (, ) = (, ) )]]의 속성을 만족시킨다의 모든 a, 에 대한

지역성 보존 해싱

지역성 보존 해시는 미터법 공간 =( , d) 의 점을 스칼라 값에 매핑하는 해시함수 f이다.

어떤 3점 , , 에 대하여

즉, 이들은 입력값 사이의 상대적 거리가 출력 해시 값 사이의 상대적 거리에 보존되는 해시함수로서, 서로 더 가까운 입력값은 서로 더 가까운 출력 해시 값을 산출하게 된다.

인접 입력 간에 랜덤 출력 차이가 나도록 설계된 암호 해시함수와 체크섬과는 대조적이다.

메모리 경합네트워크 혼잡을 줄이기 위해 범용 해싱을 사용하는 병렬 RAM(Random-Access Machine) 알고리즘 구현에서 데이터 파이프라이닝을 용이하게 하는 방법으로 첫 번째 로컬리티 보존 해시함수 제품군이 고안되었다.[7][8]

해시를 보존하는 지역성은 공간을 채우는 곡선과 관련이 있다.[how?]

증폭

Given a -sensitive family , we can construct new families by either the AND-construction or OR-construction of .[1]

AND-구성을 생성하기 위해 해시함수 g 패밀리 G 을(를) 정의하고 서 각 함수 g는 에서 생성된다 그런 다음 해시함수에 대해 그렇게 말한다., if and only if all for . Since the members of are independently chosen for any p ) 스타일},p_ -민감한 패밀리.

OR 구성을 생성하기 위해 해시함수 g 패밀리 G 을(를) 정의하며 여기서 각 함수 g는 에서 생성된다 다음 G에 대해 이렇게 말한다. {g ( = ( y ) {\ 값이 하나 이상일 경우에만 Since the members of are independently chosen for any , is a -민감한 패밀리.

적용들

LSH는 다음과 같은 몇 가지 문제 영역에 적용되었다.

  • 컴퓨터 보안[17]

방법들

해밍 거리에 대한 비트 샘플링

LSH 패밀리를 구성하는 가장 쉬운 방법 중 하나는 비트 샘플링이다.[5]This approach works for the Hamming distance over d-dimensional vectors . Here, the family of hash functions is simply the family of all the projections of points on one of the coordinates, i.e., , where is the th coordinate of . A random function 은(는) 입력 지점에서 무작위 비트를 선택하기만 하면 된다. 패밀리는 1= - R/ d d P = - / }=1-cR 매개 변수를 가지고 있다[clarification needed]

최소 독립 순열

Suppose U is composed of subsets of some ground set of enumerable items S and the similarity function of interest is the Jaccard index J. If π is a permutation on the indices of S, for let . Each possible choice of πS의 요소에 입력 세트를 매핑하는 단일 해시 함수 h를 정의한다.

함수 패밀리 H를 모든 그러한 함수의 집합으로 정의하고 D를 균일한 분포로 한다.Given two sets the event that corresponds exactly to the event that the minimizer of π over lies inside . As h was chosen uniformly at random, ( , B) ( 은(는) 자카드 색인에 대한 LSH 체계를 정의한다.

n 요소의 대칭 그룹은 n! 크기를 가지기 때문에 전체 대칭 그룹에서 실제로 랜덤 순열을 선택하는 것은 적당한 크기의 n에도 적합하지 않다.이러한 사실 때문에, 도메인의 각 요소가 임의로 선택한 π하에서 최소가 될 확률은 동일한 순열 패밀리인 "min-wise 독립적"인 순열 패밀리를 찾는 중요한 연구가 있었다.최소의 순열 독립적 계열이 적어도 l ,,, } e - e - (n ) n-o[18]n)}의 크기이며, 이 구속은 엄격한 것으로 확인되었다.[19]

실제 적용하기에는 Min-wise 독립가족이 너무 크기 때문에, Min-wise 독립성에 대한 두 가지 변형 개념, 즉 제한된 Min-wise 독립가족과 대략적인 Min-wise 독립가족이 도입된다.제한된 최소값 독립성은 최소값에서 특정 세트의 카디널리티로 제한된 최소값 독립 재산이다.[20]대략적인 최소 독립성은 재산과 기껏해야 고정된 ε에 의해 다르다.[21]

오픈 소스 메서드

닐심사 해시

닐심사안티스팸 작업에 사용되는 지역성 민감 해싱 알고리즘이다.[22]닐심사의 목표는 전자 메일 메시지의 해시 다이제스트를 생성하여 두 개의 유사한 메시지의 다이제스트가 서로 유사하도록 하는 것이다.이 논문은 닐심사가 다음과 같은 세 가지 요건을 충족시킬 것을 제안한다.

  1. 각 메시지를 식별하는 요약은 자동으로 생성될 수 있는 변경에 따라 크게 달라지지 않아야 한다.
  2. 인코딩은 의도적인 공격에 대해 견고해야 한다.
  3. 인코딩은 잘못된 긍정의 극히 낮은 위험을 지원해야 한다.

TLSH

TLSH는 다양한 보안 및 디지털 포렌식 애플리케이션을 위해 설계된 로컬리티 민감 해싱 알고리즘이다.[23]TLSH의 목적은 다이제스트 사이의 거리가 낮으면 해당 메시지가 비슷할 가능성이 있음을 나타내는 메시지 해시 다이제스트를 생성하는 것이다.

다양한 파일 형식에 대한 논문에서 수행된 시험은 TLSH, Ss딥 및 Sdhash와 같은 다른 유사성 다이제스트 체계와 비교할 때 Nilsimsa 해시가 거짓 양성률이 현저히 높은 것으로 확인되었다.

TLSH의 구현은 오픈 소스 소프트웨어로서 이용할 수 있다.[24]

랜덤 투영법

Sketch of 1-theta vs. cos(theta)
작은 각도(직교와 너무 가깝지 않음)의 경우 1 - (는) cos (){\\cos )}에 상당히 근사하다.

모세 차리카르[6] 의한 LSH의 무작위 투영법은 심해시(Arccos라고도[25] 함)라고 불리기도 한다.이 기법의 기본 개념은 처음부터 무작위 하이퍼플레인(정상 단위 벡터 r로 정의)을 선택하고 하이퍼플레인(hyperplane)을 사용하여 입력 벡터를 해시하는 것이다.

입력 벡터 vr에 의해 정의된 하이퍼플레인에서 ()= s ) 을(를) 허용한다즉, h()=± 이(가) 하이퍼플레인 v의 어느 쪽이 눕느냐에 따라 달라진다.

각각의 가능한 r 선택은 단일 함수를 정의한다.H를 그러한 모든 함수의 집합으로 하고 D를 다시 한번 균일한 분포로 한다.It is not difficult to prove that, for two vectors , , where is the angle between u and v. 은(는) cos( 과(와) 밀접하게 관련되어 있다

이 경우 해싱은 단 하나의 비트만 생성한다.두 벡터의 비트는 그들 사이의 각도의 코사인에 비례하는 확률과 일치한다.

안정분포

해시함수 h , ( ): → N },b는 d차원 벡터 vector{\) 정수 집합에 매핑한다.패밀리의 각 해시함수는 a {\ \및 b {\ (를) 선택하여 인덱싱되며, (는 안정적인 분포에서 독립적으로 선택된 항목과 b {\d차원 벡터가 된다.범위[0,r]For a fixed the hash function is given by .

해시함수에 대한 다른 구성방법은 데이터에 더 잘 맞도록 제안되었다.[27] 특히 k-평균 해시함수는 투영기준 해시함수보다 실전에 더 좋지만 이론적 보장이 없다.

의미 해싱

의미 해싱은 입력 항목을 보다 가까운 입력이 더 높은 의미 유사성을 갖도록 어드레싱에 매핑하려는 기법이다.[28]해시코드는 인공신경망이나 그래픽 모델의 훈련을 통해 발견된다.[citation needed]

가장 가까운 인접 검색에 대한 LSH 알고리즘

LSH의 주요 응용 프로그램 중 하나는 효율적인 근접한 근접한 이웃 검색 알고리즘을 위한 방법을 제공하는 것이다.LSH 계열 을(를) 고려하십시오 알고리즘에는 두 가지 주요 매개변수인 폭 매개변수 k와 해시 테이블 수 L이 있다.

In the first step, we define a new family of hash functions g, where each function g is obtained by concatenating k functions from , i.e., 다시 말하면 에서 무작위로 선택한 해시함수 k를 연결함으로써 랜덤 해시함수 g를 얻는 것이다 그런 다음 알고리즘은 L 해시 테이블을 각각 랜덤함수 g에 대응한다.

사전 처리 단계에서 우리는 데이터 세트 S의 모든 n d-차원 점을 각 L 해시 테이블로 해시한다.결과 해시 테이블에는 0이 아닌 항목이 n개뿐이라는 점에서 각 해시 테이블당 사용되는 메모리 양을 표준 해시 함수를 사용하여 로 줄일 수 있다.

쿼리 포인트 q가 주어진 알고리즘은 L 해시 함수 g에 대해 반복된다.고려된 각 g에 대해, q와 동일한 버킷으로 해시된 데이터 포인트를 검색한다.q에서 거리 내의 점이 발견되는 즉시 프로세스가 중지된다.

매개변수 kL에 따라 알고리즘에는 다음과 같은 성능 보증이 있다.

  • 사전 처리 시간: t) 여기서 t는 입력 지점 p에서 F {\을(를) 평가하기 위한 시간;
  • 공간: ( L) 및 데이터 지점 저장을 위한 공간.
  • 쿼리 시간: L t+ )
  • 알고리즘은 1-(- P k)L {\})^{{kk}}}{{displaystystyle) q에서 거리 내에 점을 찾는 데 성공한다.;

For a fixed approximation ratio and probabilities and , one can set and , where .그 후 다음과 같은 성과보증을 받는다.

  • 처리 시간: O( + 1- 1 t)
  • 공간: + - 1) 그리고 데이터 지점 저장 공간.
  • 쿼리 시간: ( - 1( + )}^{-1


개선사항

t가 크면 부터 해싱 시간을 재사용할 수 있다이것은 에 의해 보여졌고 그리고 그것은 주어졌다.

  • 쿼리 시간: ( 2 ( 1/ )/ + (+ / P ) O1}}/1}+n1}+n;
  • 공간: ( + / P ( / P )/ )}(1

인자 / 스타일}가 매우 클 수 있는 경우도 있다.예를 들어, 가장 유사한 이웃도 질의와 상당히 낮은 Jaccard 유사성 데이터를 가지고 있는 Jaccard 유사성 데이터를 예로 들 수 있다.이 그림에서는 조회 시간을 / 1 -로 단축하는 방법과 유사하게 공간 사용량을 보여 주었다.

참고 항목

참조

  1. ^ a b c d Rajaraman, A.; Ullman, J. (2010). "Mining of Massive Datasets, Ch. 3".
  2. ^ Zhao, Kang; Lu, Hongtao; Mei, Jincheng (2014). Locality Preserving Hashing. AAAI Conference on Artificial Intelligence. Vol. 28. pp. 2874–2880.
  3. ^ Tsai, Yi-Hsuan; Yang, Ming-Hsuan (October 2014). "Locality preserving hashing". 2014 IEEE International Conference on Image Processing (ICIP). pp. 2988–2992. doi:10.1109/ICIP.2014.7025604. ISBN 978-1-4799-5751-4. ISSN 1522-4880. S2CID 8024458.
  4. ^ Gionis, A.; Indyk, P.; Motwani, R. (1999). "Similarity Search in High Dimensions via Hashing". Proceedings of the 25th Very Large Database (VLDB) Conference.
  5. ^ a b Indyk, Piotr.; Motwani, Rajeev. (1998). "Approximate Nearest Neighbors: Towards Removing the Curse of Dimensionality.". Proceedings of 30th Symposium on Theory of Computing.
  6. ^ a b Charikar, Moses S. (2002). "Similarity Estimation Techniques from Rounding Algorithms". Proceedings of the 34th Annual ACM Symposium on Theory of Computing. pp. 380–388. CiteSeerX 10.1.1.147.4064. doi:10.1145/509907.509965.
  7. ^ Chin, Andrew (1991). Complexity Issues in General Purpose Parallel Computing (DPhil). University of Oxford. pp. 87–95.
  8. ^ Chin, Andrew (1994). "Locality-Preserving Hash Functions for General Purpose Parallel Computation" (PDF). Algorithmica. 12 (2–3): 170–181. doi:10.1007/BF01185209.
  9. ^ Das, Abhinandan S.; et al. (2007), "Google news personalization: scalable online collaborative filtering", Proceedings of the 16th International Conference on World Wide Web: 271, doi:10.1145/1242572.1242610, ISBN 9781595936547, S2CID 207163129.
  10. ^ Koga, Hisashi; Tetsuo Ishibashi; Toshinori Watanabe (2007), "Fast agglomerative hierarchical clustering algorithm using Locality-Sensitive Hashing", Knowledge and Information Systems, 12 (1): 25–53, doi:10.1007/s10115-006-0027-5, S2CID 4613827.
  11. ^ Cochez, Michael; Mou, Hao (2015), "Twister Tries: Approximate Hierarchical Agglomerative Clustering for Average Distance in Linear Time" (PDF), Proceeding SIGMOD '15 Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data: 505–517, doi:10.1145/2723372.2751521, ISBN 9781450327589, S2CID 14414777.
  12. ^ Brinza, Dumitru; et al. (2010), "RAPID detection of gene–gene interactions in genome-wide association studies", Bioinformatics, 26 (22): 2856–2862, doi:10.1093/bioinformatics/btq529, PMC 3493125, PMID 20871107
  13. ^ dejavu - Audio fingerprinting and recognition in Python, 2018-12-19
  14. ^ Aluç, Güneş; Özsu, M. Tamer; Daudjee, Khuzaima (2018), "Building self-clustering RDF databases using Tunable-LSH", The VLDB Journal, 28 (2): 173–195, doi:10.1007/s00778-018-0530-9, S2CID 53695535
  15. ^ Chen, Beidi; Medini, Tharun; Farwell, James; Gobriel, Sameh; Tai, Charlie; Shrivastava, Anshumali (2020-02-29). "SLIDE : In Defense of Smart Algorithms over Hardware Acceleration for Large-Scale Deep Learning Systems". arXiv:1903.03129 [cs.DC].
  16. ^ Chen, Beidi; Liu, Zichang; Peng, Binghui; Xu, Zhaozhuo; Li, Jonathan Lingjie; Dao, Tri; Song, Zhao; Shrivastava, Anshumali; Re, Christopher (2021), "MONGOOSE: A Learnable LSH Framework for Efficient Neural Network Training", International Conference on Learning Representation
  17. ^ Oliver, Jonathan; Cheng, Chun; Chen, Yanggui (2013), "TLSH - a locality sensitive hash", 4th Cybercrime and Trustworthy Computing Workshop, doi:10.1109/CTC.2013.9, ISBN 978-1-4799-3076-0
  18. ^ Broder, A.Z.; Charikar, M.; Frieze, A.M.; Mitzenmacher, M. (1998). "Min-wise independent permutations". Proceedings of the Thirtieth Annual ACM Symposium on Theory of Computing. pp. 327–336. CiteSeerX 10.1.1.409.9220. doi:10.1145/276698.276781. Retrieved 2007-11-14.
  19. ^ Takei, Y.; Itoh, T.; Shinozaki, T. "An optimal construction of exactly min-wise independent permutations". Technical Report COMP98-62, IEICE, 1998.
  20. ^ Matoušek, J.; Stojakovic, M. (2002). "On Restricted Min-Wise Independence of Permutations". Preprint. Retrieved 2007-11-14.
  21. ^ Saks, M.; Srinivasan, A.; Zhou, S.; Zuckerman, D. (2000). "Low discrepancy sets yield approximate min-wise independent permutation families". Information Processing Letters. 73 (1–2): 29–32. CiteSeerX 10.1.1.20.8264. doi:10.1016/S0020-0190(99)00163-5. Retrieved 2007-11-14.
  22. ^ Damiani; et al. (2004). "An Open Digest-based Technique for Spam Detection" (PDF). Retrieved 2013-09-01.
  23. ^ Oliver; et al. (2013). "TLSH - A Locality Sensitive Hash". 4th Cybercrime and Trustworthy Computing Workshop. Retrieved 2015-04-06.
  24. ^ "TLSH". Retrieved 2014-04-10.
  25. ^ Alexandr Andoni; Indyk, P. (2008). "Near-Optimal Hashing Algorithms for Approximate Nearest Neighbor in High Dimensions". Communications of the ACM. 51 (1): 117–122. CiteSeerX 10.1.1.226.6905. doi:10.1145/1327452.1327494. S2CID 6468963.
  26. ^ Datar, M.; Immorlica, N.; Indyk, P.; Mirrokni, V.S. (2004). "Locality-Sensitive Hashing Scheme Based on p-Stable Distributions". Proceedings of the Symposium on Computational Geometry.
  27. ^ Pauleve, L.; Jegou, H.; Amsaleg, L. (2010). "Locality sensitive hashing: A comparison of hash function types and querying mechanisms". Pattern Recognition Letters. 31 (11): 1348–1358. doi:10.1016/j.patrec.2010.04.004.
  28. ^ Salakhutdinov, Ruslan; Hinton, Geoffrey (2008). "Semantic hashing". International Journal of Approximate Reasoning. 50 (7): 969–978. doi:10.1016/j.ijar.2008.11.006.
  29. ^ 달가르드, 쇠렌, 마티아스 볼크 테즈 크누드센, 미켈 토룹."빠른 유사성 스케치" 2017 IEEE 58차 연례 컴퓨터 과학 기반 심포지엄(FOCS)IEEE, 2017.
  30. ^ 크리스찬리, 토바이어스"근접 인접 검색에 대한 빠른 지역감응 해싱 프레임워크"유사성 검색 및 응용에 관한 국제 회의.스프링거, 챔, 2019.
  31. ^ 아흘, 토마스 디달."지역감응 해싱에서 $p_1^{-1} $의 문제에 대하여."유사성 검색 및 응용에 관한 국제 회의.스프링거, 챔, 2020년
  32. ^ 고만, 제임스, 그리고 제임스 R.커란."대형 기업과의 분배 유사성"제21차 전산언어학 국제회의 및 제44차 전산언어학협회 연차총회의 진행.2006년 컴퓨터 언어학 협회

추가 읽기

  • Samet, H. (2006) 다차원미터법 데이터 구조의 기초.모건 카우프만ISBN 0-12-369446-9

외부 링크