Нейронная сеть (с Encog Джеффа Хитона), чтобы подражать компьютерной памяти - PullRequest
3 голосов
/ 01 января 2011

Я хочу имитировать память компьютера с помощью библиотеки нейронной сети Джеффа Хитона. Я просто не знаю, какой подход использовать.

Мое требование - иметь место в памяти и набор байтов для значений.

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

Это значения, которые я передаю нейросетевой системе.

Я пытался избежать переподготовки нейронной сети каждый раз, когда меняются данные памяти. Но, возможно, это то, что мне нужно сделать.

Какие методы нейронной сети вы бы использовали для достижения того, что я пытаюсь сделать?

Ответы [ 3 ]

2 голосов
/ 27 апреля 2011

То, что вы пытаетесь сделать, не является проблемой, с которой нейронные сети действительно так хороши, поскольку они лучше обобщают шаблоны, а не изучают их. Однако вы можете достичь этого либо с помощью вероятностных нейронных сетей, либо с помощью регулярного восприятия. Вы были немного расплывчаты в своей проблеме, поэтому я должен быть расплывчатым в отношении моего ответа. Я собираюсь предположить, что вы имеете в виду, что вы передаете данные в память, а затем «классифицируете их» по адресу памяти. Таким образом, когда вы тренируете сеть, используя контролируемый метод обучения, вы сможете передавать в память данные, которые аналогичны существующим элементам или совпадают с ними, и сеть предоставит вам адрес. Я полагаю, вы могли бы сделать то же самое в обратном порядке.

Если вы используете вероятностную нейронную сеть, вы, по сути, будете изучать каждый шаблон, который вы передаете в сеть. Конечно, каждый раз, когда вы хотите сохранить новый адрес памяти, вы добавляете новый узел в сеть, что делает его немного неэффективным. Была проделана работа по уменьшению этой проблемы, например, , этой статьи (вы должны реализовать алгоритм самостоятельно). Возможно, этот тип сети был бы наиболее надежным в «точном запоминании» памяти, но при этом мог бы обобщать результаты (используя вероятности). Недостатком является то, что это будет интенсивно использовать память.

Традиционные сети прямой связи, обратного распространения (персептроны) также должны позволять вам делать что-то подобное. Однако вам нужно быть осторожным, чтобы создать достаточно скрытых узлов, чтобы позволить сети правильно вспомнить все ваши входные значения. Выполнение этого, конечно, вызовет чрезмерную подгонку, но звучит так, будто вы не хотите обобщать свои входные данные, вы хотите лучше вспомнить шаблоны.

Чтобы решить проблему изучения новых данных, вам просто нужно, чтобы ваша сеть могла учиться со временем, а не один раз. Вам нужно будет исследовать это больше, но вы захотите использовать какой-то алгоритм онлайн обучения.

В заключение, не используйте нейронные сети, используйте другой тип алгоритма: p

0 голосов
/ 31 января 2011

Не слишком не технически, но я уверен, что серия циклов, выходящих из связки циклов, может создать память.

Каждый цикл позволял бы окружать данные, а каждый нижний цикл мог быидентифицировать, извлекать или изменять память.

Конечно, я не уверен, как бы вы соблазнили сеть включить этот дизайн.

...