Optimizer実験
colab設定
%config InlineBackend.figure_format='retina'
出力物(matplotlibなど)の解像度を網膜に設定する騒音
n_data = 10000
x_numpy = -3+6*np.random.rand(n_data,1)
# y_numpy = np.exp(-(x_numpy**2))*np.cos(10*x_numpy)
y_numpy = np.exp(-(x_numpy**2))*np.cos(10*x_numpy) + 3e-2*np.random.randn(n_data,1)
plt.figure(figsize=(8,5))
plt.plot(x_numpy,y_numpy,'r.',ms=2)
plt.show()
x_torch = torch.Tensor(x_numpy).to(device)
y_torch = torch.Tensor(y_numpy).to(device)
print ("Done.")
元の意図関数の図形を以下に示す.対応するグラフィックにノイズを追加します.
ノイズは上記コードで述べたようにnpである.random.randn()に小さな実数値3 e−2を乗じて実現した.
オプティマイザの比較
これは,500番目,3500番目,9999番目の再epochでそれぞれのオプティマイザを用いたモデルが関数にどれだけ近いかを示すグラフである.GTは近似したいパターンです.
ADAMは最初からいいです.すばやくSGDとMomentumは似ているように見えます.
Reference
この問題について(Optimizer実験), 我々は、より多くの情報をここで見つけました https://velog.io/@naem1023/Optimizer-실습テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol