DeepLearning 2017年の10の予測

翻訳元ブログ(2016/12/12)
by Carlos E. Perez
https://www.linkedin.com/pulse/10-deep-learning-trends-predictions-for2017-carlos-e-perez

私は以前このブログで『ソフトウェア開発における2011年の動向予測』を投稿しましたが、今回は少し違う観点でディープラーニングについての10の予測をしましょう。企業が採用する技術という観点ではなく、研究動向と今後の予測にスポットを当てることにします。ディープラーニングによって企業へのAI導入が促進されることは間違いありません。また、まだAI化が進んでいない企業にとってはディープラーニングがAI導入への重要な第一歩になるでしょう。しかし、ディープラーニングについてのどのような発見が企業にイノベーションを起こすのかについてはそれほど明白ではありません。そこで私は２０１７年を大胆に予測したいと思います。


## その１：ハードウェア開発はムーア法則を加速

NvidiaやIntelのハードウェア開発状況を見ると、2017年にムーアの法則<sup><a href="#1" name="#1-ret">1</a></sup>はこれまでの２倍のスピードに加速される見通しです。NvidiaはDeepLearningを支援する豊富なシステムを備えており、2017年にはこの分野で支配的立場となるでしょう。企業は十分整備されたNvidiaのシステムを採用することになります。Intelにも「Xeon Phiソリューション」がありますが、すでに遅れを取っています。Intelは2016年8月に買収したDeepLearning企業であるNervanaの技術をベースとしたチップを2017年中頃に発売しますが、その頃にはまだNvidiaの性能には追いついていないと思われます。

Intelの「FPGA<sup><a href="#2" name="#2-ret">2</a></sup>ソリューション」は消費電力が大幅に削減可能という経済的な理由でクラウドプロバイダーとして採用されるでしょう。しかし、2017年中頃に発売されるIntelのNervanaチップ性能が30TFLOPSであるのに対し、Nvidiaの性能は20TFLOPSに達していることを考慮すると、Intelが大きなインパクトを与えるのは2018年以降になると思われます。「3D XPoint」はIntelの目玉技術ですが、GPUが新規格のメモリ「HBM2<sup><a href="#3" name="#3-ret">3</a></sup>」を採用することを考慮すると、3X XPointは必ずしもコア技術とはならないと思われます。

Amazonは、FPGAベースのクラウドインスタンスを発表しました。これはXilinxの「UltraScale+」の技術をベースにしており、1つのインスタンスで6,800個のDSPスライス<sup><a href="#4" name="#4-ret">4</a></sup>と64GBのメモリを提供します。これは素晴らしい機能ですが、UltraScale+はHBMを実装していないので、メモリアクセスが負担となる可能性があります。Nvidia、Intel、AMDの３社と比較してもメモリ帯域幅が低く、企業はVHDLやVerilogなどの複雑な開発プロセスへの投資を一旦中止せざるを得ないでしょう。

最新のニュースで、AMDがDeepLearning計算専用の「Instinctシリース」を発表しました。これらの製品はNvidiaと比較しても非常に競争力のあるため、AMDの「ROCm<sup><a href="#5" name="#5-ret">5</a></sup>ソフトウェア」の進歩につながるでしょう。


## その2：Convolutional Neural Networkが支配的になる

畳み込みニューラルネットワーク（Convolutional Neural Network, CNN）はディープラーニングにおいて基盤モデルとなります。再帰構造や組み込みメモリノードをもつ「RNN」や「LSTM」は、CNNベースのソリューションに比べて優位性があるわけではないので、利用頻度は低いと思われます。プログラミングの世界から「GOTO」が姿を消したように、RNNやLSTMにも同じことが起きると予想します。事実、並列アーキテクチャは性能面で逐次アークテクチャを凌駕します。

そして、微分可能なメモリネットワークが一般的となるでしょう。その結果としてメモリがコアノードから分離し、計算処理とは別のコンポーネントとして存在するようになるでしょう。LSTMで用いられる「忘却」「入力」「出力」のゲートは必要性がなくなり、微分可能な補助メモリによって機能が置換されます。すでにLSTMをリファクタリングしてメモリを切り離す研究が始まっています（「拡張メモリ<sup><a href="#6" name="#6-ret">6</a></sup>」を参照）。


## その３：最適化アルゴリズムよりもメタ学習が優位になる

ディープラーニングが現れた当時は「最適化アルゴリズム」、特に２次の最適化が大幅に改善されるだろうと考えられていました。しかし、ディープラーニングは各々の問題に最適化されたアルゴリズムを学ぶことができるようになってきており、確率的勾配法（SGD）の改善を待つことはなくなるかもしれません。

「メタ学習」は対象とするドメインに応じて学習器のバイアスを適応的に最適化する（学び方を学ぶ）ことができます。これに関連して、「誤差逆伝搬」に代わる新たなアルゴリズムが現れるでしょう。2017年はSGDを扱う最後の年になるかもしれません。

## その4：強化学習がより創造性をもつようになる

現実世界を扱うにはまだ解決していない課題が多く残っています。SGDが適用できない微分不可能なシステムでは「強化学習（ReinforcementLearning）」が何らかの形で必要です。ディープラーニングの学習時に強化学習が使用される例は多くあります。例えば、強化学習はメタ学習にとって有効です。事実、強化学習は新たなニューラルネットワーク構造の発見に役立っています。

## その5：敵対的学習・協調的学習が主流になる

ひと昔前までは、解析的な目的関数をもつ頑強なディープラーニングが主流でしたが、最近は複数のネットワークの「協調」または「敵対」するシステムを同時に使用することで、非解析的な最適解が得られるようになっています。以前の私の投稿「ゲーム理論がディープラーニングの未来を明らかにする」を参照してください。2017年には「非平衡なコンテキスト」を管理する研究が多く行われるでしょう。すでに研究者が「Generative Adversarial Networks（GANs）」を用いて非平衡なコンテキストを管理する方法を見つけようとしています。

## その6：予測学習・教師なし学習は進展しない

「予測学習」はYann LeCunが先駆者であり、「教師なし学習」に代わる新たなバズワードです。この概念が2017年に大きな一歩を遂げるかという質問ですが、現状を見るとそれがうまく行くまでには大きな概念的な隔たりがあります。過去の私の投稿「ディープラーニングの５つの能力」を読めば、予測学習が完全に未知の能力であることがわかるでしょう。予測学習は宇宙論でいうダークマターのようなもので、「それがあることを知っているが、それを見る方法を知らない」のです。高いエントロピーやランダム性に関連する問題が関連しているでしょう。

## その7：転移学習はビジネスになる

Andrew Ngは転移学習<sup><a href="#7" name="#7-ret">7</a></sup>はビジネスにすることが重要だと考えており、私もこれに同意です。


## その8：ハイブリッドシステムがアプリケーションで採用される

２０１６年には検索アルゴリズムにおける機能評価のために、すでにディープラーニングが使われていました。「AlphaGo」では戦略評価においてディープラーニングが採用されました。また「GoogleのGmail自動返信システム」はビーム検索（BeamSearch）<sup><a href="#8" name="#8-ret">8</a></sup>とディープラーニングの組合せで機能が実現されています。私の予測では"徹底的に訓練された"ディープラーニングよりも、他のアルゴリズムと組み合わされた"ハイブリッドな"機能が多く採用されるでしょう。徹底的な学習を行うディープラーニングは研究対象としては魅力的ですが、応用面ではハイブリッドなシステムが有効です。


## その9：デザインパターンの利用

ディープラーニングは概念的構造を要する複雑な分野のひとつです。waving（波状運動）やfuzzy（曖昧さ）は最先端の数学を使っても厳密に表すことができず、ソフトウェア開発のような複雑な分野のほうが効率的に特徴を捉えられることが証明されています。ディープラーニングとデザインパターンは開発者が最終的に獲得するものになります。これはディープラーニングの構造が「モジュール」として機能する事実からも裏づけられます。

## その10：理論よりも応用が先を行く

研究者が採用する高度な数学を用いた分析ツールは一種のバイアス育成場です。ディープラーニングシステムと教師なし学習システムは、これまでになかった新しい概念です。したがって、従来の分析ツールはディープラーニングが実際どのように動作するかの解明の助けにはなりません。物理学には数十年のあいだ謎のままになっている力学系の問題がありますが、ダイナミックな学習システムについても同様の状況がみられます。

このような状況では基本原理が分かっていなくても高度な応用技術が生まれる可能性があります。ディープラーニングはバイオテクノロジーや遺伝子工学と同じようなものです。パソコン上で「学習するマシン」を作ることができ、それがどのように動作するか正確に予測はできませんが、その進化を止めることはできません。

#####訳注

<a href="#1-ret" name="1">1.</a> ムーアの法則：「1chipあたりのトランジスタ数は1年ごとに一定倍で増える」という経験則（<a href="http://www.4gamer.net/games/049/G004964/20170117084/">参考ページ</a>）。

<a href="#2-ret" name="2">2.</a> FPGA：Field-Programmable Gate Arrayの略。プログラム可能なハードウェア。アプリケーションの中で頻繁に使われる、特定のアルゴリズムをFPGAで処理することで、電力消費を抑え性能を大幅にアップできる。また、機械学習のようにアルゴリズムをアップデートしなければならない場合も、FPGAが適している（<a href="http://pc.watch.impress.co.jp/docs/column/kaigai/1008797.html">参考ページ</a>）。

<a href="#3-ret" name="3">3.</a> HBM：High Bandwidth Memory。広帯域メモリ。HBM2はHBMを2倍高速化した新しい規格で、メモリ帯域が原因となるGPU性能のボトルネックを解消する。

<a href="#4-ret" name="4">4.</a> DSPスライス：Digital Signal Processor slices。FPGA内部のデジタル信号処理機能をもつブロック。

<a href="#5-ret" name="5">5.</a> ROCm：Radeon Open Compute Platform。Radeon GPUを利用するためのソフトウェアプラットフォーム。

<a href="#6-ret" name="6">6.</a> DNC (Differentiable Neural Computers)は、メモリに情報を読み出すヘッダと書き込むヘッドがついたもので、ヘッドを動かしたり、ヘッドの位置情報を読み込んだり、書き込んだりすることができる（<a href="http://qiita.com/yos1up/items/599ff75c876f6f94d249">参考ページ</a>）。

<a href="#7-ret" name="7">7.</a> ある問題を効果的に解くために、１つ以上の別のタスクで学習された結果を再利用すること。

<a href="#8-ret" name="8">8.</a> ビーム検索：最良優先探索において、探索レベルが深くなった場合に、キューの範囲を限定して探索範囲の無駄を省き、省メモリ検索を行う方法。