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

BERTによる自然言語処理を学ぼう!【 Live!人工知能 #26】 #Live人工知能

yuky_az
November 02, 2020

BERTによる自然言語処理を学ぼう!【 Live!人工知能 #26】 #Live人工知能

自然言語処理の様々なタスクで高い性能を発揮する、「BERT」を解説する講座です。
BERT(Bidirectional Encoder Representations from Transformers )は2018年10月にGoogleが公開して以来、世界中のAI関係者の注目を集めています。
BERTは「Transformer」と呼ばれるモデルを利用することで、離れた単語間の関係、すなわち「文脈」を考慮した自然言語処理を実現します。
タスクによっては人間並みの精度を発揮する可能性もあり、「応答文の生成」や「文書の要約」といった様々なタスクでの活用が期待されています。
本講座により、新しい時代の有用な自然言語処理技術を身に付けましょう。

講座の内容は以下を予定しています。
Section1. 講座とBERTの概要: https://youtu.be/wPvRJXpLEyg
Section2. シンプルなBERTの実装: https://youtu.be/ZK3lFu5mXRM
Section3. BERTの仕組み: https://youtu.be/4iEVNNAh0SI
Section4. ファインチューニングの活用: https://youtu.be/InWiIJwrvH8
Section5. BERTの応用: https://youtu.be/02tfJx8ic3Q
講座の内容は、予告なく変更されることもあるのでご注意ください。

なお、今回の講座でプログラミング言語Pythonの解説は最小限となります。

【Live!人工知能】
毎週月曜日21時に開催。人工知能(AI)技術に関する無料のライブ講義です。
YouTube Liveを利用して配信されます。
以下のチャンネルで過去のライブ動画の一部を見ることができます。
https://www.youtube.com/channel/UCT_HwlT8bgYrpKrEvw0jH7Q

講師: 我妻幸長(@yuky_az)
「ヒトとAIの共生」がミッションの会社、SAI-Lab株式会社の代表取締役。AI関連の教育と研究開発に従事。
東北大学大学院理学研究科修了。理学博士(物理学)。
興味の対象は、人工知能(AI)、脳科学、シンギュラリティなど。
オンライン教育プラットフォームUdemyで、数万人にAIを教える人気講師。
様々な有名企業でAI研修を担当。
著書に、「はじめてのディープラーニング」「はじめてのディープラーニング2」(SBクリエイティブ)、「Pythonで動かして学ぶ!あたらしい数学の教科書 機械学習・深層学習に必要な基礎知識」(翔泳社)。共著に「No.1スクール講師陣による 世界一受けたいiPhoneアプリ開発の授業」(技術評論社)。

yuky_az

November 02, 2020
Tweet

More Decks by yuky_az

Other Decks in Technology

Transcript

  1. ίʔεͷಛ௃ • BERTͷجૅΛֶͿ
 → TransformerɺBERTͳͲͷࣗવݴޠॲཧٕज़Λֶͼ·͢ • PyTorchʹΑΔ࣮૷
 → Google Colaboratory؀ڥͰBERTΛಈ࡞ͤ͞·͢

    • ߨ࠲ͷର৅
 → ҰาਐΜͩࣗવݴޠॲཧٕज़Λ਎ʹ෇͚͍ͨํ
 → σΟʔϓϥʔχϯάʹؔ͢Δجૅతͳ஌ࣝͷ͋Δํ
 → ϓϩάϥϛϯάɺӳޠʹ఍߅ײ͕খ͍͞ํ
  2. ࣗવݴޠॲཧͷԠ༻ • ݕࡧΤϯδϯ • ػց຋༁ • ༧ଌม׵ • εύϜϑΟϧλ •

    Ի੠Ξγελϯτ • খઆͷࣥච • ର࿩γεςϜ • etc…
  3. ࣗવݴޠॲཧٕज़ͷཁૉ • ܗଶૉղੳ
 → จॻΛ୯ޠʹ෼ׂ͢Δٕज़ • ୯ޠͷ෼ࢄදݱ
 → จॻ಺Ͱͷؔ܎ੑΛ౿·͑ͯɺ୯ޠΛϕΫτϧԽ͢Δٕज़ •

    ࠶ؼܕχϡʔϥϧωοτϫʔΫʢRNNʣ
 → ࣌ܥྻΛѻ͏ͷ͕ಘҙͳχϡʔϥϧωοτϫʔΫͷҰछ • Seq2Seq
 → RNNΛϕʔεʹͨ͠ɺจষͳͲΛੜ੒ՄೳͳϞσϧ • etc…
  4. one-hotදݱ ͢΋΋ ΋ ΋΋ ΋ ΋΋ ͷ ͏ͪ ͢΋΋ ΋

    ΋΋ ͷ ͏ͪ *%      ʮ͢΋΋ʯͷone-hotදݱ: [1 0 0 0 0] ʮ΋ʯͷone-hotදݱ: [0 1 0 0 0]
  5. ෼ࢄදݱ • ୯ޠؒͷؔ࿈ੑ΍ྨࣅ౓ʹجͮ͘ϕΫτϧͰɺ୯ޠΛදݱ͢Δ    ʜ   

    ʜ    ʜ 200ཁૉఔ౓ உੑ ϩϯυϯ Python • word2vecͳͲΛ࢖͑͹ɺ଍͠ࢉ΍Ҿ͖ࢉ͕ՄೳͳϕΫτϧΛ࡞Δ͜ͱ͕Ͱ͖Δ
 ྫ: ʮԦʯ-ʮஉʯ+ʮঁʯ=ʮঁԦʯ
  6. ॏΈ CBOWʢcontinuous bag-of-wordsʣ • લޙͷ୯ޠ͔Βର৅ͷ୯ޠΛ༧ଌ͢ΔχϡʔϥϧωοτϫʔΫ • ֶशʹཁ͢Δ͕࣌ؒskip-gramΑΓ΋୹͍ ͢ ΋΋ ΋΋

    ΋ ೖྗ૚ தؒ૚ ग़ྗ૚ one-hotදݱ ॏΈ ॏΈΛද͢ߦྻ Wmid Wout ֶशʹΑΓɺWmid ͸෼ࢄදݱͷϕΫτϧ͕ฒΜͩߦྻʹͳΔ ΋ ෼ࢄදݱͱಉ͡ ཁૉ਺ͷϕΫτϧ
  7. skip-gram ॏΈ • ͋Δ୯ޠ͔Βɺલޙͷ୯ޠΛ༧ଌ͢ΔχϡʔϥϧωοτϫʔΫ • CBOWΑΓ΋ֶशʹ͕͔͔࣌ؒΔ͕ɺਫ਼౓͕Α͍ ͢ ΋΋ ΋΋ ΋

    ೖྗ૚ தؒ૚ ग़ྗ૚ one-hotදݱ ॏΈ ॏΈΛද͢ߦྻ Wmid Wout ֶशʹΑΓɺWmid ͸෼ࢄදݱͷ ϕΫτϧ͕ฒΜͩߦྻʹͳΔ ΋ ෼ࢄදݱͱಉ͡ ཁૉ਺ͷϕΫτϧ
  8. RNNͷॱ఻೻ͱٯ఻೻ ೖྗ ૚ தؒ ૚ ग़ྗ ૚ ೖྗ ૚ தؒ

    ૚ ग़ྗ ૚ ೖྗ ૚ தؒ ૚ ग़ྗ ૚ t = 0 t = 1 t = 2 ॱ఻೻
 ٯ఻೻ • ࣌ؒΛḪͬͯٯ఻೻͕ߦΘΕΔ • શͯͷ࣌ࠁͷதؒ૚Ͱɺ
 ύϥϝʔλ͸ڞ༗͞ΕΔ
  9. Seq2Seqͱ͸ • Seq2Seq͸ɺܥྻ(sequence)Λ ड͚औΓɺผͷܥྻ΁ม׵͢ΔϞσϧ • ࣗવݴޠॲཧͰΑ͘ར༻͞ΕΔ • จষͳͲͷೖྗΛѹॖ͢Δencoderͱɺग़ྗΛల։͢Δdecoder͔ΒͳΔ • ҎԼ͸׆༻ྫ

    • ػց຋༁ʢྫ: ӳޠͷจষ → ϑϥϯεޠͷจষʣ • จষཁ໿ʢݩͷจষ → ཁ໿จʣ • ର࿩ʢࣗ෼ͷൃݴ → ૬खͷൃݴʣ • etc…
  10. Transformerͷ࿦จ • Attention Is All You Need
 → https://arxiv.org/abs/1706.03762
 •

    ʮAttentionʯ͸࣌ܥྻσʔλͷಛఆͷ෦෼ʹ
 ஫ҙΛ޲͚ΔΑ͏ʹֶश͍ͤͯ͘͞ํ๏
  11. TransformerͷϞσϧ "UUFOUJPO*T"MM:PV/FFE "TIJTI 7FUBM  ΑΓҾ༻ &ODPEFS %FDPEFS &ODPEFSͷߏ଄ ̍ɽ&NCFEEJOH૚ʹΑΓೖྗจষΛϕΫτϧʹѹॖ

    ̎ɽ1PTJUJPOBM&ODPEFS૚ʹΑͬͯҐஔ৘ใΛՃ͑Δ ̏ɽ.VMUJ)FBE"UUFOUJPO૚ ̐ɽOPSNBMJ[BUJPOʢਖ਼نԽʣͳͲ ̑ɽ1PTJUJPOXJTFGVMMZDPOOFDUFEGFFEGPSXBSEOFUXPSL ̒ɽOPSNBMJ[BUJPOʢਖ਼نԽʣͳͲ Λճ܁Γฦ͢
  12. TransformerͷϞσϧ "UUFOUJPO*T"MM:PV/FFE "TIJTI 7FUBM  ΑΓҾ༻ &ODPEFS %FDPEFS %FDPEFSͷߏ଄ ̍ɽ&NCFEEJOH૚ʹΑΓೖྗจষΛϕΫτϧʹѹॖ

    ̎ɽ1PTJUJPOBM&ODPEFS૚ʹΑͬͯҐஔ৘ใΛՃ͑Δ ̏ɽ.VMUJ)FBE"UUFOUJPO૚ ̐ɽOPSNBMJ[BUJPOʢਖ਼نԽʣͳͲ ̑.VMUJ)FBE"UUFOUJPO૚ʢ&ODPEFSͷೖྗΛ࢖༻ʣ ̒ɽOPSNBMJ[BUJPOʢਖ਼نԽʣͳͲ ̓ɽ1PTJUJPOXJTFGVMMZDPOOFDUFEGFFEGPSXBSEOFUXPSL ̔ɽOPSNBMJ[BUJPOʢਖ਼نԽʣͳͲ Λճ܁Γฦ͢
  13. BERTͷ֓ཁ • BERTʢBirdirectional Encoder Representation from Transformersʣͱ͸ʁ
 → 2018೥ͷޙ൒ʹGoogle͔Βൃද͞Εͨɺ
 ࣗવݴޠॲཧͷͨΊͷ৽ͨͳσΟʔϓϥʔχϯάͷϞσϧ

    
 → Transformer͕ϕʔεͱͳ͍ͬͯΔ
 → ༷ʑͳࣗવݴޠॲཧλεΫͰϑΝΠϯνϡʔχϯά͕Մೳ
 → ैདྷͷࣗવݴޠॲཧλεΫͱൺֱͯ͠ɺߴ͍൚༻ੑ
  14. BERTͷ࿦จ • BERT: Pre-training of Deep Bidirectional Transformers for Language

    Understanding
 → https://arxiv.org/abs/1810.04805
  15. BERTͷֶश • ࣄલֶश
 → Transformer͕ɺจষ͔Βจ຺Λ૒ํ޲ʢBidirectionalʣʹֶश͢Δ
 → Masked Language Model͓ΑͼNext Sentence

    PredictionʹΑΔ૒ํ޲ֶश • ϑΝΠϯνϡʔχϯά
 → ࣄલֶशʹΑΓಘΒΕͨύϥϝʔλΛॳظ஋ͱͯ͠ɺϥϕϧ෇͖ͷσʔλͰɹ ϑΝΠϯνϡʔχϯάΛߦ͏
  16. Masked Language Model • Masked Language Model
 → จষ͔Βಛఆͷ୯ޠΛ15ˋϥϯμϜʹબͼɺ[MASK]τʔΫϯʹஔ͖׵͑Δ
 →

    ྫ: my dog is hairy → my dog is [MASK]
 → [MASK]ͷ୯ޠΛɺલޙͷจ຺͔Β༧ଌ͢Δ
  17. Next Sentence Prediction • Next Sentence Prediction
 → 2ͭͷจষʹؔ܎͕͋Δ͔Ͳ͏͔Λ൑ఆ͢Δ
 →

    ޙΖͷจষΛ50%ͷ֬཰Ͱແؔ܎ͳจষʹஔ͖׵͑Δ
 → ޙΖͷจষ͕ҙຯతʹద੾Ͱ͋Ε͹IsNextɺͦ͏Ͱͳ͚Ε͹NotNextͷ൑ఆ • [CLS] the man went to [MASK] store [SEP] / he bought a gallon [MASK] milk [SEP]
 ൑ఆɿIsNext
 [CLS] the man went to [MASK] store [SEP] / penguin [MASK] are flight #less birds [SEP]
 ൑ఆɿNotNext
  18. BERTͷੑೳ #&351SFUSBJOJOHPG%FFQ#JEJSFDUJPOBM5SBOTGPSNFSTGPS-BOHVBHF6OEFSTUBOEJOH %FWMJO +FUBM  ΑΓҾ༻ • SQuAD
 → ʮStanford

    Question Answering Datasetʯͷུ
 → ελϯϑΥʔυେֶ͕Ұൠެ։͍ͯ͠Δ
 ݴޠॲཧͷਫ਼౓ΛଌΔϕϯνϚʔΫ
 → σʔλ͸໿10ສݸͷ࣭໰Ԡ౴ͷϖΞΛؚΉ
  19. Google Colaboratoryͱ͸? • Google Colaboratory
 → Google͕ఏڙ͢Δɺϒϥ΢βͰPythonΛ࣮ߦͰ͖Δ؀ڥ
 → GoogleΞΧ΢ϯτͰར༻Մೳ
 →

    جຊతʹແྉ
 → ؀ڥߏங͕؆୯
 → ڞ༗͕؆୯
 → etc…
 https://colab.research.google.com/
  20. Section 1. ߨ࠲ͱBERTͷ֓ཁ Section 2. γϯϓϧͳBERTͷ࣮૷ Section 3. BERTͷ࢓૊Έ Section

    4. ϑΝΠϯνϡʔχϯάͷ׆༻ Section 5. BERTͷԠ༻ ࣍ճͷ಺༰