[Vector Search] Vector์ ์ข ๋ฅ
๋ฒกํฐ ๊ฒ์(Vector search)๊ณผ ๋ง๋ฟ์์๋ ๋ด์ฉ์ด๋ค.
https://blog.naver.com/sssang97/223790220320
๊ฒ์์ ์ฌ์ฉํ๋ ๋ฒกํฐ ํํ๋ ํ๊ฐ์ง๋ง ์๋๊ฒ ์๋๋ค. ๋ํ์ ์ธ ๊ฒ๋ง ์ข ๋ฅ๋ณ๋ก ์ ๋ฆฌํด๋ณด๊ฒ ๋ค.
Dense Vector
๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ํํ์ ๋ฒกํฐ๋ค. ๋ณดํต ๋ฒกํฐ ๊ฒ์์ ํ๋ค๊ณ ํ๋ฉด ์ด๊ฒ ๊ธฐ๋ณธ๊ฐ์ด๋ค.
๊ธธ์ด๊ฐ ๊ณ ์ ๋ ํํ์ ๋ถ๋์์์ ๋ฐฐ์ด์ด๋ฉฐ, ๊ฐ ์์๋ -1~1 ๋ฒ์๊ฐ์ด ๋ค์ด๊ฐ๋ค.
[
-0.013052909,
0.020387933,
-0.007869,
-0.11111383,
-0.030188112,
-0.0053388323,
0.0010654867,
0.072027855,
-0.04167721,
0.014839341,
-0.032948174,
-0.062975034,
-0.024837125,
....
]
์ฌ์ค ํน๋ณํ ๊ฒ์ ์์ง๋ง, ์ฌ๊ธฐ์ ์ข ์ค์ํ ๊ฒ์ 0์ธ ๊ฐ์ด ๊ฑฐ์ ์์ด์ผ ํ๋ค๋ ๊ฒ์ด๋ค.
Sparse Vector
๊ทธ๋ ๊ฒ ์์ฃผ ์ฐ์ด๋๊ฑด ์๋์ง๋ง, ์ข ์ข ์ฐ์ด๊ธด ํ๋ค.
์ด๊ฒ๋ ์ฌ์ค dense vector์ ํฌ๊ฒ ๋ค๋ฅด์ง๋ ์๋ค. ๋์ผํ๊ฒ -1~1 ๋ฒ์์ ์ค์๊ฐ ๋ค์ด๊ฐ๋ ์ค์ ๋ฐฐ์ด์ด๋ค.
dense vector์ ๋ค๋ฅธ ์ ์ผํ ์ง์ ์, ๋๋ถ๋ถ์ ์์๊ฐ 0์ด๊ณ ์ค์ ๊ฐ์ด ์ ๊ฒ ๋ค์ด์๋ค๋ ๊ฒ์ด๋ค.
์ด๊ฒ ๋ฒกํฐ ์ธ๋ฑ์ค ๊ตฌํ์ ์์ด์๋ ์ต์ ํ ๋ฐฉ์์ด ์ข ๋ฌ๋ผ์ง๋ ๋ถ๋ถ์ด๋ผ์, Vector DB๋ค์์๋ ์ด๊ฑธ ์์ธ์ ์ผ๋ก ์ฒ๋ฆฌ๋ฅผ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
๊ทธ๋ฆฌ๊ณ ์ธ๋ฐ์๋ 0 ๊ฐ์ ๋ค ๋ฃ์ด์ ์ ๋ฌ๋ฐ์ง๋ ์๊ณ , ์ค์ ๋ก ๊ฐ์ด ์๋ ์ง์ ์ ์ธ๋ฑ์ค์ ๊ฐ์ ๋ช
์์ ์ผ๋ก ์ ๋ฌ๋ฐ๋ ์์ผ๋ก ์ฒ๋ฆฌ๋ฅผ ํ๊ณค ํ๋ค.
์ด๋ฐ ์์ผ๋ก ๋ง์ด๋ค.
// A sparse vector with 4 non-zero elements
{
"indexes": [1, 3, 5, 7],
"values": [0.1, 0.2, 0.3, 0.4]
}์ฐธ์กฐ
https://medium.com/@zilliz_learn/similarity-metrics-for-vector-search-62ccda6cfdd8