Основы цифровой обработки сигналов и нейрокомпьютерные вычисления для инженеров

Нейрокомпьютинг,  нейросети и нейрокомпьютеры \ Королев Л. Н.


 

Страница в стадии отладки!

 

Учебные курсы и модули   "Виртуальной  школы"

Компьютер - Базовый Курс >>

Как стать Сетянином?  >>

Разработка ИТ-приложений  >>

Введение в моделирование систем >>

Новости

Я хочу получать новости!

Кадровые запросы
 фирм-разработчиков!

<НТЦ Модуль> <SPIRIT> <ИНСИС>

Информация о лекции

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

Содержание лекции

Для печати >>

ncc-1

 История развития нейрокомпьютерных вычислений

ncc-2 

Теория нейросетей

ncc-3.

Аппаратная и программная реализация вычислений

Контрольные вопросы  |  Экзамен

  Автор лекции

Королев 
Лев Николаевич

д.т.н., профессор,  »

Оглавление курса

Цифровая обработка сигналов - введение

Нейрокомпьютинг, нейросети и нейрокомпьютеры

Реализация искусственных нейронных сетей 
в НТЦ “Модуль”

Литература


Нейрокомпьютинг, нейросети и нейрокомпьютеры

Королев Л. Н.

Часть 2. Теория нейросетей

Нейросеть

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

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

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

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

Формальная модель нейроподобной сети

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

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

Мы будем далее рассматривать дискретно работающую сеть, в которой на каждом временном шаге ее работы в каждом ее узле производится вычисление некой величины, характеризующей состояние i-того узла в момент t. В следующий момент времени t+1 вычисленное на предыдущем шаге значение Хi передается ко всем другим узлам, с которыми данный узел связан по выходам.

Схема модели одного узла такой нейроподобной сети представлена на рис. 1.

Алгоритм работы узла состоит в следующем:

1)   вычисляется сумма весов дуг, входящих в узел i, умноженных на значения, поступающие по дугам, т. е. вычисляется скалярное произведение

SwijХ ij=xi

j

 

2)            по значению суммы xi вычисляется функция активации Si(xi);

3)            значение функции активации поступает по дугам, исходящим из i-того узла.

 

 

 

 

 

 

 

 


Рис.  1. Cхема i-того узла нейроподобной сети

 

Способы вычисления Si(xi) в различных моделях нейроподобных сетей различны. Наиболее часто используются следующие функции:

S(x) = Sign(x), S принимает значения +1, – 1 (либо 0);

S(x) = tanh(x/2) = [1–exp(–x)]/[1+exp(–x)] – тангенс гиперболический;

S(x) = 1/[1+exp(–xa)] – сигмоида;

S(x) = x – линейная.

В тех моделях сетей, где функция Si(xi) принимает только два значения, используется параметр, называемый порогом, будем обозначать порог буквой n.

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

Для ступенчатой функции активации чаще всего полагают, что: S(x) = +1, если S(x)> n, и S(x) = –1 в противном случае.

Для ступенчатой функции активации чаще всего полагают, что:

 

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

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

Классы конструируются различными способами.

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

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

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

Один из способов формального представления образа любого объекта живой и неживой природы состоит в перечислении количественных характеристик свойств, присущих данному объекту, таких, например, как размеры, масса, цвет и тому подобное. Любые, даже чисто качественные характеристики можно закодировать числовыми значениями. Например, свойство «хороший» можно закодировать значением 1, а «плохой» – значением 0.

Это позволяет определить образ объекта, как вектор числовых значений присущих ему свойств. 

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

Векторы мы будем обозначать большими буквами латинского алфавита, например Хi; координаты вектора – соответствующими малыми латинскими буквами с порядковым индексом.

Хi= (x1i, x2i, …, xni)

 

Как известно, вектор можно интерпретировать как точку п-мерного пространства с соответствующими координатами.

Рассмотрим некоторые примеры, поясняющие постановку задачи классификации, или распознавания образов.

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

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

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

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

Задача распознавания образов

В общем случае задача распознавания образов может быть сформулирована так.

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

Определим структуру класса как характеристическую функцию от п переменных, обладающую тем свойством, что при подстановке в нее координат точки, относящейся к данному классу, она принимает значение 1, а при подстановке координат точек, не принадлежащих данному классу, принимает значение 0 (или –1).

Заметим, что любую функцию от п переменных можно преобразовать в функцию, характеризующую структуру некоторого класса, а именно: пусть дана вычислимая функция f(x1, x2, …, xn), определенная на всем множестве рассматриваемых координат, тогда функция

 

 

 Литература

  1. Каталог коммерческих изделий Научного центра нейрокомпьютеров. М.: Изд-во РАН, 1993.

  2. Нейрокомпьютер, 1993–1994. № 1–3.

  3. Ту Дж., Гонсалес Р. Принципы распознавания образов: Пер. с англ. М.: Мир, 1978.

  4. Haykin S. Neural Networks – A Comprehensive Foundation. MacMillan College Publishing Company, 1994.

  5. Ежов А. А., Шумский С. А. Нейрокомпьютинг и его применение в экономике и бизнесе. М.: МИФИ, 1998.

  6. Королев Л. Н. Микропроцессоры, микро- и мини-ЭВМ. М., Изд-во МГУ, 1989.

  7. Журавлев Ю. И. Непараметрические задачи распознавания образов. Кибернетика, 1976, № 6.

  8. Banzhaf W. e. a. Genetic Programming – An Introduction. MK Publishers, Inc. San Francisco,1998.

  9. Осовский С. Нейронные сети для обработки информации. М., Финансы и статистика, 2002.

  10. www.com2com.ru/dav/framettl.htm

  11. Комарцова Л. Г., Максимов А. В. Нейрокомпьютеры. М.: МГТУ им. Н. Э. Баумана, 2002.

  12.  Ю.Борисов, В. Кашкаров, С. Сорокин.  Нейросетевые методы обработки информации и средства их программно-аппаратной поддержки. Открытые системы, №4 1997.

  13. Сайт НТЦ «Модуль» - www.module.ru

  14. Нейрокомпьютеры и их применение. Книга 5. Нейронные сети: история развития теории. Под общей ред. А.И. Галушкина, Я.З. Цыпкина. – М. ИПРЖР, 2001. 840 с.

  15. Нейрокомпьютеры и их применение. Книга 3. Нейрокомпьютеры. Учеб. пособие для вузов.  / Общая ред. А.И. Галушкин. – М. ИПРЖР, 2000. 528 с.

  16. Обзор Кузнецова А.В.  Нейрокомпьютинг: история, состояние, перспективы. – www.uran.donets.ua

  17. W. Bonzhaf, P. Nordin, R. E. Keller, F.D. Francone. Genetic Programming – An Introduction, Verlag fur digitale Technologie CmbH, Heidelberg, 1998.

Учебники и пособия "Интернет-Университета Информационных технологий"
     Нужна помощь? 
• Забыли пароль? Вам сюда... 
• Есть вопрос? Спрашивайте!
    Вы можете: 
• Изменить персональные данные
• Изменить параметры подписки

Интернет-
магазин:

• Ваши заказы здесь
• Ваш личный счет

Учебные курсы на CD (Версия 2.0)

Купить диск 
с курсами
  >>

Учебные курсы партнеров!

Программирование (ИНТУИТ)

Прием продолжается. Обучение бесплатно. Документ: удостоверение ИНТУИТ.  Учебный план программы профессиональной переподготовки соответствует специальности 230105 "Программное обеспечение вычислительной техники и автоматизированных систем" направления "Информатика и вычислительная техника". »

Учебные программы: Программирование (2005-2006) (ФИТ НГУ)

Прием продолжается. Стоимость: 30000 руб. Документ: диплом о профессиональной переподготовке »
Учебный план программы профессиональной переподготовки соответствует специальности 230105 "Программное обеспечение вычислительной техники и автоматизированных систем" направления "Информатика и вычислительная техника". »


VS

ВИРТУАЛЬНАЯ  ШКОЛА  КОМПЬЮТЕРНЫХ  ТЕХНОЛОГИЙ

©  2002-2005  Сазанов В.М.

О проекте  |  Курсы | Условия | Экстернат | Партнерство | Семинар | Ссылки Контакты


Сайт управляется системой uCoz