JP6784162B2 - 情報処理装置、プログラム及び情報処理方法 - Google Patents

情報処理装置、プログラム及び情報処理方法 Download PDF

Info

Publication number
JP6784162B2
JP6784162B2 JP2016241629A JP2016241629A JP6784162B2 JP 6784162 B2 JP6784162 B2 JP 6784162B2 JP 2016241629 A JP2016241629 A JP 2016241629A JP 2016241629 A JP2016241629 A JP 2016241629A JP 6784162 B2 JP6784162 B2 JP 6784162B2
Authority
JP
Japan
Prior art keywords
neural network
polynomial
cpu
layer
information processing
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.)
Active
Application number
JP2016241629A
Other languages
English (en)
Other versions
JP2018097612A (ja
Inventor
聡 田辺
聡 田辺
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016241629A priority Critical patent/JP6784162B2/ja
Priority to US15/819,292 priority patent/US11093817B2/en
Publication of JP2018097612A publication Critical patent/JP2018097612A/ja
Application granted granted Critical
Publication of JP6784162B2 publication Critical patent/JP6784162B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Operations Research (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Image Analysis (AREA)

Description

本発明は、情報処理装置、プログラム及び情報処理方法に関する。
従来、深層のニューラルネットワークを用いた信号処理技術が知られている(例えば特許文献1参照)。
特開平7−13949号公報
しかしながら、従来の技術では層数の増加に伴い演算処理性能が低下するという問題がある。
一つの側面では、演算処理の高速化を図ることが可能な情報処理装置等を提供することを目的とする。
一つの案では、ニューラルネットワークを複数に分割する分割部と、分割したニューラルネットワークの入出力特性に基づいて、分割した各ニューラルネットワークに対応する各多項式ニューラルネットワークのパラメータを特定する特定部と、特定後の各多項式ニューラルネットワークを連結する連結部とを備える。
一つの側面では、演算処理の高速化を図ることが可能となる。
処理の概要を示す説明図である。 コンピュータのハードウェア構成を示すブロック図である。 深層ニューラルネットワークを示す説明図である。 3層のニューラルネットワークにおける関数近似の概念を示す説明図である。 目標とする関数が滑らかで小刻みな変化をする場合の例を示す説明図である。 目標とする関数が滑らかで小刻みな変化をする場合の例を示す説明図である。 目標とする関数がx2に比例する場合の例を示す説明図である。 深層ニューラルネットワーク及び多項式ニューラルネットワークを示す説明図である。 多項式ニューラルネットワークの構成及び中間層の出力を示す説明図である。 3層多項式ニューラルネットワークにおける関数近似の概念を示す説明図である。 関数近似能力を比較する説明図である。 深層ニューラルネットワークを示す説明図である。 分割状態を示す説明図である。 分割処理の手順を示すフローチャートである。 学習処理の手順を示すフローチャートである。 学習処理の手順を示すフローチャートである。 再分割処理の手順を示すフローチャートである。 再分割処理を示す説明図である。 上述した形態のコンピュータの動作を示す機能ブロック図である。 実施の形態3に係るコンピュータのハードウェア群を示すブロック図である。
実施の形態1
以下実施の形態を、図面を参照して説明する。図1は処理の概要を示す説明図である。情報処理装置1は、例えばサーバコンピュータ、パーソナルコンピュータ、タブレット、スマートフォンまたは携帯電話機等である。以下では情報処理装置1をコンピュータ1と読み替えて説明する。コンピュータ1は深層のニューラルネットワークを取得する。コンピュータ1は取得したニューラルネットワークを複数に分割する。コンピュータ1は分割した各ニューラルネットワークに対応する多項式ニューラルネットワークを生成する。コンピュータ1は分割したニューラルネットワークから得られた入出力特性に基づき、多項式ニューラルネットワークについて学習処理を行い、パラメータを特定する。コンピュータ1は、パラメータを特定した複数の多項式ニューラルネットワークを連結する。以下詳細を説明する。
図2はコンピュータ1のハードウェア構成を示すブロック図である。コンピュータ1は制御部としてのCPU(Central Processing Unit)11、RAM(Random Access Memor)12、入力部13、表示部14、記憶部15、時計部18、及び、通信部16等を含む。CPU11は、バス17を介してハードウェア各部と接続されている。CPU11は記憶部15に記憶された制御プログラム15Pに従いハードウェア各部を制御する。なお、CPU11は複数のプロセッサコアを搭載したマルチコアプロセッサであっても良い。RAM12は例えばSRAM(Static RAM)、DRAM(Dynamic RAM)、フラッシュメモリ等である。RAM12は、記憶部としても機能し、CPU11による各種プログラムの実行時に発生する種々のデータを一時的に記憶する。
入力部13はマウス、キーボード、タッチパネル、ボタン等の入力デバイスであり、受け付けた操作情報をCPU11へ出力する。表示部14は液晶ディスプレイまたは有機EL(electroluminescence)ディスプレイ等であり、CPU11の指示に従い各種情報を表示する。通信部16はルータ等の通信モジュールであり、図示しない他のコンピュータ等と間で、インターネットまたは公衆回線網等の通信網Nを介して、情報の送受信を行う。時計部18は日時情報をCPU11へ出力する。記憶部15は大容量メモリであり、制御プログラム15P等を記憶している。
図3は深層ニューラルネットワークを示す説明図である。図3に示すニューラルネットワークでは第1層目が入力層、第L層が出力層であり、入力層と出力層との間に複数の中間層が存在する。入力層にはX1〜XM(1)がそれぞれ入力される。層は中間層(第1層)を含め、全体で1層〜L層まで存在する。なお、本実施形態で示す深層ニューラルネットワークは一例であり、これに限るものではない。少なくとも4層以上の深層ニューラルネットワークであればよい。出力層からはY1〜YM(L)がそれぞれ出力される。深層ニューラルネットワークの入出力関係は、入力をX、出力をYとした場合、下記式(1)及び式(2)で表すことができる。
Figure 0006784162
Figure 0006784162
ここで、W(i)は行列、biはベクトルであり、重みパラメータである。また、σは活性化関数、zlは中間層(第1層)の出力である。活性化関数σは下記式(3)で表すことができる。
Figure 0006784162
同様に、中間層(第1層)の出力を下記式(4)により定義する。ここで、第1層の出力はM(l)次元の実数値ベクトルになる。
Figure 0006784162
深層ニューラルネットワークをハードウェアに実装する場合、中間層の演算を行う素子は、中間素子と呼ばれる。中間素子は通常、加算回路、乗算回路、メモリ等により構成される。
ニューラルネットワークの深層化は認識性能の改善に大きく寄与するため、ニューラルネットワークの深層化はさらに進むこととなる。ニューラルネットワークの層数Lが増加した場合、層数Lに比例して逐次的に演算数が増加する。この場合、並列演算が困難となり、演算処理性能が低下する。図2に示すように、第1+1層の出力結果を得る場合、前段の第1層の出力結果が必要となる。最終層の出力結果を得る場合、初段から順番に計算を実行する必要があり、各層の計算を独立に実行することができない。
数学的には、3層のニューラルネットワークでも中間素子が無限個、すなわち2層目の出力の次元M(2)を無限に大きくできるのであれば、任意の関数を近似することができる。従って、3層のニューラルネットワークでも、中間素子が無限個あれば、深層のニューラルネットワークと同一の機能を実現することができると考えられる。そのため、深層のニューラルネットワークを、3層のニューラルネットワークで近似し、並列演算することで演算処理性能を高くするということが考えられる。
図4は、3層のニューラルネットワークにおける関数近似の概念を示す説明図である。活性化関数により三角波形を作り、ずらした三角波形の重ね合わせにより関数を近似している例である。
図5および図6は、目標とする関数が滑らかで小刻みな変化をする場合の例を示す説明図である。図5または図6に示す関数を表現するためには、多くの鋭い三角波形が必要である。一つの三角波形を作成する場合、中間素子は少なくとも2つ必要となり、結果的に多くの中間素子が必要となる。
図7は、目標とする関数がx2に比例する場合の例を示す説明図である。図7の場合、中間素子を相当数増加させても、目標とする関数を表現することができない。従ってハードウェアの制約が厳しく、中間素子が十分に用意できない場合、深層ニューラルネットの演算処理性能を高めるために、深層のニューラルネットを3層のニューラルネットで近似して並列で演算するという手法は有効でないということが理解できる。
図8は深層ニューラルネットワーク及び多項式ニューラルネットワークを示す説明図である。コンピュータ1のCPU11は、目標とする深層ニューラルネットワークを、例えば中央で2つに分割する。CPU11は、分割した2つのニューラルネットワークを、それぞれ3層の多項式ニューラルネットワークで近似する。
図9は多項式ニューラルネットワークの構成及び中間層の出力を示す説明図である。3層の多項式ニューラルネットワークの入力および出力は下記式(5)及び式(6)により表すことができる。
Figure 0006784162
Figure 0006784162
ここで、各wは重みパラメータであり、fは活性化関数である。パラメータの一つであるdは3層の多項式ニューラルネットワークの次数である。なお、次数dは通常2以上であり、詳細は後述する。
図10は、3層多項式ニューラルネットワークにおける関数近似の概念を示す説明図である。図11は、関数近似能力を比較する説明図である。活性化関数によりインパルス波形を作成し、ずらしたインパルス波形の重ね合わせにより関数を近似している例を示す。3層のニューラルネットワークで作成されるインパルス波形は三角波形だけであったが、3層の多項式ニューラルネットワークで作成されるインパルス波形には、三角波形以外のものも含まれる。そのため、3層のニューラルネットワークよりも3層の多項式ニューラルネットの方が、関数近似能力が高いといえる。図11Aに示すように、目標とする関数が2次関数の場合、3層のニューラルネットワークでは多くの中間素子で関数近似を行うことになる。一方、図11Bに示すように、多項式ニューラルネットワークであれば、一つの中間素子で済ませることができ、目標とする関数に、一つの中間素子の出力Yが適切に近似することとなる。このように、多項式ニューラルネットワークの関数近似能力の方が、3層のニューラルネットワークよりも高いことが理解できる。
3層の多項式ニューラルネットワークの演算には、3層のニューラルネットワークとは違い、次数2以上の多変数多項式の演算が含まれている。そのため、中間素子数が同一の場合、演算量は従来の3層のニューラルネットワークよりも大きくなるが、多変数多項式の演算の各項の計算は独立に実行することができるため、並列した演算を実行することが可能である。従って、並列演算を行うことによりニューラルネットワークよりも演算処理性能を高めることができる。多変数多項式の演算を並列で演算する場合に必要となる乗算回路の個数(=乗算回数)は、下記(式7)で表すことができる。
Figure 0006784162
また加算回路の個数(=加算回数)も以下の下記(式8)で表すことができる。
Figure 0006784162
ここで、M(1)は入力データの次元、M(2)は中間素子(乗算回路、加算回路)の数である。dは3層の多項式ニューラルネットワークの次数であり、d=1の場合、3層のニューラルネットワークと等しくなる。(式7)及び(式8)から明らかなとおり、次数dが小さく中間素子の数M(2)が小さいほど、必要となるハードウェアのリソース(乗算回路、加算回路)は少なく済む。しかしながら、次数dと中間素子の数M(2)とを極端に小さくした場合、多項式ニューラルネットワークの関数近似能力が低くなってしまうため、単純に小さくすることはできない。そのため、ハードウェアのリソース(乗算回路、加算回路)に制限がある場合、多項式ニューラルネットワークの関数近似能力が低くなり過ぎないように、次数dと中間素子の数M(2)を小さく調整する。
図12は深層ニューラルネットワークを示す説明図である。実施形態では層数は3より大きいものとして説明する。CPU11は、記憶部15から目標とする深層ニューラルネットワーク及び当該深層ニューラルネットワークの学習時に使用した入力データを読み出す。CPU11は、読み出した入力データx1〜x3を、目標とする深層ニューラルネットワークに入力する。CPU11は、深層ニューラルネットワークの出力層の出力データY=Z(l)、及び、各中間層の出力データZ(i)を取得する。W(1)〜W(L-1)は各層間の重み行列である。
ここで、中間層の出力データは下記(式9)で表現でき、出力層の出力データYは下記(式10)で表現できる。なお、fL、fL=1は活性化関数である。CPU11は、入力データと、算出した中間層及び出力層の出力データをRAM12に記憶する。
Figure 0006784162
Figure 0006784162
次いで、CPU11は、深層ニューラルネットワークの分割処理を行う。図13は分割状態を示す説明図である。CPU11は、深層ニューラルネットワークがL層(L>3)の場合、第1層から第L/2層のニューラルネットワークと、第L/2層から第L層のニューラルネットワークに2分割し、2つの深層ニューラルネットワークを生成する。なお、実施形態では2分割する例を示すがこれに限るものではない。3分割または4分割としてもよい。また層数に応じて分割数を変更させてもよい。例えば、CPU11は、層数が第2閾値(100)を超えた場合、2分割から4分割に変更し、層数が第2閾値(200)を超えた場合、4分割から8分割にしてもよい。
図13の例では、Z1〜Z(L/2)の第1深層ニューラルネットワークと、Z(L/2)〜Z(L)の第2深層ニューラルネットワークとに分割されている。次いで、CPU11は、各ニューラルネットワークの入出力データを取得する。本実施形態では、CPU11は、第1深層ニューラルネットワークのための第1学習データ及び第2深層ニューラルネットワークのための第2学習データを取得する。第1学習データの入力データは第1層に入力されたデータであり、第1学習データの出力データは第L/2層で出力されるデータである。CPU11は、RAM12から第1の学習データを取得し、RAM12に記憶する。第2学習データの入力データは第L/2層で出力されたデータであり、第2学習データの出力データは第L層で出力されるデータである。CPU11は、RAM12から第2の学習データを取得し、RAM12に記憶する。
CPU11は、(式7)〜(式10)に、重みパラメータの初期値、多項式の次数dの初期値(例えば1または2)、中間素子の個数の初期値(例えば1または2)を設定する。CPU11は、初期値の設定により第1深層ニューラルネットワークに対応する第1多項式ニューラルネットワーク、及び、第2深層ニューラルネットワークに対応する第2多項式ニューラルネットワークを生成する。CPU11は、第1学習データに基づき、第1多項式ニューラルネットワークを学習させる。同様に、CPU11は、第2学習データに基づき、第2多項式ニューラルネットワークを学習させる。すなわち、学習を通じてパラメータである重みパラメータ、次数及び中間素子数を特定する。
CPU11は、学習処理にあたり、勾配法を用いる。なお、勾配法は一例であり、その他の方法であってもよい。例えばSA(Simulated Annealing)法、または、遺伝的アルゴリズム法を用いれば良い。多項式ニューラルネットワークに対応する対応値としての勾配法に基づく損失関数E(X,W(2),W(3))には、下記(式11)に示す2乗損失を使用する。
Figure 0006784162
ここで、Xn(n=1,2,,,)は学習データの入力データ、yjは学習データの出力データ、W(2),W(3)は3層の多項式ニューラルネットワークが持つ重みパラメータである。CPU11は、また損失関数のE(W(2),W(3))の勾配は例えば、下記(式12)により表される。
Figure 0006784162
CPU11は、算出した勾配に基づき、重みパラメータを更新する。重みパラメータの更新は、例えば下記(式13)により算出する。
Figure 0006784162
CPU11は、学習の結果、損失関数E(W(2),W(3))の値が記憶部15に記憶した閾値より大きいか否か判断する。CPU11は、損失関数の値が閾値より大きい場合、下記(式14)に基づき、多項式ニューラルネットワークの次数d及び中間素子の数M(2)を変更する。
Figure 0006784162
ここで、Mmaxは中間素子の上限数である。なお、中間素子の上限数は、入力部13から適宜の値を設定することが可能である。CPU11は、上述した処理を第1多項式ニューラルネットワーク及び第2多項式ニューラルネットワークの双方について実行する。CPU11は、損失関数が閾値より大きくない場合、最終的な重みパラメータ、次数及び中間素子数を有する第1多項式ニューラルネットワーク及び第2多項式ニューラルネットワークをRAM12に記憶する。CPU11は、第1多項式ニューラルネットワークの出力層と第2多項式ニューラルネットワークの入力層とを連結する。CPU11は、連結した多項式ニューラルネットワークを表示部14に出力、または、通信部16を介して他のコンピュータ(図示せず)へ出力する。
以上のハードウェア群においてソフトウェア処理を、フローチャートを用いて説明する。図14は分割処理の手順を示すフローチャートである。コンピュータ1のCPU11は、入力部13または記憶部15から、学習済みの深層ニューラルネットワークの重みパラメータを取得する(ステップS141)。CPU11は、対象とする深層ニューラルネットワークを記憶部15から読み出す(ステップS142)。CPU11は、学習用の入力データを深層ニューラルネットワークへ入力する(ステップS143)。CPU11は、出力層及び中間層の出力データを取得し、RAM12に記憶する(ステップS144)。
CPU11は、深層ニューラルネットワークを、第1深層ニューラルネットワーク及び第2深層ニューラルネットワークに分割し、分割した第1深層ニューラルネットワーク及び第2深層ニューラルネットワークをRAM12に記憶する(ステップS145)。CPU11は、入力データ及び第1多項式ニューラルネットワークの出力データを、第1の学習データとしてRAM12に記憶する(ステップS146)。CPU11は、第2多項式ニューラルネットワークの入力データ及び出力層の出力データを、第2の学習データとしてRAM12に記憶する(ステップS147)。
図15及び図16は学習処理の手順を示すフローチャートである。CPU11は、多項式ニューラルネットワークの次数及び中間素子数の初期値を、記憶部15から読み出す(ステップS151)。CPU11は、記憶部15からあらかじめ設定された中間素子数の上限を読み出す(ステップS152)。CPU11は、多項式ニューラルネットワークの重みパラメータの初期値を読み出す(ステップS153)。CPU11は、RAM12に記憶した第1の学習データ及び第1深層ニューラルネットワークを読み出す(ステップS154)。
CPU11は、(式5)〜(式11)及び第1の学習データに基づき、第1多項式ニューラルネットワークの学習処理を行う。具体的には、CPU11は、第1の学習データに基づき、第1多項式ニューラルネットワークの損失関数を算出する(ステップS155)。CPU11は、算出した損失関数の勾配を、(式12)に基づき算出する(ステップS156)。CPU11は、算出した損失関数の勾配及び(式13)に基づき、重みパラメータを更新する(ステップS157)。CPU11は、更新後の重みパラメータをRAM12に記憶する。
CPU11は、記憶部15から閾値を読み出す(ステップS158)。CPU11は、算出した損失関数が閾値より大きいか否かを判断する(ステップS159)。CPU11は、損失関数が閾値より大きいと判断した場合(ステップS159でYES)、処理をステップS161へ移行させる。CPU11は、中間素子数の上限数が入力された(式14)に基づき、次数及び中間素子数を変更する(ステップS161)。CPU11は、変更後の次数及び中間素子数をRAM12に記憶する。
その後、CPU11は、処理をステップS155に戻す。以上の処理を繰り返すことにより、学習が進み損失関数が閾値より小さくなる。CPU11は、損失関数が閾値より大きくないと判断した場合(ステップS159でNO)、処理をステップS162へ移行させる。CPU11は、RAM12に記憶した更新済みの重みパラメータ、変更後の次数及び中間素子数を読み出す。CPU11は、読み出した重みパラメータ、次数及び中間素子数が特定された学習済みの第1多項式ニューラルネットワークを生成する(ステップS162)。
CPU11は、ステップS154〜S162の処理を、第2の学習データを用いて、同様に第2多項式ニューラルネットワークの学習処理を行う。CPU11は、最終的に重みパラメータ、次数及び中間素子数が特定された第2多項式ニューラルネットワークを生成する(ステップS163)。CPU11は、生成した第1多項式ニューラルネットワーク及び第2多項式ニューラルネットワークを連結する(ステップS164)。CPU11は、連結した多項式ニューラルネットワークを、表示部14へ出力する(ステップS165)。これにより、演算処理の高速化を図ることが可能となる。また中間素子数の制約の範囲内で演算処理が可能となる。
実施の形態2
実施の形態2は再分割する形態に関する。図17は再分割処理の手順を示すフローチャートである。コンピュータ1のCPU11は、ステップS159でYESの後、すなわち損失関数が閾値より大きい場合、中間素子数が、上限数に達したか否かを判断する(ステップS171)。CPU11は、上限数に達していない場合(ステップS171でNO)、処理をステップS172へ移行させる。CPU11は、実施の形態1で述べたように次数及び中間素子数を変更する(ステップS172)。その後CPU11は、処理を実施の形態1で述べたステップS155へ移行させる。
CPU11は、中間素子数が上限に達したと判断した場合(ステップS171でYES)、処理をステップS174へ移行させる。本実施形態では第1深層ニューラルネットワーク側の中間素子数が上限に達しても損失関数の閾値より大きい例を挙げて説明する。CPU11は、分割後の第1深層ニューラルネットワークを再分割し、第1再分割深層ニューラルネットワーク及び第2再分割深層ニューラルネットワークを生成する(ステップS174)。
図18は再分割処理を示す説明図である。図18に示すように、Z(1)〜Z(L/2)の第1深層ニューラルネットワークの損失関数が閾値より大きいものとして説明する。この場合、CPU11は、Z(L/4)を境に、第1深層ニューラルネットワークを2つに再分割する。なお、分割例は一例であり、3分割以上としてもよい。一方第2深層ニューラルネットワークは損失関数が閾値以下であるため、実施の形態1で述べた処理により、第2多項式ニューラルネットワークの学習処理が完了する。
第1深層ニューラルネットワークは、Z(1)〜Z(L/4)の第1再分割深層ニューラルネットワーク、及び、Z(L/4)〜Z(L/2)の第2再分割深層ニューラルネットワークの2つに分割される。CPU11は、第1再分割深層ニューラルネットワークに対応する第1再分割学習データをRAM12に記憶する(ステップS175)。具体的には、入力データがZ(1)、出力データがZ(L/4)となる。CPU11は、同様に第2再分割深層ニューラルネットワークに対応する第2再分割学習データをRAM12に記憶する(ステップS176)。具体的には、入力データがZ(L/4)、出力データがZ(L/2)となる。
CPU11は、実施の形態1で述べたステップS154〜S162の処理により、第1再分割深層ニューラルネットワークに対応する第1再分割多項式ニューラルネットワークを、第1再分割学習データを使用して学習する(ステップS177)。CPU11は、同様に、第2再分割深層ニューラルネットワークに対応する第2再分割多項式ニューラルネットワークを、第2再分割学習データを使用して学習する(ステップS178)。
CPU11は、学習済みの第1再分割多項式ニューラルネットワーク、第2再分割多項式ニューラルネットワーク及び第2多項式ニューラルネットワークを連結する(ステップS179)。CPU11は、連結後の多項式ニューラルネットワークを表示部14へ出力する(ステップS1710)。これにより、中間素子数の上限数が十分でない場合でも、再分割を行うことで、適切に多項式ニューラルネットワークを学習させることが可能となる。
本実施の形態2は以上の如きであり、その他は実施の形態1と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
実施の形態3
図19は上述した形態のコンピュータ1の動作を示す機能ブロック図である。CPU11が制御プログラム15Pを実行することにより、コンピュータ1は以下のように動作する。分割部191は、ニューラルネットワークを複数に分割する。特定部192は、分割したニューラルネットワークの入出力特性に基づいて、分割した各ニューラルネットワークに対応する各多項式ニューラルネットワークのパラメータを特定する。連結部193は特定後の各多項式ニューラルネットワークを連結する。
図20は実施の形態3に係るコンピュータ1のハードウェア群を示すブロック図である。コンピュータ1を動作させるためのプログラムは、ディスクドライブ、メモリーカードスロット等の読み取り部10AにCD−ROM、DVDディスク、メモリーカード、またはUSBメモリ等の可搬型記録媒体1Aを読み取らせて記憶部15に記憶しても良い。また当該プログラムを記憶したフラッシュメモリ等の半導体メモリ1Bをコンピュータ1内に実装しても良い。さらに、当該プログラムは、インターネット等の通信網Nを介して接続される他のサーバコンピュータ(図示せず)からダウンロードすることも可能である。以下に、その内容を説明する。
図20に示すコンピュータ1は、上述した各種ソフトウェア処理を実行するプログラムを、可搬型記録媒体1Aまたは半導体メモリ1Bから読み取り、或いは、通信網Nを介して他のサーバコンピュータ(図示せず)からダウンロードする。当該プログラムは、制御プログラム15Pとしてインストールされ、RAM12にロードして実行される。これにより、上述したコンピュータ1として機能する。
本実施の形態3は以上の如きであり、その他は実施の形態1または2と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。なお、以上述べた各実施形態は適宜組み合わせることが可能である。
以上の実施の形態1から3を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
ニューラルネットワークを複数に分割する分割部と、
分割したニューラルネットワークの入出力特性に基づいて、分割した各ニューラルネットワークに対応する各多項式ニューラルネットワークのパラメータを特定する特定部と、
特定後の各多項式ニューラルネットワークを連結する連結部と
備える情報処理装置。
(付記2)
前記特定部は、
前記多項式ニューラルネットワークに対応する対応値が、所定条件を満たさない場合、前記パラメータを変更する
付記1に記載の情報処理装置。
(付記3)
前記パラメータは前記多項式ニューラルネットワークの次数及び中間素子数を含み、
前記特定部は、
前記中間素子数の上限数を超えない範囲で、各多項式ニューラルネットワークの次数及び中間素子数を特定する
付記1または2に記載の情報処理装置。
(付記4)
前記特定部は、
分割したニューラルネットワークの入出力特性に基づき、前記多項式ニューラルネットワークの損失関数を算出し、
算出した損失関数が閾値より大きいか否か判断し、
閾値より大きいと判断した場合に、前記次数及び中間素子数を変更する
付記3に記載の情報処理装置。
(付記5)
前記パラメータは重みパラメータを含み、
前記損失関数の勾配を算出する勾配算出部と、
算出した勾配に基づき、重みパラメータを算出する重み算出部と
を備える付記4に記載の情報処理装置。
(付記6)
次数及び中間素子数を変更した後の損失関数が閾値より大きい場合に、分割した多項式ニューラルネットワークをさらに分割する再分割部
を備える付記4または5に記載の情報処理装置。
(付記7)
前記連結部は、
損失関数が閾値以下となるパラメータにて特定された各多項式ニューラルネットワークを連結する
付記4から6のいずれか一つに記載の情報処理装置。
(付記8)
コンピュータに、
ニューラルネットワークを複数に分割し、
分割したニューラルネットワークの入出力特性に基づいて、分割した各ニューラルネットワークに対応する各多項式ニューラルネットワークのパラメータを特定し、
特定後の各多項式ニューラルネットワークを連結する
処理を実行させるプログラム。
(付記9)
コンピュータに、
ニューラルネットワークを複数に分割し、
分割したニューラルネットワークの入出力特性に基づいて、分割した各ニューラルネットワークに対応する各多項式ニューラルネットワークのパラメータを特定し、
特定後の各多項式ニューラルネットワークを連結する
処理を実行させる情報処理方法。
1 コンピュータ
1A 可搬型記録媒体
1B 半導体メモリ
10A 読み取り部
11 CPU
12 RAM
13 入力部
14 表示部
15 記憶部
15P 制御プログラム
16 通信部
18 時計部
N 通信網

Claims (6)

  1. ニューラルネットワークを複数に分割する分割部と、
    分割したニューラルネットワークの入出力特性に基づいて、分割した各ニューラルネットワークに対応する各多項式ニューラルネットワークのパラメータを特定する特定部と、
    特定後の各多項式ニューラルネットワークを連結する連結部と
    備える情報処理装置。
  2. 前記特定部は、
    前記多項式ニューラルネットワークに対応する対応値が、所定条件を満たさない場合、前記パラメータを変更する
    請求項1に記載の情報処理装置。
  3. 前記パラメータは前記多項式ニューラルネットワークの次数及び中間素子数を含み、
    前記特定部は、
    前記中間素子数の上限数を超えない範囲で、各多項式ニューラルネットワークの次数及び中間素子数を特定する
    請求項1または2に記載の情報処理装置。
  4. 前記特定部は、
    分割したニューラルネットワークの入出力特性に基づき、前記多項式ニューラルネットワークの損失関数を算出し、
    算出した損失関数が閾値より大きいか否か判断し、
    閾値より大きいと判断した場合に、前記次数及び中間素子数を変更する
    請求項3に記載の情報処理装置。
  5. コンピュータに、
    ニューラルネットワークを複数に分割し、
    分割したニューラルネットワークの入出力特性に基づいて、分割した各ニューラルネットワークに対応する各多項式ニューラルネットワークのパラメータを特定し、
    特定後の各多項式ニューラルネットワークを連結する
    処理を実行させるプログラム。
  6. コンピュータに、
    ニューラルネットワークを複数に分割し、
    分割したニューラルネットワークの入出力特性に基づいて、分割した各ニューラルネットワークに対応する各多項式ニューラルネットワークのパラメータを特定し、
    特定後の各多項式ニューラルネットワークを連結する
    処理を実行させる情報処理方法。
JP2016241629A 2016-12-13 2016-12-13 情報処理装置、プログラム及び情報処理方法 Active JP6784162B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016241629A JP6784162B2 (ja) 2016-12-13 2016-12-13 情報処理装置、プログラム及び情報処理方法
US15/819,292 US11093817B2 (en) 2016-12-13 2017-11-21 Information processing device and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016241629A JP6784162B2 (ja) 2016-12-13 2016-12-13 情報処理装置、プログラム及び情報処理方法

Publications (2)

Publication Number Publication Date
JP2018097612A JP2018097612A (ja) 2018-06-21
JP6784162B2 true JP6784162B2 (ja) 2020-11-11

Family

ID=62489365

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016241629A Active JP6784162B2 (ja) 2016-12-13 2016-12-13 情報処理装置、プログラム及び情報処理方法

Country Status (2)

Country Link
US (1) US11093817B2 (ja)
JP (1) JP6784162B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017136483A (ja) * 2017-05-19 2017-08-10 シャープ株式会社 洗濯機
JP2017136484A (ja) * 2017-05-19 2017-08-10 シャープ株式会社 洗濯機
JP2017136481A (ja) * 2017-05-19 2017-08-10 シャープ株式会社 洗濯機
JP6291112B2 (ja) * 2017-05-19 2018-03-14 シャープ株式会社 洗濯機
JP7056345B2 (ja) * 2018-04-18 2022-04-19 日本電信電話株式会社 データ分析システム、方法、及びプログラム
WO2019210300A1 (en) 2018-04-27 2019-10-31 Carnegie Mellon University Polynomial convolutional neural network with late fan-out
JP6775251B2 (ja) * 2018-05-22 2020-10-28 京楽産業.株式会社 遊技機
CN111382835A (zh) * 2018-12-27 2020-07-07 中科寒武纪科技股份有限公司 一种神经网络压缩方法、电子设备及计算机可读介质
CN111523654B (zh) * 2019-02-03 2024-03-29 上海寒武纪信息科技有限公司 处理装置及方法
JPWO2020189496A1 (ja) * 2019-03-15 2020-09-24
US11556450B2 (en) * 2019-10-11 2023-01-17 International Business Machines Corporation Hybrid data-model parallelism for efficient deep learning

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3922536A (en) * 1974-05-31 1975-11-25 Rca Corp Multionomial processor system
DE3804946A1 (de) 1988-02-18 1989-08-31 Tetra Pak Rausing & Co Kg Verfahren und vorrichtung zum vereinzeln von ebenen teilen
JPH0738186B2 (ja) * 1989-03-13 1995-04-26 シャープ株式会社 自己拡張形ニユーラル・ネットワーク
JPH05108595A (ja) * 1991-10-17 1993-04-30 Hitachi Ltd ニユーラルネツトワークの分散学習装置
JPH0635889A (ja) 1992-07-20 1994-02-10 Hitachi Ltd ニューラルネットワーク装置及びその学習方法
US5517667A (en) 1993-06-14 1996-05-14 Motorola, Inc. Neural network that does not require repetitive training
JP3430673B2 (ja) * 1994-10-19 2003-07-28 富士ゼロックス株式会社 色変換装置
JP6164639B2 (ja) 2013-05-23 2017-07-19 国立研究開発法人情報通信研究機構 ディープ・ニューラルネットワークの学習方法、及びコンピュータプログラム
US9483728B2 (en) * 2013-12-06 2016-11-01 International Business Machines Corporation Systems and methods for combining stochastic average gradient and hessian-free optimization for sequence training of deep neural networks
US20160267380A1 (en) * 2015-03-13 2016-09-15 Nuance Communications, Inc. Method and System for Training a Neural Network

Also Published As

Publication number Publication date
US11093817B2 (en) 2021-08-17
JP2018097612A (ja) 2018-06-21
US20180165571A1 (en) 2018-06-14

Similar Documents

Publication Publication Date Title
JP6784162B2 (ja) 情報処理装置、プログラム及び情報処理方法
US11003998B2 (en) Rule creation using MDP and inverse reinforcement learning
US20170193361A1 (en) Neural network training performance optimization framework
WO2017200597A1 (en) Progressive neural networks
JP6831347B2 (ja) 学習装置、学習方法および学習プログラム
CN115618941A (zh) 训练精炼的机器学习模型
CN106471525A (zh) 增强神经网络以生成附加输出
WO2015077557A1 (en) Generation of weights in machine learning
JP6870508B2 (ja) 学習プログラム、学習方法及び学習装置
CN114492279B (zh) 一种模拟集成电路的参数优化方法及系统
US10630995B2 (en) Video compressed sensing reconstruction method, system, electronic device, and storage medium
US20230222326A1 (en) Method and system for training a neural network model using gradual knowledge distillation
CN111144574B (zh) 使用指导者模型训练学习者模型的人工智能系统和方法
CN113919401A (zh) 基于星座图特征的调制类型识别方法、装置、计算机设备
US20190180182A1 (en) Activation Function Functional Block for Electronic Devices
CN112819151A (zh) 用于识别图像的方法和设备以及训练方法
US20180232152A1 (en) Gated end-to-end memory network
CN110765843A (zh) 人脸验证方法、装置、计算机设备及存储介质
US20220092406A1 (en) Meta-feature training models for machine learning algorithms
US20200202212A1 (en) Learning device, learning method, and computer-readable recording medium
US20220414461A1 (en) Inference method, information processing apparatus, and computer-readable recording medium
US20220318230A1 (en) Text to question-answer model system
JP7242590B2 (ja) 機械学習モデル圧縮システム、プルーニング方法及びプログラム
CN114154380A (zh) 火箭弹性运动方程系数的计算方法、装置、终端设备及介质
CN114676835A (zh) 基于模式的神经网络修剪

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190910

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200729

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200923

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201006

R150 Certificate of patent or registration of utility model

Ref document number: 6784162

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150