(57)【要約】【課題】モデルの分類精度を改善する。【解決手段】本願に係る生成装置は、深層学習装置において、複数のレイヤを有し、各レイヤに含まれる複数のノードを接続した第１モデルであって、所定の入力情報が入力された場合に、当該入力情報と対応する出力情報を出力するように学習が行われた第１モデルを取得する取得部と、前記取得部により取得された第１モデルのうち、所定の第１レイヤと当該第１レイヤに隣接する第２レイヤとに含まれるノード間の接続をずらすことで、前記第１モデルを可塑変形させた第２モデルを生成する生成部とを有することを特徴とする。【選択図】図１
2019200743.tif 000002
【特許請求の範囲】
【請求項１】
深層学習装置において、複数のレイヤを有し、各レイヤに含まれる複数のノードを接続した第１モデルであって、所定の入力情報が入力された場合に、当該入力情報と対応する出力情報を出力するように学習が行われた第１モデルを取得する取得部と、
前記取得部により取得された第１モデルのうち、所定の第１レイヤと当該第１レイヤに隣接する第２レイヤとに含まれるノード間の接続をずらすことで、前記第１モデルを可塑変形させた第２モデルを生成する生成部と
を有することを特徴とする生成装置。
【請求項２】
前記生成部は、前記第１レイヤに含まれるノードと前記第２レイヤに含まれるノードとを接続する接続経路のうち、接続係数が所定の条件を満たす接続経路を特定し、特定した接続経路が接続するノードの一方を他のノードに変更することで、前記第２モデルを生成する
ことを特徴とする請求項１に記載の生成装置。
【請求項３】
前記生成部は、前記接続係数が所定の閾値を下回る接続経路を特定する
ことを特徴とする請求項２に記載の生成装置。
【請求項４】
前記生成部は、特定した接続経路が接続する２つのノードのうち、前記出力情報を出力する出力レイヤ側のレイヤに含まれるノードを、同じレイヤに含まれる他のノードに変更する
ことを特徴とする請求項２または３に記載の生成装置。
【請求項５】
前記生成部は、特定した接続経路が接続する２つのノードのうち、前記出力情報を出力する出力レイヤ側のレイヤに含まれるノードを、当該ノードと隣接する他のノードに変更する
ことを特徴とする請求項４に記載の生成装置。
【請求項６】
生成装置が実行する生成方法であって、
深層学習装置において、複数のレイヤを有し、各レイヤに含まれる複数のノードを接続した第１モデルであって、所定の入力情報が入力された場合に、当該入力情報と対応する出力情報を出力するように学習が行われた第１モデルを取得する取得工程と、
前記取得工程により取得された第１モデルのうち、所定の第１レイヤと当該第１レイヤに隣接する第２レイヤとに含まれるノード間の接続をずらすことで、前記第１モデルを可塑変形させた第２モデルを生成する生成工程と
を含むことを特徴とする生成方法。
【請求項７】
深層学習装置において、複数のレイヤを有し、各レイヤに含まれる複数のノードを接続した第１モデルであって、所定の入力情報が入力された場合に、当該入力情報と対応する出力情報を出力するように学習が行われた第１モデルを取得する取得手順と、
前記取得手順により取得された第１モデルのうち、所定の第１レイヤと当該第１レイヤに隣接する第２レイヤとに含まれるノード間の接続をずらすことで、前記第１モデルを可塑変形させた第２モデルを生成する生成手順と
をコンピュータに実行させるための生成プログラム。
【請求項８】
深層学習装置において、複数のレイヤを有し、各レイヤに含まれる複数のノードを接続した第１モデルであって、所定の入力情報が入力された場合に、当該入力情報と対応する出力情報を出力するように学習が行われた第１モデルを取得する取得工程と、
前記取得工程により取得された第１モデルのうち、所定の第１レイヤと当該第１レイヤに隣接する第２レイヤとに含まれるノード間の接続をずらすことで、前記第１モデルを可塑変形させた第２モデルを生成する生成工程と
を含むことを特徴とする生成方法で生成されるモデルの情報を含むプログラムパラメータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、生成装置、生成方法、生成プログラムおよびプログラムパラメータに関する。
【背景技術】
【０００２】
従来、複数のノードを有するレイヤを多段に接続したモデルを用いて、入力情報の分類を実行させるＤＮＮ（Deep  Neural  Network）の技術が知られている。例えば、モデルに対して所定の入力情報を入力した際に、モデルの出力が入力情報と対応する出力情報に近づくようにモデルの学習を行うことで、所望の特徴に応じて入力情報を分類するようモデルの学習を行う技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−００６６１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した技術では、モデルの分類精度を向上させる余地がある。
【０００５】
例えば、上述した技術では、入力情報が有する特徴に偏りが含まれる場合や、学習時に用いる情報の数が少ない場合は、過学習と呼ばれる現象が発生し、分類精度が極小値に陥る恐れがある。
【０００６】
本願は、上記に鑑みてなされたものであって、モデルの分類精度を改善することを目的とする。
【課題を解決するための手段】
【０００７】
本願に係る生成装置は、深層学習装置において、複数のレイヤを有し、各レイヤに含まれる複数のノードを接続した第１モデルであって、所定の入力情報が入力された場合に、当該入力情報と対応する出力情報を出力するように学習が行われた第１モデルを取得する取得部と、前記取得部により取得された第１モデルのうち、所定の第１レイヤと当該第１レイヤに隣接する第２レイヤとに含まれるノード間の接続をずらすことで、前記第１モデルを可塑変形させた第２モデルを生成する生成部とを有することを特徴とする。
【発明の効果】
【０００８】
実施形態の一態様によれば、モデルの分類精度を改善することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態に係る生成装置が実行する処理の一例を示す図である。
【図２】図２は、実施形態に係る生成装置の構成例を示す図である。
【図３】図３は、実施形態に係る学習データデータベースに登録される情報の一例を示す図である。
【図４】図４は、実施形態に係る生成装置が生成するモデルの一例を示す図である。
【図５】図５は、実施形態に係る生成処理の流れの一例を説明するフローチャートである。
【図６】図６は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下に、本願に係る生成装置、生成方法、生成プログラムおよびプログラムパラメータを実施するための形態（以下、「実施形態」と記載する。）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る生成装置、生成方法、生成プログラムおよびプログラムパラメータが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【００１１】
［実施形態］
〔１−１．生成装置の一例〕
まず、図１を用いて、生成装置が実行する処理の一例について説明する。なお、以下の説明では、生成装置が実行する処理の一例として、入力された情報を所定の特徴に基づいて分類するモデルの学習を行う処理の一例について記載するが、実施形態は、これに限定されるものではない。例えば、生成装置１０は、単語、文章、音声データ、ナレッジデータベースのデータ、利用者に関する各種の利用者情報等、任意の情報に対して各種の処理を実行するモデルの学習に以下の生成処理を適用して良い。
【００１２】
図１は、実施形態に係る生成装置が実行する処理の一例を示す図である。図１では、生成装置１０は、以下に説明する生成処理を実行する情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。
【００１３】
より具体的には、生成装置１０は、インターネット等の所定のネットワークＮを介して、入出力装置１００（例えば、図２を参照）や情報管理装置１１０といった任意の装置と通信が可能である。
【００１４】
入出力装置１００は、マイクなどの音声を取得する音声取得装置を用いて、利用者の発言を取得する。そして、入出力装置１００は、任意の音声認識技術を用いて、発言をテキストデータに変換し、変換後のテキストデータを生成装置１０へと送信する。また、入出力装置１００は、スピーカ等の音声を出力する装置を用いて、生成装置１０から受信したテキストデータの読み上げを行う。なお、入出力装置１００は、生成装置１０から受信したテキストデータを所定の表示装置に表示してもよい。
【００１５】
なお、入出力装置１００は、スマートフォンやタブレット等のスマートデバイス、デスクトップＰＣ（Personal  Computer）やノートＰＣ等、サーバ装置等の情報処理装置により実現される。なお、入出力装置１００は、例えば、同一の情報処理装置によって実現されてもよく、例えば、ロボット等の装置によって実現されてもよい。
【００１６】
情報管理装置１１０は、各種の情報を管理する情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。例えば、情報管理装置１１０は、学習データとして利用可能な各種の文章データを保持している。より具体的な例を挙げると、情報管理装置１１０は、文章のテキストデータと、そのテキストデータを入力した際にモデルに出力させたい情報（以下、「対応情報」と記載する。）とを対応付けて管理しており、生成装置１０の要求に応じて学習データを生成装置１０に提供する。
【００１７】
〔１−２．生成装置の処理について〕
近年、モデルとして、複数のノードを含むレイヤを多段に設定し、各レイヤ間のノードを接続経路を介して接続するとともに、接続経路に種々の接続係数を設定したＤＮＮの技術が知られている。また、このようなＤＮＮ以外にも、ＲＮＮ（Reccurent  Neural  Network）、ＬＳＴＭ（Long  short-term  memory）、ＣＮＮ（Convolutional  Neural  Network）、ＤＳＳＭ（Deep  Structured  Semantic  Models）といった、ノードを含むレイヤを多段に設定した各種のモデルが知られている。
【００１８】
このような各種のモデルは、入力層、中間層（隠れ層）、および出力層と呼ばれるレイヤを有し、入力層から入力された情報（すなわち、入力情報）を各接続経路を伝播させながら出力層まで伝達する。この際、各接続経路に設定された接続係数に基づいた演算処理を実行することで、モデルは、入力情報に対応する出力情報を生成する。
【００１９】
ここで、ある入力情報を入力した際にモデルが出力した出力情報と入力情報に対応する対応情報とを比較し、出力情報が対応情報に近づくようにモデルが有する接続係数を修正することで、入力情報が有する所定の特徴をモデルに学習させることができる。例えば、このような学習を行うことで、入力情報が所定の特徴を有しているか否か、入力情報がどの分野に属する情報であるか等、入力情報の各種分類を実現するモデルの学習を行うことができる。
【００２０】
しかしながら、このような学習を行ったモデルは、分類精度に向上の余地が生じる場合がある。例えば、モデルの学習に用いた学習データに偏りが存在する場合や、学習データの量が十分ではない場合、特定の特徴が過剰に学習される過学習が生じ、分類精度が極小値に陥る恐れがある。このような場合、入力情報とは異なる傾向の情報を適切に分類することができなくなる。
【００２１】
そこで、生成装置１０は、以下の生成処理を実行する。まず、生成装置１０は、複数のレイヤを有し、各レイヤに含まれる複数のノードを接続した第１モデルＭ１０であって、所定の入力情報が入力された場合に、入力情報と対応する出力情報を出力するように学習が行われた第１モデルＭ１０を取得する。そして、生成装置１０は、第１モデルＭ１０のうち、所定の第１レイヤと第１レイヤに隣接する第２レイヤとに含まれるノード間の接続をずらすことで、第１モデルＭ１０を可塑変形させた第２モデルＭ２０を生成する。
【００２２】
例えば、生成装置１０は、第１レイヤに含まれるノードと第２レイヤに含まれるノードとを接続する接続経路のうち、接続係数が所定の条件を満たす接続経路を特定し、特定した接続経路が接続するノードの一方を他のノードに変更することで、第２モデルＭ２０を生成する。例えば、生成装置１０は、接続係数が所定の閾値を下回る接続経路を特定し、特定した接続経路が接続する２つのノードのうち、出力情報を出力する出力レイヤ側のレイヤに含まれるノードを、同じレイヤに含まれる他のノードに変更する。より具体的な例を挙げると、生成装置１０は、特定した接続経路が接続する２つのノードのうち、出力情報を出力する出力レイヤ側のレイヤに含まれるノードを、ノードと隣接する他のノードに変更する。
【００２３】
すなわち、生成装置１０は、学習が行われた第１モデルＭ１０において、あるレイヤの層をずらすことで、過学習を防ぐ。例えば、ＤＮＮ等のモデルにおいてあるレイヤ感の接続係数を変化させた場合、所定の特徴を有する複数の入力情報に対して、第２モデルＭ２０が出力する対応情報の確率分布に幅を生じさせることとなる。この結果、第１モデルＭ１０の分類精度が過学習により極小値に陥ってたとしても、第２モデルＭ２０が第１モデルＭ１０よりも精度よく入力情報の分類を行う可能性を生じさせることができる。
【００２４】
〔１−３．生成装置の一例について〕
以下、図１を用いて、生成装置１０が実行する処理の一例について説明する。まず、生成装置１０は、情報管理装置１１０から学習データを取得する（ステップＳ１）。例えば、生成装置１０は、入力情報と対応情報との組を取得する。このような場合、生成装置１０は、第１モデルＭ１０の学習を行う（ステップＳ２）。
【００２５】
例えば、生成装置１０は、入力情報を入力する入力装置と、複数の中間層と、入力情報に対する出力情報を出力する出力層とを有し、各層に含まれるノード間を所定の接続係数が設定された接続経路で接続する第１モデルＭ１０を生成する。また、生成装置１０は、入力層に対し、入力情報を入力し、各層に入力情報に応じた値を伝播させることで、出力層から出力情報を得る。そして、生成装置１０は、出力情報が、入力された入力情報と組を成す対応情報に近づくように、第１モデルＭ１０が有する接続係数の値を修正することで、入力情報が有する特徴を第１モデルＭ１０に学習させる。すなわち、生成装置１０は、第１モデルＭ１０の深層学習を実行する。
【００２６】
ここで、物体を構成する原子や分子（以下、「構成要素」と総称する。）にノードを見立てると、各ノード間の接続係数は、構成要素間の接続の強さと見做すことができる。ここで、物体に外力が加わった場合は、物体が可塑変形することとなるが、このような可塑変形が発生する部分は、構成要素間の接続が弱い部分であると考えられる。一方で、モデルの精度を考慮した場合、接続係数が大きいものを増やし、接続係数が小さいものを増やせば、精度が向上するとも考えられる。
【００２７】
そこで、生成装置１０は、第１モデルＭ１０を可塑変形させた第２モデルＭ２０を生成する。例えば、生成装置１０は、第１レイヤのノードと第２レイヤのノードとを接続する接続経路のうち、接続係数が所定の閾値に満たないものを特定する（ステップＳ３）。例えば、生成装置１０は、複数の中間層から、隣接するレイヤＬ１とレイヤＬ２とを選択する。続いて、生成装置１０は、レイヤＬ１に含まれるノードとレイヤＬ２に含まれるノードとを接続する接続経路のうち、接続係数が所定の閾値に満たない接続経路を特定する。
【００２８】
例えば、図１に示す例では、レイヤＬ１に含まれるノードＮ１１〜Ｎ１７、およびレイヤＬ２に含まれるノードＮ２１〜Ｎ２７（およびＮ２８）を記載した。また、図１に示す例では、接続係数が所定の閾値を超える接続経路を実線で記載し、接続係数が所定の閾値に満たない接続経路を点線で示した。図１に示す例では、生成装置１０は、接続係数が所定の閾値に満たない接続経路として、ノードＮ１１とノードＮ２１を接続する接続経路、ノードＮ１２とノードＮ２３を接続する接続経路、ノードＮ１３とノードＮ２３を接続する接続経路、ノードＮ１５とノードＮ２５を接続する接続経路、ノードＮ１６とノードＮ２７を接続する接続経路、およびノードＮ１７とノードＮ２７を接続する接続経路を特定する。
【００２９】
そして、生成装置１０は、特定した接続経路をずらすことでモデルを可塑変形する（ステップＳ４）。例えば、生成装置１０は、接続係数が所定の閾値を超える接続経路を保持したまま、特定した接続経路が接続するノードをずらすことで、レイヤＬ１に対し、レイヤＬ２を所定の方向へずらす。例えば、生成装置１０は、特定したノードＮ１２とノードＮ２３を接続する接続経路のうち、ノードＮ２３をノードＮ２４に変更する。また、生成装置１０は、特定したノードＮ１３とノードＮ２３を接続する接続経路のうち、ノードＮ２３をノードＮ２４に変更する。また、生成装置１０は、特定したノードＮ１６とノードＮ２７を接続する接続経路のうち、ノードＮ２７をノードＮ２８に変更する。また、生成装置１０は、特定したノードＮ１７とノードＮ２７を接続する接続経路のうち、ノードＮ２７をノードＮ２８に変更する。なお、生成装置１０は、変更後の接続経路と同一の接続経路であって、接続係数が所定の閾値を超える接続経路が存在する場合は、特定した接続経路を削除する。
【００３０】
続いて、生成装置１０は、利用者から分類対象となる情報を取得する（ステップＳ５）。このような場合、生成装置１０は、可塑変形した第２モデルＭ２０を用いて、利用者から取得した情報の分類を実行する。例えば、生成装置１０は、図１に示すように、所定の中間層を端部として所定の可塑変形ＰＤを加えた第２モデルＭ２０を用いて、取得した情報の分類結果を取得する。そして、生成装置１０は、取得した分類結果を利用者に提供する（ステップＳ６）。
【００３１】
〔１−４．可塑変形について〕
上述した例では、生成装置１０は、レイヤＬ１に含まれるノードと、レイヤＬ２に含まれるノードとの接続を１つずつずらした。しかしながら、実施形態は、これに限定されるものではない。例えば、生成装置１０は、レイヤＬ１に含まれるノードと、レイヤＬ２に含まれるノードとの接続を任意の数だけずらしてもよい。
【００３２】
また、生成装置１０は、複数のレイヤ間の接続をずらすことで、モデルの可塑変形を実現してもよい。例えば、生成装置１０は、所定の第１レイヤと、第１レイヤに隣接する第２レイヤとの間の接続をずらし、かつ、所定の第３レイヤと、第３レイヤに隣接する第４レイヤとの間の接続をずらしてもよい。また、生成装置１０は、各レイヤ間において接続をずらす方向を変化させてもよい。
【００３３】
また、生成装置１０は、モデルを物体と見做し、物体を可塑変形させる仮想的な力を設定し、設定した仮想的な力に基づいて、レイヤ間の接続をずらす方向や量を設定してもよい。例えば、生成装置１０は、第１学習データを用いて、第１モデルＭ１０の学習を行う。続いて、生成装置１０は、第１モデルＭ１０が有する所定の中間レイヤを境界として所定の可塑変形を加えた第２モデルＭ２０を生成する。例えば、生成装置１０は、所定の方向にノードを１つだけずらした第２モデルＭ２０を生成する。
【００３４】
続いて、生成装置１０は、第２モデルＭ２０を用いて、第１学習データとは異なる第２学習データの分類を行い、分類精度を特定する。より具体的には、生成装置１０は、第１モデルＭ１０に対して学習させる特徴が顕著に表れた第１学習データを用いて第１モデルＭ１０を学習し、第１モデルＭ１０に対して学習させる特徴が、第１学習データよりもあまり表れていない第２学習データを用いて、第２モデルＭ２０の分類精度を特定する。換言すると、生成装置１０は、第１学習データよりも、特徴を示すデータの確率分布が広い第２学習データの分類精度を特定する。
【００３５】
そして、生成装置１０は、特定した分類精度が低いほど、より多くの数ノードをずらした第２モデルＭ２０を生成してもよい。例えば、生成装置１０は、第１モデルＭ１０が有する所定のレイヤ間において、所定の方向にノードを１つだけずらした第２モデルＭ２０を生成し、第２モデルＭ２０の分類精度が所定の閾値を下回る場合は、第２モデルＭ２０の所定のレイヤ感において、所定の方向にノードをさらに１つだけずらした新たなモデルを生成してもよい。また、生成装置１０は、新たなモデルを第２モデルＭ２０と見做すことで、再度分類精度を特定し、特定した分類精度に応じた量だけ第２モデルＭ２０を可塑変形させてもよい。
【００３６】
例えば、生成装置１０は、第１モデルＭ１０からそれぞれ異なる方向にそれぞれ異なる量だけ可塑変形を加えた複数の第２モデルＭ２０を生成し、生成した複数の第２モデルＭ２０のうち、最も分類精度が高い第２モデルＭ２０を特定する。そして、生成装置１０は、特定した第２モデルＭ２０を生成する際に適用した可塑変形をさらに進めるよう、第２モデルＭ２０をさらに可塑変形させてもよい。
【００３７】
また、生成装置１０は、可塑変形に対する分類精度の変化に応じて、可塑変形させる方向や量を設定してもよい。例えば、生成装置１０は、生成装置１０は、第１モデルＭ１０からそれぞれ異なる方向にそれぞれ異なる量だけ可塑変形を加えた複数の第２モデルＭ２０を生成し、生成した複数の第２モデルＭ２０の分類精度をそれぞれ特定する。また、生成装置１０は、各第２モデルＭ２０の分類精度と、各第２モデルＭ２０を生成する際に採用した可塑変形の量や方向との間の関係性に基づいて、最も分類精度が向上すると推定される可塑変形の量や方向を特定する。そして、生成装置１０は、第１モデルＭ１０を特定した方向に、特定した量だけ可塑変形させた第２モデルＭ２０を生成してもよい。
【００３８】
また、生成装置１０は、第１モデルＭ１０から、それぞれ異なるレイヤにおいて可塑変形させた複数の第２モデルＭ２０を生成し、生成した第２モデルＭ２０の分類精度に応じて、可塑変形を行うレイヤを決定してもよい。例えば、生成装置１０は、第１モデルＭ１０から、それぞれ異なるレイヤにおいて可塑変形させた複数の第２モデルＭ２０を生成し、生成した第２モデルＭ２０のうち、分類精度が最も高い第２モデルＭ２０を特定してもよい。
【００３９】
また、生成装置１０は、任意の次元での変形を第１モデルＭ１０に対して加えてもよい。例えば、生成装置１０は、第１モデルＭ１０の各ノードがｘ軸方向に１次元の列をなすように設定されている場合は、ｘ軸方向のいずれかの方向に接続をずらせばよい。また、例えば、生成装置１０は、第１モデルＭ１０の各ノードがｘ軸およびｙ軸方向に２次元の列をなすように設定されている場合は、ｘ軸方向およびｙ軸方向に接続をずらせばよい。
【００４０】
また、生成装置１０は、ノードを物体の構成要素と見做し、物体の物理的な各転位を再現するように、モデルの可塑変形を行ってもよい。例えば、生成装置１０は、刃状転位、らせん転位、交差すべり、複合転位等、各種の転位を再現するように、モデルが有するノード間の接続をずらすことで、モデルの可塑変形を実現させてもよい。
【００４１】
〔１−５．第２モデルについて〕
ここで、生成装置１０は、第２モデルＭ２０の再学習を行ってもよい。例えば、生成装置１０は、第１学習データを用いて第１モデルＭ１０の学習を行い、第１モデルＭ１０を可塑変形した第２モデルＭ２０を生成する。そして、生成装置１０は、第２学習データを用いて、第２モデルＭ２０の再学習を行い、再学習を行った第２モデルＭ２０を用いて、利用者から取得した情報の分類処理を行ってもよい。
【００４２】
また、例えば、生成装置１０は、第２モデルＭ２０の可塑変形と、再学習とを交互に実行してもよい。例えば、生成装置１０は、第２学習データを用いて、第２モデルＭ２０の再学習を行い、第２学習データよりも特徴を示すデータの確率分布が広い第３学習データを用いて、分類精度を特定する。そして、生成装置１０は、特定した分類精度が所定の閾値を下回る場合は、さらに第２モデルＭ２０を可塑変形させ、可塑変形後の第２モデルＭ２０を第３学習データを用いて再学習してもよい。
【００４３】
なお、生成装置１０は、第２モデルＭ２０を任意の目的で生成してもよい。例えば、生成装置１０は、第２モデルＭ２０を、第１モデルＭ１０の学習に用いた学習データとは異なる分野の情報を分類するためのモデルとして生成してもよい。例えば、生成装置１０は、医療分野の情報の特徴を第１モデルＭ１０に学習させた場合、第１モデルＭ１０を可塑変形させることで、薬学分野の情報の特徴を分類するための第２モデルＭ２０を生成してもよい。
【００４４】
なお、このように、第１モデルＭ１０に学習させる第１学習データが属する分野と、第２モデルＭ２０が分類する情報の分野とが異なる場合、分野間の類似性に応じた可塑変形を適用して良い。例えば、生成装置１０は、第１学習データが属する分野と、第２モデルＭ２０に分類させる情報の分野との類似性が低い程、より大きな量の可塑変形を適用してもよい。
【００４５】
なお、第１モデルＭ１０および第２モデルＭ２０は、入力された入力情報の分類結果を示す出力情報を出力する分類器として動作する。このような動作には、例えば、入力情報の特徴を示す分散表現の出力や、入力情報が有する特徴に応じた入力情報の変形等が含まれる。すなわち、第１モデルＭ１０および第２モデルＭ２０は、入力された入力情報が有する特徴に基づいて、入力情報を分類し、分類結果もしくは分類結果に応じた各種の情報を出力する分類器である。
【００４６】
〔２．生成装置の構成〕
以下、上記した提供処理を実現する生成装置１０が有する機能構成の一例について説明する。図２は、実施形態に係る生成装置の構成例を示す図である。図２に示すように、生成装置１０は、通信部２０、記憶部３０、および制御部４０を有する。
【００４７】
通信部２０は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。そして、通信部２０は、ネットワークＮと有線または無線で接続され、入出力装置１００との間で情報の送受信を行う。
【００４８】
記憶部３０は、例えば、ＲＡＭ（Random  Access  Memory)、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部３０は、学習データデータベース３１およびモデルデータベース３２を記憶する。
【００４９】
学習データデータベース３１には、学習データが登録される。例えば、図３は、実施形態に係る学習データデータベースに登録される情報の一例を示す図である。図３に示すように、学習データデータベース３１には、「入力情報」、「分野」、および「対応情報」といった情報が対応付けて登録されている。
【００５０】
ここで、「入力情報」とは、モデルに入力する情報のデータであり、例えば、単語、文章、音声等の各種データである。また、「分野」とは、対応付けられた入力情報が属する分野である。また、「対応情報」とは、対応付けられた「入力情報」を入力した場合に、モデルに出力させたい対象情報である。
【００５１】
例えば、図３に示す例では、入力情報「入力情報＃１」、分野「分野＃１」、および対応情報「対応情報＃１」が対応付けて登録されている。このような情報は、入力情報「入力情報＃１」が属する分野が「分野＃１」であり、入力情報「入力情報＃１」を第１モデルＭ１０に入力した際に、対応情報「対応情報＃１」が出力されるように、第１モデルＭ１０の学習が行われる旨を示す。
【００５２】
なお、図３に示す例では、「入力情報＃１」、「分野＃１」、「対応情報＃１」等といった概念的な値について記載したが、実際には、入力情報や対応情報となるデータ、および分野を示す文字列や数値等が登録されることとなる。また、図３に示す情報は、あくまで一例であり、学習データデータベース３１には、図３に示す情報以外にも任意の情報が登録されていてよい。
【００５３】
図２に戻り、説明を続ける。モデルデータベース３２は、生成装置１０が生成するモデルの情報が登録される。例えば、モデルデータベース３２には、第１モデルＭ１０や第２モデルＭ２０（以下、「各モデルＭ」と総称する場合がある。）のデータが登録される。より具体的には、記憶部３０には、各モデルＭを構成するノードの接続関係や、ノード間の重みである接続係数が登録される。ここで、各モデルＭは、例えば、人工知能ソフトウエアの一部であるプログラムモジュールとしての利用が想定される。
【００５４】
例えば、各モデルＭは、ある入力情報が入力された場合に、入力された情報と対応する出力情報を出力するように学習が行われたモデルである。例えば、記憶部３０には、複数のレイヤを有し、各レイヤに含まれる複数のノードを接続した第１モデルＭ１０であって、所定の入力情報が入力された場合に、入力情報と対応する出力情報を出力するように学習が行われた第１モデルＭ１０を取得し、取得された第１モデルＭ２０のうち、所定の第１レイヤと第１レイヤに隣接する第２レイヤとに含まれるノード間の接続をずらすことで、第１モデルＭ１０を可塑変形させた第２モデルＭ２０を生成する生成工程とを含むことを特徴とする生成方法で生成される第２モデルＭ２０の情報を含むプログラムパラメータが登録される。
【００５５】
また、各モデルＭがＤＮＮ（Deep  Neural  Network）等、１つまたは複数の中間層を有するニューラルネットワークで実現されるとする。この場合、各モデルＭが含む第１要素は、入力層または中間層が有するいずれかのノードに対応する。また、第２要素は、第１要素と対応するノードから値が伝達されるノードである次段のノードに対応する。また、第１要素の重みは、第１要素と対応するノードから第２要素と対応するノードに伝達される値に対して考慮される重みである接続係数に対応する。
【００５６】
生成装置１０は、上述した回帰モデルやニューラルネットワーク等、任意の構造を有するモデルを用いて、分散表現の算出を行う。具体的には、各モデルＭは、入力情報が入力された場合に、入力された情報の分類結果を示す出力情報を出力するように係数が設定される。
【００５７】
制御部４０は、コントローラ（controller）であり、例えば、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等のプロセッサによって、生成装置１０内部の記憶装置に記憶されている各種プログラムがＲＡＭ等を作業領域として実行されることにより実現される。また、制御部４０は、コントローラ（controller）であり、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されてもよい。また、例えば、制御部４０は、プログラムモジュールである各モデルＭ、もしくは、各モデルＭを含むプログラムモジュールが有する指示に従って、生成処理を実行することとなる。
【００５８】
図２に示すように、制御部４０は、学習部４１、取得部４２、生成部４３、および提供部４４を有する。学習部４１は、第１モデルＭ１０の学習を行う。例えば、学習部４１は、情報管理装置１１０から学習データを取得し、取得した学習データを学習データデータベース３１に登録する。
【００５９】
また、学習部４１は、ＤＮＮ等のモデルを第１モデルＭ１０として生成する。そして、学習部４１は、学習データデータベース３１に登録された学習データを用いて、第１モデルＭ１０の学習を行う。例えば、学習部４１は、学習データデータベース３１から、所定の分野に属する入力情報を抽出し、抽出した入力情報を第１モデルＭ１０に入力する。そして、学習部４１は、第１モデルＭ１０が出力した出力情報が、入力した入力情報に対応付けられた対応情報に近づくように、バックプロパゲーション等の学習手法を用いて、第１モデルＭ１０が有する接続係数を修正する。その後、学習部４１は、学習を行った第１モデルＭ１０をモデルデータベース３２に登録する。
【００６０】
取得部４２は、複数のレイヤを有し、各レイヤに含まれる複数のノードを接続した第１モデルＭ１０であって、所定の入力情報が入力された場合に、入力情報と対応する出力情報を出力するように学習が行われた第１モデルＭ１０を取得する。例えば、取得部４２は、モデルデータベース３２を参照し、第１モデルＭ１０を取得する。そして、取得部４２は、第１モデルＭ１０を生成部４３に提供する。
【００６１】
生成部４３は、第１モデルＭ１０のうち、所定の第１レイヤと第１レイヤに隣接する第２レイヤとに含まれるノード間の接続をずらすことで、第１モデルＭ１０を可塑変形させた第２モデルＭ２０を生成する。例えば、生成部４３は、第１レイヤに含まれるノードと第２レイヤに含まれるノードとを接続する接続経路のうち、接続係数が所定の条件を満たす接続経路を特定する。例えば、生成部４３は、接続係数が所定の閾値を下回る接続経路を特定する。そして、生成部４３は、特定した接続経路が接続するノードの一方を他のノードに変更することで、第２モデルを生成する。例えば、生成部４３は、特定した接続経路が接続する２つのノードのうち、出力情報を出力する出力レイヤ側のレイヤに含まれるノードを、同じレイヤに含まれる他のノードに変更する。また、生成部４３は、出力情報を出力する出力レイヤ側のレイヤに含まれるノードを、隣接する他のノードに変更する。
【００６２】
例えば、図４は、実施形態に係る生成装置が生成するモデルの一例を示す図である。例えば、生成部４３は、図４中（Ａ）に示すように、可塑変形を加えるレイヤよりも入力側の部分をブロックＢ１とし、可塑変形を加えるレイヤよりも出力側の部分をブロックＢ２とする。そして、生成部４３は、ブロックＢ１とブロックＢ２とに所定の外力Ｆが加わったものとして、モデルを可塑変形させる。例えば、生成部４３は、ブロックＢ１とブロックＢ２との境界における接続経路を組み替えることで、可塑変形を実現する。
【００６３】
なお、生成部４３は、図４中（Ｂ）に示すように、らせん転位を再現するようにモデルの可塑変化を実現してもよい。例えば、生成部４３は、転位線がバーガーズベクトルと平行になるように、ノード間の接続を組み替えることで、モデルの可塑変化を実現してもよい。
【００６４】
なお、生成部４３は、学習データデータベース３１から、第１モデルＭ１０が学習した分野とは異なる分野の学習データを抽出し、抽出した学習データを用いて、第２モデルＭ２０の再学習を行ってもよい。また、生成部４３は、第２モデルＭ２０の分類精度等に応じて、可塑変形の量や方向を適宜変化させてもよい。そして、生成部４３は、生成した第２モデルＭ２０をモデルデータベース３２に登録する。
【００６５】
図２に戻り、説明を続ける。提供部４４は、第２モデルＭ２０を用いた分類処理の結果を利用者に提供する。例えば、提供部４４は、入出力装置１００を介して、利用者が入力した情報を取得する。このような場合、提供部４４は、モデルデータベース３２から第２モデルＭ２０を読出し、第２モデルＭ２０に利用者が入力した情報を入力する。そして、提供部４４は、第２モデルＭ２０の接続関係や接続係数に沿った演算を実行し、第２モデルＭ２０が生成した情報を取得する。その後、提供部４４は、入出力装置１００を介して、第２モデルＭ２０が生成した情報を利用者に対して提供する。
【００６６】
〔３．生成装置が実行する処理の流れの一例〕
次に、図５を用いて、生成装置１０が実行する提供処理の流れの一例について説明する。図５は、実施形態に係る生成処理の流れの一例を説明するフローチャートである。まず、生成装置１０は、学習データを取得し（ステップＳ１０１）、学習データが有する特徴を第１モデルＭ１０に学習させる（ステップＳ１０２）。続いて、生成装置１０は、所定のレイヤ間における接続経路をずらすことで、モデルを可塑変形させる（ステップＳ１０３）。そして、生成装置１０は、可塑変形させたモデルを用いて、取得情報の分類を行い（ステップＳ１０４）、処理を終了する。
【００６７】
〔４．変形例〕
上記では、生成装置１０による提供処理の一例について説明した。しかしながら、実施形態は、これに限定されるものではない。以下、生成装置１０が実行する生成処理のバリエーションについて説明する。
【００６８】
〔４−１．装置構成〕
上述した例では、生成装置１０は、生成装置１０内で生成処理を実行した。しかしながら、実施形態は、これに限定されるものではない。例えば、生成装置１０は、入出力装置１００と情報の送受信を行うフロントエンドサーバと、上述した生成処理を実行するバックエンドサーバとにより実現されてもよい。このような場合、例えば、フロントエンドサーバは、図２に示す提供部４４を有し、バックエンドサーバは、図２に示す学習部４１、取得部４２、および生成部４３を有する。また、生成装置１０は、学習データデータベース３１やモデルデータベース３２を外部のストレージサーバに記憶させてもよい。
【００６９】
〔４−２．その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文章中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【００７０】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【００７１】
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【００７２】
〔４−３．プログラム〕
また、上述してきた実施形態に係る生成装置１０は、例えば図６に示すような構成のコンピュータ１０００によって実現される。図６は、ハードウェア構成の一例を示す図である。コンピュータ１０００は、出力装置１０１０、入力装置１０２０と接続され、演算装置１０３０、一次記憶装置１０４０、二次記憶装置１０５０、出力ＩＦ（Interface）１０６０、入力ＩＦ１０７０、ネットワークＩＦ１０８０がバス１０９０により接続された形態を有する。
【００７３】
演算装置１０３０は、一次記憶装置１０４０や二次記憶装置１０５０に格納されたプログラムや入力装置１０２０から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置１０４０は、ＲＡＭ等、演算装置１０３０が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置１０５０は、演算装置１０３０が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ＲＯＭ(Read  Only  Memory)、ＨＤＤ、フラッシュメモリ等により実現される。
【００７４】
出力ＩＦ１０６０は、モニタやプリンタといった各種の情報を出力する出力装置１０１０に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、ＵＳＢ（Universal  Serial  Bus）やＤＶＩ（Digital  Visual  Interface）、ＨＤＭＩ（登録商標）（High  Definition  Multimedia  Interface）といった規格のコネクタにより実現される。また、入力ＩＦ１０７０は、マウス、キーボード、およびスキャナ等といった各種の入力装置１０２０から情報を受信するためのインタフェースであり、例えば、ＵＳＢ等により実現される。
【００７５】
なお、入力装置１０２０は、例えば、ＣＤ（Compact  Disc）、ＤＶＤ（Digital  Versatile  Disc）、ＰＤ（Phase  change  rewritable  Disk）等の光学記録媒体、ＭＯ（Magneto-Optical  disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置１０２０は、ＵＳＢメモリ等の外付け記憶媒体であってもよい。
【００７６】
ネットワークＩＦ１０８０は、ネットワークＮを介して他の機器からデータを受信して演算装置１０３０へ送り、また、ネットワークＮを介して演算装置１０３０が生成したデータを他の機器へ送信する。
【００７７】
演算装置１０３０は、出力ＩＦ１０６０や入力ＩＦ１０７０を介して、出力装置１０１０や入力装置１０２０の制御を行う。例えば、演算装置１０３０は、入力装置１０２０や二次記憶装置１０５０からプログラムを一次記憶装置１０４０上にロードし、ロードしたプログラムを実行する。
【００７８】
例えば、コンピュータ１０００が生成装置１０として機能する場合、コンピュータ１０００の演算装置１０３０は、一次記憶装置１０４０上にロードされたプログラムまたはデータ（例えば、第２モデルＭ２０）を実行することにより、制御部４０の機能を実現する。コンピュータ１０００のＣＰＵ１１００は、これらのプログラムまたはデータ（例えば、第２モデルＭ２０）を記録媒体１８００から読み取って実行するが、他の例として、他の装置からネットワークＮを介してこれらのプログラムを取得してもよい。
【００７９】
〔５．効果〕
上述したように、生成装置１０は、深層学習装置において、複数のレイヤを有し、各レイヤに含まれる複数のノードを接続した第１モデルＭ１０であって、所定の入力情報が入力された場合に、入力情報と対応する出力情報を出力するように学習が行われた第１モデルＭ１０を取得する。そして、生成装置１０は、第１モデルＭ１０のうち、所定の第１レイヤと第１レイヤに隣接する第２レイヤとに含まれるノード間の接続をずらすことで、第１モデルＭ１０を可塑変形させた第２モデルＭ２０を生成する。このずらしの効果は、ＤＮＮ等の多段の層をもつ深層学習装置において、接続されている近い関係性をもつノードに対して、近さをそれほど変えない接続変化をもたらし、過学習の抑制効果を示す。このため、生成装置１０は、第１モデルＭ１０において生じる過学習の影響を軽減した第２モデルＭ２０を生成することができるので、モデルの分類精度を改善することができる。
【００８０】
また、生成装置１０は、第１レイヤに含まれるノードと第２レイヤに含まれるノードとを接続する接続経路のうち、接続係数が所定の条件を満たす接続経路を特定し、特定した接続経路が接続するノードの一方を他のノードに変更することで、第２モデルＭ２０を生成する。例えば、生成装置１０は、接続係数が所定の閾値を下回る接続経路を特定する。そして、生成装置１０は、特定した接続経路が接続する２つのノードのうち、出力情報を出力する出力レイヤ側のレイヤに含まれるノードを、同じレイヤに含まれる他のノードに変更する。また、例えば、生成装置１０は、特定した接続経路が接続する２つのノードのうち、出力情報を出力する出力レイヤ側のレイヤに含まれるノードを、ノードと隣接する他のノードに変更する。
【００８１】
上述した処理の結果、生成装置１０は、第１モデルＭ１０が学習した特徴のうち、過学習により学習された特徴の影響を軽減させた第２モデルＭ２０を生成することができるので、モデルの分類精度を改善することができる。
【００８２】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【００８３】
また、上記してきた「部（section、module、unit）」は、「手段」や「回路」などに読み替えることができる。例えば、生成部は、生成手段や生成回路に読み替えることができる。
【符号の説明】
【００８４】
１０  生成装置
２０  通信部
３０  記憶部
３１  学習データデータベース
３２  モデルデータベース
４０  制御部
４１  学習部
４２  取得部
４３  生成部
４４  提供部
１００  入出力装置
１１０  情報管理装置
【図１】
2019200743.tif 000003
【図２】
2019200743.tif 000004
【図３】
2019200743.tif 000005
【図４】
2019200743.tif 000006
【図５】
2019200743.tif 000007
【図６】
2019200743.tif 000008