私は深層学習アプリケーションに月光の脳モジュールを使用することを学んでいます。
私はニューラルネットワークを設定して、numpy.cos()関数を学習し、同様の結果を生成しています。
私のトレーニングの限界が以下の場合、私はうまく適合しています:
x = np.linspace(0,2*np.pi,100)
しかし、境界を次のように拡張しようとすると、モデルがばらばらになります。
x = np.linspace(0,3*np.pi,100)
他の境界で機能するようにモデルの柔軟性を高めるには、ニューラルネットワークで何を変更する必要がありますか?
これは私のコードです:
from gekko import brain
import numpy as np
import matplotlib.pyplot as plt
#Set up neural network
b = brain.Brain()
b.input_layer(1)
b.layer(linear=2)
b.layer(tanh=2)
b.layer(linear=2)
b.output_layer(1)
#Train neural network
x = np.linspace(0,2*np.pi,100)
y = np.cos(x)
b.learn(x,y)
#Calculate using trained nueral network
xp = np.linspace(-2*np.pi,4*np.pi,100)
yp = b.think(xp)
#Plot results
plt.figure()
plt.plot(x,y,'bo')
plt.plot(xp,yp[0],'r-')
plt.show()
これらは2piに対する結果です。
これらは3piに対する結果です。