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

Содержание

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

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

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

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

С другой стороны, уже сейчас наблюдается внедрение нейрокомпьютеров в обычные бытовые приборы, — примерами могут служить кондиционеры 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 млн. вентилей). Высокая тактовая частота работы ПЛИС способствует высокой скорости вычислений в нейроне. ПЛИС в гораздо большей степени, чем СБИС, удовлетворяет критерию эффективности для нейронных процессоров: большая интеграция позволяет реализовать множество параллельно работающих нейронов, при этом обмен данными между нейронами осуществляется внутри той же ПЛИС с высокой скоростью. Это означает, что проблема «узкого горла» при передаче данных между вычислительными элементами отсутствует, поскольку все каналы связи реализуются внутри ПЛИС и обеспечивают ту скорость передачи, которая нужна разработчику. Конечно, нельзя категорично утверждать, что в ближайшем будущем нейрокомпьютеры заменят собой обычные компьютеры. Этого не произойдет ни сейчас, ни потом, поскольку «нейроподход» эффективен не для всех задач. Но там, где нейротехнологии имеют неоспоримые преимущества перед другими алгоритмическими методами, неизбежно, постепенно произойдет замена существующих аппаратных средств и программ на нейрокомпьютеры и нейросетевое программное обеспечение.

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

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

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

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

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

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

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

Толчком к развитию нейрокомпьютинга послужили биологические исследования. По данным нейробиологии нервная система человека и животных состоит из отдельных клеток — нейронов. В мозге человека их число достигает 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 млн. межсоединений/с.

Илон Маск рекомендует:  TSysCharSet - Тип Delphi

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

6. Выводы

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

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

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

Нейрокомпьютеры (стр. 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. В векторных обозначениях это может быть компактно записано следующим образом.

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

Однослойные искусственные нейронные сети

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

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

Многослойные искусственные нейронные сети

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

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

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

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

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

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

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

История ИНС начинается с 40- годов 20 века, когда двое американских исследователей – У. Маккалок и У. Питтс – предложили модель нейрона и сформулировали основные положения теории функционирования человеческого мозга.

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

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

На этом примере можно сформулировать несколько принципиальных отличий в обработке информации в мозге и в ЭВМ:

1. Способность к обучению на примерах.

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

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

5. Ассоциативность памяти – способность находить нужную информацию по ее малой части.

Мозг человека состоит из нервных клеток – нейронов. Всего их 10 12 штук. Каждый нейрон мозга имеет один длинный ветвящийся отросток – аксон и множество мелких ветвящихся отростков – дендритов.

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

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

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

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

Поэтому вместо точных математических моделей нейронов используется простая модель так называемого формального нейрона. Он имеет входы, куда подаются некоторые числа: x1, …, xn. Затем стоит блок, называемый адаптивным сумматором. На его выходе мы имеем взвешенную схему входов: S=Sn i =1 xi*wi. Затем она подается на нелинейный преобразователь и на выходе мы имеем y=F(S).

Слева – адаптивный сумматор, справа – нелинейный преобразователь.

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

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

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

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

Архитектуры нейронных сетей.

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

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

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

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

В свою очередь, среди многослойных сетей выделяют:

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

Если не оговорено противное, то каждый выходной сигнал n-ного слоя передастся на вход всех нейронов n+1 слоя.

Рисунок – Многослойная (трехслойная) сеть прямого распространения.

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

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

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

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

y n j,p — реальный выход n-ного выходного слоя сети для p-того нейрона на j-том обучающем примере,

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

Поскольку весовые коэффициенты в зависимость y ( N) j,p(х) входят нелинейно, воспользуемся для нахождения минимума методом наискорейшего спуска. То есть на каждом шаге обучения будем изменять весовые коэффициенты по формуле:

Дельта w ( n) ij= — η * dE/d w ( n) ij, где (3)

w ( n) ij – весовой коэффициент j-того нейрона n-ного слоя для связи с i-тым нейроном n-1-ого слоя. Параметра η называется параметром скорости обучения.

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

z n j взвешенная сумма входов j-того нейрона n-ного слоя.

Зная функцию активации, можно вычислить формулу 4.

Например, для сигмоида эта величина будет равняться: херня 5.

Третий сомножитель в формуле 3 есть не что иное, как выход i-того нейрона n-1-ого слоя. То есть:

херня 6 с номером 5

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

Производя дифференцирование 1 по херне 7 и учитывая выражения 3 и 5, получим херня 8 с номером 6.

Херня 9 с номером 7

Тогда для нейрона выходного слоя получим:

Херня 10 с номером 8

Окончательную формулу 2 для модификации весовых коэффициентов можно записать в виде:

Херня 11 с номером 9

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

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

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

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

4. Скорректировать веса сети: херня 14.

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

Основные проблемы, возникающие при применении данного метода:

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

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

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

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

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

Не нашли то, что искали? Воспользуйтесь поиском:

Лучшие изречения: Для студента самое главное не сдать экзамен, а вовремя вспомнить про него. 10039 — | 7504 — или читать все.

188.64.174.135 © studopedia.ru Не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования. Есть нарушение авторского права? Напишите нам | Обратная связь.

Отключите adBlock!
и обновите страницу (F5)

очень нужно

Scisne ?

Главная ≫ Инфотека ≫ Кибернетика, когнитивистика ≫ Нейрокомпьютер, или аналоговый ренессанс // Горбань А. Н.

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

Горбань А. Н.

Прежде мне не довелось узнать, как сильно действуют на авторов читательские письма. В ответ на научные публикации обычно получаешь лишь открытки с просьбой прислать оттиски, и не известно, чем же привлекла читателя твоя статья: то ли очень нужна для работы, то ли пригодится для коллекции курьезов… Иное дело — публикация в журнале «Мир ПК». Первые же письма, полученные в ответ на нашу статью («Новая игрушка человечества», авторы А. Н. Горбань, В. И. Фридман, «Мир ПК», № 9/93, с. 111.), сильно порадовали, а когда их число перевалило за сотню, стало ясно: тема вызвала интерес, информации явно не хватает и необходимо ответить хотя бы на часть вопросов.

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

Игрушка ли нейрокомпьютер?

Это часто скорее не вопрос, а крик души: «Нейрокомпьютеры — не игрушка! Они находят серьезное применение — неужели вы не знаете?!»

Знаю и готов перечислить наиболее важные и типичные области их использования.

Управление в реальном времени:

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

Оптимизация — поиск наилучших вариантов:

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

Обработка сигналов при наличии больших шумов.

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

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

В чем истинные преимущества нейрокомпьютеров?

Верный своему подходу (нейрокомпьютер — игрушка), я могу ответить так: давайте поиграем, а там видно будет; ведь не сразу же мы узнали, к чему приведет распространение персональных компьютеров. Однако… Так-то оно так, но все же кое-что можно определить тут же (миллиард нейронов в нашей голове тоже иногда способен предсказывать!).

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

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

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

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

Попробуем разобраться по порядку.

В каких областях преимущества нейронных систем наиболее очевидны?

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

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

Если же нас интересует производительность вычислительных машин, то в этом контексте нейронная структура становится чрезвычайно важной. Хорошо известна гипотеза Минского[1]: реальная производительность параллельной системы из n процессоров растет как lg n (т. е. производительность системы из 100 процессоров выше производительности 10-процессорной системы всего вдвое: процессоры дольше ждут своей очереди, чем собственно вычисляют). Однако если вы сконструировали для решения задачи нейронную сеть, то параллелизм может быть использован практически полностью — и производительность растет почти пропорционально n (числу нейронов в сети).

Традиционная схема формального нейрона изображена на рисунке.

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

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

Избыточность — это хорошо или плохо?

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

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

Во-вторых, увеличение избыточности нейронной системы повышает ее надежность. Приведу пример. Обучаю нейроимитатор EYE (10 нейронов, 100 связей) распознавать четыре японских иероглифа (солнце, собака, мужчина, женщина). Весовые коэффициенты связей распределились в установленных пределах: от -1 до 1. Добавляю к весовым коэффициентам связей случайные числа, равномерно распределенные между -0,1 и 0,1. Распознавание нарушилось. Доучиваю сеть и снова добавляю случайные возмущения — пока не появятся ошибки, потом снова доучиваю и т. д. Через несколько циклов устойчивость сети к возмущениям становится фантастической, даже подозрительно фантастической — если человек впервые наблюдает этот эффект, ему хочется проверить: а нет ли здесь какого-нибудь надувательства? Но нет, все чисто, а сеть выдерживает случайные возмущения весовых коэффициентов связей до 50-80%, и это — благодаря избыточности.

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

Вспомним АВМ — аналоговые вычислительные машины. Точность у них была небольшая, зато быстродействие отменное, и параллелизм достигался высокий. Да и возраст у них почтенный — еще в 1876 году (да-да, одна тысяча восемьсот… — это не опечатка) в трудах Королевского Научного общества Томпсоном были описаны параллельные аналоговые системы с обратной связью.

Старые АВМ были неуниверсальны — они умели решать только дифференциальные уравнения, да и то не любые, а лишь те, для которых удавалось собрать систему интеграторов. А что если на аналоговых элементах реализовать нейронные сети? Универсальность и устойчивость к ошибкам обеспечит нейросетевая технология, а быстродействием эти элементы уже обладают. Кроме того, они очень дешевы. Почему бы не попробовать? Люди и попробовали. В Японии и России, в США и Бразилии и много еще где. Результаты вдохновляют. Быстродействие аналоговых нейронных сетей лимитируется лишь скоростью света. Нейронные сети обычно решают задачи за несколько тактов, поэтому в целом решение даже сложных задач обученной сетью занимает малое время — наносекунды. А это уже — новые горизонты технологии.

Какие задачи под силу только нейрокомпьютеру?

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

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

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

Чем занимается НейроКомп?

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

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

Исследования по нейроинформатике начались в Красноярске с открытия В. А. Охониным (Институт биофизики СО РАН) принципа двойственности для обучения нейронных сетей (опубликовано в 1986 г.)[2]. Описание этого принципа заслуживает отдельной статьи. Если же говорить коротко, то его суть состоит в следующем. При обучении нейронной сети необходимо вычислять поправки к ее параметрам — весовым коэффициентам связей. Фактически решается задача оптимизации в пространстве очень большой размерности. Эта размерность долго была проклятием для разработчиков: нетрудно реализовать нейронную сеть так, чтобы все нейроны работали параллельно, однако для ее обучения приходится использовать другие системы и решать задачу оптимизации обычным — очень длительным — путем. Принцип двойственности позволяет вычислять поправки к параметрам с помощью той же системы связей, но имеющей обратную ориентацию (сигналы меняют направление движения). Если к возможностям нейронной сети добавить двойственное функционирование (с обращением движения сигнала и некоторыми другими дополнениями), то нейронная сеть начинает сама себя учить!

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

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

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

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

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

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

Что читать? (очень важный вопрос!)

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

  1. Вавилов Е. И. и др. Синтез схем на пороговых элементах. — М.: Советское радио, 1970.
  2. Веденов А. А. Моделирование элементов мышления. — М.: Наука, 1988.
  3. Галушкин А. И. Синтез многослойных схем распознавания образов. — М.: Энергия, 1974.
  4. Горбань А. Н. Обучение нейронных сетей. — М.: СП «ПараГраф», 1990.
  5. Гутчин И. Б., Кузичев А. С. Бионика и надежность. — М.: Наука, 1967.
  6. Дискуссия о нейрокомпьютерах / Под ред. В. И. Крюкова. — Пущино, 1988.
  7. Дунин-Барковский В. Л. Информационные процессы в нейронных структурах. — М.: Наука, 1978.
  8. Ивахненко А. Г. Персептроны. — Клев: Наукова думка, 1974.
  9. Итоги науки и техники: Сер. «Физ. и матем. модели нейронных сетей» / Под ред. А. А. Веденова. Т. 1-5. 1990-1992.
  10. Крайзмер Л. П. и др. Память кибернетических систем. — М.: Советское радио, 1971.
  11. Мкртчян С. О. Проектирование логических устройств ЭВМ на нейронных элементах. — М.: Энергия, 1977.
  12. Позин И. В. Моделирование нейронных структур. — М.: Наука, 1970.
  13. Степанян А. А., Архангельский С. В. Построение логических схем на пороговых элементах. — Куйбышевское книжное изд-во, 1967.
  14. Транспьютерные и нейронные ЭВМ / Под ред. В. К. Левина и А. И. Галушкина. — Российский дом знаний, 1992.
  15. Фролов А. А., Муравьев И. П. Информационные характеристики нейронных сетей. — М.: Наука, 1988.
  16. Фролов А. А., Муравьев И. П. Нейронные модели ассоциативной памяти. — М.: Наука, 1987.
  17. Цыганков В. Д. Нейрокомпьютер и его применение. — М.: «Сол Систем», 1993.
  1. Дертоузос М. Пороговая логика. — М.: Мир, 1967.
  2. Кохонен Т. Ассоциативная память. — М.: Мир, 1980.
  3. Кохонен Т. Ассоциативные запоминающие устройства. — М.: Мир, 1982.
  4. Минский М., Пайперт С. Персептроны. — М.: Мир, 1971.
  5. Нильсен Н. Обучающиеся машины. — М.: Мир, 1967.
  6. Розенблатт Ф. Принципы нейродинамики. — М.: Мир, 1964.
  7. Уоссермен Ф. Нейрокомпьютерная техника. — М.: Мир, 1992.

Начал выходить журнал «Нейрокомпьютер». Адрес для переписки с редакцией: 107078, Москва, а/я 133; тел.: (095) 154-01-51.

Вот, собственно, и все, о чем я хотел сказать в этой статье. Спасибо за письма. Пишите, приезжайте на семинар. Наш адрес: 660036, Красноярск-36, ВЦ СО РАН, НейроКомп.

Примечания

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

2. Одновременно и независимо сообщение о частном случае принципа двойственности было опубликовано американскими исследователями и он стал известен под названием «обратное распространение ошибки».

Об авторе: Александр Николаевич Горбань — докт. физ. -мат. наук, профессор, заведующий кафедрой НейроЭВМ Красноярского государственного технического университета, заведующий лабораторией ВЦ СО РАН.

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

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

По нашей оценке, на 11.11.2020 г. лучшими брокерами являются:

• для торговли валютами – NPBFX;

• для торговли бинарными опционами – Intrade.bar;

• для инвестирования в ПАММы и др. инструменты – Альпари;

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

Введение в искусственные нейронные сети

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

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

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

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

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

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

От биологических сетей к ИНС

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

Таблица 1. Машина фон Неймана по сравнению с биологической нейронной системой

Машина фон Неймана <>Биологическая нейронная система
Процессор Сложный Простой
Высокоскоростной Низкоскоростной
Один или несколько Большое количество
Память Отделена от процессора Интегрирована в процессор
Локализована Распределенная
Адресация не по содержанию Адресация по содержанию
Вычисления Централизованные Распределенные
Последовательные Параллельные
Хранимые программы Самообучение
Надежность Высокая уязвимость Живучесть
Специализация Численные и символьные oперации Проблемы восприятия
Среда функционирования Строго определенная Плохо определенная
Строго ограниченная Без ограничений

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

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

Представим некоторые проблемы, решаемые в контексте ИНС и представляющие интерес для ученых и инженеров.

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

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

Аппроксимация функций. Предположим, что имеется обучающая выборка ((x 1 ,y 1 ), (x 2 ,y 2 ). (x n ,y n )) (пары данных вход-выход), которая генерируется неизвестной функцией (x), искаженной шумом. Задача аппроксимации состоит в нахождении оценки неизвестной функции (x). Аппроксимация функций необходима при решении многочисленных инженерных и научных задач моделирования.

Предсказание/прогноз. Пусть заданы n дискретных отсчетов 1 ), y(t 2 ). y(t n )> в последовательные моменты времени t 1 , t 2 . t n . Задача состоит в предсказании значения y(t n+1 ) в некоторый будущий момент времени t n+1 . Предсказание/прогноз имеют значительное влияние на принятие решений в бизнесе, науке и технике. Предсказание цен на фондовой бирже и прогноз погоды являются типичными приложениями техники предсказания/прогноза.

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

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

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

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

Исследования в области ИНС пережили три периода активизации. Первый пик в 40-х годах обусловлен пионерской работой МакКаллока и Питтса [4]. Второй возник в 60-х благодаря теореме сходимости перцептрона Розенблатта [5] и работе Минского и Пейперта [6], указавшей ограниченные возможности простейшего перцептрона. Результаты Минского и Пейперта погасили энтузиазм большинства исследователей, особенно тех, кто работал в области вычислительных наук. Возникшее в исследованиях по нейронным сетям затишье продлилось почти 20 лет. С начала 80-х годов ИНС вновь привлекли интерес исследователей, что связано с энергетическим подходом Хопфилда [7] и алгоритмом обратного распространения для обучения многослойного перцептрона (многослойные сети прямого распространения), впервые предложенного Вербосом [8] и независимо разработанного рядом других авторов. Алгоритм получил известность благодаря Румельхарту [9] в 1986году Андерсон и Розенфельд [10] подготовили подробную историческую справку о развитии ИНС.

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

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

Рис. 1. Схема биологического нейрона

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

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

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

Основные понятия

Модель технического нейрона

МакКаллок и Питтс [4] предложили использовать бинарный пороговый элемент в качестве модели искусственного нейрона. Этот математический нейрон вычисляет взвешенную сумму n входных сигналов x j , j = 1, 2. n, и формирует на выходе сигнал величины 1, если эта сумма превышает определенный порог u, и 0 — в противном случае.

Часто удобно рассматривать u как весовой коэффициент, связанный с постоянным входом x = 1. Положительные веса соответствуют возбуждающим связям, а отрицательные — тормозным. МакКаллок и Питтс доказали, что при соответствующим образом подобранных весах совокупность параллельно функционирующих нейронов подобного типа способна выполнять универсальные вычисления. Здесь наблюдается определенная аналогия с биологическим нейроном: передачу сигнала и взаимосвязи имитируют аксоны и дендриты, веса связей соответствуют синапсам, а пороговая функция отражает активность сомы.

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

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

Рис. 2. Систематизация архитектур сетей прямого распространения и рекуррентных (с обратной связью)

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

Обучение

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

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

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

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

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

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

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

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

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

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

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

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

Таблица 2. Известные алгоритмы обучения

Парадигма Обучающее правило Архитектура Алгоритм обучения Задача
С учителем Коррекция ошибки Однослойный и многослойный перцептрон Алгоритмы обучения перцептрона
Обратное распространение
Adaline и Madaline
Классификация образов
Аппроксимация функций
Предскащание, управление
Больцман Рекуррентная Алгоритм обучения Больцмана Классификация образов
Хебб Многослойная прямого распространения Линейный дискриминантный анализ Анализ данных
Классификация образов
Соревнование Соревнование Векторное квантование Категоризация внутри класса Сжатие данных
Сеть ART ARTMap Классификация образов
Без учителя Коррекция ошибки Многослойная прямого распространения Проекция Саммона Категоризация внутри класса Анализ данных
Хебб Прямого распространения или соревнование Анализ главных компонентов Анализ данных
Сжатие данных
Сеть Хопфилда Обучение ассоциативной памяти Ассоциативная память
Соревнование Соревнование Векторное квантование Категоризация
Сжатие данных
SOM Кохонена SOM Кохонена Категоризация
Анализ данных
Сети ART ART1, ART2 Категоризация
Смешанная Коррекция ошибки и соревнование Сеть RBF Алгоритм обучения RBF Классификация образов
Аппроксимация функций
Предсказание, управление

Многослойные сети прямого распространения

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

Рис. 4. Типовая архитектура трехслойной сети прямого распространения

Многослойный перцептрон

Наиболее популярный класс многослойных сетей прямого распространения образуют многослойные перцептроны, в которых каждый вычислительный элемент использует пороговую или сигмоидальную функцию активации. Многослойный перцептрон может формировать сколь угодно сложные границы принятия решения и реализовывать произвольные булевы функции [6]. Разработка алгоритма обратного распространения для определения весов в многослойном перцептроне сделала эти сети наиболее популярными у исследователей и пользователей нейронных сетей. Геометрическая интерпретация [14] объясняет роль элементов скрытых слоев (используется пороговая активационная функция).

RBF-сети

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

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

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

Нерешенные проблемы

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

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

Самоорганизующиеся карты Кохонена

Самоорганизующиеся карты Кохонена (SOM) [16] обладают благоприятным свойством сохранения топологии, которое воспроизводит важный аспект карт признаков в коре головного мозга высокоорганизованных животных. В отображении с сохранением топологии близкие входные примеры возбуждают близкие выходные элементы. На рис. 2 показана основная архитектура сети SOM Кохонена. По существу она представляет собой двумерный массив элементов, причем каждый элемент связан со всеми n входными узлами.

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

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

Модели теории адаптивного резонанса

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

Карпентер и Гроссберг, разработавшие модели теории адаптивного резонанса (ART1, ART2 и ARTMAP) [17], сделали попытку решить эту дилемму. Сеть имеет достаточное число выходных элементов, но они не используются до тех пор, пока не возникнет в этом необходимость. Будем говорить, что элемент распределен (не распределен), если он используется (не используется). Обучающий алгоритм корректирует имеющийся прототип категории, только если входной вектор в достаточной степени ему подобен. В этом случае они резонируют. Степень подобия контролируется параметром сходства k, 0

Рис. 5. Сеть ART1

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

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

Сеть Хопфилда

Хопфилд использовал функцию энергии как инструмент для построения рекуррентных сетей и для понимания их динамики [7]. Формализация Хопфилда сделала ясным принцип хранения информации как динамически устойчивых аттракторов и популяризовала использование рекуррентных сетей для ассоциативной памяти и для решения комбинаторных задач оптимизации.

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

Ассоциативная память

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

Ассоциативная память обычно работает в двух режимах: хранения и восстановления. В режиме хранения веса связей в сети определяются так, чтобы аттракторы запомнили набор p n-мерных образцов 1 , x 2 . x p ), которые должны быть сохранены. Во втором режиме входной пример используется как начальное состояние сети, и далее сеть эволюционирует согласно своей динамике. Выходной образец устанавливается, когда сеть достигает равновесия.

Сколько примеров могут быть сохранены в сети с n бинарными элементами? Другими словами, какова емкость памяти сети? Она конечна, так как сеть с n бинарными элементами имеет максимально 2n различных состояний, и не все из них являются аттракторами. Более того, не все аттракторы могут хранить полезные образцы. Ложные аттракторы могут также хранить образцы, но они отличаются от примеров обучающей выборки. Показано, что максимальное число случайных образцов, которые может хранить сеть Хопфилда, составляет Pmax ( 0.15 n. Когда число сохраняемых образцов p ( 0.15 n, достигается наиболее успешный вызов данных из памяти. Если запоминаемые образцы представлены ортогональными векторами (в отличие от случайных), то количество сохраненных в памяти образцов будет увеличиваться. Число ложных аттракторов возрастает, когда p достигает емкости сети. Несколько правил обучения предложено для увеличения емкости памяти сети Хопфилда [2]. Заметим, что в сети для хранения p n-битных примеров требуется реализовать 2n связей.

Минимизация энергии

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

Приложения

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

Система OCR

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

Схемы вычислений

На рис. 6 представлены две основные схемы использования ИНС в OCR системах. Первая выполняет явное извлечение характерных признаков (не обязательно на нейронной сети). Например, это могут быть признаки обхода по контуру. Выделенные признаки подаются на вход многослойной сети прямого распространения [19]. Эта схема отличается гибкостью в отношении использования большого разнообразия признаков. Другая схема не предусматривает явного выделения признаков из исходных данных. Извлечение признаков происходит неявно в скрытых слоях ИНС. Удобство этой схемы состоит в том, что выделение признаков и классификация объединены и обучение происходит одновременно, что дает оптимальный результат классификации. Однако схема требует большего размера сети, чем в первом случае.

Рис. 6. Две схемы применения ИНС в системах OCR

Типичный пример подобной интегрированной схемы рассмотрен Куном [20] для распознавания zip-кода.

Результаты

ИНС очень эффективно применяются в OCR-приложениях. Однако, нет убедительных доказательств их превосходства над соответствующими статистическими классификаторами. На первой конференции по OCR-системам в 1992 г. [18] более 40 систем распознавания рукописного текста были сопоставлены для одних и тех же данных. Из них 10 лучших использовали вариант многослойной сети прямого распространения или классификатор «ближайшего соседа». ИНС имеют тенденцию к превосходству по скорости и требуемой памяти по сравнению с методом «ближайшего соседа», в отличие от которого скорость классификации с применением ИНС не зависит от объема обучающей выборки. Точность распознавания лучших OCR-систем на базе данных предварительно сегментированных символов составила около 98% для цифр, 96% для заглавных букв и 87 — для строчных. (Низкая точность для строчных букв вызвана в значительной степени тем, что тестовые данные существенно отличались от тренировочных.) По данным теста можно сделать вывод, что на изолированных символах OCR система близка по точности к человеку. Однако человек опережает системы OCR на свободных от ограничений и рукописных документах.

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

Литература

1. DARPA Neural Network Study, AFCEA Int’l Press, Fairfax, Va., 1988.
2. J. Hertz, A. Krogh, and R.G. Palmer, Introduction to the Theory of Neural Computation, Addison-Wesley, Reading, Mass., 1991.
3. S. Haykin, Neural Networks: A Comprehensive Foundation, MacMillan College Publishing Co., New York, 1994.
4. W.S. McCulloch and W. Pitts, «A logical Calculus of Ideas Immanent in Nervous Activity», Bull. Mathematical Biophysics, Vol. 5, 1943, pp. 115-133.
5. R.Rosenblatt, «Principles of Neurodynamics», Spartan Books, New York, 1962.
6. M. Miтnsky and S. Papert, «Perceptrons: An Introduction to Computational Geometry», MIT Press, Cambridge, Mass., 1969.
7. J.J. Hopfield, «Neural Networks and Physical Systems with Emergent Collective Computational Abilities», in Proc. National Academy of Sciencies, USA 79, 1982, pp. 2554-2558.
8. P. Werbos, «Beyond Regression: New Tools for Prediction and Analysis in the Behavioral Sciences», Phd Thesis, Dept. of Applied Mathematics, Harvard University, Cambridge, Mass., 1974.
9. D.E. Rumelhart and J.L. McClelland, Parallel Distributed Processing: Exploration in the Microstructure of Cognition, MIT Press, Cambridge, Mass., 1986.
10. J.A. Anderson and E. Rosenfeld, «Neurocomputing: Foundation of Research», MIT Press, Cambridge, Mass., 1988.
11. S. Brunak and B. Lautrup, Neural Networks, Computers with Intuition, World Scientific, Singapore, 1990.
12. J. Feldman, M.A. Fanty, and N.H. Goddard, «Computing with Structured Neural Networks», Computer, Vol. 21, No. 3, Mar.1988, pp. 91-103.
13. D.O. Hebb, The Organization of Behavior, John Wiley & Sons, New York, 1949.
14. R.P.Lippmann, «An Introduction to Computing with Neural Nets», IEEE ASSP Magazine, Vol.4, No.2, Apr. 1987, pp. 4-22.
15. A.K. Jain and J. Mao, «Neural Networks and Pattern Recognition», in Computational Intelligence: Imitating Life, J.M. Zurada, R.J. Marks II, and C.J. Robinson, eds., IEEE Press, Piscataway, N.J., 1994, pp. 194-212.
16. T. Kohonen, SelfOrganization and Associative Memory, Third Edition, Springer-Verlag, New York, 1989.
17. G.A.Carpenter and S. Grossberg, Pattern Recognition by SelfOrganizing Neural Networks, MIT Press, Cambridge, Mass., 1991.
18. «The First Census Optical Character Recognition System Conference», R.A.Wilkinson et al., eds., . Tech. Report, NISTIR 4912, US Deop. Commerse, NIST, Gaithersburg, Md., 1992.
19. K. Mohiuddin and J. Mao, «A Comparative Study of Different Classifiers for Handprinted Character Recognition», in Pattern Recognition in Practice IV, E.S. Gelsema and L.N. Kanal, eds., Elsevier Science, The Netherlands, 1994, pp. 437-448.
20. Y.Le Cun et al., «Back-Propagation Applied to Handwritten Zip Code Recognition», Neural Computation, Vol 1, 1989, pp. 541-551.
21. M. Minsky, «Logical Versus Analogical or Symbolic Versus Connectionist or Neat Versus Scruffy», AI Magazine, Vol. 65, No. 2, 1991, pp. 34-51.

Анил К. Джейн (jain@cps.msu.edu) — Мичиганский университет; Жианчанг Мао, К М. Моиуддин — Исследовательский Центр IBM в Альмадене.

Поделитесь материалом с коллегами и друзьями

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

В 1992 году программа «Пятое поколение компьютеров» была завершена и ее сме­нила международная программа «Вычисления в реальном мире» (RWC — Real World Computing). В первую очередь речь идет о том, чтобы дать вычислительным и управляющим системам возможность самостоятельно, без помощи «пере­водчика» — человека воспринимать воздействия внешнего мира и действовать в нем. Авторы программы огромную роль (до 30-40% ее содержания) отводят ис­следованию естественных и созданию искусственных нейросетевых систем.
Нейробионический подход к проблеме искусственного интеллекта основывается на использовании принципов работы мозга для конструирования интеллектуальных систем. Его привлекательность и перспективность обусловливаются тем, что на функциональном уровне нервная система обеспечивает недоступную (по крайней мере, на текущий момент) для технических устрой ств сп особность живых существ адаптироваться в реальном мире, а на «технологическом» уровне — уникальные возможности по быстродействию и надежности.
Имитация работы мозга на ЭВМ (традиционно-последовательной) затруднена принципиальными различиями между конструкциями мозга и ЭВМ. В частности, из-за того, что когда одно устройство моделирует другое, сильно от него отличающееся, процесс моделирования протекает очень медленно. На ЭВМ достаточ­но просто моделируются формально-логические элементы мышления, а модели­рование способности человека (и животных) адаптироваться в изменяющихся и слабо формализованных условиях реального мира сопряжено со значительными сложностями, несмотря на то, что уровень технологии в микроэлектронике позволяет превзойти по плотности упаковки вычислительных элементов и по эконо­мичности энергопотребления нервную ткань. Как раз именно эту возможность адаптироваться к постоянно изменяющимся внешним условиям и необходимо обеспечить системам, претендующим на «интеллектуальность».
В настоящее время сформировалось новое научно-практическое направление — создание нейрокомпьютера, представляющего собой ЭВМ нового поколения, качественно отличающуюся от предыдущих отсутствием заранее созданных алгоритмических программ и способностью к самоорганизации и обучению. Основу нейрокомпьютеров составляют нейронные сети — иерархически организованные параллельные соединения адаптивных элементов — нейронов, которые обеспечивают взаимодействие с объектами реального мира так же, как и биологи­ческая нервная система.
Основные отличия нейрокомпьютера от обычной ЭВМ:
параллельная работа большого числа простых вычислительных устройств обеспечивает огромное быстродействие;
нейронная сеть способна к обучению, которое осуществляется путем настройки параметров сети;
высокая отказоустойчивость и помехоустойчивость сети за счет того, что зна ния как бы «размыты» в ней и обрыв какой-то связи в общем случае не являет ся достаточным условием отказа, а устранение помех осуществляется за счет «скатывания» поступившего искаженного образа к ближайшему имеющемуся образцу с наименьшим энергетическим уровнем;
простое строение отдельных нейронов позволяет использовать новые физические принципы обработки информации для аппаратных реализаций нейросетей .

ПРИМЕЧАНИЕ
Нейрокомпьютеры создаются для решения определенного фиксированного круга задач. По-видимому, широкое распространение получат устройства, основанные на комбиниро­ ванных технологиях, включающие по мере необходимости те или иные нейропроцессорные устройства.

В настоящее время дальнейшее повышение производительности компьютеров связывают с системами, обладающими свойствами массового параллелизма. Одна из таких систем — нейрокомпьютер, основу которого составляет искусственная нейросетъ , реализованная аппаратно на электронных или оптических элементах. В отличие от микропроцессора, имеющего полный набор команд, каждый нейрон, из которых состоит нейросеть , представляет собой лишь простейший аналоговый преобразующий элемент. Однако коллективные свойства сети, содержащей мил лионы нейронов, уже не являются тривиальными. Искусственная нейросеть — принципиально параллельная структура, естественным образом реализующая принцип потока данных.
Термин «нейронные сети» сформировался в 40-х годах XX века в среде исследователей, изучавших принципы организации и функционирования биологических нейронных сетей. В настоящее время в области науки нейроинформатики разра ботан ряд моделей переработки информации, называемых искусственными ней­ронными сетями или просто нейронными сетями. Обычно под нейронными сетя­ми понимается набор элементарных нейроподобных преобразователей информа­ ции — нейронов, соединенных друг с другом каналами обмена информацией для их совместной работы.
Предметом исследования нейроинформатики является решение задач переработки информации с помощью нейросетей в различных предметных областях, особенно в плохо формализуемых, где существующие модели субъективны и неадекватны. Наиболее впечатляющие результаты использования нейросетей достигнуты при распознавании образов, при построении ассоциативной памяти, при создании самообучающихся экспертных систем, при решении оптимизационных задач боль шой размерности.
Нейроинформатика > находится в стадии интенсивного развития. Ежегодно про водится ряд международных конференций по нейросетям , число специализиро­ванных периодических изданий более 20. В России в настоящее время издается журнал «Нейрокомпьютер» (Министерство экономики). В 1999 г. в Красноярске состоялся VII Всероссийский семинар « Нейроинформатика и ее приложения».
К настоящему моменту предложено и изучено большое количество моделей нейро сетей . Однако основными являются только три принципиально различных типа сетей, большинство остальных распространенных нейросетей состоят из элемен­ тов, характерных для сетей трех основных типов:
сетей прямого распространения (многослойных персептронов);
полносвязных сетей Хопфилда ;
карт (решеток) Кохонена

Нейронные сети: виды, принцип работы и области применения

Содержание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Это не единственные варианты классификации сетей.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

При этом веса выставляются в случайном порядке.

Схема работы нейронной сети

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

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

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

  • Линейная функция f(x) = x, самая простая из всех возможных, используется только для тестирования созданной нейронной сети или передачи данных в исходном виде.
  • Сигмоид считается самой распространённой функцией активации и имеет вид f(x) = 1 / 1+e–×; при этом диапазон её значений от 0 до 1. Она ещё называется логистической функцией.
  • Чтобы охватить и отрицательные значения используют гиперболический тангенс. F(x) = e²× – 1 / e²× + 1 — такой вид имеет эта функция и диапазон который она имеет от -1 до 1. Если нейронная сеть не предусматривает использование отрицательных значений, то использовать её не стоит.

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

Интеграция — это счётчик, который увеличивается с каждым тренировочным сетом.

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

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

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

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

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

Что такое нейрон смещения и для чего он нужен?

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

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

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

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

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

Наличие нейрона смещения позволит исправить ситуацию и получить иной результат. Целесообразность использования нейронов смещения определяется путём тестирования сети с ними и без них и сравнения результатов.

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

Илон Маск рекомендует:  Фиксированное позиционирование 2
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL