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

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

Ryokan RI
September 14, 2022

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

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

Ryokan RI

September 14, 2022
Tweet

More Decks by Ryokan RI

Other Decks in Research

Transcript

  1. ݴޠؒసҠ͕ՄೳͳΤϯίʔμͷ͍࣋ͬͯΔ஌ࣝͱ͸Կ͔ʁ ౦ژେֶ ௽Ԭݚ ཥ ྇פ (@ryoNLP0123) ਓ޻ݴޠΛ࢖ͬͨࣄલ܇࿅ɿ

  2. ཥ ྇פʢϦ Ϧϣ΢Χϯʣ - ౦େ௽Ԭݚ D3 - ڵຯ͸ϚϧνϦϯΨϧ NLP -

    தࠃੜ·Ε೔ຊҭͪ ࣗݾ঺հ
  3. ༮গظ… 私 中国 持 算数

  4. ֶߍʹͯ 算数 !

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

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

  7. ੈքதͷݴޠͱσʔλྔ The State and Fate of Linguistic Diversity and Inclusion

    in the NLP World (Joshi, et al., 2020) 7 ݴޠʢ೔ຊޠɺӳޠͳͲʣ 2191 ݴޠ 222 ݴޠ
  8. ݴޠؒసҠֶशͷ΍Γ͔ͨ ݱࡏओྲྀͷํ๏͸ෳ਺ݴޠͰ࢖͑ΔΤϯίʔμΛֶशͯ͠ݴޠؒ Ͱ࢖͍ճ͢͜ͱɻ 複数⾔語 使 ? ⾔語 違 ⽂法 違

    、何 共通性 ?
  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 🇬🇧 ❄ ΤϯίʔμͷॏΈ͸ӳޠͰ͔͠Ξοϓσʔτ͞Ε͍ͯͳ͍͕ɺεϖΠϯޠͷλεΫ͕ղ͚Δɻ
  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 🇪🇸 ָේσʔλͰ܇࿅͞ΕͨΤϯίʔμ͕ɺεϖΠϯޠͷϞσϦϯάʹ͋Δఔ౓࢖͑Δɻ
  11. ࠓ೔ͷ࿩Ͱߟ͍͑ͨ͜ͱ ΤϯίʔμʹͲͷΑ͏ͳ஌ֶ͕ࣝश͞ΕΕ͹ɺ ͦΕ͸ଞͷݴޠʹ໾ཱͭͷ͔ʁ

  12. ࣮ݧख๏ ਓ޻ݴޠ͔ΒͷసҠֶश Encoder L1 Embeddings L1 Pretraining L2 Embeddings Encoder

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

  14. ਓ޻ݴޠ '1539', '3283', '2412', '6587', '5401', '26', '9138', '3192', '904',

    '7458' w ୯ޠͷ୅ΘΓʹ਺ࣈͱه߸ͷཏྻ͔ΒͳΔɻ w Կ͔͠ΒͷTFNBOUJDTʹάϥ΢ϯσΟϯά͞Ε͍ͯΔΘ͚ Ͱ͸ͳ͘ɺͨͩߏ଄Λ΋ͭɻ w ਓ޻ݴޠͷจ͸αϯϓϦϯά͞Εͯੜ੒͞ΕΔɻ
  15. ਓ޻ݴޠͷจΛαϯϓϦϯά͢Δ l ∼ plen (l) w ·ͣจͷ௕͞ΛԿ͔͠Βͷ෼෍͕Βαϯϓϧ͢Δɻ w ͦͷ਺͚ͩτʔΫϯΛαϯϓϧ͢Δɻ͜͜Ͱ࢖ΘΕΔΞϧΰϦζϜ͕ ਓ޻ݴޠΛಛ௃͚ͮΔɻ

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

    are fighting over food.”
  17. Uniform Language p(w) = 1 | 𝒱 | ୯ޠ͸Ұ༷෼෍͔ΒαϯϓϦϯά͞ΕΔ ͜Ε͸୯ͳΔϕʔεϥΠϯɻ

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

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

    ⃗ v w ) ⃗ c s ⃗ v w Discourse vector: ͜Ε͸ͦΕͧΕͷจʹରͯ͠ɺਖ਼ن෼෍ ͔ΒϥϯμϜʹαϯϓϧ͞ΕΔɻ Word vectors: ͦΕͧΕͷ୯ޠ͕ϕΫτϧΛ࣋ͭɻ͜ͷϕΫ τϧ͸ਖ਼ن෼෍͔ΒϥϯμϜʹαϯϓϦϯά͞ΕΔɻ
  20. จ಺ͷ୯ޠ͸Ұఆͷϧʔϧʹैͬͯ഑ஔ͞ΕΔɻ จͷߏ଄ΛϞσϦϯά͢Δ I dog saw a nsubj obj det 7&3#

    130 /06/ %&5 • ࠓճ͸ґଘߏ଄Λ໛ͨ͠΋ͷΛ࡞Δɻ
  21. Nesting Dependency Language <0 <248 <23 23> <567 567> 248>

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

    • ϖΞͷґଘؔ܎͸ೖΕࢠʹͳ͍ͬͯͳͯ͘ྑ͍ɻ 248> • จ಺ʹ୯ޠ͸ඞͣಛఆͷϖΞͱҰॹʹݱΕΔɻ
  23. ͍ͬͨΜ·ͱΊ: ਓ޻ݴޠͨͪ ୯ޠͷ෼෍ΛϞσϦϯά uniform zipf log-linear จͷߏ଄ΛϞσϦϯά flat nesting

  24. ࣮ݧ

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

    L2 Training 🇬🇧 Encoder L2 Embeddings L2 Evaluation 🇬🇧 ͜͜ͷਓ޻ݴޠ͕ͲͷΑ͏ͳߏ଄Λ͍࣋ͬͯΕ͹ ӳޠͷλεΫΛղ͘ͷʹ໾ʹཱͭΤϯίʔμ͕Ͱ͖Δͷ͔ʁ
  26. λεΫɿݴޠϞσϦϯά ίϯςΫετ͔Β࣍ͷ୯ޠΛ༧ଌ͢Δɻ Encoder A cat and dog are

  27. ϕʔεϥΠϯͳͲ L2 Embeddings Encoder ❄ Random Weights 🇬🇧 Encoder From

    Scratch L2 Embeddings 🇬🇧 Encoder L1 Embeddings Pretrained Encoders L2 Embeddings Encoder ❄ 🇬🇧
  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 ΋ࢼͯ͠େମಉ͡܏޲)
  29. τʔΫϯͷ෼෍ͷӨڹ͸ʁ • Log-linear Language ͷΑ͏ͳ୯ޠ෼෍͕͋Δͱɺͦͦ͜͜࢖͑ΔΤϯίʔμʹͳΔɻ

  30. จͷߏ଄ͷӨڹ͸ʁ • Flat ͱ Nesting ͩͱ Nesting ͷํ͕ྑ͍ɻ • ਓ޻ݴޠͱࣗવݴޠͷ͕ࠩࢥͬͨΑΓ͍ۙʢখ͍͞Ϟσϧͱ୯७ͳλεΫ͔ͩΒͩͱࢥ͏͕…ʣ

  31. ΋͏ͪΐͬͱ෼ੳ

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

  33. Τϯίʔμग़ྗʹจ຺৘ใ͸ ͲΕؚ͚ͩ·Ε͍ͯΔ͔ʁ Encoder 34 28 12 77 ग़ྗϕΫτϧ͔Βೖྗதͷલʹग़͖ͯͨτʔΫϯΛ༧ଌ͢Δɻ (34, 28,

    12, 77) Probing λεΫΛ࡞ͬͯௐ΂Δ
  34. Τϯίʔμग़ྗʹจ຺৘ใ͸ ͲΕؚ͚ͩ·Ε͍ͯΔ͔ʁ Probing Task Language Modeling Probing λεΫͷείΞͱݴޠϞσϦϯάͷੑೳ͸૬͍ؔͯ͠Δɻ

  35. Τϯίʔμग़ྗʹจ຺৘ใ͸ ͲΕؚ͚ͩ·Ε͍ͯΔ͔ʁ Probing Task Language Modeling ͜͜΋؇΍͔ʹ૬ؔʁ

  36. • ࣗવݴޠλεΫʹసҠ͢ΔͨΊʹ͸ɺจ຺৘ใΛΤϯίʔ υ͢Δೳྗ͕ॏཁɻ • จ຺৘ใΛΤϯίʔυͷ࢓ํΛసҠͤ͞Δ͜ͱ͕ɺ࣮ࡍͷ cross-lingual transfer Ͱ΋ΧΪͱͳ͍ͬͯΔ…ʁ ͜ͷ݁Ռͷࣔࠦ͢Δͱ͜Ζ

  37. • େ͖͍Ϟσϧɺ೉͍͠λεΫͰ͸Ͳ͏͔ʁ • Τϯίʔμͷจ຺Λ·ͱΊΔύλʔϯΛΑΓৄࡉʹ෼ੳ͢Δ ํ๏͸ʁ ؾʹͳΔͱ͜Ζ