CONFIDENTIAL EXTENDED ABSTRACT.
DO NOT DISTRIBUTE ANYWHERE.

第 21 回 画像の認識・理解シンポジウム

Chainer2MPSGraph:高速深層学習
モバイルアプリ作成のためのモデルコンバータ
泉 裕貴1,a)

堀田 大地1,b)

概要

丹野 良介1,2,c)

柳井 啓司1,d)されるパラメータファイルから, モバイル端末でも実行可
能な C 言語のコードを自動生成するものである. この方法

近年のモバイル端末の性能向上により, モバイル端末上

では, 全ての学習パラメータが定数配列として C 言語コー

で深層学習を用いた画像認識や画像変換を行うことが可能

ドに組み込まれ, 学習済みモデルファイルを実行するためとなってきた. しかし, 最近の深く複雑なネットワークをに必要なファイルを全て含んだ C 言語コードを生成する.

実装するためには, 長文のコードを書く必要があり手間がまた, 高速化の工夫として im2col 操作により畳み込み演算かかる. そこで本研究では, 高速実行可能な深層学習アプを行列積で計算できるようにし, 高速行列演算ライブラリでリの実装を容易にするコンバータを作成し, デモによってある BLAS を利用することで SIMD(NEON) 命令, マルチその有用性を実証する.

スレッド処理を行っている. しかし, Caﬀe2C(Chainer2C)

1. はじめには iOS と Android 両対応であるため GPU は使用していない.

iPhone を始めとするモバイル端末の性能は年々向上し高そこで本研究では, 高度なスキルを必要としないモバイい演算能力を持つようになったため, 学習済みモデルを用

ル深層学習アプリの作成を可能とするコンバータの作成をいた深層学習の画像認識や画像変換をモバイル端末上で行目指す. また, iOS に特化することにより CPU よりも演算うことが可能となってきた. しかし, 最新のネットワークは処理能力の優れた GPU を利用し, iOS 上での演算の高速

枝分かれのあるものやネットワークが深くパラメータ数が化を図る.

非常に多いものとなっており, 今後更に複雑なネットワー
クが出現することが予想される. このようなネットワーク

3. 手法

をモバイル端末上で実装するためには長文且つ難解なコー本研究で作成したコンバータ Chainer2MPSGraph は, 学ドを書く必要があるために人手で書くことは困難である.

習済みモデルファイルを用いてアプリ作成に必要なネット

本研究では, 計算機上で既存の深層学習フレームワーワークコードとパラメータファイルを生成する. 学習済み

ク Chainer を用いて学習した際に生成されるモデルファ

モデルファイルには, 深層学習フレームワークの Chainer

イルから, ネットワーク部分の Swift 言語のコードとパラによって学習したものを用い, ネットワークコードは GPUメータファイルを自動生成することができるコンバータによる演算の高速処理に加え, 更なる効率化を図るために

Chainer2MPSGraph を作成した. このコンバータを用いてグラフ構造を利用した MPSNNGraph API によるコード

iOS 端末上に高速実行可能な深層学習アプリを実装し, デを生成する. 以下にネットワークコードとパラメータファ

モによってその有用性を実証する.

イルの生成する流れを示す.

2. 関連研究
丹野らは, 学習済みモデルファイルを iOS 上で動作可能にする深層学習モデルコンバータ, Caﬀe2C(Chainer2C) を開発した [4]. これは, Caﬀe(Chainer) で学習した後に生成12a)b)c)d)

電気通信大学 大学院情報理工学研究科 情報学専攻
現在, NTT コミュニケーションズ株式会社勤務.
izumi-y@mm.inf.uec.ac.jp
horita-d@mm.inf.uec.ac.jp
tanno-r@mm.inf.uec.ac.jp
yanai@cs.uec.ac.jp( 1 ) 作りたい深層学習アプリの学習済みモデルを用意( 2 ) モデルファイルからネットワーク情報を取得( 3 ) (2) の情報から MPSNNGraph API を用いたコードを生成( 4 ) (2) の情報からパラメータファイルを生成
3.1 MPSNNGraph
本研究で作成したコンバータ Chainer2MPSGraph が生成するネットワークのコードは, Metal Performance

Shaders(MPS) フ レ ー ム ワ ー ク の 一 部 で あ る MPSNN-1

第 21 回 画像の認識・理解シンポジウム

Graph API を利用している. MPS フレームワークは,GPU 上で画像処理や行列演算などを実行させる計算カー
ネルのライブラリであり, MPS を使用することで深層学習の GPU 実行を実現している. MPSNNGraph は, ニューラ
ルネットワーク中の画像とフィルタノードが最適化されたグラフ表現である. グラフを構築した時に解析され, どのノードが入力に必要であり, どのノードが出力として生成されるかが決まる. これにより, 出力として生成されるノードを計算するために必要でないノードは無視し, いくつかのノードはパフォーマンス向上のために他のノードと内部的に連結したグラフとなり, より一層の高速化が見込める.

3.2 Chainer2MPSGraph
Chainer で使用する画像などの入力やネットワークの図 1 Chainer におけるネットワーク構造( 4 ) 生成した Swift 言語のコード, パラメータファイル,GUI のコードからアプリを作成

中間出力などのデータは, 単なるベクトルではなく, 計算グラフを保持する Variable で構成する必要がある. この

Variable という構造体を使用することによってネットワー
クで順伝搬計算を一度行うことで, ネットワークの各ノードはチェーンで繋がり, 逆伝搬計算をすることが可能になる.
本研究では, この機能を利用して, 一度順伝搬計算を行う
ことでネットワークの各ノードをチェーンで繋げる. これにより, ネットワークの出力から属性 creator を得ることでネットワーク最後のレイヤーがどのようなレイヤーである

図 2

深層学習アプリの作成の流れかを知ることができる. そのレイヤーの inputs[0] を得ることでそのレイヤーへの入力 (1 つ前のレイヤーの出力) を得ることができる. 同様に creator を調べてその入力を辿るこ

4. 実験とを繰り返すことでネットワーク全てを遡る. この時, レイ

Chainer2MPSGraph による実装の高速性を実証するた

ヤーが畳み込み層や全結合層などの場合, inputs のリストめに, 演算処理を CPU のみで行う Chainer2C による実装に重みとバイアスのパラメータを抱えており, inputs[1] にと演算処理を GPU のみで行う Chainer2MPSGraph によ

重みのパラメータ, inputs[2] にバイアスのパラメータが格る実装を AlexNet の認識時間で比較を行った. また, 演算納してある. これを図解したものを図 1 として以下に示す.

処理に GPU を用いる実装方法における VGG16 の認識速

このようにネットワークの出力からネットワークの最初度の比較も行った. この時, 計測を 20 回行いその平均時間のレイヤーまでを辿り, ネットワークの各レイヤーの種類を認識時間とした.

やパラメータなどの情報をまとめて 1 つのリストとして作成する. そのリストを用いて Swift 言語のネットワークの4.1 結果コードとパラメータのバイナリファイルを作成する. バイ

表 1 に Chainer2C と Chainer2MPSGraph との認識時間

ナリファイルは, 各層の重みとバイアスをそれぞれ分けての比較を示す. 演算処理を CPU のみで行った場合に比べファイル化する.て GPU のみで行った場合の方が約 3.7 倍の速度で実行可能という結果が得られた. また, 表 2 に演算処理に GPU を

3.3 アプリ作成の流れ
本研究のコンバータ Chainer2MPSGraph を用いた深層学習モバイルアプリの作成は以下の手順で行う.

( 1 ) 深層学習フレームワーク Chainer を用いてネットワークを学習し, モデルファイルを作成( 2 ) Chainer2MPSGraph を用いて学習済みのモデルファイルから Swift 言語のコードとパラメータファイルを生成( 3 ) iOS 深層学習アプリの GUI 部分のコードを作成

用いる CoreML, MPS, Chainer2MPSGraph の認識時間の比較を示す. 本研究のコンバータ Chainer2MPSGraph を利用して作成した MPSNNGraph を利用して実装した物体認識アプリが最も速い 108.99[msec] という結果となった.
理由としては, CoreML がグラフ構造を利用していないためと考えられる.

5. アプリケーション
Chainer2MPSGraph の有用性を実証するために, 画像変2

第 21 回 画像の認識・理解シンポジウム

表 1

AlexNet による物体認識の認識時間 [msec]
実装方法

平均認識時間Chainer2C[9](CPU)134.9

Chainer2MPSGraph(GPU)36.4

表 2 VGG16 による認識時間の比較 [msec]

実装方法

平均認識時間CoreML

144.87MPS

155.21

Chainer2MPSGraph108.99図 4換タスクから MultiStyleTransfer [5], 画像生成タスクから

Conditional Cycle GAN による生成例 ( [8] より引用)

Conditional Cycle GAN [8] を iOS 端末上に実装し, 高速ワーク部分の Swift 言語のコードとパラメータを格納したバ実行可能であることを示す.

イナリファイルを生成するコンバータ Chainer2MPSGraphを作成した. これにより, iOS 端末上に容易に深層学習アプ

5.1 MultiStyleTransfer [5]

リを実装することを可能にした. また, MPSNNGraph を用ある画像のスタイルを他の画像に転写するものとしていて演算処理を全て GPU で行うことで, 演算処理を CPU

Gatys らの Imagestyle transfer using convolutional neuralで行う場合と比較して AlexNet において約 3.7 倍高速化をnetworks [1] がある. これは, １回の変換を行う毎に多大な実現し, VGG16 において 108.98[msec] という高速実行可時間を必要としたため, 事前に特定のスタイルを学習して能ということを実験から示し, Chainer2MPSGraph の有用おくことで, リアルタイムな画像変換を可能にした手法が性を実証した.

提案された [2]. MultiStyleTransfer は, [2] の学習に用いた単一のスタイルでしか変換出来ない部分を拡張し, 複数のスタイル画像を任意の重みで合成し画像変換を行うことを可能にした.

謝 辞:

参考文献
[1][2][3]図 3MultiStryleTransfer による変換例 ([6] より引用)[4]5.2 Conditional Cycle GAN [8]異なる２種類のドメイン変換を行う手法として Cycle-[5]GAN [7] がある. この手法では, ドメインの１：１対応の変換しか行うことが出来ず, k 個のドメインがあった場合にはk(k-1) 個の Generator を作成し学習を行わなければならな[6]

い. そこで, 異なる複数のドメインに変換することが可能な Conditional Cycle GAN [8] が提案された. これは, [7][7]に Classification を補助タスクとして追加した ACGAN [3]を組み合わせることで実現している.

[8]

6. おわりに[9]

深層学習フレームワークの Chainer を用いて計算機上で深層学習の学習を行い, 生成されたモデルファイルからネット

本 研 究 は JSPS 科 研 費 17H01745/15H05915/

17H05972/17H06026/17H06100 の助成を受けたものです．

Gatys, L. A., Ecker, A. S. and Bethge, M.: Image styletransfer using convolutional neural networks, ComputerVision and Pattern Recognition (CVPR), 2016 IEEE
Conference on, pp. 2414–2423 (2016).
Johnson, J., Alahi, A. and Fei-Fei, L.: Perceptual losses
for real-time style transfer and super-resolution, European
Conference on Computer Vision, pp. 694–711 (2016).
Odena, A., Olah, C. and Shlens, J.: Conditional image
synthesis with auxiliary classifier gans, arXiv preprint
arXiv:1610.09585 (2016).
Tanno, R. and Yanai, K.: Caﬀe2C: A Framework for Easy
Implementation of CNN-based Mobile Applications, Proc.
of International Workshop On Mobile Ubiquitous Systems, Infras- tructures, Communications, And AppLications (MUSICAL 2016) (2016).
Tanno, R., Matsuo, S., Shimoda, W. and Yanai, K.: DeepStyleCam: A Real-Time Style Transfer App on iOS, International Conference on Multimedia Modeling, Springer,
pp. 446–449 (2017).
Yanai, K. and Tanno, R.: Conditional Fast Style Transfer Network, Proc. of ACM International Conference on
Multimedia Retrieval (ICMR) (2017).
Zhu, J.-Y., Park, T., Isola, P. and Efros, A. A.: Unpaired
image-to-image translation using cycle-consistent adversarial networks, arXiv preprint arXiv:1703.10593 (2017).
堀田大地，成冨志優，丹野良介，下田 和，柳井啓司：大量の Twitter 画像を用いた Conditional Cycle GAN による食事写真カテゴリ変換，人工知能学会全国大会 (2018).
丹野良介，柳井啓司：CNN を用いた高速モバイル画像認
識エンジンの自動生成フレームワーク，画像ラボ 4 月号
(2017).

3