Нейрокомпьютерная техника свойства искусственных нейронных сетей


Содержание

Области применения нейрокомпьютеров и нейросетей.

Области применения нейрокомпьютеров и нейросетей.

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

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

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

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

Сейчас в мире резко увеличивается число конференций по нейронной тематике, регулярно проводятся конференции IEEE, посвященные исключительно нейронным сетям, секции по нейронной тематике начинают появляться в различных симпозиумах, посвященных обработке сигналов, робототехнике, авионике и т.д. Нарастает и объем литературы, выпускаются десятки и сотни книг по различным тематикам нейронных сетей. В России массовый интерес к нейронной тематике появился уже в середине 90-х. У нас исследованиями в области нейрокомпьютинга занимались: Московский Научный центре нейрокомпьютеров, Институт проблем управления РАН (Москва), Институте высшей нервной деятельности РАН (Москва), Институт нейрокибернетики (Ростов-на Дону), лаборатория Сибирского отделения ВЦ РАН (Красноярск), ряд НИИ Минобороны и спецслужб, МИФИ, МФТИ, МАИ, МИРЭА, МИЭМ, КрГТУ (Красноярск), РГТУ (Ростов-на-Дону), ЛПИ и др.. Первоначально нейрокомпьютерные исследования в России проводились разрозненно, но уже в 1992 году было создано Российское общество по нейронным сетям (RNNS) — по аналогии со Всемирным обществом по нейронным сетям (WNNS). Сейчас во многих отечественных вузах читаются курсы по нейрокомпьютингу, причем преподавание ведется разными научными школами. Таким образом, с задержкой почти на пять лет нейрокомпьютерная тематика стала актуальной и в России. Начал издаваться достаточно большой объем литературы по нейрокомпьютингу, в том числе и переводной, выпускаются периодические журналы, проводятся конференции. В 1996 году московская компания «Тора-Центр» начала продажу в России лицензионного пакета моделирования нейронных сетей BrainMaker производства California Scientific Software. Пакет предназначался для моделирования многослойных нейронных сетей с полными последовательными связями, обучаемыми по методу обратного распространения ошибки, он оказался прост в использовании и предоставлял много возможностей по изменению топологии многослойной сети и алгоритма обучения, хотя и был несколько сложен для первого восприятия. В пакете не было предусмотрено защиты от копирования, он размещался на стандартной 3,5-дюймовой дискете. При этом разработчиком было особо оговорено, что BrainMaker ориентирован в первую очередь на решение финансовых задач, и основными его потребителями должны стать банки и крупные финансовые компании — сектор рынка, где в то время были сосредоточены основные отечественные финансовые ресурсы. Благодаря мощной рекламной поддержке нейропакет BrainMaker приобрел в России популярность, а спустя некоторое время он даже стал доступен для всех заинтересованных лиц (появился на пиратских компакт-дисках). В то же время появились и другие нейропакеты, такие как, Al Trilogy от Ward Systems Group или нейрокомпьютерный ускоритель CNAPS компании Adaptive Solutions, представляющий собой аппаратный ускоритель, построенный на базе одного или нескольких нейрочипов того же производителя. По оценкам, для некоторых задач он мог дать выигрыш в производительности до 1000 раз по сравнению с самым передовым на тот момент компьютером с процессором Pentium. Выпускался CNAPS до 1997-1998 годов.

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

Конечно, такие мощные аппаратные нейрокомпьютерные ускорители как CNAPS нужны для решения лишь суперзадач, которых не так уж и много, а для решения подавляющего большинства задач достаточно персонального компьютера и пакета моделирования нейронных сетей (например, того же BrainMaker). Поэтому мощные аппаратные нейроускорители оказались просто не востребованы рынком. Этому способствовала и цена в несколько тысяч долларов, и необходимость освоения специфичного программного обеспечения — все это отпугивало потенциальных потребителей. Постепенно интерес к мощным аппаратным нейрокомпьютерам CNAPS затих. Позднее фирма Siemens попыталась внедрить на российский рынок свой нейрокомпьютер Synaps-1 стоимостью 400 тыс. долларов и натолкнулась на ту же самую проблему — нейрокомпьютер оказался невостребованным. До сих пор аппаратные нейроускорители и нейрокомпьютеры используются лишь узким кругом коллективов, занимающихся решением именно суперзадач. В России лишь несколько научных коллективов имеют в своем распоряжении нейрокомпьютеры и супермашины для моделирования нейронных сетей.

Нейронная сеть представляет собой большое количество одинаковых параллельно работающих простейших элементов — нейронов, при ее аппаратной реализации желательно обеспечить массовое параллельное выполнение простейших операций, причем чем большая степень параллельности вычислений достигается, тем лучше. Традиционным методом повышения степени параллельности вычислений является каскадирование процессоров, т.е. объединение нескольких процессоров в единой вычислительной системе для решения поставленной задачи. Поскольку процессоры работают независимо друг от друга, то вроде бы достигается необходимая степень параллельности. Но не следует забывать, что при обмене данными между процессорами каналы обмена данными являются «узким горлышком бутылки», которое может свести на нет все выигрыши в скорости вычислений. Разработчики параллельных систем всеми силами борются за расширение «узкого горла», но скорость современных процессоров все равно растет быстрее, чем пропускная способность каналов передачи данных. Поэтому зачастую более выгодным решением оказывается использовать один более мощный процессор, чем несколько менее мощных, соединенных между собой. Традиционно считается, что нейронные сети можно успешно реализовать на универсальных процессорах, RISC-процессорах или на специализированных нейронных процессорах (нейрочипах). У каждого из перечисленных типов аппаратной реализации есть свои достоинства и недостатки.

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

RISC-процессоры лишены указанных недостатков, поскольку имеют возможности каскадирования, предусмотренные на аппаратном уровне, да и архитектура их более адекватна для выполнения нейронных операций. Однако, существенной их чертой, снижающей эффективность применения, является дороговизна и относительно малое распространение среди широких масс разработчиков. Многие лишь слышали, что такие процессоры существуют, но никогда с ними не работали. Наиболее известными типами современных RISC-процессоров, применяемых в моделировании нейронных систем, являются TMS компании Texas Instruments, ADSP компании Analog Devices, SHARC и другие.

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

Нейрочип — это специализированный процессор, оптимизированный для массового выполнения нейронных операций: скалярного умножения и нелинейного преобразования. У большинства разработчиков слово «процессор» ассоциируется с СБИС. Поэтому бытует расхожее мнение, что нейрочип — это заказной или полузаказной цифровой кристалл, архитектура которого как раз и оптимизирована под нейронные операции. В мире не один десяток фирм поддерживают это мнение делом — практически все известные на сегодняшний день коммерческие нейрочипы выполнены в виде СБИС. Для разработки новой модели нейрочипа необходимо спроектировать новый кристалл, а это большое время и большие деньги, которые можно окупить либо большой серией, либо большой ценой кристалла. Про большую серию речь пока обычно не идет (это у фирмы Intel серии процессоров исчисляются миллионами и на них есть спрос) — нейрочипов столько просто не нужно, поскольку предназначены они для решения весьма специфических задач. Цена зарубежных нейрокристаллов еще в 2000 году не опускалась ниже 100 долл., а платы и модули на базе нейрочипов (которые, собственно, и применяются для решения конкретных задач) стоят несколько тысяч долларов. Нейрочипы можно реализовывать и на программируемых логических матрицах (ПЛИС). Темпы роста вычислительной мощности ПЛИС не уступают аналогичной характеристике универсальных процессоров. ПЛИС значительно дешевле, а проектирование устройства на базе ПЛИС занимает всего несколько месяцев. Современные ПЛИС работают на достаточно высокой тактовой частоте, емкость ПЛИС может в разы превышать емкость современных процессоров (на современной ПЛИС можно реализовать до десяти процессоров). ПЛИС — это почти идеальная элементная база для реализации таких параллельных структур как нейронные сети. Большое количество вентилей ПЛИС позволяет реализовать достаточно много физически параллельно работающих нейронов (например, на ПЛИС с интеграцией 40 тыс. вентилей можно реализовать до 15 параллельно работающих нейронов, а -сейчас в самой обычной ПЛИС интегрируют до 10 млн. вентилей). Высокая тактовая частота работы ПЛИС способствует высокой скорости вычислений в нейроне. ПЛИС в гораздо большей степени, чем СБИС, удовлетворяет критерию эффективности для нейронных процессоров: большая интеграция позволяет реализовать множество параллельно работающих нейронов, при этом обмен данными между нейронами осуществляется внутри той же ПЛИС с высокой скоростью. Это означает, что проблема «узкого горла» при передаче данных между вычислительными элементами отсутствует, поскольку все каналы связи реализуются внутри ПЛИС и обеспечивают ту скорость передачи, которая нужна разработчику. Конечно, нельзя категорично утверждать, что в ближайшем будущем нейрокомпьютеры заменят собой обычные компьютеры. Этого не произойдет ни сейчас, ни потом, поскольку «нейроподход» эффективен не для всех задач. Но там, где нейротехнологии имеют неоспоримые преимущества перед другими алгоритмическими методами, неизбежно, постепенно произойдет замена существующих аппаратных средств и программ на нейрокомпьютеры и нейросетевое программное обеспечение.

Нейрокомпьютерные технологии

Дата добавления: 2014-05-22 ; просмотров: 2829 ; Нарушение авторских прав

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

Нейрон (биологический) – одна из 1015 клеток мозга, способная генерировать электрический импульс, в случае, когда суммарный потенциал превысит критическую величину. Соединяясь друг с другом, нейроны образуют сеть, по которой путешествуют электрические импульсы. Контакты между нейронами (синапсы), могут менять эффективность передачи сигналов (вес связи) от нейрона к нейрону. Самая популярная на сегодняшний день гипотеза основана на том, что именно нейронные сети мозга обрабатывают информацию. При этом «обучение» сети и запоминание информации базируется на настройке значений весов связей между нейронами [8].

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

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

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

Рис. 17. Архитектура нейронной сети

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

Считается, что теория нейронных сетей, как научное направление, впервые была обозначена в классической работе МакКаллока и Питтса 1943 г., в которой утверждалось, что, в принципе, любую арифметическую или логическую функцию можно реализовать с помощью простой нейронной сети. В 1958 г. Фрэнк Розенблатт придумал нейронную сеть, названную перцептроном, и построил первый нейрокомпьютер Марк-1 . Перцептрон был предназначен для классификации объектов. На этапе обучения «учитель» сообщает перцептрону к какому классу принадлежит предъявленный объект. Обученный перцептрон способен классифицировать объекты, в том числе не использовавшиеся при обучении, делая при этом очень мало ошибок [31].

Новый взлет теории нейронных сетей начался в 1983-1986 г. г. При этом важную роль сыграли работы группы PDP (Parallel Distributed Processing) . В них рассматривались нейронные сети, названные многослойными перцептронами, которые оказались весьма эффективными для решения задач распознавания, управления и предсказания. (Многослойные перцептроны занимают ведущее положение, как по разнообразию возможностей использования, так и по количеству успешно решенных прикладных задач).

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

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

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

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

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

2. Единый и эффективный принцип обучения нейросетей — минимизация эмпирической ошибки методом ее обратного распространения по сети. Извне задается лишь цель обучения — сеть сама себя конфигурирует, минимизируя эту ошибку.

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

Детальный анализ разработок нейрокомпьютеров [26; 41; 42; 43] позволяет выделить основные перспективные направления современного развития нейрокомпьютерных технологий: нейропакети, нейросетевые экспертные системы, СУБД с включением нейросетевых алгоритмов, обработка изображений, управление динамическими системами и обработка сигналов, управление финансовой деятельностью, оптические нейрокомпьютеры, виртуальная реальность. Разработками в этой области занимается более 300 заграничных компаний, причем число их постоянно увеличивается. Среди них такие гиганты, как Intel, IBM и Motorolla. Сегодня наблюдается тенденция перехода от программных реализаций к программно-аппаратной реализации нейросетевых алгоритмов с резким увеличением числа разработок нейрочипів с нейросетевой архитектурой. Резко выросло количество военных разработок, в основном направленных на создание сверхскоростных, «умных» супервычислителей.

Если говорить про основное направление — интеллектуализацию вычислительных систем, придание им свойств человеческого мышления и восприятия, то здесь нейрокомпьютеры — практически единственный путь развития вычислительной техники. Большинство неудач на пути усовершенствования искусственного интеллекта на протяжении последних 30 лет связано с тем, что для решения важных и сложных по постановке задач выбирались вычислительные средства, не адекватные по возможностям решаемой задаче, в основном из числа традиционных компьютеров. При этом, как правило, не решалась задача, а показывалась принципиальная возможность ее решения. Сегодня активное развитие компьютерных технологий создал объективные условия для построения вычислительных систем, адекватных по возможностям и архитектуре практически любым задачам искусственного интеллекта.

В Японии с 1993 года принята программа «Real world computing program». Ее основная цель — создание эволюционирующей адаптивной ЭВМ. Проект рассчитан на 10 лет. Основой разработки является нейротехнология, которая используется для распознавания образов, обработки семантической информации, управления информационными потоками и роботами, способных адаптироваться к окружающей среде. Только в 1996 году было проведено около сотни международных конференций по нейрокомпьютерам и смежным проблемам. Разработки нейрокомпьютеров ведутся в многих странах мира, в частности, в Австрали создан образец коммерческого супернейрокомпьютера.

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

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

Общие задачисводятся к обработке нейронною сетью многомерных массивов переменных, например:

— контроль кредитных карточек. Сегодня 60% кредитных карточек в США обрабатываются с помощью нейросетевых технологий;

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

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

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

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

— прогнозирование финансовых показателей;

— прогнозирование надежности электродвигателей;

— предвидение мощности АЭС и прогнозирование надежности систем электропитания на самолетах.

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

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

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

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

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

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

— это направление разрешает создавать уникальные суперкомпьютеры на имеющейся элементной базе;

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

— нейросетевые архитектуры по сравнению с другими приводят к активизации использования новых технологических направлений реализации: нейросистемы на пластмассе, оптоэлектронные и оптические нейрокомпьютеры, молекулярные нейрокомпьютеры и нанонейроэлементы; возникает потребность в универсализации САПР нейрочипов.

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

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

Нейрокомпьютеры (стр. 1 из 4)

Что такое нейронные сети?. 2

Биологический нейрон. 5

Искусственный нейрон. 7

Активационные функции. 8

Базовые архитектуры нейронных сетей. 11

Полносвязные нейронные сети. 12

Обучение искусственных нейронных сетей. 13

Правило коррекции по ошибке. 15

Обучение Больцмана. 15

Правило Хебба. 16

Обучение методом соревнования. 16

Многопроцессорные ускорительные платы.. 17

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

Немного истории. 21

Преимущества нейрокомпьютеров. 22

Недостатки нейрокомпьютеров. 22

Практическое применение нейрокомпьютеров. 23

Некоторые модели нейрокомпьютеров. 24

Использованные ресурсы: 27

Введение

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

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

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

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

Что такое нейронные сети?

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

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

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

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

С коннекционизмом тесно связан следующий блок идей:

однородность системы (элементы одинаковы и чрезвычайно просты, все определяется структурой связей);

надежные системы из ненадежных элементов и “аналоговый ренессанс” использование простых аналоговых элементов;

“голографические” системы при разрушении случайно выбранной части система сохраняет свои свойства.

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

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

Биологический нейрон

рис.1. Биологический нейрон

Нейрон (нервная клетка) является особой биологической клеткой, которая обрабатывает информацию (рис. 1). Она состоит из тела клетки (cell body), или сомы (soma), и двух типов внешних древоподобных ветвей: аксона (axon) и дендритов (dendrites). Тело клетки включает ядро (nucleus), которое содержит информацию о наследственных свойствах, и плазму, обладающую молекулярными средствами для производства необходимых нейрону материалов. Нейрон получает сигналы (импульсы) от других нейронов через дендриты (приемники) и передает сигналы, сгенерированные телом клетки, вдоль аксона (передатчик), который в конце разветвляется на волокна (strands). На окончаниях этих волокон находятся синапсы (synapses).

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

Кора головного мозга человека является протяженной, образованной нейронами поверхностью толщиной от 2 до 3 мм с площадью около 2200 см2, что вдвое превышает площадь поверхности стандартной клавиатуры. Кора головного мозга содержит около 1011 нейронов, что приблизительно равно числу звезд Млечного пути. Каждый нейрон связан с 103 — 104 другими нейронами. В целом мозг человека содержит приблизительно от 1014 до 1015 взаимосвязей.

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

Искусственный нейрон

рис.2. Искусственный нейрон

История создания искусственных нейронов уходит своими корнями в 1943 год, когда шотландец МакКаллок и англичанин Питтс создали теорию формальных нейросетей, а через пятнадцать лет Розенблатт изобрел искусственный нейрон (персептрон), который, впоследствии, и лег в основу нейрокомпьютера.

Искусственный нейрон имитирует в первом приближении свойства биологического нейрона. На вход искусственного нейрона поступает некоторое множество сигналов, каждый из которых является выходом другого нейрона. Каждый вход умножается на соответствующий вес, аналогичный синаптической силе, и все произведения суммируются, определяя уровень активации нейрона. На рис.2 представлена модель реализующая эту идею. Хотя сетевые парадигмы весьма разнообразны, в основе почти всех их лежит эта конфигурация. Здесь множество входных сигналов, обозначенных x1, x2, x3. xn, поступает на искусственный нейрон. Эти входные сигналы, в совокупности обозначаемые вектором X, соответствуют сигналам, приходящим в синапсы биологического нейрона. Каждый сигнал умножается на соответствующий вес w1, w2, w3. wn, и поступает на суммирующий блок, обозначенный СУМ (адаптивный сумматор). Каждый вес соответствует «силе» одной биологической синаптической связи. (Множество весов в совокупности обозначается вектором W ) Суммирующий блок, соответствующий телу биологического элемента, складывает взвешенные входы алгебраически, создавая выход, который мы будем называть NET. В векторных обозначениях это может быть компактно записано следующим образом.

Илон Маск рекомендует:  Asp объекты контейнеры adsi

Нейрокомпьютерная техника свойства искусственных нейронных сетей

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

В настоящее время разработка нейрокомпьютеров ведется в большинстве промышленно развитых стран.

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

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

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

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

Толчком к развитию нейрокомпьютинга послужили биологические исследования. По данным нейробиологии нервная система человека и животных состоит из отдельных клеток — нейронов. В мозге человека их число достигает 1.0e10 — 1.0e12. Каждый нейрон связан с 1.0e3 — 1.0e4 другими нейронами и выполняет сравнительно простые действия. Время срабатывания нейрона — 2-5 мс. Совокупная работа всех нейронов обуславливает сложную работу мозга, который в реальном времени решает сложнейшие задачи. Отличия нейрокомпьютеров от вычислительных устройств предыдущих поколений:

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

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

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

Разработки в области нейрокомпьютинга ведутся по следующим направлениям:

  • разработка нейроалгоритмов;
  • создание специализированного программного обеспечения для моделирования нейронных сетей;
  • разработка специализированных процессорных плат для имитации нейросетей;
  • электронные реализации нейронных сетей;
  • оптоэлектронные реализации нейронных сетей.

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

2. Нейронные сети — основные понятия и определения

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

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

Прототипом для создания нейрона послужил биологический нейрон головного мозга. Биологический нейрон имеет тело, совокупность отростков — дендридов, по которым в нейрон поступают входные сигналы, и отросток — аксон, передающий выходной сигнал нейрона другим клеткам. Точка соединения дендрида и аксона называется синапсом. Упрощенно функционирование нейрона можно представить следующим образом:

  • нейрон получает от дендридов набор (вектор) входных сигналов;
  • в теле нейрона оценивается суммарное значение входных сигналов. Однако входы нейрона неравнозначны. Каждый вход характеризуется некоторым весовым коэффициентом, определяющим важность поступающей по нему информации. Таким образом, нейрон не просто суммирует значения входных сигналов, а вычисляет скалярное произведение вектора входных сигналов и вектора весовых коэффициентов;
  • нейрон формирует выходной сигнал, интенсивность которого зависит от значения вычисленного скалярного произведения. Если оно не превышает некоторого заданного порога, то выходной сигнал не формируется вовсе — нейрон «не срабатывает»;
  • выходной сигнал поступает на аксон и передается дендридам других нейронов.

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

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

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

3. Модели нейронных сетей


3.1. Модель Маккалоха

Теоретические основы нейроматематики были заложены в начале 40-х годов. В 1943 году У. Маккалох и его ученик У. Питтс сформулировали основные положения теории деятельности головного мозга. Ими были получены следующие результаты:

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

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

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

3.2. Модель Розенблата

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

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

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

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

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

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

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

3.3. Модель Хопфилда

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

Автором когнитрона является японский ученый И. Фукушима.

Новый виток быстрого развития моделей нейронных сетей, который начался лет 15 тому назад, связан с работами Амари, Андерсона, Карпентера, Кохонена и других, и в особенности, Хопфилда, а также под влиянием обещающих успехов оптических технологий и зрелой фазы развития СБИС для реализации новых архитектур.

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

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

Развитием модели Хопфилда для решения комбинаторных оптимизационных задач и задач искусственного интеллекта является машина Больцмана, предложенная и исследованная Джефери Е. Хинтоном и Р. Земелом. В ней, как и в других моделях, нейрон имеет состояния 1, 0 и связь между нейронами обладает весом. Каждое состояние сети характеризуется определенным значением функции консенсуса (аналог функции энергии). Максимум функции консенсуса соответствует оптимальному решению задачи.

3.4. Модель сети с обратным распространением

Способом обратного распространения (back propogation) называется способ обучения многослойных нейронных сетей (НС).

Многослойная нейронная сеть

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

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

4. Задачи, решаемые на основе нейронных сетей

В литературе встречается значительное число признаков, которыми должна обладать задача, чтобы применение НС было оправдано и НС могла бы ее решить:

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

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

Банки и страховые компании:

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

Административное обслуживание:

  • автоматическое считывание документов;
  • автоматическое распознавание штриховых кодов.

Нефтяная и химическая промышленность:

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

Военная промышленность и аэронавтика:

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

Промышленное производство:

  • управление манипуляторами;
  • управление качеством;
  • управление процессами;
  • обнаружение неисправностей;
  • адаптивная робототехника;
  • управление голосом.

Служба безопасности:

  • распознавание лиц, голосов, отпечатков пальцев.

Биомедицинская промышленность:

  • анализ рентгенограмм;
  • обнаружение отклонений в ЭКГ.

Телевидение и связь:

  • адаптивное управление сетью связи;
  • сжатие и восстановление изображения.

Представленный перечень далеко не полон. Можно найти еще области, где оправданно применение НС.

5. Способы реализации нейронных сетей

Нейронные сети могут быть реализованы двумя путями: первый — это программная модель НС, второй — аппаратная.

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

Среди разрабатываемых в настоящее время нейроБИС выделяются модели фирмы Adaptive Solutions (США) и Hitachi (Япония). НейроБИС фирмы Adaptive Solutions, вероятно, станет одной из самых быстродействующих: объявленная скорость обработки составляет 1,2 млрд. соединений/с. (НС содержит 64 нейрона и 262144 синапса). НейроБИС фирмы Hitachi позволяет реализовать НС, содержащую до 576 нейронов. Эти нейроБИС, несомненно, станут основой новых нейрокомпьютеров и специализированных многопроцессорных изделий.

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

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

Типичными представителями таких систем являются компьютеры семейства Mark фирмы TRW (первая реализация перцептрона, разработанная Розенблатом, называлась Mark I).

Модель Mark III фирмы TRW представляют собой рабочую станцию, содержащую до 15 процессоров семейства Motorola 68000 с математическими сопроцессорами. Все процессоры объединены шиной VME. Архитектура системы, поддерживающая до 65 000 виртуальных процессорных элементов с более чем 1 млн. настраиваемых соединений, позволяет обрабатывать до 450 тыс. межсоединений/с.

Mark IV — это однопроцессорный суперкомпьютер с конвейерной архитектурой. Он поддерживает до 236 тыс. виртуальных процессорных элементов, что позволяет обрабатывать до 5 млн. межсоединений/с.

Компьютеры семейства Mark имеют общую программную оболочку ANSE (Artificial Neural System Environment), обеспечивающую программную совместимость моделей.

Помимо указанных моделей фирмы TRW предлагает также пакет Mark II — программный эмулятор НС.

Другой интересной моделью является нейрокомпьютер NETSIM, созданный фирмой Texas Instruments на базе разработок Кембриджского университета. Его топология представляет собой трехмерную решетку стандартных вычислительных узлов на базе процессоров 80188. Компьютер NETSIM используется для моделирования таких моделей НС, как сеть Хопфилда — Кохонена и НС с обратным распространением. Его производительность достигает 450 млн. межсоединений/с.

Фирма Computer Recognitiion Systems (CRS) продает серию нейрокомпьютеров WIZARD/CRS 1000, предназначенных для обработки видеоизображений. Размер входной изображения 512 x 512 пиксел. Модель CRS 1000 уже нашла применение в промышленных системах автоматического контроля.

6. Выводы

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

В России уже успешно функционирует один из первых мощных нейрокомпьютеров для финансового применения — CNAPS PC/128 на базе 4-х нейроБИС фирмы Alaptive Solutions. По данным фирмы «Торацентр» в число организаций, использующих нейронные сети для решения своих задач, уже вошли: Центробанк, МЧС, Налоговая Инспекция, более 30 банков и более 60 финансовых компаний.

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

Свойства и обучение искусственных нейронных сетей

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

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

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

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

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

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

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

Обучение искусственных нейронных сетей

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

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

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

Для конструирования процесса обучения, прежде всего, необходимо иметь модель внешней среды, в которой функционирует нейронная сеть — знать доступную для сети информацию. Эта модель определяет парадигму обучения [3]. Во-вторых, необходимо понять, как модифицировать весовые параметры сети, — какие правила обучения управляют процессом настройки. Алгоритм обучения означает процедуру, в которой используются правила обучения для настройки весов.

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

Теория обучения рассматривает три фундаментальных свойства, связанных с обучением по примерам: емкость, сложность образцов и вычислительная сложность. Под емкостью понимается, сколько образцов может запомнить сеть, и какие функции и границы принятия решений могут быть на ней сформированы. Сложность образцов определяет число обучающих примеров, необходимых для достижения способности сети к обобщению. Слишком малое число примеров может вызвать «переобученность» сети, когда она хорошо функционирует на примерах обучающей выборки, но плохо — на тестовых примерах, подчиненных тому же статистическому распределению. Известны 4 основных типа правил обучения: коррекция по ошибке, машина Больцмана, правило Хебба и обучение методом соревнования.

Правило коррекции по ошибке. При обучении с учителем для каждого входного примера задан желаемый выход d. Реальный выход сети y может не совпадать с желаемым. Принцип коррекции по ошибке при обучении состоит в использовании сигнала (d-y) для модификации весов, обеспечивающей постепенное уменьшение ошибки. Обучение имеет место только в случае, когда персептрон ошибается. Известны различные модификации этого алгоритма обучения [2].

Обучение Больцмана. Представляет собой стохастическое правило обучения, которое следует из информационных теоретических и термодинамических принципов [10]. Целью обучения Больцмана является такая настройка весовых коэффициентов, при которой состояния видимых нейронов удовлетворяют желаемому распределению вероятностей. Обучение Больцмана может рассматриваться как специальный случай коррекции по ошибке, в котором под ошибкой понимается расхождение корреляций состояний в двух режимах.

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

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

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

Рис. 6. Пример обучения методом соревнования: (а) перед обучением; (б) после обучения.

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

В Таблице 1 представлены различные алгоритмы обучения и связанные с ними архитектуры сетей (список не является исчерпывающим). В последней колонке перечислены задачи, для которых может быть применен каждый алгоритм. Каждый алгоритм обучения ориентирован на сеть определенной архитектуры и предназначен для ограниченного класса задач. Кроме рассмотренных, следует упомянуть некоторые другие алгоритмы: Adaline и Madaline [14], линейный дискриминантный анализ [15], проекции Саммона [15], анализ главных компонентов [2].

Лекция 8. Основные понятия теории искусственных нейронных сетей

Читайте также:

  1. D.2 Идентификация затрат на основные действия
  2. I. Основные задачи обеспечения безопасности и информации в информационных системах
  3. I. ОСНОВНЫЕ ПОНЯТИЯ И ПОЛОЖЕНИЯ ЗАЩИТЫ ИНФОРМАЦИИ В КОМПЬЮТЕРНЫХ СИСТЕМАХ
  4. I. Основные теории происхождения государства и права.
  5. I. ПОНЯТИЯ О ДЕФЕКТАХ И ДЕФЕКТНОЙ ПРОДУКЦИИ
  6. II. Методология теории государства и права.
  7. VІ ЛЕКЦИЯ-ТЕЗИС
  8. VІІ ЛЕКЦИЯ-ТЕЗИС 1 страница
  9. VІІ ЛЕКЦИЯ-ТЕЗИС 2 страница
  10. VІІ ЛЕКЦИЯ-ТЕЗИС 3 страница
  11. VІІ ЛЕКЦИЯ-ТЕЗИС 4 страница
  12. VІІ ЛЕКЦИЯ-ТЕЗИС 5 страница

Кластерные, массивно-параллельные и матричные системы различных производителей.

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

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

Контрольные вопросы:

2.Транспьютер представляет собой микропроцессор, в состав которого входят: ?

4.Известно два типа объединительных плат, подключаемых к компьютеру (вычислительные транспьютерные платы) -?

5.Кластерные вычислительные системы -?

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

Модель искусственного нейрона.

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

Рис. 39. Биологический нейрон.

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

Сигнал NET преобразуется функцией активации F и дает выходной сигнал нейрона .

Рис. 41. Искусственный нейрон с активационной функцией F.

На рис. 41 блок, обозначенный F, принимает сигнал NET и выдает сигнал OUT. Если блок F сужает диапазон изменения величины NET так, что при любых значениях NET значения OUT принадлежат некоторому конечному интервалу, то F называется «сжимающей» функцией. В качестве «сжимающей» функции часто используется сигмоидальная (S-образная) функция, показанная на рис. 42.

Илон Маск рекомендует:  Шаблон сайта здоровье HTML, CSS, 5 страниц

Рис. 42. Сигмоидальная функция.

Эта функция имеет вид: . По аналогии с электронными системами активационную функцию можно считать нелинейной усилительной характеристикой искусственного нейрона. Коэффициент усиления вычисляется как отношение приращения величины OUT к вызвавшему его небольшому приращению величины NET. Центральная область сигмоидальной функции, имеющая большой коэффициент усиления, решает проблему обработки слабых сигналов, в то время как области с падающим усилением на положительном и отрицательном концах подходят для больших возбуждений. Таким образом, нейрон функционирует с большим усилением в широком диапазоне уровня входного сигнала. Другой широко используемой функцией активации является гиперболический тангенс OUT = th(x). Подобно сигмоидальной функции гиперболический тангенс является S-образной функцией, но он симметричен относительно начала координат, и в точке NET = 0 значение выходного сигнала OUT равно нулю (рис. 43). В отличие от сигмоидаль-ной функции гиперболический тангенс принимает значения различных знаков, что оказывается выгодным при поиске экстремума в пространстве параметров ИНС.

Рис. 43. Функция гиперболического тангенса.

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

| следующая лекция ==>
Лекция 8. Транспьютеры и транспьютероподобные системы | Пример оптоволокна

Дата добавления: 2014-01-05 ; Просмотров: 2081 ; Нарушение авторских прав? ;

Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет

Нейрокомпьютерная техника свойства искусственных нейронных сетей

16. ИСКУССТВЕННЫЕ НЕЙРОННЫЕ СЕТИ

16.1. Распознавание образов

Распознавание образов — научное направление, связанное с разработкой принципов и построением систем, предназначенных для определения принадлежности объекта к одному из классов объектов [27]. Классы объектов могут быть заранее выделены (задача классификации) или необходимо их выявить в процессе решения задачи (задача кластеризации). Под объектами в распознавании образов (англ. pattern) понимают (семантическая классификация):

Помимо смыслового (семантического) отличия, вкладываемого в понятие образ, образы отличаются друг от друга также по способу представления (синтаксису):

— в классических моделях образ обычно описывается набором признаков, каждый из которых характеризует определенное свойство объекта;

— в структурных моделях в качестве образа выступает некоторое высказывание, порождаемое грамматикой, характеризующей класс;

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

Образы допускает рекурсивное определение (например, символ является образом, список символов также является образом). При представлении образов нередко набор его характеристик делят на две группы: переменные и постоянные характеристики.

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

Основные типы задач распознавания образов приведены в следующей таблице.

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

Тип задачи Примечания
Классификация Отнесение предъявленного объекта (ситуации) по его формализованному описанию к одному из заданных классов
Реализация ассоциативной (контекстно-адресуемой) памяти Ассоциация искаженного представления образа с оригиналом (восстановление исходного образа)
Кластеризация Разбиение множества объектов (ситуаций) по их формализованным описаниям на систему непересекающихся подмножеств (классов)
Абстрагирование и формализованное описание Определение набора характеристик для построения формализованного описания объектов распознавания; оценка информативности отдельных характеристик и их сочетаний
Приведение исходных данных к виду, удобному для распознавания Построение формализованного описания объекта распознавания
Прогнозирование Предсказание значений характеристик или поведения системы в будущем на основании предшествующих и текущих наблюдений
Аппроксимация функций Поиск функции, наиболее близко соответствующей набору экспериментальных данных
Оптимизация Поиск эффективного или оптимального решения целевой функции в условиях действия ограничений
Управление Расчет входного воздействия, при котором система будет следовать желаемой траектории или соответствовать требуемым параметрам

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

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

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

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

16.2. Краткий исторический обзор

Исследования в области ИНС пережили три периода активизации [36].

Первый пик в 40-х годах обусловлен пионерской работой Мак-Каллоха и Питтса.

Второй возник в 60-х благодаря персептрону (англ. perceptron) Розенблатта. В 1958 г. Фрэнк Розенблатт продемонстрировал компьютерную модель электронного устройства, названную им персептроном, а в 1960 г. — первую действующую машину «Марк-1», моделирующую совместную работу человеческого глаза и мозга. Машина могла распознавать некоторые из букв, написанные на карточках, подносимых к кинокамерам («глазам» машины). Она умела различать буквы алфавита, но была чувствительна к их написанию.

Рис.16.1. Фрэнк Розенблатт с датчиком изображения Mark-1

В своей работе (1969 г.) Минский и Пейперт указали на ограниченные возможности простейшего персептрона. Результаты этой работы надолго погасили энтузиазм большинства исследователей в области ИНС. Возникшее в исследованиях по нейронным сетям затишье продлилось почти 15 лет.

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

16.3. Биологический нейрон

Нервная система и мозг человека состоят из нейронов (клеток), соединенных между собой нервными волокнами. Нервные волокна способны передавать электрические импульсы между нейронами. Все процессы передачи раздражений от нашей кожи, ушей и глаз к мозгу, процессы мышления и управления действиями — все это реализовано в живом организме как передача электрических импульсов между нейронами [36].

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

Рис.16.2. Биологический нейрон

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

Кора головного мозга человека является протяженной, образованной нейронами поверхностью толщиной от 2 до 3 мм с площадью около 2200 см 2 , что вдвое превышает площадь поверхности стандартной клавиатуры. Общее количество нейронов в мозге человека около 10 11 , что приблизительно равно числу звезд Млечного пути. Каждый нейрон связан с 10 3 — 10 4 другими нейронами. В целом мозг человека содержит приблизительно от 10 14 до 10 15 взаимосвязей.

Рис.16.3. Количество нейронов у человека и животных [37]

16.4. Математическая модель нейрона

Обобщенная математическая модель нейрона выглядит следующим образом [23, 22]:

Рис.16.4. Математическая модель нейрона

— входные сигналы xi – данные, поступающие из окружающей среды или от других активных нейронов. Входные значения могут быть дискретными из множеств [0, 1] или [-1, 1] либо принимать любые вещественные значения;

— вещественные весовые коэффициенты wi – определяют силу связи между нейронами;

— уровень активации (потенциал) нейрона ;

— функция активации f(P) – предназначена для вычисления выходного значения сигнала, передаваемого другим нейронам.

16.5. Классификация искусственных нейронных сетей

Искусственная нейронная сеть состоит из нескольких слоев, в которые группируются нейроны. Схематично её можно представить следующим образом [23, 22].

Рис.16.5. Искусственная нейронная сеть

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


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

В зависимости от функции активации различают следующие ИНС.

Типы ИНС в зависимости от функции активации

Функция Способ определения Y
Ступенчатая пороговая Y = 0, при P -a(P-P*) )
Гиперболический тангенс Y = a th(b P) = a (e bP – e -bP ) / (e bP + e -bP )
Арктангенс Y = 2 arctg(P) / π
Линейная Y = a + b*P
Гауссиана

1. P*, P1*, P2* — пороговые значения.
2. a, b – коэффициенты.
3. e – основание натурального логарифма.

В зависимости от типа межнейронных связей различают ИНС:

— с прямыми связями (рис. 16.5);

— с перекрестными связями;

Рис.16.6. ИНС с перекрестными связями

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

Рис.16.7. ИНС с обратными связями

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

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

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

— со смешанным (гибридное) обучением. При смешанном обучении часть весов определяется посредством обучения с учителем, а другая часть получается с помощью алгоритмов самообучения.

В зависимости от правила коррекции коэффициентов (wi) ИНС делят на следующие категории:

— правило коррекции по ошибке (дельта-правило). Разность между известным значением результата и реакцией сети используется для корректировки весовых коэффициентов. Корректировка заключается в небольшом (обычно менее 1%) увеличении весов тех связей, которые усиливают правильные реакции, и уменьшении весов тех связей, которые способствуют ошибочным. Обычно используется для однослойных сетей;

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

— синхронное обучение (правило Хебба). Это правило опирается на следующие нейрофизиологическое наблюдение: если нейроны с обеих сторон синапса активизируются одновременно и регулярно, то сила синаптической связи возрастает. Таким образом, корректировке подлежат коэффициенты только тех связей, выход которых отличен от нуля;

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

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

— на вход сети подается обучающий образ и вычисляется выход;

— вычисляется значение средней квадратичной ошибки между желаемым и полученным выходными векторами;

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

16.6. Процедура построения искусственных нейронных сетей

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

Этап 1. Определение типа распознаваемых образов (фотография, видео, совокупность числовых характеристик и т.п.), набора измеряемых параметров образов, информативных с точки зрения распознавания, и классов распознаваемых образов.

Этап 2. Выбор способа преобразования (применение фильтров, подавление шумов, сегментация и т.п.) измеряемых параметров образов во входной вектор числовых величин и представления набора классов образов в виде вектора выходных величин. Эффективность нейросетевой модели повышается, если диапазоны изменения величин входного и выходного векторов будут нормализованы, например, в диапазоне [0,1] или [-1,1].

Этап 3. Проектирование архитектуры искусственной нейронной сети:

— определение количества слоев. В сети должно быть, как минимум, два слоя: входной и выходной. Количество скрытых слоев определяется, как правило, экспертным или опытным путем;

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

— выбор типа связей между нейронами. Зависит от специфики решаемой задачи;

— выбор функции активации. Зависит от специфики решаемой задачи.

Этап 4. Обучение сети – уточнение значений весовых коэффициентов связей на основе многократного прогона обучающих примеров через сеть. Каждому обучающему примеру (образу) соответствует строго определенные вектора входных и выходных величин. Обучающие примеры, как правило, представляют собой эталонные (идеальные) представления образов, а также их незначительные модификации. Они должны быть подобраны для каждого класса образов. Существует эмпирическое правило, которое устанавливает рекомендуемое соотношение λ между количеством обучающих примеров и числом связей в нейронной сети: λ ≤10 [22].

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

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

16.7. Алгоритм обратного распространения ошибки

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

Для решения задачи принадлежности предъявленного образа одному из заранее выделенных классов образов хорошо себя зарекомендовали многослойные нейронные сети с прямыми связями. Самым известным и популярным методом их обучения является алгоритмом обратного распространения ошибки (англ. backpropagation), который является модификацией классического метода градиентного спуска. Этот алгоритм был изложен в диссертации Пола Вербоса (Paul Werbos) 1974 г., но тогда не привлек к себе должного внимания. Рождение алгоритма для широкой публики связано с работой группы PDP (Parallel Distributed Processing), освещенной в двухтомном труде 1986г. Именно там, в статье Румельхарта, Хинтона и Уильямса, была изложена теория обучения многослойного персептрона.

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

Алгоритм подразумевает два потока сигналов (данных) при прогоне одного обучающего образа через сеть:

— прямой (от входного до выходного слоя) распространение сигнала, соответствующего значениям входного вектора обучающего образа;

— обратный (от выходного до входного слоя) распространение сигнала ошибки для корректировки весовых коэффициентов связей.

Блок-схема алгоритма обратного распространения ошибки показана на следующем рисунке.

Рис.16.8. Блок-схема алгоритма обратного распространения ошибки

На рисунке приняты следующие обозначения:

э – номер эпохи;
о – номер обучающего образа;
с – номер слоя;
нс – номер нейрона в слое с;
NЭ – количество эпох;
NО – количество обучающих образов;
NС – количество слоев;
NНс – количество нейронов в слое с;
inpо – вектор входных значений обучающего образа о;
— – значение элемента н входного вектора обучающего образа о;
outо – вектор ожидаемых выходных значений обучающего образа о;
— – значение элемента н выходного вектора обучающего образа о;
— – потенциал нейрона н слоя с;
— – выход нейрона н слоя с. Для нейронов входного слоя равен соответствующему элементу вектора входных значений , для остальных слоев – результату расчета функции активации ;
wi,j – весовой коэффициент связи нейрона i предыдущего слоя и нейрона j последующего слоя;
— – ошибка (сигнал ошибки) нейрона н слоя с;
— – результат расчета первой производной функции активации нейрона н слоя с+1;
η – норма обучения.

Перед процедурой обучения весовые коэффициенты всех связей инициализируются случайными малыми значениями (например, в диапазоне [-0.3, 0.3]).

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

При прямом распространении сигнала выполняется стандартная процедура, как и при распознавании образа:

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

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

При проходе слоев в обратном направлении выполняется расчет сигнала ошибки:

— для нейронов последнего (выходного) слоя как разница между ожидаемым для образа значением выхода и полученным:

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

Рис.16.9. Пример расчета сигнала ошибки для нейрона 1 слоя 2

Заключительной операцией является корректировка весовых коэффициентов всех связей на величину:

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

Норма обучения η – коэффициент, от которого зависит величина изменения веса (скорость обучения). Выбирается в диапазоне 0 η | Последняя активность сайта | Пожаловаться | Печать страницы | На основе Google Сайтов

СВОЙСТВА ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЕЙ

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

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

Обучение

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

Обобщение

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

Абстрагирование

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

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

Применимость

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

ИСТОРИЧЕСКИЙ АСПЕКТ

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

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

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

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

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

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

Его исследования привели к написанию книги [4], в которой он вместе с Пайпертом доказал, что используемые в то время однослойные сети теоретически неспособны решить многие простые задачи, в том числе реализовать функцию «Исключающее ИЛИ». Минский также не был оптимистичен относительно потенциально возможного здесь прогресса:

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

Возможно, будет открыта какая-то мощная теорема о сходимости или найдена глубокая причина неудач дать интересную «теорему обучения» для многослойных машин ([4], с.231-232).

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

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

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

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

Нейрокомпьютерная техника свойства искусственных нейронных сетей

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

Популярность

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

Поиск в интернете по машинному обучению (мир):

Новости по той же теме (мир):

Новости по искусственному интеллекту (мир):

Новости по искусственному интеллекту (Россия):

Как видно, тема известная.

Терминология

Разберемся с терминологией. Что такое искусственный интеллект, машинное обучение и искусственные нейронные сети. Как они связаны?

Начнем с самого важного, с искусственного интеллекта.

1. наука о создании интеллектуальных (умных) машин (чаще всего — компьютерных программ).

2. свойство интеллектуальной системы выполнять творческие функции, которые считаются прерогативой человека.

В обоих определениях выше присутствует словосочетание «интеллектуальная машина (система)». Поясню его подробнее. Интеллектуальная машина — система (например, программа), способная выполнять задачи, считающиеся творческими.

Другими словами искусственный интеллект и наука о творческих системах, и сама способность «творить» этих систем.

Теперь настала очередь разобраться с термином «машинное обучение».

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

Машинное обучение — очень обширная область знаний. Можно ведь по-разному определять слово «обучение» и каждый раз получать интересные результаты. Однако среди множества парадигм и подходов в машинном обучении выделяется одна очень интересная область — искусственные нейронные сети.

Среди множества вариантов обучающихся алгоритмов особенно выделяют нейросети

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

В целом об ИНС

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

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

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

Илон Маск рекомендует:  Что такое код next

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

Теперь задумаемся. А из чего состоит нервная система или мозг? Ответ очевиден из нейронов. Наш мозг, как и любая биологическая нейронная сеть, состоит из совокупности нейронов. Строение биологического нейрона показано на рисунке ниже.

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

Нам нужна модель. Нас не волнуют вопросы жизнедеятельности нейрона. Смело убираем все, что с этим связно: ядро, мембраны, рибосомы и все-все-все. В любом случае, мы будем его программировать и умереть он просто не сможет.

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

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

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

Таким образом логично приходим к другому определению ИНС.

Почему нейросети работают?

Рассмотрим на ознакомительном уровне один важный вопрос. Почему нейросети работают (то есть могут решать задачи)? Ответ на этот вопрос не самый очевидный.

Самый частый вариант ответа: каждый нейрон по-своему преобразует сигнал, ну а так как таких нейронов много (миллиарды), то сигнал на входе преобразуется в правильный сигнал на выходе.

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

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

На рисунке ниже цветом выделены синапсы (в центре сверху на картинке можно увидеть один из синапсов в деталях). Красный цвет главный нейрон на картинке. Желтый цвет выходы соседних нейронов.

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

У каждого биологического нейрона тысячи входов. Каждый из них соединен с выходами других нейронов. Значит, имеем тысячи синапсов на каждый нейрон. Помножим это число на миллиарды нейронов в биологических нейросетях (в головном мозге 85 миллиардов нейронов!). Получаем огромное число синапсов.

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

Именно так и происходит преобразование множества входных сигналов в верное решение на выходе.

Уровень сложности нейросетей

Выше я уже говорил, что мы уменьшаем количество нейронов для искусственных нейронных сетей (миллиарды нейронов моделировать мы не можем). Насколько сильно мы уменьшаем это количество? Внимание на картинку ниже.

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

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

Как видите, до человека еще достаточно далеко. Более того, здесь используется логарифмическая шкала. Не вдаваясь в подробности можно сказать, что даже очень маленькое перемещение по диагонали на данном графике означает увеличение в миллионы раз количества синапсов и скорости работы.

Где используются нейросети?

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

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

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

Проблемы малой/средней сложности, которые точно известно, как решать:

  • решить простое уравнение
  • вывести на экране окно программы
  • распечатать документ на принтере

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

Проблемы малой/средней сложности, которые частично известно, как решать:

  • простейшее прогнозирование
  • расчет погрешностей
  • приближенное решение уравнений

Такие задачи можно решать при помощи специальных статистических методов.

Проблемы высокой сложности, которые непонятно, как решать:

  • распознавание образов
  • распознавание речи
  • сложные прогнозы

На этом типе задач я остановлюсь подробнее.

Вот вы идете по улице. Вокруг вас много прохожих. Вы смотрите на них и моментально распознаете лица. Этот процесс не вызывает у вас никаких вопросов. Вы просто очень хорошо натренировались его совершать.

А теперь вы поставили себе задачу написать компьютерную программу, которая по данной картинке распознает лица. Можно даже проще. Попробуйте накидать приблизительный алгоритм распознавания лиц на бумаге. У вас ничего не выйдет. И все потому, что вы на бессознательном уровне распознаете лица, а бессознательное вы контролировать не можете. Делаете, но не знаете как.

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

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

Эта способность нейросетей и сделала их такими популярными. Нейросети можно обучить играть в игры, узнавать голос, прогнозировать рост/падение цен. Их можно научить всему, что мы делаем бессознательно!

Преимущества нейронных сетей

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

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

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

Устойчивость к шумам входных данных

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

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

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

Адаптация к изменениям

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

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

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

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

Отказоустойчивость

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

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

Сверхвысокое быстродействие

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

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

Недостатки нейронных сетей

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

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

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

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

Ответ всегда приблизительный

Начнем с человеческого мозга.

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

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

Вы этого не замечаете, но на самом деле вы строите что-то типо таблички вероятностей у себя в голове и говорите, что, скорее всего (бессознательно выбрали наиболее вероятный результат), во 2 прямоугольнике написано «но». В случае же первого прямоугольника вы говорите, что, непонятно, что там (вероятности почти равны), но, мне кажется (выбираете случайным образом), что там написана буква «о».

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

Принятие решений в несколько этапов

Связь с человеческим мозгом тут не сильно прослеживается в силу того, что мозг – супер сложная нейросеть и за счет свой сложности он может преодолеть этот недостаток.

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

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

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

Вычислительные задачи

Этот недостаток искусственных нейронных сетей в какой-то степени является следствием двух предыдущих недостатков.

Обратите внимание на картинку ниже. Как заставить сеть провести эти преобразования?

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

Предположим, что вы каким-то образом смогли доставить эти данные в сеть

Вторая проблема – последовательные шаги. Уже описанный выше недостаток.

И вишенка на торте – невозможность выдачи точных результатов. Это можно представить себе следующим образом. Вы учите нейросеть:

– 2 + 3 = ?
= 983
– Неправильно! = 5.
2 + 3 = ?
= 5
– Правильно!
2 + 4 = ?
= 5
– Неправильно! = 6.
2 + 4 = ?
= 5.5

И так будет происходить всегда.

Выводы

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

Вопросы и задачи

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

Нейрокомпьютерная техника — Теория и практика

Глава 1.Основы искусственных нейронных сетей

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

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

БИОЛОГИЧЕСКИЙ ПРОТОТИП

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

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

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

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

Рис. 1.1. Биологический нейрон

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

ИСКУССТВЕННЫЙ НЕЙРОН

Искусственный нейрон имитирует в первом приближении свойства биологического нейрона. На вход искусственного нейрона поступает некоторое множество сигналов, каждый из которых является выходом другого нейрона. Каждый вход умножается на соответствующий вес, аналогичный синаптической силе, и все произведения суммируются, определяя уровень активации нейрона. На рис. 1.2 представлена модель, реализующая эту идею. Хотя сетевые парадигмы весьма разнообразны, в основе почти всех их лежит эта конфигурация. Здесь множество входных сигналов, обозначенных x1, x2,…, xn, поступает на искусственный нейрон. Эти входные сигналы, в совокупности обозначаемые вектором X, соответствуют сигналам, приходящим в синапсы биологического нейрона. Каждый сигнал умножается на соответствующий вес w1, w2,, wn, и поступает на суммирующий блок, обозначенный Σ. Каждый вес соответствует «силе» одной биологической синаптической связи. (Множество весов в совокупности обозначается вектором W.) Суммирующий блок, соответствующий телу биологического элемента, складывает взвешенные входы алгебраически, создавая выход, который мы будем называть NET. В векторных обозначениях это может быть компактно записано следующим образом:

Рис. 1.2. Искусственный нейрон

Активационные функции

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

где К – постоянная, пороговой функции

OUT = 1, если NET > T, OUT = 0 в остальных случаях,

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

Рис. 1.3. Искусственный нейрон с активационной функцией

На рис. 1.3 блок, обозначенный F, принимает сигнал NET и выдает сигнал OUT. Если блок F сужает диапазон изменения величины NET так, что при любых значениях NET значения OUT принадлежат некоторому конечному интервалу, то F называется «сжимающей» функцией. В качестве «сжимающей» функции часто используется логистическая или «сигмоидальная» (S-образная) функция, показанная на рис. 1.4а. Эта функция математически выражается как F(x) = 1/(1 + е — x ). Таким образом,

По аналогии с электронными системами активационную функцию можно считать нелинейной усилительной характеристикой искусственного нейрона. Коэффициент усиления вычисляется как отношение приращения величины OUT к вызвавшему его небольшому приращению величины NET. Он выражается наклоном кривой при определенном уровне возбуждения и изменяется от малых значений при больших отрицательных возбуждениях (кривая почти горизонтальна) до максимального значения при нулевом возбуждении и снова уменьшается, когда возбуждение становится большим положительным. Гроссберг (1973) обнаружил, что подобная нелинейная характеристика решает поставленную им дилемму шумового насыщения. Каким образом одна и та же сеть может обрабатывать как слабые, так и сильные сигналы? Слабые сигналы нуждаются в большом сетевом усилении, чтобы дать пригодный к использованию выходной сигнал. Однако усилительные каскады с большими коэффициентами усиления могут привести к насыщению выхода шумами усилителей (случайными флуктуациями), которые присутствуют в любой физически реализованной сети. Сильные входные сигналы в свою очередь также будут приводить к насыщению усилительных каскадов, исключая возможность полезного использования выхода. Центральная область логистической функции, имеющая большой коэффициент усиления, решает проблему обработки слабых сигналов, в то время как области с падающим усилением на положительном и отрицательном концах подходят для больших возбуждений. Таким образом, нейрон функционирует с большим усилением в широком диапазоне уровня входного сигнала.

Рис. 1.4а. Сигмоидальная логистическая функция

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

Рис. 1.4б. Функция гиперболического тангенса

Подобно логистической функции гиперболический тангенс является S-образной функцией, но он симметричен относительно начала координат, и в точке NET = 0 значение выходного сигнала OUT равно нулю (см. рис. 1.4б). В отличие от логистической функции гиперболический тангенс принимает значения различных знаков, что оказывается выгодным для ряда сетей (см. гл. 3).

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

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

ОДНОСЛОЙНЫЕ ИСКУССТВЕННЫЕ НЕЙРОННЫЕ СЕТИ

Рис. 1.5. Однослойная нейронная сеть

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

Удобно считать веса элементами матрицы W. Матрица имеет т строк и п столбцов, где m – число входов, а n – число нейронов. Например, w2,3 – это вес, связывающий третий вход со вторым нейроном. Таким образом, вычисление выходного вектора N, компонентами которого являются выходы OUT нейронов, сводится к матричному умножению N = XW, где N и Х – векторы-строки.

МНОГОСЛОЙНЫЕ ИСКУССТВЕННЫЕ НЕЙРОННЫЕ СЕТИ

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

Рис. 1.6. Двухслойная нейронная сеть

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

Нелинейная активационная функция

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

Так как умножение матриц ассоциативно, то

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

Сети с обратными связями

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

ТЕРМИНОЛОГИЯ, ОБОЗНАЧЕНИЯ И СХЕМАТИЧЕСКОЕ ИЗОБРАЖЕНИЕ ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЕЙ

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

Терминология

Многие авторы избегают термина «нейрон» для обозначения искусственного нейрона, считая его слишком грубой моделью своего биологического прототипа. В этой книге термины «нейрон», «клетка», «элемент» используются взаимозаменяемо для обозначения «искусственного нейрона» как краткие и саморазъясняющие.

Дифференциальные уравнения или разностные уравнения

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

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

Графическое представление

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

Обучение искусственных нейронных сетей

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

Цель обучения

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

Обучение с учителем

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

Обучение без учителя

Несмотря на многочисленные прикладные достижения, обучение с учителем критиковалось за свою биологическую неправдоподобность. Трудно вообразить обучающий механизм в мозге, который бы сравнивал желаемые и действительные значения выходов, выполняя коррекцию с помощью обратной связи. Если допустить подобный механизм в мозге, то откуда тогда возникают желаемые выходы? Обучение без учителя является намного более правдоподобной моделью обучения в биологической системе. Развитая Кохоненом [3] и многими другими, она не нуждается в целевом векторе для выходов и, следовательно, не требует сравнения с предопределенными идеальными ответами. Обучающее множество состоит лишь из входных векторов. Обучающий алгоритм подстраивает веса сети так, чтобы получались согласованные выходные векторы, т. е. чтобы предъявление достаточно близких входных векторов давало одинаковые выходы. Процесс обучения, следовательно, выделяет статистические свойства обучающего множества и группирует сходные векторы в классы. Предъявление на вход вектора из данного класса даст определенный выходной вектор, но до обучения невозможно предсказать, какой выход будет производиться данным классом входных векторов. Следовательно, выходы подобной сети должны трансформироваться в некоторую понятную форму, обусловленную процессом обучения. Это не является серьезной проблемой. Обычно не сложно идентифицировать связь между входом и выходом, установленную сетью.

Алгоритмы обучения

Большинство современных алгоритмов обучения выросло из концепций Хэбба [2]. Им предложена модель обучения без учителя, в которой синаптическая сила (вес) возрастает, если активированны оба нейрона, источник и приемник. Таким образом, часто используемые пути в сети усиливаются и феномен привычки и обучения через повторение получает объяснение.

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

где wij(n) – значение веса от нейрона i к нейрону j до подстройки, wij(n+1) – значение веса от нейрона i к нейрону j после подстройки, α – коэффициент скорости обучения, OUTi – выход нейрона i и вход нейрона j, OUTj – выход нейрона j.

Сети, использующие обучение по Хэббу, конструктивно развивались, однако за последние 20 лет были развиты более эффективные алгоритмы обучения. В частности, в работах [4 – 6] и многих других были развиты алгоритмы обучения с учителем, приводящие к сетям с более широким диапазоном характеристик обучающих входных образов и большими скоростями обучения, чем использующие простое обучение по Хэббу.

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

ПРОЛОГ

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

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

Литература

1. Grossberg S. 1973. Contour enhancement, short-term memory, and consistencies in reverberating neural networks. Studies in Applied Mathematics 52:217,257.

2. Hebb D. 0. 1961. Organization of behavior. New York: Science Edition.

3. Kohonen T. 1984. Self-organization and associative memory. Series in Information Sciences, vol. 8. Berlin: Springer Verlag.

4. Rosenblatt F. 1962. Principles of neurodynamics. New York: Spartan Books. (Русский перевод: Розенблатт Ф. Принципы нейродинамики. – М.: Мир., 1965.)

5. Widrow В. 1959. Adaptive sampled-data systems, a statistical theory of adaptation. 1959 IRE WESCON Convention Record, part 4, pp. 88-91. New York: Institute of Radio Engineers.

6. Widrow В., Hoff М. 1960. Adaptive switching circuits. I960 IRE WESCON Convention Record, pp. 96-104. New York: Institute of Radio Engineers.

Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL