$30 off During Our Annual Pro Sale. View Details »

人工言語を使った事前訓練:言語間転移が可能なエンコーダの持っている知識とは何か?

Ryokan RI
September 14, 2022

 人工言語を使った事前訓練:言語間転移が可能なエンコーダの持っている知識とは何か?

ニューラルネットワークを用いた自然言語処理において標準的に用いられるモジュールに、入力系列から有用な情報を抽出するエンコーダがある。このエンコーダについて、我々人間からすると直感に反するような興味深い観察が報告されている。単一の言語で訓練されたエンコーダが、文法が異なる別の言語の入力にも転用できる、ということである。また、非言語データ(楽譜、プログラミングコードなど)で訓練したとしても、自然言語タスクにある程度役に立つエンコーダが得られることが知られている。人間の目には全く異なるように見える言語(系列データ)の間で転移されている知識とは何か?本研究では、抽象的な構造を持つ人工的に生成した系列データ("人工言語")を用いてエンコーダを訓練する。そのエンコーダを自然言語タスクへと転用し、性能を評価することによって、自然言語タスクに有用かつ転移可能な構造を明らかにする。

Ryokan RI

September 14, 2022
Tweet

More Decks by Ryokan RI

Other Decks in Research

Transcript

  1. ݴޠؒసҠ͕ՄೳͳΤϯίʔμͷ͍࣋ͬͯΔ஌ࣝͱ͸Կ͔ʁ
    ౦ژେֶ ௽Ԭݚ


    ཥ ྇פ (@ryoNLP0123)
    ਓ޻ݴޠΛ࢖ͬͨࣄલ܇࿅ɿ

    View Slide

  2. ཥ ྇פʢϦ Ϧϣ΢Χϯʣ


    - ౦େ௽Ԭݚ D3


    - ڵຯ͸ϚϧνϦϯΨϧ NLP


    - தࠃੜ·Ε೔ຊҭͪ
    ࣗݾ঺հ

    View Slide

  3. ༮গظ…
    私 中国 持
    算数

    View Slide

  4. ֶߍʹͯ
    算数 !

    View Slide

  5. தࠃޠͰֶश͠ ೔ຊޠͷςετΛड͚Δ
    ݴޠؒసҠֶश
    Cross-lingual Transfer Learning

    View Slide

  6. ܇࿅σʔλ͕ಛఆͷݴޠ͔͠ͳ͍ʢྫɿதࠃޠʣঢ়گԼͰɺଞͷ
    ݴޠʢྫɿ೔ຊޠʣͷσʔλʹ΋ରԠͰ͖ΔϞσϧΛͭ͘Δɻ
    ݴޠؒసҠֶश
    回 ?
    ➡︎
    ϥϕϧ෇σʔλ͕શવͳ͍ݴޠ΋ੈքʹ͸ͨ͘͞Μ͋ΔͨΊ

    View Slide

  7. ੈքதͷݴޠͱσʔλྔ


    The State and Fate of Linguistic Diversity and Inclusion in the NLP World
    (Joshi, et al., 2020)
    7 ݴޠʢ೔ຊޠɺӳޠͳͲʣ
    2191 ݴޠ
    222 ݴޠ

    View Slide

  8. ݴޠؒసҠֶशͷ΍Γ͔ͨ
    ݱࡏओྲྀͷํ๏͸ෳ਺ݴޠͰ࢖͑ΔΤϯίʔμΛֶशͯ͠ݴޠؒ
    Ͱ࢖͍ճ͢͜ͱɻ
    複数⾔語 使 ?
    ⾔語 違 ⽂法 違 、何 共通性 ?

    View Slide

  9. ͓ͲΖ͖ͷઌߦݚڀͨͪ


    On the Cross-lingual Transferability of Monolingual Representations
    (Artetxe et al., 2020)
    Encoder
    L1 Embeddings
    L1 Pretraining
    🇬🇧
    L2 Embeddings
    Encoder

    L2 Pretraining
    🇪🇸
    Encoder
    L2 Embeddings
    L2 Evaluation
    🇪🇸
    Encoder
    L1 Embeddings
    L1 Fine-tuning
    🇬🇧

    ΤϯίʔμͷॏΈ͸ӳޠͰ͔͠Ξοϓσʔτ͞Ε͍ͯͳ͍͕ɺεϖΠϯޠͷλεΫ͕ղ͚Δɻ

    View Slide

  10. ͓ͲΖ͖ͷઌߦݚڀͨͪ


    Using Transfer to Study Linguistic Structure in Language Models


    (Papadimitriou and Jurafsky, 2020)
    Encoder
    L1 Embeddings
    L1 Pretraining

    L2 Embeddings
    Encoder

    L2 Training
    🇪🇸
    Encoder
    L2 Embeddings
    L2 Evaluation
    🇪🇸
    ָේσʔλͰ܇࿅͞ΕͨΤϯίʔμ͕ɺεϖΠϯޠͷϞσϦϯάʹ͋Δఔ౓࢖͑Δɻ

    View Slide

  11. ࠓ೔ͷ࿩Ͱߟ͍͑ͨ͜ͱ
    ΤϯίʔμʹͲͷΑ͏ͳ஌ֶ͕ࣝश͞ΕΕ͹ɺ
    ͦΕ͸ଞͷݴޠʹ໾ཱͭͷ͔ʁ

    View Slide

  12. ࣮ݧख๏


    ਓ޻ݴޠ͔ΒͷసҠֶश
    Encoder
    L1 Embeddings
    L1 Pretraining
    L2 Embeddings
    Encoder

    L2 Training
    🇬🇧
    Encoder
    L2 Embeddings
    L2 Evaluation
    🇬🇧
    Կ͔͠Βͷߏ଄Λ࣋ͬͨਓ޻ݴޠΛσβΠϯ͢Δɻ

    View Slide

  13. ਓ޻ݴޠΛσβΠϯ͢Δ

    View Slide

  14. ਓ޻ݴޠ
    '1539', '3283', '2412', '6587', '5401', '26', '9138', '3192', '904', '7458'
    w ୯ޠͷ୅ΘΓʹ਺ࣈͱه߸ͷཏྻ͔ΒͳΔɻ
    w Կ͔͠ΒͷTFNBOUJDTʹάϥ΢ϯσΟϯά͞Ε͍ͯΔΘ͚
    Ͱ͸ͳ͘ɺͨͩߏ଄Λ΋ͭɻ
    w ਓ޻ݴޠͷจ͸αϯϓϦϯά͞Εͯੜ੒͞ΕΔɻ

    View Slide

  15. ਓ޻ݴޠͷจΛαϯϓϦϯά͢Δ
    l ∼ plen
    (l)
    w ·ͣจͷ௕͞ΛԿ͔͠Βͷ෼෍͕Βαϯϓϧ͢Δɻ
    w ͦͷ਺͚ͩτʔΫϯΛαϯϓϧ͢Δɻ͜͜Ͱ࢖ΘΕΔΞϧΰϦζϜ͕
    ਓ޻ݴޠΛಛ௃͚ͮΔɻ

    View Slide

  16. ࣗવݴޠʹ͓͚Δ୯ޠ͸ϥϯμϜʹݱΕΔΘ͚Ͱ͸ͳ͍ɻ
    ୯ޠͷ෼෍ΛϞσϦϯά͢Δ
    • ස౓෼෍͸࿪ΜͰ͍Δ͠…
    • จ಺ͷ୯ޠ͸Կ͔͠Βͷؔ࿈ੑΛ࣋ͭɻ
    “A dog and cat are fighting over food.”

    View Slide

  17. Uniform Language
    p(w) =
    1
    |
    𝒱
    |
    ୯ޠ͸Ұ༷෼෍͔ΒαϯϓϦϯά͞ΕΔ


    ͜Ε͸୯ͳΔϕʔεϥΠϯɻ

    View Slide

  18. Zipf Language
    p(w) ∝
    1
    rank(w)
    ୯ޠ͸ Zipf ͷ෼෍͔ΒαϯϓϦϯά͞ΕΔɻ

    View Slide

  19. Log-Linear Language
    ୯ޠ͸จຖʹҟͳΔ෼෍͔ΒαϯϓϦϯά͞ΕΔɻ
    p(w|s) ∝ exp( ⃗
    c s
    ⋅ ⃗
    v w
    )

    c s

    v w
    Discourse vector: ͜Ε͸ͦΕͧΕͷจʹରͯ͠ɺਖ਼ن෼෍
    ͔ΒϥϯμϜʹαϯϓϧ͞ΕΔɻ
    Word vectors: ͦΕͧΕͷ୯ޠ͕ϕΫτϧΛ࣋ͭɻ͜ͷϕΫ
    τϧ͸ਖ਼ن෼෍͔ΒϥϯμϜʹαϯϓϦϯά͞ΕΔɻ

    View Slide

  20. จ಺ͷ୯ޠ͸Ұఆͷϧʔϧʹैͬͯ഑ஔ͞ΕΔɻ
    จͷߏ଄ΛϞσϦϯά͢Δ
    I dog
    saw a
    nsubj obj
    det
    7&3#
    130 /06/
    %&5
    • ࠓճ͸ґଘߏ଄Λ໛ͨ͠΋ͷΛ࡞Δɻ

    View Slide

  21. Nesting Dependency Language
    <0 <248
    <23 23> <567 567> 248> 0>
    • จ಺ʹ୯ޠ͸ඞͣಛఆͷϖΞͱҰॹʹݱΕΔɻ
    • ϖΞͷґଘؔ܎͸ೖΕࢠʹͳ͍ͬͯΔɻ

    View Slide

  22. Flat Dependency Language
    <0 <248
    <23 23> <567 567> 0>
    • ϖΞͷґଘؔ܎͸ೖΕࢠʹͳ͍ͬͯͳͯ͘ྑ͍ɻ
    248>
    • จ಺ʹ୯ޠ͸ඞͣಛఆͷϖΞͱҰॹʹݱΕΔɻ

    View Slide

  23. ͍ͬͨΜ·ͱΊ: ਓ޻ݴޠͨͪ
    ୯ޠͷ෼෍ΛϞσϦϯά
    uniform zipf log-linear
    จͷߏ଄ΛϞσϦϯά
    flat nesting

    View Slide

  24. ࣮ݧ

    View Slide

  25. ͔֬Ί͍ͨ͜ͱ
    Encoder
    L1 Embeddings
    L1 Pretraining
    L2 Embeddings
    Encoder

    L2 Training
    🇬🇧
    Encoder
    L2 Embeddings
    L2 Evaluation
    🇬🇧
    ͜͜ͷਓ޻ݴޠ͕ͲͷΑ͏ͳߏ଄Λ͍࣋ͬͯΕ͹


    ӳޠͷλεΫΛղ͘ͷʹ໾ʹཱͭΤϯίʔμ͕Ͱ͖Δͷ͔ʁ

    View Slide

  26. λεΫɿݴޠϞσϦϯά
    ίϯςΫετ͔Β࣍ͷ୯ޠΛ༧ଌ͢Δɻ
    Encoder
    A cat and dog
    are

    View Slide

  27. ϕʔεϥΠϯͳͲ
    L2 Embeddings
    Encoder

    Random Weights
    🇬🇧
    Encoder
    From Scratch
    L2 Embeddings
    🇬🇧
    Encoder
    L1 Embeddings
    Pretrained Encoders
    L2 Embeddings
    Encoder

    🇬🇧

    View Slide

  28. Ϟσϧ


    • Transformer (300 dim, 3 layers)


    ࣄલֶशͷσʔλ


    12.8M จΛ֤ݴޠʹ͍ͭͯαϯϓϦϯάɻ


    • Artificial languages


    • Natural languages (Wikipedia dumps of en, es, ja)


    ධՁλεΫͷσʔλ (Fine-tuning and test)


    • the Penn Treebank Corpus
    ࣮ݧઃఆ
    (LSTM ΋ࢼͯ͠େମಉ͡܏޲)

    View Slide

  29. τʔΫϯͷ෼෍ͷӨڹ͸ʁ
    • Log-linear Language ͷΑ͏ͳ୯ޠ෼෍͕͋Δͱɺͦͦ͜͜࢖͑ΔΤϯίʔμʹͳΔɻ

    View Slide

  30. จͷߏ଄ͷӨڹ͸ʁ
    • Flat ͱ Nesting ͩͱ Nesting ͷํ͕ྑ͍ɻ


    • ਓ޻ݴޠͱࣗવݴޠͷ͕ࠩࢥͬͨΑΓ͍ۙʢখ͍͞Ϟσϧͱ୯७ͳλεΫ͔ͩΒͩͱࢥ͏͕…ʣ

    View Slide

  31. ΋͏ͪΐͬͱ෼ੳ

    View Slide

  32. Τϯίʔμ͕จ຺৘ใΛଊ͍͑ͯΔ͜ͱ͕ॏཁʁ
    Ծઆ
    • Τϯίʔμ͕΍͍ͬͯΔͷ͸ཁ͢Δʹɺจ຺৘ใʢೖྗத
    ͷτʔΫϯʣΛ̍ͭͷϕΫτϧʹ·ͱΊΔ͜ͱɻ

    View Slide

  33. Τϯίʔμग़ྗʹจ຺৘ใ͸


    ͲΕؚ͚ͩ·Ε͍ͯΔ͔ʁ
    Encoder
    34 28 12 77
    ग़ྗϕΫτϧ͔Βೖྗதͷલʹग़͖ͯͨτʔΫϯΛ༧ଌ͢Δɻ


    (34, 28, 12, 77)
    Probing λεΫΛ࡞ͬͯௐ΂Δ

    View Slide

  34. Τϯίʔμग़ྗʹจ຺৘ใ͸


    ͲΕؚ͚ͩ·Ε͍ͯΔ͔ʁ
    Probing Task Language Modeling
    Probing λεΫͷείΞͱݴޠϞσϦϯάͷੑೳ͸૬͍ؔͯ͠Δɻ

    View Slide

  35. Τϯίʔμग़ྗʹจ຺৘ใ͸


    ͲΕؚ͚ͩ·Ε͍ͯΔ͔ʁ
    Probing Task Language Modeling
    ͜͜΋؇΍͔ʹ૬ؔʁ

    View Slide

  36. • ࣗવݴޠλεΫʹసҠ͢ΔͨΊʹ͸ɺจ຺৘ใΛΤϯίʔ
    υ͢Δೳྗ͕ॏཁɻ


    • จ຺৘ใΛΤϯίʔυͷ࢓ํΛసҠͤ͞Δ͜ͱ͕ɺ࣮ࡍͷ
    cross-lingual transfer Ͱ΋ΧΪͱͳ͍ͬͯΔ…ʁ
    ͜ͷ݁Ռͷࣔࠦ͢Δͱ͜Ζ

    View Slide

  37. • େ͖͍Ϟσϧɺ೉͍͠λεΫͰ͸Ͳ͏͔ʁ


    • Τϯίʔμͷจ຺Λ·ͱΊΔύλʔϯΛΑΓৄࡉʹ෼ੳ͢Δ
    ํ๏͸ʁ
    ؾʹͳΔͱ͜Ζ

    View Slide