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

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

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

2025.03.25

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ۙ๣ͷத͔Βࢦఆͨ͠ଐੑ ͷ஋ʹ߹க͢Δ΋ͷͰߜࠐΈʣ ݁Ռ ଐੑʢϝλσʔλͳͲݺশ͸ Τϯδϯ΍αʔϏεʹґΔʣ