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

20
Python 体験する深層学習 5 1 5 深層学習の現在 目次は無視して内容を見ると、以下のように 3 部構成になっている。 【Ⅰ】 LeNet の深化型継承モデル(deeper successors)ある GoogLeNetVGGSPPResNet を概説。 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 リカレントニューラルネットワーク関係の実装サイト

Upload: -

Post on 15-Apr-2017

700 views

Category:

Software


0 download

TRANSCRIPT

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

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 リカレントニューラルネットワーク関係の実装サイト

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

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 480512

512 512832 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

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

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%の論文が掲載された。

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

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 と大きく異なる点)

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

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

5

5.4 ネットワーク・イン・ネットワーク

ネットワーク・イン・ネットワークは、リン(Lin)らが提案した「マックプーリングの代替手法」。

マックスプーリングが最大値を保持し他を捨てることに対して、ネットワーク・イン・ネットワーク

ては、プーリング部分を多層 NN 化により万能化したもの。

式て書くと、マックスプーリングは下記:

ネットワーク・イン・ネットワークは下記:

Lin の論文ては単純だが、GoogLeNet ては複雑。下記左ては上手く行かず右にしたとの報告。

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

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

6

5.5 残差ネット ResNet

ResNet(Residual Learning Network)は、マイクロソフトアジア(MSRS)のネットワークモデル名。

ILSVRC2015 の多くの部門て、2 位以下に圧倒的な差をつけて 1 位になった。

ネットワーク多層化を更に進め、最大 152 層て学習。

152 層全体:

ただし、単に仮想を増やすだけては、むしろ、誤差が増えるのて、工夫が必要。

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

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

7

工夫:各層の最終出力への影響を尐なくする。各層は入力に対する残差のみに寄与させる。

単純階層:各階層が次の層の出力に対して全責任を負う。各層が最終出力に大きく影響。

残差階層:各階層は前の層の出力に尐し値を加えるだけ。各層の最終出力への影響は尐ない。

各層の影響を f1, f2, … , fn としたときの最終出力への影響は:

単純多層化:f1*f2*…*fn => f1, f2, …, fn の固有値が 1 から離れると指数関数的に影響が増大

残差多層化:(1+f1)*(1+f2)*…*(1+fn) => f1, f2, …, fn の固有値が小さければ各層の影響は小

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

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

8

残差 Net ならば、多層化しても学習が進み、階層が深いほど学習誤差は小さくなる。

実際は、下記のように中央層て次元圧縮が起こる構造を採用(ボトルネック構造)。

残差 Netは、上記のような単純な構造を直線的に沢山並べたシンプルな構造。

ドロップアウトは用いてない。(フルコネクトがないのて当然と思いうが…)

ただし、入力データのバッチ正規化は実施。(各次元毎に平均が 0、分散が 1 になるよう処理)

階層が増えるほどエラーが減り 152 層て VGG を超える。論文ては 1202 層も実験(効果は無し)。

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

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 を用い、人間の認識性能を凌駕した。

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

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 秒掛かった。

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

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))

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

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)

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

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

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

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

g u w

s(t-1)

v f

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

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)

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

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 言語を対象に提供開始。

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

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

17

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

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

18

5.10.6 注意の導入

画像処理や自然言語処理て NN に注意を導入するようになってきた。

上記、左が入力文を処理する LSTM て、右が出力文を生成する LSTM。

左から右への弧状の線て描かれている部分が注意を表している。

左の LSTM 最上段て softmax 峻別化した出力を、右の LSTM の出力を決める際に使うということ。

5.10.7 プログラムコード生成

LSTM によるプログラム生成ては、系列から系列への写像を発展させ、Python に似たプログラムコ

ードを処理する(実行するということ)モデルが提案された:

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

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

19

5.10.8 ニューラルチューリングマシン

グレイブスらが唱えた枠組みて、ニューラルネットとチューリングマシンを組み合わせたもの。

最近 DeepMind が発表した Differential Neural Computer(下記)は、上記発展形てグレイブスが著者。

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

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

20

5.10.9 構文解析

リカレントニューラルネットワークによって構文解析木を出力するモデルがある。

5.10.10 音声認識

音声認識ても深層学習て大きな進歩がみられる。

<従来> <深層学習>