最近、多くの企業がディープニューラルネットワークを使うアプリケーションをリリースしている。ニューラルネットワークは、大量の計算を必要とする。このため、GPUを備えたサーバ上で、サービスアプリケーションとして、ソフトウェアでよく見られる。インターネットアクセスのないところで動くアプリケーションは、速くて信頼できなければならず、プライバシーの心配があるところでは、サーバ上のネットワークを使うことはできない。
最近、複数の企業がモバイルデバイスにニューラルネットワークを使うことに取り組んでいると公表した。Appleは、すでに、WWDC 2017でCoreMLプラットフォームを発表している。Googleは、人気があるTensorflowツールキットのモバイルデバイスのため「Tensorflow Lite」に取り組んでいる。Googleは、事前訓練した画像認識モデルもいくつかリリースし、開発者は効率と精度のトレードオフを選択できる。
開発者は、モバイルデバイスでネットワークを動かせるが、ニューラルネットワークでより速いアプリケーションを構築するオプションはまだ限られている。オプションの1つは、ネットワークサイズを減らすことだが、このオプションは、精度を失うことがある。もう1つのオプションは、ネットワーク全体を訓練して、訓練後に浮動小数点を減らす。このオプションでは、パフォーマンスに何が影響するか評価するのは難しい。また、「最適なブレインダメージ」のような、いくつかの古い技術もある。これは、FacebookのAI研究のディレクタ、Yann Le Cun氏によって発明された。ネットワーク推論を最適化するのに、これらのメソッドはあまり人気が出なかった。
Googleの研究員、Sujith Ravi氏は、2つのニューラルネットワークを互いに訓練するという新しいアイデアを思いついた。ネットワークの1つは、完全なニューラルネットワークで、トレーナーネットワークと呼ばれる。もう1つのネットワークは、投影ネットワークと呼ばれ、入力を表し、低メモリの表現で、トレーナーネットワークの表現を仲介しようとする。これを行うため、効率的な関数を使う。どちらのネットワークも、同時に訓練し、同じ損失関数を共有する。この方法で、投影ネットワークは、トレーナーネットワークから学習する。両方のニューラルネットワークが使われる準備ができた時に、大きなネットワークはサーバに残り、ユーザは、スマートフォンに小さくて効率的なネットワークをダウンロードできる。
Sujith Ravis氏の記事は、Arxivで参照できる。また、この記事は、いくつかの有名なデータセットで高評価を得るために必要なビット数に関する議論を含んでいる。
Rate this Article
- Editor Review
- Chief Editor Action