5

私は、時系列を予測するためにニューラルネットワークを開発しようとしています。訓練されたニューラルネットワークを格納して使用する

私が理解している限り、私はトレーニングセットで自分のニューラルネットワークをトレーニングしており、テストセットでそれを検証しています。

自分の結果に満足したら、ニューラルネットワークを使って新しい値を予測できます。ニューラルネットワーク自体は、基本的に私がトレーニングセットを使って調整したすべての重みです。

これは間違いありませんか?

もしそうなら、私はネットワークを一度トレーニングしてから、私のネットワーク(重み)を使って将来の値を予測するだけです。通常、ネットワーク全体の再計算を避ける方法はありますか?私はデータベースや何かにすべての重量を保存する必要がありますので、私はいつも再びそれを訓練することなくそれにアクセスすることができますか?

私の理解が間違っていれば、専用のコンピュータ(スーパーコンピュータなど)で重い計算をしてから、ウェブサーバーやiPhoneアプリなどでネットワークを使用すると効果があります。それを保存する方法を知っている。

+0

おそらく 'pickle'を使って訓練されたニューラルネットをファイルに保存することができます。 https://docs.python.org/2/library/pickle.htmlを参照してください。 –

+0

ニューラルネットワークフレームワークを使用している場合は、そのフレームワークがウェイトをロード/保存するAPIを持っている可能性があるため、ニューラルネットワークフレームワークについて言及してください。 –

答えて

2

ニューラルネットワークを永続にするには、pickleとすることができます。 訓練された漬けのネットワークの重みを再計算する必要はありません。ネットワークを復旧させて新しい予測を行うために必要なのは、

より効率的に使用できるjoblibのようなライブラリがあります。シリアライズ/酸洗です。

NNを再訓練するかどうかの問題は自明ではありません。それは、あなたがネットワークを使っているものが何であるかによって異なります。 Reinforcement learningと言うと、新しい信念で再訓練する必要があるかもしれません。しかし、場合によっては、おそらくこれで、訓練されたネットワークを一度も常に使用したり、将来的にフィールドデータが多い場所で再トレーニングしたりすることで十分かもしれません。

関連する問題