(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024143128
(43)【公開日】2024-10-11
(54)【発明の名称】スペクトル解析装置、スペクトル解析システムおよびスペクトル解析方法
(51)【国際特許分類】
G01N 21/64 20060101AFI20241003BHJP
【FI】
G01N21/64 Z
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2023055642
(22)【出願日】2023-03-30
(71)【出願人】
【識別番号】501387839
【氏名又は名称】株式会社日立ハイテク
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】林田 純弥
(72)【発明者】
【氏名】柿下 容弓
(72)【発明者】
【氏名】服部 英春
(72)【発明者】
【氏名】堀込 純
【テーマコード(参考)】
2G043
【Fターム(参考)】
2G043AA01
2G043AA04
2G043EA01
2G043FA06
2G043KA02
2G043NA01
2G043NA02
2G043NA06
(57)【要約】
【課題】時間を短縮した高精度な定量/識別を行うスペクトル解析を可能とする。
【解決手段】1つまたは複数の励起波長による試料のスペクトルデータから、試料の特性を定量/識別するスペクトル解析装置が開示される。スペクトル解析装置は、演算装置と、演算装置が実行するプログラムを格納するメモリと、を含む。演算装置は、試料から得られるスペクトルデータを入力として受け付け、スペクトルデータの波長帯毎に、定量/識別への貢献度および/または必要/不要を示す波長選定情報を取得し、波長選定情報に基づき、スペクトルデータの波長帯から、試料の特性の定量/識別に用いる波長帯を選定し、波長帯の選定結果に対応する検出強度に基づいて、試料の特性の定量/識別を行い、出力する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
1つまたは複数の励起波長による試料のスペクトルデータから、前記試料の特性を定量/識別するスペクトル解析装置であって、
演算装置と、
前記演算装置が実行するプログラムを格納するメモリと、を含み、
前記演算装置は、
スペクトルデータの波長帯毎に定量/識別への貢献度および/または必要/不要を示す、波長選定情報を取得し、
試料から得られるスペクトルデータを入力として受け付け、
前記波長選定情報に基づき、前記スペクトルデータの波長帯から、前記試料の特性の定量/識別に用いる波長帯を選定し、
前記波長帯の選定結果に対応する検出強度に基づいて、前記試料の特性の定量/識別を行い、出力する、スペクトル解析装置。
【請求項2】
請求項1に記載のスペクトル解析装置であって、
前記演算装置は、前記波長選定情報および前記波長帯の選定結果の少なくとも一つを出力する、スペクトル解析装置。
【請求項3】
請求項1に記載のスペクトル解析装置であって、
前記演算装置は、受け付けた1以上のスペクトルデータから、定量/識別するために必要なスペクトルデータの波長毎の貢献度を算出し、算出した前記貢献度に基づき前記波長選定情報を生成する、スペクトル解析装置。
【請求項4】
請求項1に記載のスペクトル解析装置であって、
前記演算装置は、スペクトルデータにおけるノイズ成分が含まれている領域を特定し、特定した前記領域を定量/識別に不要な領域として前記波長選定情報に含める、スペクトル解析装置。
【請求項5】
請求項1に記載のスペクトル解析装置であって、
前記演算装置は、スペクトルデータの波長帯毎に波長帯の検出強度を説明変数として定量/識別を行った際の定量/識別の精度を貢献度の教師情報とし、スペクトルデータと対応する貢献度の教師情報の複数組によって、前記波長選定情報の算出を行うモデルを構築する、スペクトル解析装置。
【請求項6】
請求項1に記載のスペクトル解析装置であって、
前記演算装置は、スペクトルデータと対応する定量/識別の教師情報の複数組によって、前記波長選定情報の算出を行うモデルを構築する、スペクトル解析装置。
【請求項7】
請求項6に記載のスペクトル解析装置であって、
前記演算装置は、定量/識別精度に影響を及ぼすハイパーパラメタを変化させた場合の、波長選定結果と定量/識別精度の関係に基づいて前記ハイパーパラメタの値を決定する、または、前記関係の情報をユーザに提示して前記ユーザによる前記ハイパーパラメタの値の決定を支援する、スペクトル解析装置。
【請求項8】
試料に照射する励起光の波長帯と、検出光の波長帯と、を設定する制御装置と、
前記試料に対して、前記制御装置において設定した波長帯に対応するスペクトルデータを測定するスペクトル測定装置と、
請求項1に記載のスペクトル解析装置と、
を含み、
前記制御装置は、前記スペクトル解析装置によって得られた波長選定の結果に対応する波長帯の光の測定を行うように前記スペクトル測定装置を制御する、スペクトル解析システム。
【請求項9】
請求項8に記載のスペクトル解析システムであって、
表示装置をさらに含み、
前記スペクトル測定装置は、前記スペクトルデータを、前記スペクトル解析装置に送信し、
前記表示装置は、前記スペクトル解析装置の解析結果を受信し、表示する、スペクトル解析システム。
【請求項10】
装置が、1つまたは複数の励起波長による試料のスペクトルデータから前記試料の特性を定量/識別するスペクトル解析方法であって、
前記装置が、スペクトルデータの波長帯毎に定量/識別への貢献度および/または必要/不要を示す、波長選定情報を取得し、
前記装置が、試料から得られるスペクトルデータを入力として受け付け、
前記装置が、前記波長選定情報に基づき、前記スペクトルデータの波長帯から、前記試料の特性の定量/識別に用いる波長帯を選定し、
前記装置が、前記波長帯の選定結果に対応する検出強度に基づいて、前記試料の特性の定量/識別を行い、出力する、スペクトル解析方法。
【請求項11】
請求項10に記載のスペクトル解析方法であって、
前記装置が、受け付けた1以上のスペクトルデータから、定量/識別するために必要なスペクトルデータの波長毎の貢献度を算出し、算出した前記貢献度に基づき前記波長選定情報を生成する、スペクトル解析方法。
【請求項12】
請求項10に記載のスペクトル解析方法であって、
前記装置が、スペクトルデータにおけるノイズ成分が含まれている領域を特定し、特定した前記領域を定量/識別に不要な領域として前記波長選定情報に含める、スペクトル解析方法。
【請求項13】
請求項10に記載のスペクトル解析方法であって、
前記装置が、スペクトルデータの波長帯毎に波長帯の検出強度を説明変数として定量/識別を行った際の定量/識別の精度を貢献度の教師情報とし、スペクトルデータと対応する貢献度の教師情報の複数組によって、前記波長選定情報の算出を行うモデルを構築する、スペクトル解析方法。
【請求項14】
請求項10に記載のスペクトル解析方法であって、
前記装置が、スペクトルデータと対応する定量/識別の教師情報の複数組によって、前記波長選定情報の算出を行うモデルを構築する、スペクトル解析方法。
【請求項15】
請求項14に記載のスペクトル解析方法であって、
前記装置が、定量/識別精度に影響を及ぼすハイパーパラメタを変化させた場合の、波長選定結果と定量/識別精度の関係に基づいて前記ハイパーパラメタの値を決定する、または、前記関係の情報をユーザに提示して前記ユーザによる前記ハイパーパラメタの値の決定を支援する、スペクトル解析方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、スペクトル解析に関する。
【背景技術】
【0002】
スペクトル解析装置では、分光した励起光を試料に照射し、試料から検出される光を測定することでスペクトルを得る。例えば、分光蛍光光度計では蛍光指紋と呼ばれる3次元蛍光スペクトルを測定する。特定波長の励起光を試料に照射すると、励起された試料が様々な波長の蛍光を発する。これを蛍光スペクトルと呼び、各蛍光波長における蛍光の強さを蛍光強度と呼ぶ。
【0003】
試料は励起光の波長を変化させることで異なる蛍光スペクトルを発する。そこで、励起光の波長を順次変えながら蛍光スペクトルを測定することで励起波長、蛍光波長、蛍光強度の3つの軸を持つ3次元スペクトルを得る。前述の検出波長が蛍光波長、検出強度が蛍光強度に相当する。得られた3次元スペクトルの形状を解析することで、試料に含まれる成分の定量や、種類の識別が可能となる。
【0004】
従来のスペクトルデータの解析方法としては、例えば、スペクトル内の各検出強度を説明変数とした多変量解析を行う手法がある。
【0005】
特許文献1では、スペクトルデータを対象として、複数の励起波長のそれぞれにおける光吸収特性値(検出強度)を説明変数としたスパース推定を行うことで、推定に用いる励起波長を限定しながら、対象物質の含有量を推定する手法が開示されている。
【0006】
特許文献2では、蛍光指紋を対象に、矩形の測定窓を設け、測定窓内の蛍光強度の積分値を用いて多変量解析を行う手法が開示されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2018-013418号公報
【特許文献2】特開2015-180895号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
特許文献1に記載の技術は、スペクトルデータ内の全ての検出強度を説明変数としたスパース推定を行うことで、定量/識別に用いる波長帯を自動的に限定する。しかし、特許文献1に記載の技術のように、説明変数としてスペクトル内の全波長帯の検出強度を用いてスパース推定や多変量解析を行う場合、訓練データに含まれるノイズ成分の状況によっては、本来定量/識別には寄与しないノイズ成分に着目した定量/識別モデルを構築してしまい、定量/識別モデルの性能は大きく低下する。もし、このような波長帯を定量/識別に用いないように、波長帯の選定を専門家が手動で行うとすると、専門的な知識が求められるため、解析時間の増加が課題となる。
【0009】
また、特許文献2に記載の技術は、矩形の測定窓を設け、測定窓内の蛍光強度の積分値を用いて多変量解析を行う。これにより定量/識別に用いる波長帯を限定する。しかし、上記測定窓は手動で設計するか、あるいはランダムに設定した測定窓内の蛍光強度から回帰式を構築し、定量/識別結果に基づいて測定窓を再設定する処理を繰り返し行うことで探索する必要がある。分析対象物の定量/識別に有効な波長帯の判別には専門的な知識が必要となり、また、ランダムに試行した場合、訓練データに含まれるノイズ成分の状況によっては、ノイズ成分を含んだ波長帯を選定する可能性がある。
【0010】
本発明は上記の課題を鑑みて、定量/識別に有効な波長帯を選定するための情報である波長選定情報を推定し、波長選定情報に基づいた自動波長選定機能を有することで、専門的な知識を用いず、波長選定にかかる時間を短縮した、高精度な定量/識別を行うスペクトル解析装置を提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明の一態様は、1つまたは複数の励起波長による試料のスペクトルデータから、前記試料の特性を定量/識別するスペクトル解析装置であって、演算装置と、前記演算装置が実行するプログラムを格納するメモリと、を含み、前記演算装置は、1以上の試料から得られる1以上のスペクトルデータを入力として受け付け、スペクトルデータの波長帯毎に、定量/識別への貢献度および/または必要/不要を示す波長選定情報を取得し、前記波長選定情報に基づき、前記スペクトルデータの波長帯から、前記試料の特性の定量/識別に用いる波長帯を選定し、前記波長帯の選定結果に対応する検出強度に基づいて、前記試料の特性の定量/識別を行い、出力する。
【発明の効果】
【0012】
本発明の一態様によれば、時間を短縮した高精度な定量/識別を行うスペクトル解析が可能となる。
【図面の簡単な説明】
【0013】
【
図1】実施例1に係るスペクトル解析装置のハードウェア構成の一例を示す図である。
【
図2】実施例1に係るスペクトル解析装置の機能ブロック図の一例を示す図である。
【
図6】実施例1に係るスペクトル解析方法の処理フローの一例を示す図である。
【
図7】実施例2に係るスペクトル解析装置の機能ブロック図の一例を示す図である。
【
図8】自動波長選定によって選定された波長帯数と定量/識別精度の関係を表すグラフの一例を示す図である。
【
図9】実施例2に係るスペクトル解析方法の処理フローの一例を示す図である。
【
図10】実施例3に係るスペクトル解析システムのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0014】
以下、添付図面に従って本発明に係るスペクトル解析方法、装置およびシステムの実施例について説明する。なお、以下の説明および添付図面において、同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【実施例0015】
<スペクトル解析装置のハードウェア構成>
実施例1では、定量/識別(定量または識別)に有効な波長帯を選定するための情報である波長選定情報を推定し、波長選定情報に基づいて定量/識別に使用する波長帯を自動選定する自動波長選定機能を有することで、専門的な知識を用いず、解析時間を短縮し、高精度な定量/識別を実現するスペクトル解析装置について述べる。定量は量を推定し、識別はクラスを推定する。
【0016】
図1を用いて実施例1に係るスペクトル解析装置のハードウェア構成について説明する。スペクトル解析装置100は、インターフェース110と、演算装置111と、メモリ112と、バス113と、を備え、インターフェース110と、演算装置111と、メモリ112は、バス113を介して情報の送受信を行う。
【0017】
スペクトル解析装置100の各部について説明する。インターフェース110は、スペクトル解析装置100の外部にある装置と、ネットワークを介して信号の送受信を行う通信機器である。インターフェース110と送受信を行う装置としては、スペクトル測定装置121の制御を行う制御装置120、3次元スペクトルデータを測定するスペクトル測定装置121、スペクトル解析装置100の処理結果を表示するモニタやプリンタ等の表示装置122がある。
【0018】
外部にある装置と信号の送受信方法は、光ファイバー等のケーブルを用いて有線接続する形態でもよいし、Bluetooth(登録商標)等の無線通信技術を用いて無線接続する形態でもよい。また、スペクトル解析装置100は必ずしも制御装置120やスペクトル測定装置121、表示装置122と同じ施設内に設置される必要はなく、別の計算機やクラウド内部に設置、搭載される形でも構わない。このような場合、インターフェース110と外部装置間の信号の送受信は、例えばLAN(Local Area Network)やWAN(Wide Area Network)等を介して接続する。
【0019】
演算装置111は、スペクトル解析装置100内での各種の処理を実行する装置であり、例えばCPU(Central Processing Unit)やFPGA(Field-Programmable Gate Array)等である。演算装置111によって実行される機能については、後述する。
【0020】
メモリ112は、演算装置111が実行するプログラムや、定量/識別モデルのパラメタ、処理結果等を保存する装置であり、HDD、SSD、RAM、ROM、フラッシュメモリ等である。
【0021】
<スペクトル解析装置100の機能構成>
図2はスペクトル解析装置100の実施例に係る機能ブロック図の一例である。これらの各機能部は、所定のプログラムを実行する演算装置111で実現してもよいし、専用のハードウェアで実現してもよい。
【0022】
スペクトル解析装置100は、機能部として、入力部201と、波長選定情報算出部202と、自動波長選定部203と、推定部204と、出力部205と、を含む。以下、各機能部について説明する。
【0023】
入力部201は、インターフェース110から入力される、離散化されたスペクトルデータを1件以上受け付ける。
【0024】
波長選定情報算出部202は、メモリ112に保存された波長選定情報算出モデルを読み込み、上記入力されたスペクトルデータに基づいて波長選定情報を算出する、あるいはメモリ112に保存された波長選定情報を取得する。もしくは入力された上記スペクトルデータから算出した波長選定情報と、メモリ112に保存された波長選定情報を統合することで波長選定情報を算出してもよい。
【0025】
自動波長選定部203は、上記波長選定情報に基づいて、定量/識別に用いる波長帯を自動選定し、選定結果を波長選定結果として出力する。
【0026】
推定部204は、メモリ112に保存された定量/識別モデルの1つを読み込み、上記自動波長選定部203で得られた波長選定結果に基づいて、スペクトルデータから定量/識別を行う。
【0027】
出力部205は、上記波長選定情報、上記波長選定結果、上記定量/識別結果の少なくなくとも1つを出力する。
【0028】
尚、上記の各機能は、
図2の機能部の通りに構成される必要はなく、各機能ブロックの動作に相当する処理が実現できればよい。
図6に実施例1に係る処理フロー図の一例を示す。各ステップは
図2に示した機能ブロック図の各要素と対応している。
【0029】
入力ステップ601は、インターフェース110から入力される、離散化されたスペクトルデータを1つ以上受け付ける。
【0030】
波長選定情報算出ステップ602は、メモリ112に保存された波長選定情報算出モデルを読み込み、上記入力されたスペクトルデータに基づいて、波長選定情報を算出する、あるいはメモリ112に保存された波長選定情報を取得する。もしくは入力された上記スペクトルデータから算出した波長選定情報と、メモリ112に保存された波長選定情報を統合することで波長選定情報を算出してもよい。
【0031】
自動波長選定ステップ603は、上記波長選定情報に基づいて、定量/識別に用いる波長帯を自動選定し、選定結果を波長選定結果として出力する。
【0032】
推定ステップ604は、メモリ112に保存された定量/識別モデルの1つを読み込み、上記自動波長選定ステップ603で得られた波長選定結果に基づいて、スペクトルデータから定量/識別を行う。
【0033】
出力ステップ605は、上記波長選定情報、上記選定結果、上記定量/識別結果の少なくなくとも1つを出力する。
【0034】
以降、各機能部を主語として詳細な動作について説明するが、各機能部に対応する各ステップを主語として読み替えても差し支えない。
【0035】
<各部の構成と動作>
以下、機能部の内、入力部201、波長選定情報算出部202、自動波長選定部203、推定部204の動作について詳しく説明する。
【0036】
入力部201は、インターフェース110を介して離散化された1件以上のスペクトルデータを受け付ける。スペクトルデータは1種類の波長帯と検出強度を軸とした1次元データ、あるいは2種類以上の波長帯と検出強度を軸とした多次元データを指す。入力部で受け付けたスペクトルデータは波長選定情報算出部202に出力する、あるいはメモリ112にスペクトルデータを保存しつつ波長選定情報算出部202に出力する。
【0037】
スペクトルデータの一例として、
図3Aに蛍光指紋データを示す。離散化蛍光指紋データ300は、離散化して格納された蛍光指紋データの例である。
図3Bは、蛍光指紋データ可視化例301を示す。蛍光指紋データ可視化例301は、縦軸に励起光波長、横軸に検出波長を取り、各励起および検出波長の組合せにおける検出強度を等高線状データとして表示した例である。
【0038】
離散化蛍光指紋データ300に示す通り、蛍光指紋データは離散化して測定および記録される。離散化蛍光指紋データ300は励起光/検出光に対して200nmから700nmを5nm間隔で測定した例を示しており、例えば離散化蛍光指紋データ300の1行1列目には励起光200nmに対する検出光200nmの検出強度が、1行2列目には励起光200nmに対する検出光205nmの検出強度が、2行1列目には励起光205nmに対する検出光200nmの検出強度が、それぞれ記録されている。また、離散化蛍光指紋データ300の列数と行数は500nmを5nm間隔で記録しているため100x100となる。
【0039】
蛍光指紋データ可視化例301は離散化蛍光指紋データ300を等高線状データとして二次元画像化した例であり、人間が蛍光指紋データを観察する際は蛍光指紋データ可視化例301のような表示で確認することが多い。尚、等高線状データの他、検出強度を輝度値や色に割当てたグレイ画像やヒートマップ画像、鳥瞰図等で表示する場合もある。蛍光指紋の形状は測定対象となる試料の性質に応じて異なり、この形状の差異に基づいて試料の識別や、特定成分の定量等を行う。
【0040】
蛍光指紋データ可視化例301において、蛍光指紋データは定量/識別に寄与しないノイズ成分を含んでいる。例えば、レイリー散乱を含む波長帯は、蛍光指紋を用いた定量/識別において、一般的にノイズ成分とされている。レイリー散乱は、試料が放出した蛍光では無く、試料から反射した光であり、レイリー散乱が検出されることで、試料の特性とは関係しない特徴が、蛍光指紋に反映される。
【0041】
例えば、スペクトルデータ内の全ての検出強度を説明変数としたスパース推定を行うことで、定量/識別に用いる波長帯を自動的に限定する方法が考えられる。しかし、スペクトルデータがレイリー散乱を含んだ状態で解析を行う場合、定量/識別精度が低下する恐れがある。
【0042】
例えば測定環境等の影響でレイリー散乱のパターンが訓練データの定量/識別の目標値と偶然相関を持ってしまった場合、説明変数にレイリー散乱の検出強度を含めた状態で定量/識別モデルを構築すると、本来試料の特性とは関係しない特徴であるにもかかわらず、レイリー散乱のパターンに注目した定量/識別モデルが構築される場合がある。これを回避するために、専門家が事前にレイリー散乱を含む波長帯を定量/識別に用いないように波長を事前選定する。
【0043】
レイリー散乱は回折格子の影響で、励起波長が検出波長の自然数倍、あるいは自然数の逆数倍の波長帯付近に、領域的に検出されるという特徴があり、蛍光指紋の測定条件や環境、試料によって、領域の幅は異なる。そのため、例えば、専門家が得られたスペクトルデータに合わせて幅を設定して、レイリー散乱の領域を定める必要がある。
【0044】
その他、ラマン散乱や測定時のノイズ等のノイズ成分もレイリー散乱同様に定量/識別の性能低下を引き起こす原因となるため、ノイズ成分による定量/識別への影響を低減するように、専門家による事前選定が行われる。
【0045】
本実施例に開示の方法では、入力されたスペクトルデータから、定量/識別への有効性を数値化した貢献度の算出、および/または、定量/識別に必要/不要な波長帯の抽出を行い、これらを波長選定情報とする。ここでは、貢献度は3段階以上の値を取り得る。そして、定量/識別に用いる波長帯を自動で事前選定し、選定した波長帯に対応する検出強度のみを説明変数とした定量/識別を行う。事前選定を自動で行うことで、専門家による手動選定コストを軽減し、かつ、高精度な定量/識別機能を提供することが実現可能となる。
【0046】
波長選定情報算出部202は、1件以上のスペクトルデータを入力部201および/またはメモリ112から受け取る。波長選定情報算出部202は、メモリ112に保存された波長選定情報算出モデルを読み込み、上記受け取ったスペクトルデータに基づいて、波長選定情報を算出する、あるいはメモリ112に保存された波長選定情報を取得する。
【0047】
波長選定情報は、上記受け取ったスペクトルデータを構成する波長帯毎に、定量/識別への有効性を数値化した貢献度、および/または定量/識別への有効性を必要/不要の真偽値で表した必要/不要波長帯を指す。波長選定情報を算出する波長選定情報算出モデルは、入力されたスペクトルデータから貢献度を算出する貢献度算出モデルと、必要/不要波長帯を算出する必要/不要波長帯算出モデルの2種類に分類され、貢献度算出モデルと必要/不要波長帯算出モデルは機械学習のような手法や、手動設計されたアルゴリズム等によって構築してもよい。
【0048】
入力部201より受付けたスペクトルデータから貢献度を算出する方法としては例えば、複数の定量/識別タスクを用いて教師有学習を行った貢献度算出モデルをメモリ112から読み込み、スペクトルデータ内の各波長帯に対する定量/識別への貢献度を算出する方法がある。貢献度算出モデルは、1件以上のサンプルの同形式のスペクトルデータを入力として受け取り、スペクトルデータを構成する波長帯毎の定量/識別への貢献度を全て算出し、全貢献度をテンソルとして、スペクトルデータと同形にした貢献度マップとして出力するモデルである。
【0049】
ここではMulti-Layer Perceptron(MLP)を用いた貢献度算出モデルの例を説明する。MLPは入力データに対して線形写像と非線形写像を1回以上繰り返し、回帰あるいは識別を行うモデルであり、線形写像のパラメタを最適化することでモデルを構築する。まず、受け取った1件以上のスペクトルデータに対し、数式1の波長帯毎の平均、数式2の波長帯毎の分散等の特徴量を算出する。複数サンプルの特徴量はより適切な貢献度の算出を可能とする。ここでxsnは入力部201が受け取った1件以上の同形式のスペクトルデータの各検出強度であり、sはサンプルのインデックス、Sはサンプル数、nはスペクトルデータを構成する波長帯のインデックス、Nは波長帯の数を表す。
【0050】
【0051】
【0052】
次に数式3のように、上記特徴量を入力としたMLPを用いて、波長帯毎の貢献度を表すベクトルを算出する。数式3のMLPC()は上記特徴量を入力として、波長帯毎の定量/識別への貢献度をN次元ベクトルとして出力するMLPの演算処理を行う関数を表し、出力のN次元ベクトルの各要素は、波長帯毎の貢献度を表す。例えば、数式3のcnは、インデックスnの波長帯の貢献度を表す。数式3で算出した貢献度を、テンソルとして、スペクトルデータと同形にした貢献度マップが、貢献度算出モデルの出力となる。
【0053】
【0054】
上記MLPCは、貢献度の目標値(目標貢献度マップ)を教師情報とした教師有学習によって、線形写像のパラメタを予め最適化したモデルであるとする。教師情報の目標貢献度マップの生成方法は、例えば複数のスペクトルデータと定量/識別の教師情報の組で構成される訓練用データセット、検証用データセットを用意し、スペクトルデータを構成する各波長帯(多次元データの場合それら波長帯の各組合せを意味)に対し、1つの波長帯の検出強度のみを説明変数とした線形回帰を、訓練データセットを用いて行い、検証用データセットに対する定量/識別の精度を目標貢献度マップとする方法がある。
【0055】
また、複数の波長帯の組合せを説明変数とした際の定量/識別の精度を網羅的に計算し、波長帯毎に平均化したものを目標貢献度マップとしてもよい。また、上記検証用データセットに特化した貢献度となることを防ぐため、複数のスペクトルデータと定量/識別の教師情報の組で構成されるデータセットに対し、複数の訓練用データセット、検証用データセットの分割パターンを生成し、各パターンで得られた目標貢献度マップを、平均や最大値等の統計量で統合した結果を目標貢献度マップとすることで、汎化性能を向上させてもよい。
【0056】
教師有学習における損失関数は定量の場合は例えばMean Squared Error、識別の場合は例えばCross Entropy等を用いる。最適化方法は例えば最急降下法や確率的勾配降下法を用いる。前述の損失関数や最適化方法は一例であり、その他の損失関数や最適化方法を用いてもよい。特徴量の算出は、数式1、数式2のような統計量でもよいし、Convolutional Neural NetworkやTransformer等の機械学習的な手法や、HOG等の手動設計された特徴量を用いてもよい。
【0057】
尚、波長選定情報算出部202は例えば訓練用データセット等を貢献度算出モデルに入力して得られた貢献度をメモリ112に保存しておき、新たなスペクトルデータ入力があった場合にこれを読みだして貢献度として使用してもよい。また、メモリ112に保存された貢献度と、新たに入力されたスペクトルデータを貢献度算出モデルに入力して得られた貢献度の平均値や最大値を取るなどして、統合した結果を貢献度として使用してもよい。
【0058】
次に、必要/不要波長帯の抽出方法の一例を説明する。必要/不要波長帯の抽出方法の一例は、機械学習と異なるルールベースのモデルを使用する。例えば、定量/識別に対する必要/不要波長帯の抽出方法として、励起波長帯毎に、レイリー散乱に該当する検出波長帯を不要な領域として自動抽出する必要/不要波長帯算出モデルを用いる方法等がある。
【0059】
実施例1では、上記必要/不要波長帯算出モデルについて説明する。まず、各励起波長帯において、スペクトルデータを構成する検出波長帯の内、励起波長が検出波長の自然数倍、および自然数の逆数倍の波長帯を、中心波長帯として抽出する。
【0060】
各中心波長帯において、中心波長帯より小さい検出波長帯の中で、検出強度の局所最小値を検出し、局所最小値に対応する検出波長帯かつ最も中心波長帯に近い検出波長帯を左側波長帯とする。同様に、中心波長帯より大きい検出波長帯の中で、検出強度の局所最小値を検出し、局所最小値に対応する検出波長帯かつ最も中心波長帯に近い検出波長帯を右側波長帯とする。左側波長帯と右側波長帯の組において、左側波長帯以上、右側波長帯以下の領域を、レイリー散乱とすることで、自動で不要な波長帯を抽出する。
【0061】
上記方法は、検出波長帯毎に、レイリー散乱に該当する励起波長帯を不要な領域として自動抽出する場合も同様である。抽出した不要な波長帯を不要波長帯、抽出されなかった領域を必要波長帯とし、貢献度マップと同様に、全必要/不要波長帯を、スペクトルデータと同形のテンソルにした必要/不要波長帯マップとしてもよい。
【0062】
定量/識別に対する必要/不要波長帯の抽出方法はこれに限らず、波長帯毎の検出強度の統計量(平均、分散、共分散等)を算出し、ある閾値以下あるいは以上の波長帯を必要あるいは不要な波長帯とする方式でもよい。また、着目したいスペクトルの出現範囲がある程度限定されている場合、その領域のみを必要な波長帯、他を不要な波長帯としてもよい。
【0063】
尚、波長選定情報算出部202は例えば訓練用データセット等を必要/不要波長帯算出モデルに入力して得られた必要/不要波長帯をメモリ112に保存しておき、新たなスペクトルデータ入力があった場合にこれを読みだして必要/不要波長帯として使用してもよい。また、メモリ112に保存された必要/不要波長帯と、新たに入力されたスペクトル必要/不要波長帯算出モデルに入力して得られた必要/不要波長帯の論理和や論理積を取るなどして、統合した結果を必要/不要波長帯として使用してもよい。
【0064】
波長選定情報の一例として、
図4Aに貢献度マップ可視化例401を示し、
図4Bに必要/不要波長帯マップ可視化例402を示す。それぞれの波長選定情報は、蛍光指紋データ可視化例301に対応している。貢献度マップ可視化例401は蛍光指紋データ可視化例301の各波長帯の定量/識別への有効性を表す貢献度マップを、等高線状データとして可視化している。
【0065】
尚、等高線状データの他、検出強度を輝度値や色に割当てたグレイ画像やヒートマップ画像、鳥瞰図等で可視化してもよい。必要/不要波長帯マップ可視化例402は蛍光指紋データ可視化例301の各波長帯が定量/識別に必要か不要かを真偽値として表しており、必要な波長帯を破線内の白、不要な波長帯を破線内の黒で可視化している。尚、真偽値に割り当てる色は、真と偽で異なれば何色でもよい。
【0066】
波長選定情報算出部202は、貢献度および必要/不要波長帯の情報を波長選定情報として自動波長選定部203に出力する。尚、波長選定情報算出部202は、貢献度または必要/不要波長帯のどちらか一方だけを算出して、波長選定情報として出力してもよい。また、貢献度および必要/不要波長帯の情報を統合した結果を波長選定情報としても出力してもよい。統合の方法は、例えば必要/不要波長帯内の偽(
図4B内の黒)の波長帯を貢献度0、真(
図4B内の白)の波長帯を貢献度1とみなして、多値の貢献度と乗算する方法等がある。統合により、より適切な波長選定が可能となる。
【0067】
自動波長選定部203は、波長選定情報に基づいて定量/識別に用いる波長帯を自動選定し、選定結果を波長選定結果として出力する。自動選定方法は例えば、固定の閾値以上の貢献度の波長帯を定量/識別に用いる波長帯として選定してもよいし、不要波長帯を除く波長帯あるいは必要波長帯を定量/識別に用いる波長帯として選定してもよい。また、波長選定情報および/または波長選定結果を、推定部を介さずに出力部へ出力してもよいし、推定部へ出力してもよい。
【0068】
波長選定結果の一例として、
図5に波長選定結果可視化例501を示す。波長選定結果可視化例501は、蛍光指紋データ可視化例301および貢献度可視化例401、必要/不要波長帯可視化例402に対応している。波長選定結果可視化例501は、蛍光指紋データ可視化例301の各波長帯において、定量/識別に用いる波長帯として事前選定されたか否かを真偽値として表しており、事前選定された波長帯を破線内の白、事前選定されなかった波長帯を破線内の黒で可視化している。尚、真偽値に割り当てる色は、真と偽で異なれば何色でもよい。
【0069】
波長選定結果可視化例501においては、必要/不要波長帯可視化例402内の偽(
図4B内の黒)の波長帯、および、貢献度可視化例401内の貢献度が予め設定した閾値未満の波長帯を定量/識別に用いない波長帯、閾値以上の波長帯を定量/識別に用いる波長帯として選定している。
【0070】
推定部204は、メモリ112に保存された任意の定量/識別モデルを読み込み、自動波長選定部203で得られた波長選定結果に対応する検出強度を説明変数として、定量/識別を行う。波長選定結果可視化例501の場合、破線内白の波長帯に対応する蛍光強度を説明変数とする。定量/識別モデルは、上記検出強度を説明変数としたLogistic回帰やLasso回帰といった線形回帰モデルを用いてもよいし、Neural Network、ランダムフォレスト、Support Vector Machine等の機械学習モデルを用いてもよい。
実施例2では実施例1に記載のスペクトル解析装置に、波長選定情報算出モデルの更新および構築機能、定量/識別モデルの構築機能を追加することで、ユーザが独自に設定した定量/識別問題に対して、自動波長選定と高精度な定量/識別を可能とするスペクトル解析装置について説明する。
入力部701は、インターフェース110を介して1件以上のスペクトルデータあるいは1組以上のスペクトルデータと教師情報の組を受け付ける。入力部701で受け付けたスペクトルデータあるいはスペクトルデータと教師情報の組は、波長選定情報算出部702に出力する、あるいはメモリ112に保存しつつ波長選定情報算出部702に出力する。
波長選定情報算出部702は、1件以上のスペクトルデータあるいは1組以上のスペクトルデータと教師情報の組に基づいて、波長選定情報を算出する、あるいはメモリ112に保存された波長選定情報を取得する。また、スペクトルデータと教師情報の組を受け取った場合は、メモリ112に保存された波長選定情報算出モデルを読み込み、上記スペクトルデータと教師情報の組を用いて上記波長選定情報算出モデルを更新する、または新たな波長選定情報算出モデルを構築し、メモリ112に保存してもよい。1件以上のスペクトルデータあるいは1組以上のスペクトルデータと教師情報の組は、入力部701から入力された情報を直接受け付ける、あるいはメモリ112を介して受付ける、あるいはその両方を併用してもよい。
自動波長選定部703は、上記波長選定情報、または上記波長選定情報と推定部704が出力する定量/識別結果に基づいて、定量/識別に用いる波長帯を自動選定し、選定結果を波長選定結果として出力する。
推定部704は、上記自動波長選定部703で得られた波長選定結果に基づいて、1組以上のスペクトルデータと教師情報の組を用いて定量/識別モデルを構築する、あるいは1件以上のスペクトルデータの定量/識別を行う。1件以上のスペクトルデータあるいは1組以上のスペクトルデータと教師情報の組は、入力部701から入力された情報を自動波長選定部703あるいはメモリ112を介して受付ける。あるいはその両方を併用してもよい。
出力部705は、上記波長選定情報、上記選定結果、上記定量/識別結果の少なくとも1つを出力する。また、必要に応じて、ユーザによる波長選定および/あるいは定量/識別モデルの決定支援のための情報の出力を行う。
入力ステップ901は、インターフェース110を介して1件以上のスペクトルデータあるいは1組以上のスペクトルデータと教師情報の組を受け付ける。入力ステップ901で受け付けたスペクトルデータあるいはスペクトルデータと教師情報の組は、波長選定情報算出ステップに用いる、あるいはメモリ112に保存しつつ波長選定情報算出ステップに用いる。
波長選定情報算出ステップ902は、1件以上のスペクトルデータあるいは1組以上のスペクトルデータと教師情報の組に基づいて、波長選定情報を算出する、あるいはメモリ112に保存された波長選定情報を取得する。また、スペクトルデータと教師情報の組を受け取った場合は、メモリ112に保存された波長選定情報算出モデルを読み込み、上記スペクトルデータと教師情報の組を用いて上記波長選定情報算出モデルを更新する、または新たな波長選定情報算出モデルを構築し、メモリ112に保存してもよい。
1件以上のスペクトルデータあるいは1組以上のスペクトルデータと教師情報の組は、入力ステップ901にて入力された情報を直接受け付ける、あるいはメモリ112を介して受付ける、あるいはその両方を併用してもよい。
自動波長選定ステップ903は、上記波長選定情報、または上記波長選定情報と推定ステップ904が出力する定量/識別結果に基づいて、定量/識別に用いる波長帯を自動選定し、選定結果を波長選定結果として出力する。
推定ステップ904は、上記自動波長選定ステップ903で得られた波長選定結果に基づいて、1組以上のスペクトルデータと教師情報の組を用いて定量/識別モデルを構築する、あるいは1件以上のスペクトルデータの定量/識別を行う。1件以上のスペクトルデータあるいは1組以上のスペクトルデータと教師情報の組は、入力ステップ901から入力された情報を自動波長選定ステップ903あるいはメモリ112を介して受付ける。あるいはその両方を併用してもよい。
出力ステップ905は、上記波長選定情報および/または上記選定結果および/または上記定量/識別結果を出力する。また、必要に応じて、ユーザによる波長選定および/あるいは定量/識別モデルの決定支援のための情報の出力を行う。
入力部701は、インターフェース110を介して1件以上のスペクトルデータ、または1組以上のスペクトルデータと教師情報の組を受け付ける。入力部で受け付けたスペクトルデータ、またはスペクトルデータと教師情報の組はメモリ112に保存してもよいし、直接、波長選定情報算出部702に出力してもよい。
波長選定情報算出部702は、1件以上のスペクトルデータのみを受け取った場合は、実施例1に記載の波長選定情報算出部202と同様の処理を行う。1組以上のスペクトルデータと教師情報の組を受け取った場合は、メモリ112に保存された波長選定情報算出モデルを読み込み、スペクトルデータと教師情報の組に基づく波長選定情報の算出、または波長選定情報算出モデルの更新、構築と波長選定情報の算出を行う。各処理について説明する。
スペクトルデータと教師情報の組に基づいて貢献度を算出する方法としては例えば、複数の定量/識別タスクを用いて教師有学習を行うことでスペクトルデータに対する貢献度算出モデルをあらかじめ作成し、1組以上のスペクトルデータと教師情報の組に基づいて貢献度を算出する方法がある。
実施例1では1件以上のスペクトルデータのみを用いて貢献度を算出する方法を説明したが、スペクトルデータと教師情報の組を用いて貢献度を推定することで、より定量/識別に対する貢献度を正確に推定可能となる。実施例2では構築済みの貢献度算出モデルを用いて貢献度を算出する、あるいは新たに入力されたスペクトルデータと教師情報を用いて貢献度算出モデルを更新/構築する例について説明する。
ここではMulti-Layer Perceptron(MLP)を用いた貢献度算出モデルの例を説明する。まず、入力部で受け取った1組以上のスペクトルデータと教師情報の組に対し、特徴量を算出する。数式4に記載のMLPZはスペクトルデータと教師情報の1組を入力とし、スペクトルデータと同形の特徴量を出力するMLPである。例えば、zsnはサンプルのインデックスがsのスペクトルデータと教師情報の組をMLPZに入力して得られた特徴量のn番目の要素を表す。ここでysは入力部701が受け取った1件以上のスペクトルデータと教師情報の組において、サンプルのインデックスがsの教師情報である。数式4においては、教師情報ysはスカラー値として説明するが、教師情報がベクトルの場合でも、MLPZを、ベクトルの各要素を入力として受け付けるように設計すれば、特徴量を出力可能である。
以降は、実施例1で用いたMLPcと同様のモデルに対し、数式5、数式6の結果を入力することで貢献度を算出し、貢献度マップを出力する。数式4、数式5、数式6のように、スペクトルデータと教師情報を統合した特徴量を用いることで、教師情報を加味した貢献度を算出することが可能となる。
上記MLPzおよびMLPcは目標貢献度マップを教師情報とした教師有学習によって線形写像のパラメタを最適化する。目標貢献度マップは、スペクトルデータの訓練データ、検証データを用意し、スペクトルデータを構成する各波長帯に対し、1つの波長帯のみを線形回帰を行い、線形回帰に用いていないスペクトルデータに対する定量/識別の精度を教師情報としてもよい。
または、複数の波長帯の組合せを説明変数とした際の定量/識別の精度を網羅的に計算し、波長帯毎に平均化したものを教師情報としてもよい。また、上記検証データに特化した貢献度となるのを防ぐため、スペクトルデータに対し、複数の訓練データ、検証データのパターンを生成し、各パターンで得られた目標貢献度マップを、平均や最大値等の統計量で統合することで、汎化性能を向上させてもよい。
特徴量としては、数式1、数式2、数式4、数式5のような統計量を用いてもよいし、Convolutional Neural NetworkやTransformer、Neural Process等の機械学習的な手法や、HOG等の手動設計された特徴量を用いてもよい。
スペクトルデータと教師情報の組に基づいて貢献度を算出する方法の場合、目標貢献度マップを教師情報とせず、定量/識別の教師情報を用いた教師有学習を行って、貢献度算出モデルを構築してもよい。例えば、数式3で貢献度を出力するのではなく、数式7のように、スペクトルデータを構成する各波長帯の検出強度を説明変数とした線形回帰のパラメタを推定してもよい。MLPW()は、線形回帰のパラメタとして、各検出強度に乗じる重みと、バイアスを推定する。例えば、wnはスペクトルデータを構成する波長帯のインデックスがn番目の重みを表し、bはバイアスを表す。
上記により学習済みの線形回帰パラメタを推定するモデルを用いて、パラメタを推定した後、例えば数式9のように、得られた重みの絶対値をとることで貢献度を算出することができる。貢献度の算出方法はこれに限らず、定量の場合、教師情報の値の正負を逆転させた場合の重みの変化量を貢献度としてもよいし、2クラス識別の場合は、教師情報の識別値を2クラスで逆転させた場合の重みの変化量を貢献度としてもよい。3クラス以上の多クラス識別の場合は、ある1クラスを正クラス、その他のクラスを負クラスとして識別する2クラス識別と見なすことで得られる貢献度を、各クラスを正クラスとした場合で算出し、各貢献度の平均を取ることで多クラス識別の貢献度としてもよい。
自動波長選定部703は、メモリ112に保存された波長帯を読み込み、定量/識別に用いる波長帯として自動選定する、あるいは波長選定情報および/または推定部704で得られた定量/識別結果に基づいて定量/識別に用いる波長帯を自動選定し、選定結果を波長選定結果として出力する。自動選定方法は例えば、実施例1と同様に、固定の閾値以上の貢献度の波長帯を選定してもよいし、不要波長帯を除く波長帯あるいは必要波長帯を選定してもよい。閾値は定量/識別精度に影響を及ぼすハイパーパラメタである。
また、後述する推定部704における定量/識別モデルの構築および定量/識別結果と連携することで上記波長選定情報に対する閾値を自動決定してもよい。この閾値自動決定方法については推定部704の詳細説明の後に記載する。また、波長選定情報および/または波長選定結果を、推定部を介さずに出力部へ出力してもよいし、推定部へ出力してもよい。
推定部704は、自動波長選定部703で得られた波長選定結果に対応する検出強度を説明変数、教師情報を目的変数とした定量/識別モデルの構築を行いメモリ112に保存する、あるいは、メモリ112に保存された定量/識別モデルを読み込み、スペクトルデータの定量/識別を行う。また、定量/識別結果を自動波長選定部703に出力してもよい。定量/識別モデルは、上記検出強度を説明変数としたLogistic回帰やLasso回帰といった線形回帰モデルを用いてもよいし、Neural Network、ランダムフォレスト、Support Vector Machine等の機械学習モデルを用いてもよい。
自動波長選定部703において、波長選定情報および/または推定部704で得られた定量/識別結果に基づいた事前波長選定の方法を説明する。一例として、貢献度の閾値を定量/識別精度に応じて自動決定する方法がある。まず、入力部701で受け取ったスペクトルデータと教師情報の組を、訓練データ、検証データに分割し、訓練データを用いて波長選定情報算出部702で波長選定情報を算出する。
実施例1では得られた波長選定情報に対し、任意の初期値を閾値とし、閾値以上の貢献度の波長帯に対応する検出強度を説明変数とした定量/識別モデルの構築を、訓練データを用いて行う。得られた定量/識別モデルに対し、検証データを用いて定量/識別精度を算出する。
例えば、予め目標精度を設定しておき、算出した定量/識別精度が上記目標精度未満であれば、上記閾値を下げることで定量/識別に用いる説明変数(波長帯)の数を増やして精度を向上する。算出した定量/識別精度が目標精度以上であれば、上記閾値を上げることで目標精度を達成しつつ定量/識別に用いる説明変数(波長帯)の数を減らした定量/識別モデルを再度構築する。
このように波長選定情報に対する閾値の調整と定量/識別モデルの構築を繰り返すことで、目標精度以上かつ定量/識別に用いる波長帯数が最も少ない波長帯を、自動選定可能となる。また、定量/識別に用いる最大波長帯数を予め設定しておき、上記と同様に閾値の調整と定量/識別モデルの構築を繰り返すことで上記最大波長帯数以下かつ定量/識別精度が最も高くなる波長帯を自動的選定する方法でもよい。
選択した定量/識別モデルにおける定量/識別精度、事前選定された波長帯数を、“Accuracy”、“Number of Wavelength”に表示している。これによりユーザは要求される定量/識別精度および事前選定される波長帯数を加味して定量/識別モデルを選択することが可能となる。
出力部705は、上記波長選定情報、上記選定結果、上記定量/識別結果の少なくとも1つを出力する。また、必要に応じて、ユーザによる波長選定および/あるいは定量/識別モデルの決定支援のための情報の出力を行う。
定量の場合は、推定した各サンプルの定量結果に加えて、決定係数、RMSE(Root Mean Squared Error)のような定量モデルの評価値を出力してもよいし、検量線等のグラフデータを出力してもよい。識別の場合は、推定した各サンプルの識別結果に加えて、識別率や適合率、再現率等の識別モデルの評価値を出力してもよい。これらの出力はインターフェース110を介して表示装置122で表示する。