JP2021018677A - 情報処理システム、ニューラルネットワーク構造の生成方法および情報処理プログラム - Google Patents

情報処理システム、ニューラルネットワーク構造の生成方法および情報処理プログラム Download PDF

Info

Publication number
JP2021018677A
JP2021018677A JP2019134807A JP2019134807A JP2021018677A JP 2021018677 A JP2021018677 A JP 2021018677A JP 2019134807 A JP2019134807 A JP 2019134807A JP 2019134807 A JP2019134807 A JP 2019134807A JP 2021018677 A JP2021018677 A JP 2021018677A
Authority
JP
Japan
Prior art keywords
information processing
neural network
graph representation
graph
processing system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2019134807A
Other languages
English (en)
Inventor
浩平 林
Kohei Hayashi
浩平 林
大器 山口
Daiki Yamaguchi
大器 山口
友裕 早瀬
Tomohiro Hayase
友裕 早瀬
新一 前田
Shinichi Maeda
新一 前田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Preferred Networks Inc
Original Assignee
Preferred Networks Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Preferred Networks Inc filed Critical Preferred Networks Inc
Priority to JP2019134807A priority Critical patent/JP2021018677A/ja
Publication of JP2021018677A publication Critical patent/JP2021018677A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Analysis (AREA)

Abstract

【課題】性能がよいニューラルネットワークの構造をより効率的に探索可能とする。【解決手段】実施形態にかかる情報処理システムは、変形部を備える。変形部は、第1ニューラルネットワークに含まれる層の演算を、ノードと、ノードに接続されるエッジと、を含むグラフで表した第1グラフ表現を変形し、1以上の第2グラフ表現を得る。【選択図】図2

Description

本発明の実施形態は、情報処理システム、ニューラルネットワーク構造の生成方法および情報処理プログラムに関する。
畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)は画像処理の問題において現在最もよく使われる方法である。その性能の高さゆえ応用範囲は幅広いが、推論時における計算コストおよびファイル容量の問題からスマートフォンなどの計算リソースが少ないデバイスでの利用が限られてきた。このため、より軽量な構造で、より計算コストが小さいニューラルネットワークモデルを探索する技術の研究が盛んに行われている。
Howard, Andrew G., et al. "Mobilenets: Efficient convolutional neural networks for mobile vision applications." arXiv preprint arXiv:1704.04861(2017) Biamonte, Jacob, and Ville Bergholm. "Tensor networks in a nutshell." arXiv preprint arXiv:1708.00006 (2017). Bridgeman, Jacob C., and Christopher T. Chubb. "Hand-waving and interpretive dance: an introductory course on tensor networks." Journal of Physics A: Mathematical and Theoretical 50.22 (2017): 223001.
発明が解決しようとする課題は、性能がよいニューラルネットワークの構造をより効率的に探索可能とすることにある。
実施形態にかかる情報処理システムは、変形部を備える。変形部は、第1ニューラルネットワークに含まれる層の演算を、ノードと、ノードに接続されるエッジと、を含むグラフで表した第1グラフ表現を変形し、1以上の第2グラフ表現を得る。
図1は、情報処理システムのハードウェアブロック図である。 図2は、情報処理システムの機能構成の一例を示す機能ブロック図である。 図3は、演算の式とグラフ表現との対応の例を示す図である。 図4は、演算の式とグラフ表現との対応の例を示す図である。 図5は、演算の式とグラフ表現との対応の例を示す図である。 図6は、畳み込み層の構造をテンソルネットワークによるグラフ表現を用いて表した例を示す図である。 図7は、3次元の畳み込み層を表すグラフ表現の例を示す図である。 図8は、探索処理の全体の流れの一例を示すフローチャートである。 図9は、本実施形態による探索結果の一例を示す図である。 図10は、本実施形態による探索結果の一例を示す図である。 図11は、本実施形態による探索結果の一例を示す図である。 図12は、本実施形態による探索結果の一例を示す図である。
以下、図面を参照しながら実施形態について詳細に説明する。以下では、主にCNNの構造、特にCNNの畳み込み層の構造を探索する場合を例に説明するが、適用可能なモデルはCNNに限られるものではない。CNN以外のニューラルネットワークについて、より性能のよい構造を探索する場合にも適用できる。また、畳み込み層以外のニューラルネットワークの層の構造の探索に利用することができる。例えば、全結合層の構造を探索する場合にも適用できる。
本実施形態では、これまでヒューリスティックに行われているCNNの構造(アーキテクチャ)の軽量化を統一的に表現可能な記述方法を用いる。具体的には、テンソルネットワークと呼ばれるテンソルのグラフ表現を拡張し、CNNにおける線形演算および要素ごとの非線形演算の組み合わせを表現可能にする。そして本実施形態では、上記記述方法を用いて、より効率的にCNNの構造を探索可能とする。具体的には、グラフとして表現した構造に対して、グラフの枝刈りなどの変形を行うことにより、新たな構造を探索する。
拡張したグラフ表現は、ニューラルネットワークに含まれる層の演算を、ノードと、1以上のノードに接続されるエッジと、を含むグラフで表した表現である。本実施形態のグラフ表現は、ハイパーエッジを含みうる。ハイパーエッジは、1つのノードに対して2以上のノードを接続するエッジである。グラフの変形は、ノードの2以上の新たなノードへの分割、2以上のノードの1つのノードへの統合、新たなエッジの追加、および、エッジの削除の少なくとも1つを含む。グラフ表現および変形処理の詳細は後述する。
本実施形態の記述方法によれば、畳み込み演算の空間方向への分解、畳み込みチャネルのグループ化、および、演算の順番に関して、考えられうるすべての組み合わせを表現でき、網羅的な探索が行える。そのため、まだ見つかっていない最適な構造を見つけられる可能性がある。さらに、本実施形態の探索方法は、畳み込みの次元に依存しないため、現在あまり行われていない3次元以上の畳み込みを含むCNNに対しても、より性能のよい構造を探索可能となる。
図1は、情報処理システム100のハードウェアブロック図である。情報処理システム100は、一例として、図1に示すような一般のコンピュータ(情報処理システム)と同様のハードウェア構成により実現される。情報処理システム100は、図1に示すような1つのコンピュータにより実現されてもよいし、協働して動作する複数のコンピュータにより実現されてもよい。
情報処理システム100は、メモリ204と、1または複数のハードウェアプロセッサ206と、記憶装置208と、操作装置210と、表示装置212と、通信装置214とを備える。各部は、バスにより接続される。
メモリ204は、例えば、ROM222と、RAM224とを含む。ROM222は、情報処理システム100の制御に用いられるプログラムおよび各種設定情報等を書き換え不可能に記憶する。RAM224は、SDRAM(Synchronous Dynamic Random Access Memory)等の揮発性の記憶媒体である。RAM224は、1または複数のハードウェアプロセッサ206の作業領域として機能する。
1または複数のハードウェアプロセッサ206は、メモリ204(ROM222およびRAM224)にバスを介して接続される。1または複数のハードウェアプロセッサ206は、例えば、1または複数のCPU(Central Processing Unit)であってもよいし、1または複数のGPU(Graphics Processing Unit)であってもよい。また、1または複数のハードウェアプロセッサ206は、ニューラルネットワークを実現するための専用の処理回路を含む半導体装置等であってもよい。
1または複数のハードウェアプロセッサ206は、RAM224の所定領域を作業領域としてROM222または記憶装置208に予め記憶された各種プログラムとの協働により各種処理を実行し、情報処理システム100を構成する各部の動作を統括的に制御する。また、1または複数のハードウェアプロセッサ206は、ROM222または記憶装置208に予め記憶されたプログラムとの協働により、操作装置210、表示装置212、および、通信装置214等を制御する。
記憶装置208は、フラッシュメモリ等の半導体による記憶媒体、あるいは、磁気的または光学的に記録可能な記憶媒体等の書き換え可能な記録装置である。記憶装置208は、情報処理システム100の制御に用いられるプログラムおよび各種設定情報等を記憶する。
操作装置210は、マウスおよびキーボード等の入力デバイスである。操作装置210は、ユーザから操作入力された情報を受け付け、受け付けた情報を1または複数のハードウェアプロセッサ206に出力する。
表示装置212は、情報をユーザに表示する。表示装置212は、1または複数のハードウェアプロセッサ206から情報等を受け取り、受け取った情報を表示する。なお、通信装置214または記憶装置208等に情報を出力する場合、情報処理システム100は、表示装置212を備えなくてもよい。
通信装置214は、外部の機器と通信して、ネットワーク等を介して情報を送受信する。
本実施形態の情報処理システム100で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されてコンピュータプログラムプロダクトとして提供される。
また、本実施形態の情報処理システム100で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態の情報処理システム100で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。また、本実施形態の情報処理システム100で実行されるプログラムを、ROM等に予め組み込んで提供するように構成してもよい。
本実施形態にかかる情報処理システム100で実行されるプログラムは、コンピュータを後述する情報処理システム100の各部として機能させうる。このコンピュータは、ハードウェアプロセッサ206がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
次に、情報処理システム100の機能構成について説明する。図2は、情報処理システム100の機能構成の一例を示す機能ブロック図である。図2に示すように、情報処理システム100は、選択部101と、変形部102と、学習部103と、評価部104と、出力制御部105と、記憶部121と、を備えている。
選択部101は、処理対象とするデータを選択する。例えば選択部101は、探索の元になるニューラルネットワーク(第1ニューラルネットワーク)に基づいて、変形の対象とする層を選択する。
変形部102は、選択された層の演算を表すグラフ表現(第1グラフ表現)を、1以上のグラフ表現(第2グラフ表現)に変形する。後述するように、ニューラルネットワークの構造の探索は、例えば、強化学習、進化的アルゴリズム、特に遺伝的アルゴリズムに従い実行することができる。変形部102は、例えば、遺伝的アルゴリズムにより出力される、より性能のよい構造のニューラルネットワークを新たな探索の元になるニューラルネットワークとして、グラフ表現の変形処理(変異)を繰り返し実行する。
学習部103は、ニューラルネットワークを訓練する。例えば学習部103は、変形により得られたグラフ表現に対応する演算を含む1以上のニューラルネットワーク(第2ニューラルネットワーク)に対して、予め準備された訓練データを用いて訓練を実行する。学習部103は、どのようなアルゴリズムを訓練に用いてもよいが、例えば誤差逆伝播法を用いて訓練を行うことができる。
評価部104は、訓練されたニューラルネットワークの性能を評価する。性能はどのような評価基準で評価してもよい。評価基準は、例えば、訓練されたニューラルネットワークによる予測精度(推論の精度)、推論時の計算量(計算コスト)、および、訓練されたニューラルネットワークに関する情報の記憶に必要な記憶容量などである。評価部104は、ニューラルネットワークの使用目的等に応じて評価基準を変更してもよい。例えば、リアルタイム処理に使用するニューラルネットワークについては、評価部104は、計算量がより小さいニューラルネットワークの評価値が高くなるような評価基準を用いてもよい。
出力制御部105は、情報処理システム100による各種処理で扱われる各種データの出力を制御する。例えば出力制御部105は、遺伝的アルゴリズムに従い、探索の元になるニューラルネットワーク(第1ニューラルネットワーク)および変形(変異)により得られる1以上のニューラルネットワーク(第2ニューラルネットワーク)のうち、評価部104により評価された性能が他のニューラルネットワークより高いニューラルネットワークを出力する。
記憶部121は、情報処理システム100で用いられる各種情報を記憶する。例えば記憶部121は、ニューラルネットワークのパラメータ(重み係数、バイアスなど)、および、ニューラルネットワークを訓練するための訓練データを記憶する。記憶部121は、例えば図1の記憶装置208により実現される。
上記各部(選択部101、変形部102、学習部103、評価部104、および、出力制御部105)は、例えば、1または複数のハードウェアプロセッサ206により実現される。例えば上記各部は、1または複数のCPUにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のIC(Integrated Circuit)などのハードウェアプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち1つを実現してもよいし、各部のうち2以上を実現してもよい。
次に、ニューラルネットワークの構造の記述方法の詳細について説明する。まず、CNNの構造の概要について説明する。CNNは、畳み込み層(Convolutional Layer)と呼ばれるニューラルネットワーク層を含むニューラルネットワークモデルである。畳み込み層は、例えば、画像を変換する処理に対応する。例えば入力画像を高さH、幅W、および、チャネル数C(H、W、Cは自然数)の3次元配列Xとする。畳み込み層は、この3次元配列Xを受け取り、高さH’、幅W’、および、チャネル数C’(H’、W’、C’は自然数)である変換された画像Yを返す関数とみなせる。具体的には、畳み込み層は、以下の(1)式に示す線形演算(畳み込み演算)を行う。Kは、I×J×C×C’(I、Jは自然数)のサイズをもつ4次元配列であり、カーネルと呼ばれるパラメータである。
h’w’c’=Σijc ijcc’h’−i,w’−i,c ・・・(1)
従来のテンソル分解を用いた方法は、具体的な構造が与えられた条件下でのKの分解を考える。例えば、CP分解と呼ばれる、以下の(2)式に示すようなKの分解を用いる方法が提案されている。t、u、v、wは、それぞれ次元がI,J,C,C’のベクトルを表し、記号「○」は外積を表す。
K=Σ○u○v○w ・・・(2)
また、タッカー分解(Tucker-2 decomposition)と呼ばれる方法は、例えば以下の(3)式で表される分解を用いる。gはI×J×A×B(A、Bは自然数)のサイズをもつパラメータ(4次元配列)、uはC×Aのサイズをもつパラメータ(2次元配列)、vはC’×Bのサイズをもつパラメータ(2次元配列)である。AおよびBは、ハイパーパラメータである。
Figure 2021018677
テンソル分解の種類は、(2)式および(3)式以外にも多数存在する。一般的に学習するデータおよびタスクに応じて最適なテンソル分解は変化すると考えられる。しかし、従来は多数存在するテンソル分解のうちのごく一部しか探索できていなかった。
本実施形態では、限られたテンソル分解のみでなく、より一般的なテンソル分解をもとに畳み込み層を探索し、設計することが可能な枠組みを実現する。本実施形態では、まず、テンソル分解が持つ構造をテンソルネットワークで表現する。これにより様々なテンソル分解の形を統一的に表現できる。
(1)式の畳み込み演算、および、(2)式、(3)式のカーネルの分解は、多数のインデックスを用いる複数のテンソルの積和として与えられる。インデックスは、例えば以下の2つのクラスに分けられる。
(CL1)出力に接続されるインデックス(h’、w’、c’など)
(CL2)和の演算に用いられるインデックス(i、j、c、α、βなど)
畳み込みおよびカーネルの分解は、これらのインデックスがどのように相互作用するか、および、これらのインデックスがテンソル変数にどのように分布されるかによって特定される。例えばタッカー分解は、空間情報g、入力チャネル情報u、および、出力チャネル情報vを、インデックス(i、j)、c’、および、cにそれぞれ分解する。さらに、それらは以下の2ステップの接続により結合される。
(CN1)αを介する、入力チャネル情報uと空間情報gとの間の接続
(CN2)βを介する、出力チャネル情報vと空間情報gとの間の接続
ここで、和の演算のために用いられるインデックスは、入力チャネル情報uを出力チャネル情報vに引き渡す経路(パス)であると解釈することができる。このような観点から、ハイパーグラフを用いれば、インデックスの相互作用を明確に表せるという考えが導かれる。
テンソル分解が持つ構造をテンソルネットワークで表現するための基本的な概念は、テンソルを、テンソルが有するインデックスによってのみ区別することである。テンソルは、テンソルネットワークのノード(頂点)であると考える。
例えば、カーネルKの分解を考える。出力インデックスO=(i、j、c、c’)をカーネルKの形状のインデックス、内部インデックスI=(r、r、・・・)を和の演算のために用いられるインデックス、内部次元R=(R、R、・・・)∈R|I|をIの次元とする。M個(Mは自然数)のテンソルが分解され、各テンソルは複数のインデックスの集合により表されると仮定する。V={v、・・・、v | v∈2O∪I}は、テンソルの集合を表す。2は、集合Aのべき集合を表す。
ここで、各テンソルはそれらのインデックスにより特定される。すなわち、U=(uabc)a∈[A]、b∈[B]、c∈[C]は、{a、b、c}と等価である。与えられたVに対して、各内部インデックスr∈Iは、ハイパーエッジe={v|r∈v for v∈V}を表す。ε={e|n∈O∪I}は、ハイパーエッジの集合を表す。例えば、I={α、β}およびV={{i、j、α、β}、{c、α}、{c’、β}}と仮定すると、無指向の重み付けハイパーグラフ(V、ε、R)は、上記(3)式に示すタッカー分解と等価となる。
このような考え方は、畳み込みで用いられるインデックスのパターンを吸収するダミーテンソルを導入する畳み込み演算にも適用できる。式(1)では、空間インデックスh’は、カーネルの垂直要素を表し、入力画像が畳み込みに連結される。P∈{0、1}H×H’×Iは、h=h’の場合に各要素がphh’i=1と定義され、他の場合に各要素がphh’i=0と定義される2値のテンソルであるものとする。
同様に、Q∈{0、1}W×W’×Iは、Pに対応する水平方向のテンソルであるものとする。インデックス集合は、O={h‘、w’、c’}およびI={h、w、i、j、c}とし、次元R=(H、W、I、J、C)とする。ノードV={{h、w、c}、{i、j、c、c’}、{h、h’、i}、{w、w’、j}、および、ハイパーエッジεは、畳み込み演算である上記の(1)式を表す。テンソル{h、h’、i}はPによって定められ、テンソル{w、w’、j}はQによって定められることが保証される。
以下に、演算の式と、演算の式を視覚化したグラフ表現との対応について説明する。図3〜図5は、演算の式とグラフ表現との対応の例を示す図である。各図内の円は、テンソルに対応するノードを表す。円に接続される線は、テンソルに関連づけられるインデックスに対応するエッジを表す。一方のみにテンソルが接続されるエッジは、例えば出力インデックスである。両端がそれぞれテンソルに接続されるエッジは、内部インデックスとして和の演算に用いられる。図3は、このような関係を示す図の例である。
内部インデックスの和を取って除去(elimination)する処理は、縮約(contraction)と呼ばれる。3以上のノードに接続されるエッジであるハイパーエッジは、黒い点によって記述される。図4は、ハイパーエッジを含むグラフ表現と式との関係の例を示す。
記号「*」を含む円は、それぞれ垂直または水平の畳み込みを含むダミーテンソルPまたはQを表す。図5は、ダミーテンソルを含むグラフ表現と式との関係の例を示す。
なお、図3〜図5のような表現は、アインシュタインの縮約記法(Einstein notation)と同様の表現であると解釈することができる。
図6は、CNNに含まれる様々な畳み込み層の構造を、本実施形態のテンソルネットワークによるグラフ表現を用いて表した例を示す図である。図6内のXおよびTは、それぞれ入力(上記例では3次元配列X)およびカーネル(上記例ではカーネルK)に相当する。
図6の(1)〜(8)は、それぞれ以下のような畳み込み層に相当する。
(1)標準の畳み込み層(Standard)
(2)平坦化を含む畳み込み層(Flattened)
(3)層方向の畳み込みを1×1の畳み込みを組み合わせた畳み込み層(Depthwise Separable)
(4)ボトルネックモジュールを含む畳み込み層(Bottleneck):タッカー分解と同様の表現となる(Tucker-2)
(5)サイズの大きいフィルタを、複数のサイズの小さいフィルタで置き換えた畳み込み層(Factoring)
(6)CP分解に相当する畳み込み層(CP)
(7)入力および出力チャネル数に対する内部チャネル数の関係が上記(4):Bottleneckと逆となっている畳み込み層(Inverted Bottleneck)
(8)低ランク近似を含む畳み込み層(Low-rank Filter)
図6は、2次元の畳み込み層を表すグラフ表現の例であるが、本実施形態のグラフ表現は、3次元以上の畳み込み層に対しても適用できる。図7は、3次元の畳み込み層を表すグラフ表現の例を示す図である。図7は、デプスの情報をさらに含む入力Xを処理する畳み込み層のグラフ表現の例である。dおよびd’は、デプスを表すための入力インデックスおよび出力インデックスである。kは、フィルタデプスを表すためのインデックスである。出力インデックスOにd’を追加し、内部インデックスIにdおよびkを追加することにより、3次元畳み込み層のグラフ表現が得られる。図7の(3)は、3次元畳み込みを2次元畳み込みと1次元畳み込みとに分解した畳み込み層((2+1)D)に相当する。
本実施形態では、上記のように表されたグラフ表現を用いて、新しい畳み込み層を探索する。以下に、畳み込み層の探索処理について説明する。図8は、探索処理の全体の流れの一例を示すフローチャートである。図8は、遺伝的アルゴリズムを適用した探索処理の例を示す。探索処理では、少なくとも畳み込み層が上記のようなグラフ表現で表されたニューラルネットワークが対象とされる。
まず、選択部101は、初期個体とする畳み込み層を設定(選択)する(ステップS101)。例えば選択部101は、探索の元になるニューラルネットワークに含まれる畳み込み層のうち、予め定められた個数(例えば10個)の畳み込み層を初期個体として設定する。
初期個体の設定方法はこれに限られるものではなく、どのような方法であってもよい。例えば選択部101は、ニューラルネットワークに含まれる1以上の畳み込み層を選択し、選択した畳み込み層と、選択した畳み込み層を変形した1以上の畳み込み層とを、初期個体として設定してもよい。選択部101は、ランダムに生成した畳み込み層を、初期個体の一部または全部として設定してもよい。
次に、変形部102は、設定された個体のうち、例えばランダムに選択された一部の個体(例えば10個の個体から選択された3個の個体)を変形する(ステップS102)。例えば変形部102は、選択された個体のグラフ表現を、以下の変形処理のうち1つ以上に従い変形する。
・1つノードを2以上のノードへ分割する
・2以上のノードの1つのノードへ統合する
・エッジを追加する
・エッジを削除する
これらの変形は、線形演算の変形であると解釈することができる。変形は線形演算に限られず、非線形演算を追加する変形であってもよい。すなわち変形部102は、グラフ表現に非線形演算を追加するような変形を行ってもよい。非線形演算の追加は、例えば、線形演算の結果に対する非線形関数(シグモイド関数、ステップ関数、ReLU関数など)の適用である。
なお、変形によっても有効な個体が得られない場合がある。例えば、自己ループに相当するハイパーエッジを追加した個体は、変形前の個体と同等の演算を行う、表現が冗長となった個体となる場合がある。このように冗長なグラフ表現が得られるような変形は除外するように構成してもよい。
変形部102は、変形させた個体のグラフ表現に対応する演算を含むニューラルネットワークを構築する(ステップS103)。変形部102は、例えば、上記の図3〜図5に示すような対応関係に従い、グラフ表現を演算へ変換すること、および、変換した演算を含むようなニューラルネットワークを構築することができる。3個の個体を変形させた場合は、変形部102は、3個の個体それぞれに対応する3個の新たなニューラルネットワークを構築する。
学習部103は、構築されたニューラルネットワークを訓練する(ステップS104)。ステップS102〜ステップS107のループ処理の初回では、学習部103は、初期個体に対応するニューラルネットワーク(例えば10個)と、新たに構築したニューラルネットワーク(例えば3個)とを含む、すべて(例えば13個)のニューラルネットワークに対し、訓練を実行する。初回以外で、変形されていないニューラルネットワークについては、学習部103は、再度の訓練を省略してもよい。
評価部104は、訓練されたニューラルネットワークの性能を測定する(ステップS105)。例えば評価部104は、予測精度、推論時の計算量、および、情報の記憶に必要な記憶容量などの一部または全部を評価基準として、ニューラルネットワークの性能を評価する。ループ処理の初回以外などで、既に性能を評価済みのニューラルネットワークについては、評価部104は、再度の評価を省略してもよい。
選択部101は、すべてのニューラルネットワークのうち、性能が他のニューラルネットワークより高い、予め定められた個数(例えば10個)のニューラルネットワークに対応する個体を選択する(ステップS106)。
選択部101は、探索を終了するか否かを判定する(ステップS107)。探索終了と判定する条件はどのような条件であってもよい。例えば選択部101は、ユーザにより終了が指定された場合に探索を終了すると判定してもよい。選択部101は、予め定められた閾値以上の性能のニューラルネットワークが得られた場合に探索を終了すると判定してもよい。
探索を終了しない場合(ステップS107:No)、選択部101は、ステップS106で選択された個体に対して、ステップS102以降の処理を繰り返し実行する。探索を終了する場合(ステップS107:Yes)、探索処理が終了する。
このような探索処理により、より優良な個体、すなわち既存の畳み込み層よりも性能のよい畳み込み層を、より効率的に発見することが可能となる。グラフ表現に基づいた変形により探索を行うため、CNNの構造を網羅的に探索することができる。また、CNNの構造を統一的に表現できる記述方法を用いているため、探索の結果に基づく知識(使用目的に応じた最適な構造など)の蓄積が可能となる。
図9〜図12は、本実施形態による探索結果の一例を示す図である。図9〜図12は、予測精度(Test Accuracy)と計算量とのトレードオフの関係を示す図である。計算量は、空間計算量に相当するパラメータ数(Number of Parameters)と、時間計算量に相当するTotal FLOPS(Floating-point Operations Per Second)とを含む。
各図の小さいドットは、変形により得られた畳み込み層に対応する。他の記号(○、△、+、×、◇)は、以下の畳み込み層のいずれかに対応する。
Standard:標準の畳み込み層(Standard)
Flattend:平坦化を含む畳み込み層(Flattened)
Dep.sep.:層方向の畳み込みを1×1の畳み込みを組み合わせた畳み込み層(Depthwise Separable)
Bottleneck:ボトルネックモジュールを含む畳み込み層(Bottleneck)
CP:CP分解に相当する畳み込み層(CP)
2p1:3次元畳み込みを2次元畳み込みと1次元畳み込みとに分解した畳み込み層((2+1)D)
Factoring:サイズの大きいフィルタを、複数のサイズの小さいフィルタで置き換えた畳み込み層(Factoring)
図9は、2次元の畳み込み層の探索結果を示す。図10は、3次元の畳み込み層の探索結果を示す。図11および図12は、非線形演算を含む畳み込み層の探索結果を示す。具体的には、図11は、LeNet-5と呼ばれるCNNに基づき畳み込み層を探索した結果を示す。図12は、ResNet-50と呼ばれるCNNに基づき畳み込み層を探索した結果を示す。いずれの図も、本実施形態により、多数の異なるパターンの畳み込み層が探索されることを示している。
以上のように、本実施形態によれば、性能がよいニューラルネットワークの構造をより効率的に探索可能とすることが可能となる。
本明細書において、“a,bおよびcの少なくとも1つ(一方)”または“a,bまたはcの少なくとも1つ(一方)”の表現は、a,b,c,a−b,a−c,b−c,a−b−cのいずれかの組み合わせを含む。また、a−a,a−b−b,a−a−b−b−c−cなどのいずれかの要素の複数のインスタンスとの組み合わせをカバーする。さらに、a−b−c−dを有するなどa,bおよび/またはc以外の他の要素を加えることをカバーする。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。
100 情報処理システム
101 選択部
102 変形部
103 学習部
104 評価部
105 出力制御部
121 記憶部
204 メモリ
206 ハードウェアプロセッサ
208 記憶装置
210 操作装置
212 表示装置
214 通信装置
222 ROM
224 RAM

Claims (11)

  1. 第1ニューラルネットワークに含まれる層の演算を、ノードと、前記ノードに接続されるエッジと、を含むグラフで表した第1グラフ表現を変形させた、1以上の第2グラフ表現を得る変形部、
    を備える情報処理システム。
  2. 1以上の前記第2グラフ表現に対応する演算を含む1以上の第2ニューラルネットワークに対して訓練データを用いた訓練を実行する学習部をさらに備える、
    請求項1に記載の情報処理システム。
  3. 訓練された第2ニューラルネットワークの性能を評価する評価部をさらに備える、
    請求項2に記載の情報処理システム。
  4. 前記第1グラフ表現および前記第2グラフ表現は、テンソルの演算を前記ノードおよび前記エッジを含むグラフで表現したテンソルネットワークである、
    請求項1に記載の情報処理システム。
  5. 前記エッジは、1つのノードに対して2以上のノードを接続するハイパーエッジを含む、
    請求項4に記載の情報処理システム。
  6. 前記第2グラフ表現は、前記第1グラフ表現に含まれる前記ノードの2以上の新たなノードへの分割、前記第1グラフ表現に含まれる2以上の前記ノードの1つのノードへの統合、前記第1グラフ表現への新たなエッジの追加、および、前記第1グラフ表現に含まれる前記エッジの削除、の少なくとも1つにより得られる、
    請求項1に記載の情報処理システム。
  7. 前記第2グラフ表現は、前記第1グラフ表現への非線形演算の追加により得られる、
    請求項1に記載の情報処理システム。
  8. 前記変形部は、1以上の前記第2グラフ表現に対応する演算を含む1以上のニューラルネットワークを新たな第1ニューラルネットワークとして、前記第1グラフ表現を1以上の前記第2グラフ表現に変形する処理を繰り返す、
    請求項1に記載の情報処理システム。
  9. 前記第1ニューラルネットワークは、CNN(Convolutional Neural Network)である、
    請求項1に記載の情報処理システム。
  10. 第1ニューラルネットワークに含まれる層の演算を、ノードと、前記ノードに接続されるエッジと、を含むグラフで表した第1グラフ表現を変形させた、1以上の第2グラフ表現を得る変形ステップ、
    を含む、ニューラルネットワーク構造の生成方法。
  11. コンピュータに、
    第1ニューラルネットワークに含まれる層の演算を、ノードと、前記ノードに接続されるエッジと、を含むグラフで表した第1グラフ表現を変形させた、1以上の第2グラフ表現を得る変形ステップ、
    を実行させるための情報処理プログラム。
JP2019134807A 2019-07-22 2019-07-22 情報処理システム、ニューラルネットワーク構造の生成方法および情報処理プログラム Pending JP2021018677A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019134807A JP2021018677A (ja) 2019-07-22 2019-07-22 情報処理システム、ニューラルネットワーク構造の生成方法および情報処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019134807A JP2021018677A (ja) 2019-07-22 2019-07-22 情報処理システム、ニューラルネットワーク構造の生成方法および情報処理プログラム

Publications (1)

Publication Number Publication Date
JP2021018677A true JP2021018677A (ja) 2021-02-15

Family

ID=74564350

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019134807A Pending JP2021018677A (ja) 2019-07-22 2019-07-22 情報処理システム、ニューラルネットワーク構造の生成方法および情報処理プログラム

Country Status (1)

Country Link
JP (1) JP2021018677A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113033205A (zh) * 2021-03-24 2021-06-25 北京百度网讯科技有限公司 实体链接的方法、装置、设备以及存储介质
CN115759294A (zh) * 2022-11-25 2023-03-07 北京百度网讯科技有限公司 数据处理方法、装置、电子设备及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113033205A (zh) * 2021-03-24 2021-06-25 北京百度网讯科技有限公司 实体链接的方法、装置、设备以及存储介质
CN113033205B (zh) * 2021-03-24 2023-07-25 北京百度网讯科技有限公司 实体链接的方法、装置、设备以及存储介质
CN115759294A (zh) * 2022-11-25 2023-03-07 北京百度网讯科技有限公司 数据处理方法、装置、电子设备及存储介质
CN115759294B (zh) * 2022-11-25 2023-10-24 北京百度网讯科技有限公司 数据处理方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
Bejani et al. A systematic review on overfitting control in shallow and deep neural networks
Gordaliza et al. Obtaining fairness using optimal transport theory
Wistuba et al. A survey on neural architecture search
US11526722B2 (en) Data analysis apparatus, data analysis method, and data analysis program
WO2018131259A1 (ja) 文章評価装置、及び文章評価方法
US10776710B2 (en) Multimodal data fusion by hierarchical multi-view dictionary learning
US20220383126A1 (en) Low-Rank Adaptation of Neural Network Models
US11295199B2 (en) XAI and XNN conversion
JP2021018677A (ja) 情報処理システム、ニューラルネットワーク構造の生成方法および情報処理プログラム
Convy et al. Mutual information scaling for tensor network machine learning
Kalita et al. A dynamic framework for tuning SVM hyper parameters based on Moth-Flame Optimization and knowledge-based-search
Maljovec et al. Adaptive sampling with topological scores
Boyd et al. Saturating splines and feature selection
Convy et al. Interaction decompositions for tensor network regression
Huynh et al. Quantum-Inspired Machine Learning: a Survey
Tsuchida et al. Declarative nets that are equilibrium models
CN113490955A (zh) 用于产生金字塔层的架构的系统和方法
WO2023034043A1 (en) Methods and systems for deep distilling
Xiao Using machine learning for exploratory data analysis and predictive models on large datasets
Ye et al. Graph neural diffusion networks for semi-supervised learning
Banga Computational hybrids towards software defect predictions
US11670403B2 (en) Method and apparatus for generating chemical structure using neural network
Sridhar et al. Memory-consistent neural networks for imitation learning
Kaplarević-Mališić et al. Identifying optimal architectures of physics-informed neural networks by evolutionary strategy
Tsukimoto et al. The functional localization of neural networks using genetic algorithms