SlideShare a Scribd company logo
1 of 30
Download to read offline
深層学習day3
白背景:要点整理
黄色背景:確認テスト
灰色背景:ソースコード実行結果
Section1:再帰型ニューラルネットワークの概念
✦RNN:時系列データに対応可能な,ニューラルネットワーク
• 時系列データ:時間的順序を追って,一定時間ごとに観察される
•        相互に統計的依存関係が認められるようなデータの系列
• 例:音声データ,テキストデータ
• 全体像
• 特徴:過去の時間の状態を保持し,次の時間を再帰的に求める
✦BPTT(Back Propagation Through Time):パラメータ調整法の一種
• 数学的記述
Section1:再帰型ニューラルネットワークの概念
✦RNNのネットワークには大きく分けて3つの重みがある.1つは入力から現在の
中間層を定義する際にかけられる重み,1つは中間層から出力を定義する際に
かけられる重みである.残り1つの重みについて説明せよ.
• 前の中間層 から今の中間層 への重み
✦下図のy1をx, s0, s1, w_in, w, w_outを用いて数式で表せ.また中間層の出力
にシグモイド関数g(x)を作用させよ.
•
•
Zn−1 Zn
y1 = g(z1Wout + bout)
z1 = g(z0W + x1Win + bin)
✦ソースコード(重要な部分のみ抽出)
Section1:再帰型ニューラルネットワークの概念
✦simple_RNN.ipynb
✦出力結果
Section2:LSTM
✦RNNの課題:過去に るほど,勾配が消失していく→長い時系列の学習困難
✦勾配爆発:層を逆伝播するごとに指数関数的に勾配が大きくなる
✦LSTMの全体図
Section2:LSTM
✦CEC(Constant Error Carousel)
• 過去のデータを保存する(勾配が1なので,消失・爆発を防ぐ)
• 課題:重みが一律→NNの学習特性が無くなる
✦入力ゲート・出力ゲート
• 前のユニットの入力・出力をどれくらい受け取るかを重みで調整する
✦LSTMの課題:過去の情報を必要可否に関わらず,保管し続ける
• 過去の情報が要らなくなった場合,そのタイミングで情報を忘却する必要
がある→忘却ゲート
✦覗き穴結合:CEC自身の値に,重み行列を介して伝播可能にした構造
Section2:LSTM
✦以下の文章をLSTMに入力し空欄に当てはまる単語を予測したいとする.文中
の「とても」という言葉は空欄の予測においてなくなっても影響を及ぼさな
いと考えられる.このような場合,どのゲートが作用すると考えられるか.
✦「映画面白かったね.ところで,とてもお腹が空いたら何か_____.」
• 忘却ゲート
Section3:GRU
✦LSTMの課題:パラメータ数が多く,計算負荷が高くなる
✦GRU(Gated Recurrent Unit)
• LSTMのパラメータを大幅に削減し,精度は同等またはそれ以上が望めるよ
うになった構造
✦GRUの全体像:リセットゲート,更新ゲートを持つ
Section3:GRU
✦LSTMとの違い
• LSTMはCEC,入力ゲート,出力ゲート,忘却ゲートを持つ
• GRUはその代わりにリセットゲート,更新ゲートを持つ→計算量減
Section3:GRU
✦LSTMとCECが抱える課題について,それぞれ簡潔に述べよ
• LSTM:パラメータが多く,計算量が多い
• CEC:学習機能が無い(その代わりに,入力ゲート・出力ゲートを持つ)
✦LSTMとGRUの違いを簡潔に述べよ
• パラメータ数がGRUの方が少ない
• 計算コストがGRUの方が少ない
• LSTMはCEC,入力ゲート,出力ゲート,忘却ゲートを持つが,GRUはリ
セットゲート,更新ゲートを持つ
Section4:双方向RNN
✦LSTMは過去の情報だけを加味している
✦過去の情報だけでなく,未来の情報を加味することで,精度を向上させるた
めのモデル
• 例:文章の推敲,機械翻訳
✦双方向RNNの全体像
✦過去の情報:文字列の着目している単語よりも前の単語群
✦未来の情報:文字列の着目している単語よりも後の単語群
Section5:Seq2Seq
✦Encoder-Decoderモデルの一種
• 機械対話や,機械翻訳に使用
✦Encoder RNN:入力テキストデータを単語等のトークンに区切って渡す構造
• Taking:文章を単語等のトークン毎に分割し,トークン毎のIDに分割する
• Embedding:IDから,そのトークンを表す分散表現ベクトルに変換
• Encoder RNN:ベクトルを順番にRNNに入力していく
✦Decoder RNN:システムが出力データを単語等のトークン毎に生成する構造
✦HRED:過去n-1個の発話から次の発話を生成する(seq2seqでは,文脈無
視)
• 構造:Seq2Seq+Context RNN(Encoderのまとめた各文章の系列をまと
めて,これまでの会話コンテキスト全体を表すベクトルに変換する構造) 
→過去の発話を加味した返答をできる
Section5:Seq2Seq
✦HREDの課題:会話の流れのような多様性が無い,答えが短く情報量に乏し
い
✦VHRED:VAEの潜在変数の概念をHREDに追加したもの
• オートエンコーダ:教師なし学習の1つ.次元削減を行う.Encoder, 潜在
変数, Decoderから構成される
• VAE:オートエンコーダは潜在変数にデータを押し込めているが,その構
造がどのような状態かわからない→この潜在変数に確率分布を仮定する
Section5:Seq2Seq
✦下記の選択肢から,seq2seqについて説明しているものを選べ.
1. 時刻に関して順方向と逆方向のRNNを構成し,それら2つの中間層表現を特徴量として利用する
ものである.
2. RNNを用いてEncoder-Decoderモデルの一種であり,機械翻訳などのモデルに使われる
3. 構文木などの木構造に対して,隣接単語から表現ベクトル(フレーズ)を作るという演算を再帰的に
行い(重みは共通),文全体の表現ベクトルを得るニューラルネットワークである
4. RNNの一種であり,単純なRNNにおいて問題となる勾配消失問題をCECとゲートの概念を導入
することで解決したものである
• 2(1:双方向RNN, 3:構文木,4:LSTM)
✦seq2seqとHRED, HREDとVHREDの違いを簡潔に述べよ
• seq2seqでは文脈を無視しているが,HREDは文脈の流れを考慮
• HREDは情報量の乏しい短い返答しかできないが,VHREDはVAEの潜在変数の概
念を追加
✦VAEに関する下記の説明文中の空欄に当てはまる言葉を答えよ
• 自己符号化器の潜在変数に______を導入したもの
• 確率分布
Section6:word2vec
✦RNNの課題:可変長の文字列をNNに与えることができない
✦学習データからボキャブラリを作成
✦メリット:大規模データの分散表現の学習が現実的な計算速度とメモリ量で
実現可能
• ボキャブラリ 任意の単語ベクトル次元で重み行列が誕生
Section7:Attention Mechanism
✦seq2seqの課題:長い文章への対応が困難
• 単語数に依らず,固定次元ベクトルの中に入力しなければならない
✦文章が長くなるほど,そのシーケンスの内部表現の次元も大きくなっていく
仕組みが必要になる→Attention Mechanism=「入力と出力のどの単語が関
連しているのか」の関連度を学習する仕組み
Section7:Attention Mechanism
✦RNNとword2vec, seq2seqとAttentionの違いを簡潔に述べよ
• RNNは固定長の文字列のみを入力可能,word2vecは可変長の文字列にも
対応
• seq2seqは長い文章への対応が困難,Attentionは入出力の単語の関連度を
学習することで長い文章への対応が可能
深層学習day4
白背景:要点整理
黄色背景:確認テスト
灰色背景:ソースコード実行結果
Section1:強化学習
✦長期的に報酬を最大化できるように環境の中で行動を選択できるエージェン
トを作ることを目標とする機械学習の一分野
• 行動の結果として与えられる利益をもとに,行動を決定する原理を改善し
ていく仕組み
✦強化学習のイメージ
Section1:強化学習
✦探索と利用のトレードオフ
• 過去のデータで,ベストとされる行動のみを常に取り続ければ,他にもっ
とベストな行動を見つけることはできない→探索が足りない状態
• 未知の行動のみを常に取り続ければ,過去の経験が活かせない→利用が足
りない状態
• 上記2つはトレードオフの関係性
✦強化学習の特徴
• 優れた方策を見つけることが目標
• 価値関数
• 状態価値関数:ある状態の価値に注目
• 行動価値関数:状態と価値を組み合わせた価値に注目
• 方策関数:ある状態でどのような行動をとるのかの確率を与える関数
Section2:AlphaGo
✦PolicyNet(19 19マスの着手予想確率)とValueNet(出力は現局面の勝率
を-1∼1で表したもの)
✦学習ステップ
• 教師あり学習によるRollOutPolicyとPolicyNetの学習
• 強化学習によるPolicyNetの学習
• 強化学習によるValueNetの学習
✦AlphaGo(Lee)とAlphaGo Zeroの違い
• 教師あり学習を一切行わず,強化学習のみで作成
• 特徴入力からヒューリスティックな要素を排除し,石の配置のみにした
• PolicyNetとValueNetを1つのネットワークに統合した
• Residual Netを導入
• モンテカルロ木探索からRollOutシミュレーションをなくした
Section3:軽量化・高速化技術
✦分散深層学習
• 複数の計算資源を使用し,並列的にNNを構成することで,効率の良い学習
を行う
• データ並列化,モデル並列化,GPUによる高速技術は不可欠
✦データ並列化:親モデルを各ワーカーに子モデルとしてコピー,データを分割
し,各ワーカーが計算
• 同期型:各ワーカーが計算が終わるのを待ち,全ワーカーの勾配が出たと
ころで勾配の平均を計算し,親モデルのパラメータを更新
• 非同期型:各ワーカーはお互いの計算を待たず,各子モデル毎に更新を行う
• 非同期型の方が処理が早い,同期型の方が精度が良いことが多い,非同期
型は学習が不安定になりやすい
Section3:軽量化・高速化技術
✦モデル並列化:親モデルを各ワーカーに分割し,それぞれのモデルを学習させる→
全てのデータで学習が終わった後で,1つのモデルに復元
✦モデルが大きい時→モデル並列化,データが大きい時→データ並列化
✦GPUによる高速化
• GPGPU:グラフィック以外の用途で使用されるGPUの総称
• CUDA, OpenCL
• CPU:高性能なコアが少数,複雑で連続的な処理が得意
• GPU:比較的低性能なコアが多数,簡単な並列処理が得意
✦モデルの軽量化:パラメータや演算回数を低減する手法の総称
• 量子化:パラメータのbit数を落とす→計算の高速化,省メモリ化,精度の低下
• 蒸留:大きなモデル(教師モデル)の知識を使い軽量なモデル(生徒モデル)を
作成
• プルーニング:寄与の少ないニューロンをモデルから削減し高速化と省メモリ化
を行う技術
Section4:応用モデル
✦MobileNet
• DLモデルの軽量化・高速化・高精度化を実現
• Depthwise Convolution+Pointwise Convolution
✦DenseNet
• DenseBlock:出力層に前の層の入力を付け加える
• Transition Layer:特徴マップのサイズを変更し,ダウンサンプリングを行
うため,Transition Layerと呼ばれる層でDence blockを繋ぐ
✦Wavenet
• 生の音声波形を生成する深層学習モデル
• Pixel CNNを音声に応用したもの
Section4:応用モデル
• い:H W C K K
• う:H W C M
Section4:応用モデル
• あ:Dilated causal convolution
• い:パラメータ数に対する受容野が広い
Section5:Transformer
✦2017年6月に登場
✦RNNを使わない,Attentionのみ使用
✦自己注意機構により文脈を考慮して各単語をエンコードする
✦Self-Attention
• 入力を全て同じにして学習的に注意箇所を決めていく
✦Position-Wise Feed-Forward Networks
• 位置情報を保持したまま順伝搬させる
✦Scaled dot product attention
• 全単語に関するAttentionをまとめて計算する
✦Multi-Head attention
• 重みパラメタの異なる8個のヘッドを使用
Section5:Transformer
✦BLEUの評価
✦lecture_chap2_exercise_public.ipynb
✦学習部分
Section6:物体検知・セグメンテーション
✦出力の違い
• 分類:(画像に対し)クラスラベル
• 物体検知:Bounding Box
• 意味領域分割:(各ピクセルに対し)クラスラベル
• 個体領域分割:(各ピクセルに対し)クラスラベル
✦代表的なデータセット
• VOC12:クラス20, Train+Val 11,540, Box/画像 2.4
• ILSVRC17:クラス200, Train+Val 476,668, Box/画像 1.1
• MS COCO18:クラス80, Train+Val 123,287, Box/画像 7.3
• OICOD18:クラス500, Train+Val 1,743,042, Box/画像 7.0
✦評価指標
• Precision=TP/(TP+FP)
• Recall=TP/(TP+FN)
Section6:物体検知・セグメンテーション
✦クラス分類:閾値でクラスを決定
✦物体検出:検出する物体への期待値
✦IoU(Intersection over Union)
• クラスラベルだけでなく,物体位置の予測精度を評価したい
• IoU=TP/(TP+FP+FN)
• Ground-Truth BB:正解のBB
• Predicted BB:予測したBB
✦confidenceとIoUで判断する
✦AP(Average Precision), mAP(mean Average Precision)
✦FPS(Flames per Second):検出精度に加え,検出速度も問題になる

More Related Content

What's hot

Deeplearning輪読会
Deeplearning輪読会Deeplearning輪読会
Deeplearning輪読会正志 坪坂
 
パターン認識02 k平均法ver2.0
パターン認識02 k平均法ver2.0パターン認識02 k平均法ver2.0
パターン認識02 k平均法ver2.0sleipnir002
 
Icml2019 kyoto ohno_ver20190805
Icml2019 kyoto ohno_ver20190805Icml2019 kyoto ohno_ver20190805
Icml2019 kyoto ohno_ver20190805Shuntaro Ohno
 
ベイズ深層学習5章 ニューラルネットワークのベイズ推論 Bayesian deep learning
ベイズ深層学習5章 ニューラルネットワークのベイズ推論 Bayesian deep learningベイズ深層学習5章 ニューラルネットワークのベイズ推論 Bayesian deep learning
ベイズ深層学習5章 ニューラルネットワークのベイズ推論 Bayesian deep learningssuserca2822
 
ラビットチャレンジ Day3 day4レポート
ラビットチャレンジ Day3 day4レポートラビットチャレンジ Day3 day4レポート
ラビットチャレンジ Day3 day4レポートKazuyukiMasada
 
[DL輪読会]QUASI-RECURRENT NEURAL NETWORKS
[DL輪読会]QUASI-RECURRENT NEURAL NETWORKS[DL輪読会]QUASI-RECURRENT NEURAL NETWORKS
[DL輪読会]QUASI-RECURRENT NEURAL NETWORKSDeep Learning JP
 
Pythonで体験する深層学習 5章
Pythonで体験する深層学習 5章Pythonで体験する深層学習 5章
Pythonで体験する深層学習 5章孝好 飯塚
 
0から理解するニューラルネットアーキテクチャサーチ(NAS)
0から理解するニューラルネットアーキテクチャサーチ(NAS)0から理解するニューラルネットアーキテクチャサーチ(NAS)
0から理解するニューラルネットアーキテクチャサーチ(NAS)MasanoriSuganuma
 
Hybrid computing using a neural network with dynamic external memory
Hybrid computing using a neural network with dynamic external memoryHybrid computing using a neural network with dynamic external memory
Hybrid computing using a neural network with dynamic external memorypoppyuri
 
[第2版]Python機械学習プログラミング 第12章
[第2版]Python機械学習プログラミング 第12章[第2版]Python機械学習プログラミング 第12章
[第2版]Python機械学習プログラミング 第12章Haruki Eguchi
 
[第2版]Python機械学習プログラミング 第12章
[第2版]Python機械学習プログラミング 第12章[第2版]Python機械学習プログラミング 第12章
[第2版]Python機械学習プログラミング 第12章Haruki Eguchi
 
論文紹介 Pixel Recurrent Neural Networks
論文紹介 Pixel Recurrent Neural Networks論文紹介 Pixel Recurrent Neural Networks
論文紹介 Pixel Recurrent Neural NetworksSeiya Tokui
 

What's hot (13)

Deeplearning輪読会
Deeplearning輪読会Deeplearning輪読会
Deeplearning輪読会
 
パターン認識02 k平均法ver2.0
パターン認識02 k平均法ver2.0パターン認識02 k平均法ver2.0
パターン認識02 k平均法ver2.0
 
Icml2019 kyoto ohno_ver20190805
Icml2019 kyoto ohno_ver20190805Icml2019 kyoto ohno_ver20190805
Icml2019 kyoto ohno_ver20190805
 
ベイズ深層学習5章 ニューラルネットワークのベイズ推論 Bayesian deep learning
ベイズ深層学習5章 ニューラルネットワークのベイズ推論 Bayesian deep learningベイズ深層学習5章 ニューラルネットワークのベイズ推論 Bayesian deep learning
ベイズ深層学習5章 ニューラルネットワークのベイズ推論 Bayesian deep learning
 
ラビットチャレンジ Day3 day4レポート
ラビットチャレンジ Day3 day4レポートラビットチャレンジ Day3 day4レポート
ラビットチャレンジ Day3 day4レポート
 
ma52009id419
ma52009id419ma52009id419
ma52009id419
 
[DL輪読会]QUASI-RECURRENT NEURAL NETWORKS
[DL輪読会]QUASI-RECURRENT NEURAL NETWORKS[DL輪読会]QUASI-RECURRENT NEURAL NETWORKS
[DL輪読会]QUASI-RECURRENT NEURAL NETWORKS
 
Pythonで体験する深層学習 5章
Pythonで体験する深層学習 5章Pythonで体験する深層学習 5章
Pythonで体験する深層学習 5章
 
0から理解するニューラルネットアーキテクチャサーチ(NAS)
0から理解するニューラルネットアーキテクチャサーチ(NAS)0から理解するニューラルネットアーキテクチャサーチ(NAS)
0から理解するニューラルネットアーキテクチャサーチ(NAS)
 
Hybrid computing using a neural network with dynamic external memory
Hybrid computing using a neural network with dynamic external memoryHybrid computing using a neural network with dynamic external memory
Hybrid computing using a neural network with dynamic external memory
 
[第2版]Python機械学習プログラミング 第12章
[第2版]Python機械学習プログラミング 第12章[第2版]Python機械学習プログラミング 第12章
[第2版]Python機械学習プログラミング 第12章
 
[第2版]Python機械学習プログラミング 第12章
[第2版]Python機械学習プログラミング 第12章[第2版]Python機械学習プログラミング 第12章
[第2版]Python機械学習プログラミング 第12章
 
論文紹介 Pixel Recurrent Neural Networks
論文紹介 Pixel Recurrent Neural Networks論文紹介 Pixel Recurrent Neural Networks
論文紹介 Pixel Recurrent Neural Networks
 

04_深層学習(day3, day4)