[DL輪読会]One Model To Learn Them All

>100 Views

July 14, 17

スライド概要

2017/7/14
Deep Learning JP:
http://deeplearning.jp/seminar-2/

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

One Model To Learn Them All DL輪読会 2017/07/14 松尾研究室 ⼤野峻典

2.

書誌情報 • 論⽂名:One Model To Learn Them All • 著者:Lukasz Kaiser, Aidan N. Gomez, Noam Shazeer, Ashish Vaswani, Niki Parmar, Llion Jones, Jakob Uszkoreit – Google Brain・University of Toronto・Google Research • 公開⽇:16 Jun 2017 • arXiv:https://arxiv.org/abs/1706.05137 • 実装:https://github.com/tensorflow/tensor2tensor 2

3.

Abstract • 問題意識: – Deep Learningはたくさんの領域で成功してきたが、各領域でモデルを得るためにアーキテク チャの研究や⻑期のチューニングをしないといけないのが⾯倒 • 提案: – この⼿間を解消するために、複数領域にわたるたくさんの問題を解決する1つのモデルを作る – 特に、ImageNet, 複数の翻訳タスク、画像キャプション(COCO)、⾳声認識コーパス、英語 構⽂解析タスクで同時に訓練されたモデルを提案 – 各領域で重要と認識されているネットワークモデルを組み込む(CNN, Attention Mechanism, Sparsely-gated 混合エキスパート) • 結果: – ある1つのタスクに有効なネットワークが他のタスクにおいて重要じゃなくとも、その他のタ スクにおけるパフォーマンスを下げることは無く、むしろ、ほとんどのケースで精度を上げる ことがわかった。 – データの少ないタスクでは他のタスクと共同で学習することで恩恵⼤きく、⼀⽅、⼤規模なタ スクでは下がったとしても少ししか精度は下がらないことを⽰した。 3

4.

1. Introduction • 画像処理や⾔語認識やその他たくさんの領域でDeep Learningは成功して きたが、各領域/問題で設計・チューニング必要なのは⾯倒であり問題。 • ⼈間の脳は複数の異なるタスクを学び転移学習から恩恵得ている。 – → – しかしこれまでのmulti-task学習では、同じドメインの他のタスクで訓練されている。 Multi-task multi-modalモデルも良いもの提案されていない。 • 本研究では、様々なドメインの複数のタスクを同時に学習できるマルチモー ダル構造を提案。 – 8つのデータセットで学習: • (1) WSJ speech corpus / (2) ImageNet dataset / (3) COCO image captioning dataset / (4) WSJ parsing dataset / (5) WMT English-German translation corpus / (6) The reverse of the above: German-English translation. / (7) WMT English-French translation corpus / (8) The reverse of the above: German-French translation. 4

5.

1. Introduction • モデルはよい精度出した(sotaではない) • 精度⾃体の改善は今後の課題 5

6.

1. Introduction • ⼆つの重要な洞察が得られたことが本研究の主な貢献 • ① Small modality-specific sub-networks convert into unified representation and back from it. – 異なるドメインの⼊⼒データを共通の表現空間に変換するサブネットワークが必要. • それらのサブネットワーク(モダリティネットと呼ぶ)は各モダリティに固有のもので、共通の表現へ/ からの変換を⾏う. • モダリティネットを計算量が最⼩になるように設計し、重度の特徴の抽出を⾏い、⼤部分の計算は、モデ ルのドメインに依存しない部分で実⾏されるようする. • ⾃⼰回帰モデルなので、⼊⼒空間から共通表現への変換と、共通表現から出⼒空間への変換の、両⽅必要. – 設計上で重要な⼆つのポイント • 共通表現は可変サイズにする:固定サイズだと、実装簡単で嬉しいが、モデルのパフォーマンスのボトル ネックになる。 • 同じドメインの異なるタスクはモダリティネットを共有:全てのタスクにサブネットを作成するのではな く、⼊⼒モダリティ毎に作成。これにより、タスク間の⼀般化が促進され、新しいタスクを追加すぐに追 加しやすくなる。 – 例:全ての翻訳タスクで、⾔語ペアに依らず、モダリティネットを共有 6

7.

1. Introduction • ② Computational blocks of different kinds are crucial for good results on various problems. – 異なるドメインのネットワークを組み込む:Depthwise-separable convolusions, an attention mechanism, sparsely-gated mixture-of-experts層を利⽤. • それらのネットワークは他のドメインのタスクでこれまでには研究されていなかった. – 今回、各タスク向けに設計されていないネットワークを使⽤しても、パフォーマンスを 損なわないことがわかった。 • 実際、attention層とmixture-of-experts層が、ImageNet上のパフォーマンスを若⼲向上さ せることがわかった. 7

8.

2. MultiModel Architecture • マルチモデルは、いくつかのモダリティネット、エンコーダ、I/Oミキサー、 ⾃⼰回帰デコーダで構成されている. • エンコーダ、デコーダは3つの計算ブロックで構成:CNN, Attention, Sparsely-gated mixture-of-experts 8

9.

2.1 Convolutional Blocks • Conv層 with ReLU and 正規化 – ⼊⼒テンソルのshape:[batch size, sequence length, feature channels] – 出⼒テンソルのshape:⼊⼒テンソルと同じ • Depthwise Separable ConvolutionsをConv処理に採⽤ – 特徴マップのチャネル毎に空間⽅向の畳み込みを⾏う → チャネル⽅向への畳込みがな くなる分, パラメータ効率/計算効率良い. – Pointwise convolutionで特徴数調整する. (Pointwiseはチャネル⽅向への畳込みのみお こなうもの.) – 参考: F. Chollet, "Xception: Deep Learning with Depthwise Separable Convolutions," in Proc. of CVPR, 2017. – SepConvd,s,f(W,x) • d: dilation • s: stride • f: kernels • 1ステップ: 9

10.

2.1 Convolutional Blocks • ConvStepを積み重ね, Residual Connectionを追加. • 各層におけるkernel, skip接続, dropout, dilationは以下の様に定義. 10

11.

2.2 Attention Blocks • multi-head dot-product attention mechanismを 使⽤ • 流れ – ⼊⼒: sourceテンソル, targetテンソル – targetテンソルは, Timingシグナルと構成され, 2つの Conv層でミックスされ, dot-prod attentionにわたされ, ⼀度attention出す. (self-attended) ⇛ Query Qに. • Timingシグナル; このコンテンツベースのアテンションをそ れらの系列情報⽅向における絶対位置/相対位置情報を使え るようになる. – sourceテンソルは2つのpointwise convに渡され, メモリ Keys KとValues Vを⽣成. – 以上の,Q, K, Vを使って, self-attended targetとsource の間にアテンションメカニズムを適⽤する. 11

12.

2.3 Mixture-of-Experts Blocks • sparsely-gated 混合エキスパート層 を⽤いる – Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer[21] で提案されているもの – たくさんのシンプルなfeed forward neural networks(experts), 訓練可能なgating networkで構成されている. • 訓練中にはk=4つのexpertsを, expertsのプール全体から選択 – 訓練中のそれぞれの2つのmixture-of-experts層では, • 8個の問題に共同で訓練している時は 240expertsのexpertsプールを使い, • 各問題に別々で訓練している時は60expertsのexpertsプールを使った 12

13.

2.4 Encoder and Mixer and Decoder • MultiModelの本体は3つの部分で構成 – Input Encoder:⼊⼒をエンコード – I/O Mixer: エンコードされた⼊⼒を以前の出⼒と混合するミキサー – Decoder:エンコードされた⼊⼒とミキサーの出⼒を処理して新しい出⼒を⽣成 • MixerとDecoderはleft-padded Conv層が埋め込まれている; 将来の情報に は⼀切アクセスせず, 現在の⼊⼒と過去の出⼒に渡る受容野を持つ. ⇛ 計算 効率改善. (参考[11]” Neural machine translation in linear time.”) • デコーダーで、同じモダリティでも異なるタスクの出⼒を⽣成できるように するため、常に、To-EnglishやTo-Parse-Treeなどのコマンドトークンでデ コードを開始する。 そして訓練中に各トークンに対応する埋め込みベクト ルを学習する。 13

14.

2.5 Modality Nets • 4つのModality Netsを持っている – – – – Language(text data) Images Audio Categorical data 14

15.

2.5.1 Language modality net • 本研究で⽤いる全ての⾔語のデータは, 8k subword-unitsを⽤いてトーカ ナイズされている. ([25] Neural Machine Translation of Rare Words with Subword Units 参考) • Input modality: – 終端記号で終わるトークンのシーケンスを受け取る. – 学習されたエンベディングを⽤いて, bodyに適した次元にトークンのシーケンスをマッ ピングする. • Output modality: – bodyからデコードされた出⼒受け取る. – 学習済みの線形マッピング⾏い(Ws・x), Softmaxを実⾏し, トークンボキャブラリ上 の確率分布を出す. 15

16.

2.5.2 Image modality net • Image modality netはXception([5])のエントリフローに似ている. • ⼊⼒画像の特徴深さ(feature depth)は, residual convolution block(ConvRes)を⽤いて徐々に深くなっていく. – ConvResの定義は以下 – Image Modalityの定義 16

17.

2.5.3 categorical modality net • Xception ([5])のexitのフローに似ている. • もしnetworkの⼊⼒が2次元データ(画像等)だったら, モデルのbodyからの 1次元の出⼒を2次元にreshapeして, 上記の処理する. 17

18.

2.5.4 Audio modality net • オーディオの⼊⼒は, 1次元の時系列の波形か, 2次元のスペクトログラムと して受け取る. • どちらの⼊⼒も, imageInputModalityで定義したConvResブロックを8つ 積み重ねて使う. • Spectral Modalityでは周波数ビン次元に沿ったストライドは⾏わず、スペ クトル領域において解像度を保持するようにする. 18

19.

2.6 Related Models • 本研究のMultiModelアーキテクチャは, ニューラルマシン翻訳に適⽤される エンコーダ・デコーダアーキテクチャに由来する. • ニューラルマシン翻訳の流れ – Seq-to-Seqモデルでは, LSTMもつRNNを使⽤ ([27,3,4]) – CNN構造がワードレベルニューラルマシン翻訳でいい結果出す([10,19]) • これらの初期のモデルではConv層の⼀番上に標準的なRNN層を持ち, 特に⻑い⽂章ではそれ がパフォーマンス上のボトルネックになっていた. アテンション構造を持たないRNNのseqto-seqにおけるボトルネックと同じである. – Extended Neural GPUや, ByteNetでさらに改善. • ByteNetではrecursionとleft-padded convolutionsをデコーダで使⽤. – 同様のアイデアが, WaveNetでも導⼊され, 本研究のMultiModelでも使⽤されている. 計算効率を⼤幅に向上. • Depthwise separable convolutionsは最初Sifre[26]によって研究され, そ の後Xceptionを⽤いて⼤規模画像分類で良好な結果を得るために使⽤され た. 19

20.

3. Experiments • (1) How far is the MultiModel trained on 8 tasks simultaneously from state-of-the-art results? – 8問題で共同で学習したMultiModelとsotaの⽐較が以下. – ハイパーパラメータのチューニングまだあまりしていないので改善の余地あり. • タスク限定モデル(sota)のパラメータしっかりチューニングしていないケースと結果が似てい る. 20

21.

3. Experiments • (2) How does training on 8 tasks simultaneously compare to training on each task separately? – タスク横断で共同で訓練したMultiModelと, 単⼀の各タスク毎に訓練したMultiModelの ⽐較を⾏う. • 8つのタスクを共同で訓練する時, 各タスクでモデルの共有パラメータを⽤いて, 複数のワー カーをもちいてそれぞれ訓練をした. • 単⼀の各タスク毎に訓練する場合は, 同じステップ数で, 単⼀のワーカー⽤いて訓練した. • ⼆つの内部メトリックを考えた;log-perplexityとper-token accuracy – ⇛ Joint 8-problemモデルは, ⼤規模なタスク(ImageNet,翻訳など)では単⼀モデルと 同様に機能し, 構⽂解析などデータが少ないタスクでは, より優れた結果を出している ことがわかる. 21

22.

3. Experiments • 構⽂解析で精度が上がってるのは, 翻訳タスクでテキストデータ⼤量に訓練 してるため⾃然(Table2) • しかし, ⼀⾒無関係なImageNetのようなタスクでの訓練も, 構⽂解析の精 度改善に役⽴っている結果が⾒られた. • 性能の差は顕著. – dropoutとearly stoppingのどちらも使⽤しているので, 過学習に関わることが原因で はないはず. • → ImageNetと構⽂解析のような⼀⾒無関係なタスク間でさえ、ある程度 の転移学習を可能にするような何らかの計算原理があるように思われる. 22

23.

3. Experiments • (3) How do the different computational blocks discussed above influence different tasks? – 各計算ブロック(mixture-of-experts, attention mechanism)が無い場合で計算した場 合のパフォーマンスを測定する. – それぞれ機械翻訳を念頭において設計された機構なので翻訳タスクで確認する. – ImageNetがそれらのブロックの恩恵を最も受けないはずなのでImageNetも含めて確 認する. – 実際には, それらの層は, ほとんどImageNetの性能に影響与えていない/少し精度を向 上させてることがわかる. – MoEもAttentionも翻訳系向けに設計されてるので(もちろん)翻訳タスクの精度は向上 させてることもわkる 23

24.

4. Conclusions • 単⼀の深層学習モデルが, 複数ドメインの⼤規模タスクを共同で学習できる ことを初めて実証. • 可能な限り多くのパラメータを共有し, 異なるドメインの計算ブロックを⼀ 緒に使うマルチモーダルアーキテクチャの設計が鍵. • ⼤量のデータがあるタスクからデータが限られているタスクへの転移学習を ⽰している. • この⽅向性で, より汎⽤的な深層学習アーキテクチャがこれから研究される はず(と信じている). 24