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

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

 

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

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

 

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

>>

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

>>

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

>>

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

>

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

>

Прослушать  курсы  очно?

Получать новости
 

Кадровые запросы фирм!

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

Совет  и  консультация 
 по трудоустройству  >>

Тесты   |  Экзамен!

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

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

Цель курса – дать представление о современных методах и средствах!

Лекции

Описание

dsp Введение в цифровую обработку сигналов
Сазанов В.М.
В лекции рассказывается о принципах построения систем цифровой обработки сигналов, средствах их реализации.

nсс

Нейрокомпьютинг, нейросети и нейрокомпьютеры
Королев Л.Н.
В этой лекции разбирается история, теория,  типовая структура и перспективы нейросетевых вычислений и алгоритмов.
rnc Реализация искусственных нейронных сетей в НТЦ “Модуль” 
 
Аксенов О.Ю.
Рассказывается об реализации нейросетей, подробно разбирается их типизация, назначение и применение.

Часть 1. ИНС в системе обработки информации

Часть 2. Аппаратная база

Часть 3. Реализация прикладных систем

От составителя! Для  закрепления знаний вы можете выполнить тесты! >> 

  Авторы

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

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

Сазанов 
Владимир Михайлович,
 
к.т.н.,  "Виртуальная школа  компьютерных технологий"
»

Аксенов 
Олег  Юрьевич, 
к.т.н.
вед. cотрудник НТЦ "Модуль"
»

  Литература

 

Сдав  экзамен очно, Вы можете рассчитывать на Советы и  рекомендации в вопросах трудоустройства!

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

Введение

История исследования искусственных нейронных сетей (ИНС) насчитывает уже около 50 лет. За это время интерес к ИНС то возрастал, то ослабевал. Однако число публикаций, посвященных ИНС, и сообщений о создании прикладных систем с использованием ИНС неуклонно растет. ИНС зарекомендовали себя в качестве полезного инструмента во многих приложениях [[1]], которые можно рассматривать как системы обработки информации.

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

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

В области ИНС работают и отдельные исследователи и коллективы.  Один из таких коллективов – НТЦ “Модуль”, где в ходе многолетних исследований были выработаны свои подходы к практическому использованию ИНС.

Таки образом цель настоящего материала заключается в том, чтобы  продемонстрировать подходы к реализации систем обработки информации, в том числе и на базе ИНС, выработанные в ходе работ, провидимых в НТЦ “Модуль”. Кроме того – высветить проблемы, встающие пред разработчиками аппаратных реализаций ИНС, по возможности, предложить пути их решения.

ИНС в системе обработки информации

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

Рисунок 1. Место ИНС в системе обработки информации.

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

При подобном подходе к ИНС как к составной части системы обработки информации ее практическая реализация связана с решением таких задач, как:

·        определение структуры обработки информации и места ИНС в ней;

·        выбор аппаратной платформы для реализации;

·        выбор парадигмы ИНС;

·        разработка методики подготовки ИНС к работе (подготовки исходных данных и собственно обучения ИНС).

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

Выбор аппаратной базы

При аппаратной реализация ИНС возможны два подхода:

·        использование нейровычислителей – аппаратное моделирование структуры ИНС;

·        применение нейроэмуляторов – программное моделирование вычислительного процесса в ИНС.

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

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

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

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

При реализации приложений практические потребности, зачастую не позволяют использовать указанный путь реализации ИНС, поскольку может оказаться, что:

·        производительность ПК недостаточна, чтобы реализовать все необходимые операции с требуемым темпом;

·        габариты (устойчивость к внешним условиям, масса, энергопотребление и т.п.) ПК не удовлетворяют требованиям, предъявляемым в данном приложении.

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

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

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

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

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

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

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

Рисунок 2. Аппаратная база прикладных ИНС

 

Требования к реализации

Прежде всего, следует определить основные требования реализации ИНС.

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

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

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

·        минимизировать время вычислений сети;

·        уменьшить объем используемой аппаратуры;

·        обеспечить требуемую точность вычислений.

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

Количество вычислителей

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

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

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

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

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

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

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

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

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

Точность

Как упоминалось выше, применительно к ИНС понятие «точность» имеет двойной смысл.

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

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

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

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

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

Работа и обучение

Наибольший интерес при практической реализации обычно представляют ИНС, решающие задачи:

·        кластеризации;

·        классификации (при использовании предварительного обучения).

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

·        обучение – подготовка сети к работе;

·        работа – однократное формирование результата классификации предъявленных входных данных.

После того как ИНС спроектирована – выбрана ее структура, а применительно к многослойной сети это число нейронов в каждом слое и связи между слоями – должно быть проведено ее обучение. Для проведения обучения требуется обеспечить:

·        формирование обучающей выборки;

·        представительность и непротиворечивость обучающей выборки;

·        сходимость процесса обучения.

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

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

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

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

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

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

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


[1] А. А. Ежов, С. А. Шумский. Нейрокомпьютинг и его применение в экономике и бизнесе. М.:МИФИ 1998. (http://neuroschool.narod.ru/books/ezshncmp.html)

 Литература

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

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

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

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

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

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

  7. 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