コンピューターメモリを模倣するためのニューラルネットワーク(ジェフヒートンのエンコグ付き)

StackOverflow https://stackoverflow.com/questions/4575617

質問

Jeff HeatonのEncog Neural Network Libraryでコンピューターメモリを模倣したいと思います。どのようなアプローチを使用するかわかりません。

私の要件は、値のメモリの位置とバイトのコレクションを持つことです。

location [0000]:byte-data[0101010]
location [0001]:byte-data[0101010]

これらは、私がニューラルネットワークシステムに渡す値です。

メモリデータが変更されるたびに、ニューラルネットワークを再訓練することを避けようとしていました。しかし、多分それは私がする必要があることです。

私がやろうとしていることを達成するために、どのニューラルネットワークテクニックを使用しますか?

役に立ちましたか?

解決

あなたがやろうとしていることは問題ではありません。ニューラルネットワークは、パターンを学ぶのではなく、パターンを一般化する方が良いので、本当に素晴らしいです。ただし、確率的ニューラルネットワークまたは定期的な認識でこれを達成できる場合があります。あなたはあなたの問題について少し曖昧だったので、私は私の答えについてあいまいでなければなりません。メモリデータを渡してから、メモリアドレスに「分類」することを意味すると思います。このようにして、監視されたトレーニング方法を使用してネットワークをトレーニングすると、既存のアイテムと類似または同じメモリデータを渡すことができ、ネットワークはアドレスを提供します。逆に同じことをすることもできます。

確率的ニューラルネットワークを使用する場合、ネットワークに渡すすべてのパターンを本質的に学習します。もちろん、新しいメモリアドレスを保存するたびに、ネットワークに新しいノードを追加しているため、物事は少し非効率的になります。この問題を軽減するために作業が行われました、 たとえば、この論文 (自分でアルゴを実装する必要があります)。おそらく、このタイプのネットワークは、メモリを正確に「思い出す」のに最も信頼性が高いと同時に、結果を一般化することができます(確率を使用して)。欠点は、それが記憶集中になることです。

従来のフィードフォワード、Backpropogation Networks(Perceptrons)は、このようなことを可能にする必要があります。ただし、ネットワークがすべての入力値を適切にリコールできるように、十分な非表示ノードを作成するように注意する必要があります。もちろんこれを行うと、フィッティングが大きくなりますが、入力データを一般化したくないように聞こえます。パターンをよりよくリコールしたいと思います。

新しいデータを学習する問題を解決するには、一度学習する代わりに、ネットワークを時間の経過とともに学習できるようにする必要があります。これをもっと調査する必要がありますが、ある種のオンライン学習アルゴリズムを使用する必要があります。

結論として、ニューラルネットワークを使用しないでください。他の種類のアルゴリズムを使用してください。

他のヒント

ホップフィールドニューラルネットワーク 連想メモリを実装する簡単な方法です。便利なことに、Encogフレームワークによってもサポートされています。

あまりにも非技術的ではありませんが、接続されたループの束から外れる一連のループがメモリを生成する可能性があると確信しています。

各ループにより、データが円を丸くすることができ、その下の各ループはメモリを識別、取得、または変更できます。

もちろん、そのデザインを組み込むためにネットワークをどのように誘惑するかはわかりません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top