(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-08
(45)【発行日】2024-05-16
(54)【発明の名称】ソフトウェアプログラム、回路基板及びニューラルネットワークの生成方法
(51)【国際特許分類】
G06N 3/04 20230101AFI20240509BHJP
G06N 3/08 20230101ALI20240509BHJP
G06N 20/00 20190101ALI20240509BHJP
【FI】
G06N3/04
G06N3/08
G06N20/00 130
(21)【出願番号】P 2020005238
(22)【出願日】2020-01-16
【審査請求日】2022-12-19
【新規性喪失の例外の表示】特許法第30条第2項適用 鈴木 章央、田向 権、中間層に余剰ニューロンを持った自己符号化器、(一社)映像情報メディア学会、映像情報メディア学会技術報告 Vol.43,No.16、立体映像技術(3DIT2019-16)、2019年6月6日発行、第11-16頁にて公開。
(73)【特許権者】
【識別番号】504174135
【氏名又は名称】国立大学法人九州工業大学
(74)【代理人】
【識別番号】100120086
【氏名又は名称】▲高▼津 一也
(74)【代理人】
【識別番号】100090697
【氏名又は名称】中前 富士男
(74)【代理人】
【識別番号】100176142
【氏名又は名称】清井 洋平
(74)【代理人】
【氏名又は名称】来田 義弘
(72)【発明者】
【氏名】田向 権
(72)【発明者】
【氏名】鈴木 章央
【審査官】大塚 俊範
(56)【参考文献】
【文献】特開平05-342187(JP,A)
【文献】国際公開第2018/008593(WO,A1)
【文献】特開2019-091236(JP,A)
【文献】特開平05-307536(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/04
G06N 3/08
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
それぞれ複数のニューロンが設けられた入力層、中間層及び出力層を有し、前記入力層に与えられる入力データを対応するクラスに分類するニューラルネットワーク
をコンピュータに実現させるソフトウェアプログラムにおいて、
前記ニューラルネットワークは、前記入力層に与えられる入力データが、分類すべきデータである際に反応せず、
分類可能であるが分類すべきでないデータ
として学習したデータ又は分類することが不可能なデータである際に反応する余剰ニューロンを、前記中間層に備えることを特徴とする
ソフトウェアプログラム。
【請求項2】
それぞれ複数のニューロンが設けられた入力層、中間層及び出力層を有し、前記入力層に与えられる入力データを対応するクラスに分類するニューラルネットワーク
を実現する回路基板において、
前記ニューラルネットワークは、前記入力層に与えられる入力データが、分類すべきデータである際に反応せず、
分類可能であるが分類すべきでないデータ
として学習したデータ又は分類することが不可能なデータである際に反応する余剰ニューロンを、前記中間層に備えることを特徴とする
回路基板。
【請求項3】
入力層P、中間層Q及び出力層Rを有し、該入力層Pに与えられた入力データを対応するクラスに分類する第1ニューラルネットワークを生成するニューラルネットワークの生成方法において、
入力層J、余剰ニューロンが設けられた中間層K及び出力層Lを有する第2ニューラルネットワークに対し、分類すべき学習用の入力データを前記入力層Jに与え、前記余剰ニューロンに、該余剰ニューロンが無反応なことを意味する無反応データを教師データとして与える工程Aと、
前記第2ニューラルネットワークに対し、
分類可能であるが分類すべきでない
データとして学習する学習用の入力データ
又は分類することが不可能な学習用の入力データを前記入力層Jに与え、前記余剰ニューロンに、該余剰ニューロンが反応していることを意味する反応データを教師データとして与える工程Bと、
前記第2ニューラルネットワークに対し、入力データを前記入力層Jに与え、該入力層Jに与えた入力データを、前記出力層Lから出力される出力データの教師データとして与える工程Cと、
前記第1ニューラルネットワークに、前記工程A、B、Cを経た前記第2ニューラルネットワークの前記入力層J及び前記中間層Kを、前記入力層P及び前記中間層Qとしてそれぞれ組み込む工程Dとを有することを特徴とするニューラルネットワークの生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、入力データに対応した出力データを導出するニューラルネットワークをコンピュータに実現させるソフトウェアプログラム、同ニューラルネットワークを実現する回路基板及び同ニューラルネットワークの生成方法に関する。
【背景技術】
【0002】
深層学習は、ニューラルネットワークに関わる技術の1つで、画像処理や自然言語処理の分野で盛んに研究されている(特許文献1、2参照)。特に画像処理の物体認識タスクにおいて、深層学習は、特徴抽出と識別とを直結させた認識処理の形態及びその性能の高さから注目されている。
認識処理では、人が分類したラベル付き学習用データを教師として、ニューラルネットワークを教師あり学習し、対応するクラスに正しく分類できるようにする。画像認識処理を行う場合、前処理として認識を行う領域を入力データ(画像データ)から切り出す領域分割処理がなされる。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2019-161665号公報
【文献】特開2019-159823号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、領域分割処理により切り出された領域が認識対象外の場合がある。これは、教師あり学習したニューラルネットワークが、どのような入力データであっても必ずその入力データをいずれかのクラスに分類するためであり、こうした場合、誤認識となり、認識精度の低下を招く。教師あり学習を用いて未知データを分類するのは難しく、これは、多層パーセプトロン、畳み込みニューラルネットワーク、自己回帰型ネットワーク等に共通する課題である。
本発明は、かかる事情に鑑みてなされたもので、入力データが分類すべきでないデータに対応可能なニューラルネットワークをコンピュータに実現させるソフトウェアプログラム、そのニューラルネットワークを実現する回路基板及びそのニューラルネットワークの生成方法を提供することを目的とする。
【課題を解決するための手段】
【0005】
前記目的に沿う第1の発明に係るソフトウェアプログラムは、それぞれ複数のニューロンが設けられた入力層、中間層及び出力層を有し、前記入力層に与えられる入力データを対応するクラスに分類するニューラルネットワークをコンピュータに実現させるソフトウェアプログラムにおいて、前記ニューラルネットワークは、前記入力層に与えられる入力データが、分類すべきデータである際に反応せず、分類可能であるが分類すべきでないデータとして学習したデータ又は分類することが不可能なデータである際に反応する余剰ニューロンを、前記中間層に備える。
前記目的に沿う第2の発明に係る回路基板は、それぞれ複数のニューロンが設けられた入力層、中間層及び出力層を有し、前記入力層に与えられる入力データを対応するクラスに分類するニューラルネットワークを実現する回路基板において、前記ニューラルネットワークは、前記入力層に与えられる入力データが、分類すべきデータである際に反応せず、分類可能であるが分類すべきでないデータとして学習したデータ又は分類することが不可能なデータである際に反応する余剰ニューロンを、前記中間層に備える。
【0006】
前記目的に沿う第3の発明に係るニューラルネットワークの生成方法は、入力層P、中間層Q及び出力層Rを有し、該入力層Pに与えられた入力データを対応するクラスに分類する第1ニューラルネットワークを生成するニューラルネットワークの生成方法において、
入力層J、余剰ニューロンが設けられた中間層K及び出力層Lを有する第2ニューラルネットワークに対し、分類すべき学習用の入力データを前記入力層Jに与え、前記余剰ニューロンに、該余剰ニューロンが無反応なことを意味する無反応データを教師データとして与える工程Aと、前記第2ニューラルネットワークに対し、分類可能であるが分類すべきでないデータとして学習する学習用の入力データ又は分類することが不可能な学習用の入力データを前記入力層Jに与え、前記余剰ニューロンに、該余剰ニューロンが反応していることを意味する反応データを教師データとして与える工程Bと、前記第2ニューラルネットワークに対し、入力データを前記入力層Jに与え、該入力層Jに与えた入力データを、前記出力層Lから出力される出力データの教師データとして与える工程Cと、前記第1ニューラルネットワークに、前記工程A、B、Cを経た前記第2ニューラルネットワークの前記入力層J及び前記中間層Kを、前記入力層P及び前記中間層Qとしてそれぞれ組み込む工程Dとを有する。
【発明の効果】
【0007】
第1の発明に係るソフトウェアプログラム及び第2の発明に係る回路基板は、入力層に与えられる入力データが、分類すべきデータである際に反応せず、分類すべきでないデータである際に反応する余剰ニューロンを、中間層に備えるので、未知の入力データを表現するための余地を有することができ、入力データが分類すべきでないデータに対応可能である。
【0008】
また、第3の発明に係るニューラルネットワークの生成方法は、第2ニューラルネットワークにおいて、学習させたいデータに対して余剰ニューロンが反応しないように、そうでないデータに対して反応するように学習を進め、学習されたニューラルネットワークのエンコーダ部を第1ニューラルネットワークに組み込むので、未知の入力データを表現するための余地を有して、入力データが分類すべきでないデータに対応可能な第1ニューラルネットワークを生成することが可能である。
【図面の簡単な説明】
【0009】
【
図1】本発明の一実施の形態に係るニューラルネットワークの説明図である。
【
図2】同ニューラルネットワークのエンコーダ部を有する別のニューラルネットワークの説明図である。
【
図4】本実施の形態に係る自己符号化器の学習の説明図である。
【
図6】(A)、(B)は学習誤差の収束の実験結果を示すグラフである。
【
図7】学習誤差の収束の実験結果を示すグラフである。
【発明を実施するための形態】
【0010】
続いて、添付した図面を参照しつつ、本発明を具体化した実施の形態につき説明し、本発明の理解に供する。
図1に示すように、本発明の一実施の形態に係るニューラルネットワーク10は、それぞれ複数のニューロン11、12、13が設けられた入力層14、中間層15及び出力層16を有し、入力層14に与えられる入力データを対応するクラスに分類するシステムである。以下、詳細に説明する。
【0011】
本実施の形態において、ニューラルネットワーク10は、複数の電子部品が搭載された回路基板や、コンピュータにインストールされて機能するソフトウェアとして具現化される。ニューラルネットワーク10は、多層パーセプトロンに該当し、入力層14に入力データが与えられると、該当の入力データをその入力データが属するクラスに分類する分類器である。入力データが画像データである場合、ニューラルネットワーク10は入力された画像データを分類する画像解析システムとして機能する。以下、ニューラルネットワーク10のように、入力層に与えられた入力データをその入力データが属するクラスに分類するニューラルネットワークを、「分類用ニューラルネットワーク」とも言う。
【0012】
ニューラルネットワーク10の従来のニューラルネットワークにはない特徴として、余剰ニューロン17を中間層15に備えている点が挙げられる。
余剰ニューロン17は、入力層14に与えられる入力データが、分類(一のクラスに分類)すべきデータである際には反応せず(本実施の形態では、0を出力し)、分類すべきでないデータである際に反応する(本実施の形態では、1を出力する)。ここで、分類すべきでないデータとは、分類すべきでないことを学習したデータや、分類すべきか否かを学習していない未知のデータや、ノイズ等が該当する。
【0013】
ニューラルネットワーク10は、入力層14に分類すべき入力データが与えられると、原則、余剰ニューロン17が反応せず、余剰ニューロン17以外のニューロン11、12、13によって入力データの分類処理を行う。よって、反応しない余剰ニューロン17は他のニューロン11、12、13による入力データの分類処理に影響を与えない。
また、入力層14に分類すべきでない入力データが与えられると、余剰ニューロン17が原則反応する。ニューラルネットワーク10は、余剰ニューロン17が反応した際に、入力データが分類すべきデータでないことを検知する。
【0014】
ニューラルネットワーク10において、入力層14及び中間層15からなるエンコーダ部18は、入力層14’、中間層15’及び出力層31を備えるニューラルネットワーク30(
図2参照)の入力層14’及び中間層15’が、入力層14及び出力層15として組み込まれたものである。
ニューラルネットワーク30は、
図2に示すように、自己符号化器(Autoencoder)に該当し、入力層14’、中間層15’及び出力層31に複数のニューロン11’、複数のニューロン12’及び複数のニューロン13’をそれぞれ具備し、中間層15’には更に、従来の自己符号化器には存在しない余剰ニューロン17’を備えている。
【0015】
ニューラルネットワーク30を理解するために、
図3を参酌して、従来の自己符号化器50について説明する。自己符号化器50は、多層パーセプトロンが変形されたニューラルネットワークで、
図3に示すように、入力層51の全てのニューロン52と中間層53の全てのニューロン54とが結合し、中間層53の全てのニューロン54と出力層55の全てのニューロン56とが結合している。
【0016】
入力層51のニューロン52数と出力層55のニューロン56数は等しく、中間層53のニューロン54数は入力層51のニューロン52数及び出力層55のニューロン56数より少ない。入力層51から中間層53への変換式及び中間層53から出力層55への変換式は、以下の式1及び式2によってそれぞれ表される。
【0017】
【0018】
自己符号化器50の学習工程では、入力層51に入力データを与え、入力層51に与えた入力データを出力層55から出力される出力データの教師データとして与える。そして、出力層55から出力される出力データと教師データとの差分を最小化するように、結合荷重及びバイアスの各パラメータを調整し、自己符号化器50の出力層55から入力データと同じ出力データが出力されるようにする。
この教師なし学習では、多層パーセプトロンの教師あり学習とは異なり、人が決定する定義に依存しない学習が行われる。そのため、自己符号化器50に学習させたいデータだけあれば、自己符号化器50は、入力データが人では分類不可能なデータや未学習のクラスに該当するデータであっても、その入力データに対する表現ができるようになる。
【0019】
<ニューラルネットワーク10の生成方法>
次に、ニューラルネットワーク10を生成する方法(本発明の一実施の形態に係るニューラルネットワークの生成方法)について説明する。
ニューラルネットワーク10の生成(設計)は、主に、ニューラルネットワーク30の学習と、学習後のニューラルネットワーク30の入力層14’及び中間層15’(エンコーダ部)の、ニューラルネットワーク10のエンコーダ部18への組み込みとによって構成される。
【0020】
ここで、ニューラルネットワーク10は第1ニューラルネットワークの一例であり、ニューラルネットワーク10が有する入力層14、中間層15及び出力層16は、入力層P、中間層Q及び出力層Rにそれぞれ該当する。ニューラルネットワーク30は第2ニューラルネットワークの一例であり、ニューラルネットワーク30が有する入力層14’、中間層15’及び出力層31は、入力層J、中間層K及び出力層Lにそれぞれ該当する。
【0021】
まず、ニューラルネットワーク30の学習方法について記載する。なお、ニューラルネットワーク30の学習方法を説明するに当たって、ニューラルネットワーク30を、
図2、
図4、
図5に示すように、便宜的に、ニューラルネットワーク30の入力層14’及び余剰ニューロン17’からなる仮想部分モデル32と、ニューラルネットワーク30に対して、余剰ニューロン17’を入力層14’(エンコーダプロセス)から切り離した仮想全体モデル33とに分けて説明する。
【0022】
(1)仮想部分モデル32(ニューラルネットワーク30)に対し、
図4に示すように、分類すべき学習用の入力データを入力層14’に与え、余剰ニューロン17’に、0(余剰ニューロン17’が無反応なことを意味する無反応データの一例)を教師データとして与える(工程A)。これによって、ニューラルネットワーク30において、入力層14’に分類すべき学習用の入力データが与えられた際に、余剰ニューロン17が0を出力するように学習させる。
【0023】
(2)仮想全体モデル33(ニューラルネットワーク30)を、余剰ニューロン17’から0が出力されて伝搬する状態にする。この状態で、仮想全体モデル33(ニューラルネットワーク30)に対し、分類すべき学習用の入力データを入力層14’に与え、入力層14’に与えた入力データを、出力層31から出力される出力データの教師データとして与える(工程C)。これにより、ニューラルネットワーク30が入力データと同じデータを再構成できるように学習させる。
【0024】
(3)仮想部分モデル32(ニューラルネットワーク30)に対し、
図5に示すように、分類すべきでない学習用の入力データを入力層14’に与え、余剰ニューロン17’に、1(余剰ニューロン17’が反応していることを意味する反応データの一例)を教師データとして与える(工程B)。これによって、ニューラルネットワーク30において、入力層14’に分類すべきでない学習用の入力データが与えられた際に、余剰ニューロン17’が1を出力するように学習させる。
【0025】
(4)仮想全体モデル33(ニューラルネットワーク30)を、余剰ニューロン17’から1が出力されて伝搬する状態にする。この状態で、仮想全体モデル33(ニューラルネットワーク30)に対し、分類すべきでない学習用の入力データを入力層14’に与え、入力層14’に与えた入力データを、出力層16から出力される出力データの教師データとして与える(工程C)。これにより、ニューラルネットワーク30が入力データと同じデータを再構成できるように学習させる。
【0026】
上記(1)~(4)によるニューラルネットワーク30の学習によって、ニューラルネットワーク10に適用される入力層14’及び中間層15’が生成(形成)される。なお、上記(1)~(4)は、(1)、(2)、(3)、(4)を順に行う必要はなく、どの順番に行っても良い。また、上記(2)、(4)をまとめると、ニューラルネットワーク30に対し、入力データを入力層14’に与え、入力層14’に与えた入力データを、出力層31から出力される出力データの教師データとして与えることとなる。
【0027】
(5)ニューラルネットワーク30の学習を完了した後、ニューラルネットワーク10に、ニューラルネットワーク30(工程A、B、Cを経たニューラルネットワーク30)の入力層11’及び中間層12’を、入力層11及び中間層12としてそれぞれ組み込み(工程D)、ニューラルネットワーク10の生成が完了する。
生成されたニューラルネットワーク10に対し、教師あり学習が行われ、ニューラルネットワーク10は入力データをクラスに分類できるようになる。
【実施例】
【0028】
次に、本発明の作用効果を確認するために行った第1、第2、第3の実験について説明する。
各実験では、第2ニューラルネットワークに該当する自己符号化器として、784-100-784の(入力層が784個のニューロン、中間層が100個のニューロン、出力層が784個のニューロンを有する)単層モデルを採用し、中間層の100個のニューロンのうち、特定の10個を余剰ニューロンとして扱った。よって、第2ニューラルネットワーク(第1ニューラルネットワークについても同じ)は中間層に2個以上の余剰ニューロンを具備することができる。自己符号化器は、中間層の活性化関数がReLU関数であり、出力層の活性化関数が恒等関数であった。
【0029】
また、自己符号化器に与える入力データには衣料用画像データセットを用いた。この衣料用画像データセットは、ラベル0~9に属する学習用画像データ及びテスト用画像データによって構成され、各ラベルについて6,000個の学習用画像データ及び1,000個のテスト用画像データが存在する。
【0030】
<第1の実験>
第1の実験では、まず、ラベル0~2に属する合計18,000個の学習用画像データを用いて、自己符号化器に対し上記(1)~(4)の処理を行った。以下、該当の処理を行った自己符号化器を学習済み自己符号化器と言う。
その後、学習済み自己符号化器において、ラベル0~2に属する合計3,000個のテスト用画像データ(学習済み自己符号化器のエンコーダ部を有する分類器(以下、単に「分類器」と言う)で分類すべきデータに該当)及びラベル3~9に属する合計7,000個のテスト用画像データ(分類器で分類すべきでないデータに該当)を入力層に与え、入力層に与えたテスト用画像データと出力層から出力される画像データの誤差と、余剰ニューロンの出力値とを調べた。なお、第1の実験及び後述する第2、第3の実験では、エポック数が50でバッチ数が200のミニバッチ学習を行った。
【0031】
【0032】
【0033】
図6(A)(
図6(B)、
図7も同様)において、横軸はエポック数であり、縦軸は学習誤差(誤差)を示す。学習済み自己符号化器の出力層から出力された画像データと、入力層に与えたテスト用画像データとの差異が大きければ、縦軸の学習誤差の値が大きくなり、全てのテスト処理で、出力層から出力された画像データと、入力層に与えたテスト用画像データとが完全に一致すると、縦軸の学習誤差の値は0.000となる。
【0034】
表1(表2、表3、表4も同様)において、「学習対象」は、自己符号化器に該当のラベルに属する学習用画像データを学習させたか否かを示し、「○」が学習させたこと、「×」が学習させなかったことをそれぞれ意味し、「分類」は、該当のラベルに属するテスト用画像データが分類すべき対象か分類すべきでない対象かを示し、「○」が分類すべき対象であること、「×」が分類すべきでない対象であることをそれぞれ意味する。表1(表3、表4も同様)中の「割合」は、学習済み自己符号化器の入力層に与えたテスト用画像データのうち、10個の余剰ニューロン全てが0を出力したテスト用画像データの割合(%)が示されている。
【0035】
図6(A)に示された結果から、エポック数の増加に伴って学習誤差が収束したこと、即ち、出力層が入力層に与えられたテスト用画像データを再構成できた率が上昇したことが確認できる。
表1に示された結果から、ラベル0~2のテスト用画像データ(分類すべき対象)全てに対して、10個の余剰ニューロンが0を出力したこと、即ち、余剰ニューロンが無反応で出力層での画像データの再構成に寄与しなかったことが確認できる。更に、ラベル3~9のテスト用画像データ(分類すべきでない対象)に対しては、一部の余剰ニューロンの出力が0ではなかったこと、即ち、余剰ニューロンがラベル0~2のテスト用画像データとは異なる特徴を持つラベル3~9のテスト用画像データに対して反応したことが確認できる。
【0036】
<第2の実験>
第2の実験では、学習用画像データ及びテスト用画像データを、以下の表2に示すように、3つのタイプとして扱った。
【0037】
【0038】
第2の実験では、自己符号化器の学習の際、自己符号化器及び入力層に、18,000個のタイプαの学習用画像データと、450個のタイプγの学習用画像データを与えた。従って、学習の際、自己符号化器及び自己符号化器にタイプβの学習用画像データは与えられなかった。
【0039】
学習済み自己符号化器において、タイプαの3,000個のテスト用画像データ(分類すべき対象)、タイプβの4,000個のテスト用画像データ(分類すべきでない対象)及びタイプγの3,000個のテスト用画像データ(分類すべきでない対象)を入力層に与え、入力層に与えたテスト用画像データと出力層から出力される画像データの誤差と、余剰ニューロンの出力値とを調べた。
【0040】
【0041】
【0042】
図6(B)に示す結果から、エポック数の増加に伴う学習誤差の収束値が
図6(A)に示す第1の実験結果よりも大きいものの、学習誤差が収束したことは確認できた。エポック数の増加に伴って学習誤差の値が上下にぶれ続けていることから、一定の値に向かって結合荷重及びバイアスの各パラメータを更新することが困難となったことが分かる。
【0043】
これは、第2の実験で用いたタイプαの学習用画像データとタイプγの学習用画像データとによるものと考えられる。第2の実験では、学習の際、ラベル0~2の学習用画像データ(分類すべき対象)及びラベル7~9の学習用画像データ(分類すべきでない対象)からランダムに学習用画像データを選択した。よって、一回のパラメータ更新のために使用された学習用画像データが、分類すべき対象及び分類すべきでない対象のいずれか一方に偏っていたことが一定以上あったと推測され、このようなデータの偏りがあるとパラメータの更新傾向も偏りが生じるためである。
【0044】
なお、学習誤差が小さくなるにつれて慎重なパラメータ更新が求められることから、
図6(B)に示さるように、エポック数の増加に伴って学習誤差の値がぶれ続けているのは、与えた学習用画像データの学習が適切になされ、十分に学習誤差が小さくなったためと考えられる。
【0045】
表3に示された結果から、余剰ニューロンが反応しないように学習したラベル0~2に属するテスト用画像データに対して、少数であったが、余剰ニューロンが反応したパターンが見られた。更に、余剰ニューロンが反応するように学習したラベル7~9に属するテスト用画像データに対して、少数であったが、余剰ニューロンが反応しないパターンが散見された。また、学習対象外であったラベル3~6に属するテスト用画像データについては、約半分の確率で、余剰ニューロンに反応が見られた。
【0046】
この結果は、第2の実験で使用したテスト用画像データ及び学習用画像データによるものと考えられる。ラベル0~2のテスト用画像データ及び学習用画像データが上衣及び下衣のものであり、ラベル3~6の学習用画像データが上衣及び靴のものであり、ラベル7~9のテスト用画像データ及び学習用画像データが靴及び鞄のものであった。よって、上衣のデータが類似の特徴を有すると考えると、ラベル3~6の学習用画像データの中で上衣の画像データに対して、余剰ニューロンが、ラベル0~2のテスト用画像データと同じ挙動をしたことが考えられる。
【0047】
<第3の実験>
第3の実験は、自己符号化器の学習の際、自己符号化器及び自己符号化器の各入力層に、ラベル0~2に属する18,000個の学習用画像データと、450個のノイズデータを与えるようにした。ノイズデータには値域[0,1)の一様乱数を用いた。また、学習済み自己符号化器に対し、ラベル0~2に属する3,000個のテスト用画像データと、ラベル3~9に属する7,000個のテスト用画像データとを使用した。
【0048】
【0049】
【0050】
図7に示す結果から、エポック数の増加に伴って学習誤差が収束したこと、即ち、出力層が入力層に与えられたテスト用画像データを再構成できるようになったことが確認できる。なお、収束値は、第1の実験で0.032だったのに対し、第3の実験で0.042であったため、第3の実験では、第1の実験と同等レベルの精度の学習ができたことが分かる。
【0051】
表4に示す結果から、余剰ニューロンが反応しないように学習したラベル0~2に属するテスト用画像データに対して、少数であったが、余剰ニューロンが反応したパターンが見られ、学習対象外であったラベル3~9に属するテスト用画像データについては、約半分の確率で、余剰ニューロンに反応が見られた。従って、自己符号化器に対して、分類すべき対象と共に、分類すべきでない対象を学習させることで、余剰ニューロンを、分類すべきでない未知のデータに対して反応させるようにできる点が確認された。
【0052】
以上、本発明の実施の形態を説明したが、本発明は、上記した形態に限定されるものでなく、要旨を逸脱しない条件の変更等は全て本発明の適用範囲である。
例えば、第2ニューラルネットワークは、自己符号化器である必要は無く、制限付きボルツマンマシン(Restricted Boltzmann Machine)等であってもよい。
【符号の説明】
【0053】
10:ニューラルネットワーク、11、11’、12、12’、13、13’:ニューロン、14、14’:入力層、15、15’:中間層、16:出力層、17、17’:余剰ニューロン、18:エンコーダ部、30:ニューラルネットワーク、31:出力層、32:仮想部分モデル、33:仮想全体モデル、50:自己符号化器、51:入力層、52:ニューロン、53:中間層、54:ニューロン、55:出力層、56:ニューロン