■ 本シリーズの趣旨
高周波回路の定数調整は、地味ですが非常に負荷の大きい作業です。本シリーズでは、この “泥臭い最適化” を機械学習でどこまで効率化できるか、実際に行ったPoC(概念実証)プロセスを紹介します。
著者は電機メーカーで高周波回路のハード設計を担当しており、個人で学んだ機械学習を実務に応用できるか検証するため、本テーマに取り組みました。
本記事はその導入編であり、基礎的な概念説明を中心に行います。実機への完全展開については、シリーズ最後に考察を記載する予定です。「回路設計」✕「機械学習」の実践イメージとして参考になれば幸いです。
なお、記事の流れを優先するため、一部の回路説明は簡略化しています。誤りや補足点があればコメントでご指摘いただけると幸いです。
■ 従来設計手法の課題
後継機種を設計する際、まずシミュレーション上で必要特性を満たす定数を大まかに決め、その後に実機で合わせ込みを行うフローが一般的です。しかし、著者の環境では以下の3点が問題となっていました。
課題①:多数のシミュレーション実行に時間がかかる
⇨ 毎回グラフ描画による目視確認が必要なため
課題②:求めた定数が最適とは限らない(局所解)
⇨ 従来機種の定数を初期値にして探索しているため
課題③:属人的な設計で標準化が進まない
⇨ 経験値による差が大きく、結果が安定しないため
要するに、
「時間がかかる・最適かわからない・標準化できない」
というのが従来フローの本質的課題でした。
■ API連携でデータ処理を自動化
回路設計では、Keysight社の Advanced Design System (ADS) が広く使われています。 ADSにはPythonと連携可能な Datalink アドインが用意されており、API経由でシミュレーションデータを自動取得できます。
このAPI連携を活用することで、定数スイープ → 結果取得 → CSV化の一連の処理を自動化でき、課題① (大量実行の負荷) を解消することができます。
※コード例や出力設定は導入編③で説明します。
■ 機械学習で最適設計と標準化を両立
自動化したスイープ結果をデータセット化し、機械学習モデルに学習させると、
「シミュレーション結果を高速に近似するサロゲートモデル」 を構築できます。
サロゲートモデルとは、
「高コストなシミュレーション結果をAIが学習し、安価に再現するモデル」
であり、大幅な計算削減が可能です [1]。
このモデルを利用すると、
- 広い探索空間から最適値を高速に推定し、
- 設計フローを標準化できる
ため、課題② (局所解) と課題③ (属人化) にも対応できます。
■ シリーズ構成 (計8回)
本シリーズは「導入編(回路)」4本+「実践編(ML)」4本の全8回構成です。
機械学習だけ知りたい読者は “実践編①” から読んでOKです。
◎ 導入編 ① 〜最適化の背景とゴール設定〜
⇨ 本記事。シリーズ趣旨とML導入の全体像
◎ 導入編② 〜設計ロードマップ〜
⇨ 設計目標・制約・手順の詳細
◎ 導入編 ③ 〜DatalinkによるPython連携〜
⇨ API経由でCSV出力する方法
◎ 導入編 ④ 〜ML用データ整形〜
⇨ Pandasで学習データを整える
◎ 実践編 ① 〜サロゲートモデル構築〜
⇨ シングルスイープデータの学習
◎ 実践編 ② 〜Optuna最適化〜
⇨ マルチスイープ対応と探索手法
◎ 実践編 ③ 〜最適解の評価〜
⇨ 予測値と実シミュレーションの差分
◎ 実践編 ④ 〜総括と応用展開〜
⇨ より複雑な実基板への応用可能性
■ 参考文献
[1] サロゲートモデルとは? シミュレーション×AIで業務改善を実現!
https://x-simulation.jp/blog/14