Share
Embed
Transcript
31 slides
-
自己紹介 生息地 _人人人人_ > 札幌 <  ̄Y^Y^Y^Y^ ̄ じょんすみす データアナリティクス事業本部 インテグレーション部
機械学習チーム 特徴 • 機械学習やってるっぽい • PythonよりRの方が好きらしい • Excelだけ全部やれと言われたら出来ないこともない • Hadoop, EMRおじさん -
本日話す内容 生成AIと呼ばれるジャンルは、ChatGPTの登場で一躍有名になりました。 Transformer呼ばれる構造のDeep Learningモデルやそれを人間との会話のために ファインチューニングするため仕組みを含めた RLHF(Reinforcement Learning from Human Feedback)と呼ばれる手法は
LLM(Large Language Model)の中核となっています。 また、画像の生成においてはDiffusion Modelのような手法も存在しています。 AIをブラックボックスで利用するだけでなく、その仕組みについても理解してみませんか? セッション概要に記載させていただいたもの -
本日話す内容 • いろいろ書いてありますが... • Deep LearningとTransformerの話を簡単にした後に • それを踏まえてのLLM(Large Language Model)との関わり方を
• 話したいと思いますよ セッション概要は風呂敷を広げ過ぎました -
Transformerでの生成のイメージ Transformerの場合だと... Embedding Positional Encoding Masked Multi-Head Attention Add &
Norm Feed Forward Add & Norm Linear softmax 𝐱 input 𝑦 𝜃 𝑃𝜃 (𝑦|𝐱) 次に来るトークン これまでのトークン 𝑃𝜃 (𝑤𝑡 |𝑤1 , … , 𝑤𝑡−1 ) 𝐱をトークン列(𝑤1 , 𝑤2 , … , 𝑤𝑡−1 )、𝑦を𝑤𝑡 として を求める関数𝑓(𝑤1 , 𝑤2 , … , 𝑤𝑡−1 ; 𝜃)の定義としてのTransformer 出力が与えられた文章のトークン𝑤𝑡 である確率を最大化する パラメータ𝜃を求めることで学習をする 学習済みモデルを使うことで次の単語の予測が可能になる -
Transformerでの生成のイメージ 普通の機械学習と同じようなことしてね? BERT 事前学習は途中の単語を抜いたもので行うが fine-tuningで解くタスクのための特徴量獲得 BERT: Pre-training of Deep Bidirectional
Transformers for Language Understanding GPT-1 様々なタスクで利用するためのネットワークの 使い方が記載されている Improving Language Understanding by Generative Pre-Training -
モデルについて今一度考えてみる モデルが本当にやりたかったことは何だろう? • 真の関数𝑓(𝐱)なんてものは本当に存在するのか? • データを使って得られる関数 መ 𝑓(𝐱; 𝜃)が十分に近似できてればいいんじゃなかろうか? •
同じ分布から生成された未知の𝐱′も同様に予測できればいいんじゃないだろうか? • 人々はデータとして与えられていない外の世界を本当に見たいのだろうか? -
ディープなネットワークと表現学習 昔から言われてきた「ディープラーニングは特徴抽出も行う」という話 例えばCNNでは... • 浅い層ではエッジなどを抽出 • 層が深くなるごとにより複合的なパーツを認識していく • 学習した中間層は転移学習に利用できる 特徴量として圧縮された低次元の情報への変換を行う
• Autoencoderによる非線形の次元圧縮 • Word2VecをはじめとしたEmbeddingでの表現 -
ディープなネットワークと表現学習 自然言語の文章も階層的な構造をなす • 文章中の係り受け構造 • 代名詞などのその前の文章も見なければ解決しないもの • 物体や概念と言った文章の外側にあるものや常識との紐づけ 頭が赤い魚を食べる猫 中村明裕@nakamurakihiro氏のツイッターより
文章を理解するには様々な要素を加味したうえで考える必要がある 自然言語で書かれた文章の自由さ • 文章のみから構造が一意に決まるわけではない • 同じ表現をするのに異なる複数の方法がある -
Transformerで考える「何を学習するか」 自己教師あり学習とSelf-Attention Query, Key, Valueの3つの引数をもつAttention関数を導入 要素はそれぞれベクトルで与えられる Attention(𝑄, 𝐾, 𝑉) この関数は以下のような計算を行うことを想定したもの
• QueryとKeyで要素間のマッピングを行う • それに対してValueでの変換を行ったものを出力する Neural Machine Translation by Jointly Learning to Align and Translate 例) 英語とフランス語のマッピング※ Source-Target型のAttention 当時の論文とは用語が異なるので注意 ※ -
Transformerで考える「何を学習するか」 自己教師あり学習とSelf-Attention Attention関数の中身はどうなってるか? まずはScaled Dot-Product Attentionという構造がある(左) Attention 𝑄, 𝐾, 𝑉
= softmax 𝑄𝐾𝑇 𝑑 𝑉 Attention Is All You Need 前段に全結合層を挟みこの構造を複数並列させる(右) MultiHead 𝑄, 𝐾, 𝑉 = Concat(head1 , … , headℎ )𝑊𝑜 where head𝑖 = Attention(𝑄𝑊 𝑖 𝑄, 𝐾𝑊𝑖 𝐾, 𝑉𝑊𝑖 𝑉) 具体的な動きに関して分かりやすく解説されたサイトがあります 【Transformerの基礎】Multi-Head Attentionの仕組み -
Transformerでの生成のイメージ 【再掲】普通の機械学習と同じようなことしてね? BERT 事前学習は途中の単語を抜いたもので行うが fine-tuningで解くタスクのための特徴量獲得 BERT: Pre-training of Deep Bidirectional
Transformers for Language Understanding GPT-1 様々なタスクで利用するためのネットワークの 使い方が記載されている Improving Language Understanding by Generative Pre-Training -
End to Endだけでものごとを考えない AIはよくわからないけど凄いことをしてくれるという印象があります。 AIに限らずあらゆるツールは単体ですべてをやってくれるわけではありません • AIに指示を出せば自ら考えて業務を実施してくれる • AIの導入によって人間を介することなく 自社の新サービスができる
After Before • ヒト・モノ・カネといった様々な資源や 業務のフローが複雑に連携し合う • サービス開発時にも様々なシステムが連携しあう -
End to Endだけでものごとを考えない AIはよくわからないけど凄いことをしてくれるという印象があります。 AIに限らずあらゆるツールは単体ですべてをやってくれるわけではありません • AIに指示を出せば自ら考えて業務を実施してくれる • AIの導入によって人間を介することなく 自社の新サービスができる
After Before • ヒト・モノ・カネといった様々な資源や 業務のフローが複雑に連携し合う • サービス開発時にも様々なシステムが連携しあう