PINN 1D から 2D へ展開したのですが、うまくいきませんでした。
簡単なコードだからダメなのか、NNが難しいのか。
分かったこともあります。
商用ソフトでは境界条件を張る場所を指定し、経時変化を入力すれば自動で処理してくれるのですが、簡単なコードでは点数×時間分、境界条件を定めなくてはなりません。当たり前ですが、慣れ切っていましたね。同様に、初期条件はイメージ通りとしても、途中の観測点も時間分作らないといけません。良い復習になりました。
正しく解けたかどうかは分かり難いですね。loss が大きくてもそれなりの答えが出てしまうところが難点。十分小さな loss を目安にするしかないのでしょう。そのために、ニューロンを増やす、隠れ層を増やすなどの対応もあるのでしょうが、いつものように最適な構造を探すのは難しい。時間がかかりそうです。
それでも、試行錯誤したことで PINN の仕組みはわかりました。当初目的は達成したので、次のステップへ移りましょう。
NVIDIA さんの Example は動かなかったのですが、なんとかなると思います。いきなり分かり難くなるのですが、中間が見当たりません。当面、これを動かすことを目標に進めましょう。
0 件のコメント:
コメントを投稿