目次

3. 2次元モデルの計算

3.1 計算条件

2次元モデルのFDTD法の計算条件は以下の通りです。

深層学習の計算条件は以下の通りです。

3.2 誘電率分布

地下に3個の長方形を置きます。それぞれの位置と縦横の長さをランダムにとります。
誘電率分布としては以下の3ケースを考えます。

(1) ケース1

(2) ケース2

(3) ケース3

誘電率分布の不連続を緩和するために次式の5点平均化を1回行っています(導電率も同様)。
FDTD法では電気定数が不連続なYee格子点では両側の電気定数の平均値をとると計算精度が上がることが知られています。([1]p.39)

εr(i,j) ← {εr(i,j)+εr(i-1,j)+εr(i+1,j)+εr(i,j-1)+εr(i,j+1)}/5

図3-1に教師データの誘電率分布の一部を示します。 青→赤で誘電率が高くなることを表しています。
図(a)では地中と長方形の誘電率は一定です。
図(b)では地中の誘電率は一定、長方形の誘電率はランダムです。
図(c)では一定の割合で地下が2層に分割されていることと、 誘電率がランダムに設定されていることがわかります。
教師データから一定の割合(例えば80%)をランダムに選んで訓練データとし、 残りは検証のためのテストデータとします。


(a) ケース1

(b) ケース2

(c) ケース3
図3-1 誘電率分布

3.3 地中レーダー画像について

図3-2に6個の地中レーダー画像例を示します。
横軸は送信アンテナ位置、縦軸は受信波形の時間であり時間は上から下に進みます。
横方向のピクセル数は送信アンテナの数と同じ56であり、 縦方向のピクセル数はResNetを考慮して224としています。 送信アンテナからの直接波と地面からの反射波が経過した時間以降を取り出しています。
地中レーダー画像には地中の物体(誘電率の不連続)からの反射波による特徴的な双曲線が見られます。
その他、地中での電磁波の反射や散乱に起因する模様が見られます。 これらは地中の構造を反映しています。


図3-2 地中レーダー画像(56x224ピクセル)

3.4 パルス波形の比較

図3-3にパルス波形を変えたときの損失の収束状況を示します。
これから損失はパルス波形によってあまり変わらないことがわかります。
以下ではガウスパルスを考えます。


図3-3 パルス波形と損失の関係(ケース1, データ数=30000, ResNet18, 56x224px)

3.5 レーダー画像の変形

ResNetは画像サイズ224x224ピクセルのImageNet[8]向けに学習しているので、 画像サイズと縦横比がこれに近いほど精度がよいことが知られています。
図3-4に元の画像(56x224px)と変形した画像(112x112px)の損失の収束状況を示します。
両者の総ピクセル数は同じなので計算時間はほぼ同じです。
これから正方形画像(112x112px)のほうが損失が小さいことがわかります。
以下ではレーダー画像を112x112pxに変形したのちに学習を行います。 (PyTorchのtransforms.Resize関数を使用します)


図3-4 レーダー画像の変形の効果(ケース1, データ数=30000, ResNet18, ガウスパルス)

3.6 ニューラルネットワークの比較

図3-5にResNet18/34/50の収束状況を示します。
これからResNet34が最も性能がよいことがわかります。 ResNet18/34/50の1エポック当たりの計算時間は順に3.4/6.0/8.9秒です。
以下ではResNet34を使用します。


図3-5 ニューラルネットワークの比較(ケース1, データ数=10000, ガウスパルス, 112x112px)

3.7 ResNetの設定

図3-6にResNet34の「重みなし」と「重みあり」の収束状況を示します。
「重みあり」がわずかに性能がよいことがわかります。 以下では「重みあり」を使用します。前項までの結果も「重みあり」です。


図3-6 ResNet34の設定の比較(ケース1, データ数=10000, ガウスパルス, 112x112px)

3.8 誘電率分布と収束状況の関係

図3-7にケース1~3の損失の収束状況を示します。
これから誘電率分布が変わっても収束状況はほぼ同じであることがわかります。


図3-7 誘電率分布と収束状況の関係(データ数=30000, ガウスパルス, ResNet34, 112x112px, NAdam)

3.9 誘電率分布の推定

図3-8にケース1~3のそれぞれ20個のデータの誘電率分布の推定結果を示します。
左が正解、右が推定値の2個1組のペアになっています。
すべてのデータについて場所、形、誘電率が正しく推定できていることがわかります。


(a) ケース1

(b) ケース2

(c) ケース3
図3-8 誘電率分布の推定結果(左:正解, 右:推論, データ数=30000, ガウスパルス, ResNet34, 112x112px, NAdam)

3.10 データ数のスケール則

図3-9にデータ数を変えたときの収束状況を示します。
データ数が多いほど最終的な損失が小さいだけでなく収束も安定してかつ速いことがわかります。


図3-9 データ数と収束状況の関係(ケース1, ガウスパルス, ResNet34, 112x112px, Adam)

図3-10にデータ数を変えたときの損失の最小値(図3-9の最小値)を示します。
データ数が多いほど損失が小さくなることがわかります。
データ数100000でも飽和しておらず、データ数をさらに増やすと性能が上がることが予想できます。 (スケール則)


図3-10 データ数と損失の関係(ケース1, ガウスパルス, ResNet34, 112x112px, Adam)

3.11 最適化関数の比較

図3-11に最適化関数を変えた時の損失の収束状況を示します。
最適化関数を変えるにはソースコードdlgpr.pyを以下のように変更します。

optimizer = optim.Adam(model.parameters())
図(a)から5個のAdam系では差は小さいですがNAdamが最も性能がよいことがわかります。
図(b)からAdam系以外は性能が悪いことがわかります。
図(a)と図(b)は縦軸と横軸が異なることに注意してください。


(a) Adam系の収束状況

(b) 非Adam系の収束状況
図3-11 最適化関数の比較(ケース1, データ数=10000, ガウスパルス, ResNet18, 56x224px)

3.12 導電率分布の推定

図3-12に導電率分布の推定結果を示します。
地中の電気定数はεr=4,σ=0、 長方形の電気定数はεr=4, σ=0.1S/mです。
導電率のみが異なるために損失は導電率について計算しています。
図(b)から導電率が正しく推定できることがわかります。
地中レーダー画像は地中の誘電率と導電率の両方を反映しているために、 両方を推定すると地中の構造に関してより多くの情報が得られます。


(a) 収束状況

(b) 導電率分布の推定結果(左:正解, 右:推論)
図3-12 導電率分布の推定(データ数=10000, ガウスパルス, ResNet34, 112x112px, NAdam)

3.13 導体の推定

導体は誘電体と比べて導電率が非常に大きくなります。
本プログラムではFDTD法の差分スキームに[1]の式(1.20c)を採用しているために、 導電率を大きくすると導体を表現することができます。
誘電体が導体とみなせる条件は以下のようになります。

 (3-1)

上式にεr=1,Δ=0.025mを代入すると、導体とみなせる条件は、 σ>>0.150S/m(2D),0.184S/m(3D)となります。
図3-13(a)にσ=3S/mのときの電界分布の3例を示します。 導体内では完全導体と同じく電界が0となることがわかります。
図(b)に導電率の推定結果を示します。導体の位置と形が正しく推定できていることがわかります。


(a) 電界分布(地中:εr=4,σ=0)

(b) 導体の推定(左:正解, 右:推論, データ数=10000, ガウスパルス, ResNet34, 112x112px)
図3-13 導体の推定

3.14 誘電体と導体の混在

図3-14に誘電体と導体が混在するときの導電率分布の推定結果を示します。
地中の電気定数はεr=4,σ=0一定、 長方形の比誘電率はεr=1一定とし, 導電率はσ=0~1S/mの範囲からランダムにとります。
図(b)において赤は導電率の大きい導体、青は導電率の小さい誘電体です。 どちらも正しく推定できることがわかります。
一般に中間の導電率の材質はないので学習の効率は悪いですが、 この方法でも導体と誘電体の両方を推定できることがわかります。


(a) 収束状況

(b) 導電率分布の推定結果(左:正解, 右:推論)
図3-14 誘電体と導体の混在するときの導電率分布の推定(データ数=30000, ガウスパルス, ResNet34, 112x112px, NAdam)

3.15 パルス波形の異なるデータの推論(汎化性能テスト1)

FDTD法を用いて教師データを作るときは、 送信パルス波形は地中レーダーの画像を取得するときの送信パルス波形に合わせたほうが望ましいが、 ここでは学習時のパルス波形と測定時のパルス波形が異なるときの影響を調べます。
表3-1に、誘電率分布としてケース1とケース2の2通り、 送信パルス波形としてガウスパルスと微分ガウスパルスの2通り、 合計4通りの組み合わせの損失を示します。
学習時と測定時の条件が一致する対角線上では損失が小さいですが、 それ以外のすべての組み合わせでは損失が大きいことがわかります。

表3-1 学習時のパルス波形と測定時のパルス波形の関係
↓学習 測定→ケース1 ガウスパルスケース1 微分ガウスパルスケース2 ガウスパルスケース2 微分ガウスパルス
ケース1 ガウスパルス0.1370.6070.6440.673
ケース1 微分ガウスパルス0.7130.1340.7430.600
ケース2 ガウスパルス0.4870.6730.1320.480
ケース2 微分ガウスパルス0.6540.5290.5630.119

上記の問題を解決するために、 ガウスパルスと微分ガウスパルスを半々にとった教師データから学習することを考えます。
表3-2に混合パルス波形で学習した結果を示します。
同一パルスで学習した結果から劣化しますが、 異なるパルスの結果もある程度正しく推論できることがわかります。
誘電率分布が学習時と測定時が異なるときの推論結果は表3-1と同程度に悪いことがわかります。

表3-2 混合パルス波形教師データの効果
↓学習 測定→ケース1 ガウスパルスケース1 微分ガウスパルスケース2 ガウスパルスケース2 微分ガウスパルス
ケース10.2370.2920.6520.635
ケース20.5140.4380.3230.231

図3-15に誘電率分布が学習時と測定時が同じときの、 混合パルス波形の学習結果を示します(表3-2で色をつけた組み合わせ)。


(a) ケース1(ガウスパルスレーダー画像の推定)

(b) ケース1(微分ガウスパルスレーダー画像の推定)

(c) ケース2(ガウスパルスレーダー画像の推定)

(d) ケース2(微分ガウスパルスレーダー画像の推定)
図3-15 混合パルス波形の学習の効果(左:正解, 右:推論, データ数=10000, ResNet34, 112x112px, Adam)

3.16 学習データと異なる誘電率分布の推論(汎化性能テスト2)

学習データに使用する誘電率分布は、運用時の誘電率分布に近いことが大切です。
ケース1は地中と埋設物の誘電率が固定であり、 ケース2は地中の誘電率は固定であり埋設物の誘電率はランラムに変わります。 ケース2は特殊なケースとしてケース1を含んでいます。
学習時と推論時の誘電率が同じであればすでに述べたように正しく推論されます。
図3-16に学習時と推論時の誘電率が異なるときの推定結果を示します。
図(a)では比較的正しく推定され、図(b)では推定結果には大きな誤差があります。


(a) ケース2で学習したパラメーターでケース1を推論した結果(推論データは学習データに含まれる)

(b) ケース1で学習したパラメーターでケース2を推論した結果(推論データは学習データに含まれない)
図3-16 学習データと異なる誘電率分布の推論(左:正解, 右:推論, ガウスパルス, データ数=30000, ResNet34, 112x112px, NAdam)