(57)【要約】【課題】本発明の課題は、局所的な特徴と、全体的な特徴の双方の関係を持つ系列データを適切に学習することを目的とする。【解決手段】上記課題は、データを構成する各要素の順序が規定された系列データに対し、該系列データを局所単位ごとに分割することにより、局所次元及び全体次元を有する入力データテンソルを生成し、前記入力データテンソルを変換行列により変換した変換データテンソルをニューラルネットワークを用いて出力するテンソル変換を用いた学習において、前記入力データテンソルの全体次元に対しては、前記テンソル変換で基準となる照合パタンとの類似度が最大となるように前記変換行列を組み換え、前記入力データテンソルの局所次元に対しては、前記学習の過程で前記照合パタンを更新する処理をコンピュータに実行させる学習プログラムにより達成される。【選択図】図６
2020154843.tif 000002
【特許請求の範囲】
【請求項１】
データを構成する各要素の順序が規定された系列データに対し、該系列データを局所単位ごとに分割することにより、局所次元及び全体次元を有する入力データテンソルを生成し、
前記入力データテンソルを変換行列により変換した変換データテンソルをニューラルネットワークを用いて出力するテンソル変換を用いた学習において、
前記入力データテンソルの全体次元に対しては、前記テンソル変換で基準となる照合パタンとの類似度が最大となるように前記変換行列を組み換え、
前記入力データテンソルの局所次元に対しては、前記学習の過程で前記照合パタンを更新する
処理をコンピュータに実行させる学習プログラム。
【請求項２】
前記系列データは画像データであり、前記局所単位は、前記画像データの画像サイズに基づき決定されることを特徴とする請求項１記載の学習プログラム。
【請求項３】
前記局所次元及び前記全体次元の各成分は２次元成分であることを特徴とする請求項２記載の学習プログラム。
【請求項４】
前記系列データは遺伝子配列データであり、前記局所単位は、コドンの単位であることを特徴とする請求項１記載の学習プログラム。
【請求項５】
前記局所次元及び前記全体次元とによって入力値を定めて、前記入力データテンソルを生成することを特徴とする請求項４記載の学習プログラム。
【請求項６】
分類対象のデータとして入力された系列データに対し、該系列データを前記局所単位ごとに分割することにより、前記局所次元及び前記全体次元を有する入力データテンソルを生成し、
生成した前記入力データテンソルを、前記照合パタンに類似させることで前記変換データテンソルへと変換し、
前記変換データテンソルの入力値を前記ニューラルネットワークのノードに入力することで、前記データを分類した結果を出力する
処理をコンピュータに実行させる請求項１記載の学習プログラム。
【請求項７】
データを構成する各要素の順序が規定された系列データに対し、該系列データを局所単位ごとに分割することにより、局所次元及び全体次元を有する入力データテンソルを生成し、
前記入力データテンソルを変換行列により変換した変換データテンソルをニューラルネットワークを用いて出力するテンソル変換を用いた学習において、
前記入力データテンソルの全体次元に対しては、前記テンソル変換で基準となる照合パタンとの類似度が最大となるように前記変換行列を組み換え、
前記入力データテンソルの局所次元に対しては、前記学習の過程で前記照合パタンを更新する
処理をコンピュータが行う学習方法。
【請求項８】
分類対象のデータとして入力された系列データに対し、該系列データを前記局所単位ごとに分割することにより、前記局所次元及び前記全体次元を有する入力データテンソルを生成し、
生成した前記入力データテンソルを、前記照合パタンに類似させることで前記変換データテンソルへと変換し、
前記変換データテンソルの入力値を前記ニューラルネットワークのノードに入力することで、前記データを分類した結果を出力する
処理をコンピュータが行う請求項７記載の学習方法。
【請求項９】
データを構成する各要素の順序が規定された系列データに対し、該系列データを局所単位ごとに分割することにより、局所次元及び全体次元を有する入力データテンソルを生成する生成部と、
前記入力データテンソルを変換行列により変換した変換データテンソルをニューラルネットワークを用いて出力するテンソル変換を用いた学習を行う学習部とを有し、
前記学習部は、
前記入力データテンソルの全体次元に対しては、前記テンソル変換で基準となる照合パタンとの類似度が最大となるように、前記変換行列を組み換える組み換え部と、
前記入力データテンソルの局所次元に対しては、前記学習の過程で前記照合パタンを更新する更新部と
を有することを特徴とする学習装置。
【請求項１０】
分類対象のデータとして入力された系列データに対し、該系列データを前記局所単位ごとに分割することにより、前記局所次元及び前記全体次元を有する入力データテンソルを生成する生成部と、
生成した前記入力データテンソルを、前記照合パタンに類似させることで前記変換データテンソルへと変換し、前記変換データテンソルの入力値を前記ニューラルネットワークのノードに入力することで、前記データを分類した結果を出力する解析部と
を有することを特徴とする請求項９記載の学習装置。
【請求項１１】
データを構成する各要素の順序が規定された系列データに対し、該系列データを局所単位ごとに分割することにより、局所次元及び全体次元を有する入力データテンソルを生成し、
生成した前記入力データテンソルを、該入力データテンソルの入力値とニューラルネットワークのノードとの対応関係を最適化する照合パタンに類似させた変換データテンソルへと変換し、
前記変換データテンソルの入力値を前記ニューラルネットワークのノードに入力することで、前記データを学習する
処理をコンピュータに実行させる学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習プログラム、学習方法、及び学習装置に関する。
【背景技術】
【０００２】
近年、様々な分野において、ニューラルネットワークを利用した機械学習が用いられるようになってきている。機械学習に入力するデータの形式は、分野により異なっている。より精度良く学習結果を得るために、様々な工夫がなされている。
【０００３】
乳児の泣き声のデータを音響特徴分析して得られた音響特徴パラメータを時系列に配列し、音響特徴パラメータの時系列データに対して情動ごとにかつ音響特徴セグメントごとに、音響特徴パラメータの出現分布学習処理を施す技術等が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２００７／１０２５０５号パンフレット
【特許文献２】特開２０１８−５５５８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
機械学習では、入力されたデータの特徴を抽出する畳み込み層と、抽出された特徴をまとめ上げるプーリング層とを有する。畳み込み層では予め定めた所定単位でその所定単位内において複数の特徴を抽出し、プーリング層では所定単位内における代表的な特徴を決定する。
【０００６】
このように、プーリング層では、ある局所的な範囲に着目して代表的な特徴を決定しているため、複数の局所的な特徴の組み合せにより全体として異なる特徴を示すデータの場合、精度よくデータを分類することができない、といった問題がある。
【０００７】
したがって、１つの側面では、局所的な特徴と、全体的な特徴の双方の関係を持つ系列データを適切に学習することを目的とする。
【課題を解決するための手段】
【０００８】
一態様によれば、データを構成する各要素の順序が規定された系列データに対し、該系列データを局所単位ごとに分割することにより、局所次元及び全体次元を有する入力データテンソルを生成し、前記入力データテンソルを変換行列により変換した変換データテンソルをニューラルネットワークを用いて出力するテンソル変換を用いた学習において、前記入力データテンソルの全体次元に対しては、前記テンソル変換で基準となる照合パタンとの類似度が最大となるように前記変換行列を組み換え、前記入力データテンソルの局所次元に対しては、前記学習の過程で前記照合パタンを更新する処理をコンピュータに実行させる学習プログラムが提供される。
【発明の効果】
【０００９】
局所的な特徴と、全体的な特徴の双方の関係を持つ系列データを適切に学習することができる。
【図面の簡単な説明】
【００１０】
【図１】系列データの例を示す図である。
【図２】タンパク質の種類の決定について説明するための図である。
【図３】遺伝子解析の第１の例を説明するための図である。
【図４】遺伝子解析の第２の例を説明するための図である。
【図５】学習装置のハードウェア構成例を示す図である。
【図６】学習装置の機能構成例を示す図である。
【図７】テンソル生成部によるテンソル生成処理の概要を説明するための図である。
【図８】入力データテンソルの生成例を示す図である。
【図９】学習部の機能構成例を説明するための図（その１）である。
【図１０】学習部の機能構成例を説明するための図（その２）である。
【図１１】学習部の機能構成例を説明するための図（その３）である。
【図１２】順序付け変換行列の例を示す図である。
【図１３】学習処理を説明するためのフローチャート図である。
【図１４】解析部による解析処理を説明するための図である。
【図１５】探索部による探索処理の一例を説明するための図である。
【図１６】ニューラルネットワークに関する設定例を示す図である。
【図１７】順伝播及び逆伝播を説明するための図である。
【図１８】照合パタンの量変更による試験方法を説明するための第１の図である。
【図１９】照合パタンの量変更による試験方法を説明するための第２の図である。
【図２０】照合パタンの量変更による試験方法を説明するための第３の図である。
【図２１】照合パタンの量変更による試験方法を説明するための第４の図である。
【図２２】全体次元の対応関係変更による試験方法を説明するための図である。
【図２３】調整部による調整割合の算出例を説明するための図である。
【図２４】更新部による更新処理の例を示す図である。
【図２５】系列データに対して、学習装置が実現する学習内容を説明するための図である。
【図２６】スクランブル画像の例を示す図である。
【図２７】スクランブル画像の生成方法を説明するための図である。
【図２８】スクランブル画像の次元分割を説明するための図である。
【図２９】分類精度の比較例を示す図である。
【図３０】ネットワークシステムの例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態を図面に基づいて説明する。各要素の順序が規定された系列データの例として、遺伝子配列が挙げられる。遺伝子配列は、複数の局所的な特徴の組み合せにより特徴づけられている。図１に示すような遺伝子配列を分類する場合で、機械学習について説明する。
【００１２】
図１は、系列データの例を示す図である。図１に示す系列データ３０ａは、遺伝子配列「AAG  ATC  AAG  TTC  AAG  AAT  CGT  AGA」である。このような遺伝子配列をタンパク質の種別に分類する。タンパク質の種類の決定について図２で説明する。
【００１３】
図２は、タンパク質の種類の決定について説明するための図である。図２より、図１に示すような遺伝子配列に対しては、タンパク質の構成に基づいて種類が決定される。遺伝子配列では、塩基３個を配列したコドン２ごとにアミノ酸の種類が示される。遺伝子配列を表す塩基は、Ａ（アデニン）、Ｃ（シトニン）、Ｇ（グアニン）、及びＴ（チミン）の４種類である。アミノ酸ごとに特徴は異なるが、アミノ酸の組み合せにより遺伝子配列の特徴も異なってくる。
【００１４】
コドン２により生成されるアミノ酸の種別は「局所的な特徴」に基づき判別され、複数のアミノ酸の結合により生成されるタンパク質の種別は「全体的な特徴」に基づき判別される。また、所定の単位ごとに特徴が示され、更に、特徴の組み合せにより示される特徴で分類される対象データに対しても同様に、定めた単位（範囲を含む）ごとの特徴を「局所的な特徴」といい、局所的な特徴の組み合せにより定まる特徴を「全体的な特徴」という。
【００１５】
図２を参照すると、系列データ３０ａの遺伝子配列は、コドン「AAG」、「ATC」、「AAG」、「TTC」、「AAG」、「AAT」、「CGT」、及び「AGA」ごとにアミノ酸の種別を決定し、決定した８個のアミノ酸の種別からタンパク質としての種別を決定することが適切な方法である。タンパク質の種別を決定する機械学習は、遺伝子解析として知られている。系列データ３０ａの遺伝子配列を例として、遺伝子解析について簡単に説明する。
【００１６】
図３は、遺伝子解析の第１の例を説明するための図である。図３に示す遺伝子解析では、畳み込み層４ａと、プーリング層４ｂとによる機械学習を行った場合で説明する。畳み込み層４ａでは、それぞれのアミノ酸の塩基配列に反応するフィルタを用いて、系列データ３０ａから順に選択したコドン２に対して複数のフィルタを用いて畳み込み、コドン２の特徴を抽出する。そして、プーリング層４ｂで、コドン２ごとに各フィルタで最も反応した特徴を抽出する。
【００１７】
畳み込み層４ａとプーリング層４ｂとによる処理を、遺伝子配列の長さに応じて、即ち、系列データ３０ａのコドン２の数に応じて、繰り返し行うことで、データ３０ａにおいて最も強く反応したアミノ酸をタンパク質の特徴として出力する。この例では、アミノ酸「AAG」及び「ATC」が出力される。
【００１８】
しかしながら、図３に示す遺伝子配列とは異なる系列データ３０ａであっても、アミノ酸「AAG」及び「ATC」を主要なコドン２として、遺伝子配列中で結合されているタンパク質が存在する場合、同様の結果を示し、精度良くタンパク質を分類することができない。図３の系列データ３０ａは、アミノ酸「AAG」が３個存在し、他のアミノ酸との結合により構成されたタンパク質を表している。しかし、３個のアミノ酸を含む異なる結合によるタンパク質は異なる特徴を有するが、プーリング層４ｂで同一のコドンの特徴は一つにまとめられるため、区別して学習することができない。
【００１９】
コドン２（即ち、連続した３つの塩基）を所定の単位とする代りに、組み合せる塩基の個数を所定の単位として、タンパク質の特徴を表す塩基列を抽出することが考えられる。このように特徴を抽出する処理を、「組み合せ探索」と呼ぶものとする。
【００２０】
図４は、遺伝子解析の第２の例を説明するための図である。図４において、組み合せ探索４ｃは、ニューラルネットワークへの最適な入力順を定めて系列データ３ａを学習することで、特徴として塩基同士の主要な結合を学習する。
【００２１】
組み合せ探索４ｃは、出願人により開発され、入力データに含まれる複数の入力値のそれぞれと、ニューラルネットワークの入力層の複数のノード（ニューロンを表す）のそれぞれとの対応関係を考慮することで学習精度を改善した技術である。組み合せ探索４ｃが、複数の入力値と複数のノードとの最適な対応関係を学習することから、「Deep  Tensor」と呼ばれる。「Deep  Tensor」では、ニューラルネットワークへの入力値の入力前に、入力データを表すテンソルは、最適な対応関係となるように変換（テンソル変換）されて学習に用いられる。
【００２２】
入力データの形式によっては、「Deep  Tensor」への適合に工夫を要するものが存在する。遺伝子配列が入力データの場合を例として、単純に、入力データそのものを「Deep  Tensor」を適用した場合について説明する。
【００２３】
図４では、組み合せ探索４ｃにより、遺伝子配列の特徴として、組み合せ「AG」が４カ所、組み合せ「AT」が２カ所、及び、組み合せ「TCA」が２カ所で抽出されたことを示している。この結果は、図３の結果とは異なり、遺伝子配列の全体的な特徴として、塩基同士の主要な結合を学習できる。しかしながら、組み合せ探索４ｃでは、全ての組み合せを探索するわけではないため、局所の並び順（この例では、アミノ酸）に起因する特徴が失われてしまう。
【００２４】
このようなことから、局所的な特徴を重視する場合には、遺伝子解析による第１の例（図３）の技術で学習し、全体的な特徴の組み合せを重視する場合には、「Deep  Tensor」を用いた学習による第２の例（図４）の技術で学習することが考えられる。しかしながら、知識を有する者がそれぞれの学習結果を総合的に解析する必要があり、現実的ではない。
【００２５】
上述したように、局所的な特徴と全体的な特徴の双方の関係を持った遺伝子配列等の系列データが存在する。このような系列データであっても、「Deep  Tensor」を用いた学習により、高精度な結果を得る技術を以下に開示する。
【００２６】
図５は、学習装置のハードウェア構成例を示す図である。図５より、学習装置１００は、情報処理装置であって、ＣＰＵ１１と、主記憶装置１２と、補助記憶装置１３と、入力装置１４と、表示装置１５と、通信Ｉ／Ｆ１７と、ドライブ装置１８とを有し、バスＢに接続される。補助記憶装置１３、入力装置１４、及び学習装置１００がアクセス可能な外部記憶装置を含めて、記憶部１３０という。
【００２７】
ＣＰＵ１１は、学習装置１００を制御するプロセッサに相当し、記憶部１３０に格納されたプログラムを実行することで、以下に説明する本実施例に係る様々な処理を実現する。入力装置１４は、ユーザによって操作され、操作に応じてデータを入力し、表示装置１５は、ユーザーインタフェースとして様々な画面を表示する。通信Ｉ／Ｆ１７は、外部装置との通信を制御する。
【００２８】
記憶媒体１９（例えば、ＣＤ−ＲＯＭ（Compact  Disc  Read-Only  Memory）等）に記憶された本実施例に係る学習プログラムは、ドライブ装置１８を介して記憶部１３０にインストールされ、ＣＰＵ１１によって実行可能となる。
【００２９】
尚、本実施例に係るプログラムを格納する記憶媒体１９はＣＤ−ＲＯＭに限定されず、コンピュータが読み取り可能な、構造（structure）を有する１つ以上の非一時的（non-transitory）な、有形（tangible）な媒体であればよい。コンピュータ読取可能な記憶媒体として、ＣＤ−ＲＯＭの他に、ＤＶＤ（Digital  Versatile  Disk）ディスク、ＵＳＢメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
【００３０】
図６は、学習装置の機能構成例を示す図である。図６において、学習装置１００は、テンソル生成部２０と、学習部４０と、解析部６０とを有する。テンソル生成部２０と、学習部４０と、解析部６０とは、学習装置１００にインストールされたプログラムが、ＣＰＵ１１に実行させる処理により実現される。また、記憶部１３０は、入力データ３０、次元分割データ３１ａ、入力データテンソル３１ｂ、順序付け変換行列３２、教師データＤＢ３３、学習結果５０、変換データテンソル６１等を記憶する。
【００３１】
テンソル生成部２０は、系列データ３０ａを入力データ３０として受け付けると、系列データ３０ａを、局所次元と全体次元とに分割して次元分割データ３１ａを生成する。そして、テンソル生成部２０は、生成した次元分割データ３１ａから入力データテンソル３１ｂを生成する。系列データ３０ａに対する入力データテンソル３１ｂの生成方法については後述される。
【００３２】
学習部４０による学習処理時と、解析部６０による解析処理時のそれぞれで、テンソル生成部２０による系列データ３０ａに対する入力データテンソル３１ｂが生成される。学習処理時には、教師ラベル３３ａが予め付与された系列データ３０ａを蓄積した教師データＤＢ３３を用いる。解析処理時には、ユーザによって入力された系列データ３０ａが入力データ３０となる。
【００３３】
学習部４０は、テンソル生成部２０によって生成された入力データテンソル３１ｂのニューラルネットワーク４１への入力順を最適化する照合パタン５１と、ニューラルネットワーク４１とを学習する。
【００３４】
学習部４０は、入力誤差６４（図９〜図１１）に基づいて調整した照合パタン５１との類似度が最大となるように入力データテンソル３１ｂにおける入力順を変更して、変換データテンソル６１を生成する。照合パタン５１が調整されることで入力順が最適化され、任意の入力データテンソル３１ｂに対して変換データテンソル６１は、高精度な解析を実現する高精度解析用のテンソルとなり、学習精度を向上させる。
【００３５】
本実施例では、ニューラルネットワーク４１を用いた学習において、入力データテンソル３１ｂを変換して高精度な解析を実現する変換データテンソル６１を取得する照合パタン５１を学習する「Deep  Tensor」を行う。また、「Deep  Tensor」を用いた学習より、ニューラルネットワーク４１のパラメータ群７１は最適化される。
【００３６】
解析部６０は、テンソル生成部２０が生成した入力データテンソル３１ｂを、順序付け変換行列３２を用いて、照合パタン５１に最も類似する変換データテンソル６１を生成し、ニューラルネットワーク４１により入力データ３０を分類する。
【００３７】
図７は、テンソル生成部によるテンソル生成処理の概要を説明するための図である。図７において、テンソル生成部２０は、入力データ３０である系列データ３０ａの次元を分割する。
【００３８】
系列データ３０ａがコドン２の配列によりタンパク質を表した遺伝子配列である場合、テンソル生成部２０は、コドン２ごとに縦軸の局所次元に３個の塩基を順に配列し、コドン２の単位で、出現順に横軸の全体次元に配列する。遺伝子配列の例を用いた説明では、局所次元の一例として、「コドン次元」と呼ぶ場合がある。コドン２は、局所次元を生成するための局所単位である。局所次元及び全体次元が配置された次元分割データ３１ａが作成されると、記憶部１３０に記憶される。
【００３９】
テンソル生成部２０は、作成した次元分割データ３１ａを用いて、更に、入力データテンソル３１ｂを生成する。入力データテンソル３１ｂは、コドン次元と全体次元との組み合せ全てを示す一覧であり、予め定めた計算方法により得られた量が組合せごとに設定されている。
【００４０】
コドン次元ｎは１コドン当たりの塩基数を示し、全体次元Ｎは系列データ３０ａで示されるコドン２の個数を示す場合、この例では、ｎ＝３及びＮ＝８であるため、入力データテンソル３１ｂは、２４（＝３×８）の組み合せに係るテンソルとなる。入力データテンソル３１ｂの生成例を図８に示す。
【００４１】
図８は、入力データテンソルの生成例を示す図である。図８より、入力データテンソル３１ｂは、コドン次元と全体次元の組み合せごとに量を示したテンソルである。
【００４２】
コドン次元、即ち、局所次元に関して、
b1は「AAATAACA」を表し、
b2は「ATATAAGG」を表し、
b3は「GCGCGTTA」を表す。
【００４３】
全体次元に関して、
e1は「AAG」を表し、
e2は「ATC」を表し、
e3は「AAG」を表し、
e4は「TTC」を表し、
e5は「AAG」を表し、
e6は「AAT」を表し、
e7は「CGT」を表し、
e8は「AGA」を表す。
【００４４】
次元分割データ３１ａはマトリクス形式であるため、局所次元と全体次元とにより１つの塩基を指定する。指定された塩基に対応する量が、局所次元と全体次元の組み合せに対応付けられる。設定する量として、指定された塩基の原子数、モル質量等の塩基固有の特性の一つを用いればよい。説明を簡単とするため、以下の説明では、
・Ａ（アデニン）の量を「０」、
・Ｃ（シトニン）の量を「１」、
・Ｇ（グアニン）の量を「２」、及び
・Ｔ（チミン）の量を「３」とする。
【００４５】
つまり、次元分割データ３１ａに基づいて、局所次元b1とe1との組み合せにより塩基「A」が指定されるため量には「0」を設定する。組み合せ及び量を（局所次元、全体次元、量）で表した場合、
(b1,  e1,  0)
(b2,  e1,  0)
(b3,  e1,  2)
(b1,  e2,  0)
(b2,  e2,  3)
(b3,  e2,  1)
・・・
(b1,  e8,  0)
(b2,  e8,  2)
(b3,  e8,  0)
となり、これらを表す入力データテンソル３１ｂが記憶部１３０に生成される。
【００４６】
図９、図１０、及び図１１は、学習部の機能構成例を説明するための図である。図９から図１１より、学習部４０は、初期化部４０ａと、探索部４０ｂと、調整部４０ｃと、更新部４０ｄとを有する。
【００４７】
図９より、初期化部４０ａは、順序付け変換行列３２、照合パタン５１、及びパレメータ群７１を初期化する。
【００４８】
探索部４０ｂは、入力データテンソル３１ｂの全体次元に対しては、照合パターン５１との類似度が最大となるように順序付け変換行列３２を決定し、ニューラルネットワーク４１に対して順伝播及び逆伝播を行って入力誤差６４を取得する。順序付け変換行列３２については後述する。
【００４９】
具体的には、探索部４０ｂは、学習に用いる入力データテンソル３１ｂにおいて全体次元を共通とし、局所次元を用いて入力順の入れ替えを行い、量に基づいて照合パターン５１との類似度が最大となるように順序付け変換行列３２を決定する。入力順の入れ替えにより、変換データテンソル６１が記憶部１３０に作成される。
【００５０】
変換データテンソル６１は、局所次元と全体次元とによる組み合せの順序を入れ替えたテンソルである。テンソルをテーブルと見なした場合、レコードの順番の入れ替えに相当する。ニューラルネットワーク４１の入力層の複数のノードに対して入力順が定められている。変換データテンソル６１において上位の組み合せから、量をニューラルネットワーク４１のノードに順に入力することで分類結果を得る。これを「順伝播」という。
【００５１】
更に、探索部４０ｂは、得られた分類結果の教師ラベル３３ａとの出力誤差６３を算出し、パラメータ群７１の各パラメータｗｉに出力誤差６３を乗算することにより入力誤差６４を取得する。これを「逆伝播」という。
【００５２】
図１０より、調整部４０ｃは、入力データテンソル３１ｂの全体次元を用いた入力順の入れ替えごとに変換データテンソル６１の順序付けからの変分量８３を求め、求めた変分量８３と入力誤差６４との内積８４の平均を算出して、局所次元の順序付けに対する調整割合９４を設定する。
【００５３】
具体的には、調整部４０ｃは、入力データテンソル３１ｂの全体次元を用いた入力順の入れ替えごとに、照合パターン５１との類似度が最大となる試験データテンソル８１を生成し、生成した試験データテンソル８１と変換データテンソル６１の量の差を取得する。得られた、入力順の組み換えごとの量の差が変分量８３として記憶部１３０に記憶される。
【００５４】
次に、調整部４０ｃは、変分量８３それぞれと入力誤差６４との内積８４を求めて平均することにより調整割合９４を取得する。得られた調整割合９４は、記憶部１３０に記憶される。
【００５５】
図１１より、更新部４０ｄは、パラメータ群７１と照合パタン５１とを更新する。具体的には、更新部４０ｄは、変換データテンソル６１と、順伝播による学習結果と教師ラベル３３ａとの出力誤差６３とに基づいてパラメータ群７１を更新する。また、更新部４０ｄは、調整割合９４を用いて、照合パタン５１を更新する。更新部４０ｄによる更新方法は、後述される。
【００５６】
順序付け変換行列３２の一例について説明する。図１２は、順序付け変換行列の例を示す図である。順序付け変換行列３２は、全体次元間の対応関係と、局所次元間の対応関係とを表し、これらの対応関係以外、即ち、全体次元と局所次元の対応関係は０で固定された行列である。
【００５７】
図１２の順序付け変換行列３２は、図８の入力データテンソル３１ｂから生成される行列である。入力データテンソル３１ｂ内のコドン次元の成分はb1、b2、及びb3で示され、全体次元の成分はe1、e2、・・・e8で示されている。また、変換される先の、コドン次元の成分はb’1、b’2、及びb’3で示され、全体次元の成分はe’1、e’2、・・・e’8で示されている。変換先の成分の数字（１、２、３、・・・）は、テンソル内の位置を示し、数字が小さいほど、入力順が上位であることを示すものとする。
【００５８】
全体次元間の対応関係を表す全体次元行列３２ａは、初期状態において同じ位置に対応付けられる成分を指定する。局所次元間の対応関係を表す局所次元行列３２ｂも、同様に、初期状態において同じ位置に対応付けられる成分を指定する。
【００５９】
探索部４０ｂにより入力データテンソル３１ｂの量が照合パタン５１と最も類似するように順序付け変換行列３２が設定されることで、全体次元行列３２ａにおける成分間の対応関係が定まる。また、局所次元行列３２ｂは、学習過程で照合パタン５１が更新されることで、成分間の対応関係が定まる。
【００６０】
一方、調整部４０ｃにおいて全体次元行列３２ａの対応関係を変更することで、順序付け変換行列３２による局所次元の順序付けの変動を小さくする割合が求められる（全体次元の対応関係変更による試験方法）。
【００６１】
割合は、また、調整部４０ｃが、照合パタン５１の量を所定量（例えば、１）増加し、増加に応じて全体次元行列３２ａの変更による、局所次元行列３２ｂでの順序付けの変動を小さくするように定められてもよい（照合パタン５１の量変更による試験方法）。
【００６２】
本実施例では、照合パタン５１の量変更による試験方法と、全体次元変更による試験方法とにより得られた内積を全て合計し平均した値を調整割合９４として用いる。
【００６３】
図１３は、学習処理を説明するためのフローチャート図である。図１３より、テンソル生成部２０は、入力データ３０を、局所次元と全体次元とに分割して入力データテンソル３１ｂへと変換する（ステップＳ２０１）。
【００６４】
具体的には、テンソル生成部２０は、入力データ３０、すなわち、系列データ３０ａを局所次元と全体次元とに分割して次元分割データ３１ａを作成する。そして、テンソル生成部２０は、作成した次元分割データ３１ａに量を設定して、入力データテンソル３１ｂを得る。
【００６５】
ステップＳ２０２からＳ２１０までが、学習部４０によって行われる。学習部４０において、先ず、初期化部４０ａが、照合パタン５１と、順序付け変換行列３２と、ニューラルネットワーク４１のパラメータ群７１とを初期化する（ステップＳ２０２）。
【００６６】
初期化部４０ａは、局所次元と全体次元の組み合せを全て作成し、組み合せごとに量をランダムに設定する。一例として、−１から１の間のランダムな値を用いてもよい。量の設定方法は、この例に限定されない。量はユーザが予め定めた方法で設定されればよい。また、初期化部４０ａは、図１２で示すように、全体次元行列３２ａでは同じ位置への変換となるように対応付けをし、全体次元行列３２ａと局所次元行列３２ｂ以外を０に設定した順序付け変換行列３２を記憶部１３０に作成する。更に、初期化部４０ａは、パラメータ群７１の重み値を初期化する。
【００６７】
その後、探索部４０ｂは、入力データテンソル３１ｂを、全体次元の入力順を固定し、局所次元の入力順を入れ替えることで、照合パタン５１に最も類似する変換データテンソル６１に変換する（ステップＳ２０３）。
【００６８】
探索部４０ｂは、入れ替えパターンごとに、変換データテンソル６１の量を順に並べ替えた量ベクトル６１ｖと、照合パタン５１の量を順に並べた量ベクトル５１ｖとの内積を算出する。探索部４０ｂは、算出した内積を、変換データテンソル６１の照合パタン５１に対する類似度として利用する。探索部４０ｂは、全ての変換データテンソル６１のそれぞれで得た類似度（内積）のうち、最大となる類似度を得た変換データテンソル６１を特定する。
【００６９】
そして、探索部４０ｂは、順伝播及び逆伝播により入力誤差６４を取得する（ステップＳ２０４）。探索部４０ｂは、入力順に従って、最大の類似度を得た変換データテンソル６１の量をニューラルネットワーク４１のノードに入力し、分類結果３９（図１７）を得る（順伝播）。また、探索部４０ｂは、分類結果３９と教師ラベル３３ａとの出力誤差６３を算出し、算出した出力誤差６３とパラメータ群７１とから入力誤差６４を得る（逆伝播）。
【００７０】
次に、調整部４０ｃは、照合パタン５１の量を１つ選択し１加算、または、全体次元の順序付けを変化させて得られた試験データテンソル８１の変換データテンソル６１からの変分量８３を算出する（ステップＳ２０５）。
【００７１】
調整部４０ｃは、照合パタン５１の量を選択して１加算する。次に、調整部４０ｃは、局所次元行列３２ｂ又は全体次元行列３２ａの２成分の対応関係を入れ替えた入力順ごとに試験データテンソル８１を作成する。そして、調整部４０ｃは、作成した試験データテンソル８１のうち、照合パタン５１に最も類似する試験データテンソル８１を特定する。調整部４０ｃは、特定した試験データテンソル８１の変換データテンソル６１からの変分量８３を算出する。調整部４０ｃは、同様の処理を繰り返し、照合パタン５１の全ての量に対して変分量８３を算出する。
【００７２】
照合パタン５１の量を全て選択している場合は、調整部４０ｃは、全体次元行列３２ａから２成分を選択して対応付けを入れ替えて、量の入力順を変えた試験データテンソル８１を作成する。そして、調整部４０ｃは、作成した試験データテンソル８１のうち、照合パタン５１に最も類似する試験データテンソル８１を特定する。調整部４０ｃは、特定した試験データテンソル８１の変換データテンソル６１からの変分量８３を算出する。調整部４０ｃは、同様の処理を繰り返し、全体次元行列３２ａにおける２成分の組み合せを全てに対して変分量８３を算出する。
【００７３】
試験データテンソル８１の量を順に並べ替えた量ベクトルと、照合パタン５１の量を順に並べた量ベクトルとの内積を算出する。調整部４０ｃは、算出した内積を、変換データテンソル６１の照合パタン５１に対する類似度として利用する。調整部４０ｃは、全ての変換データテンソル６１のそれぞれで得た類似度（内積）のうち、最大となる類似度を得た変換データテンソル６１を特定すればよい。
【００７４】
そして、調整部４０ｃは、入力誤差６４と得られた変分量８３との内積８４を求めて記憶部１３０に記憶する（ステップＳ２０６）。内積８４を求めるごとに記憶部１３０に蓄積される。
【００７５】
調整部４０ｃは、全ての量及び順序付けを選択したか否かを判断する（ステップＳ２０７）。照合パタン５１の各量の変化ごとの内積８４を求め、また、全体次元行列３２ａにおける対応付けの変化ごとの内積８４を求める処理を全て終了していない場合（ステップＳ２０７のＮＯ）、調整部４０ｃは、ステップＳ２０５へと戻り、上述した同様の処理を繰り返す。
【００７６】
一方、照合パタン５１の各量の変化ごとの内積８４を求め、また、全体次元行列３２ａにおける対応付けの変化ごとの内積８４を求める処理を全て終了している場合（ステップＳ２０７のＹＥＳ）、調整部４０ｃは、全ての内積８４の平均を算出して調整割合を取得し（ステップＳ２０８）、調整部４０ｃによる調整処理を終了する。次に、更新部４０ｄによる更新処理が行われる。
【００７７】
更新部４０ｄは、照合パタン５１の量と、順序付け変換行列３２の全体次元行列３２ａと、ニューラルネットワークのパラメータ群７１とを更新する（ステップＳ２０９）。更新部４０ｄは、少なくとも調整割合９４を用いて照合パタン５１の各量を更新する。
【００７８】
また、更新部４０ｄは、調整割合９４（内積８４の平均値）が負であれば、全体次元行列３２ａが示す対応関係を変化させた方向が入力誤差６４を負の方向に拡大させたと判断する。一方、更新部４０ｄは、調整割合９４が正であれば、全体次元行列３２ａの対応関係を変化させた方向が入力誤差６４を正の方向に拡大させたと判断する。判断結果に基づいて、更新部４０ｄは、全体次元行列３２ａが示す対応関係を変化させる。
【００７９】
更に、更新部４０ｄは、ニューラルネットワーク４１のパラメータ群７１を、少なくとも調整割合９４を用いて更新する。
【００８０】
更新部４０ｄによる更新処理が終了すると、学習装置１００は、更新が収束したか、又は、所定数ループしたかを判断する（ステップＳ２１０）。更新が収束せず、かつ、所定数ループしていない場合（ステップＳ２１０のＮＯ）、学習装置１００は、ステップＳ２０１へと戻り、上述した同様の処理を繰り返す。一方、更新が収束し、又は、所定数ループしている場合（ステップＳ２０８のＹＥＳ）、学習装置１００は、全体処理を終了する。
【００８１】
上述した処理において、学習を目的とした入力データ３０は、通常、複数の系列データ３０ａを含み、系列データ３０ａごとの入力データテンソル３１ｂが生成される。従って、調整割合９４は、全ての入力データテンソル３１ｂに対して、ステップＳ２０３からＳ２０７を行って得られた内積の平均値となる。
【００８２】
図１４は、解析部による解析処理を説明するための図である。図１４より、入力された系列データ３０ａは、上述した学習処理と同様に、テンソル生成部２０により、系列データ３０ａが局所次元と全体次元とに分割され、局所次元と全体次元とで特定される塩基の量を設定することで入力データテンソル３１ｂへと変換される。
【００８３】
そして、解析部６０は、入力データテンソル３１ｂの入力順を変更して、照合パタン５１の入力順の量に最も類似する変換データテンソル６１へと変換する。解析部６０は、得られた変換データテンソル６１に基づく入力順で、量をニューラルネットワーク４１へと入力し、分類結果３９を得る。
【００８４】
解析部６０は、学習部４０により学習した照合パタン５１を用いて、テンソル生成部２０によって生成された入力データテンソル３１ｂのニューラルネットワーク４１への入力順を最適化するため、高精度の分類結果３９を得ることができる。
【００８５】
次に、学習装置１００による系列データ３０ａに対する学習部４０による学習処理について説明する。先ず、学習処理のうち、探索部４０ｂによる探索処理を図１５から図１７を参照して説明する。以下、上述の遺伝子配列とは異なる配列を示す系列データ３０ａを入力データ３０とし、（局所次元、全体次元、量）は、
（b1,  e1,  1）
（b2,  e1,  3）
（b1,  e2,  2）
（b2,  e2,  0）
で表した簡潔な例で説明する。即ち、全体次元行列３２ａはe1及びe2を成分とし、局所次元行列３２ｂはb1及びb2を成分とする。
【００８６】
また、初期化部４０ａにより、照合パタン５１が、
（b’1,  e’1,    0.2）
（b’2,  e’1,    0.1）
（b’1,  e’2,  -0.3）
（b’2,  e’2,    0.4）
に初期化されたものとする。量には、−１から１の間でランダムに値が設定された例で説明するが、この設定方法に限定されない。
【００８７】
図１５は、探索部による探索処理の一例を説明するための図である。図１５より、探索部４０ｂは、入力データテンソル３１ｂに基づいて、入力順の入れ替えパターンごとに照合パタン５１との類似度を算出し、得られた類似度のうち最大の類似度を得られた入れ替えパターン２５に基づいて変換データテンソル６１を生成する。
【００８８】
探索部４０ｂは、変換データテンソル６１から順に量を、ニューラルネットワーク４１の入力層４１ａに入力する。一例として、変換データテンソル６１の一番目の量を、入力層４１ａにおいて予め定めた順に従って一番目のノードに入力する。変換データテンソル６１の二番目以降の量も同様である。本実施例では、入力層４１ａのノードの上から下への順を入力順とする。
【００８９】
したがって、変換データテンソル６１の一番目の量「３」が入力層４１ａの一番目のノードに入力され、変換データテンソル６１の二番目の量「１」が入力層４１ａの二番目のノードに入力され、変換データテンソル６１の三番目の量「０」が入力層４１ａの三番目のノードに入力され、変換データテンソル６１の四番目の量「２」が入力層４１ａの四番目のノードに入力される。
【００９０】
入力層４１ａにおいて全ての量が入力されると、ニューラルネットワーク４１は、順伝播４２ａによりデータを学習して、出力層４１ｂの各ノードで出力値を取得し、出力値を並べた分類結果３９を出力する。分類結果３９は、分類Ａ、分類Ｂ、及び分類Ｃのそれぞれの確からしさを示してもよいし、最も確からしい分類のみを示すようにしてもよい。
【００９１】
更に、探索部４０ｂは、得られた分類結果３９と、系列データ３０ａに関連付けられた教師ラベル３３ａとの出力誤差６３を用いて、ニューラルネットワーク４１を逆伝播４２ｂさせて、入力誤差６４を取得する。
【００９２】
以下、ニューラルネットワーク４１に関し、図１６に示すような設定例を用いて説明する。
【００９３】
図１６は、ニューラルネットワークに関する設定例を示す図である。図１６（Ａ）は、図１５に示すニューラルネットワーク４１の簡易例を示す。ニューラルネットワーク４１は、入力層４１ａと、出力層４１ｂの２つの層を有する。入力層４１ａは複数のノードを有し、出力層４１ｂは１つのノードを有する。
【００９４】
図１６（Ｂ）は、ニューラルネットワーク４１の各ノードに与えられたパラメータの値を示す。パラメータは、ノードごとの重み値を指定し、w1、w2、w3、w4、・・・で示される。それぞれの重み値は、初期化部４０ａにより初期化され、図１６（Ｂ）では、w1に「1.2」、w2に「0.1」、w3に「-0.9」、w4に「0.6」のように設定された例を示している。
【００９５】
図１６（Ｃ）は、分類と教師ラベルとの対応関係の一例を示している。図１６（Ｃ）において、系列データ３０ａは、分類Ａ、分類Ｂ、分類Ｃ等のいずれかに分類され、それぞれの分類ごとに教師ラベル３３ａが対応付けられている。この例では、分類Ａに「1.0」、分類Ｂに「2.0」、分類Ｃに「3.0」等が設定されている。
【００９６】
図１６の設定例で、教師データＤＢ３３に含まれる、分類Ａの教師ラベル３３ａが付与された系列データ３０ａを用いて、分類Ａに精度良く分類されるように学習する場合で説明する。値「1.0」の教師ラベル３３ａを用いる。先ず、図１５の順伝播４２ａ及び逆伝播４２ｂについて詳述する。
【００９７】
図１７は、順伝播及び逆伝播を説明するための図である。図１７より、ニューラルネットワーク４１の順伝播４２ａでは、変換データテンソル６１の量の値を入力順に示す量ベクトル６１ｖと、入力層４１ａのノードの並び順に重み値を示した重みベクトル７１ｖとの内積を算出することで、分類結果３９を取得する。
【００９８】
この例では、
1  ×    1.2  =      1.2
3  ×(-0.1)=  -0.3
0  ×(-0.9)=    0
2  ×    0.6  =    1.2
を得て、全ての値を合算することで内積「2.1（=1.2-0.3+0+1.2）」を得る。内積「2.1」が分類結果３９となる。
【００９９】
次に、ニューラルネットワーク４１では、分類結果３９を用いて、逆伝播４２ｂが行われる。分類Ａの教師ラベル３３ａは「1.0」を示す。分類結果３９から教師ラベル３３ａを減算して、出力誤差６３を得る。即ち、
2.1  -  1.0  =  1.1
重みベクトル７１ｖの各成分に出力誤差６３を乗算することで、入力誤差６４を得る。即ち、
1.1  ×    1.2  、よって約1.3
1.1  ×(-0.1)、よって約-0.1
1.1  ×(-0.9)、よって約-1.0
1.1  ×    0.6  、よって約0.7
を得て、（1.3,  -0.1,  -1.0,  0.7）が入力誤差６４となる。
【０１００】
次に、調整部４０ｃによる調整処理を図１８から図２２で説明する。調整割合９４を取得するための処理として、先ず、照合パタン５１の量変更による試験方法について、図１８から図２１を参照して説明する。
【０１０１】
図１８は、照合パタンの量変更による試験方法を説明するための第１の図である。調整部４０ｃは、照合パタン５１の先頭のレコードから順に量を１増加させて試験を行う。図１８では、照合パタン５１において、最初のレコードで示される次元パタン(b’1,  e’1)の量を１増加した場合の処理例を説明する。
【０１０２】
次元パタン(b’1,  e’1)の量を１増加した照合パタン５２ａが作成され、照合パタン５２ａの第１レコードの量は「1.2」となる。調整部４０ｃは、入力データテンソル３１ｂに対して、全体次元行列３２ａ又は局所次元行列３２ｂの２つの成分間で対応関係を入れ替えながら照合パタン５２ａに最も類似する試験データテンソル８１ａを探索する試験的探索を行う。
【０１０３】
試験的探索では、調整部４０ｃは、全体次元行列３２ａの２つの成分、又は、局所次元行列３２ｂの２つの成分を選択して試験データテンソル８１ａを生成する。調整部４０ｃは、生成した試験データテンソル８１ａの量を成分として示す量ベクトル８１ｖと、照合パタン５２ａの量を成分として示す量ベクトル５２ｖとの内積（類似度）を求める。
【０１０４】
調整部４０ｃは、全ての対応関係の入れ替えを終了すると、入れ替えごとに算出した内積のうち最も大きい値となった試験データテンソル８１ａを特定する。即ち、２つの成分の選択ごとに生成された複数の試験データテンソル８１ａの中から、照合パタン５２ａに最も類似する試験データテンソル８１ａを定める。この例では、全体次元行列３２ａにおいて、入れ替えパタン３５ａのときに試験データテンソル８１ａが最も照合パタン５２ａに類似する。
【０１０５】
そして、調整部４０ｃは、照合パタン５２ａに最も類似する試験データテンソル８１ａと、探索部４０ｂが生成した変換データテンソル６１との間の変分量８３を算出する。具体的には、試験データテンソル８１ａの量ベクトル８１ｖと、変換データテンソル６１の量ベクトル６１ｖとの差分を算出することにより変分量８３を得る。この例では、
第１成分同士の減算により、3-1  =    2
第２成分同士の減算により、1-3  =  -2
第３成分同士の減算により、2-0  =    2
第４成分同士の減算により、0-2  =  -2
を得る。従って、変分量８３は、（2,  -2,  2,  -2）となる。
【０１０６】
次に、調整部４０ｃは、探索部４０ｂにより算出された入力誤差６４と、変分量８３との内積を算出する。この例では、
1.3×2  +  (-0.1)×(-2)  +  (-1.0)×2  +  0.7×(-2)  =  -0.6
を得る。調整部４０ｃは、次元パタン(b’1,  e’1)の量の変化が局所次元の順序付けの変動に及ぼす影響を示す値「-0.6」を内積データ８５に蓄積する。
【０１０７】
図１９は、照合パタンの量変更による試験方法を説明するための第２の図である。図１９では、照合パタン５１において、第２レコードで示される次元パタン(b’2,  e’1)の量を１増加した場合の処理例を説明する。
【０１０８】
次元パタン(b’2,  e’1)の量を１増加した照合パタン５２ｂが作成され、照合パタン５２ｂの第２レコードの量は「1.1」となる。調整部４０ｃは、入力データテンソル３１ｂに対して、照合パタン５２ｂに最も類似する試験データテンソル８１ｂを探索する試験的探索を行う。試験的探索は、図１８における試験的探索と同様であるため詳細な説明を省略する。
【０１０９】
この例では、入れ替えパタン３５ｂのときに、照合パタン５２ｂに最も類似する試験データテンソル８１ｂが特定される。調整部４０ｃは、照合パタン５２ｂに最も類似する試験データテンソル８１ｂと、探索部４０ｂが生成した変換データテンソル６１との間の変分量８３を算出する。試験データテンソル８１ｂの量ベクトル８１ｖと、変換データテンソル６１の量ベクトル６１ｖとの差分は、
第１成分同士の減算により、1-1  =  0
第２成分同士の減算により、3-3  =  0
第３成分同士の減算により、0-0  =  0
第４成分同士の減算により、2-2  =  0
を得る。従って、変分量８３は、（0,  0,  0,  0）となる。
【０１１０】
次に、調整部４０ｃは、探索部４０ｂにより算出された入力誤差６４と、変分量８３との内積を算出する。この例では、
1.3×0  +  (-0.1)×0  +  (-1.0)×0  +  0.7×0  =  0.0
を得る。調整部４０ｃは、次元パタン(b’2,  e’1)の量の変化が局所次元の順序付けの変動に及ぼす影響を示す値「0.0」を内積データ８５に蓄積する。
【０１１１】
図２０は、照合パタンの量変更による試験方法を説明するための第３の図である。図２０では、照合パタン５１において、第３レコードで示される次元パタン(b’1,  e’2)の量を１増加した場合の処理例を説明する。
【０１１２】
次元パタン(b’1,  e’2)の量を１増加した照合パタン５２ｃが作成され、照合パタン５２ｃの第３レコードの量は「0.7」となる。調整部４０ｃは、入力データテンソル３１ｂに対して、照合パタン５２ｃに最も類似する試験データテンソル８１ｃを探索する試験的探索を行う。試験的探索は、図１８における試験的探索と同様であるため詳細な説明を省略する。
【０１１３】
この例では、入れ替えパタン３５ｃのときに、照合パタン５２ｃに最も類似する試験データテンソル８１ｃが特定される。調整部４０ｃは、照合パタン５２ｃに最も類似する試験データテンソル８１ｃと、探索部４０ｂが生成した変換データテンソル６１との間の変分量８３を算出する。試験データテンソル８１ｃの量ベクトル８１ｖと、変換データテンソル６１の量ベクトル６１ｖとの差分は、
第１成分同士の減算により、2-1  =    1
第２成分同士の減算により、0-3  =  -3
第３成分同士の減算により、3-0  =    3
第４成分同士の減算により、1-2  =  -1
を得る。従って、変分量８３は、（1,  -3,  3,  -1）となる。
【０１１４】
次に、調整部４０ｃは、探索部４０ｂにより算出された入力誤差６４と、変分量８３との内積を算出する。この例では、
1.3×1  +  (-0.1)×(-3)  +  (-1.0)×3  +  0.7×(-1)  =  -2.1
を得る。調整部４０ｃは、次元パタン(b’1,  e’2)の量の変化が局所次元の順序付けの変動に及ぼす影響を示す値「-2.1」を内積データ８５に蓄積する。
【０１１５】
図２１は、照合パタンの量変更による試験方法を説明するための第４の図である。図２１では、照合パタン５１において、第４レコードで示される次元パタン(b’2,  e’2)の量を１増加した場合の処理例を説明する。
【０１１６】
次元パタン(b’2,  e’2)の量を１増加した照合パタン５２ｄが作成され、照合パタン５２ｄの第３レコードの量は「1.4」となる。調整部４０ｃは、入力データテンソル３１ｂに対して、照合パタン５２ｄに最も類似する試験データテンソル８１ｄを探索する試験的探索を行う。試験的探索は、図１８における試験的探索と同様であるため詳細な説明を省略する。
【０１１７】
この例では、入れ替えパタン３５ｄのときに、照合パタン５２ｄに最も類似する試験データテンソル８１ｄが特定される。調整部４０ｃは、照合パタン５２ｄに最も類似する試験データテンソル８１ｄと、探索部４０ｂが生成した変換データテンソル６１との間の変分量８３を算出する。試験データテンソル８１ｄの量ベクトル８１ｖと、変換データテンソル６１の量ベクトル６１ｖとの差分は、
第１成分同士の減算により、0-1  =  -1
第２成分同士の減算により、2-3  =  -1
第３成分同士の減算により、1-0  =    1
第４成分同士の減算により、3-2  =    1
を得る。従って、変分量８３は、（-1,  -1,  1,  1）となる。
【０１１８】
次に、調整部４０ｃは、探索部４０ｂにより算出された入力誤差６４と、変分量８３との内積を算出する。この例では、
1.3×(-1)  +  (-0.1)×(-1)  +  (-1.0)×1  +  0.7×1  =  -1.5
を得る。調整部４０ｃは、次元パタン(b’1,  e’2)の量の変化が局所次元の順序付けの変動に及ぼす影響を示す値「-1.5」を内積データ８５に蓄積する。
【０１１９】
次に、全体次元の対応関係変更による試験方法について、図２２を参照して説明する。図２２は、全体次元の対応関係変更による試験方法を説明するための図である。図２２において、照合パタン５１において、全体次元行列３２ａにおける対応関係を変化させた場合の処理例を説明する。
【０１２０】
探索部４０ｂでの処理では、全体次元行列３２ａの成分の対応付けは固定であったが、調整部４０ｃでは、全体次元から２つの成分を選択して入れ替えた対応付けに対して、局所次元の成分の対応付けを入れ替えた入れ替えパターンごとに、試験データテンソル８１ｅを作成する。
【０１２１】
そして、調整部４０ｃは、作成した試験データテンソル８１ｅのうち、照合パタン５１と最も類似する試験データテンソル８１ｅを選択した後、変換データテンソル６１との変分量８３を算出し、入力誤差６４との内積を求めて、内積データ８５に追加する。
【０１２２】
この例では、全体次元行列３２ａでは、成分e1及びe2の２つのみであるため、調整部４０ｃは、成分e1と成分e2とを入れ替えた場合の、局所次元の２成分間の入れ替えごとに試験データテンソル８１ｅを作成する。
【０１２３】
この試験方法においても、内積を類似度として利用する。具体的には、調整部４０ｃは、照合パタン５１の量を並べた量ベクトル５１ｖと、試験データテンソル８１ｅの量を並べた量ベクトル８１ｖとの内積を算出する。そして、調整部４０ｃは、照合パタン５１と最も類似する試験データテンソル８１ｅを特定する。
【０１２４】
この例では、入れ替えパタン３５ｅのときに、照合パタン５１に最も類似する試験データテンソル８１ｅが特定される。調整部４０ｃは、照合パタン５１に最も類似する試験データテンソル８１ｅと、探索部４０ｂが生成した変換データテンソル６１との間の変分量８３を算出する。試験データテンソル８１ｅの量ベクトル８１ｖと、変換データテンソル６１の量ベクトル６１ｖとの差分は、
第１成分同士の減算により、2-1  =  1
第２成分同士の減算により、0-3  =  -3
第３成分同士の減算により、1-0  =    1
第４成分同士の減算により、3-2  =    1
を得る。従って、変分量８３は、（1,  -3,  1,  1）となる。
【０１２５】
次に、調整部４０ｃは、探索部４０ｂにより算出された入力誤差６４と、変分量８３との内積を算出する。この例では、
1.3×1  +  (-0.1)×(-3)  +  (-1.0)×1  +  0.7×1  =  1.3
を得る。調整部４０ｃは、全体次元の対応関係の変化が局所次元の順序付けに及ぼす影響の大きさを示す値「1.3」を内積データ８５に蓄積する。
【０１２６】
この例では、全体次元の２成分の組み合せは１つであるが、３個の成分であれば６通りの組み合せそれぞれの更新方向を示す値を算出し、内積データ８５に蓄積する。４成分以上の場合も同様である。
【０１２７】
図２３は、調整部による調整割合の算出例を説明するための図である。図２３より、調整部４０ｃは、内積データ８５に蓄積された値を合計し平均値を算出する。
【０１２８】
すなわち、内積データ８５に基づいて、
(-0.6)  +  0.0  +  (-2.1)  +  (-1.5)  +  1.3  =  -2.9
を得るため、
(-2.9)  /  5  =  -0.6
より、平均値「-0.6」を得る。この値「-0.6」は、局所次元の順序付けの変動が入力誤差６４を拡大する大きさと方向とを示し、調整割合９４として記憶部１３０に記憶される。
【０１２９】
図２４は、更新部による更新処理の例を示す図である。図２４より、更新部４０ｄは、ニューラルネットワーク４１のステップ数αを考慮して、パラメータ群７１と照合パタン５１とを更新する。ステップ数は、階層から階層への伝播回数であり、図１６（Ａ）の例では、ステップ数αは１となる。
【０１３０】
更新部４０ｄは、変換データテンソル６１から得られる量ベクトル６１ｖの各成分の値に出力誤差６３を乗算し、乗算後の各成分にステップ数αを乗算することで、パラメータ群７１を最適化する補正値７４を得る。その後、更新部４０ｄは、パラメータ群７１から得られる重みベクトル７１ｖから補正値７４を減算し、パラメータ群７１を更新する。
【０１３１】
具体的には、
第１成分同士の減算により、  1.2-1.1  =    0.1
第２成分同士の減算により、-0.1-3.3  =  -3.4
第３成分同士の減算により、-0.9-0.0  =  -0.9
第４成分同士の減算により、  0.6-2.2  =  -1.8
を得る。従って、重みベクトル７１ｖは、（0.1,  -3.4,  -0.9,  -1.8）へと更新される。
【０１３２】
また、更新部４０ｄは、照合パタン５１から得られる量ベクトル５１ｖの各成分の値から、ステップ数αを乗算した調整割合９４を減算して、照合パタン５１を更新する。
【０１３３】
具体的には、ステップ数αを１とし、
第１成分からの減算により、  0.2-(1×(-0.6))  =  0.8
第２成分からの減算により、  0.1-(1×(-0.6))  =  0.7
第３成分からの減算により、-0.3-(1×(-0.6))  =  0.3
第４成分からの減算により、  0.4-(1×(-0.6))  =  1.0
を得る。従って、量ベクトル５１ｖは、（0.8,  0.7,  0.3,  1.0）へと更新される。
【０１３４】
図２５は、系列データに対して、学習装置が実現する学習内容を説明するための図である。図２５より、学習装置１００は、遺伝子配列を表す系列データ３０ａを、局所次元及び全体次元に分割することで、局所次元では、コドン２ごとの塩基の並びの特徴を学習すし（ｉ）、全体次元では、コドン２の特徴の組み合せにより得られる特徴を学習する（ｉｉ）。
【０１３５】
学習装置１００は、系列データ３０ａの特徴として、
・主要コドンＩを４個
・主要コドンＩＩを１個
を特定し（ｉｉｉ）、タンパク質の種別分類を精度良く行う（ｉｖ）。
【０１３６】
学習装置１００では、学習により、系列データ３０ａに対して、タンパク質の種別の分類において、３回出現する「AAG」と、１回出現する「CGT」の２つのコドン２を主要コドンＩとして判別可能となり、１回出現する「ATC」を主要コドンＩＩとして判別可能となる。また、「TTC」、「AAT」、及び「AGA」をその他コドンであると判別している。「TTC」、「AAT」、及び「AGA」は、それぞれ１回出現している。
【０１３７】
本実施例における学習装置１００では、複数の局所的な特徴の組み合せにより特徴づけられる系列データ３０ａに対して、分類精度を最適とするニューラルネットワーク４１への入力順、即ち、照合パタン５１を学習する。言い換えると、本実施例により、学習装置１００は、タンパク質の種別分類に重要な主要コドンを判別する能力の獲得する。本実施例を機械学習に適応した場合、遺伝子配列に基づくタンパク質の種別分類では、概ね０．９６以上の精度を実現し得る。
【０１３８】
上述では、入力データ３０が系列データ３０ａで説明したが、入力データ３０がスクランブル画像である場合にも、上述した実施例を適用することで分類精度を向上させることができる。スクランブル画像の場合の処理例について説明する。以下の処理例においても、学習装置１００の機能構成例は、前述した図６、図９〜図１１、及び図１４と同様である。
【０１３９】
先ず、スクランブル画像について説明する。図２６は、スクランブル画像の例を示す図である。図２６（Ａ）に示すスクランブル画像９ｓｃは、１５×１５画素のサイズであり、３×３画素を１つのブロック６ｋでスクランブルされている画像の例である。ブロック６ｋは、画像サイズに基づき決定されればよく、３×３画素に限定されない。また、１ブロック６ｋのサイズは、局所次元３２ｂを生成するための局所単位となる。
【０１４０】
図２６（Ｂ）より、各ブロック６ｋ内では画素は元画像の一部を示し、３画素の並び順で一部を連続的に表すため、その並び順に特徴がある。また、各ブロック６ｋ外では、隣接させるブロック６ｋとの組み合せにより元画像の特徴が現れる。
【０１４１】
ここで、スクランブル画像９ｓｃの生成方法の一例について説明する。図２７は、スクランブル画像の生成方法を説明するための図である。図２７（Ａ）より、元画像９ｏｒを所定画素数のブロック６ｋに分割する。理解を容易とするため、行ごとに異なる色を割り当て（横方向は同一色）、列ごとに異なる数字（縦方向は同一数字）を割り当てている。
【０１４２】
図２７（Ｂ）に示す画像９ｐは、元画像９ｏｒの横軸をスクランブルした結果を示している。ブロック６ｋの数字順がバラバラになる。更に縦軸をスクランブルすると、ブロック６ｋの色順にバラバラになり、図２７（Ｃ）に示すようなスクランブル画像９ｓｃを得る。図２７（Ｃ）に示すスクランブル画像９ｓｃでは、列９ｃをみると、同じ数字が縦に並び、行９ｒをみると、同じ色が横に並んでいる。
【０１４３】
スクランブル画像９ｓｃでは、ブロック内次元の特徴として、目が映っている、又は口が映っている等の被写体の一部を特定できる場合がある。また、ブロック外次元の特徴としては、ある二つのブロック６ｋを組み合わせると耳が現れる、縦長な画像、青っぽい画像等の元画像９ｏｒの全体的な特徴を抽出できる。
【０１４４】
このような考えから、ブロック内次元を上述した局所次元に適応し、ブロック外次元を上述した全体次元に適応することで、分類精度を向上する。
【０１４５】
図２８は、スクランブル画像の次元分割を説明するための図である。図２８において、スクランブル画像９ｓｃのブロック内次元７ｂ及びブロック外次元７ａは共に２次元で表される。
【０１４６】
ブロック内次元７ｂの成分の組み換え行列８ｂをUxとUyで表し、逆伝播で学習させて入力順を定める。また、ブロック外次元７ａの成分の組み換え行列８ａをUXとUYで表し、照合パタン５１に対して最も類似するようにして、変換データテンソル６１を得るようにすればよい。
【０１４７】
図２９は、分類精度の比較例を示す図である。図２９（Ａ）は、Fashion  MNISTのデータセットから選択した画像９１ｏｒをスクランブル画像９１ｓｃに変換した例を示している。図２９（Ｂ）は、CMU  Faces  Imagesのデータセットから選択した画像９２ｏｒをスクランブル画像９２ｓｃに変換した例を示している。
【０１４８】
図２９（Ａ）のスクランブル画像９１ｓｃと、図２９（Ｂ）のスクランブル画像９２ｓｃとを、本実施例との比較対象として、ストライド幅を合わせたCNN（Convolutional  Neural  Network）（以下、比較技術１という）と、ヒストグラム化及びSVM（Support  Vector  Machine）（以下、比較技術２という）とを用いて、分類精度を比較し、その結果を図２９（Ｃ）に示している。
【０１４９】
図２９（Ｃ）より、図２９（Ａ）のスクランブル画像９１ｓｃの分類精度は、本実施例で「0.725」、比較技術１で「0.651」、そして、比較技術２で「0.595」を示した。また、図２９（Ｂ）のスクランブル画像９２ｓｃの分類精度は、本実施例で「0.818」、比較技術１で「0.560」、そして、比較技術２で「0.309」を示した。
【０１５０】
これらの結果より、入力データ３０を局所次元と全体次元とに分割して作成した入力データテンソル３１ｂにより、ニューラルネットワーク４１への入力順を最適化した本実施例では、いずれの例においても機械学習の分類精度を向上させたと言える。
【０１５１】
上述した本実施例における学習装置１００は、ネットワークシステムにおいて利用されてもよい。図３０は、ネットワークシステムの例を示す図である。図３０に示すネットワークシステム１０００では、複数の端末５がネットワーク１ｎｔを介して学習装置１００に接続可能である。
【０１５２】
ネットワークシステム１０００において、学習装置１００は、図５に示すハードウェア構成を有する。端末５は、情報処理装置であって、ＣＰＵ５０１と、主記憶装置５０２と、補助記憶装置５０３と、入力装置５０４と、表示装置５０５と、通信Ｉ／Ｆ５０７と、ドライブ装置５０８とを有し、バスＢ２に接続される。補助記憶装置５０３、入力装置５０４、及び端末５がアクセス可能な外部記憶装置を含めて、記憶部５３０という。
【０１５３】
ＣＰＵ５０１は、端末５を制御するプロセッサに相当し、記憶部５３０に格納されたプログラムを実行することで、以下に説明する本実施例に係る様々な処理を実現する。入力装置５０４は、ユーザによって操作され、操作に応じてデータを入力し、表示装置５０５は、ユーザーインタフェースとして様々な画面を表示する。入力装置５０４と、表示装置５０５とは、一体化したタッチパネルであっても良い。通信Ｉ／Ｆ５０７は、外部装置との通信を制御する。
【０１５４】
記憶媒体５０９（例えば、ＣＤ−ＲＯＭ（Compact  Disc  Read-Only  Memory）等）に記憶された本実施例に係るプログラムは、ドライブ装置５０８を介して記憶部５３０にインストールされ、ＣＰＵ５０１によって実行可能となる。
【０１５５】
尚、本実施例に係るプログラムを格納する記憶媒体５０９はＣＤ−ＲＯＭに限定されず、コンピュータが読み取り可能な、構造（structure）を有する１つ以上の非一時的（non-transitory）な、有形（tangible）な媒体であればよい。コンピュータ読取可能な記憶媒体として、ＣＤ−ＲＯＭの他に、ＤＶＤ（Digital  Versatile  Disk）ディスク、ＵＳＢメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
【０１５６】
上述より、本実施例によれば、系列データ３０ａを局所次元と全体次元に分割した１つの入力データテンソル３１ｂで表現し、局所次元における成分の並び順の特徴と、全体次元における成分の組み合せの特徴の学習を同時に行うことで、分類精度を向上する。
【０１５７】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、主々の変形や変更が可能である。
【０１５８】
実施例に記載の、テンソル生成部２０は、生成部の一例であり、学習部４０の探索部４０ｂ及び調整部４０ｅは、組み換え部の一例である。
【０１５９】
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
データを構成する各要素の順序が規定された系列データに対し、該系列データを局所単位ごとに分割することにより、局所次元及び全体次元を有する入力データテンソルを生成し、
前記入力データテンソルを変換行列により変換した変換データテンソルをニューラルネットワークを用いて出力するテンソル変換を用いた学習において、
前記入力データテンソルの全体次元に対しては、前記テンソル変換で基準となる照合パタンとの類似度が最大となるように前記変換行列を組み換え、
前記入力データテンソルの局所次元に対しては、前記学習の過程で前記照合パタンを更新する
処理をコンピュータに実行させる学習プログラム。
（付記２）
前記系列データは画像データであり、前記局所単位は、前記画像データの画像サイズに基づき決定されることを特徴とする付記１記載の学習プログラム。
（付記３）
前記局所次元及び前記全体次元の各成分は２次元成分であることを特徴とする付記２記載の学習プログラム。
（付記４）
前記系列データは遺伝子配列データであり、前記局所単位は、コドンの単位であることを特徴とする付記１記載の学習プログラム。
（付記５）
前記局所次元及び前記全体次元とによって入力値を定めて、前記入力データテンソルを生成することを特徴とする付記４記載の学習プログラム。
（付記６）
前記入力値は、前記局所次元と前記全体次元とによって特定される塩基に特有な値を示すことを特徴とする付記４記載の学習プログラム。
（付記７）
分類対象のデータとして入力された系列データに対し、該系列データを前記局所単位ごとに分割することにより、前記局所次元及び前記全体次元を有する入力データテンソルを生成し、
生成した前記入力データテンソルを、前記照合パタンに類似させることで前記変換データテンソルへと変換し、
前記変換データテンソルの入力値を前記ニューラルネットワークのノードに入力することで、前記データを分類した結果を出力する
処理をコンピュータに実行させる付記１記載の学習プログラム。
（付記８）
データを構成する各要素の順序が規定された系列データに対し、該系列データを局所単位ごとに分割することにより、局所次元及び全体次元を有する入力データテンソルを生成し、
前記入力データテンソルを変換行列により変換した変換データテンソルをニューラルネットワークを用いて出力するテンソル変換を用いた学習において、
前記入力データテンソルの全体次元に対しては、前記テンソル変換で基準となる照合パタンとの類似度が最大となるように前記変換行列を組み換え、
前記入力データテンソルの局所次元に対しては、前記学習の過程で前記照合パタンを更新する
処理をコンピュータが行う学習方法。
（付記９）
分類対象のデータとして入力された系列データに対し、該系列データを前記局所単位ごとに分割することにより、前記局所次元及び前記全体次元を有する入力データテンソルを生成し、
生成した前記入力データテンソルを、前記照合パタンに類似させることで前記変換データテンソルへと変換し、
前記変換データテンソルの入力値を前記ニューラルネットワークのノードに入力することで、前記データを分類した結果を出力する
処理をコンピュータが行う付記８記載の学習方法。
（付記１０）
データを構成する各要素の順序が規定された系列データに対し、該系列データを局所単位ごとに分割することにより、局所次元及び全体次元を有する入力データテンソルを生成する生成部と、
前記入力データテンソルを変換行列により変換した変換データテンソルをニューラルネットワークを用いて出力するテンソル変換を用いた学習を行う学習部とを有し、
前記学習部は、
前記入力データテンソルの全体次元に対しては、前記テンソル変換で基準となる照合パタンとの類似度が最大となるように前記変換行列を組み換える組み換え部と、
前記入力データテンソルの局所次元に対しては、前記学習の過程で前記照合パタンを更新する更新部と
を有することを特徴とする学習装置。
（付記１１）
分類対象のデータとして入力された系列データに対し、該系列データを前記局所単位ごとに分割することにより、前記局所次元及び前記全体次元を有する入力データテンソルを生成する生成部と、
生成した前記入力データテンソルを、前記照合パタンに類似させることで前記変換データテンソルへと変換し、前記変換データテンソルの入力値を前記ニューラルネットワークのノードに入力することで、前記データを分類した結果を出力する解析部と
を有することを特徴とする付記１０記載の学習装置。
（付記１２）
データを構成する各要素の順序が規定された系列データに対し、該系列データを局所単位ごとに分割することにより、局所次元及び全体次元を有する入力データテンソルを生成し、
生成した前記入力データテンソルを、該入力データテンソルの入力値とニューラルネットワークのノードとの対応関係を最適化する照合パタンに類似させた変換データテンソルへと変換し、
前記変換データテンソルの入力値を前記ニューラルネットワークのノードに入力することで、前記データを学習する
処理をコンピュータに実行させる学習プログラム。
【符号の説明】
【０１６０】
２０          テンソル生成部
３０          入力データ
３０ａ        系列データ
３１ａ        次元分割データ、    ３１ｂ        入力データテンソル
３２          順序付け変換行列
３３          教師データＤＢ      ３３ａ        教師ラベル
４０          学習部
４０ａ        初期化部、          ４０ｂ        探索部
４０ｃ        調整部、            ４０ｅ        更新部
４１          楽手結果
５１          照合パタン
６０          解析部
６１          変換データテンソル
６３          出力誤差            ６４          入力誤差
７１          ニューラルネットワーク
８１          試験データテンソル
８３          変分量              ８４          内積
９４          調整割合
１００        学習装置
【図１】
2020154843.tif 000003
【図２】
2020154843.tif 000004
【図３】
2020154843.tif 000005
【図４】
2020154843.tif 000006
【図５】
2020154843.tif 000007
【図６】
2020154843.tif 000008
【図７】
2020154843.tif 000009
【図８】
2020154843.tif 000010
【図９】
2020154843.tif 000011
【図１０】
2020154843.tif 000012
【図１１】
2020154843.tif 000013
【図１２】
2020154843.tif 000014
【図１３】
2020154843.tif 000015
【図１４】
2020154843.tif 000016
【図１５】
2020154843.tif 000017
【図１６】
2020154843.tif 000018
【図１７】
2020154843.tif 000019
【図１８】
2020154843.tif 000020
【図１９】
2020154843.tif 000021
【図２０】
2020154843.tif 000022
【図２１】
2020154843.tif 000023
【図２２】
2020154843.tif 000024
【図２３】
2020154843.tif 000025
【図２４】
2020154843.tif 000026
【図２５】
2020154843.tif 000027
【図２６】
2020154843.tif 000028
【図２７】
2020154843.tif 000029
【図２８】
2020154843.tif 000030
【図２９】
2020154843.tif 000031
【図３０】
2020154843.tif 000032