Наверх   Информация   Содержание   Плакаты  

2.4. Нейронные сети

2.4.1. Две ветви компьютерной эволюции

Рис. 2.7. Эволюция последовательной фон Неймановской и параллельной сетевой компьютерных архитектур

С самого начала компьютерной эры в середине нашего века обозначились две линии развития компьютеров, две ветки технологической эволюции (см. рис. 2.7). Первая, до сих пор безусловно доминировавшая, «линия фон Неймана» эксплуатирует доказанную Тьюрингом еще в 30-е годы возможность выполнения сколь угодно сложных вычислений с помощью простейших вычислительных устройств. Машина Тьюринга, прообраз современной последовательной архитектуры, состоит из ленты с записанной на ней программой и обрабатывающего эту программу конечного автомата. В предельном случае, как было показано Шенноном, этот автомат может иметь всего лишь два внутренних состояния. И, тем не менее, такая предельно упрощенная конструкция способна вычислять любые рекурсивные функции, обрабатывая информацию последовательно, шаг за шагом.

Эта базовая идея последовательной обработки символов, описывающих ход вычислений по заданному алгоритму, лежит в основе всех современных вычислительных машин. Сами алгоритмы вычислений задаются извне - программистами. Компьютер же является, по сути, не более чем аккуратным исполнителем.

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

Однако по мере удешевления элементной базы, вызванного развитием интегральных технологий, ситуация коренным образом изменилась. Сейчас именно создание алгоритмов обработки информации – как программных так и «отлитых в кремние» - является наиболее трудоемким этапом информационных технологий. В компьютерной кузнице мира - кремниевой долине США - наблюдается постоянная нехватка программистов.

Ситуация усугубляется постоянным стремлением повысить скорость обработки информации за счёт увеличения степени параллелизма вычислений. Это стремление обусловлено развитием компьютерных коммуникаций, объединивших компьютеры в единую мировую сеть Интернет, в которой большую часть трафика составляют уже не символы, а образы – картинки, музыка, речь, видео. Прогресс современных широкополосных линий связи выводит задачи обработки образов на первый план. Здесь-то и начинает проявляться ахиллесова пята последовательной архитектуры – их неспособность обрабатывать широкополосную информацию, иначе как по частям.

Между тем, уже на заре компьютерной эры была предложена альтернативная, полностью параллельная архитектура обработки информации «по образу и подобию» биологических нервных систем – нейрокомпьютинг. Датой рождения этой науки принято считать 1943 год, в котором появилась статья МакКаллока и Питтса о вычислениях в сетях формальных нейронов. Каждый такой нейрон представляет собой пороговый элемент, на вход которого подаются сигналы с других нейронов, причем каждый входной сигнал умножается на соответствующий ему коэффициент значимости или синаптический вес. В статье было показано, что такие сети могут вычислить любую задачу, доступную машине Тьюринга. Однако способ программирования нейронных сетей – подбора синаптических весов всех нейронов - долгое время оставался загадкой. В конце 50- х Розенблатт нашел основную идею, легшую в основу нейрокомпьютинга: структура сети должна, как и в живых организмах, формироваться путем обучения на примерах. Таким образом, задача нейро-программистов – обеспечить способность сети к обучению, заложить в нее единственный алгоритм обучения, а далее структура сети формируется самостоятельно под воздействием примеров, характеризующих ту или иную задачу, которой сети предстоит обучиться. Розенблатт предложил такой алгоритм, но лишь для одного нейрона (или одного слоя нейронов). В конце 80-х появился, наконец, алгоритм обучения многослойных нейросетей, позволивший решать широкий класс прикладных задач. Тридцать лет, разделяющих эти два открытия, были годами «триумфального шествия» архитектуры фон Неймана, нейрокомпьютинг же оставался по большому счету невостребованным.

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

2.4.2. Две парадигмы вычислений

От символов - к образам, от выполнения - к генерации алгоритмов.

Еще на заре компьютерной эры - до появления первых ЭВМ - были намечены два принципиально разных подхода к обработке информации:

  • последовательная обработка символов
  • и параллельное распознавание образов.

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

Пусть процессор манипулирует n-разрядными словами. Количество информации, требуемое для описания произвольного преобразования таких слов, составляет бит. Иными словами, для описания произвольного алгоритма обработки n-разрядных слов потребуется таких слов. Это типичный пример "комбинаторного взрыва", проводящего четкую границу между малоразрядной символьной и многоразрядной образной информацией.

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

Описать же все операции над многобитными образами принципиально невозможно, ибо длина описания растет экспоненциально. Следовательно, любой "процессор образов" всегда специализирован - задание на его разработку представлено заведомо неполной таблицей преобразований образов, как правило, содержащей ничтожную часть возможных сочетаний входов-выходов. Во всех остальных ситуациях его поведение не специфицировано. Процессоры образов должны обладать способностью обобщения конечного числа примеров на потенциально необозримое множество возможных ситуаций. В этом своем качестве они противоположны обычным компьютером, где алгоритм в явном виде задает поведение во всех мыслимых ситуациях. Можно сказать, что обучение на примерах является самопрограммированием. Программистам не приходится составлять иерархию блок-схем сводящих сложную задачу в конечном итоге к набору элементарных команд процессора. Алгоритмы обработки образов порождаются автоматически в процессе обучения на примерах. Это кардинально упрощает процесс создания программ и электронных устройств. Нейрокомпьютинг является, таким образом, важным инструментом автоформализации знаний. Эта его особенность в конечном итоге определяет относительную простоту разработки нейро-приложений, что и обеспечивает нейрокомпьютингу решающее конкурентное преимущество.

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

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

2.4.2.1. Последовательная обработка символов

Первые ЭВМ обязаны своим появлением не только гению ученых, но и в не меньшей степени давлению обстоятельств. Вторая мировая война потребовала решения сложных вычислительных задач. Нужны были суперкалькуляторы, какими и стали первые ЭВМ.

При тогдашней дороговизне аппаратных средств (hardware) выбор последовательной архитектуры, принципы которой были сформулированы в знаменитом отчете фон Неймана 1945 года, был, пожалуй, единственно возможным. И этот выбор на несколько десятилетий определил основное занятие ЭВМ: решение формализованных задач. Разделение труда между компьютером и человеком закрепилось по формуле: "человек программирует алгоритмы - компьютер их исполняет".

Тем временем прогресс полупроводниковых интегральных технологий обеспечил несколько десятилетий экспоненциального роста производительности фон-неймановских компьютеров, в основном за счет увеличения тактовой частоты, и в меньшей степени - за счет использования параллелизма. Если тактовая частота растет обратно пропорционально размеру вентилей на чипе, то есть пропорционально корню квадратному числа элементов, то число входов-выходов - всего лишь как корень пятой степени. Этот факт отражен в эмпирическом законе Рента: число вентилей в процессоре пропорционально примерно 5-й степени от числа его входов-выходов (Д. Ферри, Л. Эйкерс, Э. Гринич, "Электроника ультрабольших интегральных схем", М.: "Мир", 1991). Поэтому кардинальное увеличение разрядности процессоров при сохранении существующих ныне схемотехнических принципов невозможно. Обработка действительно сложной - образной - информации должна базироваться на принципиально иных подходах. Поэтому-то мы и не имеем пока систем искусственного зрения, хоть как-то сопоставимых по своим возможностям с их природными прототипами.

2.4.2.2. Параллельная обработка образов

Распознавание сенсорной информации и выработка адекватной реакции на внешние воздействия - вот главная эволюционная задача биологических компьютеров, от простейших нервных систем моллюсков до мозга человека. Не выполнение внешних алгоритмов, а выработка собственных в процессе обучения. Обучение представляет собой процесс самоорганизации распределенной вычислительной среды - нейронных ансамблей. В распределенных нейронных сетях происходит параллельная обработка информации, сопровождающаяся постоянным обучением, направляемым результатами этой обработки. Лишь постепенно в ходе эволюции биологические нейронные сети научились осуществлять достаточно длинные логические цепочки - эмулировать логическое мышление. Распознавание же образов вовсе не предполагает логического обоснования. Эволюция не решает формализованных задач, не рассуждает, она лишь отбраковывает неверные решения. Элиминация ошибок - основа любого обучения, и в эволюции, и в мозге, и в нейрокомпьютерах. Рассмотрим основные принципы работы нейрокомпьютеров. Устройство мозга слишком сложно. Искусственные нейросети проще - они "пародируют" работу мозга, как и положено любым научным моделям сложных систем. Главное, что объединяет мозг и нейрокомпьютеры, - нацеленность на обработку образов. Оставим в стороне биологические прототипы и сосредоточимся на базовых принципах распределенной обработки данных.

2.4.2.3. Коннекционизм

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

Рис. 2.8

Специализация же связей возникает лишь на этапе их настройки - обучения на конкретных данных. Архитектура процессора или, что то же самое, алгоритм решения конкретной задачи проявляется, подобно фотоснимку, по мере обучения. Каждый формальный нейрон производит простейшую операцию - взвешивает значения своих входов со своими же локально хранимыми синаптическими весами и производит над их суммой нелинейное преобразование (см. рис. 2.9).

Рис. 2.9. Формальный нейрон

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

2.4.2.4. Локальность вычислений

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

2.4.2.5. Локальность обучения

Отсутствие глобального плана вычислений в нейросетях предполагает и особый характер их программирования. Каждый нейрон изменяет свои "подгоночные параметры" - синаптические веса - в соответствии с поступающей к нему локальной информацией. Эта информация определяется по выходам сети и отражает эффективность её работы как целого. Она распространяется от выходов ко входам, навстречу потоку входных сигналов. Поэтому базовый алгоритм обучения сетей получил название обратного распространения ошибок. Поскольку ошибка проходит по тем же самым синаптическим связям между нейронами, наибольший сигнал об ошибке получают нейроны, давшие наибольший вклад в ошибочный ответ. В итоге такие наименее обученные нейроны сильнее всего и обучаются. Это очень простой и эффективный принцип обучения - "каждому воздастся по делам его". Вероятно, именно таким образом в процессе самообучения биологические нейросети выработали столь эффективные алгоритмы обработки сенсорной информации. Интересно, что математически обучение методом обратного распространения ошибки соответствует так называемой градиентной оптимизации. Не вдаваясь в математические тонкости, этот процесс можно образно представить как поиск минимума функции ошибки, зависящей от набора всех синаптических весов сети, руководствуясь градиентом этой функции. Обратное распространение ошибки эффективно вычисляет локальный градиент в пространстве конфигураций, направляя тем самым процесс минимизации ошибки. Функция ошибки, однако, может иметь множество локальных минимумов, представляющих субоптимальные решения. Поэтому градиентные методы обычно дополняются элементами стохастической оптимизации, чтобы предотвратить "застревание" конфигурации сети в таких локальных минимумах. Идеальный метод обучения должен найти глобальный оптимум конфигурации сети. [5, 6]

2.4.3. Преимущества и недостатки нейросетевого подхода

Подытожим привлекательные черты распределенной обработки информации в искусственных нейросетях:

  • Параллелизм обработки информации - глобальность связей между нейронами. До обучения эти связи произвольны, но обучение на примерах "проявляет" конкретную структуру сети под конкретную задачу.
  • Высокая скорость. Она возможна вследствие внутреннего параллелизма сети и простой реализации в виде быстродействующих электронных микросхем.
  • Единый и эффективный принцип обучения нейросетей - минимизация эмпирической ошибки методом её обратного распространения по сети. Извне задается лишь цель обучения - то есть способ определения ошибки по выходам сети. Далее сеть постепенно модифицирует свою конфигурацию, минимизируя эту ошибку, то есть, все лучше справляясь с возложенной на неё задачей.
  • Надежность функционирования. Избыточность связей приводит к тому, что значения каждого веса по отдельности не играют решающей роли. Вывод из строя ограниченного числа нейронов или обрыв некоторых связей не сказываются критическим образом на качестве работы всей сети. В обычных компьютерах такие неисправности приводят к полному выходу из строя.
  • Способность решать неформализованные задачи - следует из способности нейросетей самостоятельно вырабатывать весьма сложные алгоритмы обработки данных, формализовать которые самостоятельно зачастую не могут даже лучшие эксперты в данной предметной области. Отсюда - относительная дешевизна нейросетевых разработок.
  • Перепрограммируемость. Нейронные микросхемы легко адаптируются к новым условиям экспериментов.

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

2.4.4. Применение нейронных сетей

На практике нейросети используются в двух ипостасях – как программные продукты, выполняемые на обычных компьютерах, и как специализированные аппаратно-программные комплексы. В первом случае не используется встроенный параллелизм нейросетевых алгоритмов. Для многих задач в т.н. приложениях data mining - при анализе и обобщении баз данных, особенного быстродействия и не требуется: для них вполне хватает производительности современных универсальных процессоров. В этих приложениях используется исключительно способность нейросетей к обучению, к извлечению скрытых в больших массивах информации закономерностей. Для второй группы приложений – обработки сигналов в реальном времени, параллелизм нейро-вычислений является критическим фактором.

Перечислим основные задачи, решаемые нейронными сетями:

  • Распределенная ассоциативная память. Распределенная память означает, что веса связей нейронов имеют статус информации без специфической ассоциации части информации с отдельным нейроном. Ассоциативная память означает, что нейронная сеть способна выдать на выход полный образ по предъявленной на входе его части.

  • Распознавание образов. Задачи распознавания образов требуют способности обрабатывать большое количество входной информации одновременно и выдавать категорический или обобщённый ответ. Для этого нейронная сеть обладает внутренним параллелизмом.

  • распознавание образов,

  • адаптивное управление,

  • прогнозирование,

  • экспертные системы,

  • оптимизация (т.е. поиск максимума функционала при наличии ограничений на его параметры),

  • кластеризация, категоризация.

Нейросети находят применение в различных областях:

  • экономика (предсказание показателей биржевого рынка, предсказание финансовых временных рядов);

  • робототехника (распознавание оптических или звуковых сигналов, самообучение);

  • визуализация многомерных данных;

  • оценка стоимости московских квартир (На вход нейросети подаются параметры, которыми обычно описывают квартиру в газетных объявлениях – район Москвы, удаленность от метро, тип дома, общая и жилая площадь квартиры, площадь кухни и т.д., а выходом является цена квартиры.);

  • ассоциативный поиск текстовой информации.

Нейронные сети представляют интерес для достаточно большого числа специалистов:

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

2.4.5. Нейронные сети ассоциативной памяти

Среди различных конфигураций искусственных нейронных сетей (НС) встречаются такие, при классификации которых по принципу обучения, строго говоря, не подходят ни обучение с учителем, ни обучение без учителя. В таких сетях весовые коэффициенты синапсов рассчитываются только однажды перед началом функционирования сети на основе информации об обрабатываемых данных, и все обучение сети сводится именно к этому расчету. С одной стороны, предъявление априорной информации можно расценивать, как помощь учителя, но с другой – сеть фактически просто запоминает образцы до того, как на её вход поступают реальные данные, и не может изменять свое поведение, поэтому говорить о звене обратной связи с "миром" (учителем) не приходится. Из сетей с подобной логикой работы наиболее известны сеть Хопфилда, сеть Хэмминга, и двунаправленная ассоциативная память (ДАП), которые обычно используются для организации ассоциативной памяти.

2.4.5.1. Нейронная сеть Хопфилда

Структурная схема сети Хопфилда приведена на рис 2.10. Она состоит из единственного слоя нейронов, число которых является одновременно числом входов и выходов сети. Каждый нейрон связан синапсами со всеми остальными нейронами, а также имеет один входной синапс, через который осуществляется ввод сигнала. Выходные сигналы, как обычно, образуются на аксонах.

Рис. 2.10. Структурная схема сети Хопфилда

Задача, решаемая данной сетью в качестве ассоциативной памяти, как правило, формулируется следующим образом. Известен некоторый набор двоичных сигналов (изображений, звуковых оцифровок, прочих данных, описывающих некие объекты или характеристики процессов), которые считаются образцовыми. Сеть должна уметь из произвольного неидеального сигнала, поданного на ее вход, выделить ("вспомнить" по частичной информации) соответствующий образец (если такой есть) или "дать заключение" о том, что входные данные не соответствуют ни одному из образцов. В общем случае, любой сигнал может быть описан вектором X = { xi: i=0...n-1}, n – число нейронов в сети и размерность входных и выходных векторов. Каждый элемент xi равен либо +1, либо -1. Обозначим вектор, описывающий k-ый образец, через Xk, а его компоненты, соответственно, – xik, k=0...m-1, m – число образцов. Когда сеть распознает (или "вспомнит") какой-либо образец на основе предъявленных ей данных, её выходы будут содержать именно его, то есть Y = Xk, где Y – вектор выходных значений сети: Y = { yi: i=0,...n-1}. В противном случае, выходной вектор не совпадет ни с одним образцовым.

Если, например, сигналы представляют собой некие изображения, то, отобразив в графическом виде данные с выхода сети, можно будет увидеть картинку, полностью совпадающую с одной из образцовых (в случае успеха) или же "вольную импровизацию" сети (в случае неудачи).

На стадии инициализации сети весовые коэффициенты синапсов устанавливаются следующим образом: (2.14) Здесь i и j – индексы, соответственно, предсинаптического и постсинаптического нейронов; xik, xjk – i-ый и j-ый элементы вектора k-ого образца.

Алгоритм функционирования сети следующий (p – номер итерации):

  1. На входы сети подается неизвестный сигнал. Фактически его ввод осуществляется непосредственной установкой значений аксонов: yi(0) = xi , i = 0...n-1, (2.15) поэтому обозначение на схеме сети входных синапсов в явном виде носит чисто условный характер. Ноль в скобке справа от yi означает нулевую итерацию в цикле работы сети.

  2. Рассчитывается новое состояние нейронов , j=0...n-1 (2.16) и новые значения аксонов (2.17) где f – активационная функция в виде скачка, приведенная на рис. 2.11, а. Рис. 2.11. Активационные функции

  3. Проверка, изменились ли выходные значения аксонов за последнюю итерацию. Если да – переход к пункту 2, иначе (если выходы застабилизировались) – конец. При этом выходной вектор представляет собой образец, наилучшим образом сочетающийся с входными данными.

Как говорилось выше, иногда сеть не может провести распознавание и выдает на выходе несуществующий образ. Это связано с проблемой ограниченности возможностей сети. Для сети Хопфилда число запоминаемых образов m не должно превышать величины, примерно равной 0.15·n. Кроме того, если два образа А и Б сильно похожи, они, возможно, будут вызывать у сети перекрестные ассоциации, то есть предъявление на входы сети вектора А приведет к появлению на её выходах вектора Б и наоборот.

НС Хопфилда имеет целый ряд недостатков:

  • сеть обладает небольшой ёмкостью, т.к. наряду с запомненными образами в сети хранятся их негативы;
  • при использовании коррелированных векторов-образцов возможно зацикливание сети в процессе функционирования;
  • квадратичный рост числа синапсов при увеличении размерности входного сигнала.

Несмотря на перечисленные недостатки, сеть данной конфигурации имеет огромное историческое значение. Именно с этой модели началось возрождение интереса к нейронным сетям в середине 80-х годов.

2.4.5.2. Нейронная сеть Хэмминга

Когда нет необходимости, чтобы сеть в явном виде выдавала образец, то есть достаточно, скажем, получать номер образца, ассоциативную память успешно реализует сеть Хэмминга (рис. 2.12). Данная сеть характеризуется, по сравнению с сетью Хопфилда, меньшими затратами на память и объёмом вычислений.

Рис. 2.12. Структурная схема сети Хэмминга

Сеть состоит из двух слоёв. Первый и второй слои имеют по m нейронов, где m – число образцов. Нейроны первого слоя имеют по n синапсов, соединенных со входами сети (образующими фиктивный нулевой слой). Нейроны второго слоя связаны между собой ингибиторными (отрицательными обратными) синаптическими связями. Единственный синапс с положительной обратной связью для каждого нейрона соединен с его же аксоном.

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

На стадии инициализации весовым коэффициентам первого слоя и порогу активационной функции присваиваются следующие значения: , i=0...n-1, k=0...m-1 (2.18) Tk = n / 2, k = 0...m-1 (2.19) Здесь xik – i-ый элемент k-ого образца.

Весовые коэффициенты тормозящих синапсов во втором слое берут равными некоторой величине 0 < ? < 1/m. Синапс нейрона, связанный с его же аксоном имеет вес +1.

Алгоритм функционирования сети Хэмминга следующий:

  1. На входы сети подается неизвестный вектор X = {xi:i=0...n-1}, исходя из которого рассчитываются состояния нейронов первого слоя (верхний индекс в скобках указывает номер слоя): , j=0...m-1 (2.20) После этого полученными значениями инициализируются значения аксонов второго слоя: yj(2) = yj(1), j = 0...m-1 (2.21)

  2. Вычислить новые состояния нейронов второго слоя: (2.22) и значения их аксонов: (2.23) Активационная функция f имеет вид порога (рис. 2.11, б), причем величина F должна быть достаточно большой, чтобы любые возможные значения аргумента не приводили к насыщению.

  3. Проверить, изменились ли выходы нейронов второго слоя за последнюю итерацию. Если да – перейди к шагу 2. Иначе – конец.

Из оценки алгоритма видно, что роль первого слоя весьма условна: воспользовавшись один раз на шаге 1 значениями его весовых коэффициентов, сеть больше не обращается к нему, поэтому первый слой может быть вообще исключен из сети (заменён на матрицу весовых коэффициентов).

Преимущества:

  • небольшие затраты на память,
  • сеть работает предельно быстро,
  • чрезвычайно простой алгоритм работы,
  • ёмкость сети не зависит от размерности входного сигнала (как в НС Хопфилда) и в точности равна количеству нейронов.

Недостатки:

  • сеть вместо образца в явном виде выдаёт его номер.

2.4.5.3. Двунаправленная ассоциативная память

Сети Хопфилда и Хэмминга являются автоассоциативными, т.е. входной образ может быть восстановлен или исправлен сетью, но не может быть ассоциирован с другим образом.

Ещё одна конфигурация нейронных сетей ассоциативной памяти – двунаправленная ассоциативная память (ДАП) – относится к гетероассоциативной памяти. Входной вектор поступает на один набор нейронов, а соответствующий выходной вектор вырабатывается на другом наборе нейронов. Входные образы ассоциируются с выходными.

ДАП является логичным развитием парадигмы сети Хопфилда, к которой для этого достаточно добавить второй слой. Структура ДАП представлена на рис. 2.13.

Рис 2.13. Структурная схема ДАП

Сеть способна запоминать пары ассоциированных друг с другом образов. Пусть пары образов записываются в виде векторов Xk = {xik:i=0...n-1} и Yk = {yjk: j=0...m-1}, k=0...r-1, где r – число пар. Подача на вход первого слоя некоторого вектора P = {pi:i=0...n-1} вызывает образование на входе второго слоя некоего другого вектора Q = {qj:j=0...m-1}, который затем снова поступает на вход первого слоя. При каждом таком цикле вектора на выходах обоих слоев приближаются к паре образцовых векторов, первый из которых – X – наиболее походит на P, который был подан на вход сети в самом начале, а второй – Y – ассоциирован с ним. Ассоциации между векторами кодируются в весовой матрице W(1) первого слоя. Весовая матрица второго слоя W(2) равна транспонированной первой (W(1))T. Процесс обучения, также как и в случае сети Хопфилда, заключается в предварительном расчете элементов матрицы W (и соответственно WT) по формуле: (2.24)

Эта формула является развернутой записью матричного уравнения (2.25)

для частного случая, когда образы записаны в виде векторов, при этом произведение двух матриц размером соответственно [n*1] и [1*m] приводит к (2.24).

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

Преимущества:

  • реализует гетероассоциативную память;
  • имеет простую и интуитивно понятный алгоритм функционирования;
  • быстро сходятся как процесс обучения, так и процесс восстановления информации;
  • совместима с аналоговыми схемами и оптическими системами;

Недостатки:

  • жёстко ограниченная ёмкость;
  • обладает некоторой непредсказуемостью в процессе функционирования;
  • возможны ложные ответы.

В заключении можно сделать следующее обобщение. Сети Хопфилда, Хэмминга и ДАП позволяют просто и эффективно разрешить задачу воссоздания образов по неполной и искаженной информации. Невысокая ёмкость сетей (число запоминаемых образов) объясняется тем, что, сети не просто запоминают образы, а позволяют проводить их обобщение. Вместе с тем, лёгкость построения программных и аппаратных моделей делают эти сети привлекательными для многих применений. [2, 3, 4]

2.5. Концепция поиска

На основе проведённых в исследовательской части исследований сформулируем основные концепции, которые должны лечь в основу данной реализации ПС.

В данной части работы подробно рассмотрены два принципиально разных подхода к обработке информации:

  • последовательная обработка символов по заданному алгоритму,
  • и параллельное распознавание образов (нейрокомпьютинг).

Также исследованы общие принципы работы нейрокомпьютеров:

  • коннекционизм,
  • локальность вычислений,
  • локальность обучения.

Кроме того, проведены исследования ИПС Интернета, которые можно разделить на:

  • классификационные ИПС,
  • словарные ИПС,
  • системы мета поиска.

Для реализации выбрана ИПС словарного типа, т.к. её поддержание не требует дорогого труда разработчиков классификатора и систематизаторов. Общая структура словарной ИПС приведена на рис. 2.3. в п. 2.1.2. Таким образом, в разрабатываемой системе индексация будет производиться автоматически.

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

ПС, как и большинство современных ПС, будет основана на модели индексирования и поиска Солтона (см. п. 2.3). Следовательно, должен поддерживаться словарь терминов (ключевых слов), а документы представляться в виде двоичных векторов. Способность классифицировать бинарные вектора, которую предоставляют нейронные сети, хорошо сочетается с классической моделью Солтона.

Выберем для реализации конфигурацию НС из числа следующих, исследованных в п. 2.4.5:

Для данной задачи от НС требуется способность относить неполный двоичный образ к одному из эталонных. Эту задачу решают нейронные сети всех исследованных конфигураций. В данной задаче не требуются преимущества, которые даёт ДАП, по сравнению с НС Хэмминга и Хопфилда, а сравнение НС Хэмминга с НС Хопфилда говорит в пользу НС Хэмминга, поэтому именно она выбрана для использования в разработке.

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

Нейронная сеть Хэмминга была модифицирована таким образом, что вместо критерия близости векторов по расстоянию Хэмминга используется количество несовпадений их единичных компонент. Данная мера близости соответствует формуле (2.10).

Модифицированная НС Хэмминга производит классификацию качественно значительно лучше НС Хэмминга. Этот вывод можно сделать, сравнивая результаты экспериментов, приведённые в табл. 6.6. и табл. 6.7. экспериментальной части.

На основании результатов исследований, проведённых в п. 2.2, выделение ключевых слов документа можно производить автоматически.

Кроме того, данная система будет осуществлять морфологический анализ с целью учёта того факта, что в документах слова употребляются в различных словоформах.

  Наверх   Информация   Содержание   Плакаты  
Для писем: kes@narod.ru
 
Используются технологии uCoz