Рефераты. Функциональные модели универсального нейрокомпьютера

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

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

Несколько слов о структуре диссертации. В первой главе выделяются основные компоненты нейрокомпьютера по следующим признакам.

1.     Относительная функциональная обособленность: каждый компонент имеет четкий набор функций. Его взаимодействие с другими компонентами может быть описано в виде небольшого числа запросов.

2.     Возможность реализации большинства используемых алгоритмов.

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

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

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

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


1. Функциональные компоненты

Эта глава посвящена выделению функциональных компонентов, составляющих универсальный нейрокомпьютер [77, 88, 152, 297, 298]. Основные компоненты нейрокомпьютера выделяются по следующим признакам:

1.     Относительная функциональная обособленность: каждый компонент имеет четкий набор функций. Его взаимодействие с другими компонентами может быть описано в виде небольшого числа запросов.

2.     Возможность реализации большинства используемых алгоритмов.

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

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

Кроме того, в данной главе описаны общие для всех компонентов типы данных. Дано полное описание запросов, выполняемых всеми компонентами.

1.1.               Краткий обзор нейрокомпьютеров

Разнообразие нейрокомпьютеров можно классифицировать по разным признакам. Наиболее естественной является классификация по типу используемой нейронной сети. С точки зрения функционирования наиболее существенным является разделение на сети, функционирующие в непрерывном времени, и сети, функционирующие в дискретном времени. Наиболее известным представителем сетей, функционирующих в непрерывном времени являются сети Хопфилда [316]. Семейство нейронных сетей, функционирующих в дискретном времени, представлено шире – это сети Кохонена [130, 131], персептрон Розенблатта [147, 185], сети, обучаемые по методу двойственности (обратного распространения ошибки) [34, 35, 40, 42, 43, 47, 48, 53, 54, 58, 65, 69, 93] и др. В данной работе рассматриваются только сети, функционирующие в дискретном времени.

Другая возможная классификация – по типам решаемых задач. Можно выделить три основных типа задач.

1.     Классификация без учителя или поиск закономерностей в данных. Наиболее известным представителем этого класса сетей является сеть Кохонена [130, 131], реализующая простейший вариант решения этой задачи. Наиболее общий вариант решения этой задачи известен как метод динамических ядер [229, 267].

2.     Ассоциативная память. Наиболее известный представитель – сети Хопфилда [316]. Эта задача также позволяет строить обобщения. Наиболее общий вариант описан в [75, 77, 86].

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

Отметим, что для каждой из перечисленных задач существуют другие, более традиционные методы решения (см. например, [1, 7, 17, 19, 22]).

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

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

Основное различие между дифференцируемыми и пороговыми сетями состоит в способе обучения. Для дифференцируемых сетей есть конструктивная процедура обучения, гарантирующая результат, если архитектура сети позволяет ей решит задачу (см. разд. «Оценка способности сети решить задачу») – метод двойственного обучения (обратного распространения ошибки). Следует заметить, что при использовании обучения по методу двойственности так же возникают сложности, типа локальных минимумов. Однако существует набор регулярных процедур, позволяющих с ними бороться (см. например [93]). Для обучения пороговых сетей используют правило Хебба или его модификации. Однако, для многослойных сетей с пороговыми элементами правило Хебба не гарантирует обучения. (В случае однослойных сетей – персептронов, доказана теорема о достижении результата в случае его принципиальной достижимости). С другой стороны, в работе [147] доказано, что многослойные сети с пороговыми нейронами можно заменить эквивалентными двухслойными сетями с не обучаемыми весами первого слоя. В работе [154] предложен подход, позволяющий свести обучение сетей с пороговыми нейронами к обучению дифференцируемых сетей с последующей трансформацией в сеть с пороговыми нейронами.

1.2.               Выделение компонентов

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

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

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

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.