3

jeffheatonのencogニューラルネットワークライブラリを使用してコンピュータのメモリを模倣したいと思います。どのアプローチを使うべきかわかりません。

私の要件は、メモリの場所と値のバイトのコレクションを用意することです。

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

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

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

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

4

3 に答える 3

2

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

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

従来のフィードフォワード、バックプロパゲーションネットワーク(パーセプトロン)でも、このようなことができるはずです。ただし、ネットワークがすべての入力値を適切に呼び出すことができるように、十分な非表示ノードを作成するように注意する必要があります。もちろん、これを行うと過剰適合が発生しますが、入力データを一般化するのではなく、パターンをよりよく思い出したいようです。

新しいデータを学習するという問題を解決するには、ネットワークを1回学習するのではなく、時間をかけて学習できるようにする必要があります。これについてはさらに調査する必要がありますが、ある種のオンライン学習アルゴリズムを使用する必要があります。

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

于 2011-04-27T18:09:12.733 に答える
1

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

于 2011-10-16T21:08:25.450 に答える
0

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

各ループはデータの循環を可能にし、その下の各ループはメモリを識別、取得、または変更できます。

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

于 2011-01-31T01:03:15.297 に答える