[go: up one dir, main page]

JP6042274B2 - ニューラルネットワーク最適化方法、ニューラルネットワーク最適化装置及びプログラム - Google Patents

ニューラルネットワーク最適化方法、ニューラルネットワーク最適化装置及びプログラム Download PDF

Info

Publication number
JP6042274B2
JP6042274B2 JP2013136241A JP2013136241A JP6042274B2 JP 6042274 B2 JP6042274 B2 JP 6042274B2 JP 2013136241 A JP2013136241 A JP 2013136241A JP 2013136241 A JP2013136241 A JP 2013136241A JP 6042274 B2 JP6042274 B2 JP 6042274B2
Authority
JP
Japan
Prior art keywords
neural network
cost
learning
unit
candidate
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
JP2013136241A
Other languages
English (en)
Other versions
JP2015011510A (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.)
Denso Corp
Denso IT Laboratory Inc
Original Assignee
Denso Corp
Denso IT Laboratory 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 Denso Corp, Denso IT Laboratory Inc filed Critical Denso Corp
Priority to JP2013136241A priority Critical patent/JP6042274B2/ja
Priority to US14/317,261 priority patent/US20150006444A1/en
Priority to DE102014212556.1A priority patent/DE102014212556A1/de
Publication of JP2015011510A publication Critical patent/JP2015011510A/ja
Application granted granted Critical
Publication of JP6042274B2 publication Critical patent/JP6042274B2/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/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)
  • Feedback Control In General (AREA)

Description

本発明は、教師あり学習におけるニューラルネットワークの学習に関する。ニューラルネットワークは、教師あり学習によって、クラス分類や任意の関数の関数近似を行うことができる。本発明は、特にニューラルネットワークの性能と計算時間を左右するパラメタであるユニット数の自動決定に関する。また、画像認識によく使われる畳み込みニューラルネットワーク(CNN: Convolutional Neural Networks)のフィルタ数の自動決定にも関連する。
従来から、ニューラルネットワークの構造を構築する方法が研究されている。非特許文献1に記載された方法は、多層ニューラルネットワークの各隠れ層のユニットを1つずつ除外することで最適なネットワーク構造を構築する方法である。最初のネットワーク構造は手で与える必要がある。初期ネットワークを充分に訓練した状態で、次の要領でユニットを削減する。すなわち、訓練データに対し、同じ層の異なるユニットの出力同士の相関を計算し、相関が最も高いユニットを1つ除外する。ユニットの除外の後、それ以外の重みの学習を再開する。再学習とユニットの除外をコスト関数が上昇に転じるまで繰り返す。
非特許文献2に記載された方法は、多層ニューラルネットワークの各隠れ層または入力層のユニットを1つずつ除外することで最適なネットワーク構造を構築する方法である。最初のネットワーク構造は手で与える必要がある。初期ネットワークを、訓練データに対するコスト関数がある値以下になるまで訓練した状態で、次の要領に従いユニットを削減する。訓練データに対し、着目するユニットを仮に除外したときのコスト関数を記録し、これを除外可能なすべてのユニットについて繰り返す。このうちコスト関数を最小にするものを選択し、そのユニットを除外する。ユニットの除外の後、それ以外の重みの学習を再開する。再学習とユニットの除外をコスト関数が上昇に転じるまで繰り返す。
非特許文献3に記載された方法は、指標の計算が近似式で表現されていることを除き、非特許文献2に記載された方法と同じである。
非特許文献4に記載された方法は、多層ニューラルネットワークの重みパラメタを1つずつ削減することで最適なネットワーク構造を構築するものである。コスト関数の二次微分に基づいた指標を評価することにより、不要な重みパラメタを特定する。ユニットの代わりに重みパラメタを除外する点を除けば上の3つの手法と同じ手順である。
また、特許文献1には、上記とは逆に、過学習状態が発生している場合、または、初期学習最大回数以内に多層ニューラルネットワーク手段が収束しない場合には、中間層出力ユニット数を増やしていき、中間層出力ユニット数を最適にする発明が記載されている。
非特許文献5には、畳み込みニューラルネットワーク(CNN: Convolutional Neural Networks)を使った画像認識手法が開示されている。
特許3757722号
X. Liang, "Removal of Hidden Neurons by Crosswise Propagation", Neural Information Processing- Letters and Reviews, Vol. 6, No 3, 2005. K. Suzuki, I. Horiba, and N. Sugie, "A Simple Neural Network Pruning Algorithm with Application to Filter Synthesis", Neural Processing Letters 13: 44-53, 2001. M. C. Mozer and P. Smolensky, "Skeletonization: A Technique for Trimming the Fat from a Network via Relevance Assessment", Advances in Neural Information Processing Systems (NIPS), pp. 107-115, 1988. Y. LeCun, J. S. Denker, and S. A. Solla, "Optimal Brain Damage", Advances in Neural Information Processing Systems (NIPS), pp. 598-605, 1990. Y. LeCun, B. Boser, J. S. Denker, D. Henderson, R. E. Howard, W. Hubbard, and L. D. Jackel, "Handwritten Digit Recognition with a Back-Paopagation Network", Advances in Neural Information Processing Systems (NIPS), pp. 396-404, 1990.
教師データが与えられたとき、どのような構造のニューラルネットワークが最良の汎化能力を与えるかを説明する理論を人類は手にしていない。非特許文献1〜3にあるような発見的方法がいくつか提案されてきた。これらに共通するものは、比較的多数の重みパラメタを持つネットワークを最初に訓練し、汎化能力が良くなると期待できる何らかの指標に従ってユニットを減らしていく方法である。非特許文献2、非特許文献3で用いられている指標は、ユニットを除去したときのニューラルネットワークのコストを最も小さくするユニットを除去するというものである。ユニットの除去後は、残った重みをそのまま引き継いで学習を再開する。なお、重みを引き継ぐことが、経験的に良い性能を与えることが知られている。これら「枝刈り」と呼ばれる方法は、枝刈りをしない方法と比較して良い汎化能力を持つことが多く、また計算時間が短縮される利点がある。しかしながら、学習用データにおいてコスト関数に対する寄与度の低いユニットを除外することは、必ずしも汎化能力を上昇させる保証はない。なぜなら、ユニットを削減する前と後とでは、コスト関数そのものが変化しており、ユニットの除去前の重みが、ユニット除去後の重みの初期値として適切でない可能性があるためである。
CNNにおいては各フィルタの要素が重みパラメタとなるが、従来、非特許文献4にあるように適応するフィルタの枚数は手で決められており、汎化能力向上の観点でフィルタの枚数を自動決定する方法は存在しなかった。
そこで、本発明は、汎化能力が高く、かつ、構造が簡単なニューラルネットワークの構造を求める方法を提供することを目的とする。
本発明のニューラルネットワーク最適化方法は、ニューラルネットワークの構造を最適化する方法であって、(1)ニューラルネットワークの初期構造を第1のニューラルネットワークとして入力するステップと、(2)与えられた第1のニューラルネットワークについて学習データを用いて学習を行うステップであって、評価データを用いて計算される前記第1のニューラルネットワークのコストが最小の第1のコストとなるまで学習を行うステップと、(3)前記第1のニューラルネットワークからランダムにユニットを削除して第2のニューラルネットワークを生成するステップと、(4)前記第2のニューラルネットワークについて学習データを用いて学習を行うステップであって、評価データを用いて計算される前記第2のニューラルネットワークのコストが最小の第2のコストとなるまで学習を行うステップと、(5)前記第1のコストと前記第2のコストとを比較するステップと、(6)前記第2のコストが前記第1のコストより小さいときには、前記第2のニューラルネットワークを前記第1のニューラルネットワーク、前記第2のコストを前記第1のコストとしてステップ(3)〜(5)を行い、前記第1のコストが前記第2のコストより小さいときには、ステップ(3)において異なる第2のニューラルネットワークを生成してステップ(4)(5)を行うステップと、(7)ステップ(6)において、前記第1のコストの方が前記第2のコストより小さいとの判断が所定回数連続したときに、前記第1のニューラルネットワークをニューラルネットワークの最適構造と決定するステップと、(8)前記ニューラルネットワークの最適構造を出力するステップとを備える。
ニューラルネットワークにおいて、どのような重みの初期値がより良い汎化能力を導くのかについての理論や知見は存在しない。したがって、非特許文献1乃至4に記載された方法のように、ユニットを除去して得られるニューラルネットワークのコストに基づいて、除去すべきユニットを選択することによって、必ずしも、より良い汎化能力を有するニューラルネットワークを得ることができる保証はなかった。分かりやすくいうと、あるユニット「a」を除外したときのコストが、別のユニット「b」を除外したときのコストより小さい場合、ニューロン「a」を除外したニューラルネットワークについて学習を行った方が、良い汎化能力が得られるのではないかという憶測によるもので、実際にそうなるとは限らない。本発明者らは、どのニューロンを除外すれば最終的に汎化能力が向上するのかは、実際にユニットの削除を行い、学習を再開し早期終了しないことには分からないという考え方に基づき、本発明を完成させた。本発明によれば、ニューラルネットワークの学習が過学習に転じた時点でランダムにユニットを削除し、学習の早期終了時における重み評価用のデータセットのコストが、ユニット削除前のニューラルネットワークのコストを下回るまで、ランダムなユニット削除と(重みを引き継ぐ形の)再学習を反復する(あるいは並列的に行って最もよいものを取る)方法により、構造を簡単にしつつ、汎化能力の高いニューラルネットワークを生成することができる。
本発明のニューラルネットワーク最適化方法は、請求項1に記載のニューラルネットワーク最適化方法において、(9)ステップ(7)で決定した前記第1のニューラルネットワークをニューラルネットワークの最適構造の第1の候補とし、(10)前記第1の候補が得られるまでの過程において前記ステップ(3)で生成された第2のニューラルネットワークのうちのいずれかを選択し、当該第2のニューラルネットワークの重みを乱数によって初期化したニューラルネットワークを初期構造とし、ステップ(2)〜(8)を行い、ニューラルネットワークの最適構造の第2の候補を決定するステップと、(11)前記第1の候補と前記第2の候補のコストを比較するステップと、(12)前記第2の候補のコストの方が前記第1の候補のコストより小さい場合には前記第2の候補を前記第1の候補としてステップ(10)(11)を行い、前記第1の候補のコストの方が前記第2の候補のコストより小さい場合には、ステップ(10)(11)を行い、(13)ステップ(12)において前記第1の候補のコストの方が前記第2の候補のコストより小さいとの判断が所定回数連続したときに、前記第1の候補をニューラルネットワークの最適構造と決定し、(14)前記ニューラルネットワークの最適構造を出力するステップとを備える。
ニューラルネットワークは初期値依存性のある問題であるため、同一のネットワークに対して複数回の乱数の初期化を試行することにより、初期値依存性の問題を軽減し、より汎化能力の高い構造を探索することができる。
本発明のニューラルネットワーク最適化方法は、ステップ(3)において、前記第1のニューラルネットワークを構成する各ユニットを所定の確率で削除してもよいし、また、複数のユニットを同時に削除してもよい。
ニューラルネットワークにおいては、あるユニットの信号は他の全ユニットと高次の関連を持っており、複数の(極論を言えば「すべての」)ユニットの信号がまとまって特徴が捉えられるので、これらを分離することが難しい。したがって、単一のユニットの過学習に対する影響の度合いを定量化することは極めて困難であり、非特許文献1乃至4のようにユニットを1つずつ削除する方法は、ニューラルネットワークの最適化に適しているとは言えなかった。所定の確率でユニットを削除する構成、または、複数のユニットを同時に削除する構成により、入力信号の特徴が通常複数個のユニットの信号によって保持されるニューラルネットワークにおいて、ユニットの削除を適切に行うことが可能となる。なお、非特許文献2はいわば総当たり法である。例えば、全体でN個のニューロンがあったとして、単一のニューロンを除外するだけならN回の試行で済むが、m個のニューロンを除外するにはNmのオーダーの試行回数が必要となり、組み合わせ爆発を起こす。つまり、非特許文献2の方法において、複数個のニューロンの除外を試すことは現実的に不可能であった。
本発明のニューラルネットワーク最適化方法において、前記ニューラルネットワークは、フィルタによる畳み込み演算とサブサンプリングを介して接続されるユニットを有する畳み込みニューラルネットワークであって、ステップ(3)において、前記第1のニューラルネットワークからランダムにユニットまたはフィルタを削除して第2のニューラルネットワークを生成する構成を備える。
従来、畳み込みニューラルネットワークの構造は手で与えられていたが、本発明により、畳み込みニューラルネットワークの構造を自動決定することができる。
本発明のニューラルネットワーク最適化装置は、ニューラルネットワークの構造を最適化する装置であって、ニューラルネットワークの初期構造を入力する入力部と、ニューラルネットワークの学習を行うための学習データおよび評価データを記憶した記憶部と、ニューラルネットワークの最適化の演算を行う演算処理部と、前記演算処理部による演算により得られたニューラルネットワークを出力する出力部とを備え、前記演算処理部は、入力されたニューラルネットワークに対し、前記評価データを用いて計算されるコストが最小のコストとなるまで、前記学習データを用いて学習を行う重み最適化部と、入力されたニューラルネットワークからランダムにユニットを削除して新たな構造のニューラルネットワークを生成するユニット削除部とを備え、前記ユニット削除部が前記重み最適化部にて学習を行ったニューラルネットワークからランダムにユニットを削除して新たな構造のニューラルネットワークを生成し、前記重み最適化部が新たな構造のニューラルネットワークの学習を行う処理を繰り返し、前記評価データを用いて計算されるニューラルネットワークのコストを低下させたニューラルネットワークを求める構成を有する。
本発明のプログラムは、ニューラルネットワークの構造を最適化するためのプログラムであって、コンピュータに、(1)ニューラルネットワークの初期構造を第1のニューラルネットワークとして入力するステップと、(2)与えられた第1のニューラルネットワークについて学習データを用いて学習を行うステップであって、評価データを用いて計算される前記第1のニューラルネットワークのコストが最小の第1のコストとなるまで学習を行うステップと、(3)前記第1のニューラルネットワークからランダムにユニットを削除して第2のニューラルネットワークを生成するステップと、(4)前記第2のニューラルネットワークについて学習データを用いて学習を行うステップであって、評価データを用いて計算される前記第2のニューラルネットワークのコストが最小の第2のコストとなるまで学習を行うステップと、(5)前記第1のコストと前記第2のコストとを比較するステップと、(6)前記第2のコストが前記第1のコストより小さいときには、前記第2のニューラルネットワークを前記第1のニューラルネットワーク、前記第2のコストを前記第1のコストとしてステップ(3)〜(5)を行い、前記第1のコストが前記第2のコストより小さいときには、ステップ(3)において異なる第2のニューラルネットワークを生成してステップ(4)(5)を行うステップと、(7)ステップ(6)において、前記第1のコストの方が前記第2のコストより小さいとの判断が所定回数連続したときに、前記第1のニューラルネットワークをニューラルネットワークの最適構造と決定するステップと、(8)前記ニューラルネットワークの最適構造を出力するステップとを実行させる。
本発明のニューラルネットワーク最適化方法によれば、汎化能力を向上させ、計算量を減らしたネットワーク構造が自動決定できるという効果がある。
第1の実施の形態のニューラルネットワーク最適化方法の概要を示す図である。 ニューラルネットワークの学習において、重み更新の反復回数とコスト評価値との関係を示す図である。 (a)はユニットを削除される前のニューラルネットワークを示す図である。(b)ユニットが削除されたニューラルネットワークを示す図である。 第1の実施の形態のニューラルネットワーク最適化装置の構成を示す図である。 第1の実施の形態のニューラルネットワーク最適化方法を示す図である。 第1の実施の形態における重み最適化の方法を示す図である。 第2の実施の形態のニューラルネットワーク最適化方法の概要を示す図である。 第2の実施の形態のニューラルネットワーク最適化方法を示す図である。 畳み込みニューラルネットワークについて説明する図である。 第3の実施の形態のニューラルネットワーク最適化方法を示す図である。 第4の実施の形態のニューラルネットワーク最適化方法を示す図である。 (a)は、実験に用いた重み更新用データセットと重み評価用データセットを示す図である。(b)は、実験において最初に与えたニューラルネットワークの初期構造を示す図である。 実験結果を示す図である。
以下、本発明の実施の形態のニューラルネットワーク最適化方法について、図面を参照しながら説明する。
(第1の実施の形態)
図1は、第1の実施の形態のニューラルネットワーク最適化方法の概要を説明するための図である。本実施の形態のニューラルネットワーク最適化方法は、最初に、ニューラルネットワークの初期構造を入力し、この初期構造の中の中間層のユニットを削除して最適なニューラルネットワークを求める方法である。なお、ユニットは、ニューラルネットワークを構成する要素であり、ニューロンともいう。
本実施の形態において対象とするニューラルネットワークは多層ニューラルネットワークであり、入力層から出力層まで順番に信号が伝搬するフィードフォワード型のネットワークである。層をまたいだユニット間の結合があってもよいし、ある層の全ユニットとその次の層の全ユニットが全て結合していてもよいし、逆に一部が結合していなくてもよい。初期構造として与えるニューラルネットワークは、処理の過程でユニットを削除して適切な構造が得られるようにするために、各層のユニット数を十分に大きな値に設定する。
図1では、初期構造は「構造0」と記載している。初期構造においては、各ユニット間のつながりの重みは平均が0の正規分布に従う乱数によって初期化することとする。本実施の形態のニューラルネットワーク最適化方法において用いる訓練データは、ニューラルネットワークの入力となる多次元ベクトルと、それに対応した出力となる多次元ベクトルまたはスカラーの組が多数与えられているものとする。訓練データは、重み更新用データセットと評価用データセットに分割しておく。重み更新用データセットと評価用データセットのサイズの比率は任意であるが、1対1程度がよい。
本実施の形態では、まず、重み更新用データセットを用いて「構造0」のニューラルネットの学習を行う。ここでニューラルネットワークの学習について説明する。ニューラルネットワークの学習は、誤差逆伝搬法(バックプロパゲーション)という公知の方法を用いて行うことができる。学習を行うことにより、ニューラルネットワークの各ユニット間のつながりの重みが更新され、重み更新用データの入力に対する出力の正解率が高くなり、重み更新用データに対するコストが低下する。
ただし、重み更新用データに対するコストの低減とニューラルネットワークの汎化能力の向上とは必ずしも一致しない。ニューラルネットワークの汎化能力は未知のデータが入力されたときに適切な出力を行えることであり、重み更新用データについて良い結果が得られることとは異なるからである。
図2は、ニューラルネットワークの学習において、重み更新の反復回数とコスト評価値との関係を示す図である。図2に示すとおり、重み更新の反復回数が増加するにしたがって、重み更新用データセットのコストは低減していく。しかし、重み評価用のデータセットのコストは、ある時点まで減少するが、その後は増加するという現象が起こる。これは、「過学習」と呼ばれ、学習をすればするほど汎化能力が悪くなる現象である。この現象は、ユニット数が多いニューラルネットワークで起きやすい。
本実施の形態では、ニューラルネットワークの学習を行う際には、重み更新用データセットを用いてニューラルネットワークの学習を行うのと同時に、更新されたニューラルネットワークに対して重み評価用データセットを用いてコスト計算を行う。そして、重み評価用データセットを用いて求めたコストが増加し始めたところで、学習を終了する。
図1に戻って、本実施の形態のニューラルネットワーク最適化の概要について説明する。前述した重み更新用データセットを用いて「構造0」のニューラルネットワークの学習を行い、重み評価用データセットを用いて計算したコストが最小値「E0」となったところで学習を終了する。重み更新用データのコストがまだ減少しているにもかかわらず学習を終了するので「早期終了」ともいう。ここまでの過程により、最初に与えられた「構造0」のニューラルネットワークにおいて、重みが更新されたニューラルネットワークが生成される。
次に、本実施の形態では、このニューラルネットワークからランダムに中間層のユニットを削除する。図1においては、ニューロン(Nueron)を削除(kill)するという意味で、「NK(Neuron Killing)」と記載している。なお、ユニットをランダムに削除する方法として、本実施の形態では、各ユニットの確率pを与えておくことで、削除すべきユニットを確率pで決定する。従って、ニューラルネットワークから同時に複数のユニットが削除されることもあり得る。なお、削除すべきユニットが確率pによって決定されなかった場合には、乱数によって削除すべきユニットを決定してもよい。
図3(a)及び図3(b)は、ユニットの削除について説明するための図である。図3(a)は、重み更新用データによる学習が行われた2−4−4−4−2の構造のニューラルネットワークを示している。つまり、このネットワークの各ユニット間のつながりの重みは、重み更新用データによって更新され、コストが最小になるようにされている。
このニューラルネットワークからランダムにユニットを削除するが、図3(a)では一例として、「x」が付されたユニットが削除される場合を示している。「x」が付されたユニットを削除すると、図3(b)に示すように、2−3−4−3−2の構造のニューラルネットワークが生成される。ユニットを削除することにより生成されるニューラルネットワークは、図3(a)において「x」が付されていたユニットがなくなると共に、当該ユニットへのつながりもなくなる。ただし、その他のユニット間のつながりについては、学習された重みがそのまま残っている。
図1において、「構造0」のニューラルネットワークからランダムにユニットを削除して生成したニューラルネットワークが「構造1」である。次に、「構造0」の学習と同様に、「構造1」のニューラルネットワークの学習を行う。ここで、学習を開始する際の「構造1」のニューラルネットワークは、「構造0」の学習によって更新された重みをそのまま引き継いだニューラルネットワークである。この「構造1」のニューラルネットワークに対して、重み更新用データセットを用いて重みの更新を行い、重み評価用データセットを用いて計算されたニューラルネットワークのコストが最小値「E1」になったところで学習を終了する。
次に、「構造0」のニューラルネットワークの学習後のコスト「E0」と「構造1」のニューラルネットワークの学習後のコスト「E1」とを比較する。図1に示す例では、「構造1」のニューラルネットワークの学習後のコストの方が小さいので、ユニットを削除することによって、ニューラルネットワークのコストを低減し、汎化能力を高めることに成功したことが分かる。
続いて、本実施の形態では、「構造1」のニューラルネットワークからランダムにユニットを削除し、さらに学習を行う。図1の例では、「構造2」のニューラルネットワークの学習を行って得られたコスト「E2」と「構造1」のニューラルネットワークのコスト「E1」とを比較すると、コスト「E1」の方がコスト「E2」より小さい。つまり、「構造2」のニューラルネットワークの汎化能力は、「構造1」のニューラルネットワークよりも悪いので、「構造2」は採用しない。この場合、「構造1」のニューラルネットワークから再びランダムにユニットを削除し、「構造2−1」のニューラルネットワークを生成し、学習を行う。この結果、「構造2−1」のニューラルネットワークのコスト「E2−1」は、構造1のコスト「E1」より小さくなっているので、「構造2−1」のニューラルネットワークは汎化能力を高めることに成功しており、次に、「構造2−1」のニューラルネットワークからランダムにユニットを削除して学習を行う。
以上の動作を繰り返し行い、最終的に、ランダムにユニットを削除した「構造5」から「構造5−B」のように、学習によって得られたコスト「E5」〜「E5−B」がいずれも、ユニットを削除する前の「構造4−2」のニューラルネットワークのコスト「E4−2」より小さくならない場合には、「構造4−2」を最適なニューラルネットワークであると決定する。
次に、本実施の形態のニューラルネットワーク最適化方法及び装置の詳細な構成について説明する。
図4は、ニューラルネットワーク最適化装置1の構成を示す図である。ニューラルネットワーク最適化装置1は、ニューラルネットワークの初期構造を入力する入力部10と、ニューラルネットワーク最適化の演算を行う演算処理部11と、求めたニューラルネットワークを出力する出力部14とを有している。また、ニューラルネットワーク最適化装置1は、記憶部15を有しており、訓練データとして、重み更新用データセットと重み評価用データセットを記憶している。
なお、図4に示すニューラルネットワーク最適化装置1は、CPU、RAM、ROM等を有するコンピュータによって構成される。入力部10、演算処理部11、出力部14が実行する動作を記述したプログラムをROMなどに記憶しておき、CPUが当該プログラムを読み出して実行することにより、ニューラルネットワーク最適化装置1を実現することができる。このようなプログラムも本発明の範囲に含まれる。
図5は、本実施の形態のニューラルネットワーク最適化方法を示すフローチャートである。まず、ニューラルネットワーク最適化装置1に対してニューラルネットワークの初期構造を入力する(S10)。ここで与えるニューラルネットワークの初期構造をA0、重みをW0とする。また、ニューラルネットワークの学習を終了する条件として、回数Bを入力する(S10)。回数Bは、ユニットをランダムに削除して新しいニューラルネットワークを生成した結果、コストがより小さくなるニューラルネットワークが連続して見つからなかったときに、何回で学習を終了するかを設定するものである。さらに、ユニットをランダムに削除する際の確率p(0〜1の数字)を入力する。確率pとして大きい値を設定すれば、一度に削除されるユニット数が多くなり、小さい値を設定すれば一度に削除されるユニット数が少なくなる。
次に、ニューラルネットワーク最適化装置1は、ユニットの削除回数を示す変数sに値0を設定する初期化を行った上で、重み最適化を行う。重み最適化部12は、ネットワーク構造AS、重みの初期値WSを入力として、重み最適化を行い、最適な重みWSとそのコスト関数の値ESを出力する(S11)。この処理については、後に、図6を参照して詳述する。
ニューラルネットワーク最適化装置1は、最適な重みWSとそのコスト関数の値ESが求められると、ユニット数を削減してさらに学習を続けるか否かを判断する。具体的には、まず、s=0か、または、ES<ES-1かどうかを判断する(S12)。
s=0か否かの判断は、ニューラルネットワークが最初に初期構造として与えたものであるかどうかを判断するものである。s=0の場合には、ニューラルネットワークが最初に初期構造として与えたものなので(図1でいう構造0)、コストE0と比較する対象がまだない。この場合には、変数sをインクリメントすると共に、変数bに値Bを代入して初期化し、ユニットをランダムに削除するステップS14に移行する。
S<ES-1を満たすかどうかの判断は、ユニットを削除して生成したニューラルネットワークの学習後のコストESがユニットを削除する前のニューラルネットワークのコストES-1より小さいかどうかを判断するものである。ES<ES-1を満たす場合には、変数sをインクリメントする共に、変数bにBを代入して初期化し、ユニットをランダムに削除するステップS14に移行する。
ステップS14では、ニューラルネットワークAS-1の各ユニットを確率pで削除してニューラルネットワークASを生成する(S14)。また、ニューラルネットワークASの重みWSにニューラルネットワークAS-1の重みWS-1を代入する。これにより、ニューラルネットワークAS-1は、ユニットを削除する前のニューラルネットワークASの重みをそのまま引き継ぐことができる。
続いて、ニューラルネットワーク最適化装置1は、ユニットを削除して生成したニューラルネットワークASについて重み最適化を行い(S11)、ニューラルネットワークASのコストESと、ユニットを削除する前のニューラルネットワークAS-1のコストES-1とを比較し(S12)、以下、同じ処理を繰り返す。
ステップS12において、s=0またはES<ES-1のいずれも満たさない場合には(S12でNO)、ユニットを削除して生成したニューラルネットワークASの学習後のコストESがユニットを削除する前のニューラルネットワークAS-1のコストES-1より小さくないこと、すなわち、ユニットを削除する前のニューラルネットワークの方が汎化能力が高いことを意味する。この場合には、変数bをデクリメントし、変数b=0か否かを判定する(S13)。b=0と判定された場合には(S13でYES)、それまでに求めたネットワーク構造A0、A1、・・・AS-1とそれに対応する重みW0、W1、・・・WS-1を出力する(S15)。
S<ES-1を満たしてニューラルネットワークASからのユニットの削除を開始する際に、変数bは値Bに初期化されている。ユニットを削除したニューラルネットワークのコストが小さくならなかった場合に(S12でNO)、変数bが0になるまでデクリメントしていくことにより、ランダムにユニットを削除するというステップをB回行い、B回連続してコストESを減らすことができなかった場合にニューラルネットワークの最適化を終了するという処理を実現できる。つまり、変数bはこれを実現するカウンタであり、値Bはその最大値である。
図6は、重み最適化の動作を示すフローチャートである。図6を参照して重み最適化の動作について説明する。
重み最適化部12は、ニューラルネットワーク構造Aとその重みWと定数Mの入力を受ける(S20)。重み最適化部12は、重みW0に重みWを初期値として代入する(S21)。続いて、変数tに0を、変数mに値Mをそれぞれ代入して初期化を行った後、重み評価用データセットS2を用いて、ニューラルネットワークAのコスト関数評価を行い、コストc(0)を求める(S22)。
次に、重み更新用データセットS1を用いて、誤差逆伝搬法によりニューラルネットワークAの重みWtを更新する(S23)。次に、重み最適化部12は、変数tをインクリメントし、重み評価用データセットS2を用いて、重みWtが更新されたニューラルネットワークAのコスト関数評価を行い、コストc(t)を求める(S24)。
続いて、求めたコストc(t)がこれまでに求めたコストc(0)、c(1)、・・・c(t−1)の中で最小かどうかを判定する(S25)。この判定の結果、コストc(t)が最小である場合には(S25でYES)、変数mに値Mを代入して初期化した後、重みWtを更新するステップS23に移行する。コストc(t)が最小でなかった場合には(S25でNO)、変数mをデクリメントし、変数mが0になったか否かを判定する(S26)。変数mが0でない場合には(S26でNO)、重みWtを更新するステップS23に移行する。変数mが0である場合には(S26でYES)、重みWtとコストc(t)を出力し(S27)、重み最適化の処理を終了する。以上、第1の実施の形態のニューラルネットワーク最適化方法及び装置について説明した。
ニューラルネットワークに限らず、未知のパラメタ数が、真のデータの分布を記述するのに必要なパラメタ数よりも多い場合、訓練データに対する過剰適合(過学習)が発生する。多層ニューラルネットワークでは、パラメタの個数はユニットの個数によって制御されるが、従来、各層におけるユニットの数を適切に決めることは困難であった。本実施の形態のニューラルネットワーク最適化方法によれば、ニューラルネットワークの初期構造を手で与え、学習の過程で過学習に陥った時点で、ユニットを除外する(パラメタ数を減らす)ため、ニューラルネットワーク最適化の方法として、理に適っている。
ニューラルネットワークにおいては、単一のユニットの過学習に対する影響の度合いを定量化することは極めて困難である。なぜなら、あるユニットの信号は他の全ユニットと高次の関連を持っているため、これを分離することが難しいからである。これは入力信号の特徴は、通常複数個のユニットの信号によって保持されると言い換えることができる。冗長な特徴表現をネットワークから除外するには、複数個のユニットを同時に削除する本実施の形態で説明した方法が有効である。
本実施の形態のニューラルネットワーク最適化方法は、ユニットの除外の後で、学習を行うと共に重み評価用データセットを用いてコストを評価し、コストが増加した時点で終了する構成により、重み評価用データセットのコスト関数が減少することを明示的に確約する方法である。このため、この方法を適用することで、(1)汎化能力を向上させ、(2)計算量を減らし、(3)生成されたネットワーク構造が自動決定されるという効果がある。特に、良い汎化能力を与える多層ニューラルネットワークのユニット数の調整は、各層のユニット数の組み合わせが膨大になるため、手で設定することは極めて困難であったから、上記(3)の効果は大きい。
また、ユニット数の削減を確率pの二項分布に従って行うようにしたことにより、異なる複数のユニットの組み合わせの除外を試行できると共に、単純な分布とすることで、追加のハイパーパラメタが少なく済むというメリットがある。
(第2の実施の形態)
次に、本発明の第2の実施の形態のニューラルネットワーク最適化方法について説明する。ニューラルネットワークは初期値依存性のある問題であるため、第2の実施の形態においては、削除するユニットをランダムに選んで複数回試行する(ステップS12の判断でNOの場合の動作)のと同様に、同一のネットワークに対し、複数回の乱数の初期化を試行する。これにより、初期値依存性の問題を軽減することを目的としたものである。
図7は、第2の実施の形態のニューラルネットワーク最適化方法の概要を示す図である。第2の実施の形態のニューラルネットワーク最適化方法の基本的な処理の流れは、第1の実施の形態と同じである。第2の実施の形態では、「構造4−2」のニューラルネットワークがコストE4−2を最小すると求められたところで処理を終了するのではなく、何段階か前の構造に戻って(図7に示す例では、2段階前の「構造2−1」に戻って)、当該構造のニューラルネットワークの初期値をランダムに変えて、再度、ユニットを削除して学習を行う処理を行う。
続いて、第2の実施の形態のニューラルネットワーク最適化方法の詳細な説明に移る。第2の実施の形態のニューラルネットワーク最適化方法を実行するニューラルネットワーク最適化装置の構成は、第1の実施の形態のニューラルネットワーク最適化装置1と同じである。
図8は、第2の実施の形態のニューラルネットワーク最適化方法を示すフローチャートである。まず、ニューラルネットワーク最適化装置に対してニューラルネットワークの初期構造を入力する(S30)。ここで与えるニューラルネットワークの初期構造をA(0)とする。また、ニューラルネットワークの学習を終了する条件としての回数Fと、初期値を変えて最適化を行う場合に何段階戻るかを決める値qと、値Bと、ユニットを削除する確率pを入力する(S30)。ニューラルネットワーク最適化装置は、重みW(0)を乱数により初期化する(S31)。
次に、ニューラルネットワーク最適化装置は、ニューラルネットワークの構造A(0)と重みの初期値W(0)と値Bと確率pを用いて、ユニット数の最適化を行う(S32)。なお、図面においては、一般的な表現として入力をW(r)、A(r)と表現している。ここで行うユニット数の最適化は、第1の実施の形態において図5を用いて説明した方法によって行う。これにより、ニューラルネットワーク最適化装置は、ニューラルネットワーク構造A0、A1、・・・AS-1と、それらの重みW0、W1、・・・WS-1と、コスト関数の値ES-1とを出力する(S32)。そこで、ニューラルネットワーク最適化装置は、求めたニューラルネットワーク構造AS-1とその重みWS-1を、ニューラルネットワークA(r)とW(r)にそれぞれ代入し、コストES-1をE(r)に代入する。
ニューラルネットワーク最適化装置は、初期値を変えてさらに学習を続けるか否かを判断する。具体的には、まず、r=0か、または、E(r)<E(r-1)かどうかを判断する(S33)。
r=0か否かの判断は、ニューラルネットワークが初期値を変えないで学習して得られたものであるかどうかを判断するものである。r=0の場合には、ニューラルネットワークが初期値を変えない学習によって得られたもの(第1の実施の形態の方法で最初に最適化構造を求めた段階)なので、コストE(r)と比較する対象がまだない。この場合には、変数rをインクリメントすると共に、変数fに値Fを代入して初期化し、何段階か前のニューラルネットワークの初期値を乱数により初期化するステップS35に移行する。
(r)<E(r-1)を満たすかどうかの判断は、初期値を変えて学習して得られたニューラルネットワークのコストE(r)が、その前のニューラルネットワークのコストE(r-1)より小さいかどうかを判断するものである。E(r)<E(r-1)を満たす場合には、変数rをインクリメントする共に、変数fに値Fを代入して初期化し、何段階か前のニューラルネットワークの初期値を乱数により初期化するステップS35に移行する。
ステップS35では、ニューラルネットワークA(r)の何段階か前のニューラルネットワークAceil(q(s-1))をニューラルネットワークA(r)に代入し、その初期値W(r)を乱数により初期化する(S35)。ここで、ceilは、切り上げた値を返す関数である。ceil(q(s−1))によって、s−1に対して値q(0<q<1)を乗じて得られた値を切り上げた自然数が得られる。例えば、s−1が「6」、qが「0.6」であった場合、ceil(6×0.6)=ceil(3.6)=4となる。
ステップS33において、r=0またはE(r)<E(r-1)のいずれも満たさない場合には(S33でNO)、初期値をランダムに変えて行った学習後のニューラルネットワークのコストE(r)が、その前のニューラルネットワークのコストE(r-1)より小さくないこと、すなわち、初期値をランダムに変える前のニューラルネットワークの方が汎化能力が高いことを意味する。この場合には、変数fをデクリメントし、変数f=0か否かを判定する(S34)。f=0と判定され場合には(S34でYES)、求めたネットワーク構造A(r-1)とそれに対応する重みW(r-1)を出力する(S36)。
(r)<E(r-1)を満たし(S33でYES)、初期値を変更して再学習を開始する前に、変数fは値Fに初期化されている。初期値を変えて学習したニューラルネットワークのコストE(r)が小さくならなかった場合に(S33でNO)、変数fが0になるまでデクリメントしていくことにより、コストを減らすことができなかった場合に、初期値を変更するというステップをF回行い、F回連続してコストを減らすことができなかった場合にニューラルネットワークの最適化を終了する処理を実現できる。以上、第2の実施の形態のニューラルネットワーク最適化方法について説明した。
第2の実施の形態のニューラルネットワーク最適化方法は、初期値を乱数によって変更して、第1の実施の形態で説明したユニット数の最適化の学習を繰り返し行うことにより、ニューラルネットワークの初期値依存性の問題を解消し、汎化能力の高いニューラルネットワークの構造を構築することができる。
(第3の実施の形態)
次に、本発明の第3の実施の形態のニューラルネットワーク最適化方法について説明する。第3の実施の形態では、最適化を行うニューラルネットワークとして、畳み込みニューラルネットワークを対象としている。まず、畳み込みニューラルネットワークについて説明する。
図9は、畳み込みニューラルネットワークの構造の例を示す図である。入力は、2次元配列の画像である。訓練データについては、前述の方法と同様に、ニューラルネットワークの入力となる画像と、それに対応した出力となる画像、多次元ベクトルまたはスカラーの組が多数与えられているものとする。
図9において、最初の演算は、入力画像とフィルタの畳み込み演算である。フィルタとは、n(pix)×n(pix)の要素を持つ重みであり(バイアスを加えても良い)、誤差逆伝搬法により学習することで、識別に有効な特徴を抽出できるようになる。
次の演算は、サブサンプリングである。これをプーリング(pooling)ともいう。プーリングとは、上述の二次元配列を、次のやり方でそれぞれ縮小させ、シグモイド関数などの活性化関数(activation function)によって非線形写像を施す処理である。まず、上述の二次元配列を2×2のタイルに分割し、各タイルの4つの信号の平均値を取る。この平均の処理により、上述の二次元配列はその4分の1のサイズに縮小される。次にこの縮小された二次元配列のそれぞれの要素に対し、シグモイド関数などの活性化関数(activation function)による非線形変換を行う。プーリングにより画像の位置に関する特徴を失わずに情報を縮小することが可能となる。このように畳み込みとプーリングを繰り返し行って生成された二次元配列から先は(図9において「standard neural network」と記載されたところ)、通常のニューラルネットワークと同様の構造を有する。
本実施の形態では、説明の便宜上、プーリングの結果得られた2次元配列のユニットを「パネル」と呼ぶこととする。パネルがフィルタの枚数分だけ集まったものが、畳み込みニューラルネットワークにおいて1つの隠れ層を形成する。
続いて、第3の実施の形態のニューラルネットワーク最適化方法について説明する。第3の実施の形態のニューラルネットワーク最適化方法は、最適化の対象が畳み込みニューラルネットワークである点を除いては、第1の実施の形態と同じである。
図10は、第3の実施の形態のニューラルネットワーク最適化方法を示すフローチャートである。第3の実施の形態のニューラルネットワーク最適化方法は、第1の実施の形態と同じであるが、ステップS44において、確率pで、ユニットを削除することに加えて、パネルを削除する点が異なる。
畳み込みニューラルネットワークにおけるパネルの枚数は、従来手で与えられていたが本実施の形態によれば、ニューラルネットワーク最適化方法を畳み込みニューラルネットワークに適用し、汎化能力が高くかつ計算量の少ない畳み込みニューラルネットワークを自動決定できる。
また、ユニットと同時にパネルを除外することで、特定のユニットとパネルが関連する特徴量抽出の冗長性をネットワークから除外することができる。
(第4の実施の形態)
第4の実施の形態のニューラルネットワーク最適化方法は、第2の実施の形態のニューラルネットワーク最適化方法を畳み込みニューラルネットワークに適用したものである。
図11は、第4の実施の形態のニューラルネットワーク最適化方法を示すフローチャートである。第4の実施の形態のニューラルネットワーク最適化方法は、第2の実施の形態と同じであるが、ステップS52において、ユニット数に加えてパネル数の最適化を行う点が異なる。ユニット数及びパネル数の最適化は、第3の実施の形態において図10を用いて説明した方法を採用することができる。
第4の実施の形態も、第3の実施の形態と同様に、汎化能力が高くかつ計算量の少ない畳み込みニューラルネットワークを自動決定できるという効果を有する。
以上、本発明のニューラルネットワーク最適化方法について、実施の形態を挙げて詳細に説明したが、本発明のニューラルネットワーク最適化方法は、上記した実施の形態に限定されるものではない。
上記した実施の形態では、中間層のユニットを削除する例について説明したが、削除するユニットに入力層のユニットが含まれていてもよい。入力層のユニットの除外は、モデル選択の一種と考えられ、入力信号が冗長性を持つ場合、識別に必要な信号のみを取り出すことが可能となる。すなわち、入力データ自体に、識別に寄与しない情報が多く含まれる場合、中間層に加えて入力層のニューロンを削除することには効果があると考えられる。
上記した第3の実施の形態及び第4の実施の形態では、パネルを削除する例を挙げて説明したが、パネルに代えて、またはパネルと共にフィルタを削除することとしてもよい。図9に示すように畳み込み層が多重であった場合、パネルを削除することとフィルタを削除することとは異なる結果となる。パネルを削除すると削除されたパネルにつながるすべてのフィルタは自ずと除去される。これに対し、フィルタを削除するとパネルにつながるフィルタのみが削除される。パネルにつながるすべてのフィルタが削除されれば、そのパネルを消すことと等価となるが、フィルタを削除する構成とするとパネルは削除されにくくなる。このためパネルを削除する場合と比較すると演算量は大きくなる傾向にあるが、パネルの独立性を高めることにより汎化能力が高くなることが多い。
次に、本発明のニューラルネットワーク最適化方法を用いて実験を行った結果を示す。
図12(a)は、実験に用いた重み更新用データセットと重み評価用データセットである。それぞれのデータセットには、識別境界によって識別されるクラス1とクラス2のデータが100点ずつ用意されている。
図12(b)は、実験において最初に与えたニューラルネットワークの初期構造を示す図である。入力層は、クラス1とクラス2の二つがあるので2つのユニットとした。出力層は、クラス1かクラス2のいずれに識別されるかを表すので、1つのユニットとした。入力層と出力層の間の隠れ層(中間層)は4層とし、各隠れ層のユニット数を150とした。上に示したような条件で、第2の実施の形態で説明した方法によりニューラルネットワークの最適化を行った。
図13は、実験結果を示す図である。図の左側の「構造」が「2−150−150−150−150−1」のカラムは、同構造のニューラルネットワークにおいて重みを更新した結果を示す。図13において識別関数は、実線が真の識別関数を示し、点線が求められた識別関数を示す。図13に示されるとおり、左側の谷の部分で正しく識別できていないことが分かる。このときの評価用データのコストは、0.1968であった。
第2の実施の形態で説明した方法により、ランダムにユニットを削除して学習を行うという処理を繰り返し行うことにより、最終的に、図の右側のカラムに示すように、「2−8−9−13−7−1」という構造が得られた。このときの識別関数は、ほぼ真の識別関数と一致している。このときの評価用データのコストは0.0211であり、初期構造のニューラルネットワークよりも大幅に低下した。また、積和演算回数も初期構造では、68551であったのが341にまで低下し、計算量も大幅に減らすことができた。
以上のとおり、本発明はニューラルネットワークの最適なユニット数を求め、構造を最適化することができ、画像や文字の認識や、時系列データの予測などの様々な用途に有用である。
1 ニューラルネットワーク最適化装置
10 入力部
11 演算処理部
12 重み最適化部
13 ユニット削除部
14 出力部
15 記憶部

Claims (7)

  1. ニューラルネットワークの構造を最適化する方法であって、
    (1)ニューラルネットワークの初期構造を第1のニューラルネットワークとして入力するステップと、
    (2)与えられた第1のニューラルネットワークについて学習データを用いて学習を行うステップであって、評価データを用いて計算される前記第1のニューラルネットワークのコストが最小の第1のコストとなるまで学習を行うステップと、
    (3)前記第1のニューラルネットワークからランダムにユニットを削除して第2のニューラルネットワークを生成するステップと、
    (4)前記第2のニューラルネットワークについて学習データを用いて学習を行うステップであって、評価データを用いて計算される前記第2のニューラルネットワークのコストが最小の第2のコストとなるまで学習を行うステップと、
    (5)前記第1のコストと前記第2のコストとを比較するステップと、
    (6)前記第2のコストが前記第1のコストより小さいときには、前記第2のニューラルネットワークを前記第1のニューラルネットワーク、前記第2のコストを前記第1のコストとしてステップ(3)〜(5)を行い、前記第1のコストが前記第2のコストより小さいときには、ステップ(3)において異なる第2のニューラルネットワークを生成してステップ(4)(5)を行うステップと、
    (7)ステップ(6)において、前記第1のコストの方が前記第2のコストより小さいとの判断が所定回数連続したときに、前記第1のニューラルネットワークをニューラルネットワークの最適構造と決定するステップと、
    (8)前記ニューラルネットワークの最適構造を出力するステップと、
    を備えるニューラルネットワーク最適化方法。
  2. 請求項1に記載のニューラルネットワーク最適化方法において、
    (9)ステップ(7)で決定した前記第1のニューラルネットワークをニューラルネットワークの最適構造の第1の候補とし、
    (10)前記第1の候補が得られるまでの過程において前記ステップ(3)で生成された第2のニューラルネットワークのうちのいずれかを選択し、当該第2のニューラルネットワークの重みを乱数によって初期化したニューラルネットワークを初期構造とし、ステップ(2)〜(8)を行い、ニューラルネットワークの最適構造の第2の候補を決定するステップと、
    (11)前記第1の候補と前記第2の候補のコストを比較するステップと、
    (12)前記第2の候補のコストの方が前記第1の候補のコストより小さい場合には前記第2の候補を前記第1の候補としてステップ(10)(11)を行い、前記第1の候補のコストの方が前記第2の候補のコストより小さい場合には、ステップ(10)(11)を行い、
    (13)ステップ(12)において前記第1の候補のコストの方が前記第2の候補のコストより小さいとの判断が所定回数連続したときに、前記第1の候補をニューラルネットワークの最適構造と決定し、
    (14)前記ニューラルネットワークの最適構造を出力するステップと、
    を備えるニューラルネットワーク最適化方法。
  3. ステップ(3)において、前記第1のニューラルネットワークを構成する各ユニットを所定の確率で削除する請求項1または2に記載のニューラルネットワーク最適化方法。
  4. ステップ(3)において、複数のユニットを同時に削除する請求項1乃至3のいずれかに記載のニューラルネットワーク最適化方法。
  5. 前記ニューラルネットワークは、フィルタによる畳み込み演算とサブサンプリングを介して接続されるユニットを有する畳み込みニューラルネットワークであって、
    ステップ(3)において、前記第1のニューラルネットワークからランダムにユニットまたはフィルタを削除して第2のニューラルネットワークを生成する請求項1乃至4のいずれかに記載のニューラルネットワーク最適化方法。
  6. ニューラルネットワークの構造を最適化する装置であって、
    ニューラルネットワークの初期構造を入力する入力部と、
    ニューラルネットワークの学習を行うための学習データおよび評価データを記憶した記憶部と、
    ニューラルネットワークの最適化の演算を行う演算処理部と、
    前記演算処理部による演算により得られたニューラルネットワークを出力する出力部と、
    を備え、
    前記演算処理部は、
    入力されたニューラルネットワークに対し、前記評価データを用いて計算されるコストが最小のコストとなるまで、前記学習データを用いて学習を行う重み最適化部と、
    入力されたニューラルネットワークからランダムにユニットを削除して新たな構造のニューラルネットワークを生成するユニット削除部と、を備え、
    前記ユニット削除部が前記重み最適化部にて学習を行ったニューラルネットワークからランダムにユニットを削除して新たな構造のニューラルネットワークを生成し、前記重み最適化部が新たな構造のニューラルネットワークの学習を行う処理を繰り返し、前記評価データを用いて計算されるニューラルネットワークのコストを低下させたニューラルネットワークを求めるニューラルネットワーク最適化装置。
  7. ニューラルネットワークの構造を最適化するためのプログラムであって、コンピュータに、
    (1)ニューラルネットワークの初期構造を第1のニューラルネットワークとして入力するステップと、
    (2)与えられた第1のニューラルネットワークについて学習データを用いて学習を行うステップであって、評価データを用いて計算される前記第1のニューラルネットワークのコストが最小の第1のコストとなるまで学習を行うステップと、
    (3)前記第1のニューラルネットワークからランダムにユニットを削除して第2のニューラルネットワークを生成するステップと、
    (4)前記第2のニューラルネットワークについて学習データを用いて学習を行うステップであって、評価データを用いて計算される前記第2のニューラルネットワークのコストが最小の第2のコストとなるまで学習を行うステップと、
    (5)前記第1のコストと前記第2のコストとを比較するステップと、
    (6)前記第2のコストが前記第1のコストより小さいときには、前記第2のニューラルネットワークを前記第1のニューラルネットワーク、前記第2のコストを前記第1のコストとしてステップ(3)〜(5)を行い、前記第1のコストが前記第2のコストより小さいときには、ステップ(3)において異なる第2のニューラルネットワークを生成してステップ(4)(5)を行うステップと、
    (7)ステップ(6)において、前記第1のコストの方が前記第2のコストより小さいとの判断が所定回数連続したときに、前記第1のニューラルネットワークをニューラルネットワークの最適構造と決定するステップと、
    (8)前記ニューラルネットワークの最適構造を出力するステップと、
    を実行させるプログラム。
JP2013136241A 2013-06-28 2013-06-28 ニューラルネットワーク最適化方法、ニューラルネットワーク最適化装置及びプログラム Active JP6042274B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013136241A JP6042274B2 (ja) 2013-06-28 2013-06-28 ニューラルネットワーク最適化方法、ニューラルネットワーク最適化装置及びプログラム
US14/317,261 US20150006444A1 (en) 2013-06-28 2014-06-27 Method and system for obtaining improved structure of a target neural network
DE102014212556.1A DE102014212556A1 (de) 2013-06-28 2014-06-30 Verfahren und system zur gewinnung einer verbesserten struktur eines neuronalen zielnetzes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013136241A JP6042274B2 (ja) 2013-06-28 2013-06-28 ニューラルネットワーク最適化方法、ニューラルネットワーク最適化装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2015011510A JP2015011510A (ja) 2015-01-19
JP6042274B2 true JP6042274B2 (ja) 2016-12-14

Family

ID=52017602

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013136241A Active JP6042274B2 (ja) 2013-06-28 2013-06-28 ニューラルネットワーク最適化方法、ニューラルネットワーク最適化装置及びプログラム

Country Status (3)

Country Link
US (1) US20150006444A1 (ja)
JP (1) JP6042274B2 (ja)
DE (1) DE102014212556A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019107900A1 (ko) * 2017-11-28 2019-06-06 주식회사 날비컴퍼니 컨볼루션 신경망 내 필터 프루닝 장치 및 방법
US11907679B2 (en) 2019-09-19 2024-02-20 Kioxia Corporation Arithmetic operation device using a machine learning model, arithmetic operation method using a machine learning model, and training method of the machine learning model

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10095718B2 (en) 2013-10-16 2018-10-09 University Of Tennessee Research Foundation Method and apparatus for constructing a dynamic adaptive neural network array (DANNA)
CN106062774B (zh) * 2014-11-15 2020-01-03 北京旷视科技有限公司 使用机器学习进行面部检测
WO2016141282A1 (en) * 2015-03-04 2016-09-09 The Regents Of The University Of California Convolutional neural network with tree pooling and tree feature map selection
US11275747B2 (en) * 2015-03-12 2022-03-15 Yahoo Assets Llc System and method for improved server performance for a deep feature based coarse-to-fine fast search
US10438112B2 (en) 2015-05-26 2019-10-08 Samsung Electronics Co., Ltd. Method and apparatus of learning neural network via hierarchical ensemble learning
US20160350336A1 (en) * 2015-05-31 2016-12-01 Allyke, Inc. Automated image searching, exploration and discovery
CN112619118A (zh) 2015-08-03 2021-04-09 天使游戏纸牌股份有限公司 游艺场的作弊检测系统
JP6287999B2 (ja) 2015-08-07 2018-03-07 トヨタ自動車株式会社 ニューラルネットワーク学習装置
CN106875203A (zh) * 2015-12-14 2017-06-20 阿里巴巴集团控股有限公司 一种确定商品图片的款式信息的方法及装置
CN106874924B (zh) * 2015-12-14 2021-01-29 阿里巴巴集团控股有限公司 一种图片风格识别方法及装置
US10515312B1 (en) * 2015-12-30 2019-12-24 Amazon Technologies, Inc. Neural network model compaction using selective unit removal
US9916522B2 (en) * 2016-03-11 2018-03-13 Kabushiki Kaisha Toshiba Training constrained deconvolutional networks for road scene semantic segmentation
US20190122035A1 (en) * 2016-03-28 2019-04-25 Beijing Sensetime Technology Development Co., Ltd Method and system for pose estimation
WO2017166155A1 (zh) * 2016-03-31 2017-10-05 富士通株式会社 一种对神经网络模型进行训练的方法、装置及电子设备
CN107392305A (zh) * 2016-05-13 2017-11-24 三星电子株式会社 实现和执行神经网络的方法及计算机可读介质
JP6780968B2 (ja) * 2016-07-07 2020-11-04 株式会社熊谷組 建物周辺の風速分布の推定方法及び建物周辺の風速分布推定装置
CN117496638A (zh) 2016-08-02 2024-02-02 天使集团股份有限公司 检查系统及管理系统
JP6847386B2 (ja) 2016-09-09 2021-03-24 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ニューラルネットワークの正則化
US10338629B2 (en) 2016-09-22 2019-07-02 International Business Machines Corporation Optimizing neurosynaptic networks
WO2018063840A1 (en) 2016-09-28 2018-04-05 D5A1 Llc; Learning coach for machine learning system
CN106650919A (zh) * 2016-12-23 2017-05-10 国家电网公司信息通信分公司 一种基于卷积神经网络的信息系统故障诊断方法及装置
CN108242046B (zh) * 2016-12-27 2022-02-18 阿里巴巴集团控股有限公司 图片处理方法及相关设备
WO2018131405A1 (ja) 2017-01-12 2018-07-19 Kddi株式会社 情報処理装置、方法及びコンピュータ可読記憶媒体
EP3570220B1 (en) * 2017-01-13 2023-10-11 KDDI Corporation Information processing method, information processing device, and computer-readable storage medium
US20180218262A1 (en) * 2017-01-31 2018-08-02 Panasonic Intellectual Property Corporation Of America Control device and control method
US11915152B2 (en) 2017-03-24 2024-02-27 D5Ai Llc Learning coach for machine learning system
US10997502B1 (en) 2017-04-13 2021-05-04 Cadence Design Systems, Inc. Complexity optimization of trainable networks
WO2018192500A1 (zh) * 2017-04-19 2018-10-25 上海寒武纪信息科技有限公司 处理装置和处理方法
CN115688877A (zh) * 2017-06-06 2023-02-03 格兰菲智能科技有限公司 一种用于对待量化数据进行定点化处理的方法及计算装置
CN107256422A (zh) * 2017-06-06 2017-10-17 上海兆芯集成电路有限公司 数据量化方法及装置
DE102017213247A1 (de) * 2017-06-30 2019-01-03 Conti Temic Microelectronic Gmbh Wissenstransfer zwischen verschiedenen Deep-Learning Architekturen
CN111553473B (zh) * 2017-07-05 2023-10-13 上海寒武纪信息科技有限公司 数据冗余方法及执行数据冗余方法的神经网络处理器
US10072919B1 (en) 2017-08-10 2018-09-11 Datacloud International, Inc. Efficient blast design facilitation systems and methods
US20190048708A1 (en) 2017-08-10 2019-02-14 Datacloud International, Inc. Spectral borehole imaging systems and methods
CN108229647A (zh) * 2017-08-18 2018-06-29 北京市商汤科技开发有限公司 神经网络结构的生成方法和装置、电子设备、存储介质
US11321612B2 (en) 2018-01-30 2022-05-03 D5Ai Llc Self-organizing partially ordered networks and soft-tying learned parameters, such as connection weights
US11769042B2 (en) * 2018-02-08 2023-09-26 Western Digital Technologies, Inc. Reconfigurable systolic neural network engine
US11551064B2 (en) 2018-02-08 2023-01-10 Western Digital Technologies, Inc. Systolic neural network engine capable of forward propagation
US10989828B2 (en) 2018-02-17 2021-04-27 Datacloud International, Inc. Vibration while drilling acquisition and processing system
US10697294B2 (en) 2018-02-17 2020-06-30 Datacloud International, Inc Vibration while drilling data processing methods
DE102018109851A1 (de) * 2018-04-24 2019-10-24 Albert-Ludwigs-Universität Freiburg Verfahren und Vorrichtung zum Ermitteln einer Netzkonfiguration eines neuronalen Netzes
CN111919226B (zh) * 2018-04-27 2025-01-07 平头哥(上海)半导体技术有限公司 执行机器学习的装置和方法
WO2020087254A1 (zh) * 2018-10-30 2020-05-07 深圳鲲云信息科技有限公司 卷积神经网络的优化方法及相关产品
US11526746B2 (en) 2018-11-20 2022-12-13 Bank Of America Corporation System and method for incremental learning through state-based real-time adaptations in neural networks
US10824815B2 (en) * 2019-01-02 2020-11-03 Netapp, Inc. Document classification using attention networks
CN113228057B (zh) * 2019-01-11 2024-05-31 三菱电机株式会社 推理装置和推理方法
KR102333730B1 (ko) * 2019-02-13 2021-11-30 아주대학교 산학협력단 학습 모델 생성 장치 및 방법
US11783176B2 (en) 2019-03-25 2023-10-10 Western Digital Technologies, Inc. Enhanced storage device memory architecture for machine learning
JP6743238B1 (ja) 2019-04-23 2020-08-19 Dmg森精機株式会社 工作機械における変動量推定装置、及び補正量算出装置
JP7353851B2 (ja) * 2019-08-02 2023-10-02 キヤノン株式会社 システム、方法、及びプログラム
JP7111671B2 (ja) 2019-09-05 2022-08-02 株式会社東芝 学習装置、学習システム、および学習方法
CN110782034A (zh) * 2019-10-31 2020-02-11 北京小米智能科技有限公司 神经网络的训练方法、装置及存储介质
KR102122232B1 (ko) * 2019-12-31 2020-06-15 주식회사 알고리마 멀티 태스크를 위한 신경망 자동 생성 장치 및 방법
CN113128678A (zh) * 2020-01-15 2021-07-16 华为技术有限公司 神经网络的自适应搜索方法及装置
CN113222101A (zh) * 2020-02-05 2021-08-06 北京百度网讯科技有限公司 深度学习处理装置、方法、设备和存储介质
KR20220116270A (ko) 2020-02-07 2022-08-22 주식회사 히타치하이테크 학습 처리 장치 및 방법
US11651225B2 (en) * 2020-05-05 2023-05-16 Mitsubishi Electric Research Laboratories, Inc. Non-uniform regularization in artificial neural networks for adaptable scaling
CN116134447A (zh) * 2020-07-28 2023-05-16 三菱电机株式会社 学习活用系统、活用装置、学习装置、程序和学习活用方法
CN111931930A (zh) * 2020-08-03 2020-11-13 Oppo广东移动通信有限公司 模型剪枝方法、装置及电子设备
CN114708236B (zh) * 2022-04-11 2023-04-07 徐州医科大学 一种基于tsn和ssn在超声图像中的甲状腺结节良恶性分类方法
CN115527087B (zh) * 2022-11-04 2023-07-14 北京闪马智建科技有限公司 行为信息的确定方法、装置、存储介质及电子装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04353963A (ja) * 1991-05-30 1992-12-08 Toshiba Corp 神経回路網の構築装置および方法
US5303330A (en) * 1991-06-03 1994-04-12 Bell Communications Research, Inc. Hybrid multi-layer neural networks
US5787408A (en) * 1996-08-23 1998-07-28 The United States Of America As Represented By The Secretary Of The Navy System and method for determining node functionality in artificial neural networks
EP2599635B1 (en) 2011-11-30 2014-11-05 Brother Kogyo Kabushiki Kaisha Liquid ejecting device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019107900A1 (ko) * 2017-11-28 2019-06-06 주식회사 날비컴퍼니 컨볼루션 신경망 내 필터 프루닝 장치 및 방법
US11907679B2 (en) 2019-09-19 2024-02-20 Kioxia Corporation Arithmetic operation device using a machine learning model, arithmetic operation method using a machine learning model, and training method of the machine learning model

Also Published As

Publication number Publication date
JP2015011510A (ja) 2015-01-19
US20150006444A1 (en) 2015-01-01
DE102014212556A1 (de) 2014-12-31

Similar Documents

Publication Publication Date Title
JP6042274B2 (ja) ニューラルネットワーク最適化方法、ニューラルネットワーク最適化装置及びプログラム
US11010658B2 (en) System and method for learning the structure of deep convolutional neural networks
US10776668B2 (en) Effective building block design for deep convolutional neural networks using search
JP6574503B2 (ja) 機械学習方法および装置
CN113366494B (zh) 用于少样本无监督图像到图像转换的方法
Zhang et al. Cross-validation based weights and structure determination of Chebyshev-polynomial neural networks for pattern classification
US20170004399A1 (en) Learning method and apparatus, and recording medium
Elthakeb et al. Releq: A reinforcement learning approach for deep quantization of neural networks
CN117642753A (zh) 神经网络模型的低秩适应
CN108510058B (zh) 神经网络中的权重存储方法以及基于该方法的处理器
KR20200106475A (ko) 인공신경망의 비트 양자화 방법 및 시스템
CN113469891A (zh) 一种神经网络架构搜索方法、训练方法、图像补全方法
US20230289563A1 (en) Multi-node neural network constructed from pre-trained small networks
Tareen et al. Convolutional neural networks for beginners
Guo et al. ARLP: Automatic multi-agent transformer reinforcement learning pruner for one-shot neural network pruning
Marthaler An overview of mathematical methods for numerical optimization
González et al. Re-training deep neural networks to facilitate Boolean concept extraction
EP3614314B1 (en) Method and apparatus for generating chemical structure using neural network
Zemouri An evolutionary building algorithm for deep neural networks
CN117193008A (zh) 面向高维扰动环境的小样本鲁棒模仿学习训练方法、电子设备及存储介质
JP2021018677A (ja) 情報処理システム、ニューラルネットワーク構造の生成方法および情報処理プログラム
WO2023001940A1 (en) Methods and systems for generating models for image analysis pipeline prediction
Xiang et al. Semi-parametric training of autoencoders with Gaussian kernel smoothed topology learning neural networks
Gonzalez Using deep learning and evolutionary algorithms for time series forecasting
Mäntykivi Genetic Operators in Chain-Structured Neural Architecture Search

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151105

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20151113

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: 20161025

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161109

R150 Certificate of patent or registration of utility model

Ref document number: 6042274

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250