JP2018026040A - 情報処理装置および情報処理方法 - Google Patents

情報処理装置および情報処理方法 Download PDF

Info

Publication number
JP2018026040A
JP2018026040A JP2016158567A JP2016158567A JP2018026040A JP 2018026040 A JP2018026040 A JP 2018026040A JP 2016158567 A JP2016158567 A JP 2016158567A JP 2016158567 A JP2016158567 A JP 2016158567A JP 2018026040 A JP2018026040 A JP 2018026040A
Authority
JP
Japan
Prior art keywords
layer
learning
output
bypass
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.)
Pending
Application number
JP2016158567A
Other languages
English (en)
Inventor
奥野 泰弘
Yasuhiro Okuno
泰弘 奥野
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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP2016158567A priority Critical patent/JP2018026040A/ja
Publication of JP2018026040A publication Critical patent/JP2018026040A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】抽象度の異なる複数の特徴を用いて、識別・認識を精度よく行うことができる情報処理装置を提供すること。【解決手段】入力層と出力層の間に複数の中間層を有するニューラルネットワークと、前記複数の中間層のうち特徴抽出層として機能する中間層の少なくとも1つの中間層に設けられるバイパス手段と、を備える情報処理装置であって、前記バイパス手段は、前記バイパス手段が設けられた中間層の出力を、当該中間層の次の中間層より後段の中間層に供給する。【選択図】 図2

Description

本発明は、多層ニューラルネットワークを用いた情報処理装置および情報処理方法に関する。
画像や音声などのデータの内容を学習し認識を行なう技術が知られている。本明細書では、認識処理の目的を認識タスクと称する。たとえば、画像中から人間の顔の領域を検出する顔認識タスク、画像中にある物体(被写体)の種別(猫、車、建物など)を判別する物体種別認識タスク、シーンの種別(都市、山間、海岸など)を判別するシーン種別認識タスクなどの認識タスクがある。
上記のような認識タスクを学習・実行する技術としては、ニューラルネットワーク(以上、「NN」と記す。)が知られている。NNはNeural Networksの略である。深い(層の数が多い)多層NNは、ディープニューラルネットワーク(DNN)と称される。DNNは、Deep Neural Networksの略である。特に、深い畳み込みNNは、ディープコンボリューショナルNN(DCNN)と称される。DCNNは、Deep Convolutional Neural Networksの略である。DCNNは物体種別認識タスクにおいて他の方式に比べて性能(識別精度、認識性能)が高いことが知られている。
DCNNは、一般的には、畳み込み層とそれに続く全結合層とからなるNNである。通常のNNと同じく、DCNNの1層目は入力データと同じ次元を持つ入力層であり、DCNNの最終層は認識結果を表す出力層である。DCNNは、畳み込み層と全結合層をそれぞれ複数有するのが一般的である。各層からの出力には、たとえばシグモイド関数などの非線形関数(活性化関数と呼ばれる)がかけられて、当該非線形関数をかけた後の値が次の層に送られる。
畳み込み層は、前層ユニットの一部分とだけ結合するネットワーク構造を有する。前層からの入力の一部分に対して、学習した結合重み係数とバイアス値による線形和を計算し、次層に出力する。その際、前層との局所的な結合の結合重み係数とバイアス値は、結合している場所によらず同じ値であるように制約する。これは前層からの入力に対する畳み込み演算と等価であり、畳み込み層で学習される重み係数は、畳み込み演算用のフィルタ(カーネル)とみなすことができる。フィルタのサイズが前層ユニットと結合する範囲を表している。畳み込み層にはこのようなフィルタが複数種類設定され、各フィルタが独自の重み係数とバイアス値を持つ。フィルタごとに畳み込み演算が行われ、その結果が次層に出力される。
畳み込み層の間にはプーリング層と呼ばれる層を設定するのが一般的である。プーリング層は前層(畳み込み層)からの入力をサブサンプリングするものである。たとえば最大値サンプリング(max sampling)によって、行方向および列方向それぞれに半分のサイズになるようなサブサンプリングを行う。プーリングによって、畳み込み層の高層部では、畳み込み層の低層部で抽出した特徴に対する位置ずれに対してロバストになる。畳み込み層の高層部とは入力層から遠い畳み込み層のことであり、畳み込み層の低層部とは入力層に近い畳み込み層のことである。なお、本明細書では、高層部の畳み込み層を高位(高層)の畳み込み層と呼び、低層部の畳み込み層を低位(低層)の畳み込み層と呼ぶこともある。
全結合層は、前層の全ユニットと全結合(full connect)するネットワーク構造を有する。前層からの入力全てに対して、学習した結合重み係数とバイアス値による線形和を計算し、次層に出力する。通常のDCNNでは、畳み込み層の最終層の全ユニットが全結合層の1層目の全ユニットと結合するように設定する。
DCNNの学習フェーズにおいては、教師データを使って、畳み込み層のフィルタの値や全結合層の結合重み係数を学習する。以下の記載において、学習されるパラメタを総称して学習パラメタと呼ぶ。学習には誤差逆伝搬法(バックプロパゲーション:BP)などの方法を用いる。BPはBack Propagationの略である。DCNNの認識フェーズにおいては、学習済のDCNNの入力層に未知のデータを入力し、ネットワーク構造に従って各層で学習済みの学習パラメタを用いて当該未知のデータを順次処理し、出力層から当該未知のデータに対する認識の結果を得る。
入力データが画像である場合、畳み込み層で学習されるフィルタは検出対象であるパターン(画像パターン)が有する画像特徴を抽出するための特徴抽出器とみなすことができる。すなわち、検出対象であるパターンに含まれる画像特徴に対して強い信号を出力するようなフィルタが畳み込み層で学習される。たとえば検出対象であるパターンが顔であれば、顔の画像特徴に反応するフィルタが学習される。フィルタは複数設定されており、検出対象のパターンが有する複数の画像特徴のそれぞれに対してフィルタが学習される。したがって、畳み込み層は、識別に有効な特徴を学習する特徴抽出層とみなすことができる。
全結合層は、畳み込み層から出力された信号の全てを受け取り、入力データ全体が認識対象のパターンに合致するかどうかを判定するよう学習を行う。したがって、全結合層は、抽出された特徴に対して正しい識別を行うような識別器を学習する識別層とみなすことができる。
畳み込み層が複数階層ある場合、入力層に近い畳み込み層(低層部)ではエッジ、線、色のような抽象度の低い特徴に強く反応するようにフィルタが学習されることが知られている(非特許文献1参照)。出力層に近い畳み込み層(高層部)では、低い層で抽出された特徴を合成して得られる特徴に対して強い信号を出力するようにフィルタが学習される。すなわち、高い層では、検出対象の物体そのもの(たとえば顔)やその一部(たとえば目・鼻・口)のような抽象度の高い特徴に強く反応するようにフィルタが学習される。本明細書では、抽象度の低い特徴を低次特徴を呼び、抽象度の高い特徴を高次特徴と呼ぶ。非特許文献1では、低層部のフィルタがエッジや色に反応し、高層部のフィルタが識別対象の画像パターンに反応するように学習されたことが示されている。また、低層部と高層部のフィルタサイズが同じ設定であっても、プーリング層で行われる処理により、高層部で学習されるフィルタは、低層部で学習されるフィルタに比べてより大きなサイズの特徴に対して反応するよう学習される。
入力画像に写っている物体の種別を識別する物体種別認識タスクの場合、物体種別ごとに異なる反応を示すような高次特徴抽出フィルタが畳み込み層で学習される。識別層である全結合層へは、畳み込み層の最終層から出力される高次特徴の情報がすべて渡され、これを用いて全結合層では物体種別が識別できるように学習を行う。DCNNはこのような物体種別認識タスクにおいて優れた性能を示す。
非特許文献2は、画像の審美性、すなわち、人間が見て美しいと感じるかどうかを判定する認識タスク(審美性判定タスク)にDCNNを用いた例を示している。このDCNNは、入力画像に対して「美しい」と「美しくない」のどちらかであるという判定するDCNNである。非特許文献2には、画像の一部を切り取った部分画像を入力データとする畳み込み層と、全体画像を入力データとするもう一つの畳み込み層の、2つの畳み込み層を1つの全結合層に結合して統合する方法が開示されている。この方法では、画像の美しさ(審美性)は、全体画像の印象(画像全体の印象)と、部分画像の印象(画像の一部分を注視した際の印象)との両方の要因に影響されると考え、当該考えをDCNNの構造に反映させている。この方法によると、識別層(全結合層)では、全体画像の特徴と部分画像の特徴とを同時に用いて画像の審美性を判定することになる。非特許文献2では、全体画像用の畳み込み層と部分画像用の畳み込み層は独立に学習されている。
Zeiler, M. D., & Fergus, R. (2014). Visualizing and understanding convolutional networks. In Computer vision-ECCV 2014 (pp. 818-833). Springer International Publishing. Lu, X., Lin, Z., Jin, H., Yang, J., & Wang, J. Z. (2014, November). Rapid: Rating pictorial aesthetics using deep learning. In Proceedings of the ACM International Conference on Multimedia (pp. 457-466). ACM.
ここで、審美性を判定する認識タスク(審美性判定タスク)の場合について考える。人間が画像を美しいと感じるかどうかに影響する画像要因は多種多様である。たとえば、当該画像要因として、主被写体の位置や領域(構図)、主被写体以外の領域のテクスチャ(テクスチャが乱雑で主被写体への注意の邪魔になっていないか)、色の印象などを挙げることができる。主被写体の位置や領域を把握(認識)するための特徴は、抽象度の高い高次特徴、すなわち物体や物体の一部を認識するための特徴である。また、テクスチャや色を認識する特徴は、抽象度の低い低次特徴、すなわちエッジや色を認識する特徴である。審美性判定タスクにおいては、抽象度の異なる2つの特徴、すなわち、低次特徴と高次特徴とを使って識別(判定)する方法が求められる。
しかしながら、非特許文献2の審美性判定タスク用のDCNNでは、識別層(全結合層)が畳み込み層の最上位層とだけ結合している。換言すると、非特許文献2の審美性判定タスク用のDCNNでは、畳み込み層の下層部で抽出されるような低次特徴を直接使って識別を行っていない。非特許文献2のDCNNは、全体画像の特徴と部分画像の特徴とを使用しているので、特徴領域サイズ(視野のサイズ)が異なる特徴を使用するものであり、抽象度の異なる特徴(高次特徴と低次特徴)を使用するものではない。
なお、従来の物体種別認識用のDCNNの構造は、低層の畳み込み層で抽出された低次特徴を高層の畳み込み層に進むに従って段階的に統合していき、最高層の畳み込み層で得られた高次特徴のみを使って識別層で物体種別認識を行っている。この構造では、識別層は低層の畳み込み層と直接結合していないため、低層の畳み込み層で抽出される低次特徴を直接用いて識別することはできない。そのため、低次特徴に関する要因を識別結果に反映することは難しく、審美性判定タスクのような低次特徴の要因も影響するような認識タスクには適していない。
本発明は上記の課題を解決するものであり、抽象度の異なる複数の特徴を用いて、識別・認識を精度よく行うことができる情報処理装置を提供することを目的とする。
本発明の1つの態様による情報処理装置は、入力層と出力層の間に複数の中間層を有するニューラルネットワークと、前記複数の中間層のうち特徴抽出層として機能する中間層の少なくとも1つの中間層に設けられるバイパス手段と、を備える情報処理装置であって、前記バイパス手段は、前記バイパス手段が設けられた中間層の出力を、当該中間層の次の中間層より後段の中間層に供給する。
本発明によれば、情報処理装置は、精度よく識別・認識を行うことができる。
本発明の実施形態1の情報処理装置の構成を示す図。 バイパス結合部を有する多層畳み込みNNの構造を示す図。 実施形態2の情報処理装置の構成を示す図。 バイパス結合部位置決定部の処理を説明するためのフローチャート。 実施形態3の情報処理装置の構成を示す図。 類似中間層統合設定部の処理を説明するためのフローチャート。 実施形態3の多層畳み込みNNの構造を示す図。 実施形態4のマルチタスクNNの構造を示す図。 実施形態5の情報処理装置の構成を示す図。 経路別学習時設定部の処理を説明するためのフローチャート。
以下、本発明の情報処理装置の実施形態を、添付図面を参照して説明する。なお、以下の実施形態は本発明を限定するものではない。また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。実施形態の構成は、本発明が適用される装置の仕様や各種条件(使用条件、使用環境等)によって適宜修正または変更され得る。なお、以下の記載においては、同一の構成については、同じ符号を付して説明する。
実施形態1
(情報処理装置の構造)
図1は、本発明の実施形態1に係るDCNNを用いた情報処理装置1を示すブロック図である。情報処理装置1は、CPU2、入力装置3、出力装置4、第1のメモリ5および第2のメモリ6を有する。情報処理装置1の各構成部はバス7により相互接続されている。本実施形態では認識対象のデータは画像データであるとして説明するが、音声データや文字列データなどが認識対象であってよい。
CPU2は、入力装置3、出力装置4、第1のメモリ5および第2のメモリ6の動作を制御する。たとえば、CPU2は、第2のメモリ6に格納されているデータや情報を用いて、第1のメモリ5の機能(第1のメモリ5に記憶されているプログラム)を実行することにより、所定の処理を行う。
入力装置3は、たとえばキーボード、ポインティングデバイス(マウスなど)、タッチパネルおよび各種スイッチにより構成することができる。情報処理装置1のユーザは、入力装置3を用いて、第1のメモリ5や第2のメモリ6に指示、データおよび情報を入力することができる。また、認識対象のデータが画像データである場合、入力装置3は、画像データを入力するカメラなどの装置を含む。
出力装置4は、たとえば液晶ディスプレイやプリンタである。出力装置4は、たとえば第1のメモリ5の機能を実行することにより得られた計算結果(識別結果)を表示する。なお、出力装置4は音声出力部を有してもよい。
第1のメモリ5は、プログラムを格納するメモリである。第1のメモリ5は、学習部10と識別部11とを有する。学習部10と識別部11は、機能ブロックで表されている。
第1のメモリ5に格納された学習部10は、DCNN(DCNN情報21)を学習するための学習手段である。学習部10は、従来から知られている技術と同様のものを使用すればよいので、詳細な説明は省略する。学習部10は、たとえば、誤差逆伝搬法などの手法によって学習データ20からDCNNの学習パラメタを学習する。
第1のメモリ5に格納された識別部11は、認識フェーズで使用されるものである。識別部11は、学習済のDCNNに入力された未知の画像データ(未知画像)に対し、各畳み込み層(図2を用いて後述する)で学習済みの学習パラメタを用いて当該未知の画像データを順次処理し、当該未知のデータに対する認識の結果を出力する。
第1のメモリ5内に示されている学習部10と識別部11は、プログラムとして第1のメモリ5に記憶され、CPU2により実行される。
第2のメモリ6は、データおよび情報を格納するメモリである。本実施形態では、第2のメモリ6には、学習データ20が事前に格納されている。学習データ20には、画像データと、それに対する正解データ(真値)との組が所定数格納されているとする。具体的には、画像データと正解データは、画像のファイル名と認識タスクの真値とを対応させて羅列した表のようなフォーマットで、テキストファイルで表せばよい(格納すればよい)。画像のファイル名が指し示す画像データ自体も第2のメモリ6に格納されているとする。真値の表現は、クラス判定の認識タスクであればクラスのIDを数字で記載すればよく、スコアなどの実数値を推定する認識タスクであればその実数値をそのまま記載すればよい。
第2のメモリ6には、多層の畳み込みNNであるDCNNの情報(DCNN情報)21も格納されている。DCNN情報21は、NNのネットワーク構造や、学習済みもしくは学習中の学習パラメタなどを格納したものである。ここで学習パラメタとは、NNが学習するパラメタのことで、ネットワーク間の結合重みやバイアス値などを指している。
なお、第1のメモリ5と第2のメモリは、便宜上区別して説明しているだけであり、一つのものであってもかまわない。
(DCNNのネットワーク構造)
以下、本実施形態のDCNNについて説明する。図2は本実施形態で用いるDCNN200のネットワーク構造とデータの流れを示すブロック図である。
入力画像201は認識対象のデータであり、図2においてIMGと記されている。入力画像201を受け入れる層がDCNN200の入力層である。DCNN200を用いた処理は、学習部10によって学習処理を行う学習フェーズと、識別部11によって未知データに対する認識処理を行う認識フェーズに分かれる。学習フェーズにおいて、入力画像201は学習データ20の中から指定される学習用画像であり、認識フェーズにおいて、入力画像201はたとえば入力装置3を介してユーザが指定(入力)した未知画像である。なお、図2において、任意の畳み込み層の間などにプーリング層を有する構成であってもよい。
本実施形態のDCNN200は、5つの畳み込み層と、3つの全結合層とを有する。5つの畳み込み層は、以下の記載において、第1の畳み込み層〜第5の畳み込み層と称する。また、3つの全結合層は、以下の記載において、第1の全結合層〜第3の全結合層と称する。なお、畳み込み層および全結合層の数は、それぞれ5および3に限定されない。また、畳み込み層におけるフィルタのサイズやフィルタの数、並びに、全結合層におけるユニットの数なども、以下に説明するものに限定されない。これらは学習データの数や認識タスクの複雑さなどに応じて決定されるハイパーパラメタである。
図2において、C1LP211は、第1の畳み込み層(以下、「C1」と記す。)で学習された学習パラメタ(畳み込みフィルタの値およびバイアス値)である。学習パラメタは図1中のDCNN情報21中に格納される。C1出力202は、入力画像(入力データ)201に対してC1LP211で畳み込み処理をしたのちに活性化関数をかけた(活性化関数処理をして得られた)出力結果である。C1出力202などの畳み込み層の出力は、2次元画像データに対して複数の畳み込みフィルタをかけた結果であるので、3次元的なデータ構造を有する。より詳しくは、C1出力202などの畳み込み層の出力は、縦方向、横方向およびフィルタ方向のデータからなる3次元データ構造を有する。C2出力203は、C1出力202に対して第2の畳み込み層(以下、「C2」と記す。)で学習された学習パラメタC2LP212で畳み込み処理および活性化関数処理をした出力結果である。C3出力204は、C2出力203に対して第3の畳み込み層(以下、「C3」と記す。)で学習された学習パラメタC3LP213で畳み込み処理および活性化関数処理をした出力結果である。C4出力205は、C3出力204に対して第4の畳み込み層(以下、「C4」と記す。)で学習された学習パラメタC4LP214で畳み込み処理および活性化関数処理をした出力結果である。C5出力206は、C4出力205に対して第5の畳み込み層(以下、「C5」と記す。)で学習された学習パラメタC5LP215で畳み込み処理および活性化関数処理をした出力結果である。
C5出力206が得られたならば、C5出力206は、出力結合部207の一部にコピーされる。C5出力206は、前述の通り3次元的な構造をしているが、これを一列のベクトルに変換して(ベクトル化して)、出力結合部207の一部にコピーする。出力結合部207のうち、C5出力206がコピーされた部分以外の部分に関しては後述する。
F1出力208は、第1の全結合層(以下、「F1」と記す。)の出力結果を表すブロックである。F2出力209は、第2の全結合層(以下、「F2」と記す。)の出力結果を表すブロックである。F3出力210は、第3の全結合層(以下、「F3」と記す。)の出力結果を表すブロックである。F3はDCNN200の出力層と呼ぶことができる。F1、F2およびF3は、それぞれ所定数のユニットをもち、各ユニット間の結合重みが学習される。
F1の全ユニットは、出力結合部207の全ユニットと結合している。出力結合部207のうち、C5出力206をコピーした以外の部分にも結合を有している。F1出力208は、出力結合部207に対してF1の学習パラメタF1LP216による線形和を算出し活性化関数をかけた結果である。F2出力209は、F1出力208に対してF2の学習パラメタF2LP217による線形和を算出し活性化関数をかけた結果である。F3出力210の算出の仕方は、F2出力209の算出の仕方とは少し異なる。まず、F2出力209に対してF3の学習パラメタF3LP218による線形和を算出する。本実施形態では認識タスクが多クラス問題であるとして、F3出力210の出力値には活性化関数をかける代わりにソフトマックス関数をかける。認識タスクがNクラス問題であればF3層出力210の出力値はN値のベクトルであり、N値ベクトルの各次元は入力画像201が各クラスである確率を表す。すなわち、F3層出力210はDCNN200による入力画像201の識別結果を表す。
本実施形態のDCNN200は、上記した構造に加え、2つのバイパス結合部223および224を有する。バイパス結合部(223、224)とは、畳み込み層C1〜C4の出力202〜205のうち1つ以上について、次層以降の畳み込み層を介さずに(バイパスさせて)後段層に結合させる結合部である。本実施形態では、バイパス結合223および224をそれぞれ有する畳み込み層C1およびC3から、全結合層にバイパス結合する例を説明する。図2中、C1出力202からB1出力219を経由して出力結合部207に至る経路が、C1に対するバイパス結合部223である。図中、バイパス結合部223は破線で囲った部分である。また、C3出力204からB3出力220を経由して出力結合部207に至る経路がC3に対するバイパス結合部224である。図中、バイパス結合部224も破線で囲ってある。
C1出力202はバイパス結合部223により出力結合部207に供給される。また、C3出力203はバイパス結合部224により出力結合部207に供給される。
バイパス結合部は1つ以上の畳み込み層(特徴抽出層)を有する。バイパス結合部における畳み込み層を、C1〜C5と区別して、「バイパス部畳み込み層」と呼ぶことにする。バイパス部畳み込み層は、各バイパス結合部に複数あってもよい。バイパス部畳み込み層のフィルタのサイズや数について、特別な条件はない。以下の記載においては、説明を簡単にするために、バイパス部畳み込み層の数は1つのバイパス結合部に1つとして説明する。なお、本実施形態では、C1に第1のバイパス結合部223を設け、C3に第2のバイパス結合部224を設ける例を説明するが、バイパス結合部をどの畳み込み層に設けるかは、適宜変更され得る。たとえば、バイパス結合部をどの畳み込み層に設けるかは、情報処理装置1に期待される効果、DCNN200に与えられる条件、認識タスク等によって変更され得る。
本実施形態では、バイパス結合部にバイパス部畳み込み層を設けることにより、階層ごとにさらなる特徴抽出層(畳み込み層)を学習することができる。たとえば、バイパス結合部にバイパス部畳み込み層を設けることにより、審美性判定に有効(有用)な特徴を抽象度ごとに抽出することができる。
第1のバイパス結合部223のB1LP221は、C1に対するバイパス部畳み込み層(以下、「B1」と称する。)の学習パラメタである。B1出力219はC1出力202に対してB1LP221で畳み込み処理をした出力結果を表すブロックである。B1出力219は、C5出力206に対する処理と同様に、1列のベクトルに変換され、出力結合部207のC5出力に連続する位置にコピーされる。
第2のバイパス結合部224のB3LP222は、C3に対するバイパス部畳み込み層(以下、「B3」と称する。)の学習パラメタである。B3出力220はC3出力204に対してB3LP222で畳み込み処理をした出力結果を表すブロックである。B3出力220は、C5出力206に対する処理と同様に、1列のベクトルに変換され、出力結合部207のB1出力に連続する位置にコピーされる。
(DCNNの学習と認識)
以上説明したような構成のDCNN200(DCNN情報21)に対し、学習フェーズにおいては図1の学習部10を用いて学習データ20によるDCNN200(DCNN情報21)の学習が行われる。学習部10は、学習データ20中の画像データを入力した際のF3出力210と、学習データ20中の真値225との誤差によってDCNNの学習パラメタを更新する。学習パラメタの更新は、誤差逆伝搬法などを用いて行う。誤差逆伝搬法では、図2中の学習パラメタC1LP211〜C5LP215、F1LP216〜F3LP218、B1LP221およびB3LP222が、図中矢印を逆にたどって更新される。学習部10は、学習データ20に格納される多数の学習サンプルに対して繰り返し学習処理を行う。学習パラメタの値が十分に収束するか十分な回数学習処理を繰り返したところで学習を完了する。
認識フェーズにおいては、図1の識別部11を用いて、未知画像(入力画像201)に対する識別を行う。識別部11は、たとえばユーザが入力装置3を用いて指定(入力)した未知画像を入力画像(入力データ)201として、学習済みのDCNN200(DCNN情報21)を用いてF3出力210を算出し、当該F3出力210を識別結果226とする。識別部11は、CPU2の制御の下、識別結果226をたとえば出力装置4に送り、出力装置4において表示させる。
なお、図1の情報処理装置1は学習部10を有しているが、本発明はこの構成に限定されない。つまり、情報処理装置1は学習部(学習手段)を有さずに、事前に学習済みであるDCNNの学習パラメタを用いて、認識フェーズのみを実施する構成でもよい。また、図1の情報処理装置1は識別部11を有しているが、本発明はこの構成に限定されない。つまり、識別部(識別手段)を有さずに、学習フェーズのみを実施する構成でもよい。
図2の構成ではバイパス結合部を2つ設けた(バイパス結合部223および224)が、バイパス結合部の数は1つでもよいし3つ以上でもよい。また、図2の構成では、DCNN200は3つの全結合層を有しているが、全結合層の数は3に限定されない。たとえば、全結合層の数は1でもよい。
上記の説明においてC1−C5が中間層であるとしたが、入力層と出力層の間にある層の全てを中間層と称することもできる。その場合、中間層のなかで特徴抽出層として機能する中間層にバイパス結合部を設けることになる。
情報処理装置1aは、入力装置3と出力装置4を含むとしたが、入力装置3と出力装置4は情報処理装置の外部装置として設けてもよい。
(実施形態1の効果)
以上のような構成をとることにより、本実施形態では、識別層(出力結合部207、全結合層F1〜F3)には、C5出力206だけでなく、C1出力202とC3出力204も入力される。上記したように、C1などの低層部では線や色などの低次特徴が抽出されることが期待でき、C5などの高層部では物体を表す高次特徴が抽出されることが期待できる。よって、審美性判定タスクのような、低次特徴と高次特徴の両方の特徴に識別結果が影響される認識タスクにおいて、本実施形態の情報処理装置1は好適な識別処理を行うことができる。本実施形態では、C1〜C4で抽出される特徴を選択的に識別層(出力結合部207、全結合層F1〜F3)にバイパス結合させることにより、識別層において複数の種類の特徴を同時に扱えるようになる。
また、本実施形態の構成によれば、C1から後段層(識別層)にバイパスした特徴は他の畳み込み層(C2〜C4)の特徴と混ぜて特徴抽出されないので、C1で抽出された特徴が識別層に直接的に届く。
さらに、各バイパス結合部223、224には各畳み込み層C1、C3ごとにバイパス部畳み込み層B1、B3を設けているので、バイパス元のC1、C3から識別層に渡すことが好ましいと考えられる特徴を学習することができる。
なお、図2においてC1からC5に直線的に至るDCNN200のデータ経路(バイパス結合部を経由しない経路)は、物体など高次特徴を抽出する能力を期待するものであるから、物体種別認識タスクの学習データなどを用いて事前学習しておいてもよい。事前学習とは、本来の目的とする認識タスクとは異なるデータを使うなどしてDCNNの学習パラメタの初期値を決める処理を指す。物体種別認識タスクでC1からC5を事前学習しておけば、C5出力206からは物体らしい特徴が得られることが期待できる。審美性判定タスクを実行する場合には、事前学習したDCNNの学習パラメタを初期値として用い、その後、審美性判定タスクの学習データに切り替えて学習を継続すればよい。
実施形態2
(実施形態2の概要)
実施形態1において、バイパス結合部を設ける位置はC1−C4のいずれでもよいとしていた。本実施形態では、どの位置に(どの畳み込み層に)バイパス結合部を設けるかを自動決定する方法について説明する。以下の記載において、実施形態1と同様な部分には同じ符号を付けて、詳細な説明は省略する。
NNの中間層が多数ある場合には、多くの中間層(畳み込み層)にバイパス結合部を設けるのは処理時間的にもメモリ使用量的にも負荷が大きい。バイパス結合部を過剰に設けると、学習パラメタの数が過大になるため、学習時に過学習しやすくなるおそれがある。また、中間層が多くなるほど、それぞれの中間層の出力には大きな差異がなくなり、全ての情報を後段層(識別層)にバイパスする効果も減る可能性がある。
そこで、最適な畳み込み層に対してのみバイパス結合部を設けることが望ましいということになる。しかし、バイパス結合位置の全ての組み合わせに対して実際に学習および評価を行って最適なバイパス位置(どの畳み込み層にバイパス結合部を設けるか)を決定するのは現実的ではない。バイパス結合位置の組み合わせは多数存在し、ひとつのネットワーク構成のNNを学習するのに多大な時間がかかるからである。実施形態2では、あらかじめ決めておいたバイパス結合部の数などの条件を満たすという制限下で、実際にNNの学習および評価処理を行うことなく、バイパス結合を設ける好適な位置を決定する方法を説明する。
(情報処理装置の構成)
図3は本発明の実施形態2の情報処理装置1aの構成図である。情報処理装置1aは、CPU2と入力装置3と出力装置4と第1のメモリ5と第2のメモリ6とを有している。情報処理装置1aの各部はバス7により相互接続されている。図3に示した構成を図1に示した構成と比較すると、第1のメモリ5および第2のメモリ6に格納しているプログラムやデータが異なっている。図3の構成では、第1のメモリ5に、バイパス結合部位置決定部12と、中間層類似度算出部13とが格納されている。第2のメモリ6にはバイパス結合のないDCNN(の情報)が、バイパスなしDCNN情報22として格納されているとする。
(情報処理装置1aの処理の流れ)
次に、実施形態2の情報処理装置1aの処理の流れを説明する。図4は情報処理装置1aのバイパス結合部位置決定部12の処理の流れを説明するフローチャートである。
図4のS41では、学習データ20を用いて、バイパスなしDCNN(バイパスなしDCNN情報22)を学習部10によって学習する。なお、既に学習済みのバイパスなしDCNNが存在すればその学習パラメタをコピーしてもよい。また、本来の学習データ20でなく、別の認識タスク用の学習データを用いてS41の学習を行ってもよい。たとえば、物体種別認識タスクのデータを使ってS41の学習を行ってもよい。
次にS42で、バイパス結合部を作る数をユーザが設定する。設定した数を変数pに格納する。
次にS43で、pがバイパスなしDCNNの畳み込み層の数以上かどうか判定する。pがバイパスなしDCNN22の畳み込み層の数以上の場合(S43:Yes)、S47に進み、すべての畳み込み層にバイパス結合部を設けるように選択する。つまり、全中間層を選択する。S43で、pがバイパスなしDCNNの畳み込み層の数より少ない場合は、S44に進む。
S44で、バイパスなしDCNN(バイパスなしDCNN情報22)の畳み込み層をp個のクラスタにクラスタリングする。クラスタリングを行うには、たとえばk−means(k平均法)のようなクラスタリングアルゴリズムを使用する。S44ではk−meansを使用したことを示すために、「kクラスタリング」と記してある。この場合、あるクラスタの要素が1要素であってもかまわない。クラスタリングを行うためには畳み込み層の間の類似度すなわち距離を定義(算出)する必要がある。類似度が所定値以上であれば1つのクラスタにまとめる、というクラスタリングを行う。本実施形態では、第1のメモリ5中の中間層類似度算出部13によって、畳み込み層の間の距離を算出する。中間層類似度算出部13は、たとえば、i番目の畳み込み層とj番目の畳み込み層との間の距離dijを、以下の式1のように定義して算出すればよい。
Figure 2018026040
ここで、kはi番目の畳み込み層の畳み込みフィルタの数、lはj番目の畳み込み層の畳み込みフィルタの数、Cikはi番目の畳み込み層におけるk番目の畳み込みフィルタ、Cjlはj番目の畳み込み層におけるl番目の畳み込みフィルタである。cosθ(Cik,Cjl)は、畳み込みフィルタCikとCjlをベクトルとしたときのベクトルがなす角の余弦である。cosθ(Cik,Cjl)は、ベクトルが一致するときに0となり、直交するときに1となる。
なお、式1のcosθ(Cik,Cjl)の代わりに、畳み込みフィルタCik、Cjlのユークリッド距離L2(Cik,Cjl)を使用して、距離dijを以下の式2のように定義してもよい。
Figure 2018026040
また、上記では畳み込みフィルタの値CikおよびCjlから距離dijを計算したが、学習データ20中の画像データに対して畳み込みフィルタCik,Cjlをかけた結果を用いて、以下の式3のように距離dijを計算してもよい。
Figure 2018026040
ここで、imgは画像であり、Cik(img)は画像imgに畳み込みフィルタCikをかけた結果を示す。学習データ20から任意の複数の画像データを選んで式3による類似度を算出し、画像数で平均してもよい。
S45では、S44で作られたクラスタからそれぞれ1つの畳み込み層(中間層)を選択する。たとえばクラスタ中心に最も近い畳み込み層を1つ選択する。
S46では、S45またはS47で選択された畳み込み層と全結合層F1にバイパス結合部を設けたDCNN構造を作る。つまり、選択した中間層にバイパス結合部を設定する。その結果得られたDCNN構造を、第2のメモリ6中のDCNN情報21に格納する。
以上でバイパス結合部位置決定部12の処理の説明を終える。これ以降は実施形態1と同様に学習、識別の処理を行えばよい。本実施形態で説明した方法によれば、バイパス構造の全組み合わせを実際に学習・評価して試すのに比べて非常に速い処理時間でバイパス結合部の位置を決定することができる。
(変形例)
S44〜S45でp個の中間層を選択したが、p個の中間層の選択方法は上記したものに限定されない。たとえば、最下位の中間層と最上位から1つ前の中間層とは、必ず選択することにする(つまり、最下位の中間層と、最上位から1つ前の中間層には、必ずバイパス結合部を設けるとする)。そして、他の中間層(全中間層数−2個)についてクラスタリングを行い、p−2個のクラスタを作り、各クラスタから中間層(p−2個)を選択してもよい。このようにすると、合計でp個の中間層が選択されることになる。最上位の中間層を除いて考えると、抽出される特徴の性格(内容、抽象度)の差異は最下位中間層と最上位から1つ前の中間層との間で最も大きくなると考えられる。よって、最下位中間層と最上位から1つ前の中間層とに必ずバイパス結合部を設けることにより、好適な識別処理を行うことができると考えられる。
また、次のような方法でp個の中間層を選択することもできる。全ての中間層の数をM個とした場合、Mノードの全結合グラフを作る。そして、中間層類似度算出部13によって全ノードの相互間の距離を算出し、ノード間のエッジに距離を与える。最後に、ノード間距離の総和が最も大きくなるp個のノードを選択する。より具体的には、たとえば、まずノード間距離最大の2ノードを選び、これに対してノード間距離総和最大となるノードを一つずつ加えていき、最終的にpノードになるまで選んでp個の中間層の選択を完了とする。
さらに、次のような方法でp個の中間層を選択することもできる。組み合わせ数の総当たり探索処理をすれば、p個の最適解(p個の中間層)を探索することができる。総当たり探索は計算負荷が大きいが、組み合わせごとに行う処理は計算済みであるノード間距離の総和を算出する処理だけであるので計算は高速で行うことができる。また、中間層数Mやバイパス結合設定数pも巨大な数値ではないので、現実的な時間で計算を終了することができる。
いずれにせよ、バイパス結合位置の全組み合わせに対して実際に学習・評価して決定する方法に比べれば、本実施形態で説明したような畳み込みフィルタの類似度によって性格の異なる中間層を選択する方法の方が高速に中間層を決定(選択)することができる。
本実施形態の利用の態様としては、次のようなものがある。まず本実施形態で説明した方法によってDCNN構造の候補を複数(ただし多すぎない数だけ)作成する。そして、当該複数のDCNN構造の候補について、実際に学習・評価処理を行って、1つの好適なDCNN構造を決定することもできる。つまり、中間層の数が所定数より多い場合、所定の基準に基づいてpに近い数の中間層を選び、当該選ばれた中間層から、バイパス結合部を設けるべき中間層を決定する。
バイパス結合部位置決定部12のバイパス結合部位置の決定方法は、上記した方法に限定されない。たとえば、はじめにp+個(p+はpより多くM以下の数)のバイパス結合部を有するDCNNを学習する。バイパス結合部の位置は、たとえばランダムに決定するか等間隔で選ぶ。次に学習済みDCNNのp+個のバイパス結合部からp個のバイパス結合部を選び、残りのバイパス結合部は識別フェーズにおいて演算をしないように設定する。バイパス結合部が識別フェーズにおいて演算をしないように設定するには、たとえば、一時的にそれらの結合部の結合重みを全て0にすればよい。p個のバイパス結合部を選んだならば、当該バイパス結合部をもつDCNNに対して所定のテストデータで性能評価を行う。p+個のバイパス結合部からp個を選ぶ全ての組み合わせで、上記の性能評価を行う。そして、最も性能が良いDCNNの構成、もしくは所定の性能を満たすDCNNの構成を採用し、選んだp個のバイパス結合部以外のバイパス結合部を削除したDCNNの構成を最終的なDCNNの構成とする。
S42でのバイパス結合部の数pの設定の仕方も、上記したものに限定されない。図4の説明ではユーザがpを設定するとしたが、適当な範囲から最適なpを探索するようにしてもよい。この場合は異なるpの値ごとに本実施形態のような方法でDCNNの構造を決定し、異なるpのDCNNに対して実際に学習・評価処理を行って好適なDCNNの構造を決定すればよい。
(実施形態2の効果)
実施形態1と同じように、実施形態2においても、多層NNの各層で抽出される多様な抽象度の特徴を識別層に送ることで従来技術の課題(多層NNが抽象度の異なる特徴を利用できないという課題)を解決している。本実施形態2で説明したような構成を採用することで、なるべく性格の異なる中間層に対してバイパス結合部を設けるように、バイパス結合部の設定位置を自動的に決定することができる。性格の異なる中間層が選ばれることにより、良好な識別性能が期待できる。バイパス結合部の位置を自動的に決める(つまりバイパス結合部の位置をユーザが決める必要がない)ため、ユーザにとって煩雑な作業は不要である。この利点は、特に、ニューラルネットワークの中間層数が多くなるほど顕著になる。本実施形態によれば、バイパス構造の全組み合わせを実際に学習・評価して試してみるのに比べて、はるかに短時間で、好適なバイパス結合部位置を決定することができる。
実施形態3
(実施形態3の概要)
実施形態3では、実施形態2において説明したバイパス結合部位置決定部12の変形例について説明する。本実施形態のDCNN1bの構成図を図5に示す。以下の記載において、実施形態2と同様な部分には同じ符号を付けて、詳細な説明は省略する。実施形態2と比較した場合の相違点は、実施形態3では、第1のメモリ5が、類似中間層統合設定部14を有していることである。
(情報処理装置の処理の流れ)
実施形態3のバイパス結合部位置決定部12の処理は、図4に示した処理とほぼ同じであるが、S45の処理内容が実施形態2で説明した処理内容と異なる。具体的には、実施形態3においては、類似中間層統合設定部14により、S44でクラスタリングされた各クラスタについて以下の処理を行う。類似中間層統合設定部14は、類似度が所定値以上であると判定された中間層の出力を統合する。
図6は、類似中間層統合設定部14の処理を説明するフローチャートである。また、図7は、本実施形態で決定されるDCNN200aの構造を説明する図である。図7において、図2と共通する部分には同じ参照符号・番号を用いている。本実施形態では、2つの畳み込み層C1とC2が互いに類似する中間層であるとし、2つの畳み込み層C3とC4が互いに類似する中間層であるとする。図7では、C1とC2がS44において類似中間層としてクラスタリングされたとする。クラスタリングされたことは、図7中、破線で囲って示している。また、C3とC4も類似中間層としてクラスタリングされているとする。C3とC4も破線で囲まれている。
はじめに、S51で、クラスタ内の2つの中間層の出力を結合する出力結合部を設定する。図7の例では、C1とC2が同じクラスタに入っているので、C1出力202とC2出力203を結合するためのB1−B2出力結合部701を設定する。また、C3とC4が同じクラスタに入っているので、C3出力204とC4出力205を結合するためのB3−B4出力結合部704を設定する。ここで、畳み込み層出力の結合を、以下のように行う。畳み込み層出力はそれぞれ3次元(縦方向、横方向およびフィルタ方向)の構造をしている。結合する畳み込み層出力の縦サイズと横サイズが同じであれば、そのままフィルタ方向に重ねて結合する。結合する畳み込み層出力の縦サイズと横サイズが異なるときには、たとえば線形補完や間引きをするなどの方法で縦サイズと横サイズを合わせたのちに、フィルタ方向に重ねて結合する。
S52では、S51で設けた出力結合部701および704を、それぞれバイパス結合部の設定位置として選択する。
このようにして、図4におけるS45の処理の代わりに、類似中間層統合設定部14が上記した処理を行い、バイパス結合部の設定位置を決定する。
図6のS52の後、図4のS46に進む。S46では、「選択した中間層にバイパス結合部を設定する」となっているが、本実施形態では、S46は「S52で選択した出力結合部にバイパス結合部を設定する」となる。すなわち、図7において、B1−B2出力結合部701に対して特徴抽出の学習を行う学習パラメタB1−B2統合LP702を設け、B3−B4出力結合部704に対して特徴抽出の学習を行う学習パラメタB3−B4統合LP705を設ける。そして、B1−B2出力結合部701の出力に対して学習パラメタB1−B2統合LP702で畳み込み処理をして得た出力がB1−B2出力703となる。また、B3−B4出力結合部704の出力に対して学習パラメタB3−B4統合LP705で畳み込み処理をして得た出力がB3−B4出力706となる。B1−B2出力703およびB3−B4出力706は、ベクトル化されて出力結合部207に接続される。
本実施形態では、以上で説明した処理によって決定されたネットワーク構成のDCNN200a(DCNN情報21)を用いて学習および識別処理を行う。
(実施形態3の効果)
実施形態2のバイパス結合部位置決定部12では、各クラスタ内にある複数の中間層から1つの中間層を選んでいた(図4のS45)。本実施形態の構成では各クラスタ内にある複数の中間層が抽出する特徴(たとえば、C1出力とC2出力)からさらに有効な特徴抽出するよう学習し(たとえば、B1−B2出力)、当該学習結果を全結合層に渡すことができる。類似していない中間層の出力を結合して特徴抽出しようとすると、性格の異なる特徴の全てが識別層(全結合層)に伝わらなくなる可能性があるが、実施形態3ではS44において性格が類似しているとされている中間層だけをまとめている。
もちろん、実施形態2と同じように、実施形態3においても、多層NNの各層で抽出される多様な抽象度の特徴を識別層に送ることで従来技術の課題(抽象度の異なる特徴を利用できないという課題)を解決している。本実施形態3で説明したような構成を採用することで、なるべく性格の異なる中間層に対してバイパス結合部を設けるように、バイパス結合部の設定位置を自動的に決定することができる。
実施形態4
(実施形態4の概要)
実施形態1では1つの認識タスクを学習・識別するDCNNを説明したが、本発明は、複数の認識タスクを学習・識別するDCNNにも適用することができる。複数の認識タスクを学習・識別するDCNNを実施形態4として以下に説明する。本実施形態のDCNNは、複数の異なる認識タスクを一つのネットワークで同時に(並行して)学習・識別するマルチタスク識別器(マルチタスクニューラルネットワーク)であると言える。
図8は、2つの異なる認識タスクを同時に(並列的に)学習・識別するマルチタスク畳み込みNN200bの構造とデータの流れを説明するブロック図である。第1実施形態(図2)との相違点は、実施形態4では、図2で説明した認識タスクを第1の認識タスクとして、図2のDCNNの構造に第2の認識タスクの識別部を加えていることである。以下、実施形態1との相違点を説明し、実施形態1と同じ構成については説明を省略する。図8において、図2と共通する部分には同じ参照番号・符号を用いてある。
本実施形態では、第1の認識タスクは、画像の審美性を判定する審美性判定タスクであるとし、第2の認識タスクは、画像中の物体の種別を認識する物体種別認識タスクであるとする。審美性判定タスクは、抽象度の低い低次特徴と抽象度の高い高次特徴の両方を使って識別する認識タスクである。物体種別認識タスクは、高次特徴を使って識別する認識タスクである。
実施形態4ではC1からC5(中間層)が2つの認識タスク(第1の認識タスクと第2の認識タスク)に共通のものとして説明する。なお、C1からC5が2つの認識タスクに共通のものでなくてもよい。つまり、どの中間層を共通とするかは認識タスクの内容等により適宜変更してよい。たとえば畳み込み層部分やその一部が認識タスクごとに独立であって、認識タスクごとの畳み込み層の出力を共通の全結合層に結合するような構成としてもよい。
(DCNNの構造)
図8においては、入力画像201がC5出力206となり、ベクトル化されて、出力結合部207に格納される処理は実施形態1と同じであるので、当該処理の説明は省略する。本実施形態では、認識フェーズにおいて、C5出力206は、ベクトル化されて出力結合部207に格納されると共に、C5出力ベクトル801にも格納される。以下の記載では、C5出力206がC5出力ベクトル801に格納された後の処理を説明する。
C5出力206がC5出力ベクトル801に格納されると、C5出力ベクトル801に対して第2の認識タスク用の第1の全結合層(T2F1)の学習パラメタT2F1LP805を用いて線形和演算を行い活性化関数を適用する(活性化関数をかける)。そして、得られた結果がT2F1出力802に出力される。続いて、F2F1出力802に対して第2の認識タスク用の第2の全結合層(T2F2)の学習パラメタT2F2LP806を用いて線形和演算を行い、活性化関数を適用する。そして、得られた結果がT2F2出力803に出力される。続いて、F2F2出力803に対して第2の認識タスク用の第3の全結合層(T2F3)の学習パラメタT2F3LP807を用いて線形和演算が行われ、ソフトマックス関数を適用する。得られた結果がT2F3出力804に出力される。
学習フェーズにおいては、T2F3出力804と第2の認識タスクの真値であるタスク2真値808とを比較し、その誤差に応じて学習パラメタを更新する。すなわち、タスク2真値808から入力画像201に至るまでの経路を逆にたどりながら学習パラメタの更新がなされる。図8に示したDCNN200bの構造では、T2F3LP807からT2F1LP805までの学習パラメタは、第2の認識タスクに対する誤差によってのみ更新がなされる。また、C5LP215からC1LP211までの学習パラメタは、第1の認識タスクと第2の認識タスクの両方の誤差によって更新される。
F1LP216からF3LP218までの全結合層の学習パラメタと、B1LP221およびB3LP222のバイパス結合部の学習パラメタとは、第1の認識タスクに対する誤差によってのみ更新がなされる。これは、バイパス結合部223および224は低次特徴と高次特徴を用いる第1の認識タスクのためのものであり、この部分の学習においては第2の認識タスクの影響を受けない構造となっているからである。
(実施形態4の効果)
DCNN200bが上記したような構成をとることにより、以下のような効果を得ることができる。
第1の認識タスクは、抽象度の低い低次特徴と抽象度の高い高次特徴の両方を使って識別する審美性判定タスクであるが、C1からC5に直線的に至るデータ経路は、抽象度の低い低次特徴を階層的に統合して抽象度の高い高次特徴を抽出する経路である。
第2の認識タスクは、物体種別認識タスクであり、本実施形態で説明したDCNN構造で学習すれば、C1からC5は物体種別を識別するために好適な高次特徴が抽出されるように学習される。このことによって、第1の認識タスクに対しても必要であるような、物体に対して反応する高次特徴を抽出する能力が補強される。第1の認識タスクである審美性判定用の学習データには、明示的に物体を検出するための教師情報は入っていないため、第2の認識タスクによってそれを補うことができる。よって、本実施形態の構成をとることにより、第1の認識タスクの性能が上がることが期待できる。
第1の認識タスクではバイパス結合部223および224によって低次特徴が識別部にバイパスされて識別されるという効果を奏する。この効果は実施形態1で説明した効果と同様である。バイパス結合部223および224では、第2の認識タスクに対しても有効である(使用できる)ように学習された特徴(出力202〜205)の中から、第1の認識タスクにおいて有効な特徴をさらに抽出するように学習されることになる。
なお、上記の説明において、第1の認識タスクは審美性判定タスクであり、第2の認識タスクは物体種別認識タスクであるとしたが、本実施形態で用いる複数の認識タスクは審美性判定タスクや物体種別認識タスクに限定されない。
実施形態5
(実施形態5の概要)
実施形態1では、バイパス結合部を有する中間層(C1およびC3)の学習パラメタを更新するための学習時設定は、バイパス結合部を有さない中間層の学習パラメタを更新するための学習時設定と同じであった。本発明は、このような実施形態に限定されない。実施形態5では、バイパス結合部を有する中間層の学習パラメタを更新するための学習時設定が、バイパス結合部を有さない中間層の学習パラメタを更新するための学習時設定と異なるようにした情報処理装置を説明する。学習時設定とは、たとえば学習率などの、学習パラメタ更新アルゴリズムの動作を設定するための各種設定パラメタである。
バイパス結合部を有する畳み込み層で抽出された特徴は、当該畳み込み層以降の階層の畳み込み層を介さずにバイパスされて識別層に送られると共に、次層の畳み込み層にも送られて、より高次の特徴を抽出するためにも使われる。下層部(下位層)で抽出される抽象度の低い低次特徴は、高層部(上位層)で抽出される抽象度の高い高次特徴を抽出するために必要な特徴である。学習時に(学習フェーズで)バイパス結合部からの誤差逆伝搬の影響を強く受けると、高次特徴を抽出するために必要な低次特徴を学習する能力に悪影響が出ることが考えられる。これは、バイパス結合部は次層の畳み込み層(および当該畳み込み層に続く上位層)と結合されていないので、高次特徴を構成するために必要な低次特徴を学習するように誘導する教師情報が当該バイパス結合部に伝わってこないからである。以上のことを考慮し、本実施形態では、バイパス結合部を経由した学習パラメタ更新と、バイパス結合部を経由しない学習パラメタ更新とを区別し、それぞれ異なる学習時設定(たとえば異なる学習率)を使用する。
(情報処理装置の構成)
図9は実施形態5の情報処理装置1cの構成図である。図9に示すように、第1実施形態(図1)との相違点は、実施形態5の情報処理装置1cは、第1のメモリ5に経路別学習時設定部15を有することである。また、第1実施形態との他の相違点は、第2のメモリ6にバイパス経由学習時設定情報23、非バイパス経由学習時設定情報24および学習時設定情報25を有することである。経路別学習時設定部15は、バイパス結合部を有する中間層(畳み込み層)の学習パラメタを更新するための学習時設定を、バイパス結合部を有さない中間層の学習パラメタを更新するための学習時設定と異なる設定にする。
以下、実施形態1との相違点を説明し、実施形態1と同じ構成については説明を省略する。図9において、図1と共通する部分には同じ参照番号・符号を用いてある。DCNNは図2に示したものを使用する。
まず、実施形態1との相違点である経路別学習時設定部15について説明する。
図2において、C1における学習パラメタC1LP211を誤差逆伝搬法によって更新する場合について考える。なお、これは一例であり、以下の説明はバイパス結合部を有する他の中間層に対しても同様に用いることができる。
C1LP211は、C2から伝搬してくる誤差によっても更新され、また、バイパス部(B1)から伝搬してくる誤差によっても更新される。バイパス部から伝搬してくる誤差によってC1LP211を更新する際の学習時設定を、バイパス経由学習時設定と呼ぶことにする。また、C2から伝搬してくる誤差によってC1LP211を更新する際の学習時設定を、非バイパス経由学習時設定と呼ぶことにする。バイパス経由学習時設定および非バイパス経由学習時設定は事前にユーザによって設定され、それぞれ、第2のメモリ6のバイパス経由学習時設定情報23および非バイパス経由学習時設定情報24に格納されているとする。なお、図9ではバイパス経由学習時設定情報23および非バイパス経由学習時設定情報24はそれぞれ1つのブロックで示しているが、学習時設定情報23および24には、バイパス結合を有する中間層ごとの設定が格納されている。また、バイパス結合を持たない中間層については、従来通りの学習時設定情報25が第2のメモリ6に格納されているものとする。学習設定情報25には、各層ごとの学習時設定が格納されているものとする。本実施形態の経路別学習時設定部15は、バイパス結合部を有する中間層の更新においてはバイパス経由であるかどうかで学習時設定を切り替えて設定する。
(経路別学習時設定部の処理の流れ)
図10は経路別学習時設定部15の処理の流れを説明するためのフローチャートである。経路別学習時設定部15が行う処理は、学習部10において学習パラメタを更新する際に行われる処理である。よって、図10が示すフローチャートは、学習部10の処理の一部を説明するものである。学習部10は多数の学習データに対して繰り返し学習を行うものであるが、図10は、1つの学習データの分に対する更新処理の概略を示している。
はじめに、S61において、学習データ20から学習画像を一つ取り出して学習中のDCNNに与え、DCNNの出力を算出する(すなわち識別結果を算出する)。
そして、S62以降のステップにおいて、各中間層に対して順次学習パラメタの更新を行う。
S62では、これから更新する層を設定する。この設定は、出力層から入力層に向かって順次進んでいくものである。後述のように更新の計算は出力層から逆伝搬する経路ごとに行われるので、バイパス結合部を有する層に対しては、バイパス数の回数だけ更新対象として設定されることになる。
S63では、これから更新する中間層がバイパス結合部を有するかどうかを判定する。中間層がバイパス結合部を有さない場合(S63:No)は、従来のDCNNの学習処理と同様であり、従来通りの(通常の)学習時設定情報25を学習時設定としてセットし、S64に進む。中間層がバイパス結合部を有する場合(S63:Yes)、S65に進む。
S65ではこれから算出するロス勾配(ロス関数の勾配)がバイパス経由の誤差伝搬によるものかどうかを判定する。S65の判定がYesの場合はS66に進む。S66において、バイパス経由学習時設定情報23を学習時設定としてセットする。S66の後、S68に進む。S65の判定がNoの場合はS67に進む。S67において、非バイパス経由学習時設定情報24を学習時設定としてセットする。S67の後、S68に進む。
S68では、学習データ20中の真値と、S66またはS67の学習時設定で求めた識別結果との誤差により、学習パラメタに対するロス勾配を算出する。これは従来の誤差伝搬法で行われているのと同様の処理である。ロス関数を学習パラメタで微分した式に、現在の学習パラメタと識別結果と真値の値を与えることで、現在の学習パラメタにおけるロス関数の勾配であるロス勾配を算出することができる。ある中間層におけるロス勾配は出力層と当該中間層との間の層の結合重みに応じて算出されるので、当該中間層と出力層の間にどのような層があるかによってロス勾配は変わってくる。たとえば学習パラメタC1LP211を更新しようとする際、C2から出力層までの学習パラメタに応じて算出されるロス勾配と、バイパス結合部のB1から出力層までの学習パラメタに応じて算出されるロス勾配は異なる。
S69では、S68で得られたロス勾配と設定済みの学習時設定とを用いて、学習パラメタを更新する。たとえばロス勾配に学習率をかけて学習パラメタを更新する。学習率は、学習時設定の一例である。
S70では、全層に対して学習パラメタの更新が終わったかどうか判定する。全層に対して学習パラメタの更新が終わっていなければ(S70:No)、S62に戻って次の層を更新対象に設定する。完了していれば本処理を終えて次の学習データによる更新を行う。
(実施形態5の効果)
以上のような構成をとることにより、誤差逆伝搬の経路がバイパス結合部経由であるかどうかによって学習時設定を使い分けることができるようになる。学習時設定を使い分けることによって、低層部において高次特徴のために必要な低次特徴を学習する強さと、認識タスクの識別のために必要な低次特徴を学習する強さとを調節することができるようになる。
(変形例)
実施形態5では、誤差逆伝搬を受ける経路ごとに学習時設定を切り替える方法を説明した。ここで、実施形態4で説明したようなマルチタスク識別器の構成について考える。たとえば、図8において、C1からC5は2つの認識タスクからの誤差逆伝搬によって学習パラメタの更新を受けることになる。この際、誤差逆伝搬がバイパス経由かどうかによる切り替えだけでなく、どの認識タスクからの誤差伝搬であるかによっても学習時設定を切り替えてもよい。認識タスクによって学習時設定を切り替える処理の例としては、たとえば以下のようにすればよい。まず、図9の第2のメモリ6中のバイパス経由学習時設定情報23、非バイパス経由学習時設定情報24と同様に、タスク1学習設定およびタスク2学習設定を事前に第2のメモリ6に格納しておく。図10のS63では複数のタスクから誤差逆伝搬を受ける層であるかどうかを判定する。S65では、どの認識タスクからの誤差逆伝搬であるかを判定する。たとえば、第1の認識タスクからの誤差逆伝搬である場合はS66に進み、タスク1学習設定をセットする。そして、第2の認識タスクからの誤差逆伝搬である場合はS67に進み、タスク2学習設定をセットする。このように、S65の判定に従って、タスク1学習設定(第1の認識タスクの学習設定)とタスク2学習設定(第2の認識タスクの学習設定)を切り替えて学習する。
上記したような構成にすることによって、共通部分となる層において各認識タスクからどれくらいの割合で学習させるかを調整することができるようになる。たとえば、下層部については第2の認識タスクを重視して学習するようにし、高層部については第1の認識タスクを重視して学習するような設定が可能になる。
(ハードウェア構成)
図1、図3、図5および図9に示す学習部10、識別部11、バイパス結合部位置決定部12、中間層類似度算出部13、類似中間層統合設定部14および経路別学習時設定部15は機能ブロックで示されている。これら機能ブロックで示されているものの少なくとも一部をハードウェアにより実現してもよい。ハードウェアにより実現する場合、たとえば、所定のコンパイラを用いることで、各ステップを実現するためのプログラムからFPGA上に自動的に専用回路を生成すればよい。FPGAは、Field Programmable Gate Arrayの略である。また、FPGAと同様にしてGate Array回路を形成し、ハードウェアとして実現するようにしてもよい。さらに、ASIC(Application Specific Integrated Circuit)により実現するようにしてもよい。
図1の第1のメモリ5と第2のメモリ6は、それぞれプログラムを格納するメモリとデータを格納するメモリとを区別しているだけであり、1つのメモリとしてもよい。
(他の実施形態)
本発明は、上述の実施形態の第1のメモリ5の1以上の機能を実現するプログラム(コンピュータプログラム)を、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(たとえば、ASIC)によっても実現可能である。
1…情報処理装置、2…CPU、10…学習部、11…識別部、20…学習データ、21…DCNN情報、200…DCNN、223…第1畳み込み層のバイパス部、224…第2畳み込み層のバイパス部

Claims (16)

  1. 入力層と出力層の間に複数の中間層を有するニューラルネットワークと、
    前記複数の中間層のうち特徴抽出層として機能する中間層の少なくとも1つの中間層に設けられるバイパス手段と、を備える情報処理装置であって、
    前記バイパス手段は、前記バイパス手段が設けられた中間層の出力を、当該中間層の次の中間層より後段の中間層に供給することを特徴とする情報処理装置。
  2. 前記バイパス手段は、少なくとも1つの特徴抽出層を含むことを特徴とする請求項1に記載の情報処理装置。
  3. 前記ニューラルネットワークは畳み込みニューラルネットワークであり、前記バイパス手段が設けられた中間層は畳み込み層であり、前記後段の中間層は全結合層であることを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記複数の中間層のうち、どの中間層に前記バイパス手段を設けるかを決定する決定手段をさらに有することを特徴とする請求項1から3のいずれか1項に記載の情報処理装置。
  5. 前記複数の中間層の出力に基づいて、中間層の類似度を判定する判定手段をさらに有し、
    前記決定手段は、前記類似度に基づいて、どの中間層に前記バイパス手段を設けるかを決定することを特徴とする請求項4に記載の情報処理装置。
  6. 前記決定手段は、前記複数の中間層のうち、前記バイパス手段を設けることができる最下位および最上位の中間層の少なくとも一方に、前記バイパス手段を設けると決定することを特徴とする請求項4または5に記載の情報処理装置。
  7. 前記複数の中間層の数が所定数より多い場合、前記決定手段は、所定の基準に基づいて前記複数の中間層のから前記所定数に近い数の中間層を選び、当該選ばれた中間層から、前記バイパス手段を設けるべき中間層を前記類似度に基づいて決定することを特徴とする請求項5に記載の情報処理装置。
  8. 前記判定手段によって類似度が所定値以上であると判定された中間層の出力を統合する統合手段をさらに有し、前記統合手段の出力は前記バイパス手段の畳み込み層に入力されることを特徴とする請求項5に記載の情報処理装置。
  9. 前記ニューラルネットワークを誤差逆伝搬法により学習する学習手段と、
    誤差逆伝搬の経路ごとに各層の学習時設定を切り替える切替手段と、
    をさらに有することを特徴とする請求項1から8のいずれか1項に記載の情報処理装置。
  10. 前記ニューラルネットワークは一つの入力データに対して複数のタスクの処理を並行して行うマルチタスクニューラルネットワークであり、
    前記ニューラルネットワークを誤差逆伝搬法により学習する学習手段をさらに有し、
    誤差逆伝搬法により学習パラメタを更新する場合、前記学習手段は、前記複数のタスクに共通する層の学習パラメタを、前記複数のタスクで生ずる誤差を用いて更新することを特徴とする請求項1から8のいずれか1項に記載の情報処理装置。
  11. 前記ニューラルネットワークは、一つの入力データに対して複数のタスクの処理を並行して行うマルチタスクニューラルネットワークであり、
    前記ニューラルネットワークを誤差逆伝搬法により学習する学習手段と、
    前記バイパス手段が設けられた中間層の学習パラメタを誤差逆伝搬法により更新する場合、どのタスクからの誤差伝搬であるかによって前記学習手段の学習時設定を切り替える切替手段と、
    をさらに有することを特徴とする請求項1から8のいずれか1項に記載の情報処理装置。
  12. 前記複数のタスクは、画像の審美性を判定するタスクと画像中の物体の種別を認識するタスクとを含むことを特徴とする請求項10または11に記載の情報処理装置。
  13. 前記複数のタスクは、抽象度の低い低次特徴および抽象度の高い高次特徴を用いて識別を行うタスクと、抽象度の高い高次特徴を用いて識別を行うタスクとを含むことを特徴とする請求項10または11に記載の情報処理装置。
  14. 前記情報処理装置は、画像の審美性を判定する装置であることを特徴とする請求項1から13のいずれか1項に記載の情報処理装置。
  15. 入力層と出力層の間に複数の中間層を有するニューラルネットワークにおいて、
    前記複数の中間層のうち特徴抽出層として機能する中間層の少なくとも1つの中間層の出力を、当該中間層の次の中間層より後段の中間層に供給することを特徴とする情報処理方法。
  16. コンピュータを、請求項1から14のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
JP2016158567A 2016-08-12 2016-08-12 情報処理装置および情報処理方法 Pending JP2018026040A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016158567A JP2018026040A (ja) 2016-08-12 2016-08-12 情報処理装置および情報処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016158567A JP2018026040A (ja) 2016-08-12 2016-08-12 情報処理装置および情報処理方法

Publications (1)

Publication Number Publication Date
JP2018026040A true JP2018026040A (ja) 2018-02-15

Family

ID=61193968

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016158567A Pending JP2018026040A (ja) 2016-08-12 2016-08-12 情報処理装置および情報処理方法

Country Status (1)

Country Link
JP (1) JP2018026040A (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018181187A (ja) * 2017-04-20 2018-11-15 株式会社日立製作所 データ分析装置、データ分析方法、およびデータ分析プログラム
JP6559382B1 (ja) * 2018-12-21 2019-08-14 三菱電機株式会社 音源方向推定装置、音源方向推定方法、及び音源方向推定プログラム
JP2019192009A (ja) * 2018-04-26 2019-10-31 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
WO2020012935A1 (ja) * 2018-07-09 2020-01-16 株式会社日立ハイテクノロジーズ 機械学習装置、画像診断支援装置、機械学習方法及び画像診断支援方法
CN111488901A (zh) * 2019-01-25 2020-08-04 斯特拉德视觉公司 在cnn中从多个模块内的输入图像提取特征的方法及装置
CN111797672A (zh) * 2019-04-09 2020-10-20 株式会社日立制作所 物体识别系统和物体识别方法
JP2021513125A (ja) * 2018-11-14 2021-05-20 トゥアト カンパニー,リミテッド ディープラーニングベースの画像解析方法、システム及び携帯端末
JP2021103521A (ja) * 2019-12-24 2021-07-15 財團法人工業技術研究院Industrial Technology Research Institute ニューラルネットワーク演算装置および方法
JP2021530048A (ja) * 2018-09-06 2021-11-04 ベイジン センスタイム テクノロジー デベロップメント カンパニー, リミテッド 多階層化目標類別方法及び装置、交通標識検出方法及び装置、機器並びに媒体
WO2022030506A1 (ja) * 2020-08-03 2022-02-10 正好 石井 情報処理装置及び情報処理方法

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018181187A (ja) * 2017-04-20 2018-11-15 株式会社日立製作所 データ分析装置、データ分析方法、およびデータ分析プログラム
JP7166784B2 (ja) 2018-04-26 2022-11-08 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
JP2019192009A (ja) * 2018-04-26 2019-10-31 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
WO2020012935A1 (ja) * 2018-07-09 2020-01-16 株式会社日立ハイテクノロジーズ 機械学習装置、画像診断支援装置、機械学習方法及び画像診断支援方法
JP2020009160A (ja) * 2018-07-09 2020-01-16 株式会社日立ハイテクノロジーズ 機械学習装置、画像診断支援装置、機械学習方法及び画像診断支援方法
JP7046745B2 (ja) 2018-07-09 2022-04-04 株式会社日立ハイテク 機械学習装置、画像診断支援装置、機械学習方法及び画像診断支援方法
JP2021530048A (ja) * 2018-09-06 2021-11-04 ベイジン センスタイム テクノロジー デベロップメント カンパニー, リミテッド 多階層化目標類別方法及び装置、交通標識検出方法及び装置、機器並びに媒体
JP2021513125A (ja) * 2018-11-14 2021-05-20 トゥアト カンパニー,リミテッド ディープラーニングベースの画像解析方法、システム及び携帯端末
WO2020129231A1 (ja) * 2018-12-21 2020-06-25 三菱電機株式会社 音源方向推定装置、音源方向推定方法、及び音源方向推定プログラム
JP6559382B1 (ja) * 2018-12-21 2019-08-14 三菱電機株式会社 音源方向推定装置、音源方向推定方法、及び音源方向推定プログラム
JP2020119524A (ja) * 2019-01-25 2020-08-06 株式会社ストラドビジョンStradvision,Inc. 核心性能指数を満たすことができるハードウェア最適化が行われるように、cnnで複数のブロック内の入力イメージから特徴を抽出する学習方法及び学習装置、それを利用したテスト方法及びテスト装置
CN111488901A (zh) * 2019-01-25 2020-08-04 斯特拉德视觉公司 在cnn中从多个模块内的输入图像提取特征的方法及装置
CN111488901B (zh) * 2019-01-25 2023-11-21 斯特拉德视觉公司 在cnn中从多个模块内的输入图像提取特征的方法及装置
CN111797672A (zh) * 2019-04-09 2020-10-20 株式会社日立制作所 物体识别系统和物体识别方法
JP2020173562A (ja) * 2019-04-09 2020-10-22 株式会社日立製作所 物体認識システム及び物体認識方法
JP7231464B2 (ja) 2019-04-09 2023-03-01 株式会社日立製作所 物体認識システム及び物体認識方法
CN111797672B (zh) * 2019-04-09 2024-04-05 株式会社日立制作所 物体识别系统和物体识别方法
JP2021103521A (ja) * 2019-12-24 2021-07-15 財團法人工業技術研究院Industrial Technology Research Institute ニューラルネットワーク演算装置および方法
JP7365999B2 (ja) 2019-12-24 2023-10-20 財團法人工業技術研究院 ニューラルネットワーク演算装置および方法
WO2022030506A1 (ja) * 2020-08-03 2022-02-10 正好 石井 情報処理装置及び情報処理方法

Similar Documents

Publication Publication Date Title
JP2018026040A (ja) 情報処理装置および情報処理方法
CN112818903B (zh) 一种基于元学习和协同注意力的小样本遥感图像目标检测方法
CN110276316B (zh) 一种基于深度学习的人体关键点检测方法
CN109858506B (zh) 一种面向卷积神经网络分类结果的可视化算法
US11651214B2 (en) Multimodal data learning method and device
US20170147905A1 (en) Systems and methods for end-to-end object detection
CN111160350B (zh) 人像分割方法、模型训练方法、装置、介质及电子设备
KR102061935B1 (ko) 딥 신경망을 이용한 정보 이전 방법 및 그 장치
CN112396607A (zh) 一种可变形卷积融合增强的街景图像语义分割方法
CN109598231A (zh) 一种视频水印的识别方法、装置、设备及存储介质
KR102252439B1 (ko) 이미지에서 오브젝트 검출 및 표현
CN111709268B (zh) 一种深度图像中的基于人手结构指导的人手姿态估计方法和装置
TWI831016B (zh) 機器學習方法、機器學習系統以及非暫態電腦可讀取媒體
JP2023502140A (ja) タスク固有のデータ利用のための物理学により誘導されたディープマルチモーダル埋め込みのための方法及び装置
EP4320602A1 (en) Dynamic head for object detection
EP4040378A1 (en) Burst image-based image restoration method and apparatus
WO2022267387A1 (zh) 图像识别方法、装置、电子设备和存储介质
WO2020224244A1 (zh) 一种景深图获取方法及装置
US20230143874A1 (en) Method and apparatus with recognition model training
CN116805423B (zh) 一种基于结构重参数化的轻量级人体姿态估计算法
CN112926662B (zh) 一种基于多尺度语言嵌入rec的目标检测方法
CN117649582B (zh) 基于级联注意力的单流单阶段网络目标跟踪方法与系统
WO2023053365A1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
EP4191526A1 (en) Apparatus and method with object posture estimating
KR20230065863A (ko) 인식 모델의 트레이닝 방법 및 장치