romAI検証コーナー(その3)Regularization Coefficient

Kosuke_IKEDA
Kosuke_IKEDA
Altair Employee

シンプルなモデルを使用して、romAIの機能をチェックしていきます。第3回はトレーニングパラメータのRegularization Coefficientの効果を確認します。

 

問題設定

第2回と同様に、3次関数の予測を行います。y=u+0.2u^3の3次関数に対し、今回はノイズはゼロとしました。

uの範囲は-15~15としています。これを学習データとしてromAIがy=u+0.2u^3の3次関数を予測する際に、Regularization Coefficientにより結果がどのように変わるかを確認します。

image

 

romAIの設定

romAIの設定を行います。

入出力

第1回、第2回と同様に、静的ROMとして、Inputs、Outputsのみを指定します。

image

 

関数

non linearのNeural Netを使用します。今回はtanhで、レイヤーの数、ニューロンの数は[20,20]としました。

  • Non Linear: tanh [20,20]

image

 

トレーニングパラメータの設定

Regularization Coefficientの値を0~0.1(デフォルト1e-6)に変えてモデルを作成しました。

image

Regularization CoefficientはCost Functionの係数λです。λを大きくすることで、応答を滑らかにする特性があります。

image

 

romAIの精度確認

romAIの結果を学習データの3次関数と比較しました。

Regularization Coefficient = 0

最も急峻な応答を表現可能な設定です。3次関数を精度良く表現できています。

image

Regularization Coefficient = 1e-6

デフォルト設定です。

image

Regularization Coefficient = 1e-4

値を大きくすると、応答を滑らかにします。u=15近傍での勾配が小さくなっていることがわかります。

image

Regularization Coefficient = 1e-3

さらに大きくすると、線形応答に近づきます。

image

Regularization Coefficient = 1e-2

image

Regularization Coefficient = 1e-1

さらに大きくすると、応答は定数(平均値)に近づきます。

image

 

まとめ

今回はromAIのRegularization Coefficient の効果をパラメータスタディで確認しました。

Regularization Coefficient = 0で最も急峻な応答を表現し、値を大きくするにつれて、線形応答、一定応答に近づくことを確認しました。

 

Comments