JP2016031746A - 情報処理装置、情報処理方法 - Google Patents
情報処理装置、情報処理方法 Download PDFInfo
- Publication number
- JP2016031746A JP2016031746A JP2014155451A JP2014155451A JP2016031746A JP 2016031746 A JP2016031746 A JP 2016031746A JP 2014155451 A JP2014155451 A JP 2014155451A JP 2014155451 A JP2014155451 A JP 2014155451A JP 2016031746 A JP2016031746 A JP 2016031746A
- Authority
- JP
- Japan
- Prior art keywords
- neural network
- output
- hierarchical neural
- layer
- neuron
- 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
Links
Images
Landscapes
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
【課題】 平坦部やエッジ部といった様々な画像でよく現れる一般的な特徴と、布などのテクスチャのような限られた画像で現れる特定の特徴と、の両方を学習するための技術を提供すること。
【解決手段】 階層型ニューラルネットワークにおける出力層の出力と第1の教師データとの差分と、該階層型ニューラルネットワークにおける中間層の注目ニューロンの出力と第2の教師データとの差分と、の合計を極小化するように層間の結合係数を調整する。
【選択図】 図3
【解決手段】 階層型ニューラルネットワークにおける出力層の出力と第1の教師データとの差分と、該階層型ニューラルネットワークにおける中間層の注目ニューロンの出力と第2の教師データとの差分と、の合計を極小化するように層間の結合係数を調整する。
【選択図】 図3
Description
本発明は、ニューラルネットワークにおける学習技術に関するものである。
従来から、ニューラルネットワークを用いて特徴を学習するものとしてHintonらの多層ニューラルネットが知られている(非特許文献1)。非特許文献1では、大量の画像でよく表われる特徴を学習したニューラルネットワークを用いてノイズ低減を行うことが開示されている。
G.E. Hinton and R.R. Salakhutdinov, Science, Vol. 313, no. 5786, pp. 504 - 507, 2006
しかしながら、従来技術では、平坦部やエッジ部といった様々な画像でよく現れる一般的な特徴は学習しやすいものの、布などのテクスチャのような限られた画像で現れる特定の特徴を学習しきれない場合がある。一方で、特定の特徴を学習しようとすると過学習となり、その他の特徴を十分に学習できない可能性があるという課題があった。
本発明はこのような問題に鑑みてなされたものであり、平坦部やエッジ部といった様々な画像でよく現れる一般的な特徴と、布などのテクスチャのような限られた画像で現れる特定の特徴と、の両方を学習するための技術を提供する。
本発明の一様態は、階層型ニューラルネットワークにおける出力層の出力と第1の教師データとの差分と、該階層型ニューラルネットワークにおける中間層の注目ニューロンの出力と第2の教師データとの差分と、の合計を極小化するように、該階層型ニューラルネットワークにおける階層間の結合係数を調整する処理手段を備えることを特徴とする。
本発明の構成によれば、平坦部やエッジ部といった様々な画像でよく現れる一般的な特徴と、布などのテクスチャのような限られた画像で現れる特定の特徴と、の両方を学習するための技術を提供することができる。
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施例の1つである。
[第1の実施形態]
本実施形態では、階層型ニューラルネットワークにおける出力層の出力と第1の教師データとの差分と、該階層型ニューラルネットワークにおける中間層の注目ニューロンの出力と第2の教師データとの差分と、の合計を極小化するように、該階層型ニューラルネットワークにおける階層間の結合係数(重み係数)を調整する情報処理装置の一例について説明する。
本実施形態では、階層型ニューラルネットワークにおける出力層の出力と第1の教師データとの差分と、該階層型ニューラルネットワークにおける中間層の注目ニューロンの出力と第2の教師データとの差分と、の合計を極小化するように、該階層型ニューラルネットワークにおける階層間の結合係数(重み係数)を調整する情報処理装置の一例について説明する。
先ず、本実施形態に係る情報処理装置のハードウェア構成例について、図1のブロック図を用いて説明する。なお、本実施形態に係る情報処理装置は、一般のPC(パーソナルコンピュータ)であっても良いし、携帯電話やタブレット端末装置などの携帯端末装置であっても良い。また、本実施形態に係る情報処理装置は、ディジタルカメラなどの機器に組み込まれる電子回路の一部の構成であっても構わない。すなわち、本実施形態に係る情報処理装置は、階層型ニューラルネットワークを用いて学習対象を学習する機能を使用する機器であれば、如何なる機器に適用しても構わない。もちろん、本実施形態に係る情報処理装置は、このような学習機能だけでなく、学習結果を利用して対象を処理する機能をも使用する機器に適用しても構わない。
CPU101は、RAM102に格納されているコンピュータプログラムやデータを用いて処理を実行することで、情報処理装置全体の動作制御を行うと共に、情報処理装置が行うものとして後述する各処理を実行若しくは制御する。
RAM102は、記憶装置103からロードされたコンピュータプログラムやデータ、汎用I/F(インターフェース)104を介して外部メモリ106からロードされたコンピュータプログラムやデータ、を記憶するためのエリアを有する。更にRAM102は、CPU101が各種の処理を実行する際に用いるワークエリアを有する。このように、RAM102は、各種のエリアを適宜提供することができる。
記憶装置103には、OS(オペレーティングシステム)や、情報処理装置が行うものとして後述する各処理をCPU101に実行若しくは制御させるためのコンピュータプログラムやデータが保存されている。このコンピュータプログラムには、階層型ニューラルネットワークの動作を実行する為のプログラムや階層型ニューラルネットワークに特徴量を学習させるための学習プログラム等が含まれている。また、このデータには、階層間の重み係数やニューロンのバイアス値、学習時に用いる入力データ及び教師データのセット、各種のパラメータ、などが含まれている。記憶装置103に保存されているコンピュータプログラムやデータは、CPU101による制御に従って適宜RAM102にロードされ、CPU101による処理対象となる。
CPU101、RAM102、記憶装置103は何れも、共通のバス107に接続されている。
入力装置105は、キーボードやマウス、タッチパネル画面などにより構成されており、本装置のユーザが操作することで各種の指示をCPU101に対して入力することができる。
外部メモリ106は、メモリカードなどの本装置に着脱可能なメモリ装置である。なお、記憶装置103に保存若しくは格納するものとして説明するデータの一部は外部メモリ106に保存若しくは格納するようにしても構わない。外部メモリ106に格納されているコンピュータプログラムやデータもまた、CPU101による制御に従って適宜RAM102にロードされ、CPU101による処理対象となる。
入力装置105及び外部メモリ106は何れも汎用I/F104に接続されており、汎用I/F104は上記のバス107に接続されている。なお、汎用I/F104にはこれ以外にも、例えば、赤外線通信や無線LAN等を用いて外部機器との通信を行うための通信部を接続しても構わない。
なお、図1に示した構成は、以下に説明する処理を実現可能な構成の一例であり、同等以上の機能を実現可能な構成であれば、如何なる構成を採用しても構わない。また、本実施形態では、図1に示した構成を有する1台の情報処理装置を用いて、以下に説明する学習処理を実行するが、2台以上の装置で処理を分散させて該学習処理を実現させても構わない。
次に、階層型ニューラルネットワークについて、図2を用いて説明する。図2では説明を簡単にするために中間層を1層としているが、2層以上で中間層を構成しても構わない。図2では、入力層はMi個のニューロン(n11、n12、…、n1Mi)を有し、中間層はMh個のニューロン(n21、n22、…、n2Mh)を有し、出力層(最終層)はMo個のニューロン(n31、n32、…、n3Mo)を有している。そして、各層のニューロンは隣接する層の全てのニューロンと結合しており、階層間で情報伝達を行う3層の階層型ニューラルネットワークを構成している。
入力層におけるニューロンの数は、入力データの数に対応している。例えば、入力層に画像を入力する場合、該入力層には、画素とニューロンとが1対1となるように、画素数分のニューロンを設ける。そして入力層における各ニューロンには、対応する画素の画素値(若しくはその周辺の画素の画素値の平均値など)を特徴量として入力することになる。
図2の場合、入力層における各ニューロンは、中間層における全てのニューロンと結合しており、中間層における各ニューロンは、出力層における全てのニューロンと結合している(図2ではニューロン間の結合を結線で示している)。また、図2の階層型ニューラルネットワークでは同層内のニューロン間に結合はない。
また、ニューロン間の結合はそれぞれ重みを持っており、一方のニューロンから結合を通して他方のニューロンに伝達される出力値はその結合の重みによって増強あるいは減衰される。図2においてW1,b1はそれぞれ、入力層と中間層との間の重み係数の行列、中間層におけるバイアス値を表している。また、W2,b2はそれぞれ、中間層と出力層との間の重み係数の行列、出力層におけるバイアス値を表している。例えば、図2の中間層におけるニューロンn21の出力値an21は、以下の式(1)によって与えられる。
式(1)において、wn1kn21は、入力層におけるニューロンn1kと中間層におけるニューロンn21との間の結合の重みを表す重み係数である。an1kは、入力層におけるニューロンn1kの出力値である。b1は、中間層に属するニューロンにおけるバイアス値である。fは活性化関数であり、例えば、以下の式(2)で表される。
p、qは任意に設定可能なパラメータである。本実施形態では説明を簡単にするために、p、qは全てのニューロンで同じ値とする。なお、活性化関数fは式(2)で示すようなシグモイド関数に限るものではなく、引数(式(2)の場合はa)の値が閾値以上であれば1を返し、閾値未満であれば0を返す二値化関数であっても良い。また、活性化関数fはtanhや、二次関数などの曲線や一次関数で近似した関数であっても構わない。
また、階層型ニューラルネットワークには、それぞれのニューロンが自己結合を有するものがあったり、同層内で結合を有するものがあったりするが、このような階層型ニューラルネットワークを用いても構わない。
このように、各層のそれぞれのニューロンは、上記の式(1)、式(2)に従って動作して出力値aを出力している。そしてその出力値a(出力層を除く)は次の層との間の重み係数に応じて重み付けされて該次の層におけるそれぞれのニューロンに入力される。
次に、このような階層型ニューラルネットワークにおける学習処理について説明する。従来から、入力層に入力データを入力して階層型ニューラルネットワークを動作させた場合に出力層から教師データに近い出力が得られるように、ニューロン間における重み係数や各層のバイアスを調整することで、該階層型ニューラルネットワークに「入力データと教師データとの対」を学習させる(学習処理を行う)技術が存在する。このような入力データと教師データのセットを複数セット用意し、それぞれのセットについて学習処理を行うことで、様々なデータに対して汎用性がある重み係数及びバイアス値を得ることができる。ここで、教師データは、ニューロンの出力値と比較するのであるから、0〜1の範囲の値に正規化しておくことが好ましい。
このように、従来の階層型ニューラルネットワークにおける学習処理では、入力層に入力データを入力して階層型ニューラルネットワークを動作させた場合に出力層から得られる出力と、該入力データに予め対応づけられている教師データと、の差分を計算し、該差分を極小化するように、重み係数及びバイアス値を調整することで、この入力データと教師データとの対を学習していた。本実施形態では、この差分に加え、中間層における注目ニューロンの出力と該注目ニューロン用の教師データとの差分をも極小化するように、重み係数及びバイアス値を調整する。具体的には、以下の式(3)に示す評価値Lを極小化するように、層間の重み係数及び各層のバイアス値を調整する。
式(3)において、dtは出力層からの出力との比較に用いる教師データ、doは出力層からの出力(an31、…、an3Mo)、を表している。また、atは、中間層における注目ニューロン用の教師データ、amは注目ニューロンの出力、を表している。αは、任意に設定される定数である。
即ち、式(3)において第1項目は、入力層に入力データを入力して階層型ニューラルネットワークを動作させた場合に出力層から得られる出力doと、該入力データに予め対応づけられている教師データdtと、の差分を表している。また、第2項目は、中間層における注目ニューロンの出力amと、該注目ニューロン用の教師データatとの差分を表している。従来の学習処理では第1項目のみを極小化するように重み係数やバイアス値を調整していたが、本実施形態では、第1項目及び第2項目の合計(式(3)では線形和)を極小化するように重み係数やバイアス値を調整する。もちろん、出力doと教師データdtとの差分と、出力amと教師データatとの差分と、の合計(和とは限らない)を表す式であれば如何なる式を式(3)の代わりに用いても構わない。
ここで、階層型ニューラルネットワークに画像のノイズ低減処理を学習させる場合を考えると、様々な画像で頻繁に現れるわけではないものの、限られた対象や状況に関する画像では頻繁に現れる特定の特徴を学習しておくことは有用である。特定の特徴としては、例えば「好ましさ」、「髪らしさ」、「○○との類似度」、「鮮鋭感」などの主観値や統計量、または赤、青、日本人などの特定のカテゴリやペン、本などの実シーン中のオブジェクト、Aさん、Bさんなど個人を示す数列などがある。
然るに、中間層におけるニューロンのうち、特定の特徴量をも学習するニューロンは、上記の「限られた対象や状況に関する画像では頻繁に現れる特定の特徴」を認識するためにも有用な存在となる。このようなニューロン(上記の注目ニューロン)を中間層におけるニューロンから選択する方法には様々な方法が考え得る。注目ニューロンの選択方法については以下で詳しく説明する。
以下では、何れか1つの中間層において1つの注目ニューロンを選択した場合について説明する。しかし、1つの中間層で2以上のニューロンを注目ニューロンとして選択しても構わないし、2以上の中間層で1以上のニューロンを注目ニューロンとして選択しても構わない。
上記のような性質を有する評価値Lを極小化するように調整する対象は、入力層と中間層との間のニューロン間の重み係数W1、中間層におけるバイアス値b1、中間層と出力層との間のニューロン間の重み係数W2、出力層におけるバイアス値b2、である。
例えば、式(3)の評価値Lを極小化するように中間層の重み係数wh(入力層と中間層との間の重み係数)を調整する場合には、以下の式(4)〜(7)に従って重み係数whを更新すれば良い。
βは、任意の定数であり、負の値をとる。woは、中間層から出力層への重み係数であり、dhは、中間層からの出力、boは、出力層におけるバイアス値である。また、wimは、入力層から中間層における注目ニューロンへの重み係数であり、中間層の重み係数whに含まれている。diは、入力層からの出力、bhは、中間層におけるバイアス値である。
このような重み係数の更新を、中間層と出力層との間の重み係数についても行うことで、上記の評価値Lを極小化するように、それぞれの層間の重み係数を更新することができる。
また、各層のバイアス値の更新についても同様の方法で行う。すなわち、層毎に、式(3)の評価値Lを該層のバイアス値で偏微分した式に基づいて該層のバイアス値を更新する。
すなわち、入力層に入力データを入力して階層型ニューラルネットワークを動作させることで出力層から得られる出力を求めた後、上記の計算処理を行うことで各層間の重み係数及び層毎のバイアス値を更新し、該更新後に再度、入力層に入力データを入力して階層型ニューラルネットワークを動作させることで出力層からの出力を求める。この一連の処理を繰り返し行うことで、上記の評価値Lを極小化するように重み係数及びバイアス値を調整することができる。
なお、本実施形態では、最急降下法を用いた学習方法について説明したが、学習の方法はこれ以外の方法を用いても良く、誤差逆伝搬法、共役勾配法などの他の方法を用いて学習を行っても構わない。
そして上記のように、入力データと教師データ(注目ニューロン用の教師データも含む)のセットを複数セット用意し、それぞれのセットについて重み係数及びバイアス値の調整を行った結果、評価値Lの値が規定値以下になったり、その変化率が規定値以下になったり、学数回数が規定回数以上になったりするなど、規定の終了条件(学習の終了条件)が満たされると、上記の学習処理を終了し、この時点における重み係数及びバイアス値を、学習済みの重み係数及びバイアス値として記憶装置103に登録する。なお、この学習において、ノイズ低減処理を学習している場合は、様々な画像データに対して十分にノイズ低減された出力データが得られれば学習を終了することになる。
以上説明した学習処理は、データを逐次追加して学習していくようなオンライン処理であっても構わないし、初めから多くのデータに対して学習を行うバッチ処理であっても構わない。
オンライン処理の場合は、あるデータに対して学習が完了した場合は、学習した重み係数及びバイアス値に基づいて次のデータに対する学習を始める。バッチ処理では、複数のデータに対する重み係数及びバイアス値のそれぞれの更新量を計算しておいて、それぞれの統合値(平均など)を実際の重み係数及びバイアス値の更新に適用する。本実施形態では、バッチ処理を行うものとして説明するが、オンライン処理であっても構わない。
次に、以上説明した、階層型ニューラルネットワークの学習処理を実行する際の情報処理装置の機能構成例について、図3のブロック図を用いて説明する。図3において、教師データ入力部306、教師注目ニューロン活動入力部307、パラメタ更新部308、生徒データ入力部301、処理部303は何れもコンピュータプログラムとして実装され、記憶装置103に保存されているものとする。以下では、これらの機能部を処理の主体として説明する場合もあるが、実際にはCPU101が該機能部に対応するコンピュータプログラムを実行することで、対応する処理が実現される。しかし、これらの機能部の全てをコンピュータプログラムで実装することに限るものではなく、一部をハードウェアで実装しても構わない。また、パラメタ保持部302は、記憶装置103や外部メモリ106が有するメモリ領域の一部として実装されるものとする。なお、図3に示した全ての機能部をハードウェアで構成しても構わない。
生徒データ入力部301は、入力層に入力する入力データを生徒データとして処理部303に入力する。例えば、画像のノイズ低減処理を学習させる場合には、生徒データ入力部301は、ノイズが付加されている画像を構成する各画素の画素値を処理部303に入力する。
パラメタ保持部302は、各層間の重み係数及び各層のバイアス値の初期値や前回の学習時の値を保持する。また、パラメタ保持部302は、上記の学習用の式においてβ、p、q、等のパラメータも保持している。
処理部303は先ず、パラメタ保持部302に保持されている重み係数及びバイアス値を階層型ニューラルネットワークに設定して、階層型ニューラルネットワークを確定させる。そして処理部303は、階層型ニューラルネットワークの確定後、該階層型ニューラルネットワークの入力層に生徒データ入力部301からの生徒データを入力して該階層型ニューラルネットワークを動作させる。例えば、画像のノイズ低減処理を学習させる場合には、該階層型ニューラルネットワークの出力層からは、入力層に入力した画像と同サイズの、ノイズ低減処理がなされた画像が出力される。
教師データ入力部306は、生徒データ入力部301が処理部303に供給した生徒データと対になっている教師データをパラメタ更新部308に供給するものである。例えば、画像のノイズ低減処理を学習させる場合には、教師データ入力部306は、ノイズが低減された画像を構成する各画素の画素値をパラメタ更新部308に入力する。
教師注目ニューロン活動入力部307は、中間層において注目ニューロンとして選択されたニューロンに対する教師データをパラメタ更新部308に供給するものである。例えば、画像のノイズ低減処理を学習させる場合に、繊維に着目したとすると、繊維らしさを0〜1の値で表わしたものを注目ニューロン用の教師データとする。
パラメタ更新部308は、処理部303が求めた階層型ニューラルネットワークにおける出力層の出力と、教師データ入力部306から供給された教師データと、の差分(第1の差分)を求める。更にパラメタ更新部308は、処理部303が求めた階層型ニューラルネットワークにおける中間層の注目ニューロンの出力と、教師注目ニューロン活動入力部307から供給された教師データと、の差分(第2の差分)を求める。そしてパラメタ更新部308は、第1の差分と第2の差分との合計を極小化するように、階層型ニューラルネットワークにおけるそれぞれの重み係数及びバイアス値を更新する。その際、パラメタ保持部302に保持されているパラメータを用いる。そしてパラメタ更新部308は、学習の終了条件が満たされた場合には、この時点における重み係数及びバイアス値を記憶装置103や外部メモリ106に登録し、満たされていない場合には、重み係数及びバイアス値の更新を続ける。なお、学習の終了条件が満たされた場合には、パラメタ更新部308はその旨を処理部303にも通知するので、処理部303は処理を停止する。
次に、以上説明した、階層型ニューラルネットワークにおける学習処理について、図4のフローチャートを用いて説明する。
ステップS401では、処理部303は、パラメタ保持部302に保持されている重み係数及びバイアス値を階層型ニューラルネットワークに設定して、階層型ニューラルネットワークを確定させる。この時点で設定する重み係数及びバイアス値は初期値であり、予め作成された規定の値であっても良いし、乱数により決定した値であっても良い。
ステップS402では、生徒データ入力部301は、入力層に入力する入力データを生徒データとして処理部303に入力する。
ステップS403では、教師データ入力部306は、生徒データ入力部301が処理部303に供給した生徒データと対になっている教師データをパラメタ更新部308に供給する。
ステップS404では、教師注目ニューロン活動入力部307は、中間層において注目ニューロンとして選択されたニューロンに対する教師データをパラメタ更新部308に供給する。
ステップS405では、処理部303は、階層型ニューラルネットワークの入力層に生徒データ入力部301からの生徒データを入力して該階層型ニューラルネットワークを動作させて、入力層、中間層、出力層のそれぞれの層からの出力を求める。
ステップS407では、パラメタ更新部308は、学習の終了条件を判定する。上記の通り、評価値Lやその変化率が規定値以下となっている場合や、学習回数が規定回数以上となっている場合に、学習の終了条件が満たされたと判断する。また、ここではバッチ処理により学習処理を行うので、生徒データ及び教師データのセット毎に評価値Lを計算することができるため、その合計値(重み付け和であっても良い)を評価値とし、その値や変化率が規定値以下となっている場合に、学習の終了条件が満たされたと判断しても良い。また、代わりに、それぞれのセットに対する評価値Lのうち最大の評価値Lを用いても構わない。
この判断の結果、学習の終了条件が満たされた場合には、処理はステップS408を介してステップS410に進み、満たされていないと判断した場合には、処理はステップS408を介してステップS409に進む。
ステップS409では、パラメタ更新部308は、ステップS405で処理部303が求めた階層型ニューラルネットワークにおける出力層の出力と、教師データ入力部306から供給された教師データと、の差分(第1の差分)を求める。更にパラメタ更新部308は、処理部303が求めた階層型ニューラルネットワークにおける中間層の注目ニューロンの出力と、教師注目ニューロン活動入力部307から供給された教師データと、の差分(第2の差分)を求める。そしてパラメタ更新部308は、第1の差分と第2の差分との合計を極小化するように、階層型ニューラルネットワークにおけるそれぞれの重み係数及びバイアス値を更新する。更新された重み係数及びバイアス値はパラメタ保持部302にて管理される。そして処理はステップS405に戻る。
一方、ステップS410では、パラメタ更新部308は、この時点における重み係数及びバイアス値を学習済みの重み係数及びバイアス値として、記憶装置103や外部メモリ106に登録する。
次に、中間層におけるニューロン群から注目ニューロンを選択する方法について説明する。上記の通り、注目ニューロンは、「限られた対象や状況に関する画像では頻繁に現れる特定の特徴」を認識するために、該特定の特徴を学習するニューロンである。然るに、「限られた対象や状況に関する画像では頻繁に現れる特定の特徴」については中間層における他のニューロンよりも発火頻度が高い(比較的高い値(例えば0.8以上の値)を出力する頻度が高い)ニューロンを注目ニューロンとして選択することが好ましいことになる。
例えば、「限られた対象や状況に関する画像では頻繁に現れる特定の特徴」を含むオブジェクト(木など)が写っており且つノイズが付加されている画像(生徒データ)及び該画像のノイズを低減させた画像(教師データ)のセットを複数セット用意する。そして、図4のフローチャートに従った処理に先立って、重み係数及びバイアス値を初期化した階層型ニューラルネットワークを用いて、上記の評価値Lにおいて第1項目のみを極小化するようにそれぞれのセットを学習する処理を行うのであるが、その処理の過程で、中間層におけるそれぞれのニューロンの発火頻度(比較的高い値を出力する頻度)を集計する。そしてそれぞれのセットの学習が完了すると、中間層におけるそれぞれのニューロンの発火頻度を視認可能な画面を生成して不図示の表示装置に表示する。例えば、図11(a)に示すような、中間層におけるそれぞれのニューロンの発火頻度のヒストグラムを表示する。図11(a)において横軸は中間層におけるそれぞれのニューロンのID(図11(a)ではID=A〜I)、縦軸は発火頻度を示している。この画面を見たユーザは、どのニューロンが特定の特徴に反応しているのかを、発火頻度でもって把握することができる。然るにユーザは入力装置105を用いて、中間層におけるニューロン群のうち、特定の特徴に対してのみ発火頻度の高いニューロンのIDを入力すればよい。その場合、パラメタ更新部308は、この入力されたIDに対応するニューロンを注目ニューロンとして取り扱うことになる。
また、学習の過程で、図11(b)に示すような画面を不図示の表示装置に表示させても良い。1101a〜1101iは、9個のニューロン(ID=A〜I)のそれぞれに対応する円形のアイコンであり、中間層に属するそれぞれのニューロンの出力を計算するたびに、アイコン1101a〜1101iのそれぞれの表示形態を制御する。例えば、中間層に属するそれぞれのニューロンのうち発火したニューロン(規定値以上の値を出力したニューロン)に対応するアイコンを、発火していないニューロンに対応するアイコンとは異なる表示形態(色、サイズ、表示パターンなど)で表示する。例えば、アイコン1101bに対応するニューロンが発火した(規定値以上の値を出力した)場合には、アイコン1101bの表示形態を他のアイコン1101a、1101c〜1101iの表示形態とは異なる表示形態で表示する。この画面を見たユーザは、どのニューロンが特定の特徴に反応しているのかを、それぞれのアイコンの表示形態の変化の時系列(処理過程におけるそれぞれのニューロンの発火/非発火を表す情報)を観察することで把握することができる。然るにユーザは入力装置105を用いて、中間層におけるニューロン群のうち発火頻度の高いニューロンのIDを入力すればよい。その場合、パラメタ更新部308は、この入力されたIDに対応するニューロンを注目ニューロンとして取り扱うことになる。
もちろん、ユーザの操作を介さずに注目ニューロンを選択しても良く、例えば、情報処理装置側で、上記のヒストグラムにおいて特定の特徴に対して最も発火頻度が高かったニューロンのIDを特定し、該特定したIDに対応するニューロンを注目ニューロンとして指定しても構わない。
このように、本実施形態によれば、様々な画像でよく現れる一般的な特徴および限られた対象で現れる特定の特徴の両方を学習する階層型ニューラルネットワークを構築することが可能となる。
なお、本実施形態ではバッチ学習の場合を説明したが、学習はオンラインで行っても良い。オンライン学習の場合は1データセットを処理するごとに順次重みとバイアスを更新し、次々とデータセットを適用して更新する。また、学習対象は、ノイズ低減処理以外にも、音声認識など他の処理を目的とした処理であっても構わない。
また、本実施形態では、調整対象にバイアス値を含めていたが、バイアス値は調整対象から外しても構わない。この場合、調整対象は重み係数のみとなる。その場合におけるバイアス値の設定方法は学習内容や階層型ニューラルネットワークの構成などに応じて適宜決めればよい。
[第2の実施形態]
本実施形態では、注目ニューロンを設定した階層型ニューラルネットワークと、注目ニューロンを設定していない階層型ニューラルネットワークと、を組み合わせた複合階層型ニューラルネットワークにおける学習について説明する。なお、以下では、前者の階層型ニューラルネットワークを専門NN(ニューラルネットワーク)、後者の階層型ニューラルネットワークを一般NNと呼称する場合がある。本実施形態では1つの専門NN及び1つの一般NNから構成される複合階層型ニューラルネットワークを構築する場合について説明するが、それぞれのNNの数は1に限るものではない。以下では、第1の実施形態との差分について重点的に説明し、以下で特に触れない限りは第1の実施形態と同様であるものとする。
本実施形態では、注目ニューロンを設定した階層型ニューラルネットワークと、注目ニューロンを設定していない階層型ニューラルネットワークと、を組み合わせた複合階層型ニューラルネットワークにおける学習について説明する。なお、以下では、前者の階層型ニューラルネットワークを専門NN(ニューラルネットワーク)、後者の階層型ニューラルネットワークを一般NNと呼称する場合がある。本実施形態では1つの専門NN及び1つの一般NNから構成される複合階層型ニューラルネットワークを構築する場合について説明するが、それぞれのNNの数は1に限るものではない。以下では、第1の実施形態との差分について重点的に説明し、以下で特に触れない限りは第1の実施形態と同様であるものとする。
先ず、本実施形態に係る複合階層型ニューラルネットワークの構成例について、図7を用いて説明する。図7では一般NNは4層で構成されており、1層目(入力層)と2層目とで構成されている一般NN前段と、3層目と4層目(出力層)とで構成されている一般NN後段と、に分けられる。一般NN前段の出力(一般NNにおける2層目の出力)は専門NNの1層目(入力層)、及び一般NN後段の1層目(一般NNにおける3層目)に入力可能に構成されている。また、一般NN後段の1層目(一般NNにおける3層目)には、専門NNのk層目(出力層)の出力、及び一般NN前段の出力が入力可能に構成されている。また、図7では、専門NNの1層目のニューロンn211が注目ニューロンとして設定されている。
本実施形態では、入力に対して出力の画素数は同じでチャンネル数が増えるデモザイクを学習する場合について説明する。然るに、一般NNの1層目におけるニューロンの数は、第1の実施形態と同様に、入力される画像の画素数と同じであるが、一般NNの4層目におけるニューロンの数は、該画素数にチャネル数を乗じた数となる。また、一般NNの2層目におけるニューロンの数と専門NNの1層目におけるニューロンの数は同じであり、専門NNのk層目におけるニューロンの数と一般NNの3層目のニューロンの数とは同じである。
本実施形態に係る複合階層型ニューラルネットワークにおける学習は、先ず、一般NNの学習を完了させた後に専門NNの学習を完了させ、最後に学習が完了したそれぞれのNNを用いて学習を行う。
一般NNにおける学習では先ず、一般NNの1層目にデモザイク前の画像を生徒データとして入力して2層目、3層目、4層目、の出力を求めた後、4層目の出力と、該生徒データに対応するデモザイク画像である教師データと、の差分を極小化するように一般NNの重み係数及びバイアス値を調整して確定させる。
式(8)においてdtはデモザイク画像である教師データ、doは、一般NNの4層目の出力、Loは極小化の対象となる差分である。この差分Loを評価値として用いて、該評価値を極小化するように一般NNの重み係数及びバイアス値を調整する処理は第1の実施形態で説明したとおりである。ここで、一般NNの重み係数及びバイアス値が確定するまでは、専門NNは動作させないことに注意されたい。
そして一般NNの重み係数及びバイアス値が確定すると、次に、専門NNの学習を行う。専門NNの学習では先ず、一般NNの1層目にデモザイク前の画像を生徒データとして入力して一般NNの1層目、2層目の出力を求める。そして、一般NNの2層目の出力を専門NNに対する生徒データとして専門NNの1層目に入力して専門NNの各層の出力を求める。そして、専門NNのk層目の出力と一般NNの2層目の出力との差分と、注目ニューロンの出力と注目ニューロン用の教師データとの差分と、の合計を極小化するように専門NNの重み係数及びバイアス値を調整して確定させる。この場合の専門NNにおける学習で用いる評価値Lsを以下に示す。
式(9)においてdstは、一般NNの2層目の出力、dsoは専門NNのk層目の出力、を表す。この式(9)では注目ニューロンがニューロンn211である場合を想定している。
専門NNの重み係数及びバイアス値を確定させると、次に、重み係数及びバイアス値を確定させた一般NN及び重み係数及びバイアス値を確定させた専門NNを動作させて、複合階層型ニューラルネットワークの重み係数及びバイアス値を調整してデモザイクを学習させる。すなわち、一般NNの1層目にデモザイク前の画像を生徒データとして入力して1層目、2層目の出力を求めると共に、一般NNの2層目の出力を専門NNの1層目に入力させて専門NNの各層の出力を求める。そして一般NNの2層目の出力及び専門NNのk層目の出力を一般NNの3層目に入力して3層目及び4層目の出力を計算し、該4層目の出力と該生徒データに対応するデモザイク画像である教師データとの差分と、注目ニューロンの出力と注目ニューロン用の教師データとの差分と、の合計を極小化するように一般NN及び専門NNの重み係数及びバイアス値(一般NNと専門NNとの間の重み係数も含む)を調整して確定させる。この場合における評価値Lallを以下に示す。
もちろん、他の対象を学習対象としても、生徒データ、教師データ、注目ニューロン用の教師データ、層の数や層内のニューロンの数等が変更されるのみで、複合階層型ニューラルネットワークの学習動作は基本的には同じである。
次に、以上説明した、複合階層型ニューラルネットワークの学習処理を実行する際の情報処理装置の機能構成例について、図5のブロック図を用いて説明する。図5において、図3に示した機能部と同じ機能部には同じ参照番号を付しており、該機能部に係る説明は省略する。第1の実施形態と同様、パラメタ保持部501以外の各機能部は何れもコンピュータプログラムとして実装され、記憶装置103に保存されているものとする。以下では、これらの機能部を処理の主体として説明する場合もあるが、実際にはCPU101が該機能部に対応するコンピュータプログラムを実行することで、対応する処理が実現される。しかし、これらの機能部の全てをコンピュータプログラムで実装することに限るものではなく、一部をハードウェアで実装しても構わない。また、パラメタ保持部501は、記憶装置103や外部メモリ106が有するメモリ領域の一部として実装されるものとする。なお、図5に示した全ての機能部をハードウェアで構成しても構わない。
パラメタ保持部501は、一般NN及び専門NNのそれぞれについて、各層間の重み係数(一般NNと専門NNとの間の重み係数も含む)及び各層のバイアス値の初期値や前回の学習時の値を保持する。また、パラメタ保持部501は、上記の学習用の式においてβ、p、q、等のパラメータも保持している。
一般前段処理部502は、生徒データ入力部301からの生徒データを一般NNにおける1層目に入力し、パラメタ保持部501に保持されている一般NN用の重み係数及びバイアス値を用いて、一般NNにおける1層目及び2層目の出力を求める。
処理部503は、一般NNにおける2層目の出力を専門NNの1層目に入力し、パラメタ保持部501に保持されている専門NNの各層の重み係数及びバイアス値を用いて、専門NNにおける各層の出力を求める。
一般後段処理部505は、専門NNのk層目からの出力及び一般NNにおける2層目からの出力(複合階層型ニューラルネットワークの学習時)、若しくは一般NNにおける2層目からの出力(一般NNのみの学習時)、を一般NNにおける3層目に入力し、パラメタ保持部501に保持されている一般NN用の重み係数及びバイアス値を用いて、一般NNにおける3層目及び4層目の出力を求める。
パラメタ更新部507は、一般NNのみの学習時には、一般NNにおける4層目の出力と、教師データ入力部306からの教師データと、の差分を極小化するように、一般NNにおけるそれぞれの重み係数及びバイアス値を更新する。また、専門NNのみの学習時には、専門NNのk層目の出力と一般NNの2層目の出力との差分と、注目ニューロンの出力と注目ニューロン用の教師データとの差分と、の合計を極小化するように専門NNの重み係数及びバイアス値を更新する。また、複合階層型ニューラルネットワークの学習時には、一般NNにおける4層目の出力と教師データ入力部306からの教師データとの差分と、注目ニューロンの出力と注目ニューロン用の教師データとの差分と、の合計を極小化するように、複合階層型ニューラルネットワークの重み係数及びバイアス値を更新する。そしてパラメタ更新部507は、学習の終了条件が満たされた場合には、この時点における重み係数及びバイアス値を記憶装置103や外部メモリ106に登録し、満たされていない場合には、重み係数及びバイアス値の更新を続ける。なお、学習の終了条件が満たされた場合には、パラメタ更新部308はその旨を一般前段処理部502や処理部503や一般後段処理部505にも通知するので、これらの機能部は処理を停止する。
次に、一般NN及び専門NNの学習が完了した後で、複合階層型ニューラルネットワークにおけるそれぞれの重み係数及びバイアス値を調整する処理について、図6のフローチャートを用いて説明する。
ステップS601では、一般前段処理部502及び一般後段処理部505は、パラメタ保持部501に保持されている一般NN用の重み係数及びバイアス値を一般NNに設定して、一般NNを確定させる。また、処理部503は、パラメタ保持部501に保持されている専門NN用の重み係数及びバイアス値を専門NNに設定して、専門NNを確定させる。なお、専門NNと一般NNとの間の重み係数については、一般NN用の重み係数に含まれているものとする。なお、この時点で設定する重み係数及びバイアス値は初期値であり、予め作成された規定の値であっても良いし、乱数により決定した値であっても良い。
ステップS602では、生徒データ入力部301は、一般NNの入力層に入力する入力データを生徒データとして一般前段処理部502に入力する。
ステップS603では、教師データ入力部306は、生徒データ入力部301が一般前段処理部502に供給した生徒データと対になっている教師データをパラメタ更新部507に供給する。
ステップS604では、教師注目ニューロン活動入力部307は、専門NNにおいて注目ニューロンとして選択されたニューロンに対する教師データをパラメタ更新部507に供給する。
ステップS605では、一般前段処理部502は、一般NNの1層目に生徒データ入力部301からの生徒データを入力して一般NNを動作させて、一般NNにおける1層目及び2層目の出力を求める。
ステップS606では、処理部503は、ステップS605で求めた一般NNの2層目の出力を専門NNの入力層に入力して専門NNを動作させて、専門NNにおける各層の出力を求める。
ステップS608では、一般後段処理部505は、一般NNの3層目に、一般NNにおける2層目からの出力及び専門NNの出力層からの出力を入力して一般NNを動作させて、一般NNにおける3層目及び4層目の出力を求める。
ステップS609では、パラメタ更新部507は、学習の終了条件を判定する。上記の通り、評価値Lallやその変化率が規定値以下となっている場合や、学習回数が規定回数以上となっている場合に、学習の終了条件が満たされたと判断する。
この判断の結果、学習の終了条件が満たされた場合には、処理はステップS610を介してステップS612に進み、満たされていないと判断した場合には、処理はステップS610を介してステップS611に進む。
ステップS611では、パラメタ更新部507は、一般NNの出力層における出力と教師データ入力部306から供給された教師データとの差分(第1の差分)を求める。更にパラメタ更新部507は、処理部503が求めた専門NNの注目ニューロンの出力と教師注目ニューロン活動入力部307から供給された教師データとの差分(第2の差分)を求める。そしてパラメタ更新部507は、第1の差分と第2の差分との合計を極小化するように、複合階層型ニューラルネットワークにおけるそれぞれの重み係数及びバイアス値を更新する。更新された重み係数及びバイアス値はパラメタ保持部501にて管理される。そして処理はステップS605に戻る。
一方、ステップS612では、パラメタ更新部507は、この時点における重み係数及びバイアス値を学習済みの重み係数及びバイアス値として、記憶装置103や外部メモリ106に登録する。
このように、本実施形態によれば、一般NNで一般的な学習、つまり特定の対象に限らない学習をしながら、専門NNにおいて特定の特徴を含む学習データも学習させることができる。これにより、特定の特徴に関して詳細に学習するように仕向けるので、様々なデータでよく現れる一般的な特徴と限られた対象でよく現れる特定の特徴の両方を学習する階層型ニューラルネットワークを構築することができる。
なお、本実施形態では図7に示す如く、一般NNは4層から構成されるものとして説明したが、層の数は4に限るものではない。また、図7では専門NNの1層目におけるニューロンn211を注目ニューロンとして設定しているが、専門NNにおける他のニューロンを注目ニューロンとして設定しても構わない。
なお、本実施形態で説明した専門NNにおける学習とは、以下のような学習動作の一例に過ぎない。すなわち、専門NNとは、学習済み階層型ニューラルネットワークにおける第1の中間層からの出力を入力として受けて処理し、該処理の結果を該学習済み階層型ニューラルネットワークにおける第2の中間層に出力する階層型ニューラルネットワークのことである。このような専門NNにおける学習処理では、該学習済み階層型ニューラルネットワークにおいて該第2の中間層に出力する中間層の出力と専門NNにおける出力層の出力との差分と、専門NNにおける注目ニューロンの出力と教師データとの差分と、の合計を極小化するように、専門NNにおける階層間の結合係数を調整する。
そして、このような学習処理の後、学習済み階層型ニューラルネットワークの出力層における出力と該出力層用の教師データとの差分と、専門NNにおける注目ニューロンの出力と該注目ニューロン用の教師データとの差分と、の合計を極小化するように、学習済み階層型ニューラルネットワーク及び専門NNにおける階層間の結合係数と、学習済み階層型ニューラルネットワークと専門NNとの間の結合係数と、を調整する。
[第3の実施形態]
本実施形態では、図10に示す如く、複数個の階層型ニューラルネットワークのそれぞれに同じデータを入力させて並列に動作させ、それらの出力を統合して最終的な出力を得る複合階層型ニューラルネットワークについて説明する。この複数個の階層型ニューラルネットワークには、注目ニューロンを設定した階層型ニューラルネットワーク、即ち専門NNと、注目ニューロンを設定していない階層型ニューラルネットワーク、即ち一般NNと、が含まれている。図10では説明を簡単にするために1つの一般NNと1つの専門NNとを有する複合階層型ニューラルネットワークを示しているが、一般NN及び専門NNのそれぞれの数はこれに限るものではない。以下では、第1の実施形態との差分について重点的に説明し、以下で特に触れない限りは第1に実施形態と同様であるものとする。
本実施形態では、図10に示す如く、複数個の階層型ニューラルネットワークのそれぞれに同じデータを入力させて並列に動作させ、それらの出力を統合して最終的な出力を得る複合階層型ニューラルネットワークについて説明する。この複数個の階層型ニューラルネットワークには、注目ニューロンを設定した階層型ニューラルネットワーク、即ち専門NNと、注目ニューロンを設定していない階層型ニューラルネットワーク、即ち一般NNと、が含まれている。図10では説明を簡単にするために1つの一般NNと1つの専門NNとを有する複合階層型ニューラルネットワークを示しているが、一般NN及び専門NNのそれぞれの数はこれに限るものではない。以下では、第1の実施形態との差分について重点的に説明し、以下で特に触れない限りは第1に実施形態と同様であるものとする。
本実施形態に係る複合階層型ニューラルネットワークにおける学習では、それぞれの階層型ニューラルネットワークで別個に学習を行い、それぞれの階層型ニューラルネットワークにおける学習が完了したあとで、複合階層型ニューラルネットワーク全体の学習を行う。なお、それぞれの階層型ニューラルネットワークのうち一般NNについては従来の方法で学習を行い、専門NNについては第1の実施形態で説明した学習方法でもって学習を行う。
入力部1001は、一般NN及び専門NNのそれぞれに対して生徒データを入力する。統合部1003は、一般NN及び専門NNのそれぞれの出力層からの出力を、専門NNにおいて注目ニューロンとして指定されているニューロンからの出力を用いて統合し、該統合の結果を、複合階層型ニューラルネットワークにおける最終的な出力として出力する。
ここで、複合階層型ニューラルネットワークが複数の専門NNを有する場合、それぞれの専門NNには異なる情報処理機能を学習させ、且つ該専門NNにおける注目ニューロンには該情報処理機能に応じた特定の特徴量を学習させる。例えば、一方の専門NNにおける注目ニューロンには繊維を学習させ、他方の専門NNにおける注目ニューロンには岩肌を学習させる。例えば、複合階層型ニューラルネットワークが1つの一般NNと複数の専門NNを有する場合、統合部1003は、例えば、以下の式(11)に従って、一般NN及び専門NNの出力を統合する。
式(11)においてdgは一般NNの出力層からの出力、riはi番目の専門NNにおける注目ニューロンからの出力、diはi番目の専門NNにおける出力層からの出力、を示している。Mは一般NN及び専門NNの合計数である。なお、出力の統合方法は式(11)に示した方法に限るものではなく、一般NN及び専門NNにおける出力結果のばらつきや正解率に基づく信頼度に応じた統合を行っても構わない。
出力部1004は、統合部1003から出力された最終的な出力を適当な出力先に対して出力する。
次に、以上説明した、複合階層型ニューラルネットワークの学習処理を実行する際の情報処理装置の機能構成例について、図8のブロック図を用いて説明する。図8において、図3、5に示した機能部と同じ機能部には同じ参照番号を付しており、該機能部に係る説明は省略する。
一般処理部801は、パラメタ保持部501に保持されている一般NN用の重み係数及びバイアス値を用いて一般NNを構成し、生徒データ入力部301から入力された生徒データを一般NNの入力層に入力して該一般NNを動作させることで、該一般NNにおける出力層からの出力を求める。なお、複合階層型ニューラルネットワークに一般NNが複数個含まれていた場合には、一般処理部801は、それぞれの一般NNについて、該一般NNにおける出力層からの出力を求める。
処理部802は、パラメタ保持部501に保持されている専門NN用の重み係数及びバイアス値を用いて専門NNを構築し、生徒データ入力部301から入力された生徒データを専門NNの入力層に入力して該専門NNを動作させることで、該専門NNにおける各層の出力を求める。なお、複合階層型ニューラルネットワークに専門NNが複数個含まれていた場合には、処理部802は、それぞれの専門NNについて、該専門NNにおける出力層からの出力を求める。
統合部803(図10の統合部1003)は、一般処理部801からの出力(一般NNの出力層からの出力)と、処理部802からの出力(専門NNの出力層からの出力)と、を処理部802からの出力(注目ニューロンの出力)を用いて統合した統合出力を求める。
パラメタ更新部805は、統合部803が求めた統合出力と、教師データ入力部306から供給された教師データと、の差分(第1の差分)を求める。更にパラメタ更新部805は、処理部802が求めた専門NNにおける中間層の注目ニューロンの出力と、教師注目ニューロン活動入力部307から供給された教師データと、の差分(第2の差分)を求める。そしてパラメタ更新部805は、第1の差分と第2の差分との合計を極小化するように、一般NN及び専門NNにおけるそれぞれの重み係数及びバイアス値を更新する。その際、パラメタ保持部501に保持されているパラメータを用いる。
例えばパラメタ更新部805は、以下の式(12)に示す評価値Lを極小化するように、一般NN及び専門NNにおけるそれぞれの重み係数及びバイアス値を更新する。
そしてパラメタ更新部805は、学習の終了条件が満たされた場合には、この時点における重み係数及びバイアス値を記憶装置103や外部メモリ106に登録し、満たされていない場合には、重み係数及びバイアス値の更新を続ける。なお、学習の終了条件が満たされた場合には、パラメタ更新部805はその旨を一般処理部801や処理部802にも通知するので、一般処理部801や処理部802は処理を停止する。
次に、一般NN及び専門NNの学習が完了した後で、複合階層型ニューラルネットワークにおけるそれぞれの重み係数及びバイアス値を調整する処理について、図9のフローチャートを用いて説明する。
ステップS901では、一般処理部801は、パラメタ保持部501に保持されている一般NN用の重み係数及びバイアス値を一般NNに設定して、一般NNを確定させる。また、処理部802は、パラメタ保持部501に保持されている専門NN用の重み係数及びバイアス値を専門NNに設定して、専門NNを確定させる。なお、この時点で設定する重み係数及びバイアス値は初期値であり、予め作成された規定の値であっても良いし、乱数により決定した値であっても良い。
ステップS902では、生徒データ入力部301は、生徒データを一般処理部801及び処理部802に入力する。
ステップS903では、教師データ入力部306は、生徒データ入力部301が一般処理部801及び処理部802に供給した生徒データと対になっている教師データをパラメタ更新部805に供給する。
ステップS904では、教師注目ニューロン活動入力部307は、注目ニューロンに対する教師データをパラメタ更新部805に供給する。
ステップS905における処理と、ステップS906における処理と、は並行して実行する。すなわち、専門NNと一般NNとを並列に動作させる。ステップS905では、一般処理部801は、一般NNの入力層に生徒データ入力部301からの生徒データを入力して該一般NNを動作させて、出力層からの出力を求める。ステップS906では、一般処理部801は、専門NNの入力層に生徒データ入力部301からの生徒データを入力して該専門NNを動作させて各層からの出力を求める。
ステップS908では、統合部803は、上記の式(11)に従って、一般NNからの出力と専門NNからの出力とを、を注目ニューロンの出力を用いて統合した統合出力を求める。
ステップS909では、パラメタ更新部805は、学習の終了条件を判定する。上記の通り、評価値Lやその変化率が規定値以下となっている場合や、学習回数が規定回数以上となっている場合に、学習の終了条件が満たされたと判断する。この判断の結果、学習の終了条件が満たされた場合には、処理はステップS910を介してステップS912に進み、満たされていないと判断した場合には、処理はステップS910を介してステップS911に進む。
ステップS911では、パラメタ更新部805は、ステップS908で統合部803が求めた統合出力と、教師データ入力部306から供給された教師データと、の差分(第1の差分)を求める。更にパラメタ更新部805は、処理部802が求めた専門NNにおける中間層の注目ニューロンの出力と、教師注目ニューロン活動入力部307から供給された教師データと、の差分(第2の差分)を求める。そしてパラメタ更新部805は、第1の差分と第2の差分との合計を極小化するように、一般NN及び専門NNにおけるそれぞれの重み係数及びバイアス値を更新する。更新された重み係数及びバイアス値はパラメタ保持部501にて管理される。そして処理はステップS905及びステップS906に戻る。
一方、ステップS912では、パラメタ更新部805は、この時点における重み係数及びバイアス値を学習済みの重み係数及びバイアス値として、記憶装置103や外部メモリ106に登録する。
このように、本実施形態によれば、一般NNによる出力と専門NNによる出力とを統合して全体の出力とすることで、様々な対象で現れる一般的な特徴と限られた対象でよく現れる特定の特徴の両方を学習する階層型ニューラルネットワークを構築することができる。
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
301:生徒データ入力部 303:処理部 308:パラメタ更新部
Claims (11)
- 階層型ニューラルネットワークにおける出力層の出力と第1の教師データとの差分と、該階層型ニューラルネットワークにおける中間層の注目ニューロンの出力と第2の教師データとの差分と、の合計を極小化するように、該階層型ニューラルネットワークにおける階層間の結合係数を調整する処理手段を備えることを特徴とする情報処理装置。
- 更に、
前記調整に先立って、前記第1の教師データと同じ学習対象の教師データと前記階層型ニューラルネットワークにおける出力層の出力との差分を極小化するように該階層型ニューラルネットワークにおける階層間の結合係数を調整する処理を行うことで得られる、該階層型ニューラルネットワークの中間層におけるそれぞれのニューロンの発火頻度を表示する表示手段を備えることを特徴とする請求項1に記載の情報処理装置。 - 更に、
前記調整に先立って、前記第1の教師データと同じ学習対象の教師データと前記階層型ニューラルネットワークにおける出力層の出力との差分を極小化するように該階層型ニューラルネットワークにおける階層間の結合係数を調整する処理の過程を表示する表示手段を備えることを特徴とする請求項1に記載の情報処理装置。 - 前記表示手段は、前記過程におけるそれぞれのニューロンの発火/非発火を表す情報を表示することを特徴とする請求項3に記載の情報処理装置。
- 更に、
前記調整に先立って、前記第1の教師データと同じ学習対象の教師データと前記階層型ニューラルネットワークにおける出力層の出力との差分を極小化するように該階層型ニューラルネットワークにおける階層間の結合係数を調整する処理を行った場合に、前記中間層において、特定の特徴に対して最も発火頻度が高いニューロンを前記注目ニューロンとして指定する手段を備えることを特徴とする請求項1乃至4の何れか1項に記載の情報処理装置。 - 学習済み階層型ニューラルネットワークにおける第1の中間層からの出力を入力として受けて処理し、該処理の結果を該学習済み階層型ニューラルネットワークにおける第2の中間層に出力する階層型ニューラルネットワークの学習処理を実行する処理手段であって、
前記処理手段は、該学習済み階層型ニューラルネットワークにおいて該第2の中間層に出力する中間層の出力と該階層型ニューラルネットワークにおける出力層の出力との差分と、該階層型ニューラルネットワークにおける注目ニューロンの出力と教師データとの差分と、の合計を極小化するように、該階層型ニューラルネットワークにおける階層間の結合係数を調整する
ことを特徴とする情報処理装置。 - 前記処理手段は前記階層型ニューラルネットワークの学習処理の後、
前記学習済み階層型ニューラルネットワークの出力層における出力と該出力層用の教師データとの差分と、前記階層型ニューラルネットワークにおける注目ニューロンの出力と該注目ニューロン用の教師データとの差分と、の合計を極小化するように、前記学習済み階層型ニューラルネットワーク及び前記階層型ニューラルネットワークにおける階層間の結合係数と、前記学習済み階層型ニューラルネットワークと前記階層型ニューラルネットワークとの間の結合係数と、を調整する
ことを特徴とする請求項6に記載の情報処理装置。 - 前記処理手段は更に、前記合計を極小化するように、前記階層型ニューラルネットワークにおける各層のニューロンのバイアスを調整することを特徴とする請求項1乃至7の何れか1項に記載の情報処理装置。
- 情報処理装置の処理手段が、階層型ニューラルネットワークにおける出力層の出力と第1の教師データとの差分と、該階層型ニューラルネットワークにおける中間層の注目ニューロンの出力と第2の教師データとの差分と、の合計を極小化するように、該階層型ニューラルネットワークにおける階層間の結合係数を調整することを特徴とする情報処理方法。
- 情報処理装置の処理手段が、学習済み階層型ニューラルネットワークにおける第1の中間層からの出力を入力として受けて処理し、該処理の結果を該学習済み階層型ニューラルネットワークにおける第2の中間層に出力する階層型ニューラルネットワークの学習処理を実行する処理工程であって、
前記処理工程では、該学習済み階層型ニューラルネットワークにおいて該第2の中間層に出力する中間層の出力と該階層型ニューラルネットワークにおける出力層の出力との差分と、該階層型ニューラルネットワークにおける注目ニューロンの出力と教師データとの差分と、の合計を極小化するように、該階層型ニューラルネットワークにおける階層間の結合係数を調整する
ことを特徴とする情報処理方法。 - コンピュータを、請求項1乃至8の何れか1項に記載の情報処理装置の各手段として機能させるためのコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014155451A JP2016031746A (ja) | 2014-07-30 | 2014-07-30 | 情報処理装置、情報処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014155451A JP2016031746A (ja) | 2014-07-30 | 2014-07-30 | 情報処理装置、情報処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016031746A true JP2016031746A (ja) | 2016-03-07 |
Family
ID=55442059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014155451A Pending JP2016031746A (ja) | 2014-07-30 | 2014-07-30 | 情報処理装置、情報処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016031746A (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106250874A (zh) * | 2016-08-16 | 2016-12-21 | 东方网力科技股份有限公司 | 一种服饰及随身物品的识别方法和装置 |
JP2018106237A (ja) * | 2016-12-22 | 2018-07-05 | キヤノン株式会社 | 情報処理装置、情報処理方法及びプログラム |
JP2018128942A (ja) * | 2017-02-10 | 2018-08-16 | ヤフー株式会社 | 解析装置、解析方法、およびプログラム |
WO2020003607A1 (ja) * | 2018-06-25 | 2020-01-02 | オリンパス株式会社 | 情報処理装置、モデル学習方法、データ認識方法および学習済みモデル |
JP2020042664A (ja) * | 2018-09-12 | 2020-03-19 | キヤノン株式会社 | 学習装置、パラメータの作成方法、ニューラルネットワーク及びこれを用いた情報処理装置 |
JP2020115257A (ja) * | 2019-01-17 | 2020-07-30 | 富士通株式会社 | 学習方法、学習プログラムおよび学習装置 |
CN113557536A (zh) * | 2019-04-25 | 2021-10-26 | 欧姆龙株式会社 | 学习系统、数据生成装置、数据生成方法及数据生成程序 |
KR20230153366A (ko) | 2021-03-03 | 2023-11-06 | 도요보 가부시키가이샤 | 적층 필름, 적층 필름의 제조 방법, 적층체, 및 적층체의 제조 방법 |
-
2014
- 2014-07-30 JP JP2014155451A patent/JP2016031746A/ja active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106250874A (zh) * | 2016-08-16 | 2016-12-21 | 东方网力科技股份有限公司 | 一种服饰及随身物品的识别方法和装置 |
CN106250874B (zh) * | 2016-08-16 | 2019-04-30 | 东方网力科技股份有限公司 | 一种服饰及随身物品的识别方法和装置 |
JP2018106237A (ja) * | 2016-12-22 | 2018-07-05 | キヤノン株式会社 | 情報処理装置、情報処理方法及びプログラム |
JP2018128942A (ja) * | 2017-02-10 | 2018-08-16 | ヤフー株式会社 | 解析装置、解析方法、およびプログラム |
WO2020003607A1 (ja) * | 2018-06-25 | 2020-01-02 | オリンパス株式会社 | 情報処理装置、モデル学習方法、データ認識方法および学習済みモデル |
JP2020042664A (ja) * | 2018-09-12 | 2020-03-19 | キヤノン株式会社 | 学習装置、パラメータの作成方法、ニューラルネットワーク及びこれを用いた情報処理装置 |
JP7316771B2 (ja) | 2018-09-12 | 2023-07-28 | キヤノン株式会社 | 学習装置、パラメータの作成方法、ニューラルネットワーク及びこれを用いた情報処理装置 |
JP2020115257A (ja) * | 2019-01-17 | 2020-07-30 | 富士通株式会社 | 学習方法、学習プログラムおよび学習装置 |
JP7279368B2 (ja) | 2019-01-17 | 2023-05-23 | 富士通株式会社 | 学習方法、学習プログラムおよび学習装置 |
CN113557536A (zh) * | 2019-04-25 | 2021-10-26 | 欧姆龙株式会社 | 学习系统、数据生成装置、数据生成方法及数据生成程序 |
CN113557536B (zh) * | 2019-04-25 | 2024-05-31 | 欧姆龙株式会社 | 学习系统、数据生成装置、数据生成方法及存储介质 |
KR20230153366A (ko) | 2021-03-03 | 2023-11-06 | 도요보 가부시키가이샤 | 적층 필름, 적층 필름의 제조 방법, 적층체, 및 적층체의 제조 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2016031746A (ja) | 情報処理装置、情報処理方法 | |
Santo et al. | Deep photometric stereo network | |
CN107358293B (zh) | 一种神经网络训练方法及装置 | |
KR102485503B1 (ko) | 이미지 데이터베이스 분석 기반 상품 추천 장치 및 방법 | |
JP2016139176A (ja) | 画像処理装置、画像処理システム、画像処理方法、およびその画像処理プログラム | |
CN109196526A (zh) | 用于生成多模态数字图像的方法和系统 | |
De Fauw et al. | Hierarchical autoregressive image models with auxiliary decoders | |
JP2016031747A (ja) | 情報処理装置、情報処理方法 | |
CN105608447A (zh) | 对人体面部微笑表情深度卷积神经网络的检测方法 | |
CN106295682A (zh) | 一种判断图片质量因子的方法、装置和计算设备 | |
JP7228961B2 (ja) | ニューラルネットワークの学習装置およびその制御方法 | |
WO2022082848A1 (zh) | 高光谱图像分类方法及相关设备 | |
CN110232326A (zh) | 一种三维物体识别方法、装置及存储介质 | |
CN108510013A (zh) | 基于低秩核心矩阵的改进稳健张量主成分分析方法 | |
WO2019090901A1 (zh) | 图像显示的选择方法、装置、智能终端及存储介质 | |
JP7008081B2 (ja) | ニューラルネットワークの学習方法、学習装置、学習済みモデル及びプログラム | |
JP2023537262A (ja) | 空間イメージ分析基盤配色推薦装置及び方法 | |
EP4083937A1 (en) | System and method for hair analysis of user | |
KR102430743B1 (ko) | 데이터 증강 기반 사물 분석 모델 학습 장치 및 방법 | |
JPWO2018083853A1 (ja) | 視野感度推定装置、視野感度推定装置の制御方法、及びプログラム | |
US20220358752A1 (en) | Apparatus and method for developing space analysis model based on data augmentation | |
Gottemukkula | Polynomial activation functions | |
CN112612207B (zh) | 不确定环境下多目标博弈求解方法及系统 | |
CN110766079B (zh) | 用于屏幕异常画面检测的训练数据的生成方法与装置 | |
Abualola et al. | Development of Colorization of Grayscale Images Using CNN-SVM |