(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024059179
(43)【公開日】2024-05-01
(54)【発明の名称】機械学習プログラム、機械学習方法および情報処理装置
(51)【国際特許分類】
G06N 20/00 20190101AFI20240423BHJP
G06N 3/08 20230101ALN20240423BHJP
【FI】
G06N20/00
G06N3/08
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2022166696
(22)【出願日】2022-10-18
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】梁 俊
(72)【発明者】
【氏名】森田 一
(57)【要約】
【課題】自然言語モデルと分類モデルとを接続した機械学習モデル全体のパラメータを更新すること。
【解決手段】情報処理装置100は、機械学習処理のn番目のイテレーションにおいて取得されたプロジェクションマトリックスであって、自然言語処理モデルから分類モデルに入力される入力データと、分類モデルから出力される出力データとの対応関係を示すプロジェクションマトリックスを取得する。情報処理装置100は、自然言語処理モデルのパラメータを更新する。情報処理装置100は、プロジェクションマトリックスを用いて、分類モデルのパラメータを更新する。情報処理装置100は、機械学習処理のn+1番目のイテレーションにおいて、更新した自然言語処理モデルから更新した分類モデルに入力される入力データと、更新した分類モデルから出力される出力データとの対応関係を示す新たなプロジェクションマトリックスを取得する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
自然言語処理モデルと分類モデルとを組み合わせた機械学習モデルの機械学習処理を実行する場合に、
前記機械学習処理のn番目のイテレーションにおいて取得されたプロジェクションマトリックスであって、前記自然言語処理モデルから前記分類モデルに入力される入力データと、前記分類モデルから出力される出力データとの対応関係を示す前記プロジェクションマトリックスを取得し、
前記自然言語処理モデルのパラメータを更新し、
前記プロジェクションマトリックスを用いて、前記分類モデルのパラメータを更新し、
前記機械学習処理のn+1番目のイテレーションにおいて、更新した前記自然言語処理モデルから更新した前記分類モデルに入力される入力データと、更新した前記分類モデルから出力される出力データとの対応関係を示す新たなプロジェクションマトリックスを取得する
処理をコンピュータに実行させることを特徴とする機械学習プログラム。
【請求項2】
前記分類モデルへの入力データと、前記プロジェクションマトリックスを基にして、前記分類モデルからの出力データを算出する処理を更にコンピュータに実行させることを特徴とする請求項1に記載の機械学習プログラム。
【請求項3】
前記分類モデルのパラメータを更新する処理は、前記分類モデルに入力データを入力した際に前記分類モデルから出力される出力データと、前記算出された出力データとの誤差を基にして、前記分類モデルのパラメータを更新することを特徴とする請求項2に記載の機械学習プログラム。
【請求項4】
自然言語処理モデルと分類モデルとを組み合わせた機械学習モデルの機械学習処理を実行する場合に、
前記機械学習処理のn番目のイテレーションにおいて取得されたプロジェクションマトリックスであって、前記自然言語処理モデルから前記分類モデルに入力される入力データと、前記分類モデルから出力される出力データとの対応関係を示す前記プロジェクションマトリックスを取得し、
前記自然言語処理モデルのパラメータを更新し、
前記プロジェクションマトリックスを用いて、前記分類モデルのパラメータを更新し、
前記機械学習処理のn+1番目のイテレーションにおいて、更新した前記自然言語処理モデルから更新した前記分類モデルに入力される入力データと、更新した前記分類モデルから出力される出力データとの対応関係を示す新たなプロジェクションマトリックスを取得する
処理をコンピュータが実行することを特徴とする機械学習方法。
【請求項5】
自然言語処理モデルと分類モデルとを組み合わせた機械学習モデルの機械学習処理を実行する場合に、
前記機械学習処理のn番目のイテレーションにおいて取得されたプロジェクションマトリックスであって、前記自然言語処理モデルから前記分類モデルに入力される入力データと、前記分類モデルから出力される出力データとの対応関係を示す前記プロジェクションマトリックスを取得し、
前記自然言語処理モデルのパラメータを更新し、
前記プロジェクションマトリックスを用いて、前記分類モデルのパラメータを更新し、
前記機械学習処理のn+1番目のイテレーションにおいて、更新した前記自然言語処理モデルから更新した前記分類モデルに入力される入力データと、更新した前記分類モデルから出力される出力データとの対応関係を示す新たなプロジェクションマトリックスを取得する
処理を実行する制御部を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習プログラム等に関する。
【背景技術】
【0002】
自然言語処理において、ドメイン適応(Domain Adaptation)と呼ばれる技術がある。たとえば、ドメイン適応は、Sourceドメインと、Targetドメインとのサンプル間のドメインshiftを軽減するという問題に取り組む技術である。
【0003】
図6は、各ドメインのデータ分布の一例を示す図である。
図6に示す例では、空間上に、Original LM domainのデータ10、Target domainのデータ11、Target domain downstream taskのデータ12が含まれる。
【0004】
Original LM domainのデータ10は、インターネット上に存在する文のデータに対応する。Target domainのデータ11は、Target domainのコーパスデータである。Target domain downstream taskのデータ12は、downstream taskを実行するために選択された文のデータである。
【0005】
以下では、Original LM domainのデータ10、Target domainのデータ11、Target domain downstream taskのデータ12を用いた、ドメイン適応の従来技術の一例について説明する。
【0006】
図7は、ドメイン適応の従来技術を説明するための図である。たとえば、従来技術によるドメイン適応では、ステップS10、ステップS11、ステップS12の順に、処理を実行する。ドメイン適応を実行する従来の装置を、従来装置と表記する。
【0007】
従来装置は、ステップS10において、Original LM domainのデータ10を用いて、第1モデル10a(Pretrained language model)の学習を実行する。第1モデル10aは、自然言語処理モデルである。第1モデル10aは、NN(Neural Network)等で実現される。たとえば、第1モデル10aに文を入力すると、文に含まれる各単語のベクトルが出力される。
【0008】
従来装置は、ステップS11において、Target domainのデータ11を用いて、第1モデル10aの再学習を実行することで、第2モデル11a(Re-pretrained language model)を得る。
【0009】
従来装置は、ステップS12において、第2モデル11aを、NERモデル12aに接続し、Target domain downstream taskのデータ12を用いて、第2モデル11a、NERモデル12aに対するFine-tuningを実行する。NERモデル12aは、分類モデルである。NERモデル12aは、NN等である。
【0010】
続いて、データ分類で起こす問題の一例について説明する。
図8は、データ分類で起こす問題を説明するための図である。
図8に示す例では、ドメインを「Electronic medical records domain」および「Disease explanation documents domain」とする。また、クラスを「Person」および「B-Disease」が存在する。文15を「Behcet's disease is globalized and infectious.」とする。
【0011】
たとえば、文15と、「Person」に属する文とが類似し、また、文15と、「B-Disease」に属する文とが類似している場合、文15をうまく分類することができない。文15の分類を間違えると、文15が所属するドメインも間違えることになる。これによって、ドメイン内のデータ分布が分からなくなり、二つのドメイン「Electronic medical records domain」のデータ分布と、「Disease explanation documents domain」のデータ分布の差が分からなくなる。
【0012】
ところで、ドメイン適応を行う場合に、Sourceドメイン側のデータと、Targetドメイン側のデータとの対応関係を示すプロジェクションマトリックス(projection matrix)を学習することができる。Sourceドメイン側のデータ分布と、Targetドメイン側のデータ分布との差(domain data distribution shift)を明らかにすると、プロジェクションマトリックスを適切に学習することができる。
【0013】
二つのドメインデータの分布の差を判断するものとして、Domain discrepancyがある。
図9および
図10は、Domain discrepancyによるドメイン適応の一例を示す図である。
【0014】
図9について説明する。たとえば、データ群10sは、クラスC
1に属するSourceドメイン側のデータである。データ群10tは、クラスC
1に属するTargetドメイン側のデータである。データ群11sは、クラスC
2に属するSourceドメイン側のデータである。データ群11tは、クラスC
2に属するTargetドメイン側のデータである。
【0015】
データ群10s,10t,11s,11tは、それぞれ類似したデータである。たとえば、データ群10s,10t,11s,11tに対して、Joint MMD方法によるドメイン適応を実行すると、クラスC1、C2のデータがうまく分類されない。このように、データをうまく分類できないと、二つのドメインのデータ分布差をうまく計算できず、ドメイン適応を適切に実行できない。
【0016】
図10について説明する。たとえば、データ群12sは、クラスC
1に属するSourceドメイン側のデータである。データ群12tは、クラスC
1に属するTargetドメイン側のデータである。データ群13sは、クラスC
2に属するSourceドメイン側のデータである。データ群13tは、クラスC
2に属するTargetドメイン側のデータである。
【0017】
データ群12s,12tは、類似したデータである。データ群13s,13tは、類似したデータである。データ群12sと、データ群13tとは、類似しないデータである。データ群12tと、データ群13sとは、類似しないデータである。たとえば、データ群12s,12t,13s,13tに対して、DJP MMD方法によるドメイン適応を実行すると、クラスC1、C2のデータをうまく分類できる。このように、データをうまく分類できると、二つのドメインのデータ分布差をうまく計算でき、ドメイン適応を適切に実行できる。
【0018】
たとえば、DJP MMD方法では、式(1)を用いて、Sourceドメインのデータ分布Dsと、Targetドメインのデータ分布Dtとの距離dを計算する。式(1)において、「μ」は、トレードオフパラメータである。
【0019】
【0020】
式(1)において、「MD」は、SourceドメインとTargetドメインとのDiscriminabilityを示すものである。たとえば、MDは、式(2)によって定義される。
【0021】
【0022】
式(2)において、「c」は、Sourceドメインのラベルセットである。「c’」は、Targetドメインのラベルセットである。「Xc
s,i」は、c-thクラスにおける、Sourceドメインの特徴ベクトルである。「Xc
t,i」は、c-thクラスにおける、Targetドメインの特徴ベクトルである。「nc
s」は、c-thクラスのSourceドメインにおける例(example)の数である。「nc
t」は、c-thクラスのTargetドメインにおける例(example)の数である。「A」は、プロジェクションマトリックスである。
【0023】
一方、式(1)において、「MT」は、SourceドメインとTargetドメインとのTransferabilityを示すものである。たとえば、MTは、式(3)によって定義される。
【0024】
【0025】
式(3)において、「Xs」は、Sourceドメインデータである。「Ys
c」は、Sourceドメインラベルである。「Xt」は、Targetドメインデータである。「Yt
c」は、Targetドメインラベルである。
【0026】
式(3)において、「E」は、式(4)によって定義される。「P」は、式(5)によって定義される。
【0027】
【0028】
【0029】
次に、自然言語モデルと、分類モデルとを組み合わせた従来の機械学習モデルに対する機械学習処理の一例について説明する。
図11は、従来の機械学習モデルの機械学習処理を説明するための図である。
図11に示すように、機械学習モデル25は、自然言語モデル20と、分類モデル21とを有する。自然言語モデル20の出力結果が、分類モデル21に入力される。
【0030】
自然言語モデル20は、BERT(Bidirectional Encoder Representations from Transformers)等の言語モデルである。自然言語モデル20に、複数の単語を含む文のデータ20aを入力すると、自然言語モデル20から、Xsが出力される。たとえば、Xsは、各単語のベクトル等である。
【0031】
分類モデル21は、FNN(Feedforward Neural Network)等の分類モデルである。分類モデル21に自然言語モデル20の出力結果(たとえば、Xs)を入力すると、分類モデル21からラベル「Y’s」が出力される。
【0032】
機械学習モデル25に対する機械学習処理では、分類モデル21から出力されるラベル「Y’s」と、正解ラベル「Ys」とのLossが小さくなるように、分類モデル21を訓練(fine-tuning)する。
【0033】
なお、機械学習モデル25に対する機械学習処理では、自然言語モデル20のパラメータを固定することで、自然言語モデル20の出力結果Xsを固定する。分類モデル21に入力するXsと、分類モデル21から出力される「Y’s」との関係から、プロジェクションマトリックスAが学習される。たとえば、プロジェクションマトリックスAは、JPDA(Joint Probabilistic Data Association)アルゴリズムに基づいて、学習される。
【先行技術文献】
【特許文献】
【0034】
【発明の概要】
【発明が解決しようとする課題】
【0035】
しかしながら、上述した従来技術では、自然言語モデルと分類モデルとを接続した機械学習モデルの訓練を行う場合、機械学習モデルのわずかな層のパラメータしか更新されない。
【0036】
たとえば、
図11に示した機械学習モデル25では、プロジェクションマトリックスAを学習するために、X
sの値を固定している。そして、X
sの値を固定するために、自然言語モデル20のパラメータを固定しており、分類モデル21のパラメータしか更新されていない。そうすると、分類モデル21の入力側のドメインのデータ分布と、分類モデル21の出力側のドメインのデータ分布との差が十分に計算できず、機械学習モデル25の性能が劣化する。
【0037】
なお、単純に、自然言語モデル20のパラメータを更新すると、Xsの値が固定されず、プロジェクションマトリックスAを学習することができなくなる。
【0038】
1つの側面では、本発明は、自然言語モデルと分類モデルとを接続した機械学習モデル全体のパラメータを更新できる機械学習プログラム、機械学習方法および情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0039】
第1の案では、コンピュータに次の処理を実行させる。コンピュータは、自然言語処理モデルと分類モデルとを組み合わせた機械学習モデルの機械学習処理を実行する場合に、機械学習処理のn番目のイテレーションにおけるプロジェクションマトリックスを取得する。プロジェクトマトリックスは、自然言語処理モデルから分類モデルに入力される入力データと、前記分類モデルから出力される出力データとの対応関係を示す。コンピュータは、自然言語処理モデルのパラメータを更新する。コンピュータは、プロジェクションマトリックスを用いて、分類モデルのパラメータを更新する。コンピュータは、機械学習処理のn+1番目のイテレーションにおいて、次の処理を実行する。コンピュータは、更新した自然言語処理モデルから更新した前記分類モデルに入力される入力データと、更新した分類モデルから出力される出力データとの対応関係を示す新たなプロジェクションマトリックスを取得する。
【発明の効果】
【0040】
自然言語モデルと分類モデルとを接続した機械学習モデル全体のパラメータを更新できる。
【図面の簡単な説明】
【0041】
【
図1】
図1は、本実施例に係る情報処理装置の処理を説明するための図である。
【
図2】
図2は、本実施例に係る情報処理装置の効果を説明するための図である。
【
図3】
図3は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。
【
図4】
図4は、機械学習モデルの機械学習処理の処理手順を示すフローチャートである。
【
図5】
図5は、実施例の情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【
図6】
図6は、各ドメインのデータ分布の一例を示す図である。
【
図7】
図7は、ドメイン適応の従来技術を説明するための図である。
【
図8】
図8は、データ分類で起こす問題を説明するための図である。
【
図9】
図9は、Domain discrepancyによるドメイン適応の一例を示す図(1)である。
【
図10】
図10は、Domain discrepancyによるドメイン適応の一例を示す図(2)である。
【
図11】
図11は、従来の機械学習モデルの機械学習処理を説明するための図である。
【発明を実施するための形態】
【0042】
以下に、本願の開示する機械学習プログラム、機械学習方法および情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例0043】
図1は、本実施例に係る情報処理装置の処理を説明するための図である。
図1に示すように、情報処理装置は、機械学習モデル55を有する。機械学習モデル55は、自然言語モデル50と、分類モデル51とを有する。自然言語モデル50の出力結果が、分類モデル51に入力される。
【0044】
自然言語モデル50は、BERT等の言語モデルである。自然言語モデル50に、複数の単語を含む文のデータ50aを入力すると、自然言語モデル50から、Xsが出力される。たとえば、Xsは、文に含まれる各単語のベクトル等である。
【0045】
分類モデル51は、FNN等の分類モデルである。分類モデル51に自然言語モデル50の出力結果(たとえば、Xs)を入力すると、分類モデル51からラベル「Y’s」が出力される。
【0046】
情報処理装置は、次のように、機械学習モデル55の機械学習処理を実行する。情報処理装置は、n番目のiterationにおいて、自然言語モデル50を訓練する。自然言語モデル50の訓練は、予め準備した学習データを用いた教師なし学習である。たとえば、教師なし学習で利用する学習データは、Sourceドメインに属する文のデータである。n番目のiterationにおいて訓練した自然言語モデル50を「自然言語モデル50-n」と表記する。
【0047】
また、情報処理装置は、n番目のiterationにおいて、分類モデル51を訓練する。分類モデル51の訓練は、入力「Xs」と、正解ラベル「Ys」とが定義された学習データを用いた教師あり学習である。情報処理装置は、Xs(自然言語モデル50-nの出力)を、分類モデル51に入力し、分類モデル51から出力されるラベル「Y’s」と、正解ラベル「Ys」とのLossが小さくなるように、分類モデル51を訓練する。
【0048】
情報処理装置は、Xs(自然言語モデル50-nからの出力)と、分類モデル51の出力Y’sとの対応関係から、プロジェクションマトリックスAnを学習する。
【0049】
また、情報処理装置は、予め準備する「Xt」を用いて、分類モデル51を訓練する。「Xt」に対応する正解ラベル「Yt」は事前準備されないため、プロジェクションマトリックスAnと、「Yt=A(AT)×Xt」との関係を用いて、正解ラベル「Yt」を算出する。情報処理装置は、Xtを、分類モデル51に入力し、分類モデル51から出力される「Y’t」と、正解ラベル「Yt」とのLossが小さくなるように、分類モデル51を訓練する。n番目のiterationにおいて訓練した分類モデル51を「分類モデル51-n」と表記する。
【0050】
上記のn番目のiterationにおいて、プロジェクションマトリックスAn、自然言語モデル50-n、分類モデル51-nの学習が実行される。
【0051】
続いて、情報処理装置は、n+1番目のiterationにおいて、自然言語モデル50-nを訓練する。n+1番目のiterationにおいて訓練した自然言語モデル50を「自然言語モデル50-n+1」と表記する。
【0052】
情報処理装置は、n+1番目のiterationにおいて、分類モデル51-nを訓練する。情報処理装置は、Xs(自然言語モデル50-n+1の出力)を、分類モデル51-nに入力し、分類モデル51から出力される「Y’s」と、正解ラベル「Ys」とのLossが小さくなるように、分類モデル51-nを訓練する。
【0053】
情報処理装置は、Xs(自然言語モデル50-n+1からの出力)と、分類モデル51-nの出力Y’sとの対応関係から、プロジェクションマトリックスAn+1を学習する。
【0054】
また、情報処理装置は、予め準備する「Xt」を用いて、分類モデル51-nを訓練する。「Xt」に対応する正解ラベル「Yt」は事前準備されないため、プロジェクションマトリックスAn+1と、「Yt=A(AT)×Xt」との関係を用いて、正解ラベル「Yt」を算出する。情報処理装置は、Xtを、分類モデル51-nに入力し、分類モデル51-nから出力される「Y’t」と、正解ラベル「Yt」とのLossが小さくなるように、分類モデル51-nを訓練する。n+1番目のiterationにおいて訓練した分類モデル51を「分類モデル51-n+1」と表記する。
【0055】
上記のn+1番目のiterationにおいて、プロジェクションマトリックスAn+1、自然言語モデル50-n+1、分類モデル51-n+1の学習が実行される。
【0056】
情報処理装置は、n+1番目以降のiterationについても、上記処理を繰り返し実行することで、iteration毎の自然言語モデル50、分類モデル51を訓練する。
【0057】
上記のように、本実施例に係る情報処理装置は、n番目のiterationにおいて、自然言語モデル50、分類モデル51を訓練し、分類モデル51-nの入力と出力との関係から、プロジェクションマトリックスAnを学習する。情報処理装置は、n+1番目のiterationにおいて、自然言語モデル50-n、分類モデル51-nを訓練し、分類モデル51-n+1の入力と出力との関係から、プロジェクションマトリックスAn+1を学習する。これによって、機械学習モデル25全体のパラメータを更新しつつ、プロジェクションマトリックスAを学習できる。また、機械学習モデル55全体を更新できるため、
図11で説明した機械学習モデル25と比較して、性能を向上させることができる。
【0058】
図2は、本実施例に係る情報処理装置の効果を説明するための図である。
図2に示す例では、ドメインを「Electronic medical records domain」および「Disease explanation documents domain」とする。また、クラスを「Person」および「B-Disease」が存在する。文15を「Behcet's disease is globalized and infectious.」とする。
【0059】
たとえば、文15と、「Person」に属する文とが類似し、また、文15と、「B-Disease」に属する文とが類似していても、
図1の機械学習処理によって、適切なクラスに分類することができる。上記の機械学習処理によって、文15の「Behcet's」が患者の名前であることが分かっているとすると、文15を、機械学習モデル55に入力することで、クラス「Person」が出力される。すなわち、機械学習モデル25の性能が向上し、ドメイン適応を適切に実行することができる。
【0060】
次に、
図1に示した処理を実行する情報処理装置の構成例について説明する。
図3は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。
図2に示すように、この情報処理装置100は、通信部110と、入力部120と、表示部130と、記憶部140と、制御部150とを有する。
【0061】
通信部110は、ネットワークを介して、外部装置等との間でデータ通信を実行する。後述する制御部150は、通信部110を介して、外部装置との間でデータをやり取りする。
【0062】
入力部120は、情報処理装置100の制御部150に各種の情報を入力する入力装置である。入力部120は、キーボードやマウス、タッチパネル等に対応する。
【0063】
表示部130は、制御部150から出力される情報を表示する表示装置である。
【0064】
記憶部140は、機械学習モデル55、自然言語モデル学習データセット141、分類モデル学習データセット142を有する。記憶部140は、メモリなどの記憶装置である。
【0065】
機械学習モデル55には、自然言語モデル50と、分類モデル51とが含まれる。自然言語モデル50は、BERT等の言語モデルである。分類モデル51は、FNN等の分類モデルである。
【0066】
自然言語モデル学習データセット141には、自然言語モデル50を訓練するためのデータが含まれる。たとえば、自然言語モデル学習データセットには、Sourceドメインに属する複数の文のデータが含まれる。
【0067】
分類モデル学習データセット142には、複数の学習データが含まれる。各学習データには、機械学習モデル55に入力する入力データと、正解ラベル(Ys)との組が設定される。また、分類モデル学習データセット142には、上記の学習データとは別に、複数のXtのデータが設定されていてもよい。
【0068】
制御部150は、取得部151と、自然言語モデル学習部152と、マトリックス計算部153と、分類モデル学習部154と、推定部155とを有する。制御部150は、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等である。
【0069】
取得部151は、外部装置等から各種のデータを取得する。たとえば、取得部151は、自然言語モデル学習データセット141、分類モデル学習データセット142等を、外部装置から取得し、記憶部140に登録する。
【0070】
自然言語モデル学習部152は、自然言語モデル学習データセット141を基にして、自然言語モデル50を訓練する(自然言語モデル50のパラメータを更新する)。たとえば、自然言語モデル学習部152は、文を、自然言語モデル50に入力し、教師なし学習を実行する。
【0071】
マトリックス計算部153は、分類モデル51に入力されるXsと、分類モデル51から出力されるYsとの関係を基にして、プロジェクションマトリックスAを計算する。
【0072】
分類モデル学習部154は、分類モデル学習データセット142を基にして、分類モデル51を訓練する(分類モデル51のパラメータを更新する)。たとえば、分類モデル学習部154は、入力データを、自然言語モデル50に入力することで得られるXsを、分類モデル51に入力する。分類モデル学習部154は、分類モデル51から出力されるラベル「Y’s」と、正解ラベル「Ys」とのLossが小さくなるように、分類モデル51のパラメータを更新する。
【0073】
また、分類モデル学習部154は、「Xt」を用いて、分類モデル51を訓練する。分類モデル学習部154は、「Xt」に対応する正解ラベル「Yt」は事前準備されないため、プロジェクションマトリックスAと、「Yt=A(AT)×Xt」との関係を用いて、正解ラベル「Yt」を算出する。分類モデル学習部154は、Xtを、分類モデル51に入力し、分類モデル51から出力される「Y’t」と、正解ラベル「Yt」とのLossが小さくなるように、分類モデル51のパラメータを更新する。
【0074】
推定部155は、訓練済みの機械学習モデル55を基にして、文の属するクラスを推定する。たとえば、推定部155は、入力部120から、文のデータを取得する。推定部155は、取得した文のデータを、機械学習モデル55に入力し、分類結果を得る。推定部155は、分類結果を、表示部130に表示させる。
【0075】
次に、本実施例に係る情報処理装置100の処理手順の一例について説明する。たとえば、上述した自然言語モデル学習部152、マトリックス計算部153、分類モデル学習部154は、
図4に示す処理手順によって、機械学習モデル55の機械学習処理を実行する。
【0076】
図4は、機械学習モデルの機械学習処理の処理手順を示すフローチャートである。
図4に示すように、情報処理装置100は、iteration N=1に設定する(ステップS101)。情報処理装置100の自然言語モデル学習部152は、自然言語モデル学習データセット141を基にして、自然言語モデル50を訓練する(ステップS102)。
【0077】
情報処理装置100の分類モデル学習部154は、分類モデル学習データセット142を基にして、分類モデル51を訓練する(ステップS103)。
【0078】
情報処理装置100のマトリックス計算部153は、分類モデル51への入力Xsと、分類モデル51の出力Y’sとの関係を基にして、プロジェクションマトリックスAを計算する(ステップS104)。
【0079】
分類モデル学習部154は、分類モデル51への入力Xtと、プロジェクションマトリックスAとを基にして、入力Xtと、を算出する(ステップS105)。分類モデル学習部154は、Xtを分類モデル51を入力した際のラベルY’tと、正解ラベルYtとのLossが小さくなるように、分類モデル51を訓練する(ステップS106)。
【0080】
情報処理装置100は、機械学習処理を継続する場合には(ステップS107,Yes)、Nに1を加算し(ステップS108)、ステップS102に移行する。一方、情報処理装置100は、機械学習処理を継続しない場合には(ステップS107,No)、処理を終了する。
【0081】
次に、本実施例に係る情報処理装置100の効果について説明する。情報処理装置100は、n番目のiterationにおいて、自然言語モデル50、分類モデル51を訓練し、分類モデル51-nの入力と出力との関係から、プロジェクションマトリックスAnを学習する。情報処理装置100は、n+1番目のiterationにおいて、自然言語モデル50-n、分類モデル51-nを訓練し、分類モデル51-n+1の入力と出力との関係から、プロジェクションマトリックスAn+1を学習する。これによって、機械学習モデル25全体のパラメータを更新しつつ、プロジェクションマトリックスAを学習できる。
【0082】
情報処理装置100は、プロジェクションマトリックスAと、「Yt=A(AT)×Xt」との関係を用いて、正解ラベル「Yt」を算出する。これによって、「Xt」に対応する正解ラベル「Yt」は事前準備されない場合でも、分類モデル51を訓練することができる。
【0083】
情報処理装置100は、「Xt」を、分類モデル51に入力し、分類モデル51から出力される「Y’t」と、正解ラベル「Yt」とのLossが小さくなるように、分類モデル51のパラメータを更新する。これによって、機械学習モデル55の精度を向上させることができる。
【0084】
次に、上述した情報処理装置100と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。
図5は、実施例の情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【0085】
図6に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、ユーザからのデータの入力を受け付ける入力装置202と、ディスプレイ203とを有する。また、コンピュータ200は、有線または無線ネットワークを介して、外部装置等との間でデータの授受を行う通信装置204と、インタフェース装置205とを有する。また、コンピュータ200は、各種情報を一時記憶するRAM206と、ハードディスク装置207とを有する。そして、各装置201~207は、バス208に接続される。
【0086】
ハードディスク装置207は、取得プログラム207a、自然言語モデル学習プログラム207b、マトリックス計算プログラム207c、分類モデル学習プログラム207d、推定プログラム207eを有する。また、CPU201は、各プログラム207a~207eを読み出してRAM206に展開する。
【0087】
取得プログラム207aは、取得プロセス206aとして機能する。自然言語モデル学習プログラム207bは、自然言語モデル学習プロセス206bとして機能する。マトリックス計算プログラム207cは、マトリックス計算プロセス206cとして機能する。分類モデル学習プログラム207dは、分類モデル学習プロセス206dとして機能する。推定プログラム207eは、推定プロセス206eとして機能する。
【0088】
取得プロセス206aの処理は、取得部151の処理に対応する。自然言語モデル学習プロセス206bの処理は、自然言語モデル学習部152の処理に対応する。マトリックス計算プロセス206cの処理は、マトリックス計算部153の処理に対応する。分類モデル学習プロセス206dの処理は、分類モデル学習部154の処理に対応する。推定プロセス206eの処理は、推定部155の処理に対応する。
【0089】
なお、各プログラム207a~207eについては、必ずしも最初からハードディスク装置207に記憶させておかなくても良い。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD-ROM、DVD、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ200が各プログラム207a~207eを読み出して実行するようにしてもよい。
【0090】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【0091】
(付記1)自然言語処理モデルと分類モデルとを組み合わせた機械学習モデルの機械学習処理を実行する場合に、
前記機械学習処理のn番目のイテレーションにおいて取得されたプロジェクションマトリックスであって、前記自然言語処理モデルから前記分類モデルに入力される入力データと、前記分類モデルから出力される出力データとの対応関係を示す前記プロジェクションマトリックスを取得し、
前記自然言語処理モデルのパラメータを更新し、
前記プロジェクションマトリックスを用いて、前記分類モデルのパラメータを更新し、
前記機械学習処理のn+1番目のイテレーションにおいて、更新した前記自然言語処理モデルから更新した前記分類モデルに入力される入力データと、更新した前記分類モデルから出力される出力データとの対応関係を示す新たなプロジェクションマトリックスを取得する
処理をコンピュータに実行させることを特徴とする機械学習プログラム。
【0092】
(付記2)前記分類モデルへの入力データと、前記プロジェクションマトリックスを基にして、前記分類モデルからの出力データを算出する処理を更にコンピュータに実行させることを特徴とする付記1に記載の機械学習プログラム。
【0093】
(付記3)前記分類モデルのパラメータを更新する処理は、前記分類モデルに入力データを入力した際に前記分類モデルから出力される出力データと、前記算出された出力データとの誤差を基にして、前記分類モデルのパラメータを更新することを特徴とする付記2に記載の機械学習プログラム。
【0094】
(付記4)自然言語処理モデルと分類モデルとを組み合わせた機械学習モデルの機械学習処理を実行する場合に、
前記機械学習処理のn番目のイテレーションにおいて取得されたプロジェクションマトリックスであって、前記自然言語処理モデルから前記分類モデルに入力される入力データと、前記分類モデルから出力される出力データとの対応関係を示す前記プロジェクションマトリックスを取得し、
前記自然言語処理モデルのパラメータを更新し、
前記プロジェクションマトリックスを用いて、前記分類モデルのパラメータを更新し、
前記機械学習処理のn+1番目のイテレーションにおいて、更新した前記自然言語処理モデルから更新した前記分類モデルに入力される入力データと、更新した前記分類モデルから出力される出力データとの対応関係を示す新たなプロジェクションマトリックスを取得する
処理をコンピュータが実行することを特徴とする機械学習方法。
【0095】
(付記5)前記分類モデルへの入力データと、前記プロジェクションマトリックスを基にして、前記分類モデルからの出力データを算出する処理を更にコンピュータに実行させることを特徴とする付記4に記載の機械学習方法。
【0096】
(付記6)前記分類モデルのパラメータを更新する処理は、前記分類モデルに入力データを入力した際に前記分類モデルから出力される出力データと、前記算出された出力データとの誤差を基にして、前記分類モデルのパラメータを更新することを特徴とする付記5に記載の機械学習方法。
【0097】
(付記7)自然言語処理モデルと分類モデルとを組み合わせた機械学習モデルの機械学習処理を実行する場合に、
前記機械学習処理のn番目のイテレーションにおいて取得されたプロジェクションマトリックスであって、前記自然言語処理モデルから前記分類モデルに入力される入力データと、前記分類モデルから出力される出力データとの対応関係を示す前記プロジェクションマトリックスを取得し、
前記自然言語処理モデルのパラメータを更新し、
前記プロジェクションマトリックスを用いて、前記分類モデルのパラメータを更新し、
前記機械学習処理のn+1番目のイテレーションにおいて、更新した前記自然言語処理モデルから更新した前記分類モデルに入力される入力データと、更新した前記分類モデルから出力される出力データとの対応関係を示す新たなプロジェクションマトリックスを取得する
処理を実行する制御部を有する情報処理装置。
【0098】
(付記8)前記制御部は、前記分類モデルへの入力データと、前記プロジェクションマトリックスを基にして、前記分類モデルからの出力データを算出する処理を更に実行することを特徴とする付記7に記載の情報処理装置。
【0099】
(付記9)前記分類モデルのパラメータを更新する処理は、前記分類モデルに入力データを入力した際に前記分類モデルから出力される出力データと、前記算出された出力データとの誤差を基にして、前記分類モデルのパラメータを更新することを特徴とする付記8に記載の情報処理装置。