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

機械学習を⽤いた情報検索技術の⼊⾨と概要: 第58回 Machine Learning 15minutes! Broadcast

機械学習を⽤いた情報検索技術の⼊⾨と概要: 第58回 Machine Learning 15minutes! Broadcast

第58回 Machine Learning 15minutes! Broadcast (https://machine-learning15minutes.connpass.com/event/220935/) にて「機械学習を用いた情報検索技術の入門と概要」というタイトルで話した内容です

keyakkie

July 29, 2022
Tweet

More Decks by keyakkie

Other Decks in Technology

Transcript

  1. 機械学習を⽤いた
    情報検索技術の⼊⾨と概要
    Machine Learning 15minutes! Broadcast
    欅 惇志
    デンソーアイティーラボラトリ

    View Slide

  2. ⾃⼰紹介
    • ⽒名
    o 欅 惇志 (けやき あつし)
    • 教育
    o 学部・修⼠:同志社⼤学 (2005-2011)
    o 博⼠:奈良先端科学技術⼤学院⼤学 (2011-2014)
    • 専⾨
    o 情報検索,⾃然⾔語処理,データベースシステム
    • 職歴
    o 東京⼯業⼤学 情報理⼯学院 助教:5 年 (2014.4-2019.3)
    o デンソーアイティーラボラトリ 研究員:2.5 年 (2019.4-)
    o その他
    • マイクロソフト・リサーチアジア (北京) インターン (D3)
    • シンガポール国⽴⼤学 訪問研究員 (在外研究)
    • 科学技術振興機構 (JST) ACT-I 研究者
    2
    2021.8.28
    Machine Learning 15minutes! Broadcast:
    機械学習を⽤いた情報検索技術の⼊⾨と概要

    View Slide

  3. 本⽇の内容
    • 盛り込もうとしたこと
    o 情報検索の概要
    o 情報検索技術のパラダイム
    • 各パラダイムの技術の概要紹介
    o トランスフォーマーベースの⼿法の概要
    • 前提
    o Web 検索・テキスト検索を想定
    o 情報検索と検索システムを同じ意図で利⽤
    o 最近 (2021 年) の話はキャッチアップできておらず
    o 詳しく知り合い⼈は Pretrained Transformers for
    Text Ranking: BERT and Beyond がおすすめ
    o めちゃくちゃ固いです…
    2021.8.28
    Machine Learning 15minutes! Broadcast:
    機械学習を⽤いた情報検索技術の⼊⾨と概要
    3

    View Slide

  4. 情報検索の概要
    • ⽬的
    o ユーザの欲しい情報を提⽰する
    = 情報要求 (information need) を満たす
    • 代表的な応⽤:Web 検索システム/エンジン
    o 膨⼤な Web ページを全て確認することは不可
    • 主要な検索システム
    o Google search, Microsoft Bing, Yahoo search, Baidu (百度)
    2021.8.28 4
    18.8億 Web サイト
    55 億 Web ページ
    https://www.worldwidewebsize.com/
    http://www.internetlivestats.com/tot
    al-number-of-websites/
    Machine Learning 15minutes! Broadcast:
    機械学習を⽤いた情報検索技術の⼊⾨と概要

    View Slide

  5. 検索システムのアーキテクチャ
    2021.8.28
    Machine Learning 15minutes! Broadcast:
    機械学習を⽤いた情報検索技術の⼊⾨と概要
    5
    検索質問の
    内部表現
    クエリ
    ユーザの要求
    Web
    ページ
    ページ集合
    の内部表現
    検索結果構築
    スコアリング
    「機械学習 活⽤事例」
    ユーザへ提⽰
    機械学習の
    活⽤事例を
    知りたい
    コンピュータ内部の処理
    ユーザとのインタラクション
    検索インタフェース
    マッチ
    ング
    内部表現
    に変換

    View Slide

  6. 検索システムにおける要件
    • 三つの要件
    o ⾼精度検索
    • ユーザの欲しい情報を提⽰
    • 研究領域:情報検索
    o ⾼速な検索
    • 「エンジニアは 3 秒以上待たされると SNS を開く」
    • 研究領域:データ⼯学,⼤規模計算,分散処理
    o 直感的な操作を可能とするインタフェース
    • アプリケーションの特性を反映
    • 研究領域:ヒューマン・コンピュータ・インタフェー
    ス (HCI),情報検索
    2021.8.28
    Machine Learning 15minutes! Broadcast:
    機械学習を⽤いた情報検索技術の⼊⾨と概要
    6

    View Slide

  7. 情報検索技術のパラダイム
    • ヒューリスティック
    o 代表的な⼿法:TD-IDF, PageRank
    • 機械学習 (ランキング学習)
    o 古典的 (?) 機械学習
    • 代表的な⼿法:LambdaMART, ListNet
    • 主要な⼿法は 2000 年頃までには⼤体提案
    • その後は特徴量設計を頑張る時代
    o 深層学習ベースのランキング学習
    • 代表的な⼿法:DSSM, DRMM
    • 他分野ほど⼤流⾏せず
    o トランスフォーマーベースの機械学習
    • 典型的な使い⽅:BERT の出⼒ -> 情報検索に特化したネット
    ワークに⼊れる
    2021.8.28
    Machine Learning 15minutes! Broadcast:
    機械学習を⽤いた情報検索技術の⼊⾨と概要
    7
    ヒューリス
    ティック
    深層学習の
    ランキング
    トランス
    フォーマー
    古典的
    機械学習
    1960 年代
    以降
    1990 年代
    以降
    2014-2018
    くらい
    2019 以降
    (BERT 出現後)

    View Slide

  8. ヒューリスティックな⼿法
    • ⼤まかな分類
    o 語の重みづけ⼿法
    • もっともポピュラー
    o グラフ解析ベースの⼿法
    • ハイパーテキストのリンク関係からスコア計算
    • PageRank
    2021.8.28
    Machine Learning 15minutes! Broadcast:
    機械学習を⽤いた情報検索技術の⼊⾨と概要
    8

    View Slide

  9. (補⾜) 語の重みづけ⼿法
    • 定式化の⽅針
    o 各語の重みを計算
    o 語の重みの総和/総乗が⽂書
    • 語の重みづけ⼿法の分類
    o 右に⾏くほど⾼精度な⼿法
    2021.8.28
    Machine Learning 15minutes! Broadcast:
    機械学習を⽤いた情報検索技術の⼊⾨と概要
    9
    ブーリアン
    モデル※
    確率
    モデル
    統計的
    ⾔語モデル
    ベクトル
    空間モデル
    ・TF-IDF ・BM25 ・クエリ
    尤度モデル
    ※ 実際はブーリアンモデルは語の重みづけしない
    全クエリキーワードを含む⽂書集合を結果として提⽰

    View Slide

  10. 古典的機械学習
    • ランキング学習
    o 教師あり学習の設定
    o 回帰の⼀種 (順序だけ考慮)
    • クエリ-⽂書ペアの適合性評価
    2021.8.28
    Machine Learning 15minutes! Broadcast:
    機械学習を⽤いた情報検索技術の⼊⾨と概要
    10
    ⽂書集合
    適合性判定
    ランキン
    グ結果
    訓練
    クエリ
    特徴量抽出
    - 語の重み
    - リンク分析


    (





    )
    モデル
    テスト
    クエリ
    特徴量抽出
    - クエリ語
    - セッション情報
    - ユーザ情報
    特徴量抽出
    - 語の重み
    - セッション情報
    - ユーザ情報

    View Slide

  11. 古典的機械学習
    • ランキング学習
    o ラベル:適合性評価
    o 特徴量
    • 語の重み,リンク分析,セッション・ユーザ情報
    • 200-300 次元
    o 訓練
    • ラベルと特徴量でモデル構築 and features
    o テスト
    • クエリに対する⽂書のスコアを推定
    • 順位付きリストを提⽰
    11
    DocID queryID ラベル TF-IDF BM25 QLM PageRank Male Female
    1000 100 1 0.4 0.5 0.3 0.6 1 0
    1001 100 0 0.6 0.8 0.1 0.2 1 0
    1002 100 1 0.3 0.2 0.1 0.1 0 1
    語の重み リンク分析 ユーザ情報
    評価
    訓練
    2021.8.28
    Machine Learning 15minutes! Broadcast:
    機械学習を⽤いた情報検索技術の⼊⾨と概要

    View Slide

  12. 古典的機械学習
    • ランキング学習
    o ラベル:適合性評価
    o 特徴量
    • 語の重み,リンク分析,セッション・ユーザ情報
    • 200-300 次元
    o 訓練
    • ラベルと特徴量でモデル構築 and features
    o テスト
    • クエリに対する⽂書のスコアを推定
    • 順位付きリストを提⽰
    12
    DocID queryID スコア TF-IDF BM25 QLM PageRank Male Female
    2000 200 0.8 0.3 0.5 0.2 0.4 0 1
    2001 200 0.3 0.6 0.4 0.4 0.5 1 0
    2002 200 0.5 0.3 0.5 0.7 0.3 0 1
    語の重み リンク分析 ユーザ情報
    テスト 推定
    2021.8.28
    Machine Learning 15minutes! Broadcast:
    機械学習を⽤いた情報検索技術の⼊⾨と概要

    View Slide

  13. 深層学習ベースの⼿法 (neural rank)
    • 基本はシンプルな構造のネットワーク
    2021.8.28
    Machine Learning 15minutes! Broadcast:
    機械学習を⽤いた情報検索技術の⼊⾨と概要
    13
    Representation-based models:
    スコア算出時に⽂書・クエリ⽐較
    Interaction-based models:
    学習時から⽂書・クエリの
    インタラクション
    DSSM
    DRMM
    ⽂書
    クエリ
    ⽂書
    クエリ

    View Slide

  14. (補⾜スライド) BERT の学習
    • ⼤規模⾔語表現
    o BERT, XLNet, RoBERTa etc.
    • Pre-training (事前学習)
    o たくさん本を読んで⼀般教養 (素養) を⾝につける
    o (陽に問題は解かない)
    • Fine-tuning (再学習 ≒ 転移学習)
    o 試験科⽬の問題集 (解答例のあるもの) を解き対策する
    • Inference
    o 試験を受ける
    IRReading2020秋 14
    2020.10.31

    View Slide

  15. (補⾜スライド) BERT の事前学習
    • Masked language model (MLM)
    o マスクされたトークンを周辺⽂脈から予測
    • 15% の単語を [MASK] に変更
    • 残り 85% の単語から 15% の単語を予測
    • 双⽅向 transformer の出番
    • Next sentence prediction (NSP)
    o 2つの⽂の連続/⾮連続を予測
    IRReading2020秋 15
    出⼒:
    連続/⾮連続の
    2 値を予測
    ⼊⼒: 2 ⽂
    (連続/⾮連続)
    分散表現に変換
    されて学習
    出⼒: [MASK] が元の
    語に復元 (予測)
    された 2 ⽂
    連続/⾮連続を
    予測するトークン
    [MASK] の元の語を
    予測するトークン

    View Slide

  16. BERT の出現
    • なぜかすぐに情報検索研究に導⼊
    o 導⼊コストが低いから?
    • モデル公開済・ライブラリの整備
    o NLP の⼈たちがやってきただけ?
    • そもそも⼤規模機会読解タスクと近い
    o 情報検索 + 質問応答
    • 他の NLP タスクと違う
    o 特に知識蒸留関係
    2021.8.28
    Machine Learning 15minutes! Broadcast:
    機械学習を⽤いた情報検索技術の⼊⾨と概要
    16

    View Slide

  17. 最もシンプルなモデル
    • BM25 スコアと BERT の出⼒の線形結合
    2021.8.28
    Machine Learning 15minutes! Broadcast:
    機械学習を⽤いた情報検索技術の⼊⾨と概要
    17
    monoBERT

    View Slide

  18. 初期のモデル
    • BERT がベース
    o e.g. CEDR, PARADE
    o BERT で分散表現獲得 → ランキングモデルに⼊れる
    2021.8.28
    Machine Learning 15minutes! Broadcast:
    機械学習を⽤いた情報検索技術の⼊⾨と概要
    18
    CEDR PARADE

    View Slide

  19. 効果/効率のトレードオフ
    • 分散表現ベースの検索⼿法の実⾏時間
    o BERT だけ圧倒的に遅い
    2021.1.28
    3.6 Beyond BERT 19

    View Slide

  20. (補⾜) BERT 以降の研究
    • XLNet (NeurIPS 2019)
    o BERT の pre-training を変えて改良
    • RoBERTa (2019)
    o BERT の pre-training の枠組みのまま改良
    • ELECTRA (ICLR2020)
    o BERT の MLM を敵対的学習する
    • ALBERT (ICLR 2020)
    o 軽量版 BERT (A Lite BERT)
    • T5 (2019)
    o Google AI が開発した転移学習フレームワーク
    o 論⽂⾒当たらず
    • GPT-3 (2020)
    o Open AI が開発した⾔語⽣成モデル
    o 1,750億個のパラメータを使⽤ (論⽂にアーキテクチャなし)
    2021.1.28
    3.6 Beyond BERT 20
    BERT
    の後継モデル
    BERT の亜種
    ELECTRA

    View Slide

  21. BERT 亜種は検索タスクでも有⽤?
    • monoBERT で RoBERTa 使う
    o 微妙に性能低下
    • PARADE で ELECTRA 使う
    o 性能改善
    2021.1.28
    3.6 Beyond BERT 21

    View Slide

  22. 話は変わって…
    • 知識蒸留 (knowledge distillation)
    o 教師モデル (teacher model) の「振る舞いを
    模倣」した⽣徒モデル (student model) 作成
    o ⽬標
    • 同程度の性能
    • さらに効率的
    o 模倣するとは?
    • モデル間の出⼒のクロスエントロピーロスを⼩さ
    くする
    • なので BERT から Bi-LSTM への蒸留でもよい
    2021.1.28
    3.6 Beyond BERT 22

    View Slide

  23. 検索タスクにおける蒸留
    • 検索タスクへの fine-tuning のタイミング
    o 蒸留の前後どっちがよいか不明
    • 蒸留パターン
    o fine-tuned BERT → 蒸留
    • ranker distillation
    o pre-trained BERT → 蒸留 → fine-tuning
    • LM distillation + fine-tuning
    o pre-trained BERT → 蒸留 → fine-tuning → 蒸留
    • LM + Ranker distillation
    2021.1.28
    3.6 Beyond BERT 23

    View Slide

  24. モデルサイズと性能
    • Train: 蒸留済み BERT を使って学習
    • Distill: BERT を使って蒸留
    2021.1.28
    3.6 Beyond BERT 24
    多くの NLP タスクでは⼩さなモデルから学習する
    (train) ほうが⾼性能なので検索タスクは特殊

    View Slide

  25. トランスフォーマーベースの⼿法
    • BERT の特徴
    o トランスフォーマー利⽤
    o ⼤規模データを使った事前学習
    • モチベーション
    o トランスフォーマーを使った,より検索に特
    化したモデルを考える
    • TK, TKL, CK
    2021.1.28
    3.6 Beyond BERT 25

    View Slide

  26. (補⾜) 検索に特化した DL モデル
    • KNRM
    o kernel based neural ranking model
    2021.1.28
    3.6 Beyond BERT 26

    View Slide

  27. TK (Transformer Kernel)
    • 1. ⽂書とクエリ別々に encoding
    • 2. Term✕Term ⾏列作る
    o KNRM と同じ
    • 3. kernel (畳み込みするフィルタ) を作る
    o 対数スコアと⻑さ正規化スコア
    • 4. スコアリング
    2021.1.28
    3.6 Beyond BERT 27

    View Slide

  28. 拡張
    • TKL (TK with local attention)
    o kernel-pooling するときに⽂書全体ではなく
    周辺語だけ使う
    • CK (TK with Conformer Kernel)
    o term-matching component 追加
    • Conformer 層追加
    o Conformer で調べたら transformer +
    CNN って出てきましたが関係は未確認
    2021.1.28
    3.6 Beyond BERT 28

    View Slide

  29. TK, TKL, CK の性能評価
    • monoBERT より性能低い
    2021.1.28
    3.6 Beyond BERT 29

    View Slide

  30. TK の効率/効果トレードオフ
    • 実⾏時間の低いところでは BERT よりも
    ⾼性能
    2021.1.28
    3.6 Beyond BERT 30

    View Slide

  31. (補⾜) T5
    • T5 (Text-to-Text Transfer Transformer)
    o NLP タスク全部まとめて seq2seq の転移学
    習タスクとして解く
    o ⼊⼒データにタスクの種類を書く
    • 翻訳タスクの⼊⼒データ
    o translate English to German: [⼊⼒⽂]
    • 感情分析タスクの⼊⼒
    o sst2 sentence: [⼊⼒分]
    • BERT の特殊トークン [CLS][SEP] と似た感じ
    o 検索タスク (ランキング) どうしたらいい?
    2021.1.28
    3.6 Beyond BERT 31

    View Slide

  32. monoT5
    • monoT5
    o Query: [クエリ] Document: [⽂書] Relevant:
    o 適合する確率を出⼒
    2021.1.28
    3.6 Beyond BERT 32
    3B = three billion parameters

    View Slide