Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ベクトル検索システムの気持ち

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

 ベクトル検索システムの気持ち

2025.03.25

Avatar for monochromegane

monochromegane

March 25, 2025
Tweet

More Decks by monochromegane

Other Decks in Programming

Transcript

  1. • ෳ਺ͷ੒෼͔ΒͳΔҰͭͷʮྔʯ •  • ઌड़ͷҎԼͷཁ݅Λຬͨ͢ • ਺஋ͱͯ͠େখΛൺֱͰ͖Δ • ෳ਺ͷ؍఺Λѻ͑Δ

    • ͦΕΒͷ؍఺Λ૊Έ߹ΘͤΛߟྀͰ͖Δ x = x1 x2 ⋮ xD = [x1 x2 … xD]⊤  10 ϕΫτϧ
  2. • ෳ਺ͷ੒෼͔ΒͳΔҰͭͷʮྔʯ •  • ઌड़ͷҎԼͷཁ݅Λຬͨ͢ • ਺஋ͱͯ͠େখΛൺֱͰ͖Δ • ෳ਺ͷ؍఺Λѻ͑Δ

    • ͦΕΒͷ؍఺Λ૊Έ߹ΘͤΛߟྀͰ͖Δ x = x1 x2 ⋮ xD = [x1 x2 … xD]⊤  11 ϕΫτϧ
  3. • ϕΫτϧͷେ͖͞ • ݪ఺͔Βͷ௚ઢڑ཭ •  ∥x∥ = x2 1

    + x2 2 + … + x2 n  13 ͓͞Β͍: ϕΫτϧͷେ͖͞
  4. • ϢʔΫϦουڑ཭ • ೋͭͷϕΫτϧͷࠩͷେ͖͞ •  d(xi , xj )

    = ∥xi − xj ∥2 = D ∑ d=1 (xi,d − xj,d )2  14 ϢʔΫϦουڑ཭
  5. • ϕΫτϧͷ಺ੵ • ಉ͡ํ޲ͷ੒෼ͷେ͖͞ͷੵ •  x ⋅ y =

    ∥x∥∥y∥ cos θ = n ∑ i=1 xi yi = x1 y1 + x2 y2 + … + xn yn  15 ͓͞Β͍: ϕΫτϧͷ಺ੵ Y Z YZ          46. 
  6. • ϕΫτϧಉ࢜ͷͳ֯͢Λྨࣅ౓ͱ͢Δ • ಉ͡ํ޲ͷ৔߹1.0Ͱٯ޲͖ͷ৔߹ʹ-1.0 • ϕΫτϧͷେ͖͞ʹґଘ͠ͳ͍ • ٖڑ཭ͱͯ͠1-ίαΠϯྨࣅ౓΋࢖ΘΕΔ • 

    cos θ = xi ⋅ xj ∥xi ∥∥xj ∥ = ∑D d=1 xi,d xj,d ∑D d=1 x2 i,d ⋅ ∑D d=1 x2 j,d  16 ίαΠϯྨࣅ౓ ϕΫτϧΛࣗ਎ͷେ͖͞ͰׂͬͨޙͷϕΫτϧಉ࢜ͷ಺ੵͷ݁ՌʢεΧϥʣ ͦΕͧΕͷϕΫτϧͷେ͖͕͞ͷ࣌ɺίαΠϯྨࣅ౓͸಺ੵͱҰக
  7. RAWͳϕΫτϧදݱͷݶք  22 • RAWͳϕΫτϧදݱΛ༻͍ͨྨࣅੑ͸ɺඞͣ͠΋ར༻ऀͷ໨తʹԊͬͨྨࣅ ੑͱ͸Ұக͠ͳ͍ ΦϒδΣΫτΛҠಈ͢Δͱɺྨࣅ౓΍ڑ ཭͕มԽ͢Δྫ ΦϒδΣΫτࣗମͷྨࣅੑධՁͷ໨తʹ͓͍ͯɺҐ ஔ΍ճసʹґΒͣɺ͍ͣΕ΋ʮ9ʯͱͯ͠ಉఔ౓ͷྨ

    ࣅੑΛ༗ͯ͠ཉ͍͠ ୯ޠΛϫϯϗοτϕΫτϧͰදݱ͢Δͱɺ֤୯ޠͷڑ཭΍ྨ ࣅ౓͕ಉҰʹͳΓɺ୯ޠಉ࢜ͷҙຯͷۙ͞Λѻ͑ͳ͍ྫ ୯ޠͷૠ֓͢೦΍จதͷίϯςΩετ ΋౿·্͑ͨͰͷ୯ޠͷۙ͞ͷྨࣅੑ ධՁͷ໨తʹ͓͍ͯ͸ɺ͜ͷΑ͏ʹޓ ͍ʹಠཱͱͳΔΑ͏ͳϫϯϗοτΤϯ ίʔυͱ͸ҟͳΔදݱํ๏͕ඞཁ
  8. • ಛʹਂ૚χϡʔϥϧωοτϫʔΫʢDeep Neural Network: DNNʣϞσϧ͸ɺ λεΫΛղ͘ͷʹదͨ͠σʔλͷม׵نଇΛ಺෦తʹࣗΒ֫ಘ͢Δ • DNNϞσϧ͸ͦͷม׵ثʹΑΔม׵ޙͷσʔλΛ༻͍ͯɺม׵෦෼ͱൺ΂Ε ͹૬ରతʹ؆қͳ༧ଌثʹΑͬͯɺλεΫΛղ͘ •

    → ͜ͷಛੑʹண໨͢Δ͜ͱͰɺRAWͳϕΫτ ɹ ϧදݱ͔Βɺ໨తʹԊͬͨྨࣅੑΛѻ͑Δ ɹ Α͏ͳϕΫτϧදݱͷࣗಈతͳ֫ಘΛ໨ࢦ͢  25 ػցֶशͱϕΫτϧදݱ Transform Predict
  9.  31 ม׵ޙͷϕΫτϧදݱΛ༻͍ͨλεΫ࣮ߦʢ෼ྨ໰୊ʣ y = σ(w1 x1 + w2 x2

    + w3 x3 + b) • ֶशޙͷϞσϧʹ͓͚ΔλεΫ࣮ ߦͷ༷ࢠɻ࠷ऴ૚͔ΒͷϕΫτϧ දݱΛ༻͍ͯγϯϓϧͳ༧ଌث͕ Ϋϥε෼ྨΛ͏·࣮͘ߦͨ͠
  10.  33 ໨తʹԠͨ͡ϕΫτϧදݱͷมԽ &QPDI &QPDI &QPDI I1 I2 H1 256

    H2 128 H3 64 O1 O2 O3 Normalize &QPDI • ྨࣅੑͷൺֱධՁʹ͓͚Δઌͷཁ ݅Λຬͨ͢Α͏ͳλεΫʢରরֶ शʣΛઃఆ • Ϋϥε಺֎Ͱͷڽूͱ෼཭͕Մࢹ Խ͞Ε͍ͯΔɻ
  11.  34 ໨తʹԠͨ͡ϕΫτϧදݱͷมԽ &QPDI &QPDI &QPDI I1 I2 H1 256

    H2 128 H3 64 O1 O2 O3 Normalize &QPDI λεΫͷ೉қ౓ʹԠͯ͡ෳࡶͳϞσϧߏ଄ ͱ͕ͨ͠ɺϕΫτϧදݱʢ഑ஔͷมԽʣ͸ λεΫઃఆʹґΔ෦෼͕େ͖͍ɻ ൺֱͷͨΊɺಉҰϞσϧߏ଄Ͱͷ෼ྨ໰୊ Ͱֶशͨ͠ࡍͷϕΫτϧදݱ΋ܝࡌ͢Δɻ
  12.  38 k-ۙ๣୳ࡧʢk-Nearest Neighbor Search: k-NNʣ • ϕΫτϧू߹  ʹରͯ͠ΫΤϦϕΫτϧ

     ͷۙ๣  ϕΫτϧΛಘ͍ͨ •  • ૯౰ͨΓʢBrute forceʣʹΑΔઢܗ୳ࡧͰ͸ σʔλ਺  ͱ࣍ݩ਺  ʹԠͯ͡ ܭࢉྔͱϝϞϦ࢖༻ྔ͕૿Ճͯ͠͠·͏ X q k 𝒩 k (q, X) = argminS⊂X,|S|=k ∑ x∈S d(q, x) N D ཁૉ਺͕LʹͳΔΑ͏ʹબΜͩ෦෼ू߹ͷ͏ͪ ֤ཁૉͱΫΤϦͱͷڑ཭ͷ߹ܭ͕ ࠷΋খ͘͞ͳΔΑ͏ͳ෦෼ू߹
  13.  40 ۙࣅۙ๣୳ࡧʢApproximate k-NNS: ANNʣ • ϕΫτϧू߹  ʹରͯ͠ΫΤϦϕΫτϧ 

    ͷۙ๣  ϕΫτϧΛಘ͍ͨ •  • ݫີղͷ୅ΘΓʹۙࣅղΛٻΊΔ • ૯౰ͨΓʢBrute forceʣʹΑΔઢܗ୳ࡧͱ ൺ΂ͯɺ࠶ݱ཰͕௿Լ͢Δ͕ɺܭࢉྔͱ ϝϞϦ࢖༻ྔΛݮগͰ͖Δ • → ༷ʑͳΞϓϩʔν͕͋ΔͷͰҰ෦Λ঺հ X q k ˜ 𝒩 k (q, X) ≈ 𝒩 k (q, X) ۙࣅۙ๣୳ࡧͰ͸ɺ͜ͷྫͷ Α͏ʹਖ਼֬ͳۙ๣ϕΫτϧͷ ू߹ͱ߹க͢Δ෦෼ͱ͠ͳ͍ ෦෼͕ൃੜ͢Δ
  14. • ϕΫτϧू߹Λ  ݸͷ୅දϕΫτϧ  Ͱදݱ͢Δ • ͜͜ͰͷྔࢠԽ͸ɺ཭ࢄԽʢάϧʔϐϯάʣͱଊ͑ͯΑ͍ • ୅දϕΫτϧ

     ͸ࣄલʹk-meansͳͲͰٻΊΔ K C = {c1 , …cK } C  43 ϕΫτϧྔࢠԽʢVector Quantization: VQʣʢ1/3ʣ
  15. • ϕΫτϧू߹Λ  ݸͷ୅දϕΫτϧ  Ͱදݱ͢Δ • ϕΫτϧू߹  ͸ɺ୅දϕΫτϧͷΠϯσοΫεͷू߹ͱͳΓɺྫ͑

    ͹256ύλʔϯͰ͋ͬͯ΋ϕΫτϧ͋ͨΓ8bitsͰදݱͰ͖Δ K C = {c1 , …cK } X ∈ RN×D  45 ϕΫτϧྔࢠԽʢVector Quantization: VQʣʢ2/3ʣ 0.12 0.85 … 0.43 0.67 0.23 … 0.91 ⋮ ⋮ ⋱ ⋮ 0.04 0.77 … 0.33 ⟶ 44 (00101100) 210 (11010010) ⋮ ⋮ 109 (01101101)  N  D * float32  uint8  N  X ⋮ ⋮ ⋱ ⋮ 44UI 0.10 0.80 … 0.40 ⋮ ⋮ ⋱ ⋮ 109UI 0.05 0.75 … 0.30 ⋮ ⋮ ⋱ ⋮ 210UI 0.65 0.20 … 0.88 ⋮ ⋮ ⋱ ⋮ ίʔυϒοΫ ʢ୅දϕΫτϧͷू߹ʣ  K  D * float32
  16. 0.12 0.85 0.33 0.76 … 0.43 0.67 0.23 0.91 0.45

    … 0.91 ⋮ ⋮ ⋮ ⋮ ⋱ ⋮ 0.04 0.77 0.19 0.63 … 0.33 ⟶ 11260 (00101100 10111001) 53981 (11010010 01011101) ⋮ ⋮ 28083 (01101101 01110011) • ϕΫτϧू߹Λ  ݸͷ୅දϕΫτϧ  Ͱදݱ͢Δ • ϕΫτϧू߹  ͸ɺ୅දϕΫτϧͷΠϯσοΫεͷू߹ͱͳΓɺྫ͑ ͹256ύλʔϯͰ͋ͬͯ΋ϕΫτϧ͋ͨΓ8bitsͰදݱͰ͖Δ K C = {c1 , …cK } X ∈ RN×D  46 ϕΫτϧྔࢠԽʢVector Quantization: VQʣʢ3/3ʣ  N  D * float32  uint16  N  X • ۙࣅਫ਼౓͸  ͷେ͖͞ʹґΔ͕ɺߴ࣍ݩͷ৔߹ɺద੾ͳ  ͸େ͖͘ͳΓɺΫϥ ελϦϯάͷܭࢉྔʢΠςϨʔγϣϯ͋ͨΓ  ʣ΋૿Ճ͢Δ K K N × K × D
  17. • ߴ࣍ݩϕΫτϧΛ  ݸͷ௿࣍ݩαϒϕΫτϧʹ෼ׂ͠ɺݸʑʹVQΛద༻ • ΫϥελϦϯάʹ͓͚Δਫ਼౓ͱܭࢉྔͷύϥϝʔλ  ͱ  ͷ௿ݮΛਤΔ

    M D K  47 ௚ੵྔࢠԽʢProduct Quantization: PQʣʢ1/4ʣ 0.12 0.85 0.33 0.76 0.54 0.67 0.23 0.91 0.48 0.39 0.72 0.58 0.14 0.04 0.77 0.33 ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ 0.67 0.92 0.11 0.75 0.83 0.46 0.28 0.59  N  D = 8  X
  18.  48 ௚ੵྔࢠԽʢProduct Quantization: PQʣʢ2/4ʣ  N  D/M =

    2  X 0.12 0.85 | 0.33 0.76 | 0.54 0.67 | 0.23 0.91 0.48 0.39 | 0.72 0.58 | 0.14 0.04 | 0.77 0.33 ⋮ ⋮ | ⋮ ⋮ | ⋮ ⋮ | ⋮ ⋮ 0.67 0.92 | 0.11 0.75 | 0.83 0.46 | 0.28 0.59 • ߴ࣍ݩϕΫτϧΛ  ݸͷ௿࣍ݩαϒϕΫτϧʹ෼ׂ͠ɺݸʑʹVQΛద༻ • ΫϥελϦϯάʹ͓͚Δਫ਼౓ͱܭࢉྔͷύϥϝʔλ  ͱ  ͷ௿ݮΛਤΔ M D K
  19.  49 ௚ੵྔࢠԽʢProduct Quantization: PQʣʢ3/4ʣ 0.12 0.85 | 0.33 0.76

    | 0.54 0.67 | 0.23 0.91 0.48 0.39 | 0.72 0.58 | 0.14 0.04 | 0.77 0.33 ⋮ ⋮ | ⋮ ⋮ | ⋮ ⋮ | ⋮ ⋮ 0.67 0.92 | 0.11 0.75 | 0.83 0.46 | 0.28 0.59 ⟶ 44 | 185 | 202 | 111 210 | 93 | 100 | 46 ⋮ | ⋮ | ⋮ | ⋮ 109 | 152 | 205 | 83  N  X  uint8 * M  D/M = 2 ⋮ ⋮ 44UI 0.18 0.72 ⋮ ⋮ 109UI 0.09 0.81 ⋮ ⋮ 210UI 0.60 0.30 ⋮ ⋮ ⋮ ⋮ 93UI 0.66 0.48 ⋮ ⋮ 152UI 0.14 0.69 ⋮ ⋮ 185UI 0.28 0.79 ⋮ ⋮ ⋮ ⋮ 100UI 0.22 0.09 ⋮ ⋮ 202UI 0.49 0.71 ⋮ ⋮ 205UI 0.76 0.55 ⋮ ⋮ ⋮ ⋮ 46UI 0.81 0.29 ⋮ ⋮ 83UI 0.25 0.63 ⋮ ⋮ 111UI 0.31 0.95 ⋮ ⋮ αϒϕΫτϧ͝ͱͷίʔυϒοΫ  N  K • ߴ࣍ݩϕΫτϧΛ  ݸͷ௿࣍ݩαϒϕΫτϧʹ෼ׂ͠ɺݸʑʹVQΛద༻ • ΫϥελϦϯάʹ͓͚Δਫ਼౓ͱܭࢉྔͷύϥϝʔλ  ͱ  ͷ௿ݮΛਤΔ M D K  D/M * float32
  20. • ߴ࣍ݩϕΫτϧΛ  ݸͷ௿࣍ݩαϒϕΫτϧʹ෼ׂ͠ɺݸʑʹVQΛద༻ • ௚ੵʢ  ʣͱ͸ɺू߹ಉ࢜ͷ૊Έ߹ΘͤͰ৽͍͠ू߹ΛಘΔ͜ͱ • 

    ࣍ݩϕΫτϧΛ  ຊͷ  ࣍ݩαϒϕΫτϧʹ෼ׂ͠ɺͦΕͧΕͷ VQͰ  ύλʔϯʹྔࢠԽͨ͠ͳΒ͹ɺ  ύλʔϯΛදݱͰ͖Δ M × D M = 4 D/M 28 (28)4 = 232  50 ௚ੵྔࢠԽʢProduct Quantization: PQʣʢ4/4ʣ 0.12 0.85 | 0.33 0.76 | 0.54 0.67 | 0.23 0.91 0.48 0.39 | 0.72 0.58 | 0.14 0.04 | 0.77 0.33 ⋮ ⋮ | ⋮ ⋮ | ⋮ ⋮ | ⋮ ⋮ 0.67 0.92 | 0.11 0.75 | 0.83 0.46 | 0.28 0.59 ⟶ 44 | 185 | 202 | 111 210 | 93 | 100 | 46 ⋮ | ⋮ | ⋮ | ⋮ 109 | 152 | 205 | 83  N  X  uint8 * M  2K/M  2K/M  2K/M  2K  2K/M  ×  ×  ×  D/M = 2
  21.  51 ௚ੵྔࢠԽͷۙࣅڑ཭ʢ1/2ʣ 0.12 0.85 0.33 0.76 0.54 0.67 0.23

    0.91 ⋮ ⋮ 44UI 0.18 0.72 ⋮ ⋮ 109UI 0.09 0.81 ⋮ ⋮ 210UI 0.60 0.30 ⋮ ⋮ ⋮ ⋮ 93UI 0.66 0.48 ⋮ ⋮ 152UI 0.14 0.69 ⋮ ⋮ 185UI 0.28 0.79 ⋮ ⋮ ⋮ ⋮ 100UI 0.22 0.09 ⋮ ⋮ 202UI 0.49 0.71 ⋮ ⋮ 205UI 0.76 0.55 ⋮ ⋮ ⋮ ⋮ 46UI 0.81 0.29 ⋮ ⋮ 83UI 0.25 0.63 ⋮ ⋮ 111UI 0.31 0.95 ⋮ ⋮ ΫΤϦϕΫτϧ  q D K K K K q(1) q(2) q(3) q(4) c(1) c(2) c(3) c(4) 0.23 0.84 0.03 0.25 0.54 0.98 0.40 0.78 D σʔλϙΠϯτ  x1 x(1) 1 x(2) 1 x(3) 1 x(4) 1 0.25 0.75 0.05 0.25 0.50 0.75 0.25 0.75 ྔࢠԽ  x1 d(q(1), c(1) x1 ) d(q(2), c(2) x1 ) d(q(3), c(3) x1 ) d(q(4), c(4) x1 ) c(1) x1 c(2) x1 c(3) x1 c(4) x1 + + + ≈ d(q, x1 ) • ΫΤϦϕΫτϧͷαϒϕΫτϧͱରԠ͢Δσʔλͷ ྔࢠԽࡁΈαϒϕΫτϧͷڑ཭Λ߹ࢉͯ͠ٻΊΔ
  22.  52 ௚ੵྔࢠԽͷۙࣅڑ཭ʢ2/2ʣ 0.12 0.85 0.33 0.76 0.54 0.67 0.23

    0.91 ΫΤϦϕΫτϧ  q D q(1) q(2) q(3) q(4) d(q(1), c(1) x1 ) d(q(2), c(2) x1 ) d(q(3), c(3) x1 ) d(q(4), c(4) x1 ) c(1) x1 c(2) x1 c(3) x1 c(4) x1 + + + ≈ d(q, x1 ) • ࣮૷্͸ɺΫΤϦͷαϒϕΫτϧͱίʔυϒοΫͷ૊Έ߹ΘͤΛ༧Ίܭࢉͨ͠ ڑ཭දΛ४උ͓ͯ͘͜͠ͱͰɺσʔλͷαϒϕΫτϧͷ୅දϕΫτϧͷIDΛ༻ ͍ͯࢀর͢Δ͜ͱͰߴ଎ʹڑ཭ΛٻΊΔ d(q(1), c(1) 1 ) d(q(1), c(1) 2 ) d(q(1), c(1) 3 ) … d(q(1), c(1) 256 ) d(q(2), c(2) 1 ) d(q(2), c(2) 2 ) d(q(2), c(2) 3 ) … d(q(2), c(2) 256 ) d(q(3), c(3) 1 ) d(q(3), c(3) 2 ) d(q(3), c(3) 3 ) … d(q(3), c(3) 256 ) d(q(4), c(4) 1 ) d(q(4), c(4) 2 ) d(q(4), c(4) 3 ) … d(q(4), c(4) 256 ) d(q(i), c(i) j ) = ∥q(i) − c(i) j ∥2 = D/M ∑ k=1 (q(i) k − c(i) j,k )2 ฏํϢʔΫϦουڑ཭ ڑ཭ද
  23. • ϞμϦςΟͷҧ͍ • ςΩετɺը૾ʢ΋͘͠͸྆ํʣ • WebαʔϏεͷϢʔβʔͱΞΠςϜ • ֶश΁ͷؔ༩౓ͷҧ͍ • θϩ͔ΒಠࣗσʔλͰֶश

    • ֶशࡁΈϞσϧʹର͢ΔϑΝΠϯνϡʔχϯά • ֶशࡁΈϞσϧΛ׆༻  60 ຒΊࠐΈϞσϧͷબఆ
  24. TransformerΛ༻͍ͨຒΊࠐΈʢΤϯίʔμʔܕʣ  62 τʔΫϯຒΊࠐΈ ΤϯίʔυϒϩοΫ ΤϯίʔυϒϩοΫ ΤϯίʔυϒϩοΫ  ⋮ ΤϯίʔυϒϩοΫ

    0.5 0.3 ⋯ 0.2 0.2 0.1 ⋯ 0.6 ⋮ ⋮ ⋮ 0.3 0.9 ⋯ 0.8 2 148374 ⋮ 3 τʔΫϯ*%ྻ τʔΫϯຒΊࠐΈྻ 0.3 0.3 ⋯ 1.2 0.1 0.2 ⋯ 0.8 ⋮ ⋮ ⋮ 0.1 0.2 ⋯ 0.5 จ຺Λߟྀͨ͠τʔΫϯຒΊࠐΈϕΫτϧ  W 0 0 ⋯ 0 0 0 ⋯ 0 1 0 ⋯ 0 0 0 ⋯ 1 ⋮ ⋮ ⋮ 0 1 ⋯ 0 ⋮ ⋮ ⋮  ⋅ τʔΫϯ*%ྻΛϫϯϗοτΤϯίʔσΟϯάޙʹม׵͠ ͨ΋ͷΛຒΊࠐΈϕΫτϧྻͱ͢ΔʢҐஔຒΊࠐΈͷ࿩ ͸লུʣ
  25. TransformerΛ༻͍ͨຒΊࠐΈʢΤϯίʔμʔܕʣ  63 τʔΫϯຒΊࠐΈ ஫ҙ ػߏ ஫ҙ ػߏ ஫ҙ ػߏ

    লུ  ⋯ ΤϯίʔυϒϩοΫ ΤϯίʔυϒϩοΫ ΤϯίʔυϒϩοΫ  ⋮ লུ ΤϯίʔυϒϩοΫ 0.2 0.1 ⋯ 0.2 0.1 0.6 ⋯ 0.8 ⋮ ⋮ ⋮ 0.7 0.9 ⋯ 0.5 1.0 0.2 ⋯ 0.1 0.5 0.3 ⋯ 0.9 ⋮ ⋮ ⋮ 0.4 0.6 ⋯ 0.4 Y Y Y τʔΫϯ*%ྻ τʔΫϯຒΊࠐΈྻ ҰͭલͷτʔΫϯຒΊࠐΈΛड͚औΓɺ ΫΤϦɺΩʔɺόϦϡʔϕΫτϧ΁ม׵ͷޙɺ ͋ΔτʔΫϯΛଞͷτʔΫϯͱͷ૊Έ߹ΘͤͰදݱ͢Δ ˎͲͷΑ͏ʹ૊Έ߹ΘͤΔ͔͸σʔλ͔Β֫ಘ͢Δ ෳ਺ͷ؍఺Ͱͷ૊Έ߹ΘͤΛԿ౓΋܁Γฦ͢͜ͱͰ୯७ ͳݴ͍׵͔͑Βɺෳࡶͳ܎Γड͚ɺจ຺·ͰΛଊ͑Δ͜ ͱ͕Ͱ͖ΔΑ͏ʹͳΔͱߟ͑ΒΕΔ Ϛϧνϔου஫ҙػߏ
  26. • ΤϯίʔμʔܕͷTransformerʹରͯ͠ɺେن໛ͳςΩετίʔύεΛ༻͍ͯ Masked Language Modeling΍Next Sentence PredictionλεΫͰࣄલֶश͞ ΕͨϞσϧ 1. ֶशࡁΈͷϞσϧ͔ΒಘΒΕΔCLSτʔΫϯ΍֤τʔΫϯͷϓʔϦϯά

    ʢฏۉ΍࠷େ஋ʣΛຒΊࠐΈͱͯ͠ར༻ 2. ରরֶशͷΑ͏ͳɺྨࣅੑͷධՁͱ͍͏؍఺ʹదͨ͠ϕΫτϧΛ֫ಘͰ͖ ΔΑ͏ϑΝΠϯνϡʔχϯάͨ͠Ϟσϧͷग़ྗΛຒΊࠐΈͱͯ͠ར༻ • ϑΝΠϯνϡʔχϯάࡁΈͷϞσϧͱࣗલͰͷϑΝΠϯνϡʔχϯά  64 BERTʢBidirectional Encoder Representations from Transformersʣ
  27.  65 TransformerΛ༻͍ͨຒΊࠐΈʢVision Transformerʣ τʔΫϯຒΊࠐΈ ΤϯίʔυϒϩοΫ ΤϯίʔυϒϩοΫ ΤϯίʔυϒϩοΫ  ⋮

    ΤϯίʔυϒϩοΫ ը૾ τʔΫϯຒΊࠐΈྻ 🌃 0.5 0.3 ⋯ 0.2 0.2 0.1 ⋯ 0.6 ⋮ ⋮ ⋮ 0.3 0.9 ⋯ 0.8  W ը૾ΛύονྖҬʹ෼ׂ͠ɺྖҬ͝ͱͷνϟϯωϧ͝ͱ ͷըૉ஋Λฒ΂ͨ΋ͷʢͱ$-4ʣΛม׵ͨ͠΋ͷΛτʔ ΫϯຒΊࠐΈྻͱ͢ΔʢҐஔຒΊࠐΈͷ࿩͸লུʣ 0.3 0.3 ⋯ 1.2 0.1 0.2 ⋯ 0.8 ⋮ ⋮ ⋮ 0.1 0.2 ⋯ 0.5 จ຺Λߟྀͨ͠τʔΫϯຒΊࠐΈϕΫτϧ $-4
  28.  66 CLIPʢContrastive Language-Image Pre-trainingʣ  ⋮  ⋮ 🌃

    [1.0 0.2 ⋯ 0.1] 🌌 🌉  … 0.5 0.3 ⋯ 0.2 0.2 0.1 ⋯ 0.6 ⋮ ⋮ ⋮ 0.3 0.9 ⋯ 0.8 ʮԫࠚʹු͔Ϳڮʯ 0.68 0.60 ⋮ 0.88 ςΩετ͔ΒͷຒΊࠐΈ ͱը૾͔ΒͷຒΊࠐΈͷ ؒͰྨࣅ౓Λ൑ఆ ςΩετΤϯίʔμʔ ը૾Τϯίʔμʔ ⚠ςΩετΤϯίʔμʔͱը૾Τϯίʔμʔ ΛҰॹʹֶशͤ͞Δ͜ͱͰɺϞʔμϧΛލ͍ ͩຒΊࠐΈΛ֫ಘ͍ͯ͠Δ఺ʹ஫ҙɻ ݸผʹֶशͨ͠Τϯίʔμʔͷग़ྗ͢ΔຒΊ ࠐΈಉ࢜͸਺஋ૢ࡞ͱͯ͠ͷൺֱ͸Մೳͩ ͕ɺಉ͡εέʔϧͰྨࣅੑΛద੾ʹධՁͰ͖ Δͱ͸ݶΒͳ͍ɻ ͜ͷΑ͏ͳൺֱΛߦ͏৔߹ʹ͸$-*1Ϟσϧ͕ ఏڙ͢ΔΑ͏ͳ౷Ұ͞ΕͨຒΊࠐΈۭ͕ؒඞ ཁʹͳΔɻ ೔ຊޠʹ΋ରԠֶͨ͠शࡁΈϞσϧ͕๛෋ʹ ެ։͞Ε͍ͯΔ
  29.  67 Dual EncoderʢTwo-Tower modelʣ [1.0 0.2 ⋯ 0.1] 0.5

    0.3 ⋯ 0.2 0.2 0.1 ⋯ 0.6 ⋮ ⋮ ⋮ 0.3 0.9 ⋯ 0.8 0.68 0.60 ⋮ 0.88 Ϣʔβʔಛ௃ྔ͔Βͷຒ ΊࠐΈͱΞΠςϜಛ௃ྔ ͔ΒͷຒΊࠐΈͷؒͰྨ ࣅ౓Λ൑ఆ ϢʔβʔΤϯίʔμʔʢλϫʔʣ ΞΠςϜΤϯίʔμʔʢλϫʔʣ %// %// 👤 🍎 🍓 ΞΧ΢ϯτ৘ใ ߦಈཤྺ౳ ΞΠςϜ৘ใ ਓؾ౓౳ 👤 ϞʔμϧΛލ͍ͩຒΊࠐΈͷ֫ಘ͸ςΩετ ΍ը૾ʹݶΒͳ͍ɻϢʔβʔ৘ใ΍ΞΠςϜ ৘ใΛ3"8ͳϕΫτϧͱͯ͠දݱ͠ɺ%//΍ 5SBOTGPSNFSΛ༻͍ͯλεΫʹదͨ͠ม׵Λ ߦ͏͜ͱͰಉ༷ʹ࣮ݱͰ͖Δɻ ͜ͷߏ੒ͷ࣮༻ੑ͸ɺϢʔβʔ৘ใͱൺ΂ͯ ৘ใͷมԽ͕গͳ͍ΞΠςϜ৘ใʹ͍ͭͯ༧ ΊຒΊࠐΈΛࢉग़ͯ͠ϕΫτϧݕࡧγεςϜʹ ౤ೖ͓ͯ͘͜͠ͱͰɺ࠷৽ͷϢʔβʔ৘ใ͔ Βஞ࣍ٻΊͨຒΊࠐΈʹରͯ͠ɺྨࣅ͢ΔΞ ΠςϜΛఏҊ͢ΔΑ͏ͳɺϦΞϧλΠϜਪનʹ ద͍ͯ͠Δ఺Ͱ͋Δɻ αʔϏεʹಛ༗ͷσʔλͰθϩ͔Βֶश͢Δ ϞσϧͱͳΔ͜ͱ͕ଟ͍ɻ I I H H H O O O Nor I I H H H O O O Nor
  30. • ࠶ݱ཰ͱ଎౓ͷτϨʔυΦϑ͕ଘࡏ ͢Δ͜ͱΛཧղ͢Δ • ཁ݅ʹΑͬͯɺઢܗ୳ࡧ͕ద͢Δ৔ ߹΋͋Γ͏Δʢ1ສ݅ະຬ100࣍ݩະຬʣ • ਫ਼౓ͱ଎౓͸ɺΞϧΰϦζϜ΍ຒΊࠐ Έͷ࣍ݩ਺΍෼෍ɺ݅਺౳ͷ৚݅ʹ ΑͬͯҟͳΔͨΊɺݕূ͕ॏཁ

    • ANN-Benchmarks౳΋ࢀߟʹ͢Δ  71 ۙࣅۙ๣୳ࡧʹ͓͚ΔτϨʔυΦϑ "//#FODINBSLTΑΓҾ༻ (MPWFʹΑΔ୯ޠ࣍ݩͷຒΊࠐΈʹର͢Δۙ๣୳ࡧ ԣ͕࣠࠶ݱ཰ʢ3FDBMMʣɺॎ͕࣠ݕࡧ଎౓ʢඵؒΫΤϦ਺ʣ IUUQTBOOCFODINBSLTDPNHMPWFBOHVMBS@@BOHVMBSIUNM
  31. • ີͳϕΫτϧͰදݱ͞ΕΔຒΊࠐΈʹରͯ͠ɺޠኮதͷग़ݱճ਺ͳͲͰදݱ͞ ΕΔૄͳϕΫτϧ΋ɺΩʔϫʔυҰகɾྨࣅͳͲͷ໘Ͱ༗ޮ • ૄͳϕΫτϧΛಘΔʹ͸ɺTF-IDFɺBM25ʹΑΔࢉग़ɺSPLADEʢSparse Lexical and Expansion ModelʣϞσϧʹΑΔΤϯίʔυͳͲΛར༻Ͱ͖Δ •

    ͦΕͧΕͷ௕ॴΛ׆͔ͨ͠ଟ༷ੑͷ͋Δݕࡧ݁ՌΛظ଴͢Δ৔߹ɺϋΠϒϦο υݕࡧͷαϙʔτͷ༗ແΛબఆ࣌ʹߟྀ͢Δͱྑ͍  72 ϋΠϒϦουݕࡧͷαϙʔτ ີϕΫτϧ༻ ΠϯσοΫε ૄϕΫτϧ༻ ΠϯσοΫε ΫΤϦ ີϕΫτϧ ૄϕΫτϧ Τϯίʔυ Lۙ๣ Lۙ๣ ౷߹ ʢ྆ํͰॱҐ͕ߴ͍ ΋ͷΛ্Ґʹʣ ݁Ռ
  32. • ಛఆͷΧςΰϦͳͲʹݕࡧ݁ՌΛߜΓࠐΈ͍ͨ৔߹ͳͲɺີͳϕΫτϧ͕ඞͣ ͠΋ಘҙͰͳ͍ݕࡧ΋͋Δ • ੒෼ʹෳ਺ͷ֓೦͕ԣஅͯ͠ରԠͯ͠࿈ଓతͳ഑ஔ͕ͳ͞ΕΔຒΊࠐΈͰ ͸ɺ཭ࢄతͳ෼཭͸ෆಘख • ݺͼग़͠ଆͰϑΟϧλ͢Δ͜ͱ΋Մೳ͕ͩɺݕࡧγεςϜଆͰαϙʔτ͕͋Ε ͹ɺෆཁͳ௨৴΍ɺऔಘޙͷϑΟϧλॲཧΛ࡟ݮͰ͖ΔͨΊɺݕࡧͷޮ཰͕޲ ্͢Δɻ

    ·ͨɺݕࡧγεςϜͱݺͼग़͠ଆͷঢ়ଶͷζϨ΋ճආͰ͖Δɻ  73 ଐੑϑΟϧλϦϯάͷαϙʔτ ີϕΫτϧ༻ ΠϯσοΫε ΫΤϦ ີϕΫτϧ Τϯίʔυ Lۙ๣ ϑΟϧλϦϯά ʢLۙ๣ͷத͔Βࢦఆͨ͠ଐੑ ͷ஋ʹ߹க͢Δ΋ͷͰߜࠐΈʣ ݁Ռ ଐੑʢϝλσʔλͳͲݺশ͸ Τϯδϯ΍αʔϏεʹґΔʣ