翻訳元ブログ(2016/12/12)
by Carlos E. Perez
https://www.linkedin.com/pulse/10-deep-learning-trends-predictions-for2017-carlos-e-perez
私がこのブログで次の年の予測を書いたのは、『ソフトウェア開発 2011年の動向予測』が最後になります。今回、これとは少し違う観点でDeepLearningについて10の予測を行いました。「企業がどんな技術を採用するか?」という観点ではなく、「研究の動向と予測」にスポットを当てています。DeepLearningは企業にAIの導入を促すことは間違いありませんし、AI化がまだ進んでいない企業にとっては、DeepLearningがAI導入への重要なアプローチになるでしょう。しかし、2017年にどのような新しい機能が発見され、企業に劇的な変化を及ぼすのかはそれほど明白ではありません。
私はここで、2017年を大胆に予測したいと思います。
その1:ハード開発はムーアの法則を加速
NvidiaとIntelのハードウェア開発状況を見ると、2017年にムーアの法則1はこれまでの2倍のスピードに加速されることは明らかです。
NvidiaはDeepLearningを支援する豊富なシステムを備えており、2017年にはこの分野で支配的になります。企業は十分整備されたNvidiaのシステムを採用するでしょう。Intelの「Xeon Phiソリューション」はすでに遅れを取っています。Intelは2016年8月に買収したDeepLearning企業のNervanaの技術をベースとしたチップを2017年中頃に発売しますが、その頃にはまだNvidiaの性能に追いついていないでしょう。
Intelの「FPGA2ソリューション」は、消費電力が大幅に削減できるという経済的な理由で、クラウドプロバイダーとして採用されるでしょう。ただし2017年中頃に発売されるIntelのNervanaチップ性能が30TFLOPSで、Nvidiaの性能がすでに20TFLOPSに達していることを考慮すると、Intelが大きなインパクトを与えるのは2018年以降になるでしょう。「3D XPoint」はIntelの目玉技術ですが、GPUが新規格のメモリ「HBM23」を採用することを考慮すると、3X XPointは必ずしもコア技術とはならないでしょう。
Amazonは、FPGAベースのクラウドインスタンスを発表しました。これはXilinxの「UltraScale+」の技術をベースにしており、1つのインスタンスで6,800個のDSPスライス4と64GBのメモリを提供します。これは素晴らしい機能ですが、UltraScale+はHBMを実装していないので、メモリアクセスが負担となる可能性があります。Nvidia、Intel、AMDの3社と比較してもメモリ帯域幅が低く、企業はVHDLやVerilogなどの複雑な開発プロセスへの投資を一旦止める必要があるでしょう。
最新のニュースではAMDがDeepLearning計算専用の「Instinctシリース」を発表しました。これらの製品はNvidiaと比較しても非常に競争力のあるため、AMDの「ROCm5ソフトウェア」の進歩につながるでしょう。
その2:畳み込みネットワークが支配的になる
畳み込みニューラルネットワーク(CNN)はDeepLearningシステムにおいて基盤モデルとなるでしょう。再帰構造や組み込みメモリノードをもつ「RNN」や「LSTM」は、CNNベースのソリューションに比べて優位性があるわけではないので、利用頻度は低いでしょう。プログラミングの世界から「GOTO」が姿を消したように、RNNやLSTMも同じことが起きると予想しています。実際、並列アーキテクチャは性能面で逐次アークテクチャを凌駕します。
そして、微分可能なメモリネットワークが一般的となるでしょう。その結果としてメモリがコアノードから分離し、計算処理とは別のコンポーネントとして存在するようになるでしょう。LSTMで用いられる「忘却」「入力」「出力」のゲートは必要性がなくなり、微分可能な補助メモリによって機能が置換されます。すでにLSTMをリファクタリングしてメモリを切り離す研究が始まっています(「拡張メモリ6」を参照)。
その3:メタ学習がより広まる
DeepLearningが現れた当初は、「最適化アルゴリズム」、特に2次の最適化が大幅に改善されるものと考えられていました。しかしDeepLearningは個々の問題に最適化されたアルゴリズムを学ぶことができるようになってきており、確率的勾配法(SGD)の改善を待つのはこれっきりになるかもしれません。「メタ学習」は、対象とするドメインに応じて学習器のバイアスを適応的に最適化する(学び方を学ぶ)ことができます。これに関連して、「誤差逆伝搬」に代わる新たなアルゴリズムが現れるでしょう。2017年はSGDを扱う最後の年になるかもしれません。
その4:強化学習がよりクリエイティブになる
現実世界を扱うには、まだ不確定な課題が多く残っています。SGDが適用できない微分不可能なシステムでは「強化学習(ReinforcementLearning)」が何らかの形で必要となります。DeepLearningの学習時に強化学習が使用される例は多くあります。例えば、強化学習はメタ学習にとって有効です。事実、強化学習は新たなニューラルネットワーク構造の発見に役立っています。
その5:敵対的・協調的学習が主流になる
ひと昔前は解析的な目的関数をもつ頑強なDeepLearningが主流でしたが、最近は複数のネットワークの「協調」または「競合」するシステムを同時に使用することで、非解析的な最適解が得られるようになっています。以前の私の投稿、「ゲーム理論がディープラーニングの未来を明らかにする」を参照してください。2017年には「非平衡なコンテキスト」を管理する研究が多く行われるでしょう。すでに研究者が「Generative Adversarial Networks(GANs)」を用いて非平衡なコンテキストを管理する方法を見つけようとしています。
その6:予測学習・教師なし学習は進展しない
予測学習はYann LeCunが先駆者であり、「教師なし学習」に代わる新たなバズワードです。この概念が2017年に大きな一歩を遂げるか、という問題ですが、今の感覚ではそれがうまく行くまでには大きな概念的な隔たりがあるように思われます。過去の私の投稿、「DeepLearningの5つの能力」を読めば、予測学習が完全に未知の能力であることがわかるでしょう。予測学習は宇宙論でいうダークマターのようなもので、「それがあることを知っているが、それを見る方法を知らない」のです。高いエントロピーやランダム性に関連する問題と考えています。
その7:転移学習は産業化される
Andrew Ngは転移学習7の産業化が重要だと考えており、私も同意です。
その8:ハイブリッドシステムがアプリケーションで採用される
すでに2016年には巨大な検索アルゴリズムにおいて、機能評価のためのコンポーネントとしてDeepLearningが使われていました。「AlphaGo」では戦略評価においてDeepLearningが採用されました。また「GoogleのGmail自動返信システム」では、ビーム検索(BeamSearch)8とDeepLearningの組合せで実現されています。私の予測では"徹底的に訓練された"DeepLearningよりも、"ハイブリッドな"アルゴリズムが多く採用されるでしょう。徹底的な学習を行うDeepLearningは研究対象として魅力的ですが、アプリケーション分野ではハイブリッドなシステムが有効でしょう。
その9:デザインパターンの利用
DeepLearningは概念的構造を要する複雑な分野のひとつです。waving(波状運動)やfuzzy(曖昧さ)は最先端の数学を使っても厳密に表すことができず、ソフトウェア開発のような複雑な分野の方が、効率的に特徴を捉えられることが証明されています。DeepLearningとデザインパターンは、開発者が最終的には獲得するものになります。これはDeepLearningアーキテクチャが、「モジュール」として機能する事実によって動機付けられます。
その10:応用技術は理論より先をいく
研究者が採用する数学的ツールは、研究アプローチにおける一種のバイアス育成場です。DeepLearningシステムと教師なし学習システムは、これまでになかった新しい概念です。したがって、従来の分析ツールはDeepLearningが実際どのように動作するかの解明の助けにはなりません。物理学には数十年の間、謎のままになっている力学系の問題がありますが、ダイナミックな学習システムについても同様の状況がみられます。
このような状況では、基本原理が分かっていなくても高度な応用技術が生まれる可能性があります。DeepLearningはバイオテクノロジーや遺伝子工学と同じようなものです。私たちはパソコン上で学習する機械を作ることができ、それがどのように動作するか正確に言い当てることはできませんが、その進化を止めることはできません。
これらの予測を、私は1年後に見返すことになります。どうか幸運を!
訳注
1. ムーアの法則:「1chipあたりのトランジスタ数は1年ごとに一定倍で増える」という経験則(参考ページ)。
2. FPGA:Field-Programmable Gate Arrayの略。プログラム可能なハードウェア。アプリケーションの中で頻繁に使われる、特定のアルゴリズムをFPGAで処理することで、電力消費を抑え性能を大幅にアップできる。また、機械学習のようにアルゴリズムをアップデートしなければならない場合も、FPGAが適している(参考ページ)。
3. HBM:High Bandwidth Memory。広帯域メモリ。HBM2はHBMを2倍高速化した新しい規格で、メモリ帯域が原因となるGPU性能のボトルネックを解消する。
4. DSPスライス:Digital Signal Processor slices。FPGA内部のデジタル信号処理機能をもつブロック。
5. ROCm:Radeon Open Compute Platform。Radeon GPUを利用するためのソフトウェアプラットフォーム。
6. DNC (Differentiable Neural Computers)は、メモリに情報を読み出すヘッダと書き込むヘッドがついたもので、ヘッドを動かしたり、ヘッドの位置情報を読み込んだり、書き込んだりすることができる(参考ページ)。
7. ある問題を効果的に解くために、1つ以上の別のタスクで学習された結果を再利用すること。
8. ビーム検索:最良優先探索において、探索レベルが深くなった場合に、キューの範囲を限定して探索範囲の無駄を省き、省メモリ検索を行う方法。