(57)【要約】【課題】対象物に関する識別精度の高い識別装置を実現する【解決手段】識別装置１は、１又は複数の検出器の各々からの出力信号の経時変化を示すデータ列を参照して、対象物に関する識別結果を算出する算出部を備え、上記算出部は、畳み込みニューラルネットワークを用いた計算処理により、上記対象物に関する識別結果を算出する。【選択図】図１
2018105659.tif 000002
【特許請求の範囲】
【請求項１】
１又は複数の検出器の各々からの出力信号の経時変化を示すデータ列を参照して、対象物に関する識別結果を算出する算出部
を備え、
上記算出部は、畳み込みニューラルネットワークを用いた計算処理により、上記対象物に関する識別結果を算出する
ことを特徴とする識別装置。
【請求項２】
上記畳み込みニューラルネットワークを用いた計算処理には、
１又は複数の畳み込み処理、及び
１又は複数のプーリング処理
が含まれる
ことを特徴とする請求項１に記載の識別装置。
【請求項３】
上記算出部は、上記１又は複数の畳み込み処理、及び上記１又は複数のプーリング処理として、
第１の畳み込み処理、
上記第１の畳み込み処理に引き続く第１のプーリング処理、
上記第１のプーリング処理に引き続く第２の畳み込み処理、及び
上記第２の畳み込み処理に引き続く第２のプーリング処理
を実行する
ことを特徴とする請求項２に記載の識別装置。
【請求項４】
上記１又は複数の畳み込み処理に用いられるパラメータは、データアーギュメンテーション処理を施した学習用データを用いた学習によって決定されたパラメータである
ことを特徴とする請求項２又は３に記載の識別装置。
【請求項５】
請求項１から４の何れか１項に記載の識別装置と、
上記出力信号を出力する１又は複数の検出器と、
を備えていることを特徴とする識別システム。
【請求項６】
上記１又は複数の検出器は、気体、液体、又は固体の対象物を検出する検出器である
ことを特徴とする請求項５に記載の識別システム。
【請求項７】
上記１又は複数の検出器は、対象物を加熱するヒータを備えており、
上記算出部は、複数の温度での上記対象物に関する出力信号の経時変化を示すデータ列を参照して、対象物に関する識別結果を算出する
ことを特徴とする請求項５又は６に記載の識別システム。
【請求項８】
対象物を希釈する希釈部を更に備え、
上記算出部は、
上記算出部は、複数の希釈濃度での上記対象物に関する出力信号の経時変化を示すデータ列を参照して、対象物に関する識別結果を算出する
ことを特徴とする請求項５から７の何れか１項に記載の識別システム。
【請求項９】
識別装置を学習させる学習装置であって、
上記識別装置は、
１又は複数の検出器のそれぞれからの出力信号の経時変化を示すデータ列を参照して、畳み込みニューラルネットワークを用いた計算処理により、対象物に関する識別結果を算出する算出部
を備えており、
当該学習装置は、
データアーギュメンテーション処理を施した学習用データを上記算出部に入力する入力部と、
教師あり学習によって、上記畳み込みニューラルネットワークに用いるパラメータを更新する更新部と
を備えていることを特徴とする学習装置。
【請求項１０】
識別装置を学習させる学習方法であって、
上記識別装置は、
１又は複数の検出器のそれぞれからの出力信号の経時変化を示すデータ列を参照して、畳み込みニューラルネットワークを用いた計算処理により、対象物に関する識別結果を算出する算出部
を備えており、
当該学習方法は、
データアーギュメンテーション処理を施した学習用データを上記算出部に入力する入力ステップと、
教師あり学習によって、上記畳み込みニューラルネットワークに用いるパラメータを更新する更新ステップと
を含んでいることを特徴とする学習方法。
【請求項１１】
請求項１に記載の識別装置としてコンピュータを機能させるための識別プログラムであって、上記算出部としてコンピュータを機能させるための識別プログラム。
【請求項１２】
請求項９に記載の学習装置としてコンピュータを機能させるための学習プログラムであって、上記入力部及び上記更新部としてコンピュータを機能させるための学習プログラム。
【請求項１３】
請求項１１又は１２に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１４】
１又は複数の検出器の各々からの出力信号の経時変化を示すデータ列を参照して、対象物に関する識別結果を算出する算出部
として機能する論理回路が形成されており、
上記算出部は、畳み込みニューラルネットワークを用いた計算処理により、上記対象物に関する識別結果を算出する
ことを特徴とする集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は対象物に関する識別結果を算出する識別装置、識別システム、識別プログラム、及び集積回路、並びに、識別装置を学習させる学習装置、学習プログラム、学習方法に関する。また、本発明は、上記のようなプログラムが格納された記録媒体に関する。
【背景技術】
【０００２】
従来、気体等の対象物の検知及び識別を目的とする各種のセンサや識別装置が知られており、様々な用途に用いられている。
【０００３】
例えば、特許文献１には、複数の化学物質特徴信号とセンサからの出力信号とを比較することによってガスの識別を行うガス識別システムが開示されている。
【０００４】
また、特許文献２には、被検ガスを流すガス流路と、該ガス流路のガス流れ方向に沿って並設された複数のガスセンサとを有するガスセンサアレイが開示されている。
【０００５】
また、非特許文献１には、センサードリフトが存在する状況における、ディープラーニングを用いたガス識別について開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−９３５５０号公報（２００４年３月２５日公開）
【特許文献２】国際公開ＷＯ２０１４／０３４９３５Ａ１（２０１４年３月６日公開）
【非特許文献】
【０００７】
【非特許文献１】Qihe Liu et al.,, International Journal of Intelligent Systemsvol.30,  issue 8, pp 907-922, 2015
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、従来のセンサや識別装置では、識別精度を向上させること難しいという問題があった。
【０００９】
例えば、非特許文献１には、測定時期が異なるデータにおけるセンサ値のドリフトを補償（compensate）する技術、換言すれば、測定データのグループ間誤差を補償する技術が開示されているものの、単一グループに対しては、サポートベクターマシン等の他の手法に比べて識別能力の大きな向上は見いだされない。
【００１０】
本発明の一態様は、上記の課題に鑑みてなされたものであり、気体等の対象物に関する識別精度の高い識別装置を実現することを目的とする。
【課題を解決するための手段】
【００１１】
上記の課題を解決するために、本発明の一態様に係る識別装置は、１又は複数の検出器の各々からの出力信号の経時変化を示すデータ列を参照して、対象物に関する識別結果を算出する算出部を備え、上記算出部は、畳み込みニューラルネットワークを用いた計算処理により、上記対象物に関する識別結果を算出することを特徴とする。
【００１２】
上記の構成によれば、算出部は、１又は複数の検出器の各々からの出力信号の経時変化を示すデータ列を参照して、畳み込みニューラルネットワークを用いた計算処理により、上記対象物に関する識別結果を算出するので、高い識別精度を実現することができる。
【００１３】
また、上記の構成において、上記畳み込みニューラルネットワークを用いた計算処理には、１又は複数の畳み込み処理、及び１又は複数のプーリング処理
が含まれることが好ましい。
【００１４】
上記の構成によれば、畳み込み処理及びプーリング処理を用いることにより、より高い識別精度を実現することができる。
【００１５】
また、上記の構成において、上記算出部は、上記１又は複数の畳み込み処理、及び上記１又は複数のプーリング処理として、第１の畳み込み処理、上記第１の畳み込み処理に引き続く第１のプーリング処理、上記第１のプーリング処理に引き続く第２の畳み込み処理、及び上記第２の畳み込み処理に引き続く第２のプーリング処理を実行することが好ましい。
【００１６】
上記の構成によれば、より高い識別精度を実現することができる。
【００１７】
また、上記の構成において、上記１又は複数の畳み込み処理に用いられるパラメータは、データアーギュメンテーション処理を施した学習用データを用いた学習によって決定されたパラメータであることが好ましい。
【００１８】
上記の構成によれば、より高い識別精度を実現することができる。
【００１９】
また、本発明の一態様に係る識別システムは、上記識別装置と、上記出力信号を出力する１又は複数の検出器と、を備えていることを特徴とする。
【００２０】
上記の構成によれば、高い識別精度を実現することができる。
【００２１】
また、上記の構成において、上記１又は複数の検出器は、気体、液体、又は固体の対象物を検出する検出器であることが好ましい。
【００２２】
上記の構成によれば、気体又は液体に関する高い識別精度を実現することができる。
【００２３】
また、上記の構成において、上記１又は複数の検出器は、対象物を加熱するヒータを備えており、上記算出部は、複数の温度での上記対象物に関する出力信号の経時変化を示すデータ列を参照して、対象物に関する識別結果を算出することが好ましい。
【００２４】
上記の構成によれば、より高い識別精度を実現することができる。
【００２５】
また、上記の構成において、対象物を希釈する希釈部を更に備え、上記算出部は、上記算出部は、複数の希釈濃度での上記対象物に関する出力信号の経時変化を示すデータ列を参照して、対象物に関する識別結果を算出することが好ましい。
【００２６】
上記の構成によれば、より高い識別精度を実現することができる。
【００２７】
また、本発明の一態様に係る学習装置は、識別装置を学習させる学習装置であって、上記識別装置は、１又は複数の検出器のそれぞれからの出力信号の経時変化を示すデータ列を参照して、畳み込みニューラルネットワークを用いた計算処理により、対象物に関する識別結果を算出する算出部を備えており、当該学習装置は、データアーギュメンテーション処理を施した学習用データを上記算出部に入力する入力部と、教師あり学習によって、上記畳み込みニューラルネットワークに用いるパラメータを更新する更新部とを備えている。
【００２８】
上記の構成によれば、高い識別精度を有する識別装置を作ることができる。
【００２９】
また、本発明の一態様に係る学習方法は、識別装置を学習させる学習方法であって、上記識別装置は、１又は複数の検出器のそれぞれからの出力信号の経時変化を示すデータ列を参照して、畳み込みニューラルネットワークを用いた計算処理により、対象物に関する識別結果を算出する算出部を備えており、当該学習方法は、データアーギュメンテーション処理を施した学習用データを上記算出部に入力する入力ステップと、教師あり学習によって、上記畳み込みニューラルネットワークに用いるパラメータを更新する更新ステップとを含んでいる。
【００３０】
上記の方法によれば、高い識別精度を有する識別装置を作ることができる。
【００３１】
また、本発明の一態様に係る集積回路は、１又は複数の検出器の各々からの出力信号の経時変化を示すデータ列を参照して、対象物に関する識別結果を算出する算出部として機能する論理回路が形成されており、上記算出部は、畳み込みニューラルネットワークを用いた計算処理により、上記対象物に関する識別結果を算出する。
【００３２】
上記の方法によれば、高い識別精度の識別結果を算出することができる。
【００３３】
また、上記識別装置としてコンピュータを機能させるための識別プログラム、上記学習装置としてコンピュータを機能させるための学習プログラム、及びそのようなプログラムを記録したコンピュータ読み取り可能な記録媒体も本発明の態様に含まれる。
【発明の効果】
【００３４】
本発明の一態様によれば、高い識別精度を実現することができる。
【図面の簡単な説明】
【００３５】
【図１】本発明の実施形態に係る識別システムの構成を示すブロック図である。
【図２】図１に示す識別システムに含まれる識別装置の機能を示すブロック図である。
【図３】図２に示す識別装置に含まれる各ブロックの入出力となるデータの構造を示す概念図である。
【図４】図２に示す識別装置に入力された入力配列Ｕ０〜Ｕ３を示すグラフである。
【図５】図２に示す識別装置にて算出された１回目のプーリング後の特徴マップＷ０〜Ｗ３を示すグラフである。
【図６】図２に示す識別装置にて算出された２回目のプーリング後の特徴マップＹ０〜Ｙ６、及び出力配列γを示すグラフである。
【発明を実施するための形態】
【００３６】
（識別システムの構成）
本発明の一実施形態に係る識別システム１の構成について、図１を参照して説明する。図１は、識別システム１の構成を示すブロック図である。
【００３７】
識別システム１は、対象ガスを識別する（対象ガスのガス種が予め定められた幾つかのガス種の何れであるかを特定する）ためのシステムであり、図１に示すように、ガス流路１１、ガスセンサ群（検出器）１２、及び識別装置１３を備えている。
【００３８】
ガス流路１１は、対象ガスが流れる流路である。ガス流路１１は、例えば図１に示すように、対象ガス導入口１１１、希釈用ガス導入口１１２、ガス室１１３、及び排出口１１４によって構成することができる。対象ガス導入口１１１は、ガス室１１３の一端に接続された管状流路であり、対象ガスをガス室１１３に導入するために利用される。希釈用ガス導入口１１２は、対象ガス導入口１１１の中間部に接続された管状流路であり、対象ガスに混合する希釈用ガスを対象ガス導入口１１１に導入するために利用される。対象ガス導入口１１１を流れる対象ガスの流速、及び、希釈用ガス導入口１１２を流れる希釈用ガスの流速を適宜設定可能な希釈部を備える構成とすることによって、任意の濃度の対象ガスを含む混合ガスをガス室１１３に導入することができる。排出口１１４は、ガス室１１３の他端に接続された管状流路であり、混合ガスを排出するために利用される。
【００３９】
ガスセンサ群１２は、ガス流路１１（具体的には、ガス室１１３）の内部に設置された複数のガスセンサ１２１〜１２４の集合である。ガスセンサ群１２は、例えば図１に示すように、特性の異なる４つのガスセンサ１２１〜１２４によって構成することができる。本実施形態においては、第１のガスセンサ１２１として、プロパンガスの検知に適した半導体式ガスセンサ、第２のガスセンサ１２２として、アルコールの検知に適した半導体式ガスセンサ、第３のガスセンサ１２３として、ベンゼンの検知に適した半導体式ガスセンサ、第４のガスセンサ１２４として、ＬＰガスの検知に適した半導体式ガスセンサを用いる。各ガスセンサ１２１〜１２４の出力は、互いに独立した電気信号として識別装置１３に供給される。
【００４０】
識別装置１３は、各ガスセンサ１２１〜１２４の出力に基づいて対象ガスを識別する処理を、畳み込みニューラルネットワーク（CNN: Convolutional Neural Network）を用いて実行する機能（以下、「識別機能」と記載）を有する装置である。識別装置１３は、例えば図１に示すように、バス１３１、演算部１３２、主記憶部１３３、補助記憶部１３４、及び入出力インターフェース１３５を備えた汎用コンピュータにより構成することができる。
【００４１】
演算部１３２として利用可能なデバイスとしては、例えばＣＰＵ（Central Processing Unit）が挙げられる。また、主記憶部１３３として利用可能なデバイスとしては、例えばＲＡＭ（Random Access Memory）が挙げられる。また、補助記憶部１３４として利用可能なデバイスとしては、例えばＨＤＤ（Hard Disk Drive）が挙げられる。また、入出力インターフェース１３５として利用可能なデバイスとしては、例えばＵＳＢ（Universal Serial Bus）インターフェースが挙げられる。演算部１３２、主記憶部１３３、補助記憶部１３４、及び入出力インターフェース１３５は、バス１３１を介して相互に接続されている。各ガスセンサ１２１〜１２４の出力は、入出力インターフェース１３５においてデジタルデータに変換された後、バス１３１を介して主記憶部１３３に転送される。
【００４２】
補助記憶部１３４には、汎用コンピュータを識別装置１３として動作させる（汎用コンピュータのハードウェア資源を用いて識別装置１３の識別機能を実現する）ためのプログラム（以下、「識別プログラム」と記載）が格納されている。演算部１３２は、主記憶部１３３上に展開された識別プログラムに含まれる命令に従い、識別機能を構成する一連の演算を実行する。主記憶部１３３には、これら一連の演算の入出力となるデータが格納される。これら一連の演算の結果は、入出力インターフェース１３５を介してディスプレイやプリンタなどの出力装置に供給される。なお、識別プログラムにより実現される識別機能については、参照する図面を代えて詳述する。
【００４３】
なお、本実施形態においては、ガスセンサ群１２として４つの半導体式ガスセンサを用いる構成を採用しているが、本発明はこれに限定されない。すなわち、ガスセンサ群１２を構成するガスセンサの個数及び種類は任意である。利用可能なガスセンサとしては、半導体式その他の個体センサの他に、定電位電解式その他の電気化学センサ、又は、赤外線式その他の光学センサが挙げられる。ただし、半導体センサは、サイズが小さく、信頼性が高く、応答性に優れ、比較的安価であるため、他のガスセンサに比べて有利である。
【００４４】
（識別装置の機能）
識別装置１３の機能について、図２及び図３を参照して説明する。図２は、識別装置１３の機能を示すブロック図であり、図３は、識別装置１３の識別機能を構成する各演算の入出力となるデータの構造を示す概念図である。
【００４５】
識別装置１３は、図２に示すように、識別機能を担う第１畳込・閾値演算部１３ａ、第１プーリング演算部１３ｂ、第２畳込・閾値演算部１３ｃ、第２プーリング演算部１３ｄ、第１荷重和・閾値演算部１３ｅ、及び第２荷重和・閾値演算部１３ｆ、並びに、学習機能を担う係数設定部１３ｇとして機能する。
【００４６】
なお、第１畳込・閾値演算部１３ａ、第１プーリング演算部１３ｂ、第２畳込・閾値演算部１３ｃ、第２プーリング演算部１３ｄ、第１荷重和・閾値演算部１３ｅ、及び第２荷重和・閾値演算部１３ｆを纏めて算出部とも呼称する。
【００４７】
識別装置１３の識別機能とは、畳み込みニューラルネットワークを用いて、ガスセンサ群１２を構成する各ガスセンサの出力を表すＬ個の入力配列Ｕ０，Ｕ１，…，ＵＬ−１から、対象ガスの識別結果を表す１個の出力配列γを導出する機能のことを指す。ここで、Ｌは、識別装置１３が備えるガスセンサ１２１〜１２４の個数であり、本実施形態においては４である。各入力配列Ｕｌ（ｌ＝０，１，…，Ｌ−１）は、対応するガスセンサの出力（センサ強度）を時間順に並べた一次元配列｛Ｕｌ０，Ｕｌ１，…，ＵｌＩ−１｝である。各入力配列Ｕｌのデータ長Ｉは、任意に設定可能であり、本実施形態においてはＩ＝５００である。また、出力配列γは、識別対象として予め定められたＧ個のガス種Γ１，Γ２，…，ΓＧの各々について、対象ガスのガス種がガス種Γｇである確率γｇを並べた１次元配列｛γ１，γ２，…，γＧ｝である。本実施形態においては、Γ１＝アセトン、Γ２＝エタノール、Γ３＝ジエチルエーテル、Γ４＝ヘキサン、Γ５＝酢酸エチルとして、対象ガスがこれら５種類の何れであるかを識別する。したがって、出力配列γは、対象ガスがアセトンである確率γ１、エタノールである確率γ２、ジエチルエーテルである確率γ３、ヘキサンである確率γ４、酢酸エチルである確率γ５を並べた一次元配列｛γ１，γ２，γ３，γ４，γ５｝となる。
【００４８】
以下、この識別機能を担う第１畳込・閾値演算部１３ａ、第１プーリング演算部１３ｂ、第２畳込・閾値演算部１３ｃ、第２プーリング演算部１３ｄ、第１荷重和・閾値演算部１３ｅ、及び第２荷重和・閾値演算部１３ｆについて説明する。
【００４９】
第１畳込・閾値演算部１３ａは、入力配列Ｕ０，Ｕ１，…，ＵＬ−１から、特徴マップＶ０，Ｖ１，…，ＶＭ−１を導出する（図３の（ａ）の「畳込・閾値」参照）。各特徴マップＶｍ（ｍ＝０，１，…，Ｍ−１）は、データ長が入力配列Ｕｌと等しい一次元配列｛Ｖｍ０，Ｖｍ１，…，ＶｍＩ−１｝である。特徴マップＶ０，Ｖ１，…，ＶＭ−１の個数Ｍは、任意に設定可能であり、本実施形態においてはＭ＝４である。第１畳込・閾値演算部１３ａは、下記の式（１ａ）により定義される畳込演算、及び、下記の式（１ｂ）により定義される閾値演算を実行することによって、各特徴マップＶｍの各要素Ｖｍｉ（ｉ＝０，１，…，Ｉ−１）を、全ての入力配列Ｕ０，Ｕ１，…，ＵＬ−１から算出する。なお、ｉ≧Ｉ−ｐとなるときに参照されるＵｌの未定義要素は０とおく（ゼロパディング）。
【数１】
2018105659.tif 000003
ここで、Ａｍ＝｛Ａｍ０,ｌ，Ａｍ１,ｌ，…，ＡｍＰ−１,ｌ｝は、特徴マップＶｍを算出するために用いられる畳込演算の重み係数である。重み係数ＡｍのサイズＰは、入力配列Ｕｌのデータ長Ｉよりも短く、本実施形態においてはＰ＝５である。重み係数Ａｍの各要素Ａｍｐ,ｌ（ｐ＝０，１，…，Ｐ−１；ｌ＝０，１，…，Ｌ−１）は、学習により設定される。多次元配列である重み係数Ａのトータルのサイズは、縦1横P（=5）のフィルタが入力チャンネルL=4、出力チャンネルM=4分存在するので、１＊５＊４＊４＝８０である。
【００５０】
また、Ｂｍは、特徴マップＶｍを算出するために用いられる込み演算のバイアス項である。バイアス項Ｂｍは出力チャンネルの数だけ存在する。換言すれば、各出力チャンネルに対して共有されたバイアス項Ｂｍが一度だけ足し込まれる。バイアス項Ｂｍは、学習により設定される。また、ｆ（ｖ）は、活性化関数である。活性化関数ｆとしては、ｆ（ｖ）＝１／（１＋ｅ−ｖ）を用いてもよいし、ｆ（ｖ）＝ｔａｎｈ（ｖ）を用いてもよいし、ｆ（ｖ）＝ｍａｘ（ｖ，０）を用いてもよいが、本実施形態においてはｆ（ｖ）＝ｍａｘ（ｖ，０）を用いる。
【００５１】
第１プーリング演算部１３ｂは、特徴マップＶ０，Ｖ１，…，ＶＭ−１から、特徴マップＷ０，Ｗ１，…，ＷＭ−１を導出する（図３の（ａ）の「プーリング」参照）。各特徴マップＷｍ（ｍ＝０，１，…，Ｍ−１）は、データ長が特徴マップＶｍよりも短い一次元配列｛Ｗｍ０，Ｗｍ１，…，ＷｍＪ−１｝である。各特徴マップＷｍのデータ長Ｊは、後述する任意に設定可能なストライド長に応じて定まるものであり、本実施形態においてはＪ＝１００である。特徴マップＷ０，Ｗ１，…，ＷＭ−１の個数Ｍは、特徴マップＶ０，Ｖ１，…，ＶＭ−１の個数と等しく、本実施形態においてはＭ＝４である。第１プーリング演算部１３ｂは、下記の式（２ａ）により定義される最大プーリング演算、又は、下記の式（２ａ）により定義される最大プーリング演算、又は、下記の式（２ｂ）により定義される平均プーリング演算を実行することによって、各特徴マップＷｍの各要素Ｗｍｊ（ｊ＝０，１，…，Ｊ）を、対応する特徴マップＶｍから算出する。本実施形態においては、下記の式（２ａ）により定義されるｍａｘプーリング演算を用いる。
【数２】
2018105659.tif 000004
ここで、σは、任意に設定可能なストライド長であり、上述した特徴マップＷｍのデータ長Ｊは、特徴マップＶｍのデータ長Ｉと、ストライド長σとに応じて
Ｊ＝int{（Ｉ−１）／σ} ＋ １
により定まる。ここで、int(・)は、小数点以下を切り下げて整数化する演算子のことを指す。本実施形態においてはσ＝５である。Ｑは、任意に設定可能なプーリング幅であり、本実施形態においてはＱ＝１０である。
【００５２】
第２畳込・閾値演算部１３ｃは、特徴マップＷ０，Ｗ１，…，ＷＭ−１から、特徴マップＸ０，Ｘ１，…，ＸＮ−１を導出する（図３の（ｂ）の「畳込・閾値」参照）。各特徴マップＸｎ（ｎ＝０，１，…，Ｎ−１）は、データ長が特徴マップＷｍと等しい一次元配列｛Ｘｎ０，Ｘｎ１，…，ＸｎＪ−１｝である。特徴マップＸ０，Ｘ１，…，ＸＮ−１の個数Ｎは、任意に設定可能であり、本実施形態においてはＮ＝８である。第２畳込・閾値演算部１３ｃは、下記の式（３ａ）により定義される畳込演算、及び、下記の式（３ｂ）により定義される閾値演算を実行することによって、各特徴マップＸｎの各要素Ｘｎｊ（ｊ＝０，１，…，Ｊ−１）を、全ての特徴マップＷ０，Ｗ１，…，ＷＭ−１を参照して算出する。なお、ｊ≧Ｊ−ｒとなるときに参照されるＷｍの未定義要素は０とおく（ゼロパディング）。
【数３】
2018105659.tif 000005
ここで、Ｃｎ＝｛Ｃｎ０,ｍ，Ｃｎ１,m，…，ＣｎＲ−１,m｝は、特徴マップＸｎを算出するために用いられる畳込演算の重み係数である。重み係数ＣｎのサイズＲは、特徴マップＷｍのデータ長Ｊよりも短く、本実施形態においてはＲ＝５である。重み係数Ｃｎの各要素Ｃｎｒ,ｍ（ｒ＝０，１，…，Ｒ−１；ｍ＝０，１，…，Ｍ−１）は、学習により設定される。
また、Ｄｎは、特徴マップＸｎを算出するために用いられる畳込演算のバイアス項である。バイアス項Ｄｎは出力チャンネルの数だけ存在する。換言すれば、各出力チャンネルに対して共有されたバイアス項Ｄｎが一度だけ足し込まれる。バイアス項Ｄｎの各要素Ｄｎｊ（ｊ＝０，１，…，Ｊ）は、学習により設定される。また、ｇ（ｘ）は、閾値演算の活性化関数である。活性化関数ｇとしては、ｇ（ｘ）＝１／（１＋ｅ−ｘ）を用いてもよいし、ｇ（ｘ）＝ｔａｎｈ（ｘ）を用いてもよいし、ｇ（ｘ）＝ｍａｘ（ｘ，０）を用いてもよいが、本実施形態においてはｇ（ｘ）＝ｍａｘ（ｘ，０）を用いる。
【００５３】
第２プーリング演算部１３ｄは、特徴マップＸ０，Ｘ１，…，ＸＮ−１から、特徴マップＹ０，Ｙ１，…，ＹＮ−１を導出する（図３の（ｂ）の「プーリング」参照）。各特徴マップＹｎ（ｎ＝０，１，…，Ｎ−１）は、データ長が特徴マップＸｎよりも短い一次元配列｛Ｙｎ０，Ｙｎ１，…，ＹｎＫ−１｝である。各特徴マップＹｎのデータ長Ｋは、任意に設定可能であり、本実施形態においてはＫ＝２０であり、これは、Ｊ＝１００をストライド長である５で割った数である。特徴マップＹ０，Ｙ１，…，ＹＮ−１の個数Ｎは、特徴マップＸ０，Ｘ１，…，ＸＮ−１の個数と等しく、本実施形態においてはＮ＝８である。第２プーリング演算部１３ｄは、下記の式（４ａ）により定義される最大プーリング演算、又は、下記の式（４ｂ）により定義される平均プーリング演算を実行することによって、各特徴マップＹｎの各要素Ｙｎｋ（ｋ＝０，１，…，Ｋ）を、対応する特徴マップＸｎを参照して算出する。本実施形態においては、下記の式（４ａ）により定義されるｍａｘプーリング演算を用いる。
【数４】
2018105659.tif 000006
ここで、τは、τ＝（特徴マップＸｎのデータ長Ｊ）／（特徴マップＹｎのデータ長Ｋ）により与えられるストライド量であり、本実施形態においてはτ＝５である。Ｓは、任意に設定可能なプーリング幅であり、本実施形態においてはＳ＝１０である。
【００５４】
第１荷重和・閾値演算部１３ｅには、特徴マップＹ０，Ｙ１，…，ＹＮ−１を連結することにより得られた特徴配列αが入力される（図３の（ｃ）の「連結」参照）。特徴配列αは、順伝播型ニューラルネットワークの入力層に相当する一次元配列｛α１，α２，…，αＥ｝である。一次元配列αのデータ長Ｅは、Ｅ＝Ｎ×Ｋ（8*20）により与えられ、本実施形態においてはＥ＝１６０である。
【００５５】
第１荷重和・閾値演算部１３ｅは、下記の式（５ａ）により定義される荷重和演算、及び、下記の式（５ｂ）により定義される閾値演算を実行することによって、特徴配列αから中間配列βの各要素βｆを算出する。中間配列βは、順伝播型ニューラルネットワークの中間層に相当する一次元配列｛β１，β２，…，βＦ｝である。中間配列βのデータ長Ｆは、任意に設定可能であり、本実施形態においてはＦ＝６４である。
【数５】
2018105659.tif 000007
ここで、λｆ１，λｆ２，…，λｆＥは、シナプス荷重であり、学習により設定される。一方、ε１，ε２，…，εＦは、バイアス項であり、学習により設定される。また、ψは、活性化関数である。活性化関数ψとしては、ψ（ｂｆ）＝１／（１＋ｅ−ｂｆ）を用いてもよいし、ψ（ｂｆ）＝ｔａｎｈ（ｂｆ）を用いてもよいし、ψ（ｂｆ）＝ｍａｘ（ｂｆ，０）を用いてもよいが、本実施形態においてはψ（ｂ）＝ｍａｘ（ｂ，０）を用いる。
【００５６】
第２荷重和・閾値演算部１３ｆは、下記の式（６ａ）により定義される荷重和演算、及び、下記の式（６ｂ）により定義される閾値演算を実行することによって、中間配列βから出力配列γの各要素γｇを算出する。出力配列γは、順伝播型ニューラルネットワークの出力層に相当する一次元配列｛γ１，γ２，…，γＧ｝である。上述したように、出力配列γのデータ長Ｇは、任意に設定可能であり、本実施形態においてはＧ＝５である。
【数６】
2018105659.tif 000008
ここで、μｇ１，μｇ２，…，μｇＦは、シナプス荷重であり、学習により設定される。一方、δ１，δ２，…，δＧは、バイアスであり、学習により設定される。また、φｇは、活性化関数である。活性化関数φｇとしては、γ１＋γ２＋…＋γＧ＝１となるよう、ソフトマックス関数φｇ（ｃ１，・・・，ｃＧ）＝ｅｃｇ／（ｅｃ１＋ｅｃ２＋…＋ｅｃＧ）を用いる。
【００５７】
上述したように、重み係数Ａｍの各要素Ａｍｐ,ｌ（ｐ＝０，１，…，Ｐ−１；ｌ＝０，１，…，Ｌ−１）、バイアス項Ｂｍ、重み係数Ｃｎの各要素Ｃｎｒ,ｍ（ｒ＝０，１，…，Ｒ−１；ｍ＝０，１，…，Ｍ−１）、バイアス項Ｄｎ、シナプス荷重λｆ１，λｆ２，…，λｆＥ、バイアス項ε１，ε２，…，εＦ、シナプス荷重μｇ１，μｇ２，…，μｇＦ、及び、バイアス項δ１，δ２，…，δＧは、学習により設定される。これらの係数の学習による設定は、以下のように行われる。
【００５８】
すなわち、（１）既知の対象ガスを検出したときに得られる各ガスセンサ１２１〜１２４の出力を入力配列Ｕ０，Ｕ１，…，ＵＬ−１として識別装置１３に与え、（２）その入力配列入力配列Ｕ０，Ｕ１，…，ＵＬ−１から識別装置１３が算出した出力配列γと、その対象ガスの正しいガス種を表す教師信号γ’とを係数設定部１３ｇに与える。例えば、対象ガスのガス種がΓ３＝ジエチルエーテルである場合、一次元配列γ’＝｛０，０，１，０，０｝を教師信号として係数設定部１３ｇに与える。係数設定部１３ｇは、出力配列γと教師信号γ’との誤差（より具体的には、二乗和誤差やクロスエントロピー）が小さくなるように、例えば、ミニバッチによる勾配降下法等を用いて、上述した各係数の値を変更する。学習の達成度が所定の値に達するまで、識別対象とする各ガス種について以上の処理を繰り返すことによって、ノイズに強く、汎化能力の高い、ロバストな畳み込みニューラルネットワークが実現される。
【００５９】
なお、出力配列γと教師信号γ’との誤差が小さくなるように各係数の値を変更するアルゴリズムについては、公知のアルゴリズムを用いることができるので、ここではその詳細な説明を省略する。
【００６０】
なお、本実施形態においては、畳み込みニューラルネットワークのネットワーク構成として、畳込・閾値演算及びプーリング演算を２回繰り返すことにより得られた特徴マップを、１層の中間層（隠れ層）を有する順伝播型ニューラルネットワークを介して出力するネットワーク構成を採用しているが、本発明はこれに限定されない。すなわち、畳込・閾値演算及びプーリング演算の繰り返し回数は、３回以上であってもよいし、順伝播型ニューラルネットワークは、２層以上の中間層を有していてもよい。逆に、畳み込み・閾値演算及びプーリング演算の繰り返し回数は、0回であってもよい。つまり、入力データUを畳み込み・閾値演算及びプーリング演算処理を用いずに荷重和・閾値演算の入力値αと見なし、畳み込み処理を用いない通常のニューラルネットワークとして扱う構成としてもよい。この構成の場合、中間層は2層以上の深いネットワークを用いる深層ニューラルネットワークの形を採用すればよい。この場合、オートエンコーダやドロップアウトといった深層ニューラルネットワークに使われる公知の技術を用いることができる。
【００６１】
また、本実施形態においては、識別機能と学習機能との双方を有する識別装置１３について説明したが、本発明はこれに限定されない。すなわち、上述した学習により得られた係数を予め補助記憶部１３４に格納しておくことによって、識別装置１３から学習機能を省略することも可能である。
【００６２】
（学習装置及び学習方法）
以下では、上述した識別装置１３を学習させる学習装置及び学習方法について、再び図１及び図２を参照して説明する。
【００６３】
本実施形態に係る学習装置は、データアーギュメンテーション処理を施した学習用データを識別装置１３の算出部に入力する入力部と、教師あり学習によって、識別装置１３の畳み込みニューラルネットワークに用いるパラメータを更新する更新部とを備えている。ここで、更新部による更新対象のパラメータは、具体的には、上述した重み係数A、バイアスB、重み係数C、バイアスD、シナプス荷重λ、バイアスε、シナプス荷重μ、バイアスδである。
本実施形態に係る学習方法は、データアーギュメンテーション処理を施した学習用データを識別装置１３の算出部に入力する入力ステップと、教師あり学習によって、識別装置１３の畳み込みニューラルネットワークに用いるパラメータを更新する更新ステップとを備えている。
【００６４】
ここで、上記データアーギュメンテーション処理を行う処理部、上記入力部、及び上記更新部は、図１に示した演算部１３２によって実現される。また、上記更新部は、より具体的には、図２に示した係数設定部１３ｇに対応する。
【００６５】
また、上述したデータアーギュメンテーション処理とは、入力配列Ｕ０，Ｕ１，…，ＵＬ−１に対して、データの立ち上がり位置、濃度、バックグラウンド強度、及びノイズ等を変更することによりデータ拡張を行う処理のことである。データアーギュメンテーションされた入力配列を学習データとすることにより、ノイズへの耐性、汎化能力、ロバスト性を更に向上させた畳み込みニューラルネットワークを実現することができる。
【００６６】
（実施例）
アセトン、エタノール、ジエチルエーテル、ヘキサン、酢酸エチルを検出したときに得られる各ガスセンサ１２１〜１２４の出力に対して、学習装置によりデータアーギュメンテーション処理を施したものを各８０サンプル（合計４００サンプル）用意し、これらを訓練データとする学習を識別装置１３に行わせた。
【００６７】
次に、アセトン、エタノール、ジエチルエーテル、ヘキサン、酢酸エチルを検出したときに得られる各ガスセンサ１２１〜１２４の出力を各２０サンプル（合計１００サンプル）用意し、これらをテストデータして対象ガスの識別を識別装置１３に行わせた。その結果、識別装置１３は、全てのサンプルについて、対象ガスを正しく、かつ、迷いなく識別した。すなわち、対象ガスがアセトンである場合には、どのサンプルについてもγ＝｛１*，０*，０*，０*，０*｝を出力し、対象ガスがエタノールであるときは、どのサンプルについてもγ＝｛０*，１*，０*，０*，０*｝を出力し、…、対象ガスが酢酸エチルである場合には、そのサンプルについてもγ＝｛０*，０*，０*，０*，１*｝を出力した。ここで0*は限りなく0に近い値、1*は限りなく1に近い値を示す。つまり、正答率１００％の識別１３を構成することができた。なお、正答率100％の識別とは、出力が{0, 0, 0, 0, 1}のように0と1だけを出力するという意味ではない。例えば、正解aがa={0, 0, 0, 0, 1}の時に出力がγ={0.01, 0.02, 0.01, 0.21, 0.75}であっても、argmax(a) = argmax(γ)であるので、この例は正解となる。換言すれば、全てのサンプルに対してargmax(a) = argmax(γ)が成り立つ時に正答率が100％と表現する。γの値が0*と1*に近づくほど、予測に対する確信度が高いことになる。
【００６８】
入力配列Ｕ０〜Ｕ３、１回目のプーリング後の特徴マップＷ０〜Ｗ３、２回目のプーリング後の特徴マップＹ０〜Ｙ６、及び出力配列γを示すグラフを、それぞれ、図４〜図６に示す（Ｙ７については図示省略）。各グラフは、対象ガスをアセトン（黒色の実線）、エタノール（鎖線）、ジエチルエーテル（一点鎖線）、ヘキサン（点線）、酢酸エチル（灰色の実線）としたときの結果を重ね書きしたものである。図４〜図６によれば、対象ガスが何れの場合であっても、そのガス種を正しく、かつ、迷いなく示す出力配列γが得られていることが確かめられる。
【００６９】
（畳み込みニューラルネットワークを用いることの利点）
本実施形態において畳み込みニューラルネットワークを用いることの利点は以下の通りである。
【００７０】
畳み込みニューラルネットワークでは隣接するデータの関係性を取り扱うことができるため、上述のように、データアーギュメンテーション処理やプーリング処理といった手法を用いることによって位置や伸縮に対する不変性が担保される。
【００７１】
本実施形態では、識別システム１がセンサによって常時測定を行い、その都度解析をするというような使用例が挙げられる。このような場合、ガスがいつセンサに検知されるかが先験的には不明であるため、識別システム１において、時間に対する不変性（つまり時間軸におけるデータ位置の不変性）が確保されることが好ましい。濃度の高いガスも低いガスも同じ剤種であれば、同じガスとして判定できるよう、濃度情報、つまりセンサ強度に対する位置や伸縮の不変性を有することが好ましい。
【００７２】
識別システム１では、畳み込みニューラルネットワークを用いることにより、上述の時間不変性、及び、センサ強度に対する位置や伸縮の不変性を確保することができる。
【００７３】
（変形例１）
本実施形態は、上述の具体例に限定されるものではない。例えば、上述した希釈部により、対象ガスの濃度を変更させ、ガスセンサの出力を対象ガスの濃度と共に記録する構成としてもよい。また、上述の算出部は、複数の希釈濃度での対象物に関する出力信号の経時変化を示すデータ列を入力配列として参照して、対象物に関する識別結果を算出する構成としてもよい。
【００７４】
更に言えば、ガスセンサの出力を濃度順に並べた一次元配列を入力配列として用いる構成としてもよい。
【００７５】
上記のような構成では、ガスセンサの個数が複数であることは必須ではなく、ガスセンサの個数は単数でもよい。
【００７６】
一般に、ガスの分解や生成の反応温度は、ガスの種別によって異なり得るので、ガス温度に対するセンサ強度の変化はガス種に対する有益な情報である。したがって、上記のような構成によっても、好適な識別結果を得ることができる。
【００７７】
（変形例２）
また、他の例として、例えば、各ガスセンサがガス分解用ヒータを備え、各ガスセンサの出力をそのガスセンサのヒータ温度と共に記録する構成としてもよい。また、上記の算出部は、複数の温度での上記対象物に関する出力信号の経時変化を示すデータ列を入力配列として参照して、対象物に関する識別結果を算出する構成としてもよい。
【００７８】
更に言えば、ガスセンサの出力をヒータ温度順に並べた一次元配列を入力配列Ｕｌとして用いる構成としてもよい。
【００７９】
上記のような構成では、ガスセンサの個数が複数であることは必須ではなく、ガスセンサの個数は単数でもよい。
【００８０】
一般に、あるガスをセンサで測定する場合、ガスの濃度とそのセンサ強度との間には線形性（直線性）が期待される。しかし、測定濃度域や対象ガスによっては、直線性がいつも担保されるとは限らず、非線形な挙動を示すこともある。また、この非線形性は、対象ガスの種別によって異なり得る。このため、対象ガスの濃度に対する挙動も、ガスの識別に有益な情報である。したがって、上記のような構成によっても、好適な識別結果を得ることができる。
【００８１】
（変形例３）
上記の例では、検出器としてガスセンサの例を挙げたが、これは本実施形態を限定するものではなく、検出器として液体用センサを用いてもよい。これにより、対象物が液体の場合に、好適な識別結果を得ることができる。液体用センサは、例えば、イオン電極等を用いて実現することができる。
【００８２】
また、検出器として、固体用センサを用いてもよい。これにより、対象物が固体の場合に、好適な識別結果を得ることができる。固体用センサとして、例えば、Ｘ線回析等を用いて実現することができる。
【００８３】
（変形例４）
更に言えば、対象物及び検出器は、検出器が何らかの情報を対象物から取得するという関係を満たすものである限り、特に限定されるものではない。ここで、検出器が対象物から取得する情報は、対象物が備えている物理的特性、化学的特性、生物学的特性、及び地質学的特性の何れか又はそれらの組み合わせであってもよいし、外部からの物理的、化学的、生物学的、又は地質学的なインプットに対する応答に関する情報であってもよいし、その他の情報であってもよい。
【００８４】
識別装置１３は、一般に、上記のような検出器が取得した上記のような情報を参照して対象物を識別することができる。
【００８５】
一例として、対象物に対し、物理的なインプットとして撃力を与え、その応答としての対象物の振動を検出器にて検出し、当該振動を示すデータを参照して識別装置１３が対象物を識別する構成とすることができる。
【００８６】
このように、本実施形態に記載された検出器は、多種多様な対象物から情報を取得可能に構成することができ、また、識別装置１３は、多種多様な対象物の識別に適用することができる。
【００８７】
（変形例５）
上記の例では、入力配列として主として１次元配列の場合を例に挙げたが、これは本実施形態を限定するものではなく、２次元以上の配列であってもよい。例えば、時間やヒータ温度、又は、時間と濃度など、二つの変数を変化させつつ得られた２次元配列を入力配列として用いてもよい。また、時間、ヒータ温度及び濃度の３つのパラメータ全てを用いた三次元配置を入力配列として用いてもよい。
【００８８】
上記のような構成によっても、好適な識別結果を得ることができる。
【００８９】
〔ソフトウェアによる実現例〕
本実施形態に係る識別装置１３及び学習装置の制御ブロック（特に算出部、入力部、更新部）は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェアによって実現してもよい。また、ＣＰＵと共に、ＧＰＵ（Graphic Processing Unit）を用いてもよい。
【００９０】
後者の場合、本実施形態に係る識別装置１３及び学習装置は、各機能を実現するソフトウェアであるプログラムの命令を実行するＣＰＵ、上記プログラムおよび各種データがコンピュータ（またはＣＰＵ）で読み取り可能に記録されたＲＯＭ（Read Only Memory）または記憶装置（これらを「記録媒体」と称する）、上記プログラムを展開するＲＡＭ（Random Access Memory）などを備えている。そして、コンピュータ（またはＣＰＵ）が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【００９１】
本発明は上述した各実施形態及び変形例に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態や変形例にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【００９２】
１  識別システム
１２  ガスセンサ群（検出器）
１３  識別装置
１３２  演算部
１３３  主記憶部
１３４  補助記憶部
【図１】
2018105659.tif 000009
【図２】
2018105659.tif 000010
【図３】
2018105659.tif 000011
【図４】
2018105659.tif 000012
【図５】
2018105659.tif 000013
【図６】
2018105659.tif 000014