2022年12月18日日曜日

機械学習コンペ

機械学習のコンペサイトは Kaggle が有名ですが、日本にもあります。

SIGNATE https://signate.jp/

土木がらみのコンペも開かれています。
昔は衛星データから崩壊個所を予測する内容や、海岸線を抽出するものが出ていました。最近では、広島県から河川水位と雨量から翌日の水位を予測するコンペ、山口県からドライブレコーダーの画像から要補修個所を拾うコンペが出ています。

仕事では、機械学習の性能を発揮できないようなダーティーなデータを扱うことが多いため、たまには綺麗なデータを扱ってみたいと思うことがあります。が、経験上、これらのコンペに出ているデータもそれほど綺麗なものではありません。ストレス解消にはならないのです。

が、発見がないというわけではありません。
山口県のコンペが成功すれば、今後、安価な代替え手法として流行るかもしれません。結果には注目です。

PINNや物理探査など、機械学習が様々な分野で身近になってきた1年だったように感じます。
来年はどこまで迫ってくるでしょうか。


PINN 2D は難しい

PINN 1D から 2D へ展開したのですが、うまくいきませんでした。

簡単なコードだからダメなのか、NNが難しいのか。

分かったこともあります。
商用ソフトでは境界条件を張る場所を指定し、経時変化を入力すれば自動で処理してくれるのですが、簡単なコードでは点数×時間分、境界条件を定めなくてはなりません。当たり前ですが、慣れ切っていましたね。同様に、初期条件はイメージ通りとしても、途中の観測点も時間分作らないといけません。良い復習になりました。

正しく解けたかどうかは分かり難いですね。loss が大きくてもそれなりの答えが出てしまうところが難点。十分小さな loss を目安にするしかないのでしょう。そのために、ニューロンを増やす、隠れ層を増やすなどの対応もあるのでしょうが、いつものように最適な構造を探すのは難しい。時間がかかりそうです。

それでも、試行錯誤したことで PINN の仕組みはわかりました。当初目的は達成したので、次のステップへ移りましょう。
NVIDIA さんの Example は動かなかったのですが、なんとかなると思います。いきなり分かり難くなるのですが、中間が見当たりません。当面、これを動かすことを目標に進めましょう。


2022年12月11日日曜日

PINN で 1D 移流拡散

続きです。

拡散項を追加。自動微分がありがたい。

良さそうです。

が、ここに至るまでにおかしな結果を何度か見ました。

拡散係数が小さいと、移流しなくなる答えを出してきます。
念の為、昨日の移流のみの計算を繰り返したところ、全く移流しないパターンが出てきました。NN的には loss が最小のものを出せば良いだけなので、それはそれで答えの一つなのかもしれません。が、怖い。かなり。

2022年12月10日土曜日

PINN で 1D 移流

GitHubから、 最も理解しやすかったコードをDL。
https://github.com/nanditadoloi/PINN

PDE を移流方程式に変えて計算してみました。



移流が綺麗に解けると伺っていましたが、本当に驚き。個々の値のブレが若干大きな気もしますが、全体形状を見るとオーバー、アンダーシュートが見られません。NNなので計算時間はかかりましたが、アリですね。

Pytorch ですので、一度計算をかけた後に観測点を増やして先の続きから計算、というのが手軽にできます。FEMでは計算途中でメッシュを切りなおして、なんていうと構えてしましますが、こちらはほぼ制限なし。メッシュレスの良い点でしょう。
数値解析の解法に関する知識がほぼ不要というのも受けそうです。機械学習をやっている方なら、問題なく扱え、すぐに計算結果を出すことができるでしょう。教師データが不要なのも入りやすいと思います。

残念ながら、解けない場合にどのように改善していくかというノウハウがありません。解けた場合でも、厳密解がない場合は、正しく解けているのかどうかわかりません。これから知見が蓄積されるのでしょうね。いえ、もう数年たっていますので、どこかにあるのかもしれません。

これ、面白いので、もう少し触ってみましょう。



2022年12月8日木曜日

Failed to Install linux-image

Ubuntu22.04 の1台で、apt upgrade が使えなくなって2ヶ月。
Teams を入れようとして支障が出たため、重い腰を上げることにしました。

「大量のエラーが発生したため、処理が停止しました。」

この場合の対応はweb上に色々と書かれています。手当り次第試しましたが駄目。そういえば、手がなくなって寝かせていたのでした。

最後にた取りついたのがコチラ。
you need to remove the post-installation script of the packages
https://askubuntu.com/questions/1371963/ubuntu-20-04-lts-failed-to-install-linux-image-5-4-0-89-generic

次は1発で済ませます。

 

2022年12月6日火曜日

PINN の動向

先日、PINN の話を聞く機会がありました。

初歩的な話でしたので計算に役に立つ、というようなレベルではなかったのですが、質問する機会は得られました。

PINNで気持ち悪いのが、時空間の関係があいまいになっている点。
FEMなら全体剛性マトリックス、SPHなら粒子間距離を使って近傍の関係性を明示できるのですが、PINN は NN の weight に押し込められています。時間方向も同様です。
これについて、時間方向は1タイムステップ毎に収束させてから次に進む研究があるとの回答を頂きました。ある時点で特異値を得ても全体で均されるとわからなくなるという状況を解決したいというところから始まっているようです。まだ論文は見つけていませんが、時間方向だけでも明確になれば空間方向は NN の構成と weight で、というのはありかなと思えてきます。

もう一つはGPU。
陰解法では倍精度主体の GPU が欲しいものの、機械学習や陽解法では単精度主体の GPU で良いと思っています。では、PINNはどうか?個人的には求める制度にもよりますが、基本は単精度で良さそうだと考えていました。
この点を伺うと、単精度で書かれたコードは多くみられるが、倍精度でないと結果が合わないケースもあるとのこと。ま、そうなんでしょうね。

今後はサロゲートモデルも選択肢の一つに入る時代になるでしょう。既存の手法を深めつつ、新しい手法も身に着ける必要があります。ま、新技術に対し真摯に取り組む必要があること自体は、時代が変わっても不変です。


2022年12月4日日曜日

Georisk

PINN の論文をたどりながら、思いかけず出会った雑誌。

ジオリスクのみで雑誌ができるとは思ってもいませんでした。
興味を惹かれたので、Open になっている中から、一つ読んでみました。
Observational method as risk management tool: the Hvalfjörður tunnel project, Iceland 

フォールトツリー分析を用いたトンネル掘削時のリスクマネジメント例です。詳細までは書かれていませんが、スタンダードな手法でリスクマネジメントを行われたことは理解できます。

これを読んでいて思い出したのが、総監。「あなたは管理技術の何を使いましたか?」と聞かれたのを思い出しました。FTAのような技術を選択肢として複数持っていないと、管理は低レベルになり事故を引き起こしかねません。裸でリスク源に向かっていくようなものです(先のexecutivesです)。

適切な技術を選択し、観測データによるリスク対応をトンネル掘削前に決めておく。これが標準なのでしょう。管理技術を学んだ方々にとっては特に難しい話ではないのですが、訓練は必要でしょうね。