(57)【要約】【課題】認識等のタスクの性能低下を抑えつつ、ニューラルネットワークのネットワーク係数の高圧縮率を実現する。【解決手段】ネットワーク係数圧縮装置は、推論部と、学習部と、を備える。推論部は、学習されたニューラルネットワークの入力層に入力された入力データに対する、ニューラルネットワークの隠れ層または出力層の出力値を出力する。学習部は、ニューラルネットワークのネットワーク係数の非可逆圧縮を行いながら、入力データと出力値を教師データとしてネットワーク係数を学習し、圧縮されたネットワーク係数を生成する。【選択図】図１
2019028746.tif 000002
【特許請求の範囲】
【請求項１】
学習されたニューラルネットワークの入力層に入力された入力データに対する、前記ニューラルネットワークの隠れ層または出力層の出力値を出力する推論ステップと、
前記ニューラルネットワークのネットワーク係数の非可逆圧縮を行いながら、前記入力データと前記出力値を教師データとして前記ネットワーク係数を学習し、圧縮されたネットワーク係数を生成する学習ステップと、
を含むネットワーク係数圧縮方法。
【請求項２】
学習されたニューラルネットワークの入力層に入力された入力データに対する、前記ニューラルネットワークの隠れ層または出力層の出力値を出力する推論部と、
前記ニューラルネットワークのネットワーク係数の非可逆圧縮を行いながら、前記入力データと前記出力値を教師データとして前記ネットワーク係数を学習し、圧縮されたネットワーク係数を生成する学習部と、
を備えるネットワーク係数圧縮装置。
【請求項３】
前記学習部は、
前記非可逆圧縮を実行する圧縮部と、
前記圧縮されたネットワーク係数を伸張する伸張部と、
前記伸張されたネットワーク係数を、前記教師データを用いて更新する更新部と、を備える、
請求項２に記載のネットワーク係数圧縮装置。
【請求項４】
前記ネットワーク係数は、重み係数、および、バイアスの少なくとも一方である、
請求項２に記載のネットワーク係数圧縮装置。
【請求項５】
前記非可逆圧縮は、量子化処理である、
請求項２に記載のネットワーク係数圧縮装置。
【請求項６】
前記学習部は、エポックおよびバッチを含む予め定められた単位で前記非可逆圧縮を実行する、
請求項２に記載のネットワーク係数圧縮装置。
【請求項７】
前記出力値は、前記出力層の尤度である、
請求項２に記載のネットワーク係数圧縮装置。
【請求項８】
前記入力データは、ランダム信号である、
請求項２に記載のネットワーク係数圧縮装置。
【請求項９】
コンピュータを、
学習されたニューラルネットワークの入力層に入力された入力データに対する、前記ニューラルネットワークの隠れ層または出力層の出力値を出力する推論部と、
前記ニューラルネットワークのネットワーク係数の非可逆圧縮を行いながら、前記入力データと前記出力値を教師データとして前記ネットワーク係数を学習し、圧縮されたネットワーク係数を生成する学習部、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ネットワーク係数圧縮装置、ネットワーク係数圧縮方法およびプログラムに関する。
【背景技術】
【０００２】
近年、多層のニューラルネットワーク（ディープニューラルネットワーク）が広く利用されるようになってきており、ネットワーク係数（重み係数、バイアスなど）の個数が非常に増大している。このようなニューラルネットワークを用いて推論を行う際には、ネットワーク係数のデータサイズが膨大となる。この結果、ネットワーク係数を保存するメモリとして大容量のメモリが必要となったり、ニューラルネットワークの各層の出力値の演算を行う演算部とメモリとの間のメモリバンド幅が逼迫したりする。このため、ネットワーク係数のデータ量の削減が求められている。
【０００３】
例えば、重み係数の量子化、重み係数の枝刈り、および、ハフマン符号を用いた圧縮を行って、データ量を削減する技術が提案されている。この技術では、量子化および枝刈り処理を学習中に行うことで、圧縮による認識等のタスクの性能への影響を抑えている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−０２９５６８号公報
【非特許文献】
【０００５】
【非特許文献１】“Deep  Compression:  Compressing  Deep  Neural  Networks  with  Pruning,  Trained  Quantization  and  Huffman  Coding”,  arXiv:1510.00149
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来技術では、圧縮を伴う学習時に、元のニューラルネットワークを学習した際に用いた学習データとラベルのセットが必要となるため、実行できる環境が限られるという問題があった。
【課題を解決するための手段】
【０００７】
実施形態のネットワーク係数圧縮装置は、推論部と、学習部と、を備える。推論部は、学習されたニューラルネットワークの入力層に入力された入力データに対する、ニューラルネットワークの隠れ層または出力層の出力値を出力する。学習部は、ニューラルネットワークのネットワーク係数の非可逆圧縮を行いながら、入力データと出力値を教師データとしてネットワーク係数を学習し、圧縮されたネットワーク係数を生成する。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態にかかるネットワーク係数圧縮装置のブロック図。
【図２】ニューラルネットワークの構成例を示す図。
【図３】第１の実施形態におけるネットワーク係数圧縮処理のフローチャート。
【図４】第２の実施形態の学習部のブロック図。
【図５】第２の実施形態におけるネットワーク係数圧縮処理のフローチャート。
【図６】第３の実施形態の認識装置のブロック図。
【図７】第１から第３の実施形態にかかるネットワーク係数圧縮装置のハードウェア構成図。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照して、この発明にかかるネットワーク係数圧縮装置の好適な実施形態を詳細に説明する。
【００１０】
（第１の実施形態）
第１の実施形態にかかるネットワーク係数圧縮装置は、学習済みのニューラルネットワークの推論結果を教師データとして用いて、学習中にネットワーク係数（重み係数、バイアスなど）を圧縮する。これにより、認識等のタスクの性能低下を抑えつつ、高圧縮率を実現可能となる。
【００１１】
図１は、第１の実施形態にかかるネットワーク係数圧縮装置１００の構成の一例を示すブロック図である。図１に示すように、ネットワーク係数圧縮装置１００は、推論部１０１と、学習部１１０と、を備えている。
【００１２】
学習済みネットワーク係数１２１、仮の入力データ１２２、出力値１２３、および、圧縮済みネットワーク係数１２４は、ネットワーク係数圧縮装置１００による各処理で入出力されるデータである。これらのデータは、例えば、ネットワーク係数圧縮装置１００の内部または外部の記憶部に記憶される。この記憶部は、ＨＤＤ（Hard  Disk  Drive）、光ディスク、メモリカード、ＲＡＭ（Random  Access  Memory）などの一般的に利用されているあらゆる記憶媒体により構成することができる。記憶部は、物理的に異なる記憶媒体としてもよいし、物理的に同一の記憶媒体の異なる記憶領域として実現してもよい。さらに記憶部は、物理的に異なる複数の記憶媒体により実現してもよい。
【００１３】
上記各部（推論部、学習部）は、例えば、１または複数のプロセッサにより実現される。例えば上記各部は、ＣＰＵ（Central  Processing  Unit）などのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のＩＣ（Integrated  Circuit）などのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち１つを実現してもよいし、各部のうち２以上を実現してもよい。
【００１４】
推論部１０１は、学習済みのニューラルネットワークを用いた推論（推定）を行う。例えば推論部１０１は、学習されたニューラルネットワークの入力層に仮の入力データを入力し、入力された入力データに対する、ニューラルネットワークの隠れ層または出力層の出力値を出力する。出力された出力値が、学習されたニューラルネットワークにより推論された出力値に相当する。
【００１５】
学習部１１０は、仮の入力データと仮の入力データに対応する出力値とを教師データとして、学習済みのニューラルネットワークのネットワーク係数の非可逆圧縮および学習を行い、圧縮されたネットワーク係数を生成して出力する。圧縮するネットワーク係数は、例えば、重み係数およびバイアスの少なくとも一方である。非可逆圧縮は、例えば量子化処理である。量子化などの非可逆圧縮を行った場合、認識等のタスクの性能が低下する可能性がある。本実施形態のように非可逆圧縮を行いながらネットワーク係数を学習することにより、タスクの性能の低下を抑制することが可能となる。
【００１６】
ここで、ニューラルネットワークの構成例について説明する。図２は、ニューラルネットワークの構成例を示す図である。
【００１７】
ニューラルネットワークは、脳機能に見られる幾つかの特性を計算機上のシミュレーションによって表現することを目指した数学モデルである。ニューラルネットワークは、一般的に外部からの情報を受け取る入力ユニットを含む入力層、外部へ情報を出力する出力ユニットを含む出力層、および、入力層と出力層の間に位置するユニットを含む一または複数の隠れ層（中間層）を有する。
【００１８】
図２では、各円がユニットを表している。各ユニットは、他の層の複数のユニットから情報を受け取り何らかの処理をした後に情報を出力している。一般的に、（ｎ＋１）層のｊ番目のユニットの出力値Ｕｎ＋１，ｊは以下の（１）式で表される。Ｗｎ，ｉ，ｊは重み係数、Ｂｎ，ｊはバイアス、ｆ（）は活性化関数である。Ｕｎ，ｉは、ｎ層のｉ番目のユニットの出力値を表す。
【数１】
2019028746.tif 000003
【００１９】
ニューラルネットワークの学習フェーズでは、適切な出力値が得られるように重み係数およびバイアスが更新される。推論フェーズでは、学習フェーズで得た重み係数およびバイアスを用いて出力値が算出される。
【００２０】
次に、このように構成された第１の実施形態にかかるネットワーク係数圧縮装置１００によるネットワーク係数圧縮処理について図３を用いて説明する。図３は、第１の実施形態におけるネットワーク係数圧縮処理の一例を示すフローチャートである。
【００２１】
推論部１０１は、仮の入力データの入力を受け付ける（ステップＳ１０１）。仮の入力データは、ランダム信号などの人工的な信号であってもよいし、対象とするネットワークに入力されることが想定される画像データ、音データ、および、テキストデータなどを用いてもよい。利用可能であれば元のネットワークの学習時に用いた学習データを入力データとして用いてもよい。
【００２２】
推論部１０１は、仮の入力データに対して、学習済みのネットワーク係数（重み係数、バイアスなど）を用いてニューラルネットワークの推論を行い、入力データに対応する隠れ層および出力層の各ユニットの出力値を１つ以上取得する（ステップＳ１０２）。出力値は、例えば、上記（１）式のＵｎ＋１，ｊである。出力層にソフトマックス処理を施して得られる尤度などを出力値としてもよい。
【００２３】
推論部１０１は、推論処理の回数（推論回数）が閾値（推論回数の閾値）を超えたか否かを判定する（ステップＳ１０３）。推論回数が閾値を超えていない場合（ステップＳ１０３：Ｎｏ）、ステップＳ１０１に戻り処理を繰り返す。推論処理を繰り返すことにより、所望の数の入力データと出力値の組を取得することができる。
【００２４】
なお、入力データと出力値との組を取得するための処理（ステップＳ１０１からステップＳ１０３）は、圧縮処理以降（ステップＳ１０４からステップＳ１０６）を実行する前までに完了していればよい。すなわち、ステップＳ１０１からステップＳ１０３と、ステップＳ１０４からステップＳ１０６とは連続的に実行する必要はない。
【００２５】
推論回数が閾値を超えた場合（ステップＳ１０３：Ｙｅｓ）、学習部１１０は、取得された入力データと出力値の組を教師データとして、学習済みネットワーク係数の圧縮および学習を行う（ステップＳ１０４）。学習部１１０は、学習しながら圧縮を行う方法であれば、任意の方法により実現できる。これにより、圧縮を学習中に行うことができるため、圧縮による認識等のタスクの性能への影響を抑えることができる。
【００２６】
学習部１１０は、学習処理の回数（学習回数）が閾値（学習回数の閾値）を超えたか否かを判定する（ステップＳ１０５）。学習回数が閾値を超えていない場合（ステップＳ１０５：Ｎｏ）、ステップＳ１０４に戻り処理を繰り返す。学習回数が閾値を超えた場合（ステップＳ１０５：Ｙｅｓ）、学習部１１０は、圧縮されたネットワーク係数を表すビットストリーム（ネットワーク係数ストリーム）を生成して出力する（ステップＳ１０６）。
【００２７】
このように、第１の実施形態にかかるネットワーク係数圧縮装置では、仮の入力データと、この入力データに対する学習済みのニューラルネットワークの出力値とを教師データとすることで、元のネットワークの学習時に用いた学習データセットを必要とせずに、ネットワーク係数の圧縮および学習が可能となる。
【００２８】
（第２の実施形態）
第２の実施形態では、ネットワーク係数の圧縮および更新をさらに具体化した例を説明する。第２の実施形態にかかるネットワーク係数圧縮装置の全体の構成は第１の実施形態と同様である。第２の実施形態では、学習部１１０−２の構成が第１の実施形態の学習部１１０と異なる。以下では、学習部１１０−２の構成および機能について主に説明する。
【００２９】
図４は、学習部１１０−２の詳細構成の一例を示すブロック図である。学習部１１０−２は、圧縮部１１１と、伸張部１１２と、更新部１１３と、生成部１１４と、を有する。
【００３０】
圧縮部１１１は、ネットワーク係数の非可逆圧縮を行う。非可逆圧縮は、例えば、線形量子化、および、非線形量子化である。圧縮部１１１は、量子化ビット数、量子化ステップ幅、量子化オフセット、および、代表値などの量子化パラメータに従い、ネットワーク係数を量子化する。
【００３１】
伸張部１１２は、圧縮されたネットワーク係数を伸張し、更新部１１３へと出力する。伸張部１１２は、圧縮部１１１による圧縮処理に対応する伸張処理により、圧縮されたネットワーク係数を伸張する。例えば圧縮部１１１が量子化を行う場合、伸張部１１２は、この量子化に対応する逆量子化を行う。
【００３２】
なお、圧縮前のネットワーク係数は、例えば、浮動小数点（１６ビット、３２ビット、６４ビット）、および、固定小数点（８ビット）である。圧縮（量子化）によりネットワーク係数のビット数は小さくなる。伸張部１１２は、圧縮前のネットワーク係数のビット数となるように伸張処理を実行する。
【００３３】
更新部１１３は、推論部１０１で使用された仮の入力データとその入力データに対する出力値を教師データとして、機械学習の手法を用いて、ネットワーク係数を更新する。機械学習の手法としては、誤差逆伝播法（バックプロパゲーション）などの任意の手法を適用できる。
【００３４】
通常の教師あり学習ではラベルを教師とするが、本実施形態では推論部１０１で使用した仮の入力データの出力値を教師とする。このため、圧縮前のネットワーク学習時に用いたデータセットが利用できなくても教師ありのデータセットを自前で用意することができる。また、ラベルでは無く複数のユニットの出力値を用いることで、圧縮前のネットワークとの誤差を正確に計算でき、圧縮前のネットワークの出力に近づけるように係数を更新することができる。
【００３５】
生成部１１４は、圧縮されたネットワーク係数からネットワーク係数ストリームを生成して出力する。量子化による圧縮の場合、生成部１１４は、量子化ビット数、量子化ステップ幅、量子化オフセット、および、量子化テーブルなどを必要に応じてヘッダ情報として符号化する。また生成部１１４は、量子化値については、ハフマン符号および算術符号化などのエントロピー符号化を行ってもよい。
【００３６】
次に、このように構成された第２の実施形態にかかるネットワーク係数圧縮装置によるネットワーク係数圧縮処理について図５を用いて説明する。図５は、第２の実施形態におけるネットワーク係数圧縮処理の一例を示すフローチャートである。
【００３７】
ステップＳ２０１からステップＳ２０３までは、第１の実施形態にかかるネットワーク係数圧縮装置１００におけるステップＳ１０１からステップＳ１０３までと同様の処理なので、その説明を省略する。
【００３８】
圧縮部１１１は、学習済みのネットワーク係数の非可逆圧縮を行う（ステップＳ２０４）。圧縮部１１１は、すべてのネットワーク係数に対して共通の量子化パラメータを用いてもよいし、予め定められた単位ごとに量子化パラメータを切り替えてもよい。予め定められた単位は、例えば、１つの層、複数の層、１つのユニット、および、複数のユニット、などである。圧縮処理はすべての層で行ってもよいし、一部の層のみで行ってもよい。また、各層に対する圧縮は常に行う必要はなく、繰り返しの各回で相互に異なる層を圧縮してもよい。例えば圧縮部１１１は、ある層については繰り返しの途中から圧縮してもよいし、繰り返しの各回で交互に圧縮する層を切り替えてもよい。
【００３９】
圧縮部１１１は、圧縮回数が閾値を超えたか否かを判定する（ステップＳ２０５）。圧縮回数が閾値を超えていない場合（ステップＳ２０５：Ｎｏ）、伸張部１１２は、圧縮されたネットワーク係数を元のビット数の信号に伸張する（ステップＳ２０６）。
【００４０】
次に更新部１１３は、誤差逆伝播法などの機械学習の手法を用いて、伸張されたネットワーク係数を更新する（ステップＳ２０７）。更新部１１３は、更新処理の回数（更新回数）が閾値（更新回数の閾値）を超えたか否かを判定する（ステップＳ２０８）。
【００４１】
更新回数が閾値を超えていない場合（ステップＳ２０８：Ｎｏ）、更新部１１３は、ステップＳ２０７に戻り処理を繰り返す。更新回数が閾値を超えた場合（ステップＳ２０８：Ｙｅｓ）、ステップＳ２０４に戻り、さらに圧縮処理が繰り返される。
【００４２】
更新回数は、例えば、学習データが一周する単位（エポック）で圧縮処理が実行されるように定められる。更新回数の決定方法はこれに限られず、任意の方法を適用できる。例えば、エポックの半分で圧縮処理が実行されるように定めてもよい。また、繰り返しを行わず、係数を更新するごと（バッチごと）に圧縮を行ってもよい。このように、学習部１１０−２（圧縮部１１１）は、エポックおよびバッチを含む予め定められた単位で非可逆圧縮を実行してもよい。
【００４３】
圧縮回数が閾値を超えた場合（ステップＳ２０５：Ｙｅｓ）、生成部１１４は、圧縮されたネットワーク係数のストリーム（ネットワーク係数ストリーム）を生成して出力する（ステップＳ２０９）。
【００４４】
第２の実施形態の学習部１１０−２によれば、圧縮前のニューラルネットワークでの出力を教師データとして圧縮したネットワーク係数の更新を行うことで、圧縮前のニューラルネットワークに近い出力が得られる、圧縮されたネットワーク係数を学習により得ることができる。このため、認識等のタスクの性能への影響を抑えつつ圧縮率を高めることが可能となる。
【００４５】
（変形例）
学習部１１０−２（圧縮部１１１）による圧縮方法は上記に限られるものではない。圧縮部１１１は、例えば、学習済みネットワーク係数を複数のグループに分割し、同じグループに属するネットワーク係数については共通の値となるように圧縮してもよい。この場合、更新部１１３は、同じグループに属するネットワーク係数については同じ更新幅を用いて更新してもよい。このような圧縮方法であっても、仮の入力データと、この入力データに対する出力値の組を教師データとしてネットワーク係数の圧縮を含む学習が可能である。
【００４６】
（第３の実施形態）
第３の実施形態では、上記実施形態のネットワーク係数圧縮装置により圧縮されるニューラルネットワークを用いたタスクを実行する装置について説明する。以下では、第１の実施形態のネットワーク係数圧縮装置１００を含み、ニューラルネットワークを用いた認識処理を実行する認識装置５００の例を説明する。第１の実施形態のネットワーク係数圧縮装置１００の代わりに第２の実施形態のネットワーク係数圧縮装置を含むように構成してもよい。また、適用可能なタスクは認識処理に限られず、回帰分析などのニューラルネットワークを用いた任意のタスクに適用できる。
【００４７】
図６は、第３の実施形態の認識装置５００の構成の一例を示すブロック図である。認識装置５００は、ネットワーク係数圧縮装置１００と、記憶部２００と、認識部３００と、を有する。
【００４８】
記憶部２００は、圧縮する前の学習済みネットワーク係数、ネットワーク係数圧縮装置１００により圧縮されたネットワーク係数などの各種情報を記憶する。記憶部２００は、例えば図１の学習済みネットワーク係数１２１、仮の入力データ１２２、出力値１２３、および、圧縮済みネットワーク係数１２４を記憶する記憶部に相当する。
【００４９】
認識部３００は、圧縮済みネットワーク係数で表されるニューラルネットワークを用いて認識処理を実行する。例えば、画像内の物体を認識する場合であれば、物体を分類する複数のクラス（車、人物、動物など）を認識対象として学習されたニューラルネットワークが用いられる。認識部３００は、例えば画像から抽出された画像特徴量（特徴ベクトル）をニューラルネットワークに入力し、出力層から出力された尤度などに基づき、物体がいずれのクラスに属するかを認識する。認識処理は画像認識に限られず、音声認識などの他の任意のパターン認識にも適用できる。
【００５０】
認識部３００は、ディスプレイなどの表示装置、ネットワークなどにより接続された外部装置、および、プリンタ（画像形成装置）などに、認識結果を出力する。
【００５１】
このように、第３の実施形態にかかる認識装置では、性能低下を抑えるようにネットワーク係数が圧縮されたニューラルネットワークを用いたタスクを実行可能となる。
【００５２】
以上説明したとおり、第１から第３の実施形態によれば、認識等のタスクの性能低下を抑えつつ、ニューラルネットワークのネットワーク係数の高圧縮率を実現可能となる。
【００５３】
次に、第１から第３の実施形態にかかる装置（ネットワーク係数圧縮装置、認識装置）のハードウェア構成について図７を用いて説明する。図７は、第１から第３の実施形態にかかる装置のハードウェア構成例を示す説明図である。
【００５４】
第１から第３の実施形態にかかる装置は、ＣＰＵ（Central  Processing  Unit）５１などの制御装置と、ＲＯＭ（Read  Only  Memory）５２やＲＡＭ（Random  Access  Memory）５３などの記憶装置と、ネットワークに接続して通信を行う通信Ｉ／Ｆ５４と、各部を接続するバス６１を備えている。
【００５５】
第１から第３の実施形態にかかる装置で実行されるプログラムは、ＲＯＭ５２等に予め組み込まれて提供される。
【００５６】
第１から第３の実施形態にかかる装置で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ（Compact  Disk  Read  Only  Memory）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Compact  Disk  Recordable）、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
【００５７】
さらに、第１から第３の実施形態にかかる装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、第１から第３の実施形態にかかる装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【００５８】
第１から第３の実施形態にかかる装置で実行されるプログラムは、コンピュータを上述した装置の各部として機能させうる。このコンピュータは、ＣＰＵ５１がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
【００５９】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００６０】
１００  ネットワーク係数圧縮装置
１０１  推論部
１１０、１１０−２  学習部
１１１  圧縮部
１１２  伸張部
１１３  更新部
１１４  生成部
２００  記憶部
３００  認識部
５００  認識装置
【図１】
2019028746.tif 000004
【図２】
2019028746.tif 000005
【図３】
2019028746.tif 000006
【図４】
2019028746.tif 000007
【図５】
2019028746.tif 000008
【図６】
2019028746.tif 000009
【図７】
2019028746.tif 000010