(57)【要約】【課題】深層学習を効率的に行うこと。【解決手段】少なくとも２つの層の間の層間パラメータを網羅する層間パラメータセットを複数用い、複数の層間パラメータセットにおける層間パラメータを所定単位で交換して新たな複数の層間パラメータセットを生成する交叉処理を行う。さらに、交叉処理により得られた複数の層間パラメータセットから次世代に遺伝する層間パラメータセットを選択する選択処理を行う。また、交叉処理に依らず層間パラメータを変更する変更処理（平均など）を行う。そして、交叉処理、選択処理及び変更処理（平均など）により複数の層間パラメータセットから次世代の複数の層間パラメータセットを生成する処理を繰り返して層間パラメータを最適化することで、深層学習を効率的に行うことができる。【選択図】図１
2019101961.tif 000002
【特許請求の範囲】
【請求項１】
多層ニューラルネットワークにおける層間パラメータの訓練を行う機械学習システムであって、
少なくとも２つの層の間の層間パラメータを網羅する層間パラメータセットを複数用い、複数の層間パラメータセットにおける層間パラメータを所定単位で交換して新たな複数の層間パラメータセットを生成する交叉処理を行う交叉処理部と、
前記交叉処理により得られた複数の層間パラメータセットから次世代に遺伝する層間パラメータセットを選択する選択処理を行う選択処理部と、
前記交叉処理に依らず前記層間パラメータを変更する変更処理を行う変更処理部と
を備え、
前記交叉処理、選択処理及び前記変更処理により前記複数の層間パラメータセットから次世代の複数の層間パラメータセットを生成する処理を繰り返すことで前記層間パラメータを最適化することを特徴とする機械学習システム。
【請求項２】
前記交叉処理部は、出力側の１ノードに対する入力パラメータの組み合わせを前記所定単位として前記交叉処理を行うことを特徴とする請求項１に記載の機械学習システム。
【請求項３】
前記交叉処理部は、２つの層間パラメータセットにおける層間パラメータを前記所定単位で交換して新たな２つの層間パラメータセットを生成し、
前記選択処理部は、前記新たな２つの層間パラメータセットを評価して次世代に継承する１つの層間パラメータセットを選択する
ことを特徴とする請求項１又は２に記載の機械学習システム。
【請求項４】
前記交叉処理部は、前記層間パラメータセットに含まれる層間パラメータのうち、どの層間パラメータを交換するかを無作為に決定することを特徴とする請求項３に記載の機械学習システム。
【請求項５】
前記交叉処理部は、第１父系層間パラメータセットと第１母系層間パラメータセットに対して交叉処理を行って新たな２つの第１父系層間パラメータセット候補を生成するとともに、第２父系層間パラメータセットと第２母系層間パラメータセットに対して交叉処理を行って新たな２つの第１母系層間パラメータセット候補を生成し、
前記選択処理部は、前記２つの第１父系層間パラメータセット候補から次世代の第１父系層間パラメータセットを選択し、前記２つの第１母系層間パラメータセット候補から次世代の第１母系層間パラメータセットを選択する
ことを特徴とする請求項３又は４に記載の機械学習システム。
【請求項６】
前記変更処理部は、前記第１父系層間パラメータセットと前記第１母系層間パラメータセットとを用い、対応する層間パラメータを平均して次世代に遺伝する第２父系層間パラメータセットを生成するとともに、前記第２父系層間パラメータセットと前記第２母系層間パラメータセットとを用い、対応する層間パラメータを平均して次世代に遺伝する第２母系層間パラメータセットを生成することを特徴とする請求項５に記載の機械学習システム。
【請求項７】
前記変更処理部は、次世代に遺伝する層間パラメータセットに対して適用する勾配を算定し、算定した勾配に基づいて層間パラメータの更新を行うことで次世代の層間パラメータセットを生成することを特徴とする請求項１〜６のいずれか一つに記載の機械学習システム。
【請求項８】
前記変更処理部は、前記勾配を無作為に決定する処理である変異を所定確率で発生させることを特徴とする請求項７に記載の機械学習システム。
【請求項９】
前記変更処理部は、次世代に遺伝する層間パラメータセットを評価し、評価結果に応じて前記勾配の算定方法を異ならせることを特徴とする請求項７又は８に記載の機械学習システム。
【請求項１０】
多層ニューラルネットワークにおける層間パラメータの訓練を行う機械学習装置であって、
少なくとも２つの層の間の層間パラメータを網羅する層間パラメータセットを複数用い、複数の層間パラメータセットにおける層間パラメータを所定単位で交換して新たな複数の層間パラメータセットを生成する交叉処理を行う交叉処理部と、
前記交叉処理により得られた複数の層間パラメータセットから次世代に遺伝する層間パラメータセットを選択する選択処理を行う選択処理部と、
前記交叉処理に依らず前記層間パラメータを変更する変更処理を行う変更処理部と
を備え、
前記交叉処理、選択処理及び前記変更処理により前記複数の層間パラメータセットから次世代の複数の層間パラメータセットを生成する処理を繰り返すことで前記層間パラメータを最適化することを特徴とする機械学習装置。
【請求項１１】
多層ニューラルネットワークにおける層間パラメータの訓練を行う機械学習方法であって、
少なくとも２つの層の間の層間パラメータを網羅する層間パラメータセットを複数用い、複数の層間パラメータセットにおける層間パラメータを所定単位で交換して新たな複数の層間パラメータセットを生成する交叉処理を行う交叉処理ステップと、
前記交叉処理により得られた複数の層間パラメータセットから次世代に遺伝する層間パラメータセットを選択する選択処理を行う選択処理ステップと、
前記交叉処理に依らず前記層間パラメータを変更する変更処理を行う変更処理ステップと
を含み、
前記交叉処理、選択処理及び前記変更処理により前記複数の層間パラメータセットから次世代の複数の層間パラメータセットを生成する処理を繰り返すことで前記層間パラメータを最適化することを特徴とする機械学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多層ニューラルネットワークにおける層間パラメータの訓練を行う機械学習システム、機械学習装置及び機械学習方法に関する。
【背景技術】
【０００２】
従来、脳機能を摸したニューラルネットワークを各種データ処理に適用することが行われている。かかるニューラルネットワークは、少なくとも入力層と出力層にそれぞれノードを配し、ノード間のパラメータを学習によって最適化することで、新規の入力に対して適切な出力を行うことができる。
【０００３】
入力層と出力層の間に２層以上の隠れ層（中間層）を有する多層ニューラルネットワークにおける学習手法は、特に深層学習（ディープラーニング）と呼ばれており、近年その活用が試みられている。
【０００４】
例えば、特許文献１は、一連の対象者の一連の年代における医療データを、対象者及び年代ごとの個別データの集まりとして深層学習を適用し、潜在トピック分析により適切なクラスタリングを行う医療データ解析装置を開示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１７−０２７３０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の技術では、深層学習には膨大な計算能力と計算時間、勾配消失問題、局所最適解問題などのいくつかの問題があった。
【０００７】
学習の過程で局所最適解に陥ったり、勾配消失問題が起きたりすると、真の最適解に到達することなく学習が停滞し、所望の精度を得ることができない。そこで、局所最適解から脱出したり、勾配消失問題を回避したりして、真の最適解に到達することが重要となるが、このような問題を解決するすぐれた手法は見いだされていないのが実状である。
【０００８】
これらのことから、いかにして局所最適解から効率的に脱出し、勾配消失問題を回避し、深層学習に要求される計算能力と計算時間を削減し、もって深層学習全体の効率化を実現するかが重要な課題となっている。
【０００９】
本発明は、上述した課題を解決するためになされたものであって、深層学習を効率的に行うことのできる機械学習システム、機械学習装置及び機械学習方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するため、本発明は、多層ニューラルネットワークにおける層間パラメータの訓練を行う機械学習システムであって、少なくとも２つの層の間の層間パラメータを網羅する層間パラメータセットを複数用い、複数の層間パラメータセットにおける層間パラメータを所定単位で交換して新たな複数の層間パラメータセットを生成する交叉処理を行う交叉処理部と、前記交叉処理により得られた複数の層間パラメータセットから次世代に遺伝する層間パラメータセットを選択する選択処理を行う選択処理部と、前記交叉処理に依らず前記層間パラメータを変更する変更処理を行う変更処理部とを備え、前記交叉処理、選択処理及び前記変更処理により前記複数の層間パラメータセットから次世代の複数の層間パラメータセットを生成する処理を繰り返すことで前記層間パラメータを最適化することを特徴とする。
【００１１】
また、本発明は、上記発明において、前記交叉処理部は、出力側の１ノードに対する入力パラメータの組み合わせを前記所定単位として前記交叉処理を行うことを特徴とする。
【００１２】
また、本発明は、上記発明において、前記交叉処理部は、２つの層間パラメータセットにおける層間パラメータを前記所定単位で交換して新たな２つの層間パラメータセットを生成し、前記選択処理部は、前記新たな２つの層間パラメータセットを評価して次世代に継承する１つの層間パラメータセットを選択することを特徴とする。
【００１３】
また、本発明は、上記発明において、前記交叉処理部は、前記層間パラメータセットに含まれる層間パラメータのうち、どの層間パラメータを交換するかを無作為に決定することを特徴とする。
【００１４】
また、本発明は、上記発明において、前記交叉処理部は、第１父系層間パラメータセットと第１母系層間パラメータセットに対して交叉処理を行って新たな２つの第１父系層間パラメータセット候補を生成するとともに、第２父系層間パラメータセットと第２母系層間パラメータセットに対して交叉処理を行って新たな２つの第１母系層間パラメータセット候補を生成し、前記選択処理部は、前記２つの第１父系層間パラメータセット候補から次世代の第１父系層間パラメータセットを選択し、前記２つの第１母系層間パラメータセット候補から次世代の第１母系層間パラメータセットを選択することを特徴とする。
【００１５】
また、本発明は、上記発明において、前記変更処理部は、前記第１父系層間パラメータセットと前記第１母系層間パラメータセットとを用い、対応する層間パラメータを平均して次世代に遺伝する第２父系層間パラメータセットを生成するとともに、前記第２父系層間パラメータセットと前記第２母系層間パラメータセットとを用い、対応する層間パラメータを平均して次世代に遺伝する第２母系層間パラメータセットを生成することを特徴とする。
【００１６】
また、本発明は、上記発明において、前記変更処理部は、次世代に遺伝する層間パラメータセットに対して適用する勾配を算定し、算定した勾配に基づいて層間パラメータの更新を行うことで次世代の層間パラメータセットを生成することを特徴とする。
【００１７】
また、本発明は、上記発明において、前記変更処理部は、前記勾配を無作為に決定する処理である変異を所定確率で発生させることを特徴とする。
【００１８】
また、本発明は、上記発明において、前記変更処理部は、次世代に遺伝する層間パラメータセットを評価し、評価結果に応じて前記勾配の算定方法を異ならせることを特徴とする。
【００１９】
また、本発明は、多層ニューラルネットワークにおける層間パラメータの訓練を行う機械学習装置であって、少なくとも２つの層の間の層間パラメータを網羅する層間パラメータセットを複数用い、複数の層間パラメータセットにおける層間パラメータを所定単位で交換して新たな複数の層間パラメータセットを生成する交叉処理を行う交叉処理部と、前記交叉処理により得られた複数の層間パラメータセットから次世代に遺伝する層間パラメータセットを選択する選択処理を行う選択処理部と、前記交叉処理に依らず前記層間パラメータを変更する変更処理を行う変更処理部とを備え、前記交叉処理、選択処理及び前記変更処理により前記複数の層間パラメータセットから次世代の複数の層間パラメータセットを生成する処理を繰り返すことで前記層間パラメータを最適化することを特徴とする。
【００２０】
また、本発明は、多層ニューラルネットワークにおける層間パラメータの訓練を行う機械学習方法であって、少なくとも２つの層の間の層間パラメータを網羅する層間パラメータセットを複数用い、複数の層間パラメータセットにおける層間パラメータを所定単位で交換して新たな複数の層間パラメータセットを生成する交叉処理を行う交叉処理ステップと、前記交叉処理により得られた複数の層間パラメータセットから次世代に遺伝する層間パラメータセットを選択する選択処理を行う選択処理ステップと、前記交叉処理に依らず前記層間パラメータを変更する変更処理を行う変更処理ステップとを含み、前記交叉処理、選択処理及び前記変更処理により前記複数の層間パラメータセットから次世代の複数の層間パラメータセットを生成する処理を繰り返すことで前記層間パラメータを最適化することを特徴とする。
【発明の効果】
【００２１】
本発明によれば、深層学習を効率的に行うことができる。
【図面の簡単な説明】
【００２２】
【図１】図１は、本実施例に係る機械学習システムの概念の説明図である。
【図２】図２は、層間パラメータ行列と染色体の関係についての説明図である。
【図３】図３は、新世代の層間パラメータセットの生成についての説明図である。
【図４】図４は、交叉の具体例についての説明図である。
【図５】図５は、染色体ｍａ１の勾配の算定を説明するフローチャートである。
【図６】図６は、染色体ｆｅ１の勾配の算定を説明するフローチャートである。
【図７】図７は、複数の層間における行列についての説明図である。
【図８】図８は、機械学習装置の機能構成を示す機能ブロック図である。
【図９】図９は、サブセット方式とミニセット方式の説明図である。
【図１０】図１０は、収束速度のテスト結果の説明図である。
【図１１】図１１は、サンプル数を変更した場合のテスト結果の説明図である。
【図１２】図１２は、局所最小からの脱出能力に係るテスト結果の説明図である。
【発明を実施するための形態】
【００２３】
以下に、添付図面を参照して、本発明に係る機械学習システム、機械学習装置及び機械学習方法の好適な実施例を詳細に説明する。
【実施例】
【００２４】
まず、本実施例に係る機械学習システムの概念について説明する。図１は、本実施例に係る機械学習システムの概念の説明図である。図１に示すように、本実施例に係る機械学習システムは、入力層、第１隠れ層、第２隠れ層及び出力層を有する多層ニューラルネットワークにおける深層学習を行う。
【００２５】
図１では、入力層に５つのノードを例示し、第１隠れ層に４つのノードを例示し、第２隠れ層に４つのノードを例示し、出力層に３つのノードを例示している。この多層ニューラルネットワークでは、ノード間のパラメータが学習によって更新される。
【００２６】
例えば、入力層のノード数は５であり、第１隠れ層のノード数が４であれば、入力層と第１隠れ層との間には５×４のパラメータが存在する（実際には、５×４のパラメータはパラメータの中でウェイトと呼ばれる部分であり、それ以外にバイアスという５つのパラメータが存在するため、５×５のパラメータが存在するが、これについては後述する）。このように、２つの層の間に存在するパラメータをそれぞれ層間パラメータという。
【００２７】
また、２つの層の間に存在するパラメータ全体、すなわち、２つの層の間の層間パラメータを網羅するパラメータのセットを層間パラメータセットという。この層間パラメータセットの中のウェイトは、「出力側のノード数×入力側のノード数」の行列として表すことができる。この行列において、１つの行は出力側の１ノードに対する入力側の全ノードからの出力に対応するウェイトのベクトルである。また、パラメータの中のバイアスはウェイトの行列の一つの行に一つ対応し、ウェイトとバイアスを含めたパラメータ全体は、各行の最後の要素に対応するバイアスを加えた「出力側のノード数×（入力側のノード数＋１）」の行列で表される。この場合、入力側のノードの最後に仮想的なノードを加え、このノードは常に１を出力すると考える。以下の議論ではこのようなバイアスを加えた行列で考えることにする。
【００２８】
本実施例に係る機械学習システムでは、初期の層間パラメータセットを複数用意し、複数の層間パラメータセットから複数の層間パラメータセットを得る処理を繰り返すことで学習を行う。
【００２９】
ここで、本実施例に係る機械学習システムでは、交叉処理や選択処理などの遺伝的演算子を用いて複数の層間パラメータセットから複数の層間パラメータセットを得る処理を実現している。詳細については後述するが、本実施例における交叉処理とは、２つの層間パラメータセットの行列を行単位で交換して新たな２つの層間パラメータセットを生成する処理である。また、本実施例おける選択処理とは、２つの層間パラメータセットから次世代に遺伝する層間パラメータセットを１つ選択する処理である。さらに、交叉処理及び選択処理に加え、交叉処理に依らず層間パラメータを変更する変更処理として、平均、変異、勾配による更新なども用いる。
【００３０】
図１では、初期の層間パラメータセット、すなわち第１世代の層間パラメータセットとして２つの行列を例示している。第１世代の一方の行列は、便宜上全ての要素を「ａ」として表示しているが、各要素はそれぞれ任意に設定される。同様に、第１世代の他方の行列は、便宜上全ての要素を「ｂ」として表示しているが、各要素はそれぞれ任意に設定される。
【００３１】
第１世代の２つ行列に対して交叉処理を行うと、新たな２つの行列が得られる。交叉処理では、交叉の数及び箇所が無作為に決定され、決定された箇所以降の行列が交換される。図１では、交叉の数は２、交叉の箇所は２行目と４行目である。２行目の交叉により、以降の行は全て他方の行に置き換えられ、４行目の交叉により、以降の行が再び他方の行に置き換えられる。従って、偶数回の交叉が発生した行は、元の要素が維持されることになる。
【００３２】
かかる交叉処理により得られた新たな２つの行列の一方は、１行目「ａ」、２行目「ｂ」、３行目「ｂ」、４行目「ａ」である。そして、新たな２つの行列の他方は、１行目「ｂ」、２行目「ａ」、３行目「ａ」、４行目「ｂ」である。この新たな２つの行列のうち、図１では１行目が「ａ」の行列が選択されている。
【００３３】
また、図１では、第１世代の２つ行列の平均を求め、新たな１つの行列を生成している。この行列は、それぞれの要素が第１世代の対応する２つの要素の平均値であるが、便宜上、全ての要素を「ｃ」として表示している。
【００３４】
第１世代の２つ行列に対して交叉処理及び選択処理を行って得られた行列と、平均を行って得られた行列とが、第２世代の２つの行列となる。同様に、第２世代の２つ行列に対して交叉処理及び選択処理を行って得られた行列と、平均を行って得られた行列とが、第３世代の２つの行列となる。
【００３５】
このように、本実施例に係る機械学習システムでは、少なくとも２つの層の間の層間パラメータを網羅する層間パラメータセットを複数用い、複数の層間パラメータセットにおける層間パラメータを所定単位で交換して新たな複数の層間パラメータセットを生成する交叉処理を行う。さらに、交叉処理により得られた複数の層間パラメータセットから次世代に遺伝する層間パラメータセットを選択する選択処理を行う。また、交叉処理に依らず層間パラメータを変更する変更処理を行う。そして、交叉処理、選択処理及び変更処理により複数の層間パラメータセットから次世代の複数の層間パラメータセットを生成する処理を繰り返して層間パラメータを最適化することで、深層学習を効率的に行うことができる。
【００３６】
次に、層間パラメータ行列と染色体の関係について説明する。図２は、層間パラメータ行列と染色体の関係についての説明図である。本実施例に係る機械学習システムでは、層間パラメータの行列を染色体に対応させている。染色体は複数の順序付けられた座位を有し、各座位は、層間パラメータ行列の行に対応する。
【００３７】
具体的には、図２に示すように、１番目のノードと前の層のすべてのノードとの間の接続の重み（層間パラメータ）は、層間パラメータセットの行列の１行目として表され、この１行目が染色体の１番目の座位に対応する。但し、前述のようにそれぞれの行の最後にバイアスを加えたものをその行とするが、これについては詳しく述べない。同様に、ｉ番目のノードと前の層のすべてのノードとの間の接続の重み（層間パラメータ）は、層間パラメータセットの行列のｉ行目として表され、このｉ行目が染色体のｉ番目の座位に対応する。
【００３８】
図３は、新世代の層間パラメータセットの生成についての説明図である。図１においては説明を簡明にするため、２つの層間パラメータセットから新たな２つの層間パラメータセットを生成する場合を例に説明を行ったが、本実施例に係る機械学習システムは、図３に示すように４つの層間パラメータセットから新たな４つの層間パラメータセットを生成することで深層学習を行う。
【００３９】
便宜上、４つの層間パラメータセットから新たな４つの層間パラメータセットを生成する場合に、先の４つの層間パラメータセットを旧世代とし、旧世代の層間パラメータセットから生成される新たな層間パラメータセットを新世代とする。
【００４０】
また、同一世代の４つの層間パラメータセットは、１組の男女の染色体とみなし、男性が保持する父系染色体、男性が保持する母系染色体、女性が所持する父系染色体、女性が保持する母系染色体にそれぞれ対応させる。父系染色体は、旧世代の男性から遺伝した染色体であり、母系染色体は旧世代の女性から遺伝した染色体である。旧世代の各個体の染色体は変更され、変更された染色体は次世代の男性と女性に伝達される。
【００４１】
図３に示すように、新世代の男性に与える染色体を生成する場合には、旧世代のそれぞれの個体の相同染色体に対し、交叉、選択、勾配算定及び更新の４つの処理を行う。一方、新世代の女性に与える染色体を生成する場合には、旧世代のそれぞれの個体の相同染色体に対し、平均、勾配算定及び更新の３つの処理を行う。
【００４２】
ここで、交叉処理について説明する。旧世代の各個体における交叉処理では、正規分布Ｎ（１，  ０．５2）から取り出した実数を四捨五入して染色体上の交叉部位の数を決定する。実数が負の場合はゼロに設定する。交叉部位は、全ての座位の間から無作為に選択される。このようにして決定された交叉部位に応じて、旧世代の個体の一対の相同染色体対が、世代交代中に交叉を起こす。隣接する２つの座位の間で交叉が起こる場合、交叉部位より下の座のアレルは２つの相同染色体の間で交換される。これは、座位に対応する父系および母系染色体の２つの行列の行が交換されることを意味する。交叉処理の後、２つの新しい染色体が作られる。最初の座位において父系アレルを有する染色体は、交叉後に父系染色体と命名される。もう片方の染色体は、交叉後に母系染色体と命名される。
【００４３】
選択処理では、交叉処理で生成された個体内の新しい染色体対が、サンプルによって計算された尤度に基づいて選択に供される。そのため、各新しい染色体に対応する行列を用いて、サンプルを用いてニューラルネットワークにおける尤度を計算する。計算結果に基づき、高い尤度を持つ染色体が選択され、次の勾配算定処理に送られる。
【００４４】
一方、平均処理では、旧世代の個体の父系および母系染色体に対応する２つの行列を平均して新しい行列を作成する。従って、２つの行列の各要素について平均値が計算され、新しい行列が作成される。このようにして作られた平均化された行列は、次の勾配算定処理に送られる。
【００４５】
勾配算定処理では、選択処理又は平均処理の後、染色体はｍａ１、ｍａ２、ｆｅ１及びｆｅ２とラベル付けされる。即ち、染色体ｍａ１および染色体ｍａ２は、旧世代の男性から新世代に送られたものであり、染色体ｆｅ１及び染色体ｆｅ２は、旧世代の女性から新世代に送られたものである。染色体ｍａ１及び染色体ｆｅ１は新世代の男性に、染色体ｍａ２及び染色体ｆｅ２は新世代の女性に送られる。
【００４６】
染色体ｍａ１及び染色体ｆｅ１については、選択処理で尤度が既に計算されており、交差エントロピーを容易に計算することができる。そして、２つの染色体のそれぞれについて、前世代から新世代への交差エントロピーの減少を計算し、交差エントロピーの差分として定義する。染色体ｍａ１と染色体ｆｅ１の勾配の算定方法は、交差エントロピーの差分が以前の交差エントロピーの１％よりも大きいかどうか（交差エントロピーが１％以上減少するか否か）によって異ならせる。染色体ｍａ２及び染色体ｆｅ２の勾配は、それぞれ染色体ｍａ１及び染色体ｆｅ１の勾配と同一とする。
【００４７】
更新処理では、元の層間パラメータと、勾配処理で計算された勾配を使用して新しい層間パラメータが計算される。例えば、学習率を０．０１とした場合には、新しい層間パラメータは、元の層間パラメータから０．０１倍された勾配だけ増加する。
【００４８】
図４は、交叉の具体例についての説明図である。図４（ａ）は、交叉部位が１箇所のケースを示している。図４（ａ）では、２番目の座位と３番目の座位の間が交叉部位として決定されている。このため、父系染色体の３番目以降の座位と、母系染色体の３番目以降の座位が交換される。
【００４９】
従って、交叉前の父系染色体に対応する父系行列の全ての要素をａ、交叉前の母系染色体に対応する母系行列の全ての要素をｂとすると、交叉によって生成される新たな２つの行列の一方は、１行目「ａ」、２行目「ａ」、３行目「ｂ」、４行目「ｂ」となる。そして、新たな２つの行列の他方は、１行目「ｂ」、２行目「ｂ」、３行目「ａ」、４行目「ａ」となる。この新たな２つの行列に対して尤度が計算され、いずれかの行列が選択されることになる。
【００５０】
図４（ｂ）は、交叉部位が２箇所のケースを示している。図４（ｂ）では、２番目の座位と３番目の座位の間、並びに３番目の座位と４番目の座位の間が交叉部位として決定されている。このため、父系染色体の３番目以降の座位と、母系染色体の３番目以降の座位が交換され、さらに交換後の父系染色体の４番目以降の座位と、交換後の母系染色体の４番目以降の座位が交換される。
【００５１】
従って、交叉前の父系染色体に対応する父系行列の全ての要素をａ、交叉前の母系染色体に対応する母系行列の全ての要素をｂとすると、交叉によって生成される新たな２つの行列の一方は、１行目「ａ」、２行目「ａ」、３行目「ｂ」、４行目「ａ」となる。そして、新たな２つの行列の他方は、１行目「ｂ」、２行目「ｂ」、３行目「ａ」、４行目「ｂ」となる。この新たな２つの行列に対して尤度が計算され、いずれかの行列が選択されることになる。
【００５２】
次に、染色体ｍａ１の勾配の算定について説明する。図５は、染色体ｍａ１の勾配の算定を説明するフローチャートである。まず、機械学習システムは、染色体ｍａ１の交差エントロピー（ｍａ１）の差分を算出する（ステップＳ１０１）。交差エントロピー（ｍａ１）の差分は、旧世代の染色体の交差エントロピー（ｍａ１）prevから交叉及び選択後の交差エントロピー（ｍａ１）currを減算することで計算できる。
【００５３】
機械学習システムは、交差エントロピー（ｍａ１）が１％以上減少しているかを判定し（ステップＳ１０２）、交差エントロピー（ｍａ１）が１％以上減少しているならば（ステップＳ１０２；Ｙｅｓ）、乱数により勾配の算定方法を決定する（ステップＳ１０３）。具体的には、９０％の確率で行列（ｍａ１）の偏微分により勾配（ｍａ１）を算定し（ステップＳ１０５）、１．５％の確率で行列（ｆｅ１）の偏微分により勾配（ｍａ１）を算定し（ステップＳ１０６）、８．５％の確率で正規分布Ｎ（０，１）により勾配（ｍａ１）を算定する（ステップＳ１０７）。
【００５４】
また、機械学習システムは、交差エントロピー（ｍａ１）が１％以上減少していなければ（ステップＳ１０２；Ｎｏ）、乱数により勾配の算定方法を決定する（ステップＳ１０４）。具体的には、１５％の確率で行列（ｆｅ１）の偏微分により勾配（ｍａ１）を算定し（ステップＳ１０８）、８５％の確率で正規分布Ｎ（０，１）により勾配（ｍａ１）を算定する（ステップＳ１０９）。
【００５５】
ここで、ステップＳ１０７及びステップＳ１０９において採用した正規分布からの勾配の算定は、遺伝における変異に対応する処理である。すなわち、正規分布から勾配を算定することで、それまでの層間パラメータに依存することなく求められた勾配に従って更新が行われることになる。
【００５６】
ステップＳ１０５〜ステップＳ１０９のいずれかで勾配（ｍａ１）が算定されたならば、機械学習システムは、染色体（ｍａ２）の勾配（ｍａ２）を勾配（ｍａ１）と同一の値とし（ステップＳ１１０）、処理を終了する。
【００５７】
次に、染色体ｆｅ１の勾配の算定について説明する。図６は、染色体ｆｅ１の勾配の算定を説明するフローチャートである。まず、機械学習システムは、染色体ｆｅ１の交差エントロピー（ｆｅ１）の差分を算出する（ステップＳ２０１）。交差エントロピー（ｆｅ１）の差分は、旧世代の染色体の交差エントロピー（ｆｅ１）prevから交叉及び選択後の交差エントロピー（ｆｅ１）currを減算することで計算できる。
【００５８】
機械学習システムは、交差エントロピー（ｆｅ１）が１％以上減少しているかを判定し（ステップＳ２０２）、交差エントロピー（ｆｅ１）が１％以上減少しているならば（ステップＳ２０２；Ｙｅｓ）、乱数により勾配の算定方法を決定する（ステップＳ２０３）。具体的には、９０％の確率で行列（ｆｅ１）の偏微分により勾配（ｆｅ１）を算定し（ステップＳ２０５）、１．５％の確率で行列（ｍａ１）の偏微分により勾配（ｆｅ１）を算定し（ステップＳ２０６）、８．５％の確率で正規分布Ｎ（０，１）により勾配（ｆｅ１）を算定する（ステップＳ２０７）。
【００５９】
また、機械学習システムは、交差エントロピー（ｆｅ１）が１％以上減少していなければ（ステップＳ２０２；Ｎｏ）、乱数により勾配の算定方法を決定する（ステップＳ２０４）。具体的には、１５％の確率で行列（ｍａ１）の偏微分により勾配（ｆｅ１）を算定し（ステップＳ２０８）、８５％の確率で正規分布Ｎ（０，１）により勾配（ｆｅ１）を算定する（ステップＳ２０９）。
【００６０】
ここで、ステップＳ２０７及びステップＳ２０９において採用した正規分布からの勾配の算定は、遺伝における変異に対応する処理である。すなわち、正規分布から勾配を算定することで、それまでの層間パラメータに依存することなく求められた勾配に従って更新が行われることになる。
【００６１】
ステップＳ２０５〜ステップＳ２０９のいずれかで勾配（ｆｅ１）が算定されたならば、機械学習システムは、染色体（ｆｅ２）の勾配（ｆｅ２）を勾配（ｆｅ１）と同一の値とし（ステップＳ２１０）、処理を終了する。
【００６２】
次に、複数の層間における行列について説明する。図７は、複数の層間における行列についての説明図である。フィードフォワードネットワーク（ＦＮＮ）では、１つのネットワークに複数の層間スペースに対応する複数の行列が存在する。図７に示すように、入力層、第１隠れ層、第２隠れ層及び出力層からなる４層の例では、１つのネットワークに３つの層間スペースが存在する。その結果、１つのネットワークに３組の行列を定義する必要がある。そのため、機械学習システムは、父系染色体と母系染色体の組にそれぞれ対応する父系ネットワークと母系ネットワークを用いる。１つの染色体は１つの行列に対応する。
【００６３】
既に説明したように、１番目の座位に父系アレルを有する染色体は、交叉後に父系染色体であると定義される。もう一方の染色体は、交叉後に母系染色体と定義される。ＦＮＮの場合、父系ネットワークは父系染色体の集合として定義され、母系ネットワークは母系染色体の集合として定義される。交叉処理の後、父系ネットワークは、１番目の座位に父系アレルを有する染色体の集合からなる。母系ネットワークは、もう一方の染色体の集合からなる。尤度は、父系および母系ネットワークのそれぞれについて計算される。
【００６４】
次に、機械学習システムにおける機械学習装置の構成について説明する。図８は、機械学習装置１０の機能構成を示す機能ブロック図である。図８に示すように、機械学習装置１０は、表示部１１、操作部１２、通信部１３、記憶部１４及び制御部１５を有する。
【００６５】
表示部１１は、液晶パネルなどの表示デバイスで構成され、操作者に対する表示出力に用いられる。操作部１２は、キーボードやボタン等の操作デバイスで構成され、操作者からの操作の受付けに用いられる。また、タッチパネルディスプレイなどを用い、表示部１１と操作部１２とを一体に構成してもよい。通信部１３は、外部の装置との通信を行う通信インタフェースである。
【００６６】
記憶部１４は、ハードディスク装置又は不揮発性メモリなどからなる記憶デバイスであり、ネットワーク構造データ１４ａ、訓練用データ１４ｂ及びパラメータデータ１４ｃ等を記憶する。
【００６７】
ネットワーク構造データ１４ａは、多層ニューラルネットワークの構造を示すデータである。訓練用データ１４ｂは、入力データと正解の出力データがセットとなったサンプルデータである。パラメータデータ１４ｃは、１世代分の層間パラメータセットを示すデータであり、このパラメータデータ１４ｃが更新されることで学習が行われることになる。
【００６８】
制御部１５は、機械学習装置１０の全体制御を行う制御部であり、条件設定部１５ａ、交叉処理部１５ｂ、選択処理部１５ｃ、平均処理部１５ｄ、勾配算定部１５ｅ及び更新処理部１５ｆを有する。実際には、これらの機能部に対応するプログラムを図示しないＲＯＭや不揮発性メモリに記憶しておき、これらのプログラムをＣＰＵ（Central Processing Unit）にロードして実行することにより、条件設定部１５ａ、交叉処理部１５ｂ、選択処理部１５ｃ、平均処理部１５ｄ、勾配算定部１５ｅ及び更新処理部１５ｆにそれぞれ対応するプロセスを実行させることになる。
【００６９】
条件設定部１５ａは、深層学習に係る各種条件の設定を行う処理部である。深層学習に係る各種条件の設定には、ネットワーク構造データ１４ａの記憶部１４への格納、訓練用データ１４ｂの取得と記憶部１４への格納、パラメータデータ１４ｃの初期値（各層間パラメータの初期値）の設定と記憶部１４への格納、訓練用データ１４ｂの使用方法や訓練回数の設定などが含まれる。
【００７０】
交叉処理部１５ｂは、パラメータデータ１４ｃから１世代分の複数の層間パラメータセットを読み出し、複数の層間パラメータセットにおける層間パラメータを所定単位で交換して新たな複数の層間パラメータセットを生成する交叉処理を行う処理部である。具体的には、交叉処理部１５ｂは、同一個体の父系染色体と母系染色体に対応する２つの層間パラメータセットについて、行単位で交換を行い、新たな２つの層間パラメータセットを生成する。
【００７１】
選択処理部１５ｃは、交叉処理により得られた複数の層間パラメータセットから次世代に遺伝する層間パラメータセットを選択する選択処理を行う処理部である。具体的には、選択処理部１５ｃは、交叉処理により得られた２つの層間パラメータセットについて尤度を計算し、次世代に父系染色体として遺伝させる層間パラメータセットを選択する。
【００７２】
平均処理部１５ｄ、勾配算定部１５ｅ及び更新処理部１５ｆは、交叉処理に依らず前記層間パラメータを変更する変更処理を行う変更処理部として機能する。具体的には、平均処理部１５ｄは、同一個体の父系染色体と母系染色体に対応する２つの層間パラメータセットについて、対応する層間パラメータを平均して次世代に母系染色体として遺伝させる層間パラメータセットを生成する。また、勾配算定部１５ｅは、次世代に遺伝する層間パラメータセットに対して適用する勾配を算定する処理部であり、更新処理部１５ｆは、算定された勾配に基づいて層間パラメータの更新を行う処理部である。
【００７３】
ここで、勾配算定部１５ｅは、次世代に遺伝する層間パラメータセットを評価し、評価結果に応じて勾配の算定方法を異ならせる。また、勾配を無作為に決定する処理である変異を所定確率で発生させる。
【００７４】
次に、学習の具体例について説明する。まず、訓練用データ１４ｂとしては、所定の手書き数字データセットを用いた。この所定の手書き数字データセットの１つのサンプルは、２８×２８画素（入力データ）に対応する値を有する画像データと正解の数値から構成される。
【００７５】
また、比較のため、遺伝的演算子（交叉、変異、選択等）を伴わない標準的なstacked denoising autoencoder（SDA）についても学習を行った。なお、入力層のノード数は７８４、第１隠れ層のノード数は２００、第２隠れ層のノード数は２００、出力層のノード数は１０とした。入力層のノード数はサンプル中のピクセル数で決定されたものである。また、出力層のノード数は出力が１桁の整数（０〜９）であるために１０となった。
【００７６】
ＳＤＡは、事前訓練又は教師なし学習と微調整又は教師あり学習の２つの部分に分かれている。まず、出力層のノード数を入力層と同じにし、更に各ノードの値が入力層と出力層で同じ値になるようにパラメータを調整する方法（autoencoder）により、最初の２つの層（入力層および第１隠れ層）を対象とし、教師なし学習を行った。訓練の後、出力層を削除し、引き続き、第１隠れ層及び第２隠れ層をそれぞれ入力層と隠れ層にし、入力層と同じノード数の出力層を新たに加えた。その上で、入力層と出力層の各ノードの値が同じになるようにautoencoderによって訓練し、出力層は削除した。最後に、教師あり学習による微調整は、最初の４つの層のすべてを用いてパラメータを訓練することによって実行した。第２隠れ層から１０ノードの出力層への移行のためのパラメータを除いて、教師なしの学習によって訓練された値から初期パラメータ値を採用した。第２隠れ層から１０ノードの出力層への移行のためのパラメータは、Ｎ（０，１）/１０から取り出した。望ましい出力は１０個のうちの一つ（０〜９）であるため、ＳＤＡの出力層は１０個のsoftmax関数で構成され、それぞれの数の事後確率を示している。
【００７７】
教師なし学習と教師あり学習の両方において、パラメータの最適化は、訓練サンプルを用いて計算された交差エントロピーの最小化に基づいた方法を用いた。交差エントロピーの最小化には、バックプロパゲーションアルゴリズムによって偏微分を計算した後、確率的勾配降下（ＳＧＤ）法を使用した。
【００７８】
ここで、ネットワークの訓練には、２つの異なる方式、サブセット方式およびミニセット方式を使用した。図９は、サブセット方式とミニセット方式の説明図である。図９（ａ）に示すように、サブセット方式では、サブセット内のすべてのサンプルについて、７つのエポックの間、最初のサンプルから最後のサンプルまで順番に使用した。一方、図９（ｂ）に示すミニセット方式では、サブセットを１００サンプルのミニセットに分割し、各ミニセットを別々に使用して訓練を実施した。すなわち、最初のミニセットを７エポックで訓練した後、次のミニセットを７エポックで引き続き訓練した。このようにして、次々に一連のミニセットを用いて訓練を行った。
【００７９】
また、ＸＯＲモデルを用いて、アルゴリズムの局所最小問題をテストした。ここでは、手書き数字データの認識に使用した同じＳＤＡを、各層の異なるユニット数、異なるサンプルおよび教師データ、及び異なる学習速度で使用した。この新しいＳＤＡは、入力層に２ノード、第１隠れ層及び第２隠れ層に２ノード、出力層に１ノードを有していた。ＸＯＲモデルを用いた局所最小問題の検定手順では、学習率は０．２とした。訓練セットは、｛０，０｝、｛０，１｝、｛１，０｝、および｛１，１｝の２５０回繰り返しにより構成された。ＳＤＡ、ＴＬ１及びＴＬ２は、１０００サンプルで１００回（エポック）訓練され、同様の４つの繰り返しサンプルを使用して１００回テストした。教師データと同じ出力を有するサンプルの割合を精度とした。
【００８０】
ここで、ＴＬ２は、上述した交叉、選択、変異を含む勾配算定を全て用いるアルゴリズムであり、ＴＬ１は、交叉及び選択を用いるが、勾配算定を標準的な方法で行うアルゴリズムである。従って、ＴＬ１では、勾配は、それ自身の染色体の値から得られた偏微分を用いてのみ決定されることになる。なお、ＳＤＡでは、交叉と選択も行われない。
【００８１】
深層学習の問題の１つは、巨大な計算能力と計算時間が必要なことであり、通常、複数のＧＰＵを使用した並列コンピューティングが必要である。そこで、収束する時間を評価するために、標準的な方法よりも少ないサンプル数と少ないエポック数でテストを行った。使用したＳＤＡは、６００００のサンプルを１５のエポックで訓練し、１００００のテストサンプルでテストした結果、９８．８２％の精度を達成する能力を持っていた。しかし、結果が妥当な値にどれほど迅速に収束するかを知るために、少数のサンプルを訓練に使用した。
【００８２】
最初に、標準ＳＤＡ、ＴＬ１（交叉、選択があるが変異なし）とＴＬ２（交叉、選択および変異）の１０進の手書き数字（０〜９）認識の精度を、手書き数字データセットのサブセットを用いて比較した。以下の記述では、ミニセットは１００サンプルのセットを指す。事前訓練と微調整の両方でミニバッチサイズ１０を使用した。また、事前訓練（７回）と微調整（７回）の両方でエポックの数を制限して、収束がどのくらい早く起きるかを確認した。各アルゴリズムの性能を、異なる数のサンプルならびに異なる方式を用いて調べた。
【００８３】
図１０は、収束速度のテスト結果の説明図である。この図１０では、ＳＤＡ、ＴＬ１及びＴＬ２を用いた結果を示している。図１０の各点は、４回の独立した実験の結果の平均及びＳＤを示す。これらのテストにおける精度は、実際にはランダムに起きる正解確率から予想される１０％よりも大きいが、１００％の理想精度よりもはるかに低い。これは、サブセットとして使用されるサンプルの数が１００で、標準的な訓練よりもはるかに小さいためである。図１０の結果は、交叉、選択および変異を組み込んだＴＬ２の性能が最良であることを示している。ＳＤＡの性能もＴＬ１の性能もＴＬ２ほど良好では無かった。また、エポックの数が増加したときにＴＬ２の精度は増加するが、他のアルゴリズムの精度は不安定であることが示されている。
【００８４】
理論的には、精度を上げるには２つの方法がある。即ち、１つはサンプルの数を増やすことで、もう１つはエポックの数を増やすことである。そこで、サンプル数を変更してテストを行った。図１１は、サンプル数を変更した場合のテスト結果の説明図である。
【００８５】
まず、サブセットのサンプル数を４００に増やしてテストを行った。このテストでは、サブセットをミニセットに分割せず、サブセット方式を採用した（図１１Ａ）。その結果、精度は一般にエポックの数が増加するにつれて増加した。少数のエポックでは、ＴＬ２の精度が最も高く、ＳＤＡとＴＬ１の精度は同等であったが、ＴＬ２より劣っていた。エポック数７では、３つのアルゴリズムの違いはほとんどなかったが、ＴＬ２の精度は、１００サンプルのサブセットを使用した場合よりも低かった。
【００８６】
次に、４００サンプルのサブセットを１００サンプルずつの４つのミニセットに分割し、順次訓練するミニセット方式を採用してテストを行った（図１１Ｂ）。ここで、第１ミニセットの結果は、図１０のエポック７の結果に対応する。ＴＬ２が使用されたとき、使用されるミニセットの数が増加すると精度が増加し、すべてのミニセットが使用された時の精度は４０％以上であった。しかし、ＴＬ１とＳＤＡの性能はＴＬ２に比べて劣っていた。
【００８７】
これらの結果は、ＴＬ２が使用されるとき、ミニセット方式が精度に関してサブセット方式よりも優れていることを示している。
【００８８】
次に、サブセット方式で訓練用に８００サンプルのサブセットを使用し、テスト用に８００サンプルの独立したセットを使用した。精度は一般に、１００または４００サンプルのサブセットを使用した場合よりも高く、エポックの数が増加するにつれて精度が向上した（図１１Ｃ）。エポック７の精度は、ＳＤＡ、ＴＬ１及びＴＬ２の間で同等であった。なお、データは示していないが、エポックの数がさらに増えても精度はそれほど向上しなかった。
【００８９】
次に、ミニセット方式で８００サンプルのサブセットを使用した。ＴＬ２は他のアルゴリズムより優れており、精度はミニセットの数の関数として単調増加した（図１１Ｄ）。このような単調増加はＳＤＡやＴＬ１では観察されなかった。
【００９０】
次に、局所最小からの脱出能力のテスト結果について説明する。図１２は、局所最小からの脱出能力に係るテスト結果の説明図である。局所最小からの脱出能力のテストを行ったのは、この能力が深層学習の精度の差に貢献する可能性があるためである。また、この能力は、上述のＸＯＲテストで試験した。また、ＴＬ１とＴＬ２に加えて、単純なニューラルネットワーク（ＮＮ）も使用した。その結果、ＴＬ２（９７．５％）、ＮＮ（９０．２５％）の順で局所最小値からの脱出率が高かった。ＴＬ１は８７．２５％の最低値を示した。この順序は、一般に精度の順序に一致する。これらの結果は、変異が局所的最小問題に有用であり、ＴＬ２における高い精度に寄与している可能性を示唆する。
【００９１】
上述してきたように、本実施例に係る機械学習システムでは、少なくとも２つの層の間の層間パラメータを網羅する層間パラメータセットを複数用い、複数の層間パラメータセットにおける層間パラメータを所定単位で交換して新たな複数の層間パラメータセットを生成する交叉処理を行う。さらに、交叉処理により得られた複数の層間パラメータセットから次世代に遺伝する層間パラメータセットを選択する選択処理を行う。また、交叉処理に依らず層間パラメータを変更する変更処理を行う。そして、交叉処理、選択処理及び変更処理により複数の層間パラメータセットから次世代の複数の層間パラメータセットを生成する処理を繰り返して層間パラメータを最適化することで、深層学習を効率的に行うことができる。
【００９２】
具体的には、本実施例では、出力側の１ノードに対する入力パラメータの組み合わせを所定単位として交叉処理を行っている。また、２つの層間パラメータセットにおける層間パラメータを所定単位で交換して新たな２つの層間パラメータセットを生成し、新たな２つの層間パラメータセットを評価して次世代に遺伝する１つの層間パラメータセットを選択している。また、層間パラメータセットに含まれる層間パラメータのうち、どの層間パラメータを交換するかは無作為に決定している。
【００９３】
また、第１父系層間パラメータセット（男性の父系染色体）と第１母系層間パラメータセット（男性の母系染色体）に対して交叉処理を行って新たな２つの第１父系層間パラメータセット候補を生成するとともに、第２父系層間パラメータセット（女性の父系染色体）と第２母系層間パラメータセット（女性の母系染色体）に対して交叉処理を行って新たな２つの第１母系層間パラメータセット候補を生成し、２つの第１父系層間パラメータセット候補から次世代の第１父系層間パラメータセット（次世代の男性に遺伝する父系染色体）を選択し、２つの第１母系層間パラメータセット候補から次世代の第１母系層間パラメータセット（次世代の男性に遺伝する母系染色体）を選択している。
【００９４】
また、第１父系層間パラメータセット（男性の父系染色体）と第１母系層間パラメータセット（男性の母系染色体）とを用い、対応する層間パラメータを平均して次世代に遺伝する新たな第２父系層間パラメータセット（次世代の女性に遺伝する父系染色体）を生成するとともに、前記第２父系層間パラメータセットと前記第２母系層間パラメータセットとを用い、対応する層間パラメータを平均して次世代に遺伝する第２母系層間パラメータセット（次世代の女性に遺伝する母系染色体）を生成している。
【００９５】
また、次世代に遺伝する層間パラメータセットに対して適用する勾配を算定し、算定した勾配に基づいて層間パラメータの更新を行うことで次世代の層間パラメータセットを生成している。さらに、勾配を無作為に決定する処理である変異を所定確率で発生させている。また、次世代に遺伝する層間パラメータセットを評価し、評価結果に応じて勾配の算定方法を異ならせている。
【００９６】
また、本実施例により、サブセットを分割して訓練を行うミニセット方式を用いることで、コンピュータのＣＰＵパワーとメモリサイズの制限といった深層学習の問題を解決する可能性が示唆された。また、交叉、選択及び変異を用いるＴＬ２は他のアルゴリズムより速く収束するため、計算時間の短縮が期待できる。ＴＬ２を用い、ミニセット方式で訓練を行うことは、特に限られたコンピューティングリソースを持つパーソナルコンピュータでの実施に有用である。
【００９７】
なお、上記実施例はあくまで一例であり、本発明を限定するものではない。また、図示した各構成は機能概略的なものであり、必ずしも物理的に図示の構成をされていることを要しない。すなわち、各装置の分散・統合の形態は図示のものに限られず、その全部または一部を各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【産業上の利用可能性】
【００９８】
以上のように、本発明に係る機械学習システム、機械学習装置及び機械学習方法は、深層学習を効率的に行うことに適している。
【符号の説明】
【００９９】
１０  機械学習装置
１１  表示部
１２  操作部
１３  通信部
１４  記憶部
１４ａ  ネットワーク構造データ
１４ｂ  訓練用データ
１４ｃ  パラメータデータ
１５  制御部
１５ａ  条件設定部
１５ｂ  交叉処理部
１５ｃ  選択処理部
１５ｄ  平均処理部
１５ｅ  勾配算定部
１５ｆ  更新処理部
【図１】
2019101961.tif 000003
【図２】
2019101961.tif 000004
【図３】
2019101961.tif 000005
【図４】
2019101961.tif 000006
【図５】
2019101961.tif 000007
【図６】
2019101961.tif 000008
【図７】
2019101961.tif 000009
【図８】
2019101961.tif 000010
【図９】
2019101961.tif 000011
【図１０】
2019101961.tif 000012
【図１１】
2019101961.tif 000013
【図１２】
2019101961.tif 000014