IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ NECソリューションイノベータ株式会社の特許一覧

特開2024-170070情報処理装置、情報処理方法およびプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024170070
(43)【公開日】2024-12-06
(54)【発明の名称】情報処理装置、情報処理方法およびプログラム
(51)【国際特許分類】
   G06N 3/082 20230101AFI20241129BHJP
   G06N 3/0464 20230101ALI20241129BHJP
【FI】
G06N3/082
G06N3/0464
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023087029
(22)【出願日】2023-05-26
(71)【出願人】
【識別番号】000232092
【氏名又は名称】NECソリューションイノベータ株式会社
(74)【代理人】
【識別番号】100094112
【弁理士】
【氏名又は名称】岡部 讓
(74)【代理人】
【識別番号】100106183
【弁理士】
【氏名又は名称】吉澤 弘司
(72)【発明者】
【氏名】谷村 竜太郎
(57)【要約】
【課題】学習モデルの軽量化により予測精度が低下する。
【解決手段】本発明における情報処理装置は、学習データの複数の要素の各々に重み付けをする複数のフィルタを有する学習モデル部と、前記複数のフィルタの各々のパラメータに基づいて、前記複数のフィルタのうち互いに類似する第1のフィルタおよび第2のフィルタを選択する選択部と、前記第1のフィルタおよび前記第2のフィルタを統合した統合フィルタを生成する生成部とを備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
学習データの複数の要素の各々に重み付けをする複数のフィルタを有する学習モデル部と、
前記複数のフィルタの各々のパラメータに基づいて、前記複数のフィルタのうち互いに類似する第1のフィルタおよび第2のフィルタを選択する選択部と、
前記第1のフィルタおよび前記第2のフィルタを統合した統合フィルタを生成する生成部と、
を備える情報処理装置。
【請求項2】
前記学習モデル部は、各々が複数のフィルタを有する複数の層を含み、
前記選択部は、前記複数の層のうち一の層をさらに選択し、
前記選択部は、前記一の層に含まれる前記複数のフィルタから前記第1のフィルタおよび前記第2のフィルタを選択する、
請求項1に記載の情報処理装置。
【請求項3】
前記選択部は、前記複数の層のうち、所定の数以上のフィルタを有する層を前記一の層として選択する、
請求項2に記載の情報処理装置。
【請求項4】
前記生成部は、前記一の層における前記統合フィルタの生成に応答して、前記一の層と異なる他の層において前記統合フィルタを生成する、
請求項2に記載の情報処理装置。
【請求項5】
前記他の層は、前記一の層の次の層である、
請求項4に記載の情報処理装置。
【請求項6】
前記フィルタは、複数の重み付け係数を有し、
前記フィルタのパラメータは、前記複数の重み付け係数に基づいて算出される、
請求項1に記載の情報処理装置。
【請求項7】
前記選択部は、前記フィルタの前記複数の重み付け係数の合計に基づいて前記第1のフィルタを選択し、
前記選択部は、前記第1のフィルタの前記複数の重み付け係数に基づいて前記第2のフィルタを選択する、
請求項6に記載の情報処理装置。
【請求項8】
前記統合フィルタの前記複数の重み付け係数は、前記第1のフィルタの前記複数の重み付け係数および前記第2のフィルタの前記複数の重み付け係数に基づいて算出される、
請求項6に記載の情報処理装置。
【請求項9】
学習データの複数の要素の各々に重み付けをする複数のフィルタの各々のパラメータに基づいて、前記複数のフィルタのうち互いに類似する第1のフィルタおよび第2のフィルタを選択するステップと、
前記第1のフィルタおよび前記第2のフィルタを統合した統合フィルタを生成するステップと、
を備える情報処理方法。
【請求項10】
コンピュータに、
学習データの複数の要素の各々に重み付けをする複数のフィルタの各々のパラメータに基づいて、前記複数のフィルタのうち互いに類似する第1のフィルタおよび第2のフィルタを選択するステップと、
前記第1のフィルタおよび前記第2のフィルタを統合した統合フィルタを生成するステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【0002】
ニューラルネットワークを軽量化する手法として、学習モデルのフィルタをプルーニング(枝刈り)する技術が案出されている。一般的に、プルーニングされたニューラルネットワークは再学習され、高い予測精度および軽量なネットワーク構造を有するニューラルネットワークが得られる。
【0003】
特許文献1および2には、プルーニングされたニューラルネットワークの再学習手法が開示されている。特許文献3には、プルーニングの対象となるフィルタを選択する判断基準が開示されている。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Jonathan Frankle and Michael Carbin The lottery ticket hypothesis: Finding sparse, trainable neural networks In International Conference on Learning Representations, 2019
【非特許文献2】Zhuang Liu, Mingjie Sun, Tinghui Zhou, Gao Huang, Trevor Darrell Rethinking the Value of Network Pruning In International Conference on Learning Representations, 2019
【非特許文献3】Zhongzhan Huang, Wenqi Shao, Xinjiang Wang, Liang Lin, Ping Luo Rethinking the Pruning Criteria for Convolutional Neural Network NeurIPS 2021 Conference Program Chairs
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、フィルタのプルーニングによって、学習モデルの特徴量抽出の特性が損なわれる場合がある。このため、学習モデルの予測精度が低下し得る。
【0006】
本発明の目的は、予測精度を維持しながら学習モデルを軽量化することである。
【課題を解決するための手段】
【0007】
本発明の一観点によれば、学習データの複数の要素の各々に重み付けをする複数のフィルタを有する学習モデル部と、前記複数のフィルタの各々のパラメータに基づいて、前記複数のフィルタのうち互いに類似する第1のフィルタおよび第2のフィルタを選択する選択部と、前記第1のフィルタおよび前記第2のフィルタを統合した統合フィルタを生成する生成部とを備える情報処理装置が提供される。
【0008】
本発明の他の一観点によれば、学習データの複数の要素の各々に重み付けをする複数のフィルタの各々のパラメータに基づいて、前記複数のフィルタのうち互いに類似する第1のフィルタおよび第2のフィルタを選択するステップと、前記第1のフィルタおよび前記第2のフィルタを統合した統合フィルタを生成するステップとを備える情報処理方法が提供される。
【0009】
本発明の他の一観点によれば、コンピュータに、学習データの複数の要素の各々に重み付けをする複数のフィルタの各々のパラメータに基づいて、前記複数のフィルタのうち互いに類似する第1のフィルタおよび第2のフィルタを選択するステップと、前記第1のフィルタおよび前記第2のフィルタを統合した統合フィルタを生成するステップとを実行させるためのプログラムが提供される。
【発明の効果】
【0010】
本発明によれば、予測精度を維持しながら学習モデルを軽量化することができる。
【図面の簡単な説明】
【0011】
図1】第1実施形態に係る情報処理システムのブロック図である。
図2】第1実施形態に係る情報処理装置のハードウェア構成を示すブロック図である。
図3】第1実施形態に係る利用装置のハードウェア構成を示すブロック図である。
図4】第1実施形態に係る情報処理装置の学習モデルの概念図である。
図5】第1実施形態に係る情報処理装置の畳み込み処理の例を示す概念図である。
図6】第1実施形態に係るフィルタの統合処理のフローチャートである。
図7A】第1実施形態に係る情報処理装置におけるフィルタの選択の一例を示す模式図である。
図7B】第1実施形態に係る情報処理装置におけるフィルタの選択の一例を示す模式図である。
図7C】第1実施形態に係る情報処理装置におけるフィルタの選択の一例を示す模式図である。
図7D】第1実施形態に係る情報処理装置におけるフィルタの選択の一例を示す模式図である。
図8A】第1実施形態に係る情報処理装置におけるフィルタの統合の一例を示す模式図である。
図8B】第1実施形態に係る情報処理装置におけるフィルタの統合の一例を示す模式図である。
図8C】第1実施形態に係る情報処理装置におけるフィルタの統合の一例を示す模式図である。
図9A】第1実施形態に係る情報処理装置の学習モデルのニューラルネットワーク図である。
図9B】第1実施形態に係る情報処理装置の学習モデルのニューラルネットワーク図である。
図9C】第1実施形態に係る情報処理装置の学習モデルのニューラルネットワーク図である。
図10】第2実施形態に係る情報処理装置の機能ブロック図である。
【発明を実施するための形態】
【0012】
以下、図面を参照して、本開示の例示的な実施形態を説明する。図面において同様の要素または対応する要素には同一の符号を付し、その説明を省略または簡略化することがある。
【0013】
[第1実施形態]
図1は、本実施形態に係る情報処理システムのブロック図である。情報処理システムは、情報処理装置1、利用装置2およびネットワーク3を備える。
【0014】
情報処理装置1は、AI(Artificial Intelligence)を用いた学習モデルを生成する。本実施形態に係る学習モデルは、畳み込みニューラルネットワーク(CNN:Convolution Neural Network)であり得るが、畳み込み処理を含む任意の学習モデルであってもよい。情報処理装置1は、ワークステーションなどのコンピュータであり得る。
【0015】
利用装置2は、情報処理装置1によって生成される学習モデルを使用し、入力データに対応する出力データを生成する。例えば、利用装置2は、画像認識、画像識別、音声認識などの機能を有し得る。利用装置2は、コンピュータ、タブレットPC、スマートフォンであり得る。
【0016】
情報処理装置1および利用装置2は、ネットワーク3を介して相互に接続され得る。ネットワーク3は、インターネットなどのWAN(Wide Area Network)、LAN(Local Area Network)であり得る。
【0017】
なお、図1において情報処理装置1および利用装置2は別の装置として図示されているが、情報処理装置1および利用装置2は一体の装置であってもよい。
【0018】
図2は、情報処理装置1のハードウェア構成を示すブロック図である。情報処理装置1は、CPU(Central Processing Unit)101、RAM(Random Access Memory)102、ROM(Read Only Memory)103、記憶装置104、通信I/F(Interface)105、入出力装置106および表示装置107を備える。情報処理装置1の各部は、不図示のバス、配線、駆動装置等を介して相互に接続される。
【0019】
CPU101は、ROM103、記憶装置104等に記憶されたプログラムに従って所定の演算を行うとともに、情報処理装置1の各部を制御する機能をも有するプロセッサである。CPU101は、ROM103、記憶装置104等に記憶されたプログラムをRAM102にロードして実行する。RAM102は、揮発性記憶媒体から構成され、CPU101の動作に必要な一時的なメモリ領域を提供する。ROM103は、不揮発性記憶媒体から構成され、CPU101の動作プログラム等の必要な情報を記憶する。記憶装置104は、フラッシュメモリ、ハードディスクなどの不揮発性記憶媒体から構成され、学習モデルの構築に用いられる入力データを格納する。学習モデルは、記憶装置104において構築される。
【0020】
通信I/F105は、Bluetooth(登録商標)、Wi-Fi(登録商標)等の規格に基づく通信インターフェースであり、利用装置2との通信を行うためのモジュールである。
【0021】
入出力装置106は、ユーザが情報処理装置1を操作するために用いられるユーザインターフェース、警告音などを発するスピーカなどを含む。入出力装置106は、例えばキーボード、マウス、トラックボール、タッチパネル、ペンタブレット、ボタン等であり得る。
【0022】
表示装置107は、例えば液晶ディスプレイ、OLED(Organic Light Emitting Diode)ディスプレイ等の表示部であって、情報の表示、操作入力用のGUI(Graphical User Interface)の表示等に用いられる。入出力装置106および表示装置107は、タッチパネルとして一体に形成されていてもよい。
【0023】
図2では、情報処理装置1を構成する各部が一体の装置として図示されているが、これらの機能の一部は外付け装置により提供されるものであってもよい。例えば、記憶装置104、入出力装置106、表示装置107は、CPU101等とは別の外付け装置であってもよい。
【0024】
図3は、利用装置2のハードウェア構成を示すブロック図である。利用装置2は、CPU201、RAM202、ROM203、記憶装置204、通信I/F205、入出力装置206および表示装置207を備える。利用装置2の各部は、不図示のバス、配線、駆動装置等を介して相互に接続される。
【0025】
CPU201は、ROM203、記憶装置204等に記憶されたプログラムに従って所定の演算を行うとともに、利用装置2の各部を制御する機能をも有するプロセッサである。CPU201は、ROM203、記憶装置204等に記憶されたプログラムをRAM202にロードして実行する。RAM202は、揮発性記憶媒体から構成され、CPU201の動作に必要な一時的なメモリ領域を提供する。ROM203は、不揮発性記憶媒体から構成され、CPU201の動作プログラム等の必要な情報を記憶する。記憶装置204は、フラッシュメモリ、ハードディスクなどの不揮発性記憶媒体から構成される。
【0026】
通信I/F205は、Bluetooth(登録商標)、Wi-Fi(登録商標)等の規格に基づく通信インターフェースであり、情報処理装置1との通信を行うためのモジュールである。
【0027】
入出力装置206は、ユーザが利用装置2を操作するために用いられるユーザインターフェース、警告音などを発するスピーカなどを含む。入出力装置206は、例えばキーボード、マウス、トラックボール、タッチパネル、ペンタブレット、ボタン等であり得る。
【0028】
表示装置207は、例えば液晶ディスプレイ、OLED(Organic Light Emitting Diode)ディスプレイ等の表示部であって、情報の表示、操作入力用のGUI(Graphical User Interface)の表示等に用いられる。入出力装置206および表示装置207は、タッチパネルとして一体に形成されていてもよい。
【0029】
図3では、利用装置2を構成する各部が一体の装置として図示されているが、これらの機能の一部は外付け装置により提供されるものであってもよい。例えば、記憶装置204、入出力装置206、表示装置207は、CPU201等とは別の外付け装置であってもよい。
【0030】
図4は、情報処理装置1の学習モデルの概念図である。学習モデルは、畳み込み層11および畳み込み層12を備える。また、学習モデルは、入力層41、中間層42および出力層43を備える。なお、畳み込み層の数は2つに限定されず、任意の数であり得る。また、学習モデルは、畳み込み層11の後または畳み込み層12の後に、プーリング層および全結合層を備えてもよい。
【0031】
入力層41には、入力データが与えられる。入力データは、1次元の時系列信号または2次元の画像データであってもよく、より高次元のデータであってもよい。入力データは、データの値のセット(チャンネル)であり得る。なお、図4には入力層41に1つのチャンネルが設定されているが、複数のチャンネルが設定されてもよい。
【0032】
畳み込み層11には、入力層41のチャンネルch1が入力される。畳み込み層11は、入力層41のチャンネルch1に畳み込み処理を行い、中間層42にチャンネルch1およびチャンネルch2を出力する。畳み込み層12には、中間層42のチャンネルch1およびチャンネルch2が入力される。畳み込み層12は、中間層42のチャンネルch1およびチャンネルch2に畳み込み処理を行い、出力層43にチャンネルch1、チャンネルch2およびチャンネルch3を出力する。なお、畳み込み層11および畳み込み層12によって出力されるチャンネルの数は、任意に選択され得る。
【0033】
図5は、情報処理装置1の畳み込み処理の例を示す概念図である。図5には、畳み込み層12における畳み込み処理の詳細が示されている。なお、畳み込み層11における畳み込み処理は、畳み込み層12と同様の処理であり得る。
【0034】
中間層42におけるチャンネルch1およびチャンネルch2は、3行3列の行列として表される。各々の行列における値は、チャンネルch1、チャンネルch2のそれぞれに含まれる特徴量を表している。なお、チャンネルch1およびチャンネルch2の行列は、3行3列に限定されない。
【0035】
畳み込み層12は、フィルタF11、F12、F21、F22、F31、F32を備える。畳み込み層12のフィルタの数は、中間層42のチャンネルの数と出力層43のチャンネルの数との積によって決定される。図5において、中間層42のチャンネルの数は2であり、出力層43のチャンネルの数は3であるため、畳み込み層12は、6つのフィルタを備える。各々のフィルタは、学習モデルの学習パラメータ(重み付け係数)の3行3列の行列として表されている。なお、各々のフィルタの行列のサイズは、中間層のチャンネルのサイズ以下であり、任意に選択され得る。
【0036】
畳み込み層12は、フィルタF11およびフィルタF12を用いて、中間層42のチャンネルch1およびチャンネルch2から出力層43のチャンネルch1を生成する。フィルタF11は、中間層42のチャンネルch1の畳み込み処理に用いられる。畳み込み処理は、チャンネルch1の行列およびフィルタF11の行列において互いに対応する値の乗算の合計を算出する処理であり得る。図5において、チャンネルch1とフィルタF11とによる畳み込み処理の結果は、0.1×1+0.3×7+0.5×13+0.7×19+0.9×25+1.1×31+1.3×37+1.5×43+1.7×49=274.5となる。フィルタF12は、中間層42のチャンネルch2の畳み込み処理に用いられる。図5において、チャンネルch2とフィルタF12とによる畳み込み処理の結果は、0.2×4+0.4×10+0.6×16+0.8×22+1.0×28+1.2×34+1.4×40+1.6×46+1.8×52=324.0となる。畳み込み層12は、チャンネルch1とフィルタF11との畳み込み処理の結果と、チャンネルch2とフィルタF12との畳み込み処理の結果とを加算し、出力層43のチャンネルch1を生成する。図5において、出力層43のチャンネルch1は、274.5+324.0=598.5となる。
【0037】
畳み込み層12は、フィルタF21およびフィルタF22を用いて、中間層42のチャンネルch1およびチャンネルch2から出力層43のチャンネルch2を生成する。フィルタF21は、中間層42のチャンネルch1の畳み込み処理に用いられる。図5において、チャンネルch1とフィルタF21とによる畳み込み処理の結果は、0.1×2+0.3×8+0.5×14+0.7×20+0.9×26+1.1×32+1.3×38+1.5×44+1.7×50=282.6となる。フィルタF22は、中間層42のチャンネルch2の畳み込み処理に用いられる。図5において、チャンネルch2とフィルタF22とによる畳み込み処理の結果は、0.2×5+0.4×11+0.6×17+0.8×23+1.0×29+1.2×35+1.4×41+1.6×47+1.8×53=333.0となる。畳み込み層12は、チャンネルch1とフィルタF21との畳み込み処理の結果と、チャンネルch2とフィルタF22との畳み込み処理の結果とを加算し、出力層43のチャンネルch2を生成する。図5において、出力層43のチャンネルch2は、282.6+333.0=615.6となる。
【0038】
畳み込み層12は、フィルタF31およびフィルタF32を用いて、中間層42のチャンネルch1およびチャンネルch2から出力層43のチャンネルch3を生成する。フィルタF31は、中間層42のチャンネルch1の畳み込み処理に用いられる、図5において、チャンネルch1とフィルタF31とによる畳み込み処理の結果は、0.1×3+0.3×9+0.5×15+0.7×21+0.9×27+1.1×33+1.3×39+1.5×45+1.7×51=290.7となる。フィルタF32は、中間層42のチャンネルch2の畳み込み処理に用いられる。図5において、チャンネルch2とフィルタF32とによる畳み込み処理の結果は、0.2×6+0.4×12+0.6×18+0.8×24+1.0×30+1.2×36+1.4×42+1.6×48+1.8×54=342.0となる。畳み込み層12は、チャンネルch1とフィルタF31との畳み込み処理の結果と、チャンネルch2とフィルタF32との畳み込み処理の結果とを加算し、出力層43のチャンネルch3を生成する。図5において、出力層43のチャンネルch3は、290.7+342.0=632.7となる。
【0039】
出力層43におけるチャンネルch1、チャンネルch2およびチャンネルch3は、1行1列の行列として表される。畳み込み層12は、中間層42におけるチャンネルch1およびチャンネルch2の特徴を抽出し、データ量が削減されたチャンネルch1、チャンネルch2およびチャンネルch3を出力層43に出力する。
【0040】
図6は、本実施形態に係るフィルタの統合処理のフローチャートであり、情報処理装置1の学習モデルにおけるフィルタの統合処理を示している。本実施形態に係る情報処理装置1は、フィルタを統合することによって、畳み込み層のフィルタの数を減らし、学習モデルを軽量化することができる。
【0041】
まず、情報処理装置1は、畳み込み層のパラメータに基づいて、統合処理を実行する畳み込み層を選択する(ステップS101)。畳み込み層のパラメータは、畳み込み層に含まれるフィルタの数または入力層41から数えた場合における畳み込み層の番号であり得る。情報処理装置1は、学習モデルにおける複数の畳み込み層のうち、最も多くのフィルタを有する畳み込み層を選択してもよい。これにより、多くのフィルタから統合対象となるフィルタを選択でき、より適切なフィルタ統合を行うことができる。情報処理装置1は、学習モデルにおける複数の畳み込み層のうち、所定の数以上のフィルタを有する畳み込み層を選択しても良い。これにより、学習モデルの軽量化を効率的に行うことができる。
【0042】
なお、所定の数以上のフィルタを有する畳み込み層が複数存在する場合、最も入力層41に近い畳み込み層が選択されてもよい。これにより、学習モデルの軽量化をより効率的に行うことができる。
【0043】
次に、情報処理装置1は、統合対象の畳み込み層について、フィルタのパラメータを算出する(ステップS102)。フィルタのパラメータの算出方法は、特に限定されるものではない。例えば、フィルタのパラメータは、重み付け係数の合計(ノルム)、ノルムの標準偏差などであり得る。なお、ノルムは、重み付け係数の絶対の合計(1次ノルム)であってもよく、重み付け係数の二乗和の平方根(2次ノルム)であってもよい。ノルムは、フィルタによる特徴量抽出の重要度を示す。すなわち、大きいノルムを有するフィルタは、高い重要度を有する。また、ノルムの標準偏差は、フィルタ内の学習量を示す。すなわち、小さい標準偏差を有するフィルタは、高い重要度を有する。なお、情報処理装置1は、フィルタのパラメータに基づいて、フィルタのリストを作成してもよい。フィルタのリストは、統合されるフィルタの優先順位の決定に用いられる。
【0044】
情報処理装置1は、フィルタのパラメータに基づいて、互いに類似する第1のフィルタおよび第2のフィルタを選択する(ステップS103)。フィルタの選択方法は、特に限定されるものではない。例えば、重み付け係数の合計が最も大きいフィルタを第1のフィルタおよびとして選択してもよい。重み付け係数の合計が大きいフィルタを選択することによって、畳み込み処理による特徴量抽出の特性を保持しつつ、学習モデルの軽量化を行うことができる。また、第1のフィルタの重み付け係数に基づいて第2のフィルタを選択してもよい。例えば、第1のフィルタと第2のフィルタとのノルムの差が所定の数未満となるように第2のフィルタを選択してもよい。なお、フィルタの統合のために選択されるフィルタの数は3以上であってもよい。多くのフィルタから統合フィルタを選択することによって、フィルタの数の削減をより効率的に行うことができる。
【0045】
情報処理装置1は、第1のフィルタおよび第2のフィルタを統合することによって、統合フィルタを生成する(ステップS104)。統合フィルタの重み付け係数は、第1のフィルタの重み付け係数および第2のフィルタの重み付け係数に基づいて算出される。例えば、統合フィルタの重み付け係数は、第1のフィルタの重み付け係数および第2のフィルタの重み付け係数の平均であり得る。
【0046】
続いて、情報処理装置1は、フィルタの削減率が目標値以上であるか否かを判断する(ステップS105)。フィルタの削減率は、統合前のフィルタの数に対する統合によって削減されたフィルタの数であり得る。フィルタの削減率が目標値未満である場合(ステップS105においてNO)、情報処理装置1は、ステップS101に戻り、統合処理を実行する畳み込み層を選択する。フィルタ削減率が目標値以上である場合(ステップS105においてYES)、情報処理装置1は、フィルタの統合処理を終了する。
【0047】
図7は、第1実施形態に係る情報処理装置1におけるフィルタの選択の一例を示す模式図である。図7において、入力チャンネルの数が2、出力チャンネルの数が4である場合における畳み込み層の8つのフィルタが示されている。図7(a)における「入力ch1」および「入力ch2」は、チャンネルch1およびチャンネルch2にかけ合わされるフィルタをそれぞれ示す。「出力ch1」、「出力ch2」、「出力ch3」および「出力ch4」は、チャンネルch1、チャンネルch2、チャンネルch3およびチャンネルch4を出力するために用いられるフィルタを示す。
【0048】
図7(b)は、各々のフィルタのノルムを示している。「平均」は、ノルムの平均である。「標準偏差」は、ノルムの標準偏差である。
【0049】
図7(c)は、フィルタのリストを示している。各々のフィルタは、「平均」の値が高い順に並んでいる。「順位」は、「平均」の順位である。情報処理装置1は、「順位」が1位であるチャンネルch4のフィルタを第1のフィルタとして選択し得る。
【0050】
図7(d)は、第1のフィルタの標準偏差との差が小さい順にフィルタを示している。情報処理装置1は、第1のフィルタと最も標準偏差が近いチャンネルch1のフィルタを第2のフィルタとして選択し得る。フィルタの標準偏差の差が小さいフィルタを選択することによって、互いに類似するフィルタを選択することができる。
【0051】
図8は、第1実施形態に係る情報処理装置1におけるフィルタの統合の一例を示す模式図である。図8(a)は、フィルタの統合前における学習モデルを示している。図8(a)は、第n畳み込み層および第(n+1)畳み込み層を示している。第n畳み込み層の入力のチャンネルの数は1であり、出力のチャンネルの数は2である。第n畳み込み層は、2つのフィルタを有している。第(n+1)畳み込み層は、第n畳み込み層の次の畳み込み層である。第(n+1)畳み込み層の入力のチャンネルの数は2であり、出力のチャンネルの数は3である。第(n+1)畳み込み層は、6つのフィルタを有している。なお、図8において、フィルタ処理は、チャンネルの行列およびフィルタの行列において互いに対応する値の乗算として表されている。
【0052】
図8(b)は、第n畳み込み層の2つのフィルタが統合される場合における学習モデルの構造の変化を示している。フィルタの統合は、フィルタの重み付け係数の平均である。なお、フィルタの統合は、フィルタのノルムの平均の比率による可算平均であってもよい。
【0053】
第n畳み込み層のフィルタの統合により、第n畳み込み層のフィルタの数が2から1に減少する。これにより、第n畳み込み層の出力のチャンネルの数が1に減少する。ここで、第n畳み込み層の出力のチャンネルの数は、第(n+1)畳み込み層の入力のチャンネルの数に等しい。すなわち、第n畳み込み層におけるフィルタの統合に応答して、第(n+1)畳み込み層においてフィルタの統合が行われる。これにより、第(n+1)畳み込み層の入力のチャンネルの数が2から1に減少し、第(n+1)畳み込み層のフィルタの数が6から3に減少する。
【0054】
図8(c)は、フィルタの統合後における学習モデルを示している。図8(c)において、フィルタの数が減少することによって学習モデルが軽量化されている。本実施形態において、複数のフィルタを統合し、一つの統合フィルタを生成することによって、畳み込み処理における入力と出力との関係性を保持することができる。これにより、予測精度を維持しつつ学習モデルを軽量化することができる。また、フィルタの統合によって学習モデルを軽量化することによって、学習モデルの再学習の計算量を削減することができる。
【0055】
図9は、本実施形態に係る情報処理装置1の学習モデルのニューラルネットワーク図である。図9(a)において、学習モデルは、入力層91、中間層92、出力層93を含むニューラルネットワークを含む。入力層91のニューロン951、中間層92のニューロン952、出力層93のニューロン953はシナプス96によってそれぞれ結合されている。ニューロン951、ニューロン952およびニューロン953は、それぞれチャンネルに対応する。各々のシナプス96は、フィルタの重み付け係数に対応する。
【0056】
図9(b)は、本実施形態に係る情報処理装置1における学習モデルのフィルタ統合処理を示している。図9(b)において、中間層92のニューロン952は統合され、新たなニューロン952が生成されている。ニューロン952の統合によって、中間層92のニューロン952の数およびニューロン952に結合するシナプスの数が減少し、学習モデルが軽量化される。また、統合によって得られたニューロン952は、統合に用いられたニューロン952の性質を有する。すなわち、中間層92と出力層93との関係は、ニューロン952の統合によって変化しない。これにより、学習モデルの特徴量抽出の特性を保持することができる。
【0057】
図9(c)は、従来例に係る情報処理装置における学習モデルの枝刈り(プルーニング)を示している。学習モデルのプルーニングにおいては、不要と判断された中間層92のニューロン952およびシナプス96が削除されている。学習モデルのプルーニングにおいては、ニューロン952およびシナプス96のプルーニングによって、学習モデルの構造が変化する。すなわち、中間層92と出力層93との関係はプルーニングによって変化する。これにより、学習モデルの予測精度が損なわれ得る。
【0058】
以上に述べたように、本実施形態に係る情報処理装置1は、互いに類似するフィルタを統合し、統合フィルタを生成することによって予測精度を維持しつつ学習モデルを軽量化することができる。また、統合フィルタの生成によって学習モデルの再学習の計算量を削減することができる。
【0059】
[第2実施形態]
図10は、第2実施形態に係る情報処理装置5の機能ブロック図である。情報処理装置5は、学習モデル部51、選択部52および生成部53を備える。学習モデル部51は、学習データの複数の要素の各々に重み付けをする複数のフィルタを有する。選択部52は、複数のフィルタの各々のパラメータに基づいて、複数のフィルタのうち互いに類似する第1のフィルタおよび第2のフィルタを選択する。生成部53は、第1のフィルタおよび第2のフィルタを統合した統合フィルタを生成する。
【0060】
本実施形態によれば、予測精度を維持しながら学習モデルを軽量化することが可能な情報処理装置5が提供される。
【0061】
[変形実施形態]
本発明は、上述の実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲において適宜変更可能である。例えば、いずれかの実施形態の一部の構成を他の実施形態に追加した例や、他の実施形態の一部の構成と置換した例も、本発明の実施形態である。
【0062】
上述の実施形態の機能を実現するように該実施形態の構成を動作させるプログラムを記憶媒体に記録させ、記憶媒体に記録されたプログラムをコードとして読み出し、コンピュータにおいて実行する処理方法も各実施形態の範疇に含まれる。すなわち、コンピュータ読取可能な記憶媒体も各実施形態の範囲に含まれる。また、上述のプログラムが記録された記憶媒体だけでなく、そのプログラム自体も各実施形態に含まれる。また、上述の実施形態に含まれる1又は2以上の構成要素は、各構成要素の機能を実現するように構成されたASIC、FPGA等の回路であってもよい。
【0063】
該記憶媒体としては例えばフロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD(Compact Disk)-ROM、磁気テープ、不揮発性メモリカード、ROMを用いることができる。また該記憶媒体に記録されたプログラム単体で処理を実行しているものに限らず、他のソフトウェア、拡張ボードの機能と共同して、OS(Operating System)上で動作して処理を実行するものも各実施形態の範疇に含まれる。
【0064】
上述の各実施形態の機能により実現されるサービスは、SaaS(Software as a Service)の形態でユーザに対して提供することもできる。
【0065】
なお、上述の実施形態は、いずれも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【0066】
上述の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0067】
(付記1)
学習データの複数の要素の各々に重み付けをする複数のフィルタを有する学習モデル部と、
前記複数のフィルタの各々のパラメータに基づいて、前記複数のフィルタのうち互いに類似する第1のフィルタおよび第2のフィルタを選択する選択部と、
前記第1のフィルタおよび前記第2のフィルタを統合した統合フィルタを生成する生成部と、
を備える情報処理装置。
【0068】
(付記2)
前記学習モデル部は、各々が複数のフィルタを有する複数の層を含み、
前記選択部は、前記複数の層のうち一の層をさらに選択し、
前記選択部は、前記一の層に含まれる前記複数のフィルタから前記第1のフィルタおよび前記第2のフィルタを選択する、
付記1に記載の情報処理装置。
【0069】
(付記3)
前記選択部は、前記複数の層のうち、所定の数以上のフィルタを有する層を前記一の層として選択する、
付記2に記載の情報処理装置。
【0070】
(付記4)
前記生成部は、前記一の層における前記統合フィルタの生成に応答して、前記一の層と異なる他の層において前記統合フィルタを生成する、
付記2に記載の情報処理装置。
【0071】
(付記5)
前記他の層は、前記一の層の次の層である、
付記4に記載の情報処理装置。
【0072】
(付記6)
前記フィルタは、複数の重み付け係数を有し、
前記フィルタのパラメータは、前記複数の重み付け係数に基づいて算出される、
付記1に記載の情報処理装置。
【0073】
(付記7)
前記選択部は、前記フィルタの前記複数の重み付け係数の合計に基づいて前記第1のフィルタを選択し、
前記選択部は、前記第1のフィルタの前記複数の重み付け係数に基づいて前記第2のフィルタを選択する、
付記6に記載の情報処理装置。
【0074】
(付記8)
前記統合フィルタの前記複数の重み付け係数は、前記第1のフィルタの前記複数の重み付け係数および前記第2のフィルタの前記複数の重み付け係数に基づいて算出される、
付記6に記載の情報処理装置。
【0075】
(付記9)
学習データの複数の要素の各々に重み付けをする複数のフィルタの各々のパラメータに基づいて、前記複数のフィルタのうち互いに類似する第1のフィルタおよび第2のフィルタを選択するステップと、
前記第1のフィルタおよび前記第2のフィルタを統合した統合フィルタを生成するステップと、
を備える情報処理方法。
【0076】
(付記10)
コンピュータに、
学習データの複数の要素の各々に重み付けをする複数のフィルタの各々のパラメータに基づいて、前記複数のフィルタのうち互いに類似する第1のフィルタおよび第2のフィルタを選択するステップと、
前記第1のフィルタおよび前記第2のフィルタを統合した統合フィルタを生成するステップと、
を実行させるためのプログラム。
【符号の説明】
【0077】
1、5 情報処理装置
2 利用装置
3 ネットワーク
11、12 畳み込み層
41、91 入力層
42、92 中間層
43、93 出力層
51 学習モデル部
52 選択部
53 生成部
96 シナプス
101、201 CPU
102、202 RAM
103、203 ROM
104、204 記憶装置
105、205 通信I/F
106、206 入出力装置
107、207 表示装置
951、952、953 ニューロン
ch1、ch2、ch3、ch4 チャンネル
F11、F12、F21、F22、F31、F32 フィルタ
図1
図2
図3
図4
図5
図6
図7A
図7B
図7C
図7D
図8A
図8B
図8C
図9A
図9B
図9C
図10