高周波エンジニアのためのAI・機械学習入門(GPU編7)3次のLCバンドパスフィルタ(BPF)のL,Cの素子の値6個から200個×4個のSパラメータ周波数特性(S11,S21)をディープラーニング(DNN)で推定する。LayerNormalizationが層を深くするのに効果的。
今回はこのCPU版がいまいちだったので、
GPU版にして層を深くしたりニューロンを増やしたりしてみよう。ただ増やすだけでは全然だめで、LayerNormalizationを間に挟む。
BatchNormalizationより効果があった。GPUにした効果は絶大で、これだけ増やしても見ている間に終わる。
コードこんな感じで。
import os
os.environ["KERAS_BACKEND"] = "jax"
import keras
import numpy as np
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
plt.rcParams['font.family'] = 'Noto Sans CJK JP'
# ----- JAX最適化(64bit演算禁止) -----
from jax import config
config.update("jax_enable_x64", False)
data_label = np.load("data_label.npz")
data = data_label["data"]
label = data_label["label"]
x_train, x_test, y_train, y_test = train_test_split(label, data, test_size=0.3, random_state=0)
y_train_list = [10*np.log10(y_train[:, : ,1]**2 + y_train[:, :, 2]**2), np.angle(y_train[:, :, 1] + 1j*y_train[:, : ,2]),
10*np.log10(y_train[:, : ,3]**2 + y_train[:, :, 4]**2), np.angle(y_train[:, :, 3] + 1j*y_train[:, : ,4])]
y_test_list = [10*np.log10(y_test[:, : ,1]**2 + y_test[:, :, 2]**2), np.angle(y_test[:, :, 1] +1j*y_test[:, : ,2]),
10*np.log10(y_test[:, : ,3]**2 + y_test[:, :, 4]**2), np.angle(y_test[:, :, 3]+1j*y_test[:, : ,4])]
n = y_test_list[0].shape[0]
points = y_test_list[0].shape[1]
S21err = np.zeros(n)
def S21errorPlot(S21test, S21predict):
for i in range(n):
S21err[i] =np.abs(np.max(S21test[i, :]) - np.max(S21predict[i, :]))
plt.hist(S21err, bins = 100, color="red", range=[0,5])
plt.xlabel("通過域の誤差[dB]")
plt.ylabel("頻度")
plt.grid()
plt.show()
#正規化
normalizer = keras.layers.Normalization()
normalizer.adapt(x_train)
# Functional APIでDense層を3層にしたDNNを設定
hidden_dim = 2000
inputs = keras.Input(shape=(6,))
x = normalizer(inputs)
x = keras.layers.Dense(hidden_dim, activation="relu")(x)
x = keras.layers.LayerNormalization()(x)
x = keras.layers.Dense(hidden_dim, activation="relu")(x)
x = keras.layers.LayerNormalization()(x)
x = keras.layers.Dense(hidden_dim, activation="relu")(x)
x = keras.layers.LayerNormalization()(x)
x = keras.layers.Dense(hidden_dim, activation="relu")(x)
x = keras.layers.LayerNormalization()(x)
x = keras.layers.Dense(hidden_dim, activation="relu")(x)
x = keras.layers.LayerNormalization()(x)
outputs = [keras.layers.Dense(points)(x) for i in range(4)]
# モデルの設定
model = keras.Model(inputs=inputs, outputs=outputs)
model.compile(loss = 'mean_squared_error' ,optimizer=keras.optimizers.Adam())
model.summary()
batch_size = 128
epochs = 2000
keras.utils.set_random_seed(1)
history = model.fit(
x_train,
y_train_list,
batch_size=batch_size,
epochs=epochs,
validation_split=0.15,
)
y_pred_list = model.predict(x_test)
S11predict = y_pred_list[0]
S11test = y_test_list[0]
S21predict = y_pred_list[2]
S21test = y_test_list[2]
S21errorPlot(S21test, S21predict)
|
S21の予測誤差はこんな感じで、CPU版よりはるかに向上している。
波形の一例。よく再現できている。
まあ回路シミュレータに入れれば一瞬なので、何の意味があるかというとこういう推定もできるということで。
« 高周波・RFニュース 2026年1月28日 QorvoがGaN-on-SiC SSPA解説、RCRWirelessNewsのOpen RANウェビナー、新しいTHz測定法の解説、AIデータセンターの800V電源解説、低損失基板材料の選択記事 | トップページ | 高周波・RFニュース 2026年1月29日 5Gの特許はHuaweiとQualcommが競る、Semtecが5G RedCapルーター発売、Samtecが0.8mmピッチのエッジカードソケット発売、Mini-CircuitsがµCeramIQにハイパスフィルタ追加、低誘電、低誘電正接材料の設計と応用発行など »
「パソコン・インターネット」カテゴリの記事
- RF Weekly Digest (Gemini 3 Pro・Google AI Studio BuildによるAIで高周波・RF情報の週刊まとめアプリ) 2026/2/8-2026/2/15(2026.02.15)
- RF Weekly Digest (Gemini 3 Pro・Google AI Studio BuildによるAIで高周波・RF情報の週刊まとめアプリ) 2026/2/1-2026/2/8(2026.02.08)
- Google Antigravityで、いつも見ている高周波関連サイト数十をスクレイピングしてローカルLLM(OllamaのQwen3:8b)で1週間分まとめてもらうRF Weekly Digestを作ってもらった。モデルはGemini 3 Proで。Google AI StudioのBuildで作ったものよりはちょっと劣るか。(2026.02.10)
- RF Weekly Digest (Gemini 3 Pro・Google AI Studio BuildによるAIで高周波・RF情報の週刊まとめアプリ) 2026/1/25-2026/2/1(2026.02.01)
「学問・資格」カテゴリの記事
- 高周波・RFニュース 2026年2月18日 Mini-Circuitsがキャビティフィルタの結合について解説、Sivers Semi.がKaバンドの新ビームフォーミングIC発表、Rohde&Schwarzのミリ波セキュリティスキャナがイスラエル空港局に採用、TDKの175℃対応車載NTCサーミスタなど(2026.02.18)
- 高周波・RFニュース 2026年2月17日 3GPPの第111回TSCは日本の福岡で開催、Ericsson,イタリア海軍らが海上での5G SA実証、6Gの防衛技術応用のウェビナー開催、Motorola Signature分解動画など(2026.02.17)
- RF Weekly Digest (Gemini 3 Pro・Google AI Studio BuildによるAIで高周波・RF情報の週刊まとめアプリ) 2026/2/8-2026/2/15(2026.02.15)
- 高周波・RFニュース 2026年2月14日 Microwave Journalは衛星向けQ/Vバンドコンバータ等、Wi-Fi 7のAI-PRM解説記事、Giga-MIMO解説記事、Samsung Galaxy A07 5G発表など(2026.02.14)
- 高周波・RFニュース 2026年2月13日 GSMAが農村部の通信改善には1GHz以下が必要とレポート、Skyworksがクロックバッファのラインアップ拡充、YageoがWi-Fi 7向けグランド非依存アンテナ発表、SamsungがHBM4量産など(2026.02.13)
「日記・コラム・つぶやき」カテゴリの記事
- 高周波・RFニュース 2026年2月18日 Mini-Circuitsがキャビティフィルタの結合について解説、Sivers Semi.がKaバンドの新ビームフォーミングIC発表、Rohde&Schwarzのミリ波セキュリティスキャナがイスラエル空港局に採用、TDKの175℃対応車載NTCサーミスタなど(2026.02.18)
- 高周波・RFニュース 2026年2月17日 3GPPの第111回TSCは日本の福岡で開催、Ericsson,イタリア海軍らが海上での5G SA実証、6Gの防衛技術応用のウェビナー開催、Motorola Signature分解動画など(2026.02.17)
- RF Weekly Digest (Gemini 3 Pro・Google AI Studio BuildによるAIで高周波・RF情報の週刊まとめアプリ) 2026/2/8-2026/2/15(2026.02.15)
- 高周波・RFニュース 2026年2月14日 Microwave Journalは衛星向けQ/Vバンドコンバータ等、Wi-Fi 7のAI-PRM解説記事、Giga-MIMO解説記事、Samsung Galaxy A07 5G発表など(2026.02.14)
- 高周波・RFニュース 2026年2月13日 GSMAが農村部の通信改善には1GHz以下が必要とレポート、Skyworksがクロックバッファのラインアップ拡充、YageoがWi-Fi 7向けグランド非依存アンテナ発表、SamsungがHBM4量産など(2026.02.13)
« 高周波・RFニュース 2026年1月28日 QorvoがGaN-on-SiC SSPA解説、RCRWirelessNewsのOpen RANウェビナー、新しいTHz測定法の解説、AIデータセンターの800V電源解説、低損失基板材料の選択記事 | トップページ | 高周波・RFニュース 2026年1月29日 5Gの特許はHuaweiとQualcommが競る、Semtecが5G RedCapルーター発売、Samtecが0.8mmピッチのエッジカードソケット発売、Mini-CircuitsがµCeramIQにハイパスフィルタ追加、低誘電、低誘電正接材料の設計と応用発行など »




コメント