>100 Views
June 05, 25
スライド概要
機械学習・音声認識・プログラミングに関する書籍を執筆しています。
イラストで学ぶ音声認識 改訂第2版 5. ニューラルネットワーク 5.1 ニューラルネットワークとは 5.2 ディープニューラルネットワーク 5.3 畳み込みネットワーク 5.4 リカレントネットワーク 5.5 Transformer 1
5.1 ニューラルネットワークとは 生物の神経細胞の情報伝達をモデル化したユニットを組み合わせて,複雑な関数 を近似するための数理モデル 個々のユニットは複数の入力信号に異なる重みを掛けて足し合わせ,その値 の大小によって活性/非活性が決まる非線形の情報変換を行う f をシグモイド関数にする と,ロジスティック回帰を 実現していることになりま す. … 1 2
5.1 ニューラルネットワークとは 非線形関数の実現 ユニットを階層的に組み合わせる(フィードフォワード型) 出力と正解との誤差を最小化するように重みを調整する(誤差逆伝播法) 出力 はネットワークの重み によって決まるので,誤差関数は と表現できる 誤差を最小化するための重みの更 新式( は学習率) 2層のネットワークで も,隠れ層のユニット 数を十分に増やすこと で,「理論的には」任 意の非線形関数を学習 することができま す. 正解ラベル 二乗誤差 出力値 交差エン トロピー 出力層 重みの修正 学習 誤差 隠れ層 重みの修正 学習 入力層 特徴ベクトル 3
5.2 ディープニューラルネットワーク ディープニューラルネットワークとは 多数の隠れ層を持つニューラルネットワーク 大量のデータが利用可能になったことと,各種の工夫で学習が可能になった シグモイド関数と 比べて微分係数が 大きな活性化関数 学習率が時間経過 に応じて変化 (1) 活性化関数の工夫 修正量だけを学習 すれば良いので, ランダムな初期値 から変換を学習す るより,少ないデ ータで学習可能 (3) スキップ接続 (2) 学習法の工夫 + 0をまたぐことによっ て,活性化関数による非 線形性が有効に発揮され る (4) バッチ正規化 4
5.2 ディープニューラルネットワーク 過学習への対処 ドロップアウト 隠れ層のユニットを,一定の割合 でランダムに無効化して学習 学習後に実際の出力を計算するときは,重みを 倍する 5
5.3 畳み込みネットワーク 畳み込みニューラルネットワーク(CNN) 画像認識などのタスクで有効なアーキテクチャ 畳み込み層とプーリング層を何段階か組み合わせて特徴抽出を行い,最 後は密結合層で分類を行う 畳み込み層 入力データに対して,カーネルとよばれる小さなフィルタをスライドさ せながら適用し,局所的な特徴を抽出する プーリング層 一定範囲の畳み込み層の出力に対して平均値あるいは最大値を求めるこ とでダウンサンプリングし,特徴の位置依存性を緩和する 6
5.3 畳み込みネットワーク プーリングは指定された範 囲の平均値や最大値を求め る処理で,画像を小さくす る(≒抽象度を高める)役 割を果たしています. カーネル カーネル 入力画像 畳み込みは,入力画像の一 部とカーネルとの要素積の 和が計算され,その結果に ReLUなどの活性化関数が 適用されます. カーネル 畳み込み層 プーリング層 N回繰り返し 密結合ネットワーク 7
5.4 リカレントネットワーク リカレントニューラルネットワーク(RNN) 時系列データや自然言語など,順序が重要なデータに適したアーキテクチャ 隠れ層の出力を次の時刻の入力と結合することで,過去の情報を保持した状 態で出力を生成する 自然言語処理の場合 語彙数を次元数とする one-hot ベクトルで表現された単語は,200次元 程度の低次元な埋め込みベクトルに変換される 適切な出力が得られるように学習された埋め込みベクトルは,意味の近 い単語同士のベクトル間の距離が近くなる 8
5.4 リカレントネットワーク LSTM(Long Short-Term Memory)ユニット 単純な RNNでは離れたところにある情報を保持するのが難しい LSTM は,過去の情報を保持するためのメモリセルと,情報の削除や追加を制 御するゲートを持つ forget NNレイヤー tanh input output tanh 要素毎の演算 線の合流:ベクトルの結合 線の分岐:コピー 9
5.4 リカレントネットワーク RNN の応用 RNN の最終状態に入力系列全体の情報を集約するエンコーダと,そのベクト ルを初期状態として出力系列を生成するデコーダを結合して sequence-tosequence (seq2seq) モデルが実現できる さらに出力系列の生成の各時点において,入力系列のどの部分に注目するか を学習するアテンション機構を組み込むことで,より柔軟な出力生成が可能 になった 10
5.4 リカレントネットワーク seq2seq モデルとアテンション機構 行列 W は,次の 出力単語を決め るときに,入力 のどの単語を見 ればよいかを学 習していること になります. エンコーダ デコーダ (a) 単純な seq2seq モデル (b) アテンション機構の導入 11
5.5 Transformer self-attention 機構を採用したエンコーダ・デコーダモデル デコーダ部は,これまでに出 力した単語と,入力単語全体 を考慮して,出力単語を一つ ずつ決めてゆきます. 出力単語列 ... Decoder block ... Encoder block エンコーダ部は, 周りの単語の意味 を考慮して,入力 単語の意味ベクト ルを作成すると考 えてください. Encoder block Decoder block Encoder block Decoder block 単語埋め込み 単語埋め込み 位置 エンコーディング <BOS> 入力単語列 エンコーダ デコーダ 12
5.5 Transformer エンコーダ 入力トークン列を受け取り,各トークンに対する意味表現ベクトルを出力 位置情報を位置エンコーディングとして加える エンコーダブロックの内部 + フィードフォワードの計算は単語ごとに行 われます.これはネットワークに蓄えられ た知識を反映させていることに当たりま す. フィードフォワードの計算 セルフアテンションは,その単語と関係 が深そうな単語の情報を取り入れて,そ の単語の新しいベクトルを作ります. + セルフアテンションの計算 一般には,入力 を変換するWを 複数持つ,マル チヘッドで校正 されます. 13
5.5 Transformer デコーダ 部分的な出力結果を入力として受け取り,次の単語を予測 エンコーダブロックの処理結果を取り入れるクロスアテンション機構を持つ デコーダブロックの内部 + フィードフォワードの計算 + エンコーダ クロスアテンションでは,K とVをエンコーダの出力から 求めます.これは,出力単語 の意味を計算するときに,入 力のどこを見ればよいかを求 めていることになります. クロスアテンションの計算 + セルフアテンションの計算 キー 入力単語列 ク エ リ デコーダの動作では,自分より後ろ の単語の情報は使えないはずなの で,このようなマスクを使ってセル フアテンションの範囲を限定しま す. 14
5.5 Transformer 大規模言語モデル Transformer のエンコーダ部またはデコーダ部のみの構成で,入力の一部を 予測する自己教師あり学習を行うことで,大規模なコーパスを用いた学習が 可能になった BERT(Bidirectional Encoder Representations from Transformers) エンコーダ部のみを使用し,入力の一部をマスクしてその部分を予測す る事前学習を行い,タスクに特化したデータでファインチューニングを 行う GPT(Generative Pre-trained Transformer) デコーダ部のみを使用し,次の単語を予測する事前学習を行い,タスク に特化したデータでファインチューニングを行う 15