4.1 学習モデル
作成した学習データを⽤いてモデルの学習を⾏う。深層学習ライブラリとしてKeras を⽤いた。KerasはPythonで書かれたGoogleのディープラーニングライブラリである
TensorFlow上で実⾏可能なニューラルネットワークライブラリである。学習する際の
設定を下記に⽰す。
学習データ 56887データ テストデータ 1000データ
⼊⼒層 ノード数 13 中間層 2層
ノード数 32 活性化関数 ReLU ノード数 64 活性化関数 ReLU
出⼒層 ノード数 38 活性化関数 softmax 最適化アルゴリズム Adam
学習回数 最⼤1500epoch
early stop 損失値が30 epoch以内で0.001以上改善しない時学習を打ち切る
ミニバッチサイズ 4096 データ/学習 出⼒層へのドロップアウト率 50%
学習率 (初期) 1%
学習率低減割合 10epochで 0.1% 学習率を下げる 学習率の最低値 0.05%
出⼒層のノード数は19の登録トポロジーがそれぞれ評価式を2つ⽤いているため分 けて登録しているため、38のノードを⽤いた。⼊⼒層のノード数は⼊⼒する回路特性 と同数である。
学習epochとは、学習のまとまりである。学習データをミニバッチサイズで割った
数が1epochの学習回数となる。学習データを1度に与えると訓練に使⽤したデータに
ではこの⼿法を採⽤した。
またドロップアウト率は⼀度の学習に使うノードの割合を⽰す。⼀度の学習で全て のノードの重みを変更した場合も過学習に陥りやすいとされるから(13)である。学習の 早期打ち切りも過学習対策である。学習による最適化を続けすぎると学習に与えたデ ータに特化したモデルになってしまい、未知のデータに対しての誤差が増加すること が多いため(13)、誤差の変化が⼩さくなったところで学習の早期打ち⽌めを⾏ってい る。
4.2 学習結果
テストデータは学習データのうちランダムに1000データを取り出した。
学習における訓練データの正解率と誤差関数の値の推移を図4.1と図4.2に⽰す。横
軸は学習epochを表し、縦軸は誤差関数の値と、訓練データの正解率を表す。学習初
期は訓練データの誤差関数の値が3.5を超えており、訓練データの正解率は10%にも 満たず、正しく学習ができていない。学習が進むにつれ誤差関数が減少していき、最 終的には0.4より⼩さくなり、改善が⾒られなくなったため学習を完了したとし打ち 切った。訓練データの正解率は85%を超え学習が終了した。
また学習epochごとにテストデータをモデルに与えた時のモデルの誤差関数の値と
正解率の推移を図4.3と図4.4に⽰す。横軸は学習epochを表し、縦軸は誤差関数の値 と、テストデータの正解率を表す。モデルが訓練データを正しく学習できたことを確 認したが、学習データに依存しすぎたモデルになっていることが考えられる。そこで 学習に使⽤しないデータをモデル精度の確認⽤に使⽤する。学習に使⽤した訓練デー タと同じような推移の特徴を⽰しており、学習が進むにつれモデルが学習に使⽤して いないデータに対しても正しく分類ができるモデルに近づいていくことが読み取れ る。最終的なテストデータの正解率は94.9%になった。
本研究では登録トポロジーごとに評価式を⼆つ⽤いて学習データを作成しているた め、モデルの出⼒の番号が異なっていても同じ回路トポロジーを表すことがある。こ れを考慮し、モデルの出⼒が同⼀回路トポロジーでありながら間違い判定された場合 のテストデータを検出し、正解率を補正する。その結果テストデータの最終正解率は 96.9%となった。
図 4.1 誤差関数の推移
図 4.2 訓練データの正解率の推移
図 4.3 テストデータの誤差関数の推移
図 4.4 テストデータの正解率の推移
4.3 未知データの分類
テストデータの分類の結果は、学習済みモデルが複数の回路トポロジーから実際に 出⼒したトポロジーを⾼確率で分類できることを表している。しかし、実⽤的な問題 としては、どのような回路で実現できるかわからない回路特性を⼊⼒した時にその回 路特性を満たしてくれそうな回路トポロジーをモデルが出⼒できるかどうかが重要で ある。そのため登録されていない回路トポロジーで得られる回路特性を⼊⼒した時 に、どの登録回路トポロジーが予想され選択されるか実験した。図4.5と図4.6の回路 トポロジーから第3章で述べたGAを⽤いて回路特性を複数得た。これを学習済みモ デルに⼊⼒したときの出⼒を図4.7から図4.10に⽰す。横軸が対応する回路トポロジ ーを表し、縦軸が何個選ばれたかを表す。
図4.5の未知データの回路トポロジーは、図3.22の13番⽬の登録回路トポロジーと 出⼒段のみが異なる構成の回路である。そのため正しくモデルが学習できているなら ば図4.5から得られた回路特性を⼊⼒すれば、13番⽬の登録回路トポロジーが選ばれ ることが望まれる。
図4.7は図4.5の回路で式(3.1)を評価式として作成した回路から得た回路特性を分類 した結果である。ほとんどの回路特性が図3.22の式(3.1)を評価式として作成した回路 特性が⼀番適切であると判断された。図4.8は式(3.2)を⽤いて作成した回路から得た 回路特性である。ほとんどのデータが図3.22の式(3.2)を評価式として作成した回路特 性が⼀番適切であると判断された。回路構成が近いと予想した登録トポロジーが選ば れ正しく未知データが分類できたといえる。
図4.6の未知データである回路トポロジーは折り返しカスコードである。この回路 構成にはカスコードを持つ図3.14の回路図か、図3.26の折り返しカスコードのプッシ ュプルの回路が登録回路構成の中では回路特性が近いと思われる。
図4.9は図4.6の回路で式(3.1)を⽤いて作成した回路特性を分類した結果である。望 んだ出⼒である図3.14が最も多く選ばれた。図4.10は図4.6の回路で式(3.2)を⽤いて 作成した回路特性を分類した結果である。望んだ出⼒である図3.26が最も多く選ばれ た。回路特性を作成する際に使⽤した評価式によって、最も多く分類される回路トポ ロジーは異なったが、どちらも構造が近いと予想した回路トポロジーであった。
未知回路特性に対する適切トポロジーの選択実験から、作成したモデルが所望特性