高周波エンジニアのためのAI・機械学習入門(GPU編11)教師あり学習でフィルタ特性(LPF, BPF, HPF)が分類できるかをPythonとKeras 3.0を使ってディープラーニング(DNN)でやってみた。DropOut層追加しても精度100%。
今回はこれをGPUでやってみよう。
やることはLPF,BPF,HPFをモンテカルロシミュレーションで10000個作り、OneHot表現で分類しDNNで分類できるかどうか調べる。
入力データの一部をプロットしたもの。
コードはバックエンドにJaxを使ってKerasで作成。前回はDropout層入れなかったが今度は入れている(前回100%精度で汎化が悪そうなので)。
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
plt.rcParams['font.family'] = 'Noto Sans CJK JP'
from jax import config
config.update("jax_enable_x64", False)
data_label = np.load("filter_classification.npz")
data = data_label["data"]
label = data_label["label"]
x_train, x_test, y_train, y_test = train_test_split(data, label, test_size=0.3, random_state=0)
# Functional APIでDense層+Dropout4層にしたDNNを設定
hidden_dim = 500
inputs = keras.Input(shape=(200, 5))
x = keras.layers.Flatten()(inputs)
x = keras.layers.Dense(hidden_dim, activation="relu")(x)
x = keras.layers.Dropout(0.5)(x)
x = keras.layers.Dense(hidden_dim, activation="relu")(x)
x = keras.layers.Dropout(0.5)(x)
x = keras.layers.Dense(hidden_dim, activation="relu")(x)
x = keras.layers.Dropout(0.5)(x)
outputs = keras.layers.Dense(3, activation="softmax")(x)
# モデルの設定
model = keras.Model(inputs=inputs, outputs=outputs)
model.compile(optimizer=keras.optimizers.Adam(), loss=keras.losses.CategoricalCrossentropy(),
metrics=[keras.metrics.CategoricalAccuracy(name="acc"),])
batch_size = 128
epochs = 50
keras.utils.set_random_seed(1)
model.fit(
x_train,
y_train,
batch_size=batch_size,
epochs=epochs,
validation_split=0.15,
)
score = model.evaluate(x_test, y_test, verbose=0)
print(f"Test Score{score}")
|
結果は…最初がロスで二番目が精度で、
Test Score[1.1920930376163597e-07, 1.0]
あれ、また100%になった。まあ人間が見て100%わかるものだしそんなものか。
« RF Weekly Digest (Gemini 3 Pro・Google AI Studio BuildによるAIで高周波・RF情報の週刊まとめアプリ) 2026/2/1-2026/2/8 | トップページ | Google Antigravityで、いつも見ている高周波関連サイト数十をスクレイピングしてローカルLLM(OllamaのQwen3:8b)で1週間分まとめてもらうRF Weekly Digestを作ってもらった。モデルはGemini 3 Proで。Google AI StudioのBuildで作ったものよりはちょっと劣るか。 »
「パソコン・インターネット」カテゴリの記事
「学問・資格」カテゴリの記事
「日記・コラム・つぶやき」カテゴリの記事
« RF Weekly Digest (Gemini 3 Pro・Google AI Studio BuildによるAIで高周波・RF情報の週刊まとめアプリ) 2026/2/1-2026/2/8 | トップページ | Google Antigravityで、いつも見ている高周波関連サイト数十をスクレイピングしてローカルLLM(OllamaのQwen3:8b)で1週間分まとめてもらうRF Weekly Digestを作ってもらった。モデルはGemini 3 Proで。Google AI StudioのBuildで作ったものよりはちょっと劣るか。 »



コメント