Четверг, 2024-11-21, 3:20 PM
Главная страница | Регистрация | Вход Приветствую Вас заблудившийся пакет | RSS
Меню сайта

Категории каталога
Программирование [58]
.. все с этим делом связаное..
Нейронные сети [4]
Нейронные сети, использование алгоритмы роботы
OC [6]
Unix, FreeBSD, Windows, Linux Описание, совети, секреты, настройки
WEB [25]
web-programming и все с этим связаное
Сети [2]
Описание сетей, сетевых технологий, настройки и некоторые секреты
Мабила [9]
Описание мобильных технологий, программинг под мабилу, и просто интересные моменты
Разное [10]
то что не вошло в другие категории.. прикольные истории про программеров и деятелей информационной индустрии
История [6]
История этого компьтерного мира и некоторых ее учасников
FREE [3]
free on the web..

Наш опрос
Оцените мой сайт

Результаты · Архив опросов

Всего ответов: 129

Начало » Статьи » Нейронные сети

Ассоциативная память.

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

Принципы работы сетей Хемминга

Алгоритм работы базируется на определении Хеммингово расстояния. Хеммингово расстояния – это количество отличающихся позиций в бинарных векторах. Результатом работы сети является нахождение образа с наименьшим расстоянием.

 – расстояние 0
 – расстояние 2
 – расстояние 5

Отсутствие сигнала кодируется как (-1), наличие (1). Сеть состоит всего из 2-х слоев.

Рис. 1. Схема сети Хэмминга

Алгоритм работы

  1. Инициализация весовых коэффициентов первого слоя.
    ,
    где Х – запоминаемые образы, i – соответствующий компонент вектора X, j – номер образа, n – размерность вектора X, m – количество запоминаемых образов.
  2. Расчет состояния нейронов первого слоя.
    ,
    где X – неизвестный образ, T = n/2 – порог активационной функции
  3. Расчет состояния нейронов второго слоя.
    ,
    где p – номер итерации, 0 < < 1/m
    ,
    где f – пороговая активационная функция.
    ,
    где F – порог активационной функции. Обычно F выбирается достаточно большим, так, чтобы при любом допустимом значении входа не наступало насыщение. На практике F обычно берется равным количеству примеров.
  4. Проверка условия выхода.
    Если выходы не стабилизировались, т.е. изменялись за последнюю итерацию, то переход на шаг 3, иначе конец.

Область применения.

На ум сразу приходит задача оптического распознавания символов (OСR). Действительно, так оно и есть. При решении этой задачи сети Хемминга активно используются. Но это, так сказать, лежит на поверхности. На практике они используются для восстановления зашумленного исходного сигнала, задачах оптимизации и во многих других случаях. Рассмотрим один из таких частных случаев – нечеткий поиск.

Итак, у нас на входе словарь, необходимо найти искомое слово в этом словаре, даже если оно было набрано с ошибкой. Для этого нужно сначала придумать систему кодирования символьной информации в вектора. Зададим для каждого символа его битовую маску.

А – 00001
Б – 10001
В – 10010

Хотелось бы обратить внимание, что при кодировании желательно учитывать источник получения информации. Например, если для ввода информации используется клавиатура, то лучше всего было бы задавать коды символов таким образом, чтобы у символов, расположенных рядом на клавиатуре, были бы и близкие по Хеммингу коды. Если же источником является OCR программа, то близкие коды должны быть у схожих по написанию символов. После кодирования таким образом подаем полученные вектора на вход нейросети.

Тут необходимо учитывать одну особенность сетей Хемминга. Если при написании была опечатка или даже две, то алгоритм работает хорошо, но если был пропущен символ или добавлен лишний, то Хемингово расстояние может оказаться слишком большим. Для того, чтобы сгладить этот недостаток, мы будем подавать на вход как само искомое слово, так и это же слово, исключая по очереди по одному символу в каждой позиции и добавляя по одной букве в каждую позицию. Такой подход позволит найти практически все случаи ошибок – опечатка, пропуск символа, лишний символ.

Арустамов Алексей. Стариков Алексей


Список литературы:

  1. R.P.Lippman, "An introduction to computing with neural nets", IEEE ASSP Magazine. Apr. 1987.
  2. B.Muller, J.Reinhardt, "Neural networks", Springer -Verlag. 1990.
  3. Ф.Уоссермен, "Нейрокомпьютерная техника" , М.: Мир, 1992
  4. С.Короткий, "Нейронные сети Хопфилда и Хэмминга"
  5. А.Ежов, С.Шумский, "Нейрокомпьютинг и его применение в экономике и бизнесе",1998.


Источник: http://www.basegroup.ru/neural/assoc.htm
Категория: Нейронные сети | Добавил: X-SAM (2006-04-21) | Автор: Арустамов Алексей. Стариков Алексей
Просмотров: 2067 | Комментарии: 3 | Рейтинг: 0.0

Всего комментариев: 1
1 X-SAM  
0
:D статейка просто супер

Имя *:
Email *:
Код *:

Украинская Баннерная Сеть
Поиск по каталогу

Кнопки друзей

Статистика
Рейтинг сайтов Powered by MyPagerank.Net

Copyright DEBUGGER © 2007 Используются технологии uCoz