「深局孊習ず自然蚀語凊理」オックスフォヌド倧/DeepMind 講矩たずめ甚語集付き

Posted on 2018-02-08(朚) in Deep Learning

「深局孊習ず自然蚀語凊理」オックスフォヌド倧/DeepMind 講矩

オックスフォヌド倧の「深局孊習ず自然蚀語凊理」(Oxford Deep NLP 2017 course)の講矩メモです。

講矩ビデオ、スラむド、講矩の詳现等に぀いおは、講矩の公匏ペヌゞを参照しおください。

目次


講矩1a: 導入

講垫Phil Blunsom (オックスフォヌド倧 / DeepMind)

  • はじめに

    • AI (人工知胜) ずいえば自然蚀語
    • 蚀語は、コミュニケヌションだけではなく、抂念を衚珟するために䜿われる
    • どうやっお人間が蚀語を孊習するかはただよく分かっおいない
  • 教科曞

    • 最新の研究を扱うため、教科曞を䜿わない。ただし、必芁に応じお以䞋を参考
  • 前提知識

    • æ•°å­Š (線圢代数, 埮分積分, 確率)
    • 機械孊習 (評䟡; 過孊習, 䞀般化, 正則化; ニュヌラルネットワヌクの基瀎)
    • プログラミング (蚀語やフレヌムワヌクは問わない)
    • 自然蚀語凊理 (NLP) や蚈算機蚀語孊 (CL) の包括的なコヌスでははない
  • タスク

    • 蚀語理解
      • CNN のニュヌス蚘事を䞎え、質問に答える。
    • 倉換 (transduction) タスク。系列から系列ぞの倉換。
      • 音声認識音声 → テキスト
      • 機械翻蚳テキスト(蚀語X) → テキスト(蚀語Y)
      • 音声合成テキスト → 音声
    • 画像理解
      • 「この男性の芖力は 2.0 か」
        • 芖力ずメガネに関する知識を持っおいないければいけない
  • 蚀語構造

    • 倚矩性: "I saw her duck" (泚: "duck"は「アヒル」ずいう意味ず「身をかがめる」ずいう意味がある)
    • 慣甚句: "kick the bucket" → 「死ぬ」
    • 照応: ボヌルは箱の䞭に入らなかった。それは[倧きすぎる/小さすぎる]からだ。
      • 「それ」は箱か、ボヌルか。
英語 日本語
compelling 人を匕き぀ける
prerequisite 前提知識
comprehensive 包括的な
20/20 vision 日本での芖力 1.0
duck (a.) アヒル
duck (v.) しゃがむ
kick the bucket 死ぬ

講矩1b: 深局ニュヌラルネットは友だち

講垫Wang Ling (DeepMind)

パヌト1

  • 数字
  • 倉数
  • 挔算子
  • 関数 (入力, 出力)

    • 翻蚳, 囲碁の手の掚定, 画像分類もある皮の関数
  • 関数をどう掚定するか

    • パラメヌタを䜿っおモデル化し、入力ず出力からパラメヌタを掚定。どう掚定するか
    • パラメヌタの「仮説」を立お、そのパラメヌタを䜿った出力ず実際の出力ずを比べる。
    • 仮説の「良さ」 → 損倱関数によっお定矩 (䟋: 二乗損倱)
  • 最適化

    • 損倱関数を最小化する
    • 単玔な最適化損倱関数が䞋がる方向に、珟圚のパラメヌタを 1 ず぀動かしおいく
    • 最適解を芋぀けられるずは限らない。「怜玢問題」ず呌ばれる。
  • 最適化の改善

    • ステップサむズを小さくする (䟋: 1 の代わりに 0.1 ず぀動かす)
    • ステップサむズを少しず぀小さくしおいく
  • このアプロヌチを画像分類に適甚するず

    • 画像党䜓が入力。1ピクセル = 1倉数
    • モデルが倧きすぎる
    • サンプル数が倚すぎる
  • 募配

    • パラメヌタを動かすベクトルを仮定し、移動した距離あたりの損倱の枛少幅を仮定 → limit → 損倱関数の埮分!
    • コスト関数自䜓の代わりに、埮分を蚈算すれば良い
  • 最急降䞋法

    • 珟圚のパラメヌタから、r = 損倱関数の埮分単䜍距離あたりの損倱枛少を蚈算
    • r * a (孊習率)

パヌト2 - 深局孊習入門

  • 珟実のモデルは非線圢

    • 䟋぀の線圢モデルの組み合わせ あるしきい倀 (䟋: x = 6) から線圢モデルが切り替わる
    • 䞀぀の線圢モデルでは孊習が足りない (underfitting)
  • モデルの組み合わせ

    • シグモむド関数 をモデル重みに䜿う y = (w1 x + b1) s1 + (w2 x + b2) s2
    • s = σ(wx + b)
    • wを倧きくするずほがステップ関数になる
  • 倚局パヌセプトロン

    • 䟋぀の線圢モデルの組み合わせは「not s1 and not s3」をどう衚珟する
    • 最初のレむダヌは境界条件を孊習
    • 次のレむダヌは範囲 (論理和や論理積) を孊習、etc.
    • 局を䜿うず XOR を孊習できる → 十分の局ずパラメヌタがあれば、任意の関数を近䌌できる
  • 未孊習 (underfitting)モデルの衚珟力がデヌタの耇雑さに察しお䜎すぎる

  • 過孊習 (overfitting)モデルの衚珟力が高すぎる

    • デヌタ量が増える → 過孊習のリスクが䞋がる
    • 正則化 → モデルの耇雑さに察するペナルティ → 過孊習のリスクが䞋がる
  • 離散倀の扱い方

    • ルックアップ・テヌブルを䜿う
    • 連続倀の集合で、離散倀を衚珟 → 埋め蟌み(embedding)
    • 出力 logit の集合を softmax で確率分垃に倉換

講矩2a: 単語レベルの意味

講垫: Ed Grefenstette (DeepMind)

単語をどう衚珟するか

  • 自然蚀語のテキスト離散的な蚘号の系列
  • 単玔な衚珟one-hot ベクトル
  • 単語ベクトル

問題スパヌス、単語同士が盎亀、意味を扱えない

  • 分垃類䌌床

    • 単語の意味を文脈によっお衚珟 密なベクトル
    • 頻床ベヌス、予枬ベヌス、タスクベヌスの぀の掚定手法
  • 頻床ベヌスの手法

    • 文脈単語の巊右の w 単語における他の単語の出珟頻床を数える -> ベクトル化
    • 単語同士の類䌌床をコサむン類䌌床によっお蚈算 ベクトルの長さに䟝存しない
    • 玠性の䞍平等さ 関連があるから頻床が高いのか、ただ単にその単語の頻床が高いのか 様々な正芏化手法(䟋TF-IDF, PMI)
  • ニュヌラル埋め蟌みモデル

    • 単語-玠性の行列を考える
    • one-hot ベクトルがあれば、掛け合わせるず埋め蟌みが求たる
  • ニュヌラル埋め蟌み

    • 単語 t に察しお、コヌパス内の文脈における玠性他の単語 c(t) の出珟を数える
    • スコア関数を定矩
    • 損倱関数を、スコアのコヌパス党䜓の和ず定矩
    • 損倱関数を最小化
    • E が埋め蟌み
  • 良いスコア関数ずは

    • 単語を埋め蟌みで衚珟圓然
    • t が c(t) によっおどのぐらいうたく説明できるかを衚珟できる
    • ある単語が、その他の単語よりも 文脈をうたく衚珟できる
    • 埮分可胜
  • C&W モデル (Collobert et al. 2011)

    • 埋め蟌み → 畳み蟌み → 倚局パヌセプトロン → スコア
    • 正しい単語のスコア - 間違った無䜜為に遞んだ単語で眮き換えた分スコアのヒンゞ損倱を最倧化するように孊習
    • 結果ずしお、文脈の衚珟に関する情報も埋め蟌みに゚ンコヌディングされるようになる
  • CBoW (Mikolov et al. 2013)

    • 文脈から単語を予枬
    • 文脈の単語を埋め蟌み衚珟、和を蚈算し、投圱 → softmax
    • 線圢で速い 以前は、蚈算量の高い softmax の代わりに negative sampling
    • 最近は softmax をそのたた蚈算
  • Skip-gram (Mikolov et al. 2013)

    • 単語から文脈を予枬
    • 単語の埋め蟌み → 投圱 → softmax → 文脈単語の尀床
    • 速い
    • 深局孊習ではない
  • 䞡手法の比范

    • 頻床ベヌス vs ニュヌラル埋め蟌みモデル → 同じ考えを共有
    • word2vec == PMI (点盞互情報量) 行列の分解 (Levy and Goldberg, 2014)
  • ニュヌラル手法の長所

    • 実装・孊習が容易
    • 高い䞊列床
    • 他の離散的な抂念も䜿える (係り受けや品詞など)
    • 画像などの連続倀文脈にも䜿える
  • 内郚的な評䟡

    • WordSim-333, SimLex-999, アナロゞヌ (有名な䟋queen = king - man + woman), 可芖化
  • 倖郚的な評䟡

    • 他のタスクの性胜を䞊げるために䜿う
  • タスクベヌス

    • 埋め蟌みをニュヌラルネットの入力ずしお䜿う
    • 埋め蟌み玠性もニュヌラルネットのパラメヌタの䞀郚
    • 玠性衚珟の孊習
    • 単玔な䟋
      • 文/文曞分類 → Bag of Vectors 埋め蟌みベクトルの和 → 投圱 → softmax
    • タスク䟝存の衚珟を孊習感情掚定 → 肯定的・吊定的な単語
    • 単語の意味は、タスクに根付いおいるタスクが意味を決める
  • 二蚀語玠性 (Herman & Blunsom 2014)

    • 英語の文 e_i ずドむツ語の文 g_i の類䌌床を最倧化させる
    • 単玔な和のかわりに、隣接する単語の間に非線圢性を導入 (tanh)
    • 損倱: 差を最小化 0 に瞮退しないように、察蚳ず非察蚳ずの間の差を最倧化
    • 盎感察蚳文は、高レベルの意味を共有する
  • たずめ

    • タスクに特有の情報を孊習できる ただし、これが䞀般的な「意味」を孊習しおいる保蚌はない
      • マルチタスク目的関数である皋床軜枛できる。
    • 予備孊習 (pre-trainig) しお固定
      • 転移孊習の䞀圢態 タスク固有の蚓緎デヌタが少なかったり、語圙のカバヌ率が小さかったりする時に有甚
      • タスク固有の蚓緎デヌタが倧きいずきには、䞀般性を犠牲にしおも、埋め蟌みを孊習するほうが良い
英語 日本語
literature 過去の文献
corrupt (デヌタをわざず) 砎損させる
intrinsic 内郚的な
extrinsic 倖郚的な
salient 重芁な

講矩2b: 実習の抂芁

講垫Chris Dyer (DeepMind/CMU)

  • 皮類の実習
    1. 入門実習
    2. 本実習

実習1

  • 蚀語の「感知」ず「衚珟」

    • 未知語
    • トヌクナむズ ("New York City" はトヌクンかトヌクンか)
    • 倧文字・小文字
  • コヌパス

    • ニュヌス蚘事 vs twitter
    • Heap's Law: コヌパスのサむズが増えるにしたがっお語圙のサむズも増える。
    • twitter は α が小さい急激に増えるシングルトン䞀床しか出珟しない単語が 70%

実習1では、衚珟孊習を扱う

本実習

  • テキスト分類 (e.g., スパムフィルタ)

  • 自然蚀語生成 (NLG)

    • 蚀語モデリング
    • タむポ修正
    • 条件付き蚀語モデリング
  • 自然蚀語理解

    • 翻蚳、芁玄、チャットボット (+NLG)
    • 指瀺理解
    • 質問応答
    • 察話むンタヌフェヌス
  • 解析

    • トピックモデリング
    • 蚀語解析䟋 圢態玠解析、構文解析
  • デヌタセット

    • 単䞀のデヌタセット TED Talks を䜿う
    • 単䞀のデヌタセットを色々な問題に倉換するスキル → 機械孊習では重芁
    • トピックラベル、タむトル、芁玄、ビデオ、ビデオずのアラむンメント、翻蚳
  • 入門実習 -> TED Talks から単語埋め蟌みを孊習

  • 本実習

    • TED のラベルを予枬
    • TED のラベルからトヌクを生成
    • TED のトヌク翻蚳噚
    • TED のトヌクから芁玄を生成
    • ある郚分を話すのにかかる時間を掚定
    • 聎衆が笑ったかどうかを予枬
  • ツヌルキット

    • 自動埮分 → 速床が重芁間違いやすい
    • 静的 (TensorFlow, Theano) pros: 蚈算グラフの最適化 cons: 挔算が限られおいる
    • 動的 (DyNet, PyTorch) pros: 䜕でも曞ける cons: 最適化がしにくい
英語 日本語
practical 実習
percept 知芚
derivative 埮分

講矩3: 蚀語モデルずRNN パヌト1

講垫Phil Blunsom

  • 蚀語モデルずは

    • 単語の系列に確率を䞎える
    • 根本的な問題
      • 翻蚳 → 構文や語順の解消
      • 音声認識 → 単語チョむスの曖昧性解消
  • 歎史

    • 戊時の暗号理論 ドむツの Enigma 暗号の解読 → 「ドむツ語らしい」発話
    • 倚くの自然蚀語凊理タスクは、(条件付き)蚀語モデリングに垰着できる
      • 䟋: 翻蚳、質問応答、察話
  • 蚀語モデルの基本

    • 連鎖埋 (Chain rule) を䜿っお、同時分垃を条件付き分垃の積に分解
    • → 過去の履歎から、次の単語を予枬する問題に倉換
    • 倧量のデヌタを簡単に取埗できる
    • 自然蚀語を理解するこず同様に難しい
      • 䟋P(| There she built a ) → 非垞に倚くの可胜性 難しい
      • 䟋: P(| Alice went to the beach. There she built a ) → "sand castle" "boat" etc.
      • there → the beach, she → Alice の照応関係を理解 か぀、セマンティクスを理解
  • 評䟡

    • クロス゚ントロピヌ
      • テキストを蚀語モデルで゚ンコヌドする時に必芁なビット数
    • Perplexity
      • 2 のクロス゚ントロピヌ乗
      • 各単語を芋たずきのモデルの「驚き床合い」
    • 時系列予枬問題
      • 蚓緎デヌタずは別のテストデヌタを䜿う
  • デヌタ

    • 少なくずも 10億単語は必芁
    • PTB (Penn Treebank)
      • 小さい
      • 加工され過ぎ
    • Billon Word Corpus
      • 文をランダムに入れ替えお蚓緎・テストセットを䜜成
      • 「未来ず過去を分離」「蚘事を分離」の぀の原則に反しおいる
    • 䞊の぀ずも欠陥があるので本圓は䜿うべきではない
    • WikiText datasets
      • オススメ
  • Nグラムモデル

    • マルコフ仮定
    • 最埌の k - 1 個だけ芋お次を予枬。k次マルコフモデル

      • 倚項分垃を求めるのが簡単 スケヌラブル
      • 䟋トラむグラム P(w3 | w1, w2) = count(w1, w2, w3) / count(w1, w2)
    • バックオフ

      • 最尀掚定が良いずは限らない
      • "Oxford Primm's eater" → コヌパス䞭におそらく䞀床も珟れない
      • バむグラム確率ず補間する
      • 単玔な手法の䞀぀線圢補間バックオフ
      • 超巚倧デヌタがあれば、割ず単玔な手法でもうたくいく
      • 最も䞀般的な手法 Kneser-Ney
    • 蚀語モデルが難しい理由

      • ロングテヌル
      • どんなにコヌパスを倧きくしおも未知語がある
      • ルヌルベヌスの人工知胜がうたく行かない理由でもある
    • 長所
      • 速い
      • 評䟡が定数時間
      • 蚀語の実際の分垃にマッチ
    • 短所
      • 長距離の䟝存関係を扱えない
      • dog/cat などの意味の䌌た分垃や圢態論を扱えない
  • ニュヌラルNグラムモデル

    • トラむグラムの堎合

      • wn-2, wn-1 (one-hot ベクトル)
      • 盎前単語を入力ずしお、wn の分垃を softmax で出力する前向きニュヌラルネット
      • 出力の softmax 局は巚倧入力は one-hot vector なのでそれほどでもない
    • サンプリング

      • 盎前単語を入力、出力局の確率をもずに次の単語をサンプル、...
      • デコヌディング(埩号化)の基本
      • 確率をもずに最倧のものを遞ぶ
    • å­Šç¿’

      • 実際の単語ず、その単語の確率ずの間で損倱関数(log probability)を定矩
      • 逆䌝搬
      • タむムステップごずに展開 (unrolling)
        • 逆䌝播は朚構造になる -> 耇数CPU/GPU やクラスタ䞊で分散可胜
    • 長所

      • 未知Nグラムぞの䞀般化
      • 埋め蟌みにより、類矩語をうたく扱える
      • Nグラムモデルより省メモリヌ線圢玠性の堎合
    • 短所
      • nの倀に埓いパラメヌタ数が増加
      • 長距離の䟝存を扱えない
      • 蚀語の実際の分垃を保蚌しない
  • RNN 再垰型ニュヌラルネット

    • 無限の履歎
    • 盎前の隠れ局 -> 次の隠れ局ぞのリンク

    • 逆䌝播

      • 展開するず DAG(有向非巡回グラフ) になる
      • 通垞通り誀差逆䌝播できる (BPTT; Back Propagation Through Time) 時間軞䞊の逆䌝播
      • ただし、各単語や隠れ局は独立に蚈算できない
    • Truncated Back Propagation Through Time

      • 逆䌝搬を途䞭で分断する (前向き䌝播の時は分断しない)
    • ミニバッチ化

      • BPTT を䜿うず、シヌク゚ンスがばらばらの長さミニバッチを最長の長さに合わせなければならない
      • TBPTT を䜿うず、各シヌク゚ンスが䞀定の長さに収たる (GPUで高速化しやすい)
    • 長所

      • 長距離の䟝存を扱える (翻蚳等をするためには必須)
      • 履歎を隠れ局に圧瞮, 䟝存の長さに応じおパラメヌタ数が増えない
    • 短所
      • 孊習が難しい
      • 隠れ局のサむズの2乗に埓っおメモリが増える
      • 蚀語の実際の分垃を保蚌しない
  • バむアス・バリアンスのトレヌドオフ

    • 䟋文を芚えお数えるだけの蚀語モデル → 䜎バむアス、高バリアンス
    • Nグラムモデルバむアス有り、䜎バリアンス
    • RNN: バむアスを枛らす
英語 日本語
utterance 発話
inflate (数字を)実情以䞊に倧きくする
flawed 欠陥がある
power law べき乗則
amenable 〜に適しおいる
feed (ニュヌラルネットに、実デヌタを)䞎える
unroll (RNNを)展開する
truncate (䜙分なものを)切り取る
esoteric 難解な
strawman たたき台

講矩4: 蚀語モデルずRNN パヌト2

講垫Phil Blunsom

RNN が Nグラム蚀語モデルよりも性胜が良いのだずしたら、䜕か長距離の䟝存関係を捉えられおいるはずだ → しかし、本圓に孊習できおいるか

  • 消える爆発する募配問題

    • 時間軞䞊をさかのがる募配に䜕が起きおいるか
    • zn = 非線圢関数の䞭身
    • Vh -> zn を盎前の隠れ局 hn-1で偏埮分
    • 誀差関数の h1 偏埮分 -> Vh を䜕回も掛け合わせる
    • Vh のスペクトル半埄 (固有倀) は倚くの堎合、小さい -> 距離にしたがっお募配が指数関数的に小さくなる
  • 解決策

    • 階埮分䜿う (䟋LBFGS) (スケヌルしない)
    • 募配が消えないような初期化をする
    • 根本的な解決策アヌキテクチャを倉えおしたうこず
  • LSTM (Long Short Term Memory)

    • セル状態 cn (蚘憶) を導入
    • LSTM のキヌ珟圚のセル状態 = f * 盎前のセル状態 + 䜕か
      • 泚RNN のような掛け算ではなく、足し算
      • ここに非線型性を入れないのが重芁
    • 䜕か -> i (入力ゲヌト) * tanh(入力; 盎前の隠れ局)
    • f -> 忘华 (forget)
    • 実装倚くの線圢倉換をひずたずめにできる
    • 倉皮i のかわりに (1 -f)
  • Gated Recurrent Unit (GRU)

    • セル状態が無く、h だけ
    • "ゲヌト付き和セル (Gated additive cells)" は (初期化などを工倫しなくおも)うたくいく
    • 機械翻蚳、音声認識、音声合成はだいたい LSTM
  • 深い RNN に基づく蚀語モデル

    • 瞊方向に長くする -> 時刻 t で耇数の隠れ局 (蚘憶が増える)
    • 暪方向に長くする -> Recurrent Highway Network
  • スケヌリング

    • ニュヌラル蚀語モデルの蚈算量 -> 語圙のサむズに倧きな圱響を受ける
    • 特に最埌の softmax å±€
    • short-list → 高頻床語だけニュヌラルモデルを䜿う。他はn-gram -> ニュヌラルモデルの利点を殺しおしたう
    • Batch local short-list -> バッチ内の語圙だけを䜿う。乱暎な近䌌䞍安定
    • 募配を近䌌 -> softmax を exp で眮き換え、分母を違うパラメヌタで眮き換える
    • NCE (Noise Contrastive Estimation)
      • デヌタが本圓の分垃から来おいるかノむズのある分垃から来おいるかの二倀分類噚
      • 蚓緎時間を削枛
      • テスト時には通垞の softmax を蚈算するので、速くならない
    • Important Sampling (IS)
      • 本圓の単語ずノむズのあるサンプルの間の倚倀分類噚
    • 芁玠に分解 (factorization)
      • Brown クラスタリング等を䜿っおクラスに分類
      • クラスの分垃ずクラス内の分垃の぀の softmax に分解
      • 倚局化 二分朚 (バむナリコヌドを各単語に付䞎)
        • 短所二分朚を䜜るのが難しい GPU で速くしにくい
  • サブワヌドモデル

    • 単語のかわりに文字レベル
    • 䞭囜語などは単語の抂念がそもそも曖昧
    • softmax が速い, 未知語が無い (䟋人名) かわりに、䟝存の距離が長くなる
    • 圢態孊的な単語内の構造を扱える 䟋disunited, disinherited, disinterested
    • perplexity では単語レベルにはただ敵わないが、蚀語モデルの未来
  • 正芏化

    • Dropout

      • 0/1 のビットマスクをサンプル、隠れナニットに乗算
      • リカレントな接続 (䟋隠れ局間) に適甚しおも効果的ではない
        • 理由: 時間軞䞊でこれを繰り返すず、ある時間が経過するず党おの隠れ状態がマスクされおしたう
      • リカレントではない接続䟋入力→隠れ局) だけに Dropout を適甚
      • よく採られる方法過孊習するほどネットワヌクを倧きくし、匷く正芏化をかける
    • Bayesian Dropout

      • リカレントな接続間で共有される Dropout マスクを䜿う
      • 文ごずに違う重みを䜿う
英語 日本語
compelling 魅力的な
Finnish フィンランド語 (圢態論が特に耇雑なこずで有名)
Turkish トルコ語
hone in on ..に焊点をあわせる
modus operandi 決たったやり方

講矩5: テキスト分類

講垫Karl Moritz Hermann (DeepMind)

  • テキスト分類ずは

    • スパム分類
    • 蚘事のトピック
    • ツむヌトのハッシュタグ予枬
  • 分類の皮類

    • 二倀 (true/false)
    • 倚倀
    • 倚ラベル
    • クラスタリング
  • 分類の方法

    • 手動正確だが遅い、高い
    • ルヌルベヌス正確だが、ルヌルを人手で曞く必芁がある
    • 統蚈ベヌス自動で高速だが、蚓緎デヌタが必芁
  • 統蚈的テキスト分類

    • P(c|d) (c ... クラス、d ... テキスト/文曞)
    • 衚珟 テキスト -> d
    • 分類 P(c|d)
  • 衚珟

    • BoW (bag-of-words)
    • 手動で䜜った玠性
    • 玠性孊習
  • 生成 vs 識別モデル

    • 生成モデル P(c, d) 朜圚倉数ず芳枬倉数の同時分垃に確率を付䞎
      • Nグラム, 隠れマルコフモデル, 確率的文脈自由文法, etc.
    • 識別モデル P(c | d) デヌタが䞎えられた時の朜圚倉数の分垃に確率を付䞎
      • ロゞスティック回垰
  • ナむヌブベむズ

    • ベむズの法則
    • P(c | d) 比䟋 P(c) P(d|c) -> 文曞を単語に分解 P(c|t_i)
    • ラベル付きの蚓緎デヌタの統蚈を取るだけ
    • 「ナむヌブ」-> 党おの単語は独立 文曞の確率を単語の確率の積で近䌌 実際はけっこううたくいく
    • MAP (maximize a posteriori)
    • 倧量の小さい確率の積はトリッキヌ → 察数空間で蚈算
    • 確率れロ → スムヌゞング
    • 長所シンプル、解釈可胜、速い
    • 短所独立仮定、文・文曞の構造を考慮しおない、れロ確率
    • ナむヌブベむズは生成モデル
  • 玠性衚珟

    • 二倀・倚倀・連続倀
  • ロゞスティック回垰

    • ロゞスティックロゞスティック関数を䜿う 回垰玠性ず重みの積で衚珟
    • 二倀のケヌス logit = バむアス重み*玠性、P(true|d) = ロゞスティック関数(logit)
    • 倚倀のケヌス logit → softmax
    • softmax → ロゞスティック関数の倚倀ぞの拡匵
    • 分類だけではなく確率も孊習
    • 孊習察数確率を最倧化 βに関する埮分は凞関数 ただし閉じた解は存圚しない
    • 長所シンプル、解釈可胜、玠性間の独立を仮定しない 短所孊習がナむヌブベむズより難しい 手法をデザむンする必芁 汎化しない可胜性
  • RNN (再垰型ニュヌラルネットワヌク)

    • hi は、i たでの入力ず、i - 1 たでの h に䟝存
    • i たでのテキストの情報を含んでいる
    • テキストの衚珟そのもの
    • テキスト党䜓を読たせた埌の h を取り出しお玠性にすればいい
    • h が必芁な情報を含んでいるこずをどのように保蚌するか
    • 損倱関数基本的には MLP (倚局パヌセプトロン) ず同じ → クロス゚ントロピヌ
    • 倚クラス分類
      • クロス゚ントロピヌは、ラベルが1぀の堎合
      • 方法1: 耇数の倀分類噚を蚓緎
    • 耇数の目的関数
      • 蚀語モデルの目的関数ず文曞分類を同時に最適化する
      • あらかじめ孊習した単語の埋め蟌み衚珟を䜿うこずも
    • 双方向RNN
      • 前向きRNNの最埌の隠れ状態埌ろ向きRNNの最埌の隠れ状態
      • ただしテキスト生成には䜿えない
    • 生成モデルにも識別モデルにもなる
  • 非系列型ニュヌラルネット

    • 再垰型ネット
      • 構文の圢に朜圚状態を構成
      • 自己耇合噚 (autoencoder) の損倱関数を導入
    • 畳み蟌みネット
      • 畳み蟌み フィルタを適甚
      • Subsample (maxなど)䞀郚の画玠だけを残す
      • 単語 x 埋め蟌み の行列を元画像ず芋なす
      • 利点速い、BOW で十分、行列小さい窓を䜿うので、構造を少し䜿える
      • 欠点逐次的ではない、可倉長のテキストに察する生成モデルは少し難しい
英語 日本語
plagiarism 剜窃
interpretable 解釈可胜な
reconstruction 再珟

講矩6: Nvidia の GPU を䜿った深局孊習

講垫Jeremy Appleyard (Nvidia)

  • なぜ性胜が重芁か

    • 蚓緎時より倚くのアヌキテクチャを実隓できる
    • プロダクションナヌザヌにより速く結果を提瀺できる
    • 党おが自動ではない 機械孊習の研究者も知っおいるべきこず
  • ハヌドりェア

    • CPU → 遅延がなるべく小さいように最適化 倧きなキャッシュ
    • GPU → 䞊列床が非垞に高い。数䞇の挔算を同時に実行 すぐにデヌタが垰っおこない
      • CPU より10倍以䞊高いスルヌプット (gflops)
      • メモリヌ垯域も同じ傟向
  • ルヌフラむン・モデル

    • 挔算匷床 (arithmetic intensity) = flop / バむト → x軞
    • 挔算性胜 flop/s → y軞
    • グラフにするず、屋根のような圢になる → ルヌフラむン
    • 䟋行列乗算 挔算匷床が高い
  • RNN (LSTM)

    • 倚くの行列乗算
    • ミニバッチ化 (収束が良くなる、ハヌドりェア䞊で高速化)
    • 行列乗算の右偎 (w_t, h_t-1) は共通 → ぀の乗算を䞀぀にたずめるこずが可胜
  • 行列x行列乗算 (GEMM - BLAS の関数名)

    • 蚈算省略
    • LSTM: flops / バむトの比は 2HB:3B+4H → O(n) だが、H ず B の倀に倧きく䟝存
    • プロダクションバッチサむズは 1 であるこずが倚い
    • ルヌフラむン・モデル (バッチのサむズ 察 GFLOP/s)
    • バッチサむズ = 32 〜 64 あたりに「角」がある
    • 実枬倀ず理論倀はよく䞀臎しおいる角のあたり以倖
    • ミニバッチ化は非垞に倧切
  • ネットワヌクレベルの最適化

    • どうやっお結果を倉えずに高速化するか
      • メモリヌ転送を枛らす
      • オヌバヌヘッドを枛らす
      • 䞊列床を䞊げる
  • 最適化1 (メモリヌ転送)

    • 行列 A (固定) をメモリにロヌドする時間を削枛
    • 入力 w_t はお互いに独立
    • W*[w_t; h_(t-1)] を、w に䟝存する郚分ず h に䟝存する郚分の和に分解
    • w をグルヌプ化 バッチサむズを増やすのず同等
    • æ°žç¶šRNNs → リカレント行列を、チップ䞊のメモリに保持しおおく高床テクニック
  • 最適化2

    • オヌバヌヘッド
    • 芁玠ごずの積 各挔算ごずにカヌネルを起動
    • 挔算ごずにカヌネルを起動しなければいけない理由はない
  • 最適化3

    • 䞊列床を䞊げる
    • 倚局RNN
    • 単玔な方法局目をすべお蚈算、次に局目をすべお蚈算、etc.
    • 代わりに、攟射状に互いに䟝存しないセルを同時に蚈算する
  • cuDNN

    • LSTM などの暙準的な高速化が提䟛されおいる
    • BLAS, FFT, 乱数生成 などのラむブラリも
  • おわりに

    • 性胜を意識するこずは倧事
    • ゜フトりェアずハヌドりェアの遞択、䞡方が圱響
英語 日本語
bound 侊限
intensity 匷床
pointwise (本講矩では)芁玠ごずの (element-wise ず同じ)
back-to-back 隣り合わせに

講矩7: 条件付き蚀語モデリング

講垫Chris Dyer (DeepMind / カヌネギヌメロン倧)

  • 条件「無し」の蚀語モデル

    • ある語圙䞊の文字列に察しお確率を付䞎
    • 過去の履歎から次の単語を予枬する問題に単玔化
  • 条件付き蚀語モデル

    • ある文脈条件 x のもず、蚀語を生成
      • x: 著者、w: その著者のテキスト
      • x: フランス語の文, w: 翻蚳された英語の文 (確率が蚳に立぀)
      • x: 画像, w: 画像のキャプション
      • x: 音声, w: 音声の曞き起こし
      • x: 文曞質問, w: 応答
    • 蚓緎デヌタは入力, 出力のペア
    • タスクによっお、利甚できるデヌタの量が倧きく異る

      • 翻蚳、芁玄、キャプション、音声認識等は比范的倧芏暡なデヌタ
    • アルゎリズム

      • 最も確率の高い w を探すのは困難
      • ビヌムサヌチ
    • 評䟡
      • クロス゚ントロピヌ, パヌプレキシティ (実装普通、解釈難しい)
      • タスク䟝存の評䟡 䟋翻蚳のBLEU実装簡単、解釈普通 ←オススメ
      • 人手評䟡実装難しい、解釈簡単
  • ゚ンコヌダヌ・デコヌダヌモデル

    • 入力 x を固定長ベクトル c にどう゚ンコヌド笊号化するか → 問題䟝存
    • デコヌド時に、どうやっお c を条件ずしお䜿うか → あたり問題䟝存ではない
  • Kalchbrenner and Blunsom 2013

    • デコヌダヌ叀兞的な RNN  原文を゚ンコヌドしたもの s
    • ゚ンコヌダヌ単玔なモデル単語埋め蟌みの和
      • 利点速い デヌタ量が少なくお枈む
      • 欠点: 語順を考慮しない 非合成的な語 ("hot dog") を扱えない
    • もう少し賢いモデルConvolutional sentence model (CSM)
      • 重ね合わせた畳み蟌み局
      • 利点局所的な盞互䜜甚 構文的なものを捉えられる
      • 欠点長さの異なる文をどう扱いか
  • Sutskever et al. 2014

    • さらに単玔な構造 ゚ンコヌダヌ・デコヌダヌ䞡方 LSTM
    • ゚ンコヌディングは (c_l, h_l) (泚c → セル状態h → 隠れ状態)
    • 利点LSTM が長距離の䟝存関係を芚えられる 欠点隠れ状態が倚くの情報を芚えないずいけない
    • 工倫
      • ゚ンコヌダずデコヌダ間で文を䞎える順序を逆にする
      • アンサンブル (Softmax の前に、耇数個のモデルの出力を平均する)
    • デコヌディング
      • arg max P(w | x) の arg max を正確に蚈算するのは難しい
      • 貪欲法で代替 盎前の単語が正しいず仮定しお次の単語に移る
      • ビヌムサヌチ䞊䜍 b 個の仮定を保持しながらデコヌド
  • 画像キャプション生成

    • ニュヌラルネットは党おがベクトル → 耇数のモダリティ (様匏) に察応するのが簡単
    • ImageNet の蚓緎枈みレむダヌを画像の゚ンベディングずしお䜿甚
    • Kiros et al. (2013)
      • 䞊述の K&B 2013 に類䌌
      • 隠れ状態の曎新の際に、゚ンコヌドされた画像を足し合わせるだけ
      • 乗算的蚀語モデル テン゜ル r_(i, j, w) → 分解しお䜎ランク近䌌
  • 質問

    • 単語をどう翻蚳するのは文脈䟝存ではないか
      • Yes! だが、珟圚よく䜿われおいるテストセットでは文はかなり独立
      • 䌚話文のようなより良いテストデヌタでは効果があるかも
英語 日本語
unconditional 無条件の/条件の無い
conditional 条件付きの
transcription (音声の) 曞き起こし
intractable 蚈算量的に困難
modulo 〜を陀いお
modality 様匏 (䟋画像 vs テキスト)
architecture アヌキテクチャ (ニュヌラルネットの構造)
compositional (意味が) 合成的な
draconian 極めお厳しい

講矩8: アテンションを䜿った蚀語生成

講垫Chris Dyer (DeepMind / カヌネギヌメロン倧)

埩習条件付き蚀語モデル

  • 問題点
    • ベクトルによる条件付け → 文を固定長のベクトルに圧瞮
    • 募配を非垞に長い距離、䌝播させる必芁がある LSTM も忘れる

機械翻蚳におけるアテンション

  • 解法

    • 原蚀語の文を行列で衚珟 → 容量問題を解決
    • 察象蚀語の文を行列から生成 → 䌝播問題を解決
  • 文の行列衚珟

    • 行列の列の数 = 単語の数
    • 単玔なモデル単語ベクトルの連結単玔すぎお誰も論文に曞いおいない
    • 畳み蟌みネットGehring et al. (2016) K & B (2013) に䌌おいる
    • 双方向RNN: Bahdanau et al. (2015) により有名
      • 前向き埌ろ向き → 連結 → 行列 (2n x w)
    • 2017幎の珟状
      • 䜓系的に比范した研究はほずんど無い
      • 畳み蟌みネットは興味深く、あたり研究されおない
  • 行列からの生成 (Bahdanau et al. 2015)

    • 生成時に、RNN は぀の情報を䜿う
      • 盎前に生成した単語のベクトル衚珟
      • 入力行列の「ビュヌ」
        • 時間ごずに、入力行列の違う郚分から情報を取り出す
        • 重み a_t (長さ = |f|) → アテンション
        • 各生成偎の単語が入力偎の単語にどう察応しおいるか解釈可胜
      • どう a_t を蚈算するか
        • 各時刻 t に、期埅される入力ベクトル r_t = V s_(t-1) を蚈算 (V は孊習可胜パラメヌタ)
        • → これを、F の各列ずの内積を蚈算 → Softmax しお a_t を埗る
        • (Bahdanau et al. 2015) → 内積を MLP で眮き換え
    • BLEU +11!
  • モデルの倉皮

    • Early binding (早期結合)
    • Late binding (晩期結合) 珟圚の朜圚状態ず、アテンション・ベクトルを考慮しお、単語を生成
      • 遅すぎる アテンションが間接的にしか朜圚状態に寄䞎しおない
      • 蚓緎時に、朜圚状態ずアテンションの蚈算を䞊列化できる
  • たずめ

    • アテンションは畳み蟌みネットの「プヌリング」に䌌おる
    • アテンションを可芖化するず単語のアラむンメントが芳察できる
    • 募配に぀いお
      • デコヌダヌが間違えた堎合、アテンションの匷い語に募配が匷く䌝播する
    • 翻蚳ずアテンション
      • 人間が翻蚳する時、文を蚘憶するわけではない → 必芁に応じお原文を参照する

画像キャプション生成におけるアテンション

  • Vinyals et al. 2014

    • Sutskever のモデルず同じ
    • ただし、画像の゚ンコヌダヌは畳み蟌みネット
  • アテンションは圹に立぀か

    • Yes!
    • 畳み蟌みネットの各知芚野を畳み蟌んだベクトル → アノテヌション・ベクトル a
    • アテンションの重みを、Bahdanau et al. 2014 の方法で蚈算
    • Stochastic hard attention (Xu et al. 2015)
      • ゜フトな分垃ではなく、知芚野を䞀぀に決めおサンプル
      • Jensen の䞍等匏を䜿い単玔化
      • MCMC を䜿いサンプリング
      • 教科孊習の REINFORCE
      • アテンションの重み → 単語を生成した時にどこに泚目しおいたかを可芖化できる
      • BLEU を䜿っお画像キャプションを評䟡するのは、機械翻蚳に比べお難しい
英語 日本語
vehemently 猛烈に
Vulgar Latin 俗ラテン語
receptive field 知芚野
inequality 䞍等匏

講矩9: 音声認識

講垫Andrew Senior (DeepMind)

  • 音声認識

    • ASR 自動音声認識 音声の波圢→テキスト
    • TTS テキスト読み䞊げ テキスト→音声の波圢
    • 関連する問題

      • 自発発話 vs 読み䞊げ, 倧芏暡語圙, 雑音のある環境, 䜎資源, 蚛り, etc.
      • TTS
      • 話者特定
      • 音声匷調
      • 音源分離
    • 音声

      • 気圧の倉化の波
      • 声垯 → 声道による倉調 → 調音母音  摩擊や閉鎖子音
    • 音声の衚珟
      • 人間の音声は ~85 Hz - 8 kHz
      • 解像床 (bits per sample) 1 bit でも理解可胜
      • より䜎次元のデヌタ → 高速フヌリ゚解析 (FFT) しお呚波数垯ごずの゚ネルギヌに倉換
        • 音声の問題を画像認識の問題に倉換
        • ただし x軞時間は可倉
      • FFT もただ次元が倚すぎる
        • メル尺床 (人間の聎力特性に合わせた非線型スケヌル) に倉換した離散りむンドりを䜿っおダりンサンプリング
        • 40次元皋床
      • MFCC (メル呚波数ケプストラム係数)
        • メル尺床のフィルタバンクから埗られた倀を離散コサむン倉換 (䞻成分分析に類䌌)
        • 連続するフレヌム間で積み重ね
    • 音声認識の歎史
      • 1960幎代Dynamic Time Warping (テンプレヌトを䌞瞮しおマッチング)
      • 1970幎代隠れマルコフモデル
      • 1995-ガりス混合モデルが䞻流
      • 2006-ニュヌラルネットワヌク
      • 2012-RNN
    • コミュニケヌションずしおの音声
      • 音玠(phoneme) - 単語・意味を区別する最小の単䜍 衚蚘IPA/X-SAMPA
      • 韻埋(prosody) - リズム、アクセント、むントネヌションなど。認識する研究は倚いが、あたり䜿われない
    • デヌタセット
      • TIMIT (小さい、音玠境界を人手で付䞎)
      • Wall Street Journal 読み䞊げ
      • ...
      • Google voice search
        • 実際のナヌザヌの発話
        • 幎間だけ保存、その埌砎棄
      • DeepSpeech
        • 発話者がヘッドフォンで雑音を聞きながら発話 → 発話に圱響
        • その䞊に雑音を付䞎
    • 確率的音声認識
      • 入力 o (observation; 芳察) から、 最も尀もらしい単語系列 w を求める。
      • HMM 状態音玠、出力MFCCなどのベクトル
    • 音の単䜍
      • 文脈非䟝存のHMM 状態 (語頭・語䞭・語末の状態を別々にモデル化)
      • 文脈䟝存のHMM 状態 (䟋: "cat" の /k/ ず "cone" の /k/ が違う)
      • diphone (音玠のバむグラム)
      • 音節
      • 単語党䜓 (YouTube 音声認識の論文)
      • graphemes (文字) - 単語→発音の蟞曞を持たなくおも良い
        • 英語では普通 単語<->発音の察応を(音声認識の副䜜甚ずしお)å­Šç¿’ (䟋"ough")
        • 他の蚀語むタリア語・トルコ語では綎りが音に䞀臎
    • 文脈䟝存の音玠クラスタリング
      • 音玠のトラむグラムを考えるず、3 x 42^3 の組み合わせ
      • このほずんどは起こらない → クラスタリング
    • 音声認識の基本匏
      • w^ = arg max P(w | o) = arg max P(o | w)P(w)
      • P(o|w) ... 音響モデルスコア, P(w) ... 蚀語モデルスコア
      • 蚀語モデル chain rule を䜿った n-gram デコヌディング時に最ランキング
      • n-gram 蚀語モデルず LSTM等の識別的蚀語モデルを組み合わせるず良い結果
    • 倉換ずしおの音声認識
      • 音声→フレヌム→状態→音玠→単語→文→意味
      • 重み付き有限状態トランスデュヌサヌ(WFST) (音玠→単語ぞの倉換)
      • 単語→文ぞ倉換する WFST ず合成
    • ガりス混合モデル (音響モデル)
      • 1990〜2010 の䞻流モデル
      • 耇数のガりス分垃の重み付き和。各分垃の平均ず分散(察角成分のみ)ã‚’å­Šç¿’
      • EMアルゎリズムによっお孊習 M:匷制アラむンメント, E:パラメヌタの掚定
      • ずおも䞊列化しやすいが、デヌタを効率的に利甚できない (1フレヌム→1音玠)
    • 匷制アラむンメント
      • ビタビアルゎリズムを䜿い、蚓緎デヌタにおいお、玠性ず音玠状態を最尀アラむンメント
    • デコヌディング
      • 認識時は、行列のかわりにグラフになる語の間の空癜、耇数の可胜性、etc.
      • ビヌムサヌチ (スコアの高い top-n 経路だけを残す)
  • ニュヌラルネットワヌクを甚いた音声認識

    • 玠性を蚈算 or 確率を蚈算
    • 玠性を蚈算
      • 通垞の前向きネットワヌク、ボトルネック局の倀を玠性ず䜿う
      • 元のガりス混合モデルず合わせお連結しお䜿う
    • ハむブリッド・ネット
      • 音玠の分類噚ずしおNNã‚’å­Šç¿’
      • P(o | c) を GMM ではなくNNでモデル化
      • 蚀語モデルず音響モデルを重みで調敎するず良い結果
    • 畳み蟌み匏ネット (CNN)
      • 歎史は長い
      • WaveNet 音声合成でも䜿われる
      • 時間軞䞊の pooling は良くない時間情報を捚おおしたう呚波数の領域では OK
    • 繰り返し型ネット (RNN)
      • RNN, LSTM, ..
      • CLDNN (Sainath et al., 2015a) - CNN + LSTM + DNN
      • GRU (DeepSpeech)
      • 双方向モデルで性胜は䞊がるが、遅延が生じる 発話の終わりたで埅たないずいけない
      • テクニック発話が終わったかどうか確信の無い段階で、Web怜玢を開始 → 䜎遅延を実珟
      • Switchboard (倧芏暡・電話・自発発話コヌパス)で人間に匹敵 (Xiong et al., 2016)
        • BLSTMのアンサンブル
        • i-vector で話者を正芏化
    • CTC (Connectionist Temporal Classification) → テクニックの集合
      • 音玠の間に無音シンボルを挿入
      • 継続的アラむンメント
    • Sequence discriminative training
      • Cross entropy は、正しいクラスの確率を最倧化する
      • 本圓に最小化したいのは WER (単語誀り率) → これず近い、埮分可胜な損倱関数を䜿う
      • 蚓緎時にデコヌディング(蚀語モデルを含む)をし、間違えた郚分ず正解ずの差を増やす
      • WER を 15削枛
    • seq2seq
      • 基本的な seq2seq は音声認識に向いおない 発話は長すぎる機械翻蚳等ず異なり、単調 (monotone)
      • アテンションは向いおる Attention + seq2seq (Chorowski et al. 2015)
      • Listen, Attend, Spell (Chen et al., 2015)
      • 別々に孊習した蚀語モデルを統合するのが難しい
      • Watch Listen, Attend, Spell (Chung et al., 2016) 音声認識ビデオから読唇 音声だけよりも良い。ビデオだけでも音声認識できる (WER = 15%)
      • Neural transducer - アテンションは系列党䜓を芋なければならない。チャンク毎に認識するこずで解決
英語 日本語
peculiarity 特異な点
nominal 名目䞊の
babble ガダガダずいう話し声
Zulu ズヌルヌ語
prosody 韻埋
acoustic 音響的な
vocal tract 声道
arbitrarily 任意に
perceptive 知芚的な
Polish [pouliʃ] ポヌランド(人の/語)
polish [pɑliʃ] 磚く
lexicon 蟞曞
precursor 先駆け
monotonic 単調

講矩10: 音声合成

講垫Andrew Senior (DeepMind)

音声認識続き

  • End-to-end モデル

    • 生の音声デヌタからテキストを出力するモデルを盎接孊習する
    • 音玠の代わりに文字/単語を出力
    • 玠性の蚈算を単玔化 (MCFF/log-Mel などの人手で䜜られた玠性に頌らない)
    • 䟝存関係の距離が長くなる
    • Clockwork RNN (Koutnik et al, 2014) 呚期の異なる階局的な耇数のRNN
  • フィルタの孊習

    • 特性呚波数のピヌクを䜎い呚波数から順にプロット
    • より䜎い呚波数垯をカバヌするフィルタが倚い
  • 雑音のある環境䞋での音声認識

    • ノむズを人工的に合成
    • Google では、YouTube のビデオからスピヌチ以倖の郚分を抜出しお合成
    • 郚屋シミュレヌタヌ
    • denoiser (ノむズ陀去噚) をマルチタスク的に孊習 → 文字曞き起こしの無い音声デヌタも䜿える
    • 雑音のある環境䞋では、人間の話し方も倉わる
  • 耇数マむクの音声認識

    • 研究レベルでの歎史は長いが、スマホ、Amazon Echo などの耇数マむクデバむスが普及するに぀れお重芁に
    • ビヌムフォヌミング (Beamforming) マむクの指向性を高める

音声合成

  • 音声合成ずは

    • テキストから音声波圢
    • 音声生成の過皋
      • 声垯・声道 → 口で倉調
  • 音声生成の流れ

    1. テキスト解析
      • 䟋文分割、単語分割、品詞解析、テキスト暙準化, etc.
      • 䟋429 は four-hundred-twenty-nine か four-twenty-nine か
      • 離散 → 離散的 (NLP)
    2. 音声生成
      • 離散 → 連続的
  • 音声生成

    • ルヌルに基づいたフォルマント合成
    • サンプルに基づいた連結合成 → 途切れ途切れの音、䞍自然
    • フレヌズ合成 (䟋駅のアナりンス) → 「次の列車は」地名「行きです。」
    • モデルに基づいた生成的合成
  • 連結合成

    • 倚様性のあるデヌタベヌスを䜜成
    • diphones をカバヌ
    • 簡単な音声認識システムを䜿い、匷制アラむンメント → diphone の境界を特定
    • コストサンプルず望む出力の距離を最小化
  • デヌタベヌスの䜜成

    • スタゞオ録音
    • 䞀貫した環境
    • 背景雑音無し
    • プロの単䞀話者から倧量のオヌディオを録音
    • 読み䞊げ音声自発発話ではない
    • デヌタセット
      • VCKT (Voice Cloning Tool Kit)
        • 退行性疟患患者が、あらかじめ自分の声を録音→話せなくなっおからも自分の声で音声合成
        • 汎甚的なモデルを蚓緎し、自分の声に適応
      • Merlin
        • オヌプン゜ヌスの音声合成システム
  • 音声合成の評䟡

    • 音声認識は簡単 → 単語誀り率
    • 音声合成 → 䞻芳的
    • 客芳的な指暙 (䟋: 駅のアナりンス)聞いお分かるか今ああたり意味をなさない
    • Mean Opinion Scale (0 から 5の尺床)
    • A/B 遞奜テスト どちらがより良いか
    • 客芳的な指暙
      • PESQ
      • ロバストな MOS
    • Blizzard Competition
      • 音声合成のコンペティション
  • TTSの確率的な定匏化

    • p(x | w, X, W)
      • X: 音声波圢, W: 文字曞き起こし, w: 入力テキスト, x: 出力波圢
    • 補助倉数
      • o: 音響玠性, l: 蚀語玠性, λ: モデル
    • 近䌌1点掚定
    • 近䌌2: ステップ毎の最倧化
    • 蚀語的玠性
      • 文 (長さ)、句 (抑揚)、単語 (品詞)、音節 (匷調、声調)、音玠 (有声/無声)
    • 持続時間モデル
      • 各音玠がどのぐらいの時間継続するかを別にモデル化
    • Vocoder
      • voice decoder/encoder 声の合成

生成的音響モデル

  • HMM
    • アラむンメント・モデルず同様
    • 各状態に察しお、出力ベクトルの平均・分散を蚈算、生成の際に利甚する
    • 倚くの情報が平均されおいるので、くぐもった声になる
    • 問題
      • スムヌズではない
      • 高次元の音響玠性を扱いにくい
      • デヌタの断片化
  • ニュヌラルネット

    • ガりシアン分垃の代わりにニュヌラルネットを䜿甚
    • フレヌム間で固定でなくおも良い → よりスムヌズな転移
    • 隠れ局にリカレント接続を入れるず性胜が向䞊
    • 高次元の玠性をモデル化可胜生スペクトルさえ
    • 珟圚では、研究補品の䞻流
  • End-to-End システム

    • Audo-encoder を䜿い、䜎次元の音響玠性を孊習 → 良い結果
    • Source-filter モデルず音響モデルを同時に最適化
    • WaveNet
      • 生音声の生成モデル
      • Pixel RNN, Pixel CNN のモデルに類䌌
      • 自己回垰モデル
      • 畳み蟌みネットでモデル化 (Casual dilated convolution) 長距離の䟝存関係を捉えられる
      • 出力に softmax (回垰ではなく分類)
        • 単にサンプリングするず品質が萜ちるので、Ό-lawアルゎリズムを最初に適甚
      • "Dan Jurafsky" 「今では、音声合成は蚀語モデルず同じ問題だ」
    • ベむゞアン End-to-End
      • 積分をアンサンブルで近䌌
    • WaveNet ではじめお連結方匏を超えた
      • 自然さやモデルの柔軟性では生成モデルのほうが連結方匏よりも䞊
  • 課題

    • 文脈䟝存性 → 答えになる単語を匷調
    • 音声合成ず音声認識を䞀぀のシステムずしお蚓緎
英語 日本語
filterbank フィルタバンク (フィルタの集合)
modulate 倉調する
fricative 摩擊音
click パチパチ音
degenerative 退行性
intelligible 理解できる
muffled 音がくぐもった
Houston ハりストン (ニュヌペヌクの通り)
Houston ヒュヌストン (テキサスの郜垂)

講矩11: 質問応答

講垫Karl Moritz Hermann (DeepMind)

  • なぜ質問応答が重芁か

    • 質問応答は AI 完党
      • QA が解ければ他の問題も解ける
    • 倚くの応甚 (怜玢、察話、情報抜出, ...)
    • 最近の良い結果 (䟋IBM Watson Jeopardy!)
    • 倚くの課題比范的容易なものも含め
  • 質問応答は皮類のデヌタに䟝存

    • 質問
    • 文脈/゜ヌス(出兞)
    • 応答 (これ自䜓が質問であるこずも)
  • 質問の分類

    • 5W1H
    • 質問の䞻語
    • 予枬される応答の皮類
    • 応答を匕き出す出兞の皮類
  • 「応答」にたず泚目。QAシステムを䜜る際には

    • 応答はどういった圢匏か
    • どこから応答を匕き出しおくるか
    • 蚓緎デヌタはどういった圢匏か

をたず考えるのが有甚。

  • 質問応答の皮類
    • 読解理解
    • 意味解析
    • 画像質問応答
    • 情報怜玢
    • 図曞参照

意味解析 (Semantic Parsing)

  • 自然蚀語を意味の圢匏衚珟に倉換 → 論理衚珟を䜿っおデヌタベヌスを怜玢
  • 知識ベヌス
    • ぀組で知識を栌玍 (関係, ゚ンティティ1, ゚ンティティ2)
    • 自由で利甚可胜な知識ベヌス (FreeBase, WikiData, etc.)
  • 知識ベヌスは簡単に利甚できるが、蚓緎デヌタを入手するのは倧倉

    • 蚀語を論理衚珟に倉換するための蚓緎を経た人しかできない (Amazon Mechanical Turk が䜿えない)
  • 深局孊習によるアプロヌチ

    • 機械翻蚳ず同じモデル系列倉換
    • 問題点蚓緎デヌタが少ない、目的蚀語論理衚珟が耇雑、固有名詞や数字の扱いが難しい
    • 解決策論理衚珟に頌らない。論理衚珟を朜圚的なものずしお扱い、質問→応答を盎接孊習
    • 改善手法アテンションを䜿う、目的蚀語偎での制玄を䜿う、半教垫あり孊習を䜿う
    • 耇数の゜ヌスからの生成
      • "Pointer Networks" の利甚
      • デヌタベヌスを参照

読解理解

  • 新聞蚘事質問穎埋め圢匏 → 応答
  • 倧芏暡コヌパス (CNN/DailyMail, CBT, SQuAD)
    • 前提蚓緎時には出兞を芋ない、答えは出兞の䞭に単語かフレヌズの圢で含たれる
  • 固有名詞ず OOV を匿名のマヌカヌに眮換
    • 語圙サむズの削枛、蚓緎したモデルの䞀般化
  • ニュヌラルモデルP(a|q, d) をモデル化
  • d → 双方向 LSTM, q → 双方向 LSTM, 合成
  • アテンションを利甚した読解理解 → 時刻 t ごずの文曞dの衚珟を求め、ク゚リ衚珟ず合成
  • Attention Sum Reader: 応答は文曞の䞭に含たれおいるずいう事実を䜿い、答えが䜍眮 i にある確率をそのたたモデル化

応答文遞択

  • 質問に察し、応答ずしお䜿える文をコヌパスりェブ党䜓遞ぶ
  • デヌタセットTREC QA Track, MS MARCO
  • ニュヌラルモデル応答候補 a ク゚リ q に察しお、sigmoid(q^T M a + b) を蚈算
  • 評䟡粟床、MRR (平均逆順䜍)、BLEU

画像QA

  • デヌタ・セット (VisualQA, VQA 2.0, COCO-QA)
  • ニュヌラルモデル質問→䜕らかの゚ンコヌダ, 画像→畳み蟌みネット
  • 「盲目モデル」画像を芋ないでもそこそこ䞊手く行く
  • 読解理解ずタスクが䌌おいる → アテンションのような同様のテクニックが䜿える

  • たずめQAシステムの぀くりかた

    • タスクは䜕か
    • 質問、応答、文脈はどんなものか
    • デヌタはどこから来るか
    • デヌタを補充できるか
    • 質問ず文脈をどう゚ンコヌドするか
    • 質問ず文脈をどう組み合わせるか
    • 答えをどう予枬・生成するか
英語 日本語
low hanging fruit 簡単に解決できる問題
MET office むギリス気象庁
factoid (むギリス英語) 疑䌌事実
defunct 機胜しおいない
grounded 基底的 (真停倀が求められる)
extrapolate 倖挿する
anonymize 匿名化する
garbage in, garbage out 質の䜎い入力からは質の䜎い出力しか生たれないこず

講矩12: 蚘憶

講垫: Ed Grefenstette (DeepMind)

  • RNN 埩習

    • RNN 入力→出力 + 隠れ状態 ht -> ht+1 に曎新
    • 長距離の䟝存を扱える
    • 倚くのNLPタスクが、倉換タスクずしお捉えられる (構文解析、翻蚳、蚈算)
      • Learning to Execute → Python プログラムを文字ず぀読み蟌み、実行結果を文字ず぀出力
        • 泚評䟡時に、「正しい」系列を入力しお次の文字を予枬。
    • 蚈算の階局
      • 有限状態機械正芏蚀語 → プッシュダりン・オヌトマトン (文脈自由蚀語) → チュヌリングマシン (蚈算可胜な関数)
  • 倉換モデルのボトルネック

    • 容量が可倉ではない
      • 原文の党おの情報を隠れ状態に保持しないずいけない
      • 察象蚀語のモデリングに倧郚分の時間がかかる
      • ゚ンコヌダヌに䌝わる募配が小さい
  • RNNの限界

    • チュヌリングマシン → RNNに倉換化 ただし孊習可胜ずは限らない
    • 単玔な RNN は、チュヌリングマシンを孊習できない
    • RNN は、有限状態機械の近䌌
    • RNN の状態は、コントロヌラヌず蚘憶䞡方の圹割
    • 長距離の䟝存関係は、より倧容量の蚘憶が必芁
    • 有限状態機械は、そもそも限界がある
  • RNN 再考

    • APIの芖点から考える前の状態入力 → 次の状態出力 vanilla RNN も LSTM も同じ
    • コントロヌラヌず蚘憶を分ける
  • アテンション

    • あるデヌタを衚珟するベクトルの配列
    • 入出力ロゞックを制埡するコントロヌラヌ
    • 各時刻で蚘憶を読む
    • 蚘憶に募配を蓄積
    • Early Fusion vs Late Fusion → 蚘憶から読み蟌んだデヌタを入力に統合するか、出力に統合するか
    • ゚ンコヌダヌ・デコヌダヌモデルのためのROM
      • ゚ンコヌダヌに募配が別の経路で䌝わる → ボトルネックの回避
      • ゜フトアラむンメントの孊習
      • 長い系列の䞭で情報を芋぀けやすい
      • 蚘憶が固定
    • テキスト含意
      • Premise (前提) ず Hypothesis (仮説) → 矛盟/äž­ç«‹/含意
      • 単玔なモデル前提仮説に RNN + アテンションを適甚
      • 読解理解
  • レゞスタ機械

    • コントロヌラヌが RAM に圱響を及がす
    • コントロヌラヌが蚘憶アクセス甚のキヌを生成 → アテンションのように䜿う
    • チュヌリングマシンずの関係䞀般的なアルゎリズムを孊習するのは難しいが、特定の条件䞋では可胜 (e.g., Graves et al. 2014)
    • 耇雑な掚論には、RNN+アテンション以䞊に耇雑で衚珟力の高いものが必芁
  • ニュヌラル・プッシュダりン・オヌトマトン

    • ニュヌラル・スタック
    • コントロヌラヌが、push/pop動䜜 + デヌタを決める
    • 連続倀スタック 各ベクトルデヌタに確信床を付䞎。push/pop は確信床を加算/枛算
    • 人工タスク倀のコピヌ、反転
    • 蚀語タスクSVO から SOV ぞの倉換 性の無い蚀語から有る蚀語ぞの倉換
    • LSTM でも収束するが、孊習が遅い正芏蚀語の近䌌を孊習しおいる
    • Stack, Queue, DeQueue, それぞれ埗意な問題が違う
英語 日本語
esoteric 難解な
with a grain of salt 話半分に
hierarchy 階局
premise 前提
hypothesis 仮説

講矩13: ニュヌラルネットにおける蚀語知識

講垫: Chris Dyer

  • 蚀語孊ずは

    • 蚀語でどう意味を衚珟するか
    • 脳がどう蚀語を凊理・生成するか
    • 人間の蚀語にはどういうものが可胜か
    • 人間の子䟛は、少ないデヌタからどう蚀語を孊ぶか
  • 文の階局関係

    • not ず anybody の間にNPI (negative polarity item; 吊定極性項目) の関係
    • "not" は anybody よりも先に来ないずいけない (朚の芪)
    • 仮説: 子䟛が蚀語を簡単に孊ぶのは、構造的にあきらかに意味をなさない仮説を考えおいないから
  • RNN

    • RNN は非垞に匷力なモデル
    • チュヌリング完党
    • どういった垰玍的バむアスがあるか
    • どういった過皋を眮くか
  • RNN の垰玍的バむアス

    • 難しい問題
    • 系列的新近性を優先
    • 蚌拠募配、系列の反転などの実隓、アテンション
    • チョムスキヌ「人間の蚀語を効率的に孊ぶためには、系列的新近性は良いバむアスではない」
  • 蚀語はどう意味を衚珟するか

    • "This film is hardly a treat."
    • 吊定 "hardly" が入る
    • Bag-of-words モデルでは難しい
    • 系列的 RNN でもおそらくうたくいく
    • 合成の原則衚珟の意味は、個別の構成芁玠の意味ずそれを合成する芏則から成る
    • 統語論の朚衚珟 → 構文朚
  • 再垰的ニュヌラルネットワヌク

    • 構文朚の各節点に隠れ状態 h = tanh(W[l;r] + b) ずしお再垰的に構成する
    • 節点の皮類(動詞, 名詞, etc.)によっお合成ルヌルを倉える → W を倉える
    • 映画のレビュヌを構文解析し、各節点に぀いお極性ポゞティブ、ネガティブをアノテヌト
    • 吊定によっお、極性がたったく倉わっおしたうこずも
    • 粟床を芋るず、Bigram + ナむヌブベむズより少し良いだけ
      • ただし、"not good" "not terrible" などの吊定を䌎う衚珟で非垞に高粟床
    • 倚くの拡匵
      • セルの定矩、暹状LSTM、N個の子節点、プログラミング蚀語ぞの応甚
    • リカレント繰り返し型ずの比范
      • 利点構文に埓った意味の衚珟 良い垰玍的バむアス 募配の逆䌝播距離が短い 䞭間節点ぞのアノテヌション
      • 欠点構文朚が必芁 右分岐した時募配の䌝播距離が長い バッチ蚈算しにくい
  • 構文解析

    • RNN 文法
    • RNN を䜿っおシンボル制埡シンボルを生成
    • 朚のトップダりン、巊→右の衚珟を生成 (朚のS匏衚珟)
    • スタックにこれたでに生成されたシンボルを保持
    • 次のアクションの確率をどう求めるか
      • 長さに䞊限が無い → RNN
      • 郚分朚の耇雑さに䞊限が無い → 再垰的ニュヌラルネット
      • 状態をあたり曎新しない → stack RNN
    • スタックRNN
      • PUSH ず POP の぀の挔算
      • PUSH した時に前にあった芁玠ずの間に接続を䜜る → 接続が朚構造ず同じになる
    • 系列的新近性よりも構文の新近性を重芖
    • パラメヌタ掚定
      • 生成モデル p(x, y), 文 x ず構文朚 y
      • 識別モデル GEN のかわりに、SHIFT 操䜜を䜿う
    • 解析
      • ビヌムサヌチを䜿う
      • 条件付きの蚀語モデル アクション列の確率をモデリングしおいる
    • 結果
      • 生成モデルの方が良い。埓来手法より高い F倀
      • 蚀語モデルずしお䜿うず LSTM+dropout より良い
  • 単語の衚珟

    • 任意性
      • car - c + b = bar
      • cat - b + b = bat (同じ挔算なのに結果が党く違う)
    • 文字に意味はあるか
      • cool cooool coooooool ← 意味が予枬できる
      • cat + s = cats, bat + s = bats ← 芏則的
    • 単語を構造のあるオブゞェクトずしお芋る
      • 圢態玠解析し、圢態玠ごずのベクトルを合成
        1. 元のベクトル、2. 圢態玠ベクトルの合成、3. 文字ベクトルの合成、を連結
      • 耇数の生成モヌドを混合し、単語を生成
      • トルコ語ずフィンランド語での蚀語モデリング
        • モヌドが増えるほど、性胜が向䞊
  • ニュヌラルネットの蚀語抂念の解析

    • Lizen, Dupoux, Goldberg 2017
    • 蚀語モデリングの代わりに、数の䞀臎を予枬
    • Wikipedia の文を自動でアノテヌション
    • 結果
      • 途䞭にはさたる名詞が無い堎合 → 距離が14たで基本的に゚ラヌ率は 0
      • 途䞭にはさたる名詞の数に圱響される (゚ラヌ率%ほど)
    • 他の実隓
      • 文法的か、非文法的か
      • 蚀語モデリングを目的関数ずした堎合、うたくいかない。構文を䞀般的に孊習しおいるわけではない
      • 文法チェッカヌを䜜る堎合は泚意文法を盎接孊習させたほうが良い
  • たずめ

    • 蚀語孊の利点より良いモデルが䜜れる モデルがきちんず動いおいるか調べられる
英語 日本語
empirical 経隓的な
constituent 構成芁玠
parse 構文朚, 構文解析結果
idiosyncratic 独特の
confound 亀絡