目次

6. 推論

6.1 推論方法

前章までで作成されたモデル(ニューラルネットワークと最適化されたパラメータの組み合わせ)を用いて、 測定値または何らかの方法で作成されたS行列画像から誘電率分布を推定することを推論(inference)と呼びます。

図6-1に推論の手順を示します。
以下の2つのファイルを用意します。

  1. fdtd.bin: テストデータ、FDTD法で出力されるfdtd.binと同じ書式で、 S行列に測定値または何らかの方法で作成されたもの(注1)を代入したもの。 誘電率は不要なのでダミー(例えばすべて0)でよい。(注2)
  2. dlspa.pth: 前章までで作成されたモデルファイル

(注1)
テストデータをFDTD法で作成するときは、リスト5-1または5-2においてItest=1とし、 Ndataにデータ数を代入してください。 S行列差分をとったときは第1データは誘電体なしなのでNdataはテストデータ数+1となります。 また、S行列差分をとるには測定時に位相も必要になります。
(注2)
学習時にS行列差分を行ったときは同様にS行列差分を行ってください。

図6-1 推論の手順

推論を行う前にリスト5-3を参考に dlspa.py の該当部分を編集してください。
推論を行うには下記のコマンドを実行してください。計算時間は一瞬です。

$ python dlspa.py 2
$ python dlspa.py 2 [datafile [modelfile]]  (引数で制御するとき)

推論結果を図形出力するには、必要なら post.py を編集した後、 下記のコマンドを実行してください。

$ python post.py

6.2 2次元モデルの推論結果例

図6-2に2次元モデルの5データの推論結果例を示します。
誘電体の誘電率分布を推定したものです。
誘電体の位置、形状、誘電率がほぼ正しく推定できていることがわかります。


図6-2 2次元モデルの推論結果(上:正解、下:推論、学習時データ数100,000)

6.3 3次元モデルの推論結果例

図6-3に3次元モデルの3データの推論結果例を示します。
誘電体の誘電率分布を推定したものです。
誘電体の位置、形状、誘電率がほぼ正しく推定できていることがわかります。


(a) データ#1(1個の立方体)

(b) データ#2(2個の立方体)

(c) データ#3(1個の球)
図6-3 3次元モデルの推論結果(上:正解、下:推論、学習時データ数40,000)