SlideShare a Scribd company logo
Python で体験する深層学習 5 章
1
5 深層学習の現在
目次は無視して内容を見ると、以下のように 3 部構成になっている。
【Ⅰ】LeNet の深化型継承モデル(deeper successors)である GoogLeNet、VGG、SPP、ResNet を概説。
5.1 GoogLeNet
5.2 VGG
5.3 SPP
5.4 ネットワーク・イン・ネットワーク
5.5 残差ネット ResNet
【Ⅱ】画像からの領域の切り出しの各種手法を概説。
5.6 画像からの領域切り出し
5.7 R-CNN
5.8 Fast R-CNN
5.9 Faster R-CNN
【Ⅲ】リカレントニューラルネットワーク言語モデル関連の話題を概説。
5.10 リカレントニューラルネットワーク言語モデル
5.10.1 従来法
5.10.2 リカレントニューラルネットワーク言語モデル上の意味空間
5.10.3 スキップグラム (word2vec)
5.10.4 ニューラルネットワーク機械翻訳
5.10.5 ニューラル言語モデル
5.10.6 注意の導入
5.10.7 プログラムコード生成
5.10.8 ニューラルチューリングマシン
5.10.9 構文解析
5.10.10 音声認識
5.10.11 リカレントニューラルネットワーク関係の実装サイト
Python で体験する深層学習 5 章
2
【Ⅰ】LeNet の深化型継承モデル(deeper successors)である GoogLeNet、VGG、SPP、ResNet を概説。
5.1 GoogLeNet
 ILSVRC2014 の登録チーム名 (LeNet へのオマージュ)。
 Object detection with additional training data 部門で 1 位。
 Classification+localization with provided training data: Ordered by classification error 部門で 1 位。
 後述の R-CNN (Regions with CNN)を組み込むことで、パラメータ数の減尐と成績向上を実現。
 ネットワーク・イン・ネットワークの考えで、インセプションモジュールを導入し、階層間のフルコ
ネクション(N x M のパラメータが必要)を無くし疎結合化することで、パラメータ数を大幅に削減。
 ネットワーク内に更にネットワーク(インセプション)を持つ構造。
 活性関数:ReLU (制流線形ユニット)
 ドロップアウト率:0.5
 非同期確率的勾配降下法で学習
 データ拡張:256x256 の画像から
224x224 の領域を切り出し、
拡大して利用
 各画像の学習回数(エポック):74
 訓練終了まで 2~3 週間を費やした
(
注) Filter Concatenation は、複数の Filter 出力
を Concatenate したもの(並べただけ)
Inception
Width of inception modules ranges from 256 filters (in early
modules) to 1024 in top inception modules.
Can remove fully connected layers on top completely
Number of parameters is reduced to 5 million
256 480 480
512
512 512
832 832 1024
Computional cost is increased by
less than 2X compared to
Krizhevsky’s network. (<1.5Bn
operations/evaluation)
1x1 convolutions
3x3 convolutions 5x5 convolutions
Filter
concatenation
Previous layer
Inception module
3x3 max pooling1x1 convolutions 1x1 convolutions
1x1 convolutions
Convolution
Pooling
Softmax
Other
Python で体験する深層学習 5 章
3
5.2 VGG
 VGG はオックスフォード大学は Visual Geometry Group のチーム名。
 Classification+localization with provided training data: Ordered by localization error 部門で 1 位。
 Classification+localization with provided training data: Ordered by classification error 部門で 2 位
 16 層から 19 層の NN で多層化の可能性を追求。そのために単純な構造を積み上げている。
 他のパラメータを固定し、Convolution は 3x3 に固定。
 Convolution のストライドは 1 で情報欠落無し。
 Max-pooling は 2x2 画素に対して実行され、ストライドは 2。
 活性関数:ReLU (制流線形ユニット)
 全結合層のドロップアウト率:0.5
 モーメンタム付きの確率的勾配降下法で学習
 データ拡張:256x256 の画像から 224x224 の領域を切り出し、各画素の平均値を引いた
 各画像の学習回数(エポック):74
GoogLeNet と VGG は、ともに多層化を追求。上位 5 位カテゴリーを挙げる分類課題で、誤判別率がと
もに 6.7%で、人間の誤判別率 5.1%に肉薄。その後、人間越え 4.94%の論文が掲載された。
Python で体験する深層学習 5 章
4
5.3 SPP
 SPP(Spatial Pyramid Pooling)は、マイクロソフトアジア(MSRS)のネットワークモデル名。
 Object detection with provided training data: Ordered by number of categories won 部門で 2 位。
 Classification+localization with provided training data: Ordered by classification error 部門で 3 位。
 Convolution 層と Full Connection 層の間に、旧来手法 Spatial Pyramid Matching を入れたもの。
 SPM/SPP により、対象が画像上のどの位置にあっても頑健な認識ができる点が特徴。
 逆に、似た特徴を持った物体が画像上に複数あると、同じものが複数あると誤認識しやすい。
 Convolution 層は 7 層と、比較的浅い。(GoogLeNet、VGG と大きく異なる点)
Python で体験する深層学習 5 章
5
5.4 ネットワーク・イン・ネットワーク
 ネットワーク・イン・ネットワークは、リン(Lin)らが提案した「マックプーリングの代替手法」。
 マックスプーリングが最大値を保持し他を捨てることに対して、ネットワーク・イン・ネットワーク
では、プーリング部分を多層 NN 化により万能化したもの。
 式で書くと、マックスプーリングは下記:
 ネットワーク・イン・ネットワークは下記:
 Lin の論文では単純だが、GoogLeNet では複雑。下記左では上手く行かず右にしたとの報告。
Python で体験する深層学習 5 章
6
5.5 残差ネット ResNet
 ResNet(Residual Learning Network)は、マイクロソフトアジア(MSRS)のネットワークモデル名。
 ILSVRC2015 の多くの部門で、2 位以下に圧倒的な差をつけて 1 位になった。
 ネットワーク多層化を更に進め、最大 152 層で学習。
 152 層全体:
 ただし、単に仮想を増やすだけでは、むしろ、誤差が増えるので、工夫が必要。
Python で体験する深層学習 5 章
7
 工夫:各層の最終出力への影響を尐なくする。各層は入力に対する残差のみに寄与させる。
 単純階層:各階層が次の層の出力に対して全責任を負う。各層が最終出力に大きく影響。
 残差階層:各階層は前の層の出力に尐し値を加えるだけ。各層の最終出力への影響は尐ない。
 各層の影響を f1, f2, … , fn としたときの最終出力への影響は:
 単純多層化:f1*f2*…*fn => f1, f2, …, fn の固有値が 1 から離れると指数関数的に影響が増大
 残差多層化:(1+f1)*(1+f2)*…*(1+fn) => f1, f2, …, fn の固有値が小さければ各層の影響は小
Python で体験する深層学習 5 章
8
 残差 Net ならば、多層化しても学習が進み、階層が深いほど学習誤差は小さくなる。
 実際は、下記のように中央層で次元圧縮が起こる構造を採用(ボトルネック構造)。
 残差 Net は、上記のような単純な構造を直線的に沢山並べたシンプルな構造。
 ドロップアウトは用いてない。(フルコネクトがないので当然と思いうが…)
 ただし、入力データのバッチ正規化は実施。(各次元毎に平均が 0、分散が 1 になるよう処理)
 階層が増えるほどエラーが減り 152 層で VGG を超える。論文では 1202 層も実験(効果は無し)。
Python で体験する深層学習 5 章
9
【Ⅱ】画像からの領域の切り出しの各種手法を概説。
5.6 画像からの領域切り出し
 通常の静止画や動画は複数の物体を含んでおり、多物体の同時識別を行うには領域切り出しが必要。
 古典的にはマルコフ確率場、条件確率場、グラフ理論お用いたモデルで領域を切り出していた。
 深層学習の画像認識の精度向上でも、バウンディングボックス領域切り出しの精度向上が必要。
 領域切り出しと物体認識は相互依存関係があり、これを考えたいくつかの手法が提案されてきた:
 データ駆動でボトムアップに小領域を結合して矩形領域を切り出す。
 トップダウンで外形を推定し、関心領域の詳細分析を行う。
 両者を一緒に用いる。
 2012 ILSVRC で AlexNet が成功した際、一般物体認識に拡張可能か議論があり、ILSVRC より古い
PASCAL VOC(一般物体認識チャレンジ)コンテストでの性能が問われた。
 ILSVRC は約 120 万枚の各画像データを1つのカテゴリー(1000 ある)に分類する課題。
 PASCAL VOC は物体検出課題であり、1 枚の画像に複数の物体が写っていても良い。
 物体検出課題には、物体が存在する画像上の位置を問うローカリゼーション課題が含まれるが、
AlexNet はローカリゼーションに対応していないので、適応精度は 30.5%と低かった。
 一般物体認識では、認識性能はバウンディングボックス切り出し精度に依存し、切り出し精度を上げ
れば、AlexNet は性能向上を期待でき、これが目標となった。
 本節では、領域切り出しの手法として下記を紹介する。
(1) 従来の物体認識技術の集大成であるユージリングスらの選択的探索
(2) 選択的探索の手法から CNN に本格移行したギルシックの R-CNN (Regions with CNN)
(3) ギルシックが MSRA に移ってから開発した高速な R-CNN である Fast R-CNN
(4) MSRA でインターンをしたレンが開発した Faster R-CNN
 前節で紹介したように、ResNet では Faster R-CNN を用い、人間の認識性能を凌駕した。
Python で体験する深層学習 5 章
10
<選択的探索>
 ユージリングスらは、領域切り出しに選択的探索機構を提案。
 選択的探索は、データ駆動ボトムアップ型の階層領域分割であり、特定の位置、縮尺、物体の構造、
物体のカテゴリーに依存しない。
 選択的探索では、空間解像度尺度、多様な指標色・テクスチャ・面積・外接矩形の情報を基に、物体
仮説を生成し、切り出す領域の候補をサポートベクトルマシンを用いた回帰により学習する。
 つまり、ピクセルレベルで類似する領域をグルーピングしていくことで候補領域を選出するルゴリ
ズム。要は似たような特徴を持つ領域を結合していき、1つのオブジェクトとして抽出する。
5.7 R-CNN
 選択的探索と CNN を組み合わせたもの。
 原画像に対し、選択的探索で 2000 個までの候補領域を切り出し、各候補領域に対して、CNN で 4096
次元の特徴ベクトルを抽出し、SVM またはソフトマックスで分類する。
 AlexNet では、Caffe で配布されているパラメータを基に事前訓練データとして用いた。
 Caffe の入力画像は 227x227 なので、切り出し領域も 227x227 に引き伸ばして CNN に入力。
 Caffe による ALexNet の最終 6、7 層を、PASCAL VOC 用に付け替えて再訓練した。
 また CNN で得られた 4096 次元の特徴ベクトルを使ってバウンディングボックスを再調整。
(これをバウンディングボックス回帰と呼ぶ)
 なお、選択的探索は、時間が掛かる処理であり、R-CNN 全体で 1 画像当たり 47 秒掛かった。
Python で体験する深層学習 5 章
11
 R-CNN は、既存手法(DPM v4~SegDPM)と比べ、高い検出平均精度を達成した。
mAP はカテゴリー毎の平均の全平均(mean Average Precision)、全カテゴリーで性能が向上していることを示す。
 R-CNN には、Python による事前学習月物体検出の Jupyter デモがある。
5.8 Fast R-CNN
 Fast R-CNN は、選択的探索による領域切り出し、正方領域への変換、CNN による特徴抽出、SVM
によるバウンディングボックス回帰、という多段階の処理を連結し、高速化したもの。
 R-CNN では、選択的探索、CNN による特徴抽出、SVM によるバウンディングボックス回帰のそれ
ぞれで最小化する目的関数が異なり、3 段階の学習が必要だった。
 Fast R-CNN では、各領域(Region of Interest)
でなく、画像全体に対して CNN を計算する。
 CNN 層出力から RoI 相当部分をプーリング層で
切り出し、固定サイズの特徴マップにプールする。
 固定サイズのプーリング層出力を、完全結合層に
入力し、ソフトマックスだけでなく、バウンディ
ングボックス回帰用の出力も一緒に計算する。
 これらの工夫で、R-CNN に比べて 9 倍高速。
(計算上は 1 画像当たり約 5 秒 (47/9))
Python で体験する深層学習 5 章
12
5.9 Faster R-CNN
 Fast R-CNN では従来手法(選択的探索)で行っていた領域切り出しを CNN 化したもの。
 領域提案ネットワーク(RPN: Region Proposal
Network)が、物体の領域候補とその得点を出力する。
 これを、Fast R-CNN の RoI プーリング層に入力し、
CNN 層出力から RoI 相当部分を切り出すのに使う。
 CNN 層は、RoI プーリング以降の物体認識だけでなく、
RPN での候補領域切り出しでも共通して利用する。
 選択的探索は時間が掛かる処理で、1 画像当たり約 5
秒掛かっていたが、CNN 化で高速化され、Faster
R-CNN 全体では 1 画像当たり 200 ミリ秒で処理する。
 RPN 処理:CNN 層出力に対し 3x3 の検出ウィンドウ
を走らせ、物体の有無を窓ごとに検出し分類する。
1 ウィンドウ当たり、3 x 3 = 9 の矩形領域と、特徴次
元(256 次元)に対する得点を学習する。
 単純に考えると、縦横比が一定(1:1、1:2、2:1)で、サイズが一定(3 種類)スライディングウィンドウを
しているだけなので、多様な形
の領域候補を出せない可能性は
あるが、下記のように結構多様。
【実際の処理】
 画像は固定サイズにリサイズ
(448 x 448)
 SxS に分割し、それぞれの領域
について矩形と、confidence、
クラス確率を B 個出力する
(論文では S=7、B=2)
Python で体験する深層学習 5 章
13
【Ⅲ】リカレントニューラルネットワーク言語モデル関連の話題を概説。
5.10 リカレントニューラルネットワーク言語モデル
 言語には多様なレベルがある。音素の切り出し、記号接地問題、単語の意味、文法、文章構成、意図
の理解、言い換え、喩え、類推、翻訳など、他者の意図を理解するためには多様な様相が必要。
 そのため、話題は多岐にわたるが、ここでは、スキップグラム、構文解析、翻訳、プログラムコード
生成を取り上げる。(一部は、リカレントニューラルネットワークでないものもある)
 リカレントニューラルネットワーク言語モデルは、単語や品詞の選択という離散的意思決定問題なの
で、隠れマルコフモデルの最短パス選択、条件付確率場における最適解の探索と類比できる。
 このモデルでは単語配列の生起確率を最大化する条件付確率場と観察単語系列の荷重和を求め、損失
を最小化する意思決定がなされる。
5.10.1 従来法
【1】ベンジオのモデル (2003)
 ベンジオのモデルはリカレントニューラルネットワーク言語モデルではない。
 過去から現在までの n 個の単語列(wt, wt-1, .., wt-n+1) (順番は逆順)の確率 f(wt, wt-1, .., wt-n+1)を考える。
 これを全 t について乗じた文章全体の確率(尤度)の対数(対数尤度、下記)を最大にする f を求めたい:
L =
1
T
∑ log 𝑓(𝑤𝑡, 𝑤𝑡−1, … , 𝑤𝑡−𝑛+1; 𝜃) + 𝑅(𝜃)𝑡 (𝑅(𝜃)は正規化項目)
 NN では、Σの中の1つの項の log 中の f に相当する部分を表現し、これを最適化。
 つまり、n-1 個の単語(wt-1, .., wt-n+1)の次 wt が i (単語帳の i 番目の単語)である確率を考える:
𝑃̂(𝑤𝑡|𝑤𝑡−1, … , 𝑤𝑡−𝑛+1) =
𝑒𝑥𝑝(𝑦 𝑤 𝑡
)
∑ 𝑒𝑥𝑝(𝑦 𝑖)𝑖
(下記の softmax の部分:確率として正規化・峻別化)
 yi は softmax の入力で、単語を 1 of N 表現した wt-1, .., wt-n+1 に行列 C を掛けて圧縮した x に対し、
y = (b+ Wx) + U tanh(d + Hx)
d+Hx
b+Wx
Python で体験する深層学習 5 章
14
 全てのパラメータを合わせてθ=(b, d, W, U, H, C)とすると、θは下記で更新:
𝜃 = 𝜃 + 𝜂
𝜕𝑙𝑜𝑔𝑃̂(𝑤 𝑡| 𝑤 𝑡−1,…,𝑤 𝑡−𝑛+1)
𝜕𝜃
(ηは学習係数)
 なお、x は詳しくは、wt-1, .., wt-n+1 に行列 C を掛けて圧縮した Cwt-1, …, Cwt-n+1 を並べたもの:
x = (Cwt-1, …, Cwt-n+1)
 第1実験:1,181,041 語からなるブラウンのコーパスを用い、最初の 800,000 語で訓練、次の 200,000
語でモデル選択、重み崩壊、初期停止などの妥当化を行い、残り 181,041 語で結果を評価。
本手法に比べ従来法(n-gram)は Perplexity(正解の選択肢数)が 24%多い:252 => 312 (+24%)
 第2実験:1995 年から 1996 年までのアソーテッド出版ニュースを用い、13,994,528 語で訓練、
963,135 語で妥当化、963,138 語と 963,071 語で結果を評価。
本手法に比べ従来法(n-gram)は Perplexity(正解の選択肢数)が 8%多い:109 => 117 (+8%)
【2】ミコロフのモデル (2013)
 ミコロフのモデルは言語処理に初めてリカレントニューラルネットワークを適用。
 INPUT の変化による CONTEX の変化をリカレントで表現。
 ニューヨークタイムズ紙 370 万語中 64 万語(30 万文)を用い訓練。
従来法(n-gram)に比べ Perplexity(正解の選択肢数)を 50%削減できた。
5.10.2 リカレントニューラルネットワーク言語モデル上の意味空間
 「王様 – 男性 + 女性 = 女王」という例で有名になったミコロフらの自然言語処理リカレントニュ
ーラルネットワークを概説する。
 一言でいうと、CONTEXT をベクトル空間と考え、その中での「王様」「男性」「女性」「女王」の関
係が上記のようになる。つまり CONTEX は言語の意味を表していると考えられるということ。
 正確には、「王様 – 男性 + 女性」のベクトルと他の単語ベクトルを、長さを1に正規化して内積を
を取った際の値が一番大きいのが「女王」ということ(つまりベクトルの方向が近いということ)。
g
guw
s(t-1)
v
f
Python で体験する深層学習 5 章
15
5.10.3 スキップグラム (word2vec)
 スキップグラムは、リカレントではなく、フィードフォーワードモデル。
 リカレントを使わないが、ミコロフと同じように意味空間と看做せる中間層を作る試み。
 文脈から次の単語を類推するのではなく、単語から文脈を類推するように訓練する。
 つまり、文脈が単語の意味を表していると考えたということ。
 単語 x の中間層でのベクトル表現を vec(x)とすると、次のような関係を示せる:
 vec(パリ) – vec(フランス) + vec(イタリア) = vec(ローマ)
 vec(ウィンドウズ) – vec(マイクロソフト) + vec(グーグル) = vec(アンドロイド)
 vec(Cu) + vec(銅) + vec(金) = vec(Au)
5.10.4 ニューラルネットワーク機械翻訳
 ニューラルネットワーク機械翻訳 (Neural Machine Translation: NMT)は、グーグル翻訳やスカイプ
のリアルタイム翻訳などで使われている。完璧ではないが、文脈、背景知識がなく、その言語につい
ての知識が全くなくても、翻訳サービスを提供できる。
 古典的には、統計的機械翻訳 (Statistical Machine Translation: STM)があり、これを先に説明。
【SMT】
 入力文(ソース言語)x に対する翻訳文(ターゲット言語)y の確率を条件付確率 p(y|x)とすると、ベイズ
則から次の関係がある(ベイズの定理の正規化項である分子を除外したもの)。
p(y|x) ∝ p(x|y)p(y)
Python で体験する深層学習 5 章
16
 上記の対数を取り、正規化項として C を追加すると:
log p(y|x) = log p(x|y) + log p(y) + C
 上記の第1項は翻訳モデル、第2項は(ターゲット言語の)言語モデルと呼ばれる。
第1項は y の翻訳前の文が x である確率。第2項は単にターゲット言語での単語 y の頻度(確率)。
【N-グラム】
 話の順番が前後するが、機械翻訳から離れ、過去の単語列から次の単語を予測する話。
 過去 N 個の単語列(wt-1, .., wt-N) (順番は逆順)から、次の単語 wt の確率 p(wt |wt-1, .., wt-N)が決まる
確率モデル。(N=2 なら 2-グラム(バイグラム)、N=3 なら 3-グラム(トリグラム))
 単語列(wn,wn-1, .., w1) (本と異なり N-グラムに合わせ逆順とする)の出現確率は正確には下記1つ目の
式になるが、遠い過去の影響は尐ないと考えると、2つ目の式のように N-グラムで近似できる:
 p(wn,wn-1, .., w1) = p(wn|wn-1, …,w1)p(wn-1|wn-2, …,w1) … p(w2|w1)p(w1)
 p(wn,wn-1, .., w1) ≃ p(wn|wn-1, …,wn-N)p(wn-1|wn-2, …,wn-N-1) …p(wN+1|wN, …,w1)
p(wN|wN-1, …,w1) p(wN-1|wN-2, …,w1)…p(w2|w1)p(w1)
5.10.5 ニューラル言語モデル (NMT の話)
 NMT では、リカレントニューラルネットワークを用いて、ソース言語の文をターゲット言語の文の
確率分布に変換する。次のような形が一般形:
 ℎ 𝑡 = 𝜎(𝑊ℎ𝑡
𝑥𝑡 + 𝑊ℎℎ
ℎ𝑡−1) (時刻 t での中間層:入力 x と1時刻前の h から計算するということ)
 𝑦𝑡 = 𝑊 𝑦ℎ
ℎ 𝑡 (時刻 t でのターゲット言語での文 y の確率:h から計算するということ)
 ソース言語での文の単語数(T)とターゲット言語での文の単語数(T’)は一致すると限らないため、
p(y1, …, yT’ | x1, …, xT)を考える。
 LSTM を用いた言語モデルで考えると次のようになる: (v はパラメータ?)
p(y1, …, yT’ | x1, …, xT) = p(y1 | v, x1, …, xT) … p(yT’ | v, x1, …, xT)
右辺の各 p は softmax を用いる。
文頭は<SOS> (Start Of Sentence)、文末は<EOS> (End Of Sentence)という単語として扱うことが多い。
 可変長の入出力を扱うモデルとして3つ考えられる:(次ページ)
※Google は「Google 翻訳が進化しました」との発表を 2016/11/16 に行った。
https://japan.googleblog.com/2016/11/google.html
ニューラルネットを活用した機械翻訳は、数年ほど前から素晴らしい研究成果を
生み出しており、9 月には Google の研究者がこの手法の発表。今回、採用した
新しいシステムでは、文章をパーツごとに翻訳するのではなく、ひとつの文とし
て扱う。文のコンテキストを把握することで、より正確な訳語の候補を見つける
ことができるようになり、その後、言葉の順番を変え調整することで、文法によ
り正しく、人の言葉に近い翻訳が出来るようになる。
本日、この新システムを英語、フランス語、ドイツ語、スペイン語、ポルトガル
語、中国語、日本語、韓国語、トルコ語の計 8 言語を対象に提供開始。
Python で体験する深層学習 5 章
17
Python で体験する深層学習 5 章
18
5.10.6 注意の導入
 画像処理や自然言語処理で NN に注意を導入するようになってきた。
 上記、左が入力文を処理する LSTM で、右が出力文を生成する LSTM。
左から右への弧状の線で描かれている部分が注意を表している。
 左の LSTM 最上段で softmax 峻別化した出力を、右の LSTM の出力を決める際に使うということ。
5.10.7 プログラムコード生成
 LSTM によるプログラム生成では、系列から系列への写像を発展させ、Python に似たプログラムコ
ードを処理する(実行するということ)モデルが提案された:
Python で体験する深層学習 5 章
19
5.10.8 ニューラルチューリングマシン
 グレイブスらが唱えた枠組みで、ニューラルネットとチューリングマシンを組み合わせたもの。
 最近 DeepMind が発表した Differential Neural Computer(下記)は、上記発展形でグレイブスが著者。
Python で体験する深層学習 5 章
20
5.10.9 構文解析
 リカレントニューラルネットワークによって構文解析木を出力するモデルがある。
5.10.10 音声認識
 音声認識でも深層学習で大きな進歩がみられる。
<従来> <深層学習>

More Related Content

What's hot

ディープラーニングフレームワーク とChainerの実装
ディープラーニングフレームワーク とChainerの実装ディープラーニングフレームワーク とChainerの実装
ディープラーニングフレームワーク とChainerの実装
Ryosuke Okuta
 
[DL輪読会]Swin Transformer: Hierarchical Vision Transformer using Shifted Windows
[DL輪読会]Swin Transformer: Hierarchical Vision Transformer using Shifted Windows[DL輪読会]Swin Transformer: Hierarchical Vision Transformer using Shifted Windows
[DL輪読会]Swin Transformer: Hierarchical Vision Transformer using Shifted Windows
Deep Learning JP
 
PythonによるDeep Learningの実装
PythonによるDeep Learningの実装PythonによるDeep Learningの実装
PythonによるDeep Learningの実装
Shinya Akiba
 
bigdata2012ml okanohara
bigdata2012ml okanoharabigdata2012ml okanohara
bigdata2012ml okanohara
Preferred Networks
 
SSD: Single Shot MultiBox Detector (ECCV2016)
SSD: Single Shot MultiBox Detector (ECCV2016)SSD: Single Shot MultiBox Detector (ECCV2016)
SSD: Single Shot MultiBox Detector (ECCV2016)
Takanori Ogata
 
Deep Learningと画像認識   ~歴史・理論・実践~
Deep Learningと画像認識 ~歴史・理論・実践~Deep Learningと画像認識 ~歴史・理論・実践~
Deep Learningと画像認識   ~歴史・理論・実践~
nlab_utokyo
 
畳み込みニューラルネットワークの研究動向
畳み込みニューラルネットワークの研究動向畳み込みニューラルネットワークの研究動向
畳み込みニューラルネットワークの研究動向
Yusuke Uchida
 
Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)
Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)
Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)Ohsawa Goodfellow
 
深層学習入門
深層学習入門深層学習入門
深層学習入門
Danushka Bollegala
 
Chainerの使い方と自然言語処理への応用
Chainerの使い方と自然言語処理への応用Chainerの使い方と自然言語処理への応用
Chainerの使い方と自然言語処理への応用
Seiya Tokui
 
物体検知(Meta Study Group 発表資料)
物体検知(Meta Study Group 発表資料)物体検知(Meta Study Group 発表資料)
物体検知(Meta Study Group 発表資料)
cvpaper. challenge
 
Deep learning入門
Deep learning入門Deep learning入門
Deep learning入門
magoroku Yamamoto
 
20160329.dnn講演
20160329.dnn講演20160329.dnn講演
20160329.dnn講演
Hayaru SHOUNO
 
PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説
弘毅 露崎
 
Res netと派生研究の紹介
Res netと派生研究の紹介Res netと派生研究の紹介
Res netと派生研究の紹介
masataka nishimori
 
LSTM (Long short-term memory) 概要
LSTM (Long short-term memory) 概要LSTM (Long short-term memory) 概要
LSTM (Long short-term memory) 概要
Kenji Urai
 
[DL輪読会]Blind Video Temporal Consistency via Deep Video Prior
[DL輪読会]Blind Video Temporal Consistency via Deep Video Prior[DL輪読会]Blind Video Temporal Consistency via Deep Video Prior
[DL輪読会]Blind Video Temporal Consistency via Deep Video Prior
Deep Learning JP
 
Recurrent Neural Networks
Recurrent Neural NetworksRecurrent Neural Networks
Recurrent Neural Networks
Seiya Tokui
 
More modern gpu
More modern gpuMore modern gpu
More modern gpu
Preferred Networks
 
[DL輪読会]GQNと関連研究,世界モデルとの関係について
[DL輪読会]GQNと関連研究,世界モデルとの関係について[DL輪読会]GQNと関連研究,世界モデルとの関係について
[DL輪読会]GQNと関連研究,世界モデルとの関係について
Deep Learning JP
 

What's hot (20)

ディープラーニングフレームワーク とChainerの実装
ディープラーニングフレームワーク とChainerの実装ディープラーニングフレームワーク とChainerの実装
ディープラーニングフレームワーク とChainerの実装
 
[DL輪読会]Swin Transformer: Hierarchical Vision Transformer using Shifted Windows
[DL輪読会]Swin Transformer: Hierarchical Vision Transformer using Shifted Windows[DL輪読会]Swin Transformer: Hierarchical Vision Transformer using Shifted Windows
[DL輪読会]Swin Transformer: Hierarchical Vision Transformer using Shifted Windows
 
PythonによるDeep Learningの実装
PythonによるDeep Learningの実装PythonによるDeep Learningの実装
PythonによるDeep Learningの実装
 
bigdata2012ml okanohara
bigdata2012ml okanoharabigdata2012ml okanohara
bigdata2012ml okanohara
 
SSD: Single Shot MultiBox Detector (ECCV2016)
SSD: Single Shot MultiBox Detector (ECCV2016)SSD: Single Shot MultiBox Detector (ECCV2016)
SSD: Single Shot MultiBox Detector (ECCV2016)
 
Deep Learningと画像認識   ~歴史・理論・実践~
Deep Learningと画像認識 ~歴史・理論・実践~Deep Learningと画像認識 ~歴史・理論・実践~
Deep Learningと画像認識   ~歴史・理論・実践~
 
畳み込みニューラルネットワークの研究動向
畳み込みニューラルネットワークの研究動向畳み込みニューラルネットワークの研究動向
畳み込みニューラルネットワークの研究動向
 
Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)
Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)
Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)
 
深層学習入門
深層学習入門深層学習入門
深層学習入門
 
Chainerの使い方と自然言語処理への応用
Chainerの使い方と自然言語処理への応用Chainerの使い方と自然言語処理への応用
Chainerの使い方と自然言語処理への応用
 
物体検知(Meta Study Group 発表資料)
物体検知(Meta Study Group 発表資料)物体検知(Meta Study Group 発表資料)
物体検知(Meta Study Group 発表資料)
 
Deep learning入門
Deep learning入門Deep learning入門
Deep learning入門
 
20160329.dnn講演
20160329.dnn講演20160329.dnn講演
20160329.dnn講演
 
PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説
 
Res netと派生研究の紹介
Res netと派生研究の紹介Res netと派生研究の紹介
Res netと派生研究の紹介
 
LSTM (Long short-term memory) 概要
LSTM (Long short-term memory) 概要LSTM (Long short-term memory) 概要
LSTM (Long short-term memory) 概要
 
[DL輪読会]Blind Video Temporal Consistency via Deep Video Prior
[DL輪読会]Blind Video Temporal Consistency via Deep Video Prior[DL輪読会]Blind Video Temporal Consistency via Deep Video Prior
[DL輪読会]Blind Video Temporal Consistency via Deep Video Prior
 
Recurrent Neural Networks
Recurrent Neural NetworksRecurrent Neural Networks
Recurrent Neural Networks
 
More modern gpu
More modern gpuMore modern gpu
More modern gpu
 
[DL輪読会]GQNと関連研究,世界モデルとの関係について
[DL輪読会]GQNと関連研究,世界モデルとの関係について[DL輪読会]GQNと関連研究,世界モデルとの関係について
[DL輪読会]GQNと関連研究,世界モデルとの関係について
 

Viewers also liked

Self Introduction for people interested in me.
Self Introduction for people interested in me.Self Introduction for people interested in me.
Self Introduction for people interested in me.
孝好 飯塚
 
My works in gitub, etc.
My works in gitub, etc.My works in gitub, etc.
My works in gitub, etc.
孝好 飯塚
 
大富豪に対する機械学習の適用 + α
大富豪に対する機械学習の適用 + α大富豪に対する機械学習の適用 + α
大富豪に対する機械学習の適用 + α
Katsuki Ohto
 
論文紹介 : Unifying count based exploration and intrinsic motivation
論文紹介 : Unifying count based exploration and intrinsic motivation論文紹介 : Unifying count based exploration and intrinsic motivation
論文紹介 : Unifying count based exploration and intrinsic motivation
Katsuki Ohto
 
カーリングの局面評価関数を学習 WITH “TENSOR FLOW”
カーリングの局面評価関数を学習 WITH “TENSOR FLOW”カーリングの局面評価関数を学習 WITH “TENSOR FLOW”
カーリングの局面評価関数を学習 WITH “TENSOR FLOW”
Katsuki Ohto
 
A3Cという強化学習アルゴリズムで遊んでみた話
A3Cという強化学習アルゴリズムで遊んでみた話A3Cという強化学習アルゴリズムで遊んでみた話
A3Cという強化学習アルゴリズムで遊んでみた話
mooopan
 
最近のDQN
最近のDQN最近のDQN
最近のDQN
mooopan
 
Safe and Efficient Off-Policy Reinforcement Learning
Safe and Efficient Off-Policy Reinforcement LearningSafe and Efficient Off-Policy Reinforcement Learning
Safe and Efficient Off-Policy Reinforcement Learning
mooopan
 
Learning Continuous Control Policies by Stochastic Value Gradients
Learning Continuous Control Policies by Stochastic Value GradientsLearning Continuous Control Policies by Stochastic Value Gradients
Learning Continuous Control Policies by Stochastic Value Gradients
mooopan
 
機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual Talks機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual TalksYuya Unno
 
Introduction of "TrailBlazer" algorithm
Introduction of "TrailBlazer" algorithmIntroduction of "TrailBlazer" algorithm
Introduction of "TrailBlazer" algorithm
Katsuki Ohto
 
多層NNの教師なし学習 コンピュータビジョン勉強会@関東 2014/5/26
多層NNの教師なし学習 コンピュータビジョン勉強会@関東 2014/5/26多層NNの教師なし学習 コンピュータビジョン勉強会@関東 2014/5/26
多層NNの教師なし学習 コンピュータビジョン勉強会@関東 2014/5/26Takashi Abe
 
機械学習と深層学習の数理
機械学習と深層学習の数理機械学習と深層学習の数理
機械学習と深層学習の数理
Ryo Nakamura
 
機械学習プロフェッショナルシリーズ輪読会 #2 Chapter 5 「自己符号化器」 資料
機械学習プロフェッショナルシリーズ輪読会 #2 Chapter 5 「自己符号化器」 資料機械学習プロフェッショナルシリーズ輪読会 #2 Chapter 5 「自己符号化器」 資料
機械学習プロフェッショナルシリーズ輪読会 #2 Chapter 5 「自己符号化器」 資料
at grandpa
 
一般向けのDeep Learning
一般向けのDeep Learning一般向けのDeep Learning
一般向けのDeep Learning
Preferred Networks
 
全脳関西編(松尾)
全脳関西編(松尾)全脳関西編(松尾)
全脳関西編(松尾)Yutaka Matsuo
 
Fast, Accurate Detection of 100,000 Object Classes on a Single Machine
Fast, Accurate Detection of 100,000 Object Classes on a Single MachineFast, Accurate Detection of 100,000 Object Classes on a Single Machine
Fast, Accurate Detection of 100,000 Object Classes on a Single Machine
Takuya Minagawa
 
はじめての確率論 測度から確率へ 57~60ページ ノート
はじめての確率論 測度から確率へ 57~60ページ ノートはじめての確率論 測度から確率へ 57~60ページ ノート
はじめての確率論 測度から確率へ 57~60ページ ノート
Chihiro Kusunoki
 
「これからの強化学習」勉強会#2
「これからの強化学習」勉強会#2「これからの強化学習」勉強会#2
「これからの強化学習」勉強会#2
Chihiro Kusunoki
 
ChainerRLの紹介
ChainerRLの紹介ChainerRLの紹介
ChainerRLの紹介
mooopan
 

Viewers also liked (20)

Self Introduction for people interested in me.
Self Introduction for people interested in me.Self Introduction for people interested in me.
Self Introduction for people interested in me.
 
My works in gitub, etc.
My works in gitub, etc.My works in gitub, etc.
My works in gitub, etc.
 
大富豪に対する機械学習の適用 + α
大富豪に対する機械学習の適用 + α大富豪に対する機械学習の適用 + α
大富豪に対する機械学習の適用 + α
 
論文紹介 : Unifying count based exploration and intrinsic motivation
論文紹介 : Unifying count based exploration and intrinsic motivation論文紹介 : Unifying count based exploration and intrinsic motivation
論文紹介 : Unifying count based exploration and intrinsic motivation
 
カーリングの局面評価関数を学習 WITH “TENSOR FLOW”
カーリングの局面評価関数を学習 WITH “TENSOR FLOW”カーリングの局面評価関数を学習 WITH “TENSOR FLOW”
カーリングの局面評価関数を学習 WITH “TENSOR FLOW”
 
A3Cという強化学習アルゴリズムで遊んでみた話
A3Cという強化学習アルゴリズムで遊んでみた話A3Cという強化学習アルゴリズムで遊んでみた話
A3Cという強化学習アルゴリズムで遊んでみた話
 
最近のDQN
最近のDQN最近のDQN
最近のDQN
 
Safe and Efficient Off-Policy Reinforcement Learning
Safe and Efficient Off-Policy Reinforcement LearningSafe and Efficient Off-Policy Reinforcement Learning
Safe and Efficient Off-Policy Reinforcement Learning
 
Learning Continuous Control Policies by Stochastic Value Gradients
Learning Continuous Control Policies by Stochastic Value GradientsLearning Continuous Control Policies by Stochastic Value Gradients
Learning Continuous Control Policies by Stochastic Value Gradients
 
機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual Talks機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual Talks
 
Introduction of "TrailBlazer" algorithm
Introduction of "TrailBlazer" algorithmIntroduction of "TrailBlazer" algorithm
Introduction of "TrailBlazer" algorithm
 
多層NNの教師なし学習 コンピュータビジョン勉強会@関東 2014/5/26
多層NNの教師なし学習 コンピュータビジョン勉強会@関東 2014/5/26多層NNの教師なし学習 コンピュータビジョン勉強会@関東 2014/5/26
多層NNの教師なし学習 コンピュータビジョン勉強会@関東 2014/5/26
 
機械学習と深層学習の数理
機械学習と深層学習の数理機械学習と深層学習の数理
機械学習と深層学習の数理
 
機械学習プロフェッショナルシリーズ輪読会 #2 Chapter 5 「自己符号化器」 資料
機械学習プロフェッショナルシリーズ輪読会 #2 Chapter 5 「自己符号化器」 資料機械学習プロフェッショナルシリーズ輪読会 #2 Chapter 5 「自己符号化器」 資料
機械学習プロフェッショナルシリーズ輪読会 #2 Chapter 5 「自己符号化器」 資料
 
一般向けのDeep Learning
一般向けのDeep Learning一般向けのDeep Learning
一般向けのDeep Learning
 
全脳関西編(松尾)
全脳関西編(松尾)全脳関西編(松尾)
全脳関西編(松尾)
 
Fast, Accurate Detection of 100,000 Object Classes on a Single Machine
Fast, Accurate Detection of 100,000 Object Classes on a Single MachineFast, Accurate Detection of 100,000 Object Classes on a Single Machine
Fast, Accurate Detection of 100,000 Object Classes on a Single Machine
 
はじめての確率論 測度から確率へ 57~60ページ ノート
はじめての確率論 測度から確率へ 57~60ページ ノートはじめての確率論 測度から確率へ 57~60ページ ノート
はじめての確率論 測度から確率へ 57~60ページ ノート
 
「これからの強化学習」勉強会#2
「これからの強化学習」勉強会#2「これからの強化学習」勉強会#2
「これからの強化学習」勉強会#2
 
ChainerRLの紹介
ChainerRLの紹介ChainerRLの紹介
ChainerRLの紹介
 

Similar to Pythonで体験する深層学習 5章

Paper: seq2seq 20190320
Paper: seq2seq 20190320Paper: seq2seq 20190320
Paper: seq2seq 20190320
Yusuke Fujimoto
 
深層学習 勉強会第1回 ディープラーニングの歴史とFFNNの設計
深層学習 勉強会第1回 ディープラーニングの歴史とFFNNの設計深層学習 勉強会第1回 ディープラーニングの歴史とFFNNの設計
深層学習 勉強会第1回 ディープラーニングの歴史とFFNNの設計
Yuta Sugii
 
Combinatorial optimization with graph convolutional networks and guided ver20...
Combinatorial optimization with graph convolutional networks and guided ver20...Combinatorial optimization with graph convolutional networks and guided ver20...
Combinatorial optimization with graph convolutional networks and guided ver20...
Shuntaro Ohno
 
Combinatorial optimization with graph convolutional networks and guided
Combinatorial optimization with graph convolutional networks and guidedCombinatorial optimization with graph convolutional networks and guided
Combinatorial optimization with graph convolutional networks and guided
Shuntaro Ohno
 
PRML 5章 PP.227-PP.247
PRML 5章 PP.227-PP.247PRML 5章 PP.227-PP.247
PRML 5章 PP.227-PP.247
Tomoki Hayashi
 
深層学習フレームワーク Chainer の開発と今後の展開
深層学習フレームワーク Chainer の開発と今後の展開深層学習フレームワーク Chainer の開発と今後の展開
深層学習フレームワーク Chainer の開発と今後の展開
Seiya Tokui
 
人工知能13 deep learning
人工知能13 deep learning人工知能13 deep learning
人工知能13 deep learning
Hirotaka Hachiya
 
Chainerの使い方と 自然言語処理への応用
Chainerの使い方と自然言語処理への応用Chainerの使い方と自然言語処理への応用
Chainerの使い方と 自然言語処理への応用
Yuya Unno
 
MIRU2014 tutorial deeplearning
MIRU2014 tutorial deeplearningMIRU2014 tutorial deeplearning
MIRU2014 tutorial deeplearning
Takayoshi Yamashita
 
Efficient Det
Efficient DetEfficient Det
Efficient Det
TakeruEndo
 
深層学習の数理:カーネル法, スパース推定との接点
深層学習の数理:カーネル法, スパース推定との接点深層学習の数理:カーネル法, スパース推定との接点
深層学習の数理:カーネル法, スパース推定との接点
Taiji Suzuki
 
CluBERT: A Cluster-Based Approach for Learning Sense Distributions in Multipl...
CluBERT: A Cluster-Based Approach for Learning Sense Distributions in Multipl...CluBERT: A Cluster-Based Approach for Learning Sense Distributions in Multipl...
CluBERT: A Cluster-Based Approach for Learning Sense Distributions in Multipl...
禎晃 山崎
 
深層学習フレームワーク Chainerとその進化
深層学習フレームワークChainerとその進化深層学習フレームワークChainerとその進化
深層学習フレームワーク Chainerとその進化
Yuya Unno
 
Semantic segmentation2
Semantic segmentation2Semantic segmentation2
Semantic segmentation2
Takuya Minagawa
 
TensorFlow math ja 05 word2vec
TensorFlow math ja 05 word2vecTensorFlow math ja 05 word2vec
TensorFlow math ja 05 word2vec
Shin Asakawa
 
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages. Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Satoshi Kato
 
20130925.deeplearning
20130925.deeplearning20130925.deeplearning
20130925.deeplearningHayaru SHOUNO
 
パターン認識 08 09 k-近傍法 lvq
パターン認識 08 09 k-近傍法 lvqパターン認識 08 09 k-近傍法 lvq
パターン認識 08 09 k-近傍法 lvqsleipnir002
 
音声認識と深層学習
音声認識と深層学習音声認識と深層学習
音声認識と深層学習
Preferred Networks
 
MapReduceによる大規模データを利用した機械学習
MapReduceによる大規模データを利用した機械学習MapReduceによる大規模データを利用した機械学習
MapReduceによる大規模データを利用した機械学習
Preferred Networks
 

Similar to Pythonで体験する深層学習 5章 (20)

Paper: seq2seq 20190320
Paper: seq2seq 20190320Paper: seq2seq 20190320
Paper: seq2seq 20190320
 
深層学習 勉強会第1回 ディープラーニングの歴史とFFNNの設計
深層学習 勉強会第1回 ディープラーニングの歴史とFFNNの設計深層学習 勉強会第1回 ディープラーニングの歴史とFFNNの設計
深層学習 勉強会第1回 ディープラーニングの歴史とFFNNの設計
 
Combinatorial optimization with graph convolutional networks and guided ver20...
Combinatorial optimization with graph convolutional networks and guided ver20...Combinatorial optimization with graph convolutional networks and guided ver20...
Combinatorial optimization with graph convolutional networks and guided ver20...
 
Combinatorial optimization with graph convolutional networks and guided
Combinatorial optimization with graph convolutional networks and guidedCombinatorial optimization with graph convolutional networks and guided
Combinatorial optimization with graph convolutional networks and guided
 
PRML 5章 PP.227-PP.247
PRML 5章 PP.227-PP.247PRML 5章 PP.227-PP.247
PRML 5章 PP.227-PP.247
 
深層学習フレームワーク Chainer の開発と今後の展開
深層学習フレームワーク Chainer の開発と今後の展開深層学習フレームワーク Chainer の開発と今後の展開
深層学習フレームワーク Chainer の開発と今後の展開
 
人工知能13 deep learning
人工知能13 deep learning人工知能13 deep learning
人工知能13 deep learning
 
Chainerの使い方と 自然言語処理への応用
Chainerの使い方と自然言語処理への応用Chainerの使い方と自然言語処理への応用
Chainerの使い方と 自然言語処理への応用
 
MIRU2014 tutorial deeplearning
MIRU2014 tutorial deeplearningMIRU2014 tutorial deeplearning
MIRU2014 tutorial deeplearning
 
Efficient Det
Efficient DetEfficient Det
Efficient Det
 
深層学習の数理:カーネル法, スパース推定との接点
深層学習の数理:カーネル法, スパース推定との接点深層学習の数理:カーネル法, スパース推定との接点
深層学習の数理:カーネル法, スパース推定との接点
 
CluBERT: A Cluster-Based Approach for Learning Sense Distributions in Multipl...
CluBERT: A Cluster-Based Approach for Learning Sense Distributions in Multipl...CluBERT: A Cluster-Based Approach for Learning Sense Distributions in Multipl...
CluBERT: A Cluster-Based Approach for Learning Sense Distributions in Multipl...
 
深層学習フレームワーク Chainerとその進化
深層学習フレームワークChainerとその進化深層学習フレームワークChainerとその進化
深層学習フレームワーク Chainerとその進化
 
Semantic segmentation2
Semantic segmentation2Semantic segmentation2
Semantic segmentation2
 
TensorFlow math ja 05 word2vec
TensorFlow math ja 05 word2vecTensorFlow math ja 05 word2vec
TensorFlow math ja 05 word2vec
 
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages. Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
 
20130925.deeplearning
20130925.deeplearning20130925.deeplearning
20130925.deeplearning
 
パターン認識 08 09 k-近傍法 lvq
パターン認識 08 09 k-近傍法 lvqパターン認識 08 09 k-近傍法 lvq
パターン認識 08 09 k-近傍法 lvq
 
音声認識と深層学習
音声認識と深層学習音声認識と深層学習
音声認識と深層学習
 
MapReduceによる大規模データを利用した機械学習
MapReduceによる大規模データを利用した機械学習MapReduceによる大規模データを利用した機械学習
MapReduceによる大規模データを利用した機械学習
 

Pythonで体験する深層学習 5章

  • 1. Python で体験する深層学習 5 章 1 5 深層学習の現在 目次は無視して内容を見ると、以下のように 3 部構成になっている。 【Ⅰ】LeNet の深化型継承モデル(deeper successors)である GoogLeNet、VGG、SPP、ResNet を概説。 5.1 GoogLeNet 5.2 VGG 5.3 SPP 5.4 ネットワーク・イン・ネットワーク 5.5 残差ネット ResNet 【Ⅱ】画像からの領域の切り出しの各種手法を概説。 5.6 画像からの領域切り出し 5.7 R-CNN 5.8 Fast R-CNN 5.9 Faster R-CNN 【Ⅲ】リカレントニューラルネットワーク言語モデル関連の話題を概説。 5.10 リカレントニューラルネットワーク言語モデル 5.10.1 従来法 5.10.2 リカレントニューラルネットワーク言語モデル上の意味空間 5.10.3 スキップグラム (word2vec) 5.10.4 ニューラルネットワーク機械翻訳 5.10.5 ニューラル言語モデル 5.10.6 注意の導入 5.10.7 プログラムコード生成 5.10.8 ニューラルチューリングマシン 5.10.9 構文解析 5.10.10 音声認識 5.10.11 リカレントニューラルネットワーク関係の実装サイト
  • 2. Python で体験する深層学習 5 章 2 【Ⅰ】LeNet の深化型継承モデル(deeper successors)である GoogLeNet、VGG、SPP、ResNet を概説。 5.1 GoogLeNet  ILSVRC2014 の登録チーム名 (LeNet へのオマージュ)。  Object detection with additional training data 部門で 1 位。  Classification+localization with provided training data: Ordered by classification error 部門で 1 位。  後述の R-CNN (Regions with CNN)を組み込むことで、パラメータ数の減尐と成績向上を実現。  ネットワーク・イン・ネットワークの考えで、インセプションモジュールを導入し、階層間のフルコ ネクション(N x M のパラメータが必要)を無くし疎結合化することで、パラメータ数を大幅に削減。  ネットワーク内に更にネットワーク(インセプション)を持つ構造。  活性関数:ReLU (制流線形ユニット)  ドロップアウト率:0.5  非同期確率的勾配降下法で学習  データ拡張:256x256 の画像から 224x224 の領域を切り出し、 拡大して利用  各画像の学習回数(エポック):74  訓練終了まで 2~3 週間を費やした ( 注) Filter Concatenation は、複数の Filter 出力 を Concatenate したもの(並べただけ) Inception Width of inception modules ranges from 256 filters (in early modules) to 1024 in top inception modules. Can remove fully connected layers on top completely Number of parameters is reduced to 5 million 256 480 480 512 512 512 832 832 1024 Computional cost is increased by less than 2X compared to Krizhevsky’s network. (<1.5Bn operations/evaluation) 1x1 convolutions 3x3 convolutions 5x5 convolutions Filter concatenation Previous layer Inception module 3x3 max pooling1x1 convolutions 1x1 convolutions 1x1 convolutions Convolution Pooling Softmax Other
  • 3. Python で体験する深層学習 5 章 3 5.2 VGG  VGG はオックスフォード大学は Visual Geometry Group のチーム名。  Classification+localization with provided training data: Ordered by localization error 部門で 1 位。  Classification+localization with provided training data: Ordered by classification error 部門で 2 位  16 層から 19 層の NN で多層化の可能性を追求。そのために単純な構造を積み上げている。  他のパラメータを固定し、Convolution は 3x3 に固定。  Convolution のストライドは 1 で情報欠落無し。  Max-pooling は 2x2 画素に対して実行され、ストライドは 2。  活性関数:ReLU (制流線形ユニット)  全結合層のドロップアウト率:0.5  モーメンタム付きの確率的勾配降下法で学習  データ拡張:256x256 の画像から 224x224 の領域を切り出し、各画素の平均値を引いた  各画像の学習回数(エポック):74 GoogLeNet と VGG は、ともに多層化を追求。上位 5 位カテゴリーを挙げる分類課題で、誤判別率がと もに 6.7%で、人間の誤判別率 5.1%に肉薄。その後、人間越え 4.94%の論文が掲載された。
  • 4. Python で体験する深層学習 5 章 4 5.3 SPP  SPP(Spatial Pyramid Pooling)は、マイクロソフトアジア(MSRS)のネットワークモデル名。  Object detection with provided training data: Ordered by number of categories won 部門で 2 位。  Classification+localization with provided training data: Ordered by classification error 部門で 3 位。  Convolution 層と Full Connection 層の間に、旧来手法 Spatial Pyramid Matching を入れたもの。  SPM/SPP により、対象が画像上のどの位置にあっても頑健な認識ができる点が特徴。  逆に、似た特徴を持った物体が画像上に複数あると、同じものが複数あると誤認識しやすい。  Convolution 層は 7 層と、比較的浅い。(GoogLeNet、VGG と大きく異なる点)
  • 5. Python で体験する深層学習 5 章 5 5.4 ネットワーク・イン・ネットワーク  ネットワーク・イン・ネットワークは、リン(Lin)らが提案した「マックプーリングの代替手法」。  マックスプーリングが最大値を保持し他を捨てることに対して、ネットワーク・イン・ネットワーク では、プーリング部分を多層 NN 化により万能化したもの。  式で書くと、マックスプーリングは下記:  ネットワーク・イン・ネットワークは下記:  Lin の論文では単純だが、GoogLeNet では複雑。下記左では上手く行かず右にしたとの報告。
  • 6. Python で体験する深層学習 5 章 6 5.5 残差ネット ResNet  ResNet(Residual Learning Network)は、マイクロソフトアジア(MSRS)のネットワークモデル名。  ILSVRC2015 の多くの部門で、2 位以下に圧倒的な差をつけて 1 位になった。  ネットワーク多層化を更に進め、最大 152 層で学習。  152 層全体:  ただし、単に仮想を増やすだけでは、むしろ、誤差が増えるので、工夫が必要。
  • 7. Python で体験する深層学習 5 章 7  工夫:各層の最終出力への影響を尐なくする。各層は入力に対する残差のみに寄与させる。  単純階層:各階層が次の層の出力に対して全責任を負う。各層が最終出力に大きく影響。  残差階層:各階層は前の層の出力に尐し値を加えるだけ。各層の最終出力への影響は尐ない。  各層の影響を f1, f2, … , fn としたときの最終出力への影響は:  単純多層化:f1*f2*…*fn => f1, f2, …, fn の固有値が 1 から離れると指数関数的に影響が増大  残差多層化:(1+f1)*(1+f2)*…*(1+fn) => f1, f2, …, fn の固有値が小さければ各層の影響は小
  • 8. Python で体験する深層学習 5 章 8  残差 Net ならば、多層化しても学習が進み、階層が深いほど学習誤差は小さくなる。  実際は、下記のように中央層で次元圧縮が起こる構造を採用(ボトルネック構造)。  残差 Net は、上記のような単純な構造を直線的に沢山並べたシンプルな構造。  ドロップアウトは用いてない。(フルコネクトがないので当然と思いうが…)  ただし、入力データのバッチ正規化は実施。(各次元毎に平均が 0、分散が 1 になるよう処理)  階層が増えるほどエラーが減り 152 層で VGG を超える。論文では 1202 層も実験(効果は無し)。
  • 9. Python で体験する深層学習 5 章 9 【Ⅱ】画像からの領域の切り出しの各種手法を概説。 5.6 画像からの領域切り出し  通常の静止画や動画は複数の物体を含んでおり、多物体の同時識別を行うには領域切り出しが必要。  古典的にはマルコフ確率場、条件確率場、グラフ理論お用いたモデルで領域を切り出していた。  深層学習の画像認識の精度向上でも、バウンディングボックス領域切り出しの精度向上が必要。  領域切り出しと物体認識は相互依存関係があり、これを考えたいくつかの手法が提案されてきた:  データ駆動でボトムアップに小領域を結合して矩形領域を切り出す。  トップダウンで外形を推定し、関心領域の詳細分析を行う。  両者を一緒に用いる。  2012 ILSVRC で AlexNet が成功した際、一般物体認識に拡張可能か議論があり、ILSVRC より古い PASCAL VOC(一般物体認識チャレンジ)コンテストでの性能が問われた。  ILSVRC は約 120 万枚の各画像データを1つのカテゴリー(1000 ある)に分類する課題。  PASCAL VOC は物体検出課題であり、1 枚の画像に複数の物体が写っていても良い。  物体検出課題には、物体が存在する画像上の位置を問うローカリゼーション課題が含まれるが、 AlexNet はローカリゼーションに対応していないので、適応精度は 30.5%と低かった。  一般物体認識では、認識性能はバウンディングボックス切り出し精度に依存し、切り出し精度を上げ れば、AlexNet は性能向上を期待でき、これが目標となった。  本節では、領域切り出しの手法として下記を紹介する。 (1) 従来の物体認識技術の集大成であるユージリングスらの選択的探索 (2) 選択的探索の手法から CNN に本格移行したギルシックの R-CNN (Regions with CNN) (3) ギルシックが MSRA に移ってから開発した高速な R-CNN である Fast R-CNN (4) MSRA でインターンをしたレンが開発した Faster R-CNN  前節で紹介したように、ResNet では Faster R-CNN を用い、人間の認識性能を凌駕した。
  • 10. Python で体験する深層学習 5 章 10 <選択的探索>  ユージリングスらは、領域切り出しに選択的探索機構を提案。  選択的探索は、データ駆動ボトムアップ型の階層領域分割であり、特定の位置、縮尺、物体の構造、 物体のカテゴリーに依存しない。  選択的探索では、空間解像度尺度、多様な指標色・テクスチャ・面積・外接矩形の情報を基に、物体 仮説を生成し、切り出す領域の候補をサポートベクトルマシンを用いた回帰により学習する。  つまり、ピクセルレベルで類似する領域をグルーピングしていくことで候補領域を選出するルゴリ ズム。要は似たような特徴を持つ領域を結合していき、1つのオブジェクトとして抽出する。 5.7 R-CNN  選択的探索と CNN を組み合わせたもの。  原画像に対し、選択的探索で 2000 個までの候補領域を切り出し、各候補領域に対して、CNN で 4096 次元の特徴ベクトルを抽出し、SVM またはソフトマックスで分類する。  AlexNet では、Caffe で配布されているパラメータを基に事前訓練データとして用いた。  Caffe の入力画像は 227x227 なので、切り出し領域も 227x227 に引き伸ばして CNN に入力。  Caffe による ALexNet の最終 6、7 層を、PASCAL VOC 用に付け替えて再訓練した。  また CNN で得られた 4096 次元の特徴ベクトルを使ってバウンディングボックスを再調整。 (これをバウンディングボックス回帰と呼ぶ)  なお、選択的探索は、時間が掛かる処理であり、R-CNN 全体で 1 画像当たり 47 秒掛かった。
  • 11. Python で体験する深層学習 5 章 11  R-CNN は、既存手法(DPM v4~SegDPM)と比べ、高い検出平均精度を達成した。 mAP はカテゴリー毎の平均の全平均(mean Average Precision)、全カテゴリーで性能が向上していることを示す。  R-CNN には、Python による事前学習月物体検出の Jupyter デモがある。 5.8 Fast R-CNN  Fast R-CNN は、選択的探索による領域切り出し、正方領域への変換、CNN による特徴抽出、SVM によるバウンディングボックス回帰、という多段階の処理を連結し、高速化したもの。  R-CNN では、選択的探索、CNN による特徴抽出、SVM によるバウンディングボックス回帰のそれ ぞれで最小化する目的関数が異なり、3 段階の学習が必要だった。  Fast R-CNN では、各領域(Region of Interest) でなく、画像全体に対して CNN を計算する。  CNN 層出力から RoI 相当部分をプーリング層で 切り出し、固定サイズの特徴マップにプールする。  固定サイズのプーリング層出力を、完全結合層に 入力し、ソフトマックスだけでなく、バウンディ ングボックス回帰用の出力も一緒に計算する。  これらの工夫で、R-CNN に比べて 9 倍高速。 (計算上は 1 画像当たり約 5 秒 (47/9))
  • 12. Python で体験する深層学習 5 章 12 5.9 Faster R-CNN  Fast R-CNN では従来手法(選択的探索)で行っていた領域切り出しを CNN 化したもの。  領域提案ネットワーク(RPN: Region Proposal Network)が、物体の領域候補とその得点を出力する。  これを、Fast R-CNN の RoI プーリング層に入力し、 CNN 層出力から RoI 相当部分を切り出すのに使う。  CNN 層は、RoI プーリング以降の物体認識だけでなく、 RPN での候補領域切り出しでも共通して利用する。  選択的探索は時間が掛かる処理で、1 画像当たり約 5 秒掛かっていたが、CNN 化で高速化され、Faster R-CNN 全体では 1 画像当たり 200 ミリ秒で処理する。  RPN 処理:CNN 層出力に対し 3x3 の検出ウィンドウ を走らせ、物体の有無を窓ごとに検出し分類する。 1 ウィンドウ当たり、3 x 3 = 9 の矩形領域と、特徴次 元(256 次元)に対する得点を学習する。  単純に考えると、縦横比が一定(1:1、1:2、2:1)で、サイズが一定(3 種類)スライディングウィンドウを しているだけなので、多様な形 の領域候補を出せない可能性は あるが、下記のように結構多様。 【実際の処理】  画像は固定サイズにリサイズ (448 x 448)  SxS に分割し、それぞれの領域 について矩形と、confidence、 クラス確率を B 個出力する (論文では S=7、B=2)
  • 13. Python で体験する深層学習 5 章 13 【Ⅲ】リカレントニューラルネットワーク言語モデル関連の話題を概説。 5.10 リカレントニューラルネットワーク言語モデル  言語には多様なレベルがある。音素の切り出し、記号接地問題、単語の意味、文法、文章構成、意図 の理解、言い換え、喩え、類推、翻訳など、他者の意図を理解するためには多様な様相が必要。  そのため、話題は多岐にわたるが、ここでは、スキップグラム、構文解析、翻訳、プログラムコード 生成を取り上げる。(一部は、リカレントニューラルネットワークでないものもある)  リカレントニューラルネットワーク言語モデルは、単語や品詞の選択という離散的意思決定問題なの で、隠れマルコフモデルの最短パス選択、条件付確率場における最適解の探索と類比できる。  このモデルでは単語配列の生起確率を最大化する条件付確率場と観察単語系列の荷重和を求め、損失 を最小化する意思決定がなされる。 5.10.1 従来法 【1】ベンジオのモデル (2003)  ベンジオのモデルはリカレントニューラルネットワーク言語モデルではない。  過去から現在までの n 個の単語列(wt, wt-1, .., wt-n+1) (順番は逆順)の確率 f(wt, wt-1, .., wt-n+1)を考える。  これを全 t について乗じた文章全体の確率(尤度)の対数(対数尤度、下記)を最大にする f を求めたい: L = 1 T ∑ log 𝑓(𝑤𝑡, 𝑤𝑡−1, … , 𝑤𝑡−𝑛+1; 𝜃) + 𝑅(𝜃)𝑡 (𝑅(𝜃)は正規化項目)  NN では、Σの中の1つの項の log 中の f に相当する部分を表現し、これを最適化。  つまり、n-1 個の単語(wt-1, .., wt-n+1)の次 wt が i (単語帳の i 番目の単語)である確率を考える: 𝑃̂(𝑤𝑡|𝑤𝑡−1, … , 𝑤𝑡−𝑛+1) = 𝑒𝑥𝑝(𝑦 𝑤 𝑡 ) ∑ 𝑒𝑥𝑝(𝑦 𝑖)𝑖 (下記の softmax の部分:確率として正規化・峻別化)  yi は softmax の入力で、単語を 1 of N 表現した wt-1, .., wt-n+1 に行列 C を掛けて圧縮した x に対し、 y = (b+ Wx) + U tanh(d + Hx) d+Hx b+Wx
  • 14. Python で体験する深層学習 5 章 14  全てのパラメータを合わせてθ=(b, d, W, U, H, C)とすると、θは下記で更新: 𝜃 = 𝜃 + 𝜂 𝜕𝑙𝑜𝑔𝑃̂(𝑤 𝑡| 𝑤 𝑡−1,…,𝑤 𝑡−𝑛+1) 𝜕𝜃 (ηは学習係数)  なお、x は詳しくは、wt-1, .., wt-n+1 に行列 C を掛けて圧縮した Cwt-1, …, Cwt-n+1 を並べたもの: x = (Cwt-1, …, Cwt-n+1)  第1実験:1,181,041 語からなるブラウンのコーパスを用い、最初の 800,000 語で訓練、次の 200,000 語でモデル選択、重み崩壊、初期停止などの妥当化を行い、残り 181,041 語で結果を評価。 本手法に比べ従来法(n-gram)は Perplexity(正解の選択肢数)が 24%多い:252 => 312 (+24%)  第2実験:1995 年から 1996 年までのアソーテッド出版ニュースを用い、13,994,528 語で訓練、 963,135 語で妥当化、963,138 語と 963,071 語で結果を評価。 本手法に比べ従来法(n-gram)は Perplexity(正解の選択肢数)が 8%多い:109 => 117 (+8%) 【2】ミコロフのモデル (2013)  ミコロフのモデルは言語処理に初めてリカレントニューラルネットワークを適用。  INPUT の変化による CONTEX の変化をリカレントで表現。  ニューヨークタイムズ紙 370 万語中 64 万語(30 万文)を用い訓練。 従来法(n-gram)に比べ Perplexity(正解の選択肢数)を 50%削減できた。 5.10.2 リカレントニューラルネットワーク言語モデル上の意味空間  「王様 – 男性 + 女性 = 女王」という例で有名になったミコロフらの自然言語処理リカレントニュ ーラルネットワークを概説する。  一言でいうと、CONTEXT をベクトル空間と考え、その中での「王様」「男性」「女性」「女王」の関 係が上記のようになる。つまり CONTEX は言語の意味を表していると考えられるということ。  正確には、「王様 – 男性 + 女性」のベクトルと他の単語ベクトルを、長さを1に正規化して内積を を取った際の値が一番大きいのが「女王」ということ(つまりベクトルの方向が近いということ)。 g guw s(t-1) v f
  • 15. Python で体験する深層学習 5 章 15 5.10.3 スキップグラム (word2vec)  スキップグラムは、リカレントではなく、フィードフォーワードモデル。  リカレントを使わないが、ミコロフと同じように意味空間と看做せる中間層を作る試み。  文脈から次の単語を類推するのではなく、単語から文脈を類推するように訓練する。  つまり、文脈が単語の意味を表していると考えたということ。  単語 x の中間層でのベクトル表現を vec(x)とすると、次のような関係を示せる:  vec(パリ) – vec(フランス) + vec(イタリア) = vec(ローマ)  vec(ウィンドウズ) – vec(マイクロソフト) + vec(グーグル) = vec(アンドロイド)  vec(Cu) + vec(銅) + vec(金) = vec(Au) 5.10.4 ニューラルネットワーク機械翻訳  ニューラルネットワーク機械翻訳 (Neural Machine Translation: NMT)は、グーグル翻訳やスカイプ のリアルタイム翻訳などで使われている。完璧ではないが、文脈、背景知識がなく、その言語につい ての知識が全くなくても、翻訳サービスを提供できる。  古典的には、統計的機械翻訳 (Statistical Machine Translation: STM)があり、これを先に説明。 【SMT】  入力文(ソース言語)x に対する翻訳文(ターゲット言語)y の確率を条件付確率 p(y|x)とすると、ベイズ 則から次の関係がある(ベイズの定理の正規化項である分子を除外したもの)。 p(y|x) ∝ p(x|y)p(y)
  • 16. Python で体験する深層学習 5 章 16  上記の対数を取り、正規化項として C を追加すると: log p(y|x) = log p(x|y) + log p(y) + C  上記の第1項は翻訳モデル、第2項は(ターゲット言語の)言語モデルと呼ばれる。 第1項は y の翻訳前の文が x である確率。第2項は単にターゲット言語での単語 y の頻度(確率)。 【N-グラム】  話の順番が前後するが、機械翻訳から離れ、過去の単語列から次の単語を予測する話。  過去 N 個の単語列(wt-1, .., wt-N) (順番は逆順)から、次の単語 wt の確率 p(wt |wt-1, .., wt-N)が決まる 確率モデル。(N=2 なら 2-グラム(バイグラム)、N=3 なら 3-グラム(トリグラム))  単語列(wn,wn-1, .., w1) (本と異なり N-グラムに合わせ逆順とする)の出現確率は正確には下記1つ目の 式になるが、遠い過去の影響は尐ないと考えると、2つ目の式のように N-グラムで近似できる:  p(wn,wn-1, .., w1) = p(wn|wn-1, …,w1)p(wn-1|wn-2, …,w1) … p(w2|w1)p(w1)  p(wn,wn-1, .., w1) ≃ p(wn|wn-1, …,wn-N)p(wn-1|wn-2, …,wn-N-1) …p(wN+1|wN, …,w1) p(wN|wN-1, …,w1) p(wN-1|wN-2, …,w1)…p(w2|w1)p(w1) 5.10.5 ニューラル言語モデル (NMT の話)  NMT では、リカレントニューラルネットワークを用いて、ソース言語の文をターゲット言語の文の 確率分布に変換する。次のような形が一般形:  ℎ 𝑡 = 𝜎(𝑊ℎ𝑡 𝑥𝑡 + 𝑊ℎℎ ℎ𝑡−1) (時刻 t での中間層:入力 x と1時刻前の h から計算するということ)  𝑦𝑡 = 𝑊 𝑦ℎ ℎ 𝑡 (時刻 t でのターゲット言語での文 y の確率:h から計算するということ)  ソース言語での文の単語数(T)とターゲット言語での文の単語数(T’)は一致すると限らないため、 p(y1, …, yT’ | x1, …, xT)を考える。  LSTM を用いた言語モデルで考えると次のようになる: (v はパラメータ?) p(y1, …, yT’ | x1, …, xT) = p(y1 | v, x1, …, xT) … p(yT’ | v, x1, …, xT) 右辺の各 p は softmax を用いる。 文頭は<SOS> (Start Of Sentence)、文末は<EOS> (End Of Sentence)という単語として扱うことが多い。  可変長の入出力を扱うモデルとして3つ考えられる:(次ページ) ※Google は「Google 翻訳が進化しました」との発表を 2016/11/16 に行った。 https://japan.googleblog.com/2016/11/google.html ニューラルネットを活用した機械翻訳は、数年ほど前から素晴らしい研究成果を 生み出しており、9 月には Google の研究者がこの手法の発表。今回、採用した 新しいシステムでは、文章をパーツごとに翻訳するのではなく、ひとつの文とし て扱う。文のコンテキストを把握することで、より正確な訳語の候補を見つける ことができるようになり、その後、言葉の順番を変え調整することで、文法によ り正しく、人の言葉に近い翻訳が出来るようになる。 本日、この新システムを英語、フランス語、ドイツ語、スペイン語、ポルトガル 語、中国語、日本語、韓国語、トルコ語の計 8 言語を対象に提供開始。
  • 18. Python で体験する深層学習 5 章 18 5.10.6 注意の導入  画像処理や自然言語処理で NN に注意を導入するようになってきた。  上記、左が入力文を処理する LSTM で、右が出力文を生成する LSTM。 左から右への弧状の線で描かれている部分が注意を表している。  左の LSTM 最上段で softmax 峻別化した出力を、右の LSTM の出力を決める際に使うということ。 5.10.7 プログラムコード生成  LSTM によるプログラム生成では、系列から系列への写像を発展させ、Python に似たプログラムコ ードを処理する(実行するということ)モデルが提案された:
  • 19. Python で体験する深層学習 5 章 19 5.10.8 ニューラルチューリングマシン  グレイブスらが唱えた枠組みで、ニューラルネットとチューリングマシンを組み合わせたもの。  最近 DeepMind が発表した Differential Neural Computer(下記)は、上記発展形でグレイブスが著者。
  • 20. Python で体験する深層学習 5 章 20 5.10.9 構文解析  リカレントニューラルネットワークによって構文解析木を出力するモデルがある。 5.10.10 音声認識  音声認識でも深層学習で大きな進歩がみられる。 <従来> <深層学習>