原田研究室

WebDNN

WebDNN とは

WebDNN は,市販のパソコンやスマートフォンに標準搭載されているWebブラウザ上で,Deep Neural Network(ディープニューラルネットワーク,DNN)を高速に実行できるソフトウェアフレームワークです.弊研究室の原田達也 教授,日髙雅俊 大学院生,木倉悠一郎 大学院生,牛久祥孝 講師により開発されました

背景

DNNは計算負荷が高く,Webサービスに組み込むにはサービス提供者側がユーザ数に応じた大量の計算機を用意することが必要となり,コストが高くなるという問題があります. 別の手段として,DNNの処理機能を組み込んだ専用アプリケーションをユーザに配布し,パソコンやスマートフォンなどユーザの持つ端末上で計算を行ってもらうことも考えられます.この場合はサービス提供者のコストは下がるものの,ユーザにとっては専用アプリケーションのインストールという手間がかかるため,気軽に試すことが難しくなります. これらの問題を解決する手段として,Webページの中にDNNの処理を行うソフトウェアを組み込み,Webブラウザでこれを開いたユーザの端末上で計算処理を行わせるというアイデアが以前より提案されています.しかし,このアイデアに基づいて作られた既存のシステムは処理速度が遅く,実用的なサービスを提供することが難しいという課題がありました. そこで,弊研究室では,パソコンやスマートフォンのWebブラウザ上で,DNNを大幅に高速処理することのできるソフトウェアフレームワーク「WebDNN」を開発しました. WebDNNを用いることにより,DNNを用いたWebサービスを低コストに提供できるようになります.ユーザはWebサービスのURLを開くだけでよく,手間が増えることはありません.また処理が端末内で完結することから,処理対象の写真などをサービス提供者側に送信する必要がなくなり,プライバシー保護の観点での安全性も高まります.

WebDNNの技術

WebDNNでは,

  1. 実行結果が変わらない範囲での計算量の削減
  2. 端末の性能を最大限引き出すためのWeb最新規格の活用

の2点の技術を開発しました. 計算量の削減の面では,例えば「2×3×変数」という計算が必要な場合,「2×3」の部分は事前に計算しておき,「6×変数」という処理に変換(最適化)できます.このように変換することで,変数の値が変わるごとにやり直す計算が少なくなるため,計算時間が短縮されます,さらに,処理に必要なデータのダウンロード時間の短縮にもつながります.WebDNNには,このような変換ルールが10以上組み込まれています. 最新規格の活用の面では,Apple社のスマートフォンiPhoneに標準搭載されているWebブラウザ「Safari」に,2017年9月20日にリリースされたバージョンから搭載された新規格「WebGPU」の活用が挙げられます.この規格は,すでに普及している「WebGL」規格に対して,コンピュータグラフィックスの高速化を目指すものですが,DNNの処理でも大幅な高速化をもたらすことがわかりました.WebDNNではWebGPU規格にいち早く対応することで,Webブラウザ上でDNNの処理を行う他のソフトウェアと比べ大幅な高速化を達成しました.他社のWebブラウザを利用している場合でも,「WebAssembly」と呼ばれる規格への対応により,端末の性能をより有効活用することが可能となりました. なお,DNNは利用前にそのパラメータを深層学習(大量のデータを用いて調整を行う)により決定する必要がありますが,WebDNNは深層学習を行う様々なソフトウェア(Tensorflow,Chainer等)に対応しています.

WebDNNの性能

Webブラウザ上でのDNN実行ソフトウェアとして,本研究で開発したWebDNNおよび既存ソフトウェアのKeras.js (Chenら,2016)の速度を比較しました.画像中の物体を認識するDNNとして著名なVGG16 (Simonyanら,2014)などを実行し,その処理時間を計測しました.結果を図1に示します.各ソフトウェアにおいて最速の設定をした場合で,WebDNNは他のソフトウェアと比較し約50倍の速度で計算を行うことができました.

図1. WebDNNおよびKeras.jsにおける画像認識DNNの処理時間の比較.縦軸は処理時間であり,短い方が良い.

図1. WebDNNおよびKeras.jsにおける画像認識DNNの処理時間の比較.縦軸は処理時間であり,短い方が良い.

今後の展望と課題

Webブラウザ上でDNNを高速実行可能にしたことにより,人工知能研究のデモンストレーションや,ユーザがカメラで撮影した画像を処理するサービスなどの開発が促進されることが期待されます. 将来的に,さらなる高速化やデータダウンロード時間の削減,利用可能なDNNの種類の増加を行いたいと考えています.

参考文献

  1. Masatoshi Hidaka, Yuichiro Kikura, Yoshitaka Ushiku, Tatsuya Harada. WebDNN: Fastest DNN Execution Framework on Web Browser. ACM International Conference on Multimedia (ACMMM), Open Source Software Competition, pp.1213-1216, 2017. (PDF).
  2. "WebDNN", https://mil-tokyo.github.io/webdnn/ja/.
  3. "Keras.js", https://transcranial.github.io/keras-js/.
  4. Karen Simonyan, Andrew Zisserman, Very Deep Convolutional Networks for Large-Scale Image Recognition, CoRR, 2014.