2026年7月6日月曜日

AI と"考える"技術者

AI を使うことで、コーディングの壁がなくなりました。
これまで土水問わず多様なシミュレーションコードを触ってきましたが、これらは全てAIが組めるようになりました。プログラムの組み方を知らなくても、AI に教えてもらいながらシミュレーションができる時代になってしまいました。この点で、シミュレーションを専門にする技術者のアドバンテージはなくなりつつあります。生き残るには、これまでにないアイデアを出し続けられる人か、AI の誤りを正せる人か。そう考えると、若い方々をどのように育てるべきか悩むところです。効率化のためには AI に頼るべきですが、生き残るためには AI に頼らず時間をかけて考え、失敗を繰り返しながら判断力をつけて頂きたい。いずれにせよ、AI によって一定レベルの技術者の需要が失われるのは確実でしょうから、それを見据えて今何をするか、何をしたいかを考えてもらう必要があるでしょう。

建設コンサルタントが委託されている設計業務も、ある程度 AI ができるレベルになっています。各種基準書は AI にやさしい形で提供され始めましたし、点群、平面図、用地、各種制約条件等を与えて判断ポイントを教えると、どの会社でも 1, 2 年で実用化できる環境は整っています。もしかすると、国が設計スキル群を公開するかもしれません。そうなると、設計者の数が今ほど必要なくなります。より短時間で誰でもできる仕事になるので、設計単価も安くなるでしょう。そもそも、誰でも一定品質で設計できるように基準やマニュアルが整備されてきた背景があるため、画一化、統一化と相性の良いAIこそ、この理念の行きつく答えなのかもしれません。ま、コンサル業界がそこまで見ていたら、失業を伴う方向に本気で取り組むことはないと思いますが。

そう考えると、重要となるのは測量や調査です。人はもちろん、AIであっても地下の状態はわかりません。いかに精度よく、効率的に3Dデータを現場から持って帰られるか?地下の状態を的確に把握することができるか?近い将来、地質踏査やボーリング調査がこれまで以上に重要視されると思います。ま、さらに先はそれらも自動化されるのでしょうが。

そしてもう一つ。現状の AI は国産ではありません。先日の Mythos や Fable 5 をめぐる一件では、そのサプライチェーンリスクを改めて突きつけられました。頼りすぎるのも危ういが、頼らなければ後れを取る。AI を使うことを前提としながらも、それに依存しきらない考える技術者をどう育てるか。これが、短期的には避けて通れない課題なのだと思います。


2026年7月5日日曜日

3次元すべり面推定→安定計算(逆算)→(順算)LSM作成 その2

3次元すべり面推定→安定計算(逆算)→(順算)LSM作成の続きです。https://phreeqc.blogspot.com/2025/01/3lsm.html

この流れを全てWEBアプリ経由で動かせるようにしていたのですが、この週末に中身を整えました。

SLBLでは、崩壊前DEMに崩壊後DEMも加え、推定面が削剥部より浅ければ最大深にアンカーする処理を追加。 C やすべり面深度の統計量書き出しも追加しました(こちらはまだOpenにしていません)。

安定計算 は bug fixのみ、Region3D は引張/圧縮領域の分布図追加、高速化、bug fixを行いました。Win と Linux で Python library の挙動が異なる箇所はAIが見つけてくれました。ありがたい。

14000箇所の崩壊地のすべり面推定→逆算→順算が半日かからない程度。実用的な時間となりました。
もう少し精度面で手を入れたいと思います。また余裕がある時に手を入れましょう。

スマホアプリでH/V

M5Stack Tough の振動計をアレンジして、H/Vを画面表示するプログラムを作成しました。

Tough の画面上のスタートボタンを押して計測を開始し、計測が終わったらHVSRを表示。ピーク周波数を数値で表示するようにしました(ついでにS波速度を仮定し、1/4波長則で換算深度も表示させました)。これならToughを地面に置いてボタンを押すだけで、どなたでも相対的な硬軟、堆積物の深さがわかる、はずです。
理屈はあっているのですが、ADXL355で微動を評価できるのかは半信半疑。先日の文献でも欲しい3Hz以下がイマイチなようでしたので、使えたらラッキー程度の思想です。どこかで試さなくては。

スマホからも Bluetooth 接続で Tough を操作できるようにしました。スマホ単独でも測定可能ですが、文献を見るとスタックが必要とのこと(時間をかけると評価できるとの報告に驚きですが)。

Tough を制御しデータを取り込むことで、長時間のスペクトル計算が可能です。GNSSによる位置情報をデータに付与して保存し、地図上に表示できるようにもしました。



最近のスマホは処理能力が上がっており、数分間の振動データのFFTも瞬時に処理できました。数多くのデータも余裕で保存できます。位置情報をつけてクラウドに保存する基盤も整っています。そこにAIが入ることで、コーディングの壁がなくなりました。もう、アイデア次第で大抵のことはできそうです。

この程度のことは独創的とは言えません。今後はより尖ったアイデアが必要になってきそうです。

2026年7月2日木曜日

Claude

Claude で Fabale5 を再び使えるようになりました。

早速、過去のコード群を修正。あきらめかけていた資料収集を深堀。で、1時間でクレジットを消費。強いけど、高い。

「デフォルトでリモートコントロールを有効にする」を ON にすると、Code に 別PC のプロジェクトが表示されるようになりました。他PCの計算をリモートで制御できるようになっています。Linux版 Desktop が出たので、Windows , Linux へスマホからでも、指示ができるようになりました。知りませんでした。

Claude Science も発表されました。何ができるのでしょうか。


ひとつづつ、試していきましょう。


2026年6月21日日曜日

文献:Use of MEMS Accelerometer ADXL355 in Microtremor Surveys | IEEE Conference Publication

AI要約
1. 背景
地震調査においてMEMSセンサの活用が期待されています。
従来のMEMSセンサは0.1〜2 Hzの低周波領域における感度が専用ジオフォンに及ばないという課題がありました。本研究では、従来より低ノイズ(22.5 µg/√Hz)なADXL355を用い、微動探査、特にH/V法(中村メソッド)への適用可能性を検証しました。

2. 手法:機器特性の評価と差し引き
機器固有の特性(ノイズ)を正確に把握し、測定データから除去するために以下の手順が取られました。
  • 特性評価(自己ノイズの記録): 微動測定に先立ち、振動のない「ゼロ運動レベル」での計測を、道路から離れた建物の地下(コンクリート基礎上)で70時間にわたって実施しました。
  • 多項式近似: 記録されたノイズスペクトルは滑らかな形状を示したため、これを3次多項式で近似し、センサ固有のホワイトノイズ曲線として定義しました。
  • ノイズの差し引き: 実際の現場で計測された微動スペクトルから、解析の第一段階として、この近似された多項式曲線を差し引くことで、機器特性の影響を排除した純粋な振動成分を抽出しました。
3. 結果
微動の特定: フィルタリング後のスペクトルにより、地盤の自然振動数(約6 Hz)と人工的な振動(8 Hz以上)を明確に区別して特定することができました。

4. 考察
MEMSセンサの周波数応答は、低周波領域において感度が物理的に制限されているため、微弱な深部からの共振を正確に捉えきれない可能性があります。本研究では、0.05〜3 Hzの低周波領域については精度が不十分(不確実)であると判断されました。この帯域でもいくつかの弱いピークが観測されましたが、センサの感度限界に近いことから、信頼性に欠けると判断されました。最終的なH/Vスペクトル図(Fig. 9)において、0.05〜3 Hzの範囲は破線で示されており、この領域の正確な評価には専用の3成分ジオフォンを用いた追加調査が必要であると結論付けられます。

ADXL355とマイコンでH/Vを算出する端末を作成し、スマホから操作できるようにはしました。MEMSですのでノイズの大きさから半分あきらめつつ作っていたのですが、意外とそれらしいH/Vが取れるので調べてみることに。引っかかった文献がこれでした。3Hz以下が難しいというのはそこそこ実体験に合うので、ある程度正しい情報なのだろうと思います。

文献:A Novel High-Frequency Landslide Monitoring Device Based on MEMS Sensors and Real-Time Early Warning Method

A Novel High-Frequency Landslide Monitoring Device Based on MEMS Sensors and Real-Time Early Warning Method

AI要約

1. 背景

地滑りは世界的に甚大な被害をもたらす地質災害であり、特に中国のような山岳地帯では、居住地近くで発生する「小規模ながら大きな被害」を引き起こす突発的な地滑りが深刻な脅威となっています。既存の監視技術(GNSS、InSAR、地中傾斜計など)は一定の成果を上げているものの、「高コスト」「設置の複雑さ」「データ処理の遅延」といった課題があります。特に、衛星測位(GNSS)はサンプリングレートが通常1Hzと低く、崩壊直前の急激な加速フェーズ(数秒〜数分)を詳細に捉えることが困難でした。そのため、低コストで設置が容易、かつミリ秒単位の動態を捉えられる高頻度なリアルタイム監視システムの構築が求められていました。

2. 手法

本研究で開発された GeoMAS (Geological MEMS Alert System) は、以下の技術的特徴を備えています。

  • システム構成: 斜面に設置する「監視ユニット」と、居住区に設置する「アラームユニット」の2ユニット構成です。これにより、物理的な距離(最大5kmのLoRa通信)を利用して避難時間を稼ぐ設計となっています。
  • 高頻度サンプリング: 3軸MEMS加速度計を用い、100〜1000Hzの極めて高い頻度でデータを収集します。これにより、目視では不可能なミリ秒単位の微細な振動や前兆を記録できます。
  • エッジコンピューティングによる高度な信号処理: ウェーブレット閾値フィルタリング(sym8基底)とカルマンフィルターを組み合わせ、環境ノイズを抑制しつつ、加速度から速度・変位を算出する際の積分ドリフトを補正します。
  • パラメータ算出: 加速度、変位に加え、重力成分の空間分解による傾斜角も同時に算出します。
  • 早期警戒アルゴリズム:
    運動強度因子 (y): 加速度の大きさと、異常イベントの発生頻度(時間間隔)を組み合わせた独自の指標を算出します。
    変化率 (y ′ ): y の値を4次多項式でフィッティングし、その微分から変化のトレンドを把握します。
    決定マトリックス: y と ∣y’ ∣ を閾値と比較し、4段階(警報、警告、警戒、安全)のレベルを判定します。また、複数デバイスの情報を統合したリスク指数 (F) による広域評価も行います。
  • 省電力・通信設計: 監視ユニットは20mW以下の低消費電力で動作し、ソーラーパネルとバッテリーで自律運用が可能です。通信は4GとLoRa(自組織ネットワーク)のデュアルモードを採用し、緊急時でも安定した警報送信を維持します。

3. 結果

屋外の大型実験サイトにおいて、人工降雨による斜面崩壊シミュレーションを行い、性能を検証しました。

  • 前兆の早期検知: 目視で亀裂が確認される前の段階で、システムは運動強度因子の異常を検知し、「警戒 (Vigilance)」レベルを通知しました。
  • 警報の発令: 背面に引張亀裂が発生したのとほぼ同時(崩壊の9秒前)に、最高レベルの「警報 (Alarm)」を自動発令しました。
  • 避難時間の確保: 前兆信号の検知から最終的な崩壊まで、システム全体で13秒前に警告を行うことに成功しました。実際の運用では、斜面から居住区までの土砂到達時間を加味することで、さらに長い避難ウィンドウが確保されるとされています。

4. 考察

既存技術との相補性: 本システムは、InSARやGNSSが苦手とする「崩壊直前の過渡的な加速」を捉える能力に長けています。一方で、数ヶ月単位の緩やかな変位の追跡にはGNSSが適しており、これらを統合した「空・宇宙・地上」の共同監視ネットワークの構築が理想的です。
 加速度積分による変位誤差の累積(ドリフト)や、環境変化(雨量など)に応じた閾値の動的調整が今後の課題です。
今後は機械学習を用いた閾値の最適化や、風力・振動発電などのさらなるエネルギー回収技術の導入が検討されています。

崩れる直前1分に焦点を当て、開発されたようです。個人的にはそのコンセプトよりもハードの方が気になりました。ソーラーパネルもLoRaも普及している技術ですが、それをコンパクトにうまくまとめられています。私も手元の機器でこの組み合わせを考えていましたので、参考にさせていただきましょう。

2026年6月20日土曜日

文献:Groundwater pH buffering in carbonate aquifers exposed to high-calcium ash backfill


AI要約
1. 背景
廃止された浅い鉱山跡は、地盤沈下を引き起こし、インフラや公共の安全を脅かす重大なリスクとなります。この対策として、石炭や油母頁岩(オイルシェール)の燃焼副産物である高カルシウム灰( CaO 含有率20%以上の灰)をバックフィルとして地下空洞に注入し、地盤を安定化させる手法が取られています。高カルシウム灰は自己硬化性を持つため、ポルトランドセメントの使用量を抑え、コストと二酸化炭素排出量を削減できる利点があります。
しかし、室内試験ではこれらの灰がpH 12.5 を超える強アルカリ性の浸出水を発生させることが確認されており、地下水環境への悪影響が懸念されてきました。
一方で、世界の陸地の約15%を占める炭酸塩岩は、重炭酸塩(HCO₃⁻)と二酸化炭素(CO₂)の系による強い天然の緩衝能力を持っています。本研究は、実際の炭酸塩帯水層において、この緩衝能力が強アルカリ性のバックフィル浸出水をどの程度抑制できるかを検証することを目的としています。

2. 手法(詳細)
本研究では、室内試験、地球化学モデリング、および2年間にわたる長期的な現場実証実験を組み合わせた統合的なアプローチが採用されました。
  • 現場実験の設計: エストニア北東部の、上部被覆層が10m未満と薄い廃止されたオイルシェール鉱山が選定されました。
  • バックフィル注入: 遊離石灰( CaO )を約 30wt% 含むオイルシェール飛灰を使用しました。これを水灰比 0.65〜0.70 で混合してスラリー化し、計74m3を地下の坑道に注入しました。これにより、10mのテスト区間に平均厚さ約1.6mのバックフィル体が形成されました。
  • モニタリング体制: 注入地点から約10mの距離に、上流側(バックグラウンド用:DH1, DH2)と下流側(影響評価用:DH3, DH4)の計4つの観測井を設置しました。
  • 連続測定: pH、水温、水位を自動センサーにより連続的に記録しました。
  • 定期的サンプリング: 定期的に地下水を採取し、主要イオンや重金属(As, Ba, Cd, Cr, Pb, Se)の濃度を分析しました。
  • 地球化学モデリング: ソフトウェア「The Geochemist's Workbench」を用い、バックフィルから発生したアルカリ性孔隙水が帯水層へ移動する際の化学反応を1D反応輸送計算でシミュレートしました。
  • モデルの設定: 浅い帯水層であることを考慮し、大気中のCO₂と平衡状態にある「開放系」を仮定しました。地下水の移動速度は10 m/日、初期孔隙率は10%に設定されています。
  • 室内浸出試験: 規格(EN 12457-3)に基づき、「新鮮な灰」と「28日間養生して硬化したバックフィル」の両方に対して試験が行われました。なお、硬化した材料は試験前に4mm未満の粒子サイズに粉砕されました。規格(DIN EN 12457-3)によれば、高固形分かつ特定の粒子サイズ以下の材料を対象とした、固液比 2 L/kg および 8 L/kg の2段階バッチ試験です。
  • 得られた成分溶出挙動をモデリングの境界条件として使用しました。
3. 結果
  • pHの変化: 室内試験ではpH 12.0〜12.7 の強アルカリ性が確認されましたが、現場の観測井(10m地点)では有意なpHの上昇は見られませんでした。モデリングの結果とも一致し、アルカリ度はバックフィル近傍で急速に減衰することが示されました。
  • 主要イオンの挙動: 最も顕著な変化は硫酸塩(SO₄²⁻)濃度の増加でした。一方で、カルシウム(Ca²⁺)や重炭酸塩(HCO₃⁻)は、後述する方解石の沈殿に伴い減少する傾向がモデルで予測されました。
  • 孔隙率の減少: モデリングにより、アルカリ性浸出水と地下水の反応で方解石(Calcite)が沈殿し、孔隙率が30日間で10%から約7.5%へと低下することが予測されました。
  • 重金属: 重金属類の系統的な濃度上昇は確認されませんでした。これはバックフィル注入によるpH上昇が限定的であったことも要因の一つと考えられます。
4. 考察
本研究により、炭酸塩帯水層には高カルシウム灰由来の強アルカリを効果的に中和する能力があることが実証されました。
  • 緩衝メカニズム: 地下水に溶解しているCO₂から生成される炭酸が、浸出水の水酸化物イオン(OH⁻)を消費し、方解石として沈殿させることでpHを背景値付近まで低下させます。このプロセスは、大気とのガス交換が容易な浅い帯水層で特に有効です。
  • 水理的障壁の形成: 方解石の沈殿による孔隙率の低下は、バックフィル周辺の透水性を下げ、浸出水の拡散を抑制する「水理的障壁」として機能する可能性があります。
  • 真の環境懸念: 炭酸塩帯水層において、高カルシウム灰の使用による主要な課題はpHの上昇ではなく、硫酸塩(SO₄²⁻)の増加であることが明らかになりました。飲用水源として利用される地域では、pHよりも硫酸塩に焦点を当てたモニタリングと対策が不可欠です。

20年くらい前でしょうか、同じような室内実験結果をシミュレーションの境界条件にしたことを思い出しました。国内ですので指針もなく、理屈が誤っていないことだけが拠り所だったのですが、この論文を見て安心しました。このような規格を知っていたら、もう少し説明性も上がったのかもしれません。

生成AIとオジサンのシナジー

後輩君「表面波の分散曲線を得られない」とのこと。

データの一部を見せてもらいました。
まずはコリレーション。そしてCMP重合。で、位相シフト。Claude に指示したところ、何の問題もなく結果が出ました。彼も Claude を使用して試行錯誤していたのにたどり着けていません。

この差は何なのか?と考えた結果、経験か?となりました。
知識はあっても、不慣れであれば指示が大雑把になるかもしれません。求める答えにたどり着くには、AIの提案に対して細部の判断、方向性のずれの早期修正が必要です。手順、見たい周波数帯、測点の選定範囲、間隔など、基礎知識として点で持っていても、線でつながっていないと適切な指示ができないのでしょう。

以前は基礎知識を習得後、自分でプログラムを組むか市販ソフトの使い方を覚える必要がありました。が、今はそこまで必要ありません。順に何をしたいか、何に気を付けないといけないか、誤っていたら修正させるなど、口頭でそのまま AI に渡せる能力があれば十分です。若い人たちに対しては、ソフトの指導は必要なく、考え方の指導がより重要になっています。もしかすると、オジサンに優しい時代が来たのかもしれません。

基礎知識、ノウハウ、応用力がより重要になっています。オジサンの経験を Skill として記録し展開することで、停滞していた技術の伝承もある程度進むのかもしれません。


2026年6月14日日曜日

生成AIのSkillと研究

Fable5 が使用停止になっている Claude。

UBUNTU では Code を CLI で利用しています。
Windows では GUI?。こちらには Chat, Cowork, Code が含まれています。Chat, Cowork は アカウント共通で、別 PC でも(Chatは)スマホでも同じセッションを扱えます。カスタマイズした skill も共通です。

が、Code の Skill は PC 毎。カスタマイズした Skill とは別です。
plugin も含めて整理すると3系統です。

① アカウント共通のSkill(クラウド型)— Chat / Cowork
保存先: Anthropic アカウント(クラウド)
同期範囲: ログインした全端末で共通。Skill は自分のアカウント専用(プライベート)。Enterprise はオーナーが組織全体へ配布可。
追加方法: アプリ内 Customize > Skills →「+」→ Browse skills / Create skill(Create skill 内で ZIP アップロード)
実行環境: コード実行コンテナ(要:Code execution 有効化 / Settings → Capabilities)
対応形式: 自己完結した単体 Skill のみ。ZIP はルートに Skill フォルダごと入れ、中に SKILL.md。

② PC別のSkill(ローカル型)— Code(Claude Code)
保存先: このPCのファイルシステム。-g 指定時は %USERPROFILE%.claude\skills\、-g なしはそのプロジェクトの ..claude\skills
同期範囲: PCのみ(端末ごとに個別インストール。アカウント同期なし)
追加方法: ターミナルで npx skills add ... -a claude-code(-g=全体 / なし=そのフォルダ(プロジェクト)限定)
実行環境: ローカル

③ Plugin
中身: Skill+エージェント+コマンド+フックの束
保存先: PCの %USERPROFILE%.claude\plugins\(ローカル)
同期範囲: PCのみ(アカウント同期は公式に無し)
追加方法: Claude Code 内で /plugin marketplace add owner/repo → /plugin install 名前@マーケット名
実行環境: ローカル(Claude Code)

node が入っていない PC では、Code に頼めば両方ともいれてくれます。
npx skills add https://github.com/vercel-labs/skills --skill find-skills -a claude-code -g
npx skills add https://github.com/anthropics/skills --skill frontend-design -a claude-code -g
npx skills add remotion-dev/skills --skill remotion-best-practices -a claude-code -g

論文作成に使えそうな Plugin, Skill では、以下が引っ掛かりました。
npx skills add dsebastien/ai-skill-scholar --skill  "*" -a claude-code -g
npx skills add dsebastien/ai-skill-arxiv --skill "*" -a claude-code -g

https://github.com/tam07pb915/ethical-academic-writing
これはclaude.aiでの利用が推奨されています。①クラウド型 Chat / Cowork ZIP 用です。
ダウンロード → claude.ai の Customize > Skills → Create skill でアップロード。
中身は Skill なので、②としても可能。
npx skills add https://github.com/tam07pb915/ethical-academic-writing --skill ethical-academic-writing -a claude-code -g

以下はフックの自動実行が将来的に不安だったので入れていません。が、プラグインの入れ方として残しておきます。
https://github.com/Galaxy-Dawn/claude-scholar/blob/main/README.ja-JP.md

インストール
/plugin marketplace add Galaxy-Dawn/claude-scholar
/plugin install claude-scholar@claude-scholar
/reload-plugins

削除
/plugin uninstall claude-scholar@claude-scholar
/plugin marketplace remove claude-scholar


研究にAIを使わないという選択肢はもうありません。有効な使い方、プロセスが提供されていますし、若い方にとっては標準ツールの一つになっているでしょう。
どう使うかが問われる中で、自分の使い方を模索しつつ、同時に対応も求められている──そのような状況です。




2026年6月9日火曜日

FGAM2

地形も入れたFGAM1よりも、雨だけFGAM2の方が汎化性能が良さそうなので、そちらでコードを動かしてみました。

が、得られた降雨応答局面 F(t, X)がおかしい。崩壊直前より33日前の方が効きが良い。実際は逆です。最初に確率を稼いでおいて、段々減じるような非物理的モデルになっています。



論文では「近い日が効いている」とのことなので、逆転しています。でも、得られた確率はあっている。うーん。
ふと、空間CVの一つを見てるからか!と気づきました。全データ使えばどうか?と思い、予測していた能登も学習データ(紀伊+宮城)に混ぜてみました。
結果はOK。論文通り、近い日も効きました。

mgcvのように省けそうなルーチンが含まれて手数が多くなっているのですが、その割に物理モデルとまでは言えない結果。これなら従来の実行雨量の方がシンプルでは?と思い試してみました。
実効雨量を説明変数にしたロジスティック回帰と、FGAM2 を、同じ学習/検証分割で比較。


半減期が短いほど能登で良い(3日 0.846 > … > 60日 0.770 > 単純累積 0.747)。=最近の雨ほど効く。これは能登の実態に合っています。
FGBM2が合うイベントではなかったのでしょう。

2026年6月7日日曜日

文献:On the use of rainfall time series for regional landslide prediction by means of functional regression

On the use of rainfall time series for regional landslide prediction by means of functional regression - ScienceDirect

コード/データ: GitHub - Vitorecacho/Functional-Regression-Landslide: This is a comprehensive R script designed for Landslide Susceptibility Modeling. It compares Functional Generalized Additive Models (FGAM) against standard Generalized Additive Models (GAM). · GitHub— R言語、`refund` / `mgcv` パッケージ使用

時空間という視点は以前私が寝かせた案の一つ。どのように扱っているのかな?と見れば日本のデータ。これは見なければ、ということで早速AIに投げました。

AI要約

 1. 背景
 降雨誘発型地すべりの早期警戒は、50年以上にわたり降雨閾値に依存してきた。降雨の強度・継続時間・累積量がある臨界値を超えると地すべり発生確率が急増するという経験的・統計的アプローチで、直感的で一般市民にも伝わりやすく世界的に成功してきた。
 降雨閾値は地形特性とは独立に推定され、後段で「掛け合わせ」によって統合されることが多い。しかし統計的には、確率の単純な積で同時確率を求められるのは変数が互いに独立な場合のみ。実際には地形は降雨の時空間分布に強く影響する(植生による蒸発散など)。したがって降雨と感受性は独立と仮定できず、両者の事後的統合は統計的に問題がある。
これを受けて、降雨を感受性モデルに直接組み込む時空間モデリング(space-time modeling)が登場。データを「データキューブ」(平面=空間、高さ=時間)として捉え、地すべりの有無を応答変数とする。
これまでの時空間モデルのほぼすべてが、降雨を時間窓ごとの累積値(スカラー値)に集約してしまい、時系列本来の豊かな情報を失っている。一方、連続した降雨信号をそのまま扱う試みでは、スカラー手法を大きく上回る性能が報告された。
深層学習(LSTM・CNN)の課題:①ブラックボックス性、②大量のラベル付きデータが必要(正確な発生時刻を持つインベントリは希少)、③学習された時間特徴に物理的意味づけができない。
関数回帰(functional regression)の利点:降雨時系列上に滑らかな係数関数 β(t) を明示的に与えるため、「どの時点の降雨が最も効くか」を直接解釈でき、早期警戒システム設計に有用。
Moreno et al. (2025) は関数回帰を試したが、地形+降雨を入れた場合、長い時間窓ではスカラー版と関数版の性能差が消えた。著者らは「これは時系列がわずか6日と短すぎたため」と仮説を立て、より長い時間窓で再検証することを本研究の目的とした。

 2. 手法
 2.1 対象データ(日本の3つの地すべりインベントリ)
国土地理院(GSI)の資料を基に、降雨誘発型地すべりの3事例を使用。

| 地域 | 誘発イベント | 時期 | 地すべりポリゴン数 |
| 紀伊半島 | 台風Talas | 2011年9月 | 1,902 |
| 能登半島 | 豪雨 | 2024年9月 | 1,540 |
| 宮城・福島 | 台風Hagibis | 2019年10月 | 847(土石流・表層崩壊のみ) |

2.2 データキューブの構築
マッピング単位: グリッドではなく斜面ユニット(Slope Units, SU)を採用(`r.slopeunits` + QGISのSZ-pluginで最適化)。
総観測数 64,250 SU(Kii 49,306 / Noto 6,056 / Miyagi 8,888)。不安定SUの割合はそれぞれ3%, 10%, 4%。
静的共変量(5つ): 傾斜(Slope)、断面曲率(Profile curvature)、斜面方位を分解した Eastness / Northness、岩相(Lithology:堆積岩・付加体・火成岩・変成岩の4分類)。すべてGSI DEM等から導出。
動的(関数)予測子:CHIRPS-GEFS による日降水量(予報データ、空間解像度5km)。発生日とその33日前まで=計34日の降雨時系列を、先行降雨(準備的)+誘発降雨を含む形で構築。

2.3 GAM と FGAM
GLM → GAM → FGAM という拡張系列
GLM(一般化線形モデル): 予測子と地すべり発生のlog-odds(対数オッズ)の間に線形関係を仮定する。この線形性が制約となる。
GAM(一般化加法モデル, Generalized Additive Model): 応答変数の期待値を、予測子の滑らかな(非線形の)関数の和で表せるようにしてGLMを一般化する。この滑らかな関数にはスプライン(spline)を用いる。加法構造(additive structure)のため、各共変量の寄与を個別に分離・解釈できる(機械学習のブラックボックス性と対照的)。
指数型分布族の応答を扱え、本研究では地すべり有無を二値(Bernoulli分布)して扱いロジットリンク関数 logit(p) = log(p/(1−p)) で線形予測子を [0,1] の確率に変換する。

FGAM(関数一般化加法モデル, Functional GAM): GAMをさらに拡張し、スプラインのような滑らかな関数項に加えて、関数項(functional term)=予測子そのものが時系列(関数)であるものを組み込めるようにしたもの(McLean et al., 2014)。
降雨時系列に対して回帰でき、地すべり過程に内在する非線形な時間ダイナミクスを表現できる。技術的には各時点での寄与を「ヒートマップ」として捉え、s次元×t次元のパラメータ空間になる。関数項は係数関数(無限次元)と降雨データ関数の L²内積で定義される。無限次元のままでは推定不能なので、K個の基底関数(B-spline)に展開して K次元の有限問題に変換する。

Y(s,t) ~ Bernoulli(p_s,t)

logit(p_s,t) = α + β1·eastness_s + β2·northness_s + γ·litho_s
              + f1(slope_s)          ← 1次元スプライン(基底7個)
              + f2(profcurvature_s)  ← 1次元スプライン(基底5個)
              + f3(precipitation_s,t) ← 2次元スプライン(各次元4基底)=関数項

降雨の関数項は、降雨曲線と各基底関数の積を積分してスカラー共変量 Zik を事前計算し、それを滑らか項としてモデルに投入する(**Penalized Functional Regression, PFR**)。

 2.4 推定
REML(制限付き最尤法)で平滑化パラメータを推定(Rの refund + mgcv バックエンド)。GCV(一般化交差検証)は過小平滑化・局所解の問題があるため不採用。
過学習を防ぐため、係数関数 β(t) の「うねり(wiggliness、2階微分の2乗積分)」に基づくペナルティを課す(平滑化パラメータ λ で適合度と滑らかさのトレードオフを調整)。
基底数 K は有効自由度(EDF)が K より十分小さいことを基準に選択。

 2.5 ベンチマーク(4モデルの比較設計)

| モデル | 降雨の扱い | 地形共変量 |
| FGAM1 | 関数(時系列) | あり |
| FGAM2 | 関数(時系列) | なし(降雨のみ) |
| GAM1 | スカラー(累積値) | あり |
| GAM2 | スカラー(累積値) | なし |

検証戦略: 時間窓を1日ずつ増やして34日まで性能変化を観察。
ランダム交差検証(訓練比率5%〜90%、各100回ブートストラップ)。
空間交差検証(leave-one-inventory-out):2地域で訓練・残り1地域で検証(転移性能を評価)。
評価指標:AUC(カットオフ非依存)、混同行列・TP/TN率(Youden指数でカットオフ設定)、Precision-Recall。

3. 結果
3.1 共変量の効果(FGAM1)
傾斜: ほぼシグモイド状。〜10°は低確率、10〜35°でほぼ線形に確率増加、その後変曲(最大傾斜で確率約0.3)。表層崩壊・土石流という地すべりタイプと整合(緩斜面は安定、急峻すぎると土層が乗らない)。
断面曲率: ほぼ平坦地形でピーク(確率〜0.55)、凸型・凹型では急減。
岩相: 付加体のみが有意に不安定と関連。
方位: 東向き・南向き斜面で不安定性が高まる。
降雨の関数効果: 33日前(day −33)はどんな強度でも発生確率ほぼゼロ。発生日に近づくと確率が急増し、ピークは発生の1〜2日前。3事例とも約3日続いた暴風雨で誘発されたことと完全に整合。

3.2 時間窓に対する性能
GAM2が一貫して最低性能(AUC開始点〜0.73)。
GAM1は地形予測子のおかげで〜0.80から開始。
関数モデル(FGAM1/FGAM2)はスカラー版を上回り、かつ挙動が安定(滑らかに性能向上、特にday −16以降)。GAMは時間窓に対し不規則変動。
GAM1とGAM2の性能差は大きいが、FGAM1とFGAM2の差は小さい。

3.3 データ量に対する安定性
訓練データ割合を変えたときのモデル安定性ベンチマーク。AUCは補集合(検証サブセット)で計算し、手順を100回ブートストラップして箱ひげ図を作成。
FGAMは一貫してGAMを上回り、少ない訓練データで早く性能の漸近線に到達。ランダム交差検証でFGAMはAUC > 0.81(acceptable〜good)を安定維持、GAMは0.81未満。
ランダムCVは過大評価しがち(Anderssen et al., 2006)。隣接SUは地形が類似し降雨も5km格子を共有するため、訓練と検証に近接SUが混在して空間的自己相関で結果が楽観的。 FGAM2は地すべり検出(TP/P, 平均83.8%)でFGAM1(80.7%)よりわずかに高いが、安定斜面の識別(TN/N)では76.2% vs 69.9%でFGAM1が優位=降雨のみのFGAM2はFN(見逃し)を多く出す。

3.4 空間交差検証(leave-one-inventory-out)
| 訓練 | テスト | モデル | AUC | 評価 |
| Miyagi & Noto | Kii | FGAM1 | 0.749 | Moderate |
| Kii & Miyagi | Noto | FGAM1 | 0.681 | Acceptable |
| Noto & Kii | Miyagi | FGAM1 | 0.613 | Acceptable |
| Miyagi & Noto | Kii | FGAM2 | 0.746 | Moderate |
| Kii & Miyagi | Noto | FGAM2 | 0.757 | Moderate |
| Noto & Kii | Miyagi | FGAM2 | 0.723 | Moderate |

FGAM1のAUCは地域により0.61〜0.75(ランダムCVより低い=地域間の一般化は難しい)。FGAM2は3地域すべてで安定して良好(0.72〜0.76)。地形相互作用を入れたFGAM1は日本の多様な地質で性能が落ちることがある。

4. 考察(Discussion)
4.1 支持する論点(強み)
多変量フレームの統計的正当性:感受性評価と降雨閾値を別々に行うのは数値的に妥当でない。多変量回帰は共変量の相互影響を同時推定できる。
解釈性: 統計モデルは回帰係数や確率を直接見ることでモデル自体の理解が得られる。機械学習のLIME・SHAPは事後的(post-hoc)な近似にすぎず、モデル内部の指標ではない。
コンカービティ(concurvity)検証: 加法FGAMが地形(静的)と降雨(動的)の効果を適切に分離できることを確認(降雨0.61/0.35、傾斜0.40等、いずれも0.8閾値以下)。
降雨閾値の概念を継承: 降雨を発生日から遡って累積する手法は従来の降雨閾値と類似で、過去50年の早期警戒の知見を関数回帰に直接統合できる。
運用上の意義: 誤りの種類が重要。FN(見逃し)は人命に直結、FP(空振り)は信頼低下を招く。
予報降雨を使用: あえて観測でなく予報降雨を使い、前向き(forward-looking)に検証。早期警戒システムの要件を満たす設計。

4.2 反対する論点・限界
時間窓の問題: 性能はday −23付近で漸近(GAMはday −29でピーク)。適切な時間窓の定義が未解決の大きな課題。
地すべりタイプ未分類: 3事例は主に表層崩壊・土石流(≒単一タイプ)。タイプ別早期警戒(浅い/深い地すべりの区別)ができず、降雨時系列の地形学的解釈にも制約。深い・大規模な地すべりはより長い時系列が必要と推測(浸透に時間がかかるため)。
データ要件の厳しさ: 高頻度降雨データと正確な発生時刻を持つインベントリが必須。多くのインベントリは時刻が月・季節単位で曖昧。時間的不確実性は係数関数 β(t) にノイズを注入し、特に発生直前の重要な数日で降雨効果を過小評価する。データ希少地域では従来の静的感受性マップ・経験的閾値の継続使用が依然適切。
空間転移の難しさ: Leave-one-out検証(未学習の別地域+別イベントへの転移)で性能が低下(FGAM1で0.61〜0.75)。日本の地質的多様性により、地形相互作用を含むFGAM1は学習データと条件が異なる地域で性能が落ち、降雨のみのFGAM2の方が転移には安定(0.72〜0.76)。

  検証の整理:①ランダムCV=同一イベント内でのSU内挿(リーク込みで楽観的)、②空間CV=未学習の別地域への転移(0.6〜0.76)。
社会・運用的側面: 降雨閾値が今も主流なのはシンプルさゆえ。「○○mm降ったら警戒」は専門知識不要で誰でも理解できるが、関数回帰の確率はそうではない。多くの人に理解される警報ほど従われやすく、結果的にリスク低減につながる。性能だけが最良の基準とは限らず、行政機関・住民との協働による警報設計が必要。

4.3 結論
連続降雨時系列を用いた関数回帰(FGAM)は、スカラー集約モデルより一貫して優れた地すべり予測を与えることを、日本の3事例・多様な交差検証で実証。総合的にはPrecision-RecallでFGAM1が最良。
研究コミュニティに対し、スカラー降雨集約値の慣習的使用を批判的に見直すよう提言。
地域→他地域の転移は性能が落ち(0.6〜0.76)、全国共通の単一式は難しい。転移設定では降雨のみFGAM2が比較的健闘。検証例はまだ少なく、地形・降雨・地すべりタイプを変えた系統的検証が必要。

今後の課題: ①地域差を説明する変数・階層/転移モデルでの汎化、②タイプ別かつ発生時刻精度の高いインベントリでの検証、③降雨の高解像度化・地域別の時間窓最適化、④発生確率(感受性)に加え規模(intensity)・完全なハザードへの拡張、⑤確率出力を行政・住民が受け入れる警報へ翻訳する社会実装。


雨についてはRのライブラリを利用しながら33日前からの崩壊確率を出されてています。実効雨量や近年の機械学習ではもっと前の雨を使いますが、3つのイベントは台風のような短期指標があればよいので、33日とされたのかもしれません。目的が長期なのであれば、違ったイベントで見たいですね。
ランダムCVはリークの可能性があるというのはよく見かけます。汎化の妥当な見積りは空間CV側でしょう。そのFGAM1,2の結果を見ると、地形・地質を加えた効果が相対的に小さい=地形・地質を交えた汎化が難しい→降雨だけの方(FGAM2)がまだ良い、でしょうか。結論を得るには、もう少し地域を増やす必要があるのでしょう。
各地域は1イベントのみのため、「同一地域の“次の”豪雨を当てる(時間的転移)」は本研究では検証されていません。その場合はもっと性能が上がると期待します。

ちょっと雨量の関数化がややこしいのでコードを見てみましょうか。


2026年6月5日金曜日

SPHのGPU化

SPH(粒子法)シミュレーションコードの GPU 化に取り掛かりました。

まずは、土のみ3Dコードから。テストには 斜面崩壊(粒子数77万弱、200,00step)を使用しました。実行環境は Dtransu と同じです。
GPU: NVIDIA RTX 4000 Ada(20GB、CC 8.9)
CPU: AMD EPYC 9754(128 コア)

いくつかの試行を得て、こちらは GPU 版が CPU 版に勝てない結果となりました。
OpenMP  32 / 64 / 128 スレッド 94.4 / 60.3 / 48.0s 
OpenACC 75〜84s 
CUDA Fortran + Thrust(set_box のみ)  41.7〜55.3s  

計算コードの変数を倍精度で計算していたため、FP64律速かつメモリ帯域律速となり、搭載GPU にとって二重に不利、CPU に有利でした。特に処理時間の約45%を占める make_interaction とkernel_correction は、GPU 側で改善できませんでした。粒子のセル順ソートは GPU では悪化、コアレス化は微妙でした。
  
セル分割処理だけはGPUで効果がありました。この処理は整数演算 が主体で、FP64律速にも帯域律速にも縛られなかったのでしょう。
  • セル分割(set_box):空間を格子(セル)に区切り、「どの粒子がどのセルにいるか」の対応表(名簿)を作る処理、近傍探索の前準備です。GPU 化では内部のソートに Thrust の sort_by_key (CUB の基数ソート) を使い、インデックス(cell_id と粒子番号)だけを並べ替えて名簿を作ります(粒子データ本体は動かさない)。これが GPU で効いた処理です。
  • 粒子のセル順ソート(reorder_particles):粒子データ本体そのものを、セルの順番に並べ替えておく「席替え」(50 step 毎)。近くにある粒子をメモリ上でも近くに置き、キャッシュ効率を上げる狙い。set_box内のソートと違い、倍精度の粒子配列を丸ごと移動するため、GPU では悪化しました (CPU ではキャッシュ効果で改善)。
  • メモリアクセスのコアレス化(pair_layout):粒子ペアのデータを GPU が読みやすい並び順に変える。GPU は隣り合うスレッドが連続したメモリを読むと速い(=コアレス化)ので、その並びに合わせる。
セル分割+ソート+コアレス化は DualSPHysics の講義で教えていただいたのを覚えていました。当時はメモリ上の最適配置程度で大きな影響があるとは思わず、ちょっとしたテクニック程度の認識でした。ほかにも、DualSPHysicsでは dx/dw など過去の値に依存しない変数は FP32、累積する変数は FP64 でドリフトを避ける工夫がなされています。

土のみコードは両者を倍精度で計算しており、一部を単精度にすると過去の結果(降伏、流体化の判定)の完全再現が困難。単精度化は周囲の応力均衡を変化させ、隣接粒子の降伏タイミングを次々とずらしていく連鎖を引き起こします。これは避けたいので、今回は速度を犠牲にして見送り。 

今回はここまで。次は、残したFP32化に手を付けるか、良いGPUに入れ替えるか、でしょうか。A100 / H100 クラスの GPU であれば、CPUを超えるかもしれません。

ソフトウェアサポートのカタチ

様々なソフトウェアサポートを利用しています。

近年、電話サポートが少なくなり、メールやチャットが主流になりました。どこも人手不足、コスト改善を迫られているのでしょう。

質は様々。電話サポートは意思疎通が簡単で、短期に問題を解決できます。ユーザーの限られている国内のソフトウェアメーカーや、サポート専門会社、外資系でも特殊なソフトだから実施できるのかもしれません。

ESRI Japan さんは、昔(10年以上前)はレスポンスが早く質も高かった。が、今は AI と1日1回の壁打ちをしているような感覚に陥ります。メールでの返事は1日1回、なので意思疎通ができるまで時間がかかる、帰ってくる内容の質が悪い、問題が解決しない、しかもお高い。AI に聞く方が速くて確実になってきました。
https://phreeqc.blogspot.com/2024/03/survey123-web.html

大手さんほど AI を利用する方向に進むでしょう。が、ユーザーとしては対話がBEST。
立場が逆であればと我が身に引き比べながら、お客様と対話し問題解決を図らなくてはならないとあらためて感じています。

2026年6月1日月曜日

Dtransu のGPU化 その3

テスト環境:CPUが高性能、GPUは中(FP64は低)性能でアンバランス。
GPU: NVIDIA RTX 4000 Ada(20GB、CC 8.9)
CPU: AMD EPYC 9754(128 コア)

1. 密度流 (v2 sample3.dtr, KAN3=2 密度連成) 

流れ:GPU + 粒子追跡:OpenMP  のハイブリッドとしました。
流れ系 (setelm ~48% + solpcg ~28%の self-time) が構造的に並列で GPU 理想形。ここを GPU カーネル化して大幅短縮です。

粒子追跡 MOVE1 連鎖 (~20%) はバケット探索の IF/GOTO  分岐が多く、GPU だと並列効率が落ちました。これは OpenMP スレッドに流す形が BESTでした。

2. 表面流+移流分散 

 一番速かったのは ompacc で、密度流と同じ戦略(流れ:GPU + 粒子:OMP)。全構成中で最大のを記録しました。
surface_flow.f90 (D8 地表水ルーティング) の self-time が ~2.3% しかないため、にここは GPU 化不要、host 常駐で問題なし。残りは密度流と同じハイブリッドという構成でした。


当初、なぜ FP64 が弱い GPU でも速くなったのか不思議でした。AIに聞くと、「典型的な arithmetic intensity(バイトあたりFLOP数)が低い 処理だったから」+「16tだから」とのこと。この辺りをAIに頼るようではまだまだかな。

  • 1要素読むごとの計算量はわずか。演算器はメモリ待ちで遊んでいるので足を引っ張らない。
  • GPUは数千〜数万スレッドを同時に走らせ、メモリレイテンシをスレッド切替で隠蔽。結果、自分の~360 GB/sをほぼ飽和できた。
  • CPU 側の並列効率が悪く、460 GB/sを使い切れず~16t相当で頭打ち。

純 GPU (acc)  が負けるのは、ハードの性能差が大きなこともありますが、分岐の多い粒子追跡が GPU の thread divergence に弱いのも一因。ここをテコ入れするとGPUの方が速くなるかもしれません。なお、途中でSPH の Box Search 手法を取り入れてみましたが、劇的な効果は見られませんでした。
このような計算をしていると、FP64に強いGPUだとどうなるのか、試してみたくなります。

改変コードの公開は配布元が許可されていません。時代の流れでコーディング問題はほぼ解決したので、いずれ配布元でもGPU対応版やMPI版、表流水連携版を公開されると思います。比較は出るまで待ちましょう。

2026年5月22日金曜日

Dtransu のGPU化 その2

Dtransu Ver.2 が手元にあったので、こちらもGPU化に着手。

テストは付属の密度流です。
もともと、OMP対応済みだったので、GPU化のみでした。が、何度かテストするうちに、再現性に劣ることがわかりました。

128tまで実施しましたが、16tで頭打ち。

v1 でも密度流をかけると、同じように再現性を確保できませんでした。テストするモノです。
密度流で PCG の流れが変わるのと、粒子追跡の OMP 化部分が引っかかっているようでした。最終的には v1 で固定しましたが、OMP+GPU の速度は v2 よりやや低下しました。
最初は v2 GPU+OMP でパラスタし、最後に v1 で提出、でしょうか。


2026年5月18日月曜日

Dtransu のGPU化

Dtransu のGPU化を実施。

AIさんがプロファイルをとってくれるので、非常に効率的でした。

RTX4000を使っていたのでFP64性能はイマイチ。それでも、2.5倍速くなりました。次は計算用途も考慮して選択しましょう。

ずっと優先度低で眠らせていた課題。今年の頭に外した途端、解決しました。残りは不連続体+連続体ですが、SPHのGPU化が先ですね。

優先度中:機械学習のスキル増強
優先度低:流体+個体(不連続体+連続体)+振動
優先度低:Dtransu の MPI/GPU 対応
優先度低:地表流+地下水+移流拡散


2026年5月10日日曜日

文献:High-resolution raindrop counting via instantaneous frequency sensing

High-resolution raindrop counting via instantaneous frequency sensing on hydrophobic elastic membranes | PLOS One

AI要約

1. 背景
雨粒の数やサイズを測定する装置であるディスドロメータは、気象観測において重要ですが、従来の装置には課題がありました。高精度な標準機器(JWDなど)は高価で、交流電源や専門知識を必要とするため、広範囲な設置が困難です。
一方で、安価な圧電素子を用いたセンサーは「振幅閾値方式」を採用しており、一度衝撃を検知すると一定時間計算を停止(ロックアウト)するため、時間解像度が低く、連続して衝突する雨粒を見逃したり、小さな雨粒を過小評価したりするという欠点がありました。
本研究は、市販のマイクと疎水性弾性膜を組み合わせ、低コストながらこれらの限界を克服する新しい検知手法を提案しています。

2. 手法
本手法は、振幅ではなく「瞬時周波数」の変化に着目している点が革新的です。

  • ハードウェア構成: 一般的なPVCパイプの片端に、安価なプラスチック膜(PETやHDPEなど)を張り、ドラムのような構造にしています。この膜に雨粒が衝突した際の音をマイクで集音します。
  • 物理的原理: 雨粒が疎水性弾性膜に衝突すると、膜の固有振動(低周波)とは別に、12–18 kHzの非常に短い高周波過渡振動が発生することを発見しました。この高周波信号は雨粒の衝突に特有のものであり、低周波の背景ノイズと分離しやすい特性があります。
  • Acoustic Feature Model (AFM): 音声データから、信号の局所的なピーク(山)と谷の位置を抽出し、ノイズを除去した上で「局所的な周波数推定値」へと変換します。
  • 機械学習 (1D-CNN): AFMで得られた特徴量を、1次元畳み込みニューラルネットワーク(CNN)に入力します。このネットワークは、風などのノイズと雨粒の衝突を判別し、衝突の確率を算出します。
  • 軽量設計: リソースの限られたマイコンやスマートフォンで動作(TinyML)させることを目的としており、モデルのパラメータ数は1000個未満と極めて軽量です。

3. 結果

  • 高い時間解像度: 従来の手法が30ms程度の解像度だったのに対し、本手法は約10ミリ秒の時間解像度を達成しました。
  • 精度: 評価実験において、予測されたイベントの80%~90%が実際の衝突時刻から10ms以内に収まっており、高い精度で雨粒を数えられることが示されました。
  • ノイズ耐性: 振幅を計算に使用しないため、低周波の振幅ノイズ(風など)に対して頑健であり、高い感度を維持したまま背景ノイズの影響を抑えることに成功しました。
  • モデルの有効性: DensenetやResidualブロックを用いたCNNモデルは、基本的なモデルよりもノイズ抑制能力が高いことが確認されました。

4. 考察
本研究の最大の特徴は、材料の物理的な減衰に頼るのではなく、信号処理と機械学習によって時間解像度を向上させた点にあります。

  • 利点と応用: 非常に低コストな材料で構築できるため、教育現場や発展途上国での気象観測ネットワーク、短期間のキャンペーン調査などに適しています。
  • 現在の課題: 強風による高周波ノイズが誤検知の原因となることがあり、さらなるノイズ除去技術や風防の検討が必要です。また、一度の衝突を二重に数えてしまうアルゴリズム上の課題も指摘されています。
  • 今後の展望: 今回は雨粒の「カウント」に焦点を当てていますが、将来的には個々の雨粒の運動エネルギーの推定や、平均的な粒径分布に基づいた降雨強度の算出へと拡張することが期待されています。
  • 未解明の物理: なぜ軟らかな疎水性膜への衝突で高周波振動が発生するのかという微視的な物理メカニズムは完全には解明されておらず、さらなる研究の余地を残しています。

塩ビパイプに膜を張って雨音を計測するだけという、これ以上ない実用的なアイデアです。
パイプのサイズや膜の張力は低周波の共振には影響しますが、検知に用いる高周波過渡振動(12–18kHz)には影響しないとのこと。また、 PETやHDPEといった異なる材質でも同様の信号が観察されています。身近な材料かつDIYによる物理的な製作誤差に対しても極めて高い堅牢性を持っている点が素晴らしい。
機械学習モデルも最初からエッジAI向きに作られています。今後の雨量推定がどうなるか、期待を込めて待ちましょう。


コード整備 その3

おまけです。

 ・振動計
200Hzサンプリング以上にするとデータ保存時にバグっていたのですが、AIに見せると問題点を指摘してくれました。浅いコピーをやめて深いコピー&数を増やすことで問題を回避。500Hzサンプリングでも問題なく保存できるようになりました。

・3次元安定解析
これもAIがバグを発見してくれました。学習量の多いであろうPythonで書いていたためか、割と早く修正が完了しました。正しい部分も怪しそうなところは指摘することもありましたが、そこに注意しておけば、コードの照査にかなり有効です。

・RegionGrow3D
MATLABコードをPythonに変換。近い将来できるようになると思っていましたが、もう既に可能だったとは。
1回目の変換で結果はピクセルベースで86%合致。もう少し詰める必要はありそうですが、なかなか賢い。

全体を通してみると以下のような感触。
◎既存コードを他の言語に変換したり修正したりする。
◎コードの照査
◎WEBサイトの解析
〇新たな実装
〇機械学習の自動化

まだまだ性能が上がっていくのでしょう。楽しみです。


2026年5月9日土曜日

AIがAIを鍛える

GWの間、コア写真から柱状図を作成する機械学習モデルの訓練を、ほぼAIに任せきりにしていました。先日記載したとおり、ほとんど人手を加えず、AIの提案を承認・却下するだけ。最後は、気が向いたときにRQD等のスコアの伸びを確認する程度でした。手をかけなくてもスコアが徐々に伸びていくのは、精神的に楽。連休も終わりましたので、ひとまずここで一区切りとします。

昨年まではモデルをどう構築するか、比較対象としてどれだけのモデルを用意するか、最適化をどう進めるかなどを考えながら自ら組んでいました。これらの作業も、今年からはほぼAIに任せられそうです。相手は人ではありませんから、提案方針に何度ダメ出しをしても気を使う必要はありません。納得がいくまで試行錯誤させることができます。文献収集力や実装の速さは人を上回り、初歩的なミスに目を瞑れば、24時間無休で働いてくれる部下ができたようなものです。

一方で、誰でも機械学習モデルを組める状況になったことで、AI活用そのものを差別化要因とするのは難しくなるでしょう。土木分野でも、画像や動画を使った異常検出や点検、数値データを使った予測といった難しいとまでは言えない作業の自動化があります。これらに投資してきた企業が案件を獲得してきた側面もあります。しかしAIの進化により、誰もが短期間で同等のモデルを構築できる時代になってしまったため、こうした先行投資・利益回収型のビジネスモデルは終焉を迎えつつあるように感じます。短期的には実績がある分、有利な状況が続くとは思いますが。

これからは、より一層アイデアと新規性が求められる時代になるでしょう。発想の豊かな技術者こそが重宝されるはずです。そのためには、基礎力を疎かにしないことが欠かせません。若い方々には、便利なAIを活用しつつ、時間をかけてこそ身につく基礎力を養ってほしいと思います。

2026年5月6日水曜日

文献:A multi-layer SPH method for generic water–soil dynamic coupling problems

A multi-layer SPH method for generic water–soil dynamic coupling problems. Part I: Revisit, theory, and validation - ScienceDirect

AI要約

1. 背景
水と土砂の動的な相互作用は、地滑りや土石流といった自然現象から、防波堤やダムの浸透流といった工学的問題まで、幅広く存在します。これらの現象を数値シミュレーションで扱うには、土砂の大きな変形、水面の自由表面流、そして両相間の複雑な相互作用を同時に扱う必要があります。従来の格子法(有限要素法など)では、大きな変形によるメッシュの歪みや自由表面の追跡が困難でした。一方、SPH法(粒子法)はメッシュフリーであるため、これらの問題に適しています。しかし、従来のマルチレイヤーSPHモデルの多くは、空隙率(porosity)の時間・空間的な変化を正確に考慮していなかったり、流体の体積保存に欠陥があったりするなどの課題がありました。
本研究は、混合体理論に基づき、これらの課題を克服した包括的な3次元数値フレームワークを提案することを目的としています。

2. 手法
本研究で提案された手法の核心は、混合体理論(Mixture Theory)マルチレイヤー(多層)粒子で表現するSPHの実装にあります。
数学的定式化(ADFとIDF): 以下の2つのモデルが提案されました。

  • 仮密度ベース定式化 (ADF): 混合体単位体積あたりの質量(仮密度)を用いる手法。
  • 真密度ベース定式化 (IDF): 各相の実際の材料密度(真密度)を用いる手法。

特にIDFは、空隙率の空間的・時間的な変化を厳密に考慮できるよう、本研究で新たに質量保存則が導出されました。

支配方程式と構成則:

  • 水相: 弱圧縮性ニュートン流体としてモデル化され、状態方程式(EOS)を用いて圧力を算出します。
  • 土砂相: 弾塑性構成則(Drucker-Prager降伏基準)を用い、土砂骨格の変形と有効応力を扱います。
  • 相互作用力: 浮力(buoyancy force)と粘性抗力(viscous drag force)を考慮します。抗力には、層流から乱流まで対応可能なErgunの式に基づいた2次形式が採用されています。

数値的な工夫:

  • 粒子体積の補正: 流体粒子が土砂領域に出入りする際、空隙率の変化に応じて粒子の体積を適切に調整することで、流体の体積保存を確実にします。
  • 補正シェパードフィルタ (CSDF): 粒子の一貫性を確保し、自由表面付近のノイズを低減しつつ滑らかな圧力分布を得るための新しいフィルタ手法が導入されました。
  • 境界条件: 壁面における粒子の貫通防止と、自由滑り/ノンスリップ条件を適切に扱うための一般化境界粒子法が実装されました。

3. 結果
提案されたモデルの妥当性は、複数の検証ケースを通じて確認されました。

  • 体積保存の検証: 水が土砂領域に流れ込む単純な崩壊試験において、粒子体積を補正する手法(VA)が正確な水深を再現できることを示しました。一方で、補正を行わない従来の手法では、流体体積が保存されず不正確な結果となりました。
  • U字管内の浸透流: 空間的に空隙率が変化する土砂を通る水の流れをシミュレーションし、解析解と非常によく一致することを確認しました。また、CSDFの導入により、長時間のシミュレーションでも自由表面の乱れが抑えられることが実証されました。
  • 重力下での沈下: 水中に沈められた土砂に重力が加わる動的な過程を扱い、水圧と土砂の有効応力が最終的に理論的な静水圧分布に収束することを確認しました。
  • 水中地滑りの再現: 実験スケールの水中地滑りをシミュレートし、土砂の堆積形状や、地滑りによって誘発される波(impulsive wave)の形状が実験データと良好に一致しました。

4. 考察
本研究の結果から、以下の点が考察されています。

  • ADFとIDFの比較: 両モデルは数学的には等価ですが、SPHの実装においてはIDFの方が数値的に安定し、精度が高いことが判明しました。これは、ADFが空隙率の変化に対して敏感すぎ、圧力計算にノイズが乗りやすいためです。
  • 統一的なフレームワーク: 提案手法は、純粋な水領域、乾燥した土砂領域、およびそれらが混合した飽和領域を、単一の方程式系で統一的に扱える点が強力です。
  • 今後の課題: 3次元シミュレーションは計算負荷が高いため、GPUによる加速が不可欠です。また、水中地滑りの実験で見られた土砂の急激な体積膨張(細粒分の拡散など)を完全に再現するには、単なる構成則を超えた、水と土砂のより高度な界面混合モデルが必要であることも示唆されました。

密度を変更しないと、計算が複雑にならず理解が楽。IDFがADFに比べて安定であることも実感しました。ただ、地中で体積を膨張させるというのは初期配置が面倒。私は粒子分割・統合で対応しました。発表が2022年ですから、改良案は出ているのかもしれません。