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


Содержание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

6. Выводы

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

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

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

Искусственный нейрон. Структура искусственного нейрона

Искусственный нейрон является структурной единицей искусственной нейронной сети и представляет собой аналог биологического нейрона.

Структура искусственного нейрона

Искусственный нейрон является структурной единицей искусственной нейронной сети и представляет собой аналог биологического нейрона.

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

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

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

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

где w — коэффициент смещения нейрона (вес единичного входа)

Выход нейрона есть функция его состояния:

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

При уменьшении α сигмоид становится более пологим, в пределе при α=0 вырождаясь в горизонтальную линию на уровне 0.5, при увеличении α сигмоид приближается по внешнему виду к функции единичного скачка с порогом T в точке x=0. Из выражения для сигмоида очевидно, что выходное значение нейрона лежит в диапазоне [0,1]. Следует отметить, что сигмоидная функция дифференцируема на всей оси абсцисс, что используется в некоторых алгоритмах обучения. Кроме того, она обладает свойством усиливать слабые сигналы лучше, чем большие, и предотвращает насыщение от больших сигналов, так как они соответствуют областям аргументов, где сигмоид имеет пологий наклон.

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

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

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

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

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

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. Лукацкий A.B. Обнаружение атак. — СПб.: БХВ -Петербург, 2001. — 624 е.: ил.

2. Мельников В.В. Защита информации в компьютерных системах. — М.: Финансы и статистика; Электрон-информ, 1997. — 368 е.: ил.

3. Кристофидес Н. Теория графов — Алгоритмический подход. — М.; Мир, 1978. -432 с ил.

4. Волков И.К., Загоруйко Е.А. Исследование операций: Учеб. для вузов / Под ред. B.C. Зарубина, А.П. Кри-щенко. — М.: Изд-во МГТУ им. Н.Э. Баумана, 2000. -436 с.

ФОФАНОВ Алексей Владимирович, аспирант. ШАХОВ Владимир Григорьевич, кандидат технических наук, профессор.

i Не можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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

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

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

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

Складывается мнение, что множество нейросетевых алгоритмов решения задач составляет новый, по-видимому, перспективный раздел вычислительной математики, который условно можно назвать нейроинформа-тикой [1].

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

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

В сферу разработки и производства перспективных нейрокомпьютеров и нейрочипов рынком вовлечены крупнейшие фирмы США и Японии: National Seminductor, Jn-tel, Texas Jnstruments, JBM, Bell, Hitachi, Toshiba, Mitsubishi, и др. Разработкой искусственных нейронных сетей и нейрочипов занимаются Колумбийский, Аризонский, Пен-сельванский, Иллинойский университеты США и несколько десятков японских университетов. Для создания супернейрокомпьютеров обработки изображений разрабатываются клеточные нейрочипы с фиксированными и настраиваемыми многоразрядными весовыми коэффициентами [7].

По прогнозам ведущих организаций и фирм США и Японии, годовой рынок современных нейронных сетей, нейрочипов и нейрокомпьютеров в 2000 году составил более одного миллиарда долларов и имеет тенденцию к быстрому росту [2].

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

ронов с кодовой перестройкой весовых коэффициентов входов и порогов срабатывания нейронов были созданы в СССР-России (в Московском авиационном институте имени Серго Орджоникидзе и в Омском политехническом институте) в 60-е и 70-е годы и защищены авторскими свидетельствами СССР на изобретение [8 — 14].

Сохранились также акты приемки — сдачи заказчику (НИИ приборостроения, г. Москва) впервые созданных в России, а возможно, и в мировой практике, опытных образцов нейрокомпьютерных специализированных вычислительных устройств на базе сетей искусственных нейронов с кодовой перестройкой логики, разработанных на кафедре ЭВМ (ИВГГ) Омского политехнического института (Омского государственного технического университета) под руководством и при непосредственном участии автора данной статьи в 1973-1976 годах.

Разработка первых в нашей стране адаптивных к отказам нейронов нейрокомпьютерных вычислительных систем на базе функционально устойчивых искусственных нейронных сетей, защищенных авторскими свидетельствами [8-10], проводилась на кафедре вычислительной техники Московского авиационного института, руководимой членом-корреспондентом Академии наук СССР Борисом Степановичем Сотсковым, который являлся идейным руководителем всех проводимых научно-исследовательских работ.

Перейдем теперь к рассмотрению результатов этих разработок.

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

Данное нейрокомпьютерное вычислительное устройство функционирует устойчиво (надежно), если разрушительное действие отказов в искусственной нейронной сети таково, что правильные решения получаются не менее чем при (т + 1)/2, т=3,5. следующих друг за другом выбранных для работы наборов порогов нейронов из диапазона функциональной устойчивости нейронной сети. При этом цикл работы нейрокомпьютерного устройства осуществляется за п тактов, из которых т тактов составляют активную часть цикла, а (п — т) тактов -пассивную (адаптацию сети к отказам).

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

Нейрокомпьютерные адаптивные вычислительные устройства [8] с приоритетом от 18 ноября 1966 года и [10] с приоритетом от 14 ноября 1968 года выполнены в виде двух параллельно работающих функционально устойчивых искусственных нейронных сетей, реализующих одну и ту же функцию от входных переменных, выходы которых (сетей) управляют работой устройства адаптации и выдают решение задачи.

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

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

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

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

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

Разработанные впервые в нашей стране под руководством автора статьи на кафедре ЭВМ Омского политехнического института в период с 1970 по 1974 год и защищенные авторскими свидетельствами СССР [11-14] многофункциональные искусственные нейроны с кодовой перестройкой логики (путем цифрового изменения в заданных пределах весов входов и порогов срабатывания нейронов), созданные на основе матито-диодных, маг-нито-тиристорных и транзисторно-транзисторных переключателях тока, явились, в современной терминологии, первыми отечественными нейрочипами. Возможно, что эти нейрочипы, выполненные по технологии Московского института приборостроения, были первыми в мире практически реализованными и нашедшими применение в специализированных нейрокомпьютерных вычислительных устройствах.

По сохранившимся актам приемки — сдачи заказчику -НИИ приборостроения сотрудниками кафедры ЭВМ ОмПИ следует, что в 1973 году был создан макет ассоциативного множительного устройства на многофункциональных искусственных нейронах с кодовой перестройкой лотки. А в 1974 году было разработано и передано заказчику специализированное вычислительное устройство на много-

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

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

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

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

1. Галушкин А.И. Теория нейронных сетей. Нейрокомпьютеры и их применение. — М.: ИПРЖ «Радиотехника». — 2000. — 416 с.

2. Бубенников А.Н., Бубенников A.A. Технологические проблемы создания сибмикронных нейронов и нейро-систем на пластинах//информационные технологии.-

1997. — №5. — с. 21-28.

3. Миркес Е.М. Нейрокомпьютер. Проект стандарта.-Новосибирск: Наука, Сибирская издательская фирма РАН,

4. Нейроинформатика/А.Н.Горбань, В.Л.Дунин-Бар-ковский, А.Н.Кирдин, Е.М. Миркес, А.Ю.Новоходько, Д.А.Россиев, С.А.Терехов, М.Ю.Сенашова, В.Г.Царегра-дуев. — Новосибирск: Наука, Сибирская издательская фирма РАН, 1998. — 296 с.

5. Потапов В.И., Потапов И.В. Математические модели и функциональные возможности искусственных нейронов/ Омский государственный технический университет. —

Омск, 2001. -12 е., библ. 13 назв.-Деп в ВИНИТИ 03.05.01, № 1140-В2001.

6. Потапов В.И., Потапов И.В. О структурной сложности искусственных нейронов с пресинаптическим взаимодействием и реализации функций от большого числа пере-менных//Доклады СО АН ВШ. — 2002. — № 1(5). — с. 84-91.

7. Галушкин А.И. Некоторые исторические аспекты развития элементной базы вычислительных систем с массовым параллелизмом (80-и 90-е годы)//Информаци-онные технологаи. — 2000. — №8. — с. 2-10.

8. A.C. 200883 СССР, МПК G 06f. Адаптивное вычислительное устройство/В.И.Потапов (СССР).- 1113676/2624. — Заявлено 18.11.66. — опубл. 15.08.67. — Бюлл. №17.

9. A.C. 226302 СССР МПК G 06f. Адаптивное вычислительное устройство/В.И.Потапов (СССР).-1163597/26-24. — Заявлено 30.05.67. — опубл. 8.01.68. — Бюлл. №28.

10. A.C. 260968 СССР, МПК G 06f. Адаптивное вычислительное устройство/В.И.Потапов, А.А.Маслов (СССР). — 1282453/18-24. — Заявлено 14.11.68. — Опубл. 06.01.70. — Бюлл. №4.

11. A.C. 332575 СССР, МПК НОЗК 19/00. Многофункциональный пороговый элемент/В.И.Потапов, П.В.Миренков, Л.В.Воронкова (СССР). — 1468217/26-9. -Заявлено 13.07.79. — опубл. 14.03.72. — Бюлл. №10.

12. A.C. 473293 СССР МПК НОЗК 5/08. Пороговый логический элемент/В.И.Потапов, М.С, Куприянов (СССР). -1902492/26-21. — Заявлено 03.04.73,- Опубл. 05.06.75. -Бюлл. №21.

13. A.C. 493030 СССР. МПК НОЗК 19/08. Многофункциональный пороговый модуль/В.И.Потапов, М.С. Куприянов (СССР). — 1977185/26-21. — Заявлено 14.12.73. -Опубл. 25.11.75. — Бюлл. №43.

14. А.С.493031 СССР, МПК НОЗК 19/16. Многофункциональный пороговый модуль с кодовой перестройкой логики/В.И.Потапов, И.А.Пальянов (СССР). — 2007119/2621. — Заявлено 18.03.74. — Опубл. 25.11.75. — Бюлл.№41.

ПОТАПОВ Виктор Ильич, доктор технических наук, профессор, заведующий кафедрой ИВТ.

В. И. ПОТАПОВ И. В. ПОТАПОВ

Омский государственный технический университет


ПОСТРОЕНИЕ ПРОВЕРЯЮЩИХ ТЕСТОВ ДЛЯ ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЕЙ БЕЗ ОБРАТНЫХ СВЯЗЕЙ ИЗ МОНОФУНКЦИОНАЛЬНЫХ И МНОГОФУНКЦИОНАЛЬНЫХ ИСКУССТВЕННЫХ НЕЙРОНОВ

ИЗЛАГАЕТСЯ ПРОЦЕДУРА СИНТЕЗА МИНИМИЗИРОВАННЫХ ПРОВЕРЯЮЩИХ ТЕСТОВ ДЛЯ ТРЕХ ВИДОВ ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЕЙ ИЗ МОНОФУНКЦИОНАЛЬНЫХ И МНОГОФУНКЦИОНАЛЬНЫХ ИСКУССТВЕННЫХ НЕЙРОНОВ.

Многофункциональным искусственным нейроном (ИН) с переменными весовыми коэффициентами ю1С входов (/ = 1,2. п) и переменным порогом тД^ = 1,2. м) будем называть такой нейрон, выходные функции которого определяются следующим соотношением:

Нейрокомпьютеры

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

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

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

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

OUT=0 в остальных случаях,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

Например в НТЦ «Модуль» разработаны многопроцессорные ускорительные платы МЦ5.001 и МЦ5.002. Первая из них имеет в своем составе 4 микропроцессора TMS320C40 с тактовой частотой 50 МГц и пиковой производительностью 275 MIPS. Каждый процессор имеет свою локальную статическую память объемом 1 Мбайт. К 2 процессорам дополнительно подключены 2 блока динамической памяти объемом 16 Мбайт каждый. К одному из процессоров подключена также статическая память объемом 1 Мбайт, используемая для обмена данными с ПК. Процессоры соединены друг с другом специальными высокоскоростными каналами с пропускной способностью 20 Мбайт/с каждый. Наращивание и комплексирование плат осуществляется на материнской плате ПК с помощью шины ISA.

Ускорительная плата МЦ5.002 содержит 6 процессоров TMS320C40 и выполнена в конструктиве VME, что позволяет использовать ее в бортовых системах, расположенных на летательном аппарате.

Нейропроцессор

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

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

К примеру отечественный нейропроцессор, разработанный в НТЦ «Модуль» : Скалярное устройство обеспечивает интерфейсы с памятью и 2 коммуникационными портами. Скалярное устройство имеет адресных регистров и такое же количество регистров общего назначения разрядностью 32 бита каждый.

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

Нейропроцессор выполнен по технологии 0,5 км. Его тактовая частота 33 МГц. На специальных векторно-матричных операциях он дает увеличение производительности в десятки раз по сравнению с процессором TMS320C40. Благодаря наличию коммуникационных портов с интерфейсом, идентичным портам TMS320C40, нейропроцессор может быть интегрирован в гетерогенную многопроцессорную систему.

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

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

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

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

Трудности, возникающие при программировании многопроцессорных систем, хорошо известны: синхронизация параллельных процессов, механизмы обмена данными, проблемы «критических участков», когда несколько процессов задействуют одни и те же ресурсы. Еще одной важной особенностью современных процессоров является высокая разрядность операндов, например 64 бита, что позволяет размещать в них по несколько малоразрядных элементов данных и обрабатывать их параллельно. Примером эффективного использования отмеченной особенности современных процессоров является технология MMX, где 64-разрядный регистр разбивается на 8 независимых байтов или на 4 16-битных слова, которые обрабатываются параллельно. Независимость элементов состоит в том, что при смещениях или вычитании не происходит заимствования битов у соседних элементов.

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

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

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

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

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

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

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

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

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

Несмотря на перечисленные выше преимущества эти устройства имеют ряд недостатков:

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

2. В силу своей уникальности эти устройства достаточно дорогостоящи.

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

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

— Управление в режиме реального времени: самолетами, ракетами и технологическими процессами непрерывного производства (металлургического, химического и др.);

— Распознавание образов: человеческих лиц, букв и иероглифов, сигналов радара и сонара, отпечатков пальцев в криминалистике, заболеваний по симптомам (в медицине) и местностей, где следует искать полезные ископаемые (в геологии, по косвенным признакам);

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

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

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

Что же представляет из себя нейрокомпьютер? Нейрокомпьютеры бывают двух типов:

1. Большие универсальные компьютеры построенные на множестве нейрочипов.

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

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

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

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

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

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

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

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

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

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

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

Искусственные нейроны – это структурные единицы, из которых состоят нейронные сети [1]. И прин­цип их работы схож с принципом фун­к­ци­о­ни­ро­ва­ния нейронов в че­ло­ве­чес­ком мозгу. Поэтому они так и на­зы­ва­ют­ся! Они способны пе­ре­да­вать и получать друг от друга сигналы. Только в данном случае – это элек­трон­ный сигнал [2]. Что, к со­жа­ле­нию, является проблемой! Обус­лов­лен­ной высокими энер­го­зат­ра­та­ми во время пе­ре­да­чи ин­фор­ма­ции [3]. Но по­с­коль­ку ис­кус­ст­вен­ные нейроны являются единст­вен­ной из­вест­ной тех­но­ло­гией ис­кус­ст­вен­но­го ин­тел­лек­та [4], от­ка­зы­вать­ся от неё нельзя. Вот почему проблему высоких энер­го­зат­рат пытаются решать! И надо сказать, не без­ре­зуль­тат­но [5].

Тут важно заметить, что современные нейронные сети и искусственный интеллект ка­чест­вен­но раз­ли­ча­ют­ся. Точно так же, как раз­ли­ча­ют­ся рогатка и АК-47. Принцип работы, в общем-то, оди­на­ко­вый. Но есть нюансы! Именно поэтому ис­кус­ст­вен­ные нейроны в сов­ре­мен­ных нейронных сетях являются просто струк­тур­ным эле­мен­том ком­пью­тер­но­го кода [6]. Его ар­хи­тек­ту­ра упрощённо пред­с­тав­ле­на входными, про­ме­жу­точ­ны­ми и выходными нейронами, между ко­то­ры­ми пе­ре­да­ют­ся сигналы с прис­во­ен­ным им весом [7]. Например, как рас­поз­на­ют­ся цвета? Нейроны передают сигналы с разным весом красного, зелёного и синего цвета, из которых на выходе, в за­ви­си­мос­ти от веса каждого сигнала, со­би­ра­ет­ся оп­ре­де­лён­ный цвет [8].

Нейронные сети способны обучаться. Их можно делать с разной ар­хи­тек­ту­рой и раз­ви­вать их точность [9]. В общем, это со­вер­шен­но за­ме­ча­тель­ная тех­но­ло­гия. Она перс­пек­тив­на. Она раз­ви­ва­ет­ся. Поз­во­ля­ет решить массу задач и, по всей видимости, в бли­жай­шем будущем мы увидим её всё более и более широкое применение. Но если вы хотите создать ис­кус­ст­вен­ный ин­тел­лект, вам нужно не только прог­рам­мное обес­пе­че­ние [10]. Вам нужно «же­ле­зо»! Потому что без фи­зи­чес­кой ис­кус­ст­вен­ной ней­рон­ной сети не­воз­мож­но решить проблему высоких энер­го­зат­рат [10], [11]. Вот давайте и посмотрим, как эту проб­ле­му пытается решить сов­ре­мен­ная наука!

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

Современные искусственные нейроны называются мемристорами. Их делают из ком­пле­мен­тар­ных ме­тал­ло­ок­сид­ных-по­лу­про­вод­ни­ков (КМОП). По сути, они пред­с­тав­ля­ют собой ячейки памяти, способные изменять своё элек­т­ри­чес­кое соп­ро­тив­ле­ние под воз­дей­ст­ви­ем силы тока. Но их ис­поль­зо­ва­ние связано с боль­ши­ми затратами энер­гии. Вот почему учёные активно пытаются их чем-то заменить или до­ра­бо­тать. И 21 февраля 2020 года в Nature появилась статья с пред­ло­же­ни­ем по решению данной проблемы [10]. В ней было пред­ло­же­но ус­тройст­во под наз­ва­ни­ем мем­тран­зис­тор – смесь мем­рис­то­ра и тран­зис­то­ра. Делают его из од­но­слой­но­го по­лу­про­вод­ни­ко­во­го ди­суль­фи­да мо­либ­де­на (MoS2).

Мемтранзистор решает главную проблему мемристора. Он позволяет соединять каждый элемент системы со мно­жест­вом других эле­мен­тов. Точно так же, как со­е­ди­ня­ют­ся нейроны в мозгу. То есть данное ус­трой­ст­во ими­ти­ру­ет не только нейроны, но и поз­во­ля­ет ими­ти­ро­вать синапсы. А синапсы и являются эле­мен­том связи между ней­ро­на­ми, обес­пе­чи­ва­ю­щим нор­маль­ную скорость про­хож­де­ния сигналов между ними [12]. И именно эко­но­мия времени на про­хож­де­нии сигналов между ис­кус­ст­вен­ны­ми ней­ро­на­ми может решить проблему вы­со­ких энер­го­зат­рат. А решает её ма­те­ри­ал, из которого делают мем­тран­зис­то­ры. Он од­но­слой­ный, поэтому его ис­поль­зо­ва­ние поз­во­ля­ет свободно под­со­е­ди­нять эле­мен­ты между собой [10].

Искусственные синапсы

Итак, создание настоящего искусственного интеллекта зак­лю­ча­ет­ся в фи­зи­чес­кой, а не прог­рам­мной имитации нервной системы [11]. Просто потому, что только фи­зи­чес­кая ими­та­ция может позволить системе функ­ци­о­ни­ро­вать с при­ем­ле­мы­ми зат­ра­та­ми энергии. Пос­коль­ку ней­рон­ные сети, ра­бо­та­ю­щие на обычных ком­пь­ю­те­рах, ещё более энер­го­зат­рат­ные, чем уже су­щест­ву­ю­щие фи­зи­чес­кие имитации. Хотя прин­цип работы у них кон­цеп­ту­аль­но иден­ти­чен. Их обу­ча­ют! А пос­коль­ку скорость обу­че­ния зависит от объёма об­ра­ба­ты­ва­е­мой ин­фор­ма­ции, су­щест­ву­ет не­об­хо­ди­мость в боль­шом ко­ли­чест­ве синапсов. И «их есть у меня»!

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

masterok

Мастерок.жж.рф

Хочу все знать

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

Давайте узнаем подробнее про это исследование …


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

День сегодняшний

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

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

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

Вот еще вам научные на мой взгляд любопытные статейки: вот например Зачем скрестили козу и паука ? и почему предок именно Почему именно Homo sapiens ?. А что вы например знаете про Число «фи» и Кто такие перфекционисты ?

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

Название Нейрокомпьютерная техника: Теория и практика
страница 3/14
Дата конвертации 20.04.2015
Размер 2.12 Mb.
Тип Обзор
источник
Илон Маск рекомендует:  Столбцовая диаграмма
1. /neurotch/NeuroTech.doc Нейрокомпьютерная техника: Теория и практика

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

ПРОЛОГ

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

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

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

страница 2/14
Дата 12.07.2020
Размер 2.17 Mb.
Тип Обзор
    Навигация по данной странице:
  • СВОЙСТВА ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЕЙ
  • Абстрагирование
  • Применимость
  • ИСТОРИЧЕСКИЙ АСПЕКТ
  • ИСКУССТВЕННЫЕ НЕЙРОННЫЕ СЕТИ СЕГОДНЯ
  • ПЕРСПЕКТИВЫ НА БУДУЩЕЕ
  • Искусственные нейронные сети и экспертные системы
  • Соображения надежности
Илон Маск рекомендует:  Шаблон сайта галереи HTML, CSS

Введение

ПОЧЕМУ ИМЕННО ИСКУССТВЕННЫЕ НЕЙРОННЫЕ СЕТИ?

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

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

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

Обучение

Обобщение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ПЕРСПЕКТИВЫ НА БУДУЩЕЕ

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

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

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

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

Соображения надежности

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

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

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

ВЫВОДЫ

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

Нейрокомпьютер

Рис.1. Нейронная сеть

В теоретической работе Тьюринга 1936 года была предложена гипотетическая машина для формализации действий человека. Затем, в так и не законченном отчете фон Неймана в 1945 году, были обобщены уроки создания первой ЭВМ ENIAC и предложены методы конструирования вычислительных машин. Фон Нейман, использовал не только идеи Тьюринга. Так, в качестве базовых элементов ЭВМ фон Нейман предложил модифицированные формальные нейроны (!) Мак-Каллока и Питтса — основателей нейросетевой архитектуры.
В статье, опубликованной в 1943 г., они доказали, что сети из таких пороговых элементов способны решать тот же класс задач, что и машина Тьюринга.
Интерес к реализации нейроподобных систем, способных решать интеллектуальные задачи, возрос в конце пятидесятых годов. В это время появился ряд научных работ, раскрывающих фундаментальные принципы переработки информации в живых системах.
В конце 50-х — начале 60-х с этим направлением связывали большие надежды, в основном благодаря Фрэнку Розенблатту, разработавшему первое обучаемое нейросетевое устройство для распознавания образов, персептрон (от английского perception — восприятие).
Персептрон был впервые смоделирован в 1958 году, причем его обучение требовало около получаса машинного времени на одной из самых мощных в то время ЭВМ IBM-704. Аппаратный вариант — Mark I Perceptron — был построен в 1960 г. и предназначался для распознавания зрительных образов. Его рецепторное поле состояло из матрицы фотоприемников 20×20, и он успешно справлялся с решением ряда задач — мог, например, различать транспаранты некоторых букв.
Тогда же возникли первые коммерческие нейрокомпьютинговые компании. Энтузиазм этого героического периода «бури и натиска» был так велик, что многие, увлекшись, предсказывали появление думающих машин в самом ближайшем будущем. В 1969 году бывший однокашник Розенблатта по Высшей научной школе в Бронксе Марвин Минский, сам в свое время отдавший дань конструированию нейрокомпьютеров, решил положить этому конец, выпустив вместе с южноафриканским математиком Пейпертом книгу «Персептроны». В этой роковой для нейрокомпьютинга книге была строго доказана принципиальная, как тогда казалось, ограниченность персептронов. Утверждалось, что им доступен лишь очень узкий круг задач. В действительности критика относилась лишь к персептрону с одним слоем обучающихся нейронов. Но для многослойных нейронных сетей алгоритм обучения, предложенный Розенблаттом, не годился. Холодный душ критики, умерив пыл энтузиастов, затормозил развитие нейрокомпьютинга на многие годы. Исследования в этом направлении были свернуты вплоть до 1983 года, когда они, наконец, получили финансирование от Агентства перспективных военных исследований США (DARPA). Этот факт стал сигналом к началу нового нейросетевого бума.
Интерес широкой научной общественности к нейросетям пробудился вновь после теоретической работы физика Джона Хопфилда (1982 г.), предложившего модель ассоциативной памяти в нейронных ансамблях. Холфилд и его многочисленные последователи обогатили теорию нейросетей многими идеями из арсенала физики, такими как коллективные взаимодействия нейронов, энергия сети, температура обучения и т. д. Однако настоящий бум практического применения нейросетей начался после публикации в 1986 году Дэвидом Румельхартом с соавторами метода обучения многослойного персептрона, названного ими методом обратного распространения ошибки (error back-propagation). Ограничения персептронов, о которых писали Минский и Пайперт, оказались преодолимыми, а возможности вычислительной техники — достаточными для решения широкого круга прикладных задач. В 90-х годах производительность компьютеров возросла настолько, что это позволило моделировать с их помощью работу параллельных нейронных сетей с числом нейронов от нескольких сотен до десятков тысяч. Такие эмуляторы нейросетей способны решать многие интересные с практической точки зрения задачи. В свою очередь, нейросетевые программные комплексы станут тем носителем, который выведет на технологическую орбиту настоящие параллельные нейросетевые компьютеры.
Нейронные сети возникли из исследований в области искусственного интеллекта, а именно, из попыток воспроизвести способность биологических нервных систем обучаться и исправлять ошибки, моделируя низкоуровневую структуру мозга (Patterson, 1996). Основной областью исследований по искусственному интеллекту в 60-е — 80-е годы были экспертные системы. Такие системы основывались на высокоуровневом моделировании процесса мышления (в частности, на представлении, что процесс нашего мышления построен на манипуляциях с символами). Скоро стало ясно, что подобные системы, хотя и могут принести пользу в некоторых областях, но не отражают ключевые аспекты человеческого интеллекта. Согласно одной из точек зрения, причина состоит в том, что современные вычислительные системы не в состоянии воспроизвести структуру мозга и чтобы создать искусственный интеллект, необходимо построить систему с похожей на естественную архитектурой, т. е. перейти от программной реализации процесса мышления к аппаратной.
Ситуация резко изменилась с начала восьмидесятых годов. Имитация работы мозга программными методами испытывала все большие трудности, связанные с принципиальными различиями между конструкциями мозга и компьютера. В связи с этим, был предложен ряд электронных, оптических, электронно-оптических приборов, позволяющих создавать архитектурные модели нейронных структур.
Естественным продолжением аппаратного и программного подхода к реализации нейрокомпьютера является программно-аппаратный подход. Этот подход получил наибольшее развитие и применение. Существующие компьютеры дополнялись специальными нейро-платами. Так, например, фирмой TRW (США) в 1985 году был разработан компьютер Mark3, который был реализован в виде дополнительной многопроцессорной платы к мини-компьютерам серии VAX, дальнейшим развитием системы Mark3 была система Mark4.
Наиболее интересное применение нашли нейрокомпьютеры в странах европейского сообщества. Еще в 1955 году было принято Шенгенское соглашение, по которому при досмотре в аэропортах европейских стран будут сравниваться отпечатки пальцев, это задача для нейрокомпьютера. В дальнейшем планируется ввести сравнение по радужной оболочке глаз, по полному описанию лица человека. В настоящее время появились новые возможности для реализации этой задачи.
Наиболее яркими примерами нейрокомпьютеров являются: Нейрокомпьютер Synaps 1 (Siemens, Герания), нейрокомпьютер «Силиконовый мозг» (созданный в США по программе «Электронный мозг», предназначен для обработки арокосмических изображений, производительность 80 петафлоп (80х1015 операций в секунду, потребляеая мощность 20 Вт.), нейрокомпьютер Эмбрион (Россия).

Рис.2. Общий вид нейрокомпьютера Sinaps1

Нейрокомпьютер Эмбрион разработан под руководством член-корреспондента МАИ, к.т.н. Владимира Дмитриевича Цыганкова. На сегодня известно несколько модификаций данного нейрокомпьютера, для различных приложений: датчик случайных многомерных управляемых импульсных потоков «ЭМБРИОН-1», интерсенсорный перенос «глаз»-«рука», техническая диагностика неисправностей энергогенератора самолетной электростанции («Эмбрион-2»), управление нестационарным объектом в реальном масштабе времени («Эмбрион-3» и «Эмбрион-4»), орган технического зрения («Эмбрион-5»), управление тактильно очувствленным адаптивным промышленным роботом «Универсал-5А» при обслуживании карусельной плавильной печи на стекольном заводе («Поиск-1»), управление тактильно очувствленным адаптивным промышленным роботом «Р-2» с искусственными мышцами при сборке и покраске («Поиск-2»), управление тактильно очувствленным мобильным автономным роботом «Краб-1» при взаимодействии с неориентированными предметами и др.

Рис.3. Компьютер «Neuro Engine»

Фирма NEC (Япония) в 1988 предложила нейрокомпьютер «Neuro Engine» в виде одноплатного сопроцессора к персональному компьютеру IBM PC. Фирмой Adaptive Solutions была разработана параллельная система SNAPS на 256 процессорах, позволяющая выполнять до 10 млрд. операций в сек. для решения задач обработки изображений и реконструкции объектов.
Аппаратный подход связан с созданием нейрокомпьютеров в виде нейроподобных структур (нейросетей) электронно-аналогового, оптоэлектронного и оптического типов. Для таких компьютеров разрабатываются специальные СБИС (нейрочипы) (Рис.4).

Рис.4. Нерочип МА16 (Siemens)

В 1988 г. фирма Havard изготовила СБИС на 256 аналоговых элементах, включающую 25 тысяч транзисторов, 100 тысяч резисторов.
Основу нейросетей составляют относительно простые, в большинстве случаев — однотипные, элементы (ячейки), имитирующие работу нейронов мозга — искусственные нейроны. Каждый нейрон характеризуется своим текущим состоянием, по аналогии с нервными клетками головного мозга, которые могут быть возбуждены или заторможены. На рисунке 5 показан биологический нейрон. На рисунке 6 математическая модель нейрона.

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

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

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

Выход нейрона есть функция его состояния:

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

Очевидно, что все весовые коэффициенты синапсов одного слоя нейронов можно свести в матрицу W, в которой каждый элемент wij задает величину i-ой синаптической связи j-ого нейрона. Таким образом, процесс, происходящий в нейросети, может быть записан в матричной форме:

где X и Y — соответственно входной и выходной сигнальные векторы, F( V) — активационная функция, применяемая поэлементно к компонентам вектора V.
Практически всегда множество искусственных нейронов в искусственной нейронной сети поделено на подмножества, которые называют слоями или плоскостями (Рис.8). Теоретически число слоев и число нейронов в каждом слое может быть произвольным, однако фактически оно ограничено ресурсами компьютера, в случае программной реализации, или возможностями специализированных микросхем, на которых обычно реализуются нейронные сети. Чем сложнее нейронная сеть, тем масштабнее задачи, подвластные ей.

Рис.8. Структура трехслойной сети прямого распространения

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

Рис.9. Примеры реализации нейросетей

Введение обратных связей, наряду с увеличением возможностей сети, поднимает вопрос о динамической устойчивости; сложность алгоритмов функционирования сети (в том числе, например, введение нескольких типов синапсов — возбуждающих, тромозящих и др.) также способствует усилению мощи нейросети.
Вопрос о необходимых и достаточных свойствах сети для решения того или иного рода задач представляет собой целое направление нейрокомпьютерной науки. Одной из важных особенностей нейронной сети является возможность к обучению.
Обучение нейросети может вестись с учителем или без него. В первом случае сети предъявляются значения как входных, так и желательных выходных сигналов, и она по некоторому внутреннему алгоритму подстраивает веса своих синаптических связей. Во втором случае выходы нейросети формируются самостоятельно, а веса изменяются по алгоритму, учитывающему только входные и производные от них сигналы.
Существует великое множество различных алгоритмов обучения, которые делятся на два больших класса: детерминированные и стохастические. В первом из них подстройка весов представляет собой жесткую последовательность действий, во втором — она производится на основе действий, подчиняющихся некоторому случайному процессу.
Рассмотрим более подробно вопрос обучения нейросети (Рис. 10) на примере трехнейронного перцептрона при обучении с учителем. Для обучения необходимо:
1. Задать элементы весовой матрицы W (обычно небольшие случайные значения).
2. Подать на входы один из входных векторов, которые сеть должна научиться различать, и вычислить выходы сети.
3. Если выход правильный, перейти на шаг 4. Иначе вычислить разницу между идеальным и полученным значениями выхода и модифицировать веса так, чтобы уменьшить ошибку.
4. Цикл с шага 2, пока сеть не перестанет ошибаться.

На втором шаге поочередно в случайном порядке предъявляются все возможные входные вектора.

Рис.10. Процесс обучения нейросети

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

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

Лучшие изречения: Да какие ж вы математики, если запаролиться нормально не можете. 8427 — | 7331 — или читать все.

Илон Маск рекомендует:  Защита от отладчика. Средства отладки и взлома программ.
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL