Вопрос_63_Нечаев (1006304), страница 3
Текст из файла (страница 3)
Алгоритм определения близости закладывается в НС при её построении
Сеть разбивает данные на заранее неизвестное число кластеров
Задача кластеризации – задача сжатия данных, анализа
-
Апроксимация данных
Эта задача актуальна при моделировании сложных систем динамических объектов
-
Предсказание
Есть набор y(1), y(2), y(3), … , y(i) => в данном методе НС может предсказать y(i+1)
-
Оптимизация (большее время решения по алгоритму)
Цель задачи – найти решение, удовлетворяющее ряду ограничений и оптимизирующее значение целевой функции
Пример – задача коммивояжера
-
Ассоциативная память
Память, которая позволяет считывать информацию по частичному или искаженному входному потоку
Сферы применения
Нейрокомпьютеры могут быть успешно использованы в различных областях народного хозяйства.
— Управление в режиме реального времени: самолетами, ракетами и технологическими процессами непрерывного производства (металлургического, химического и др.);
— Распознавание образов: человеческих лиц, букв и иероглифов, сигналов радара и сонара, отпечатков пальцев в криминалистике, заболеваний по симптомам (в медицине) и местностей, где следует искать полезные ископаемые (в геологии, по косвенным признакам);
— Прогнозы: погоды, курса акций (и других финансовых показателей), исхода лечения, политических событий (в частности результатов выборов), поведения противников в военном конфликте и в экономической конкуренции;
-
Оптимизация и поиск наилучших вариантов: при конструировании технических устройств, выборе экономической стратегии и при лечении больного.
-
Охранные системы и системы безопасности (распознавание голоса, лиц…)
…………..
Оценка производительности нейрокомпьютеров
Иллюстрацией преимуществ нейрокомпьютеров по сравнению с другими типами суперкомпьютеров может быть диаграмма из рис. 1, подготовленная известным американским специалистом в области нейрокомпьютеров Хехт-Нильсеном. А также определена достоинствами и недостатками нейросетей приведенных ниже.
Преимущества нейрокомпьютеров
По сравнению с обычными компьютерами нейрокомпьютеры обладают рядом преимуществ.
-
высокое быстродействие, связанное с тем, что алгоритмы нейроинформатики обладают высокой степенью параллельности.
-
нейросистемы делаются очень устойчивыми к помехам и разрушениям.
-
устойчивые и надежные нейросистемы могут создаваться из ненадежных элементов, имеющих значительный разброс параметров.
-
надежность НС, т.е. ошибка или отклонение части сети не приводит к отказу системы, а может только снизить качество передачи информации
-
НС не требуют традиционного программирования , поскольку самообучается решению различных задач.
Недостатки нейрокомпьютеров
Несмотря на перечисленные выше преимущества эти устройства имеют ряд недостатков:
-
Они создаются специально для решения конкретных задач, связанных с нелинейной логикой и теорией самоорганизации. Решение таких задач на обычных компьютерах возможно только численными методами.
-
В силу своей уникальности эти устройства достаточно дорогостоящи.
-
Требует организации специальных наборов данных ,что является не тривиальной задачей
-
Невозможно решать задачи с высокой точностью
Заключение
Нейрокомпьютеры являются перспективным направлением развития современной высокопроизводительной вычислительной техники, а теория нейронных сетей и нейроматематика представляют собой приоритетные направления российской вычислительной науки, и при соответствующей поддержке, в ближайшее время станут интенсивно развиваться.
Основой активного развития нейрокомпьютеров является принципиальное отличие нейросетевых алгоритмов решения задач от однопроцессорных, малопроцессорных, а также транспьютерных. Для данного направления развития вычислительной техники не так важен уровень развития отечественной микроэлектроники, поэтому оно позволяет создать основу построения российской элементной базы суперкомпьютеров.
Сегодня начинает расширяться сфера коммерческой деятельности в области нейрокомпьютеров или подобных им систем, в частности: нейропакеты; нейроплаты (CNAPS и другие); нейрокомпьютеры (Sinapse и другие); видеокурсы; нейросетевые системы управления электроэррозионными станками; охранные системы с нейросетевыми алгоритмами выделения движущихся объектов; системы "электронного ключа" с распознаванием отпечатков пальцев, рисунка радужной оболочки глаза; экспертная система G2.
Дополнительная информация
(не обязательная)
Нейрокомпьютеры являются предметом исследований сразу нескольких дисциплин, поэтому единое определение нейрокомпьютера можно дать только с учетом различных точек зрения, адекватных разным направлениям науки.
Математическая статистика. Нейрокомпьютеры - это системы, позволяющие сформировать описания характеристик случайных процессов и совокупности случайных процессов, имеющих в отличие от общепринятого, сложные, зачастую многомодальные или вообще априори неизвестные функции распределения.
Математическая логика и теория автоматов. Нейрокомпьютеры - это системы, в которых алгоритм решения задачи представлен логической сетью элементов частного вида - нейронов с полным отказом от булевских элементов типа И, ИЛИ, НЕ. Как следствие этого введены специфические связи между элементами, которые являются предметом отдельного рассмотрения.
Теория управления. В качестве объекта управления выбирается частный случай, хорошо формализуемый объект - многослойная нейронная сеть, а динамический процесс ее настройки представляет собой процесс решения задачи. При этом практически весь аппарат синтеза адаптивных систем управления переносится на нейронную сеть как частный вид объекта управления.
Вычислительная математика. В отличие от классических методов решения задач нейрокомпьютеры реализуют алгоритмы решения задач, представленные в виде нейронных сетей. Это ограничение позволяет разрабатывать алгоритмы, потенциально более параллельные, чем любая другая их физическая реализация. Множество нейросетевых алгоритмов решения задач составляет новый перспективный раздел вычислительной математики, условно называемый нейроматематикой.
Вычислительная техника. Нейрокомпьютер - это вычислительная система с архитектурой MSIMD, в которой реализованы два принципиальных технических решения:
-
упрощен до уровня нейрона процессорный элемент однородной структуры и резко усложнены связи между элементами;
-
программирование вычислительной структуры перенесено на изменение весовых связей между процессорными элементами.
Общее определение нейрокомпьютера может быть представлено в следующем виде. Нейрокомпьютер - это вычислительная система с архитектурой аппаратного и программного обеспечения, адекватной выполнению алгоритмов, представленных в нейросетевом логическом базисе.
Персептроны
(на всякий случай – вдруг кто захочет вспомнить)
В качестве научного предмета искусственные нейронные сети впервые заявили о себе в 40-е годы. Стремясь воспроизвести функции человеческого мозга, исследователи создали простые аппаратные (а позже программные) модели биологического нейрона и системы его соединений. Когда нейрофизиологи достигли более глубокого понимания нервной системы человека, эти ранние попытки стали восприниматься как весьма грубые аппроксимации. Тем не менее, на этом пути были достигнуты впечатляющие результаты, стимулировавшие дальнейшие исследования, приведшие к созданию более изощренных сетей. Первое систематическое изучение искусственных нейронных сетей было предпринято Маккалокком и Питтсом в 1943 г. Позднее в работе они исследовали сетевые парадигмы для распознавания изображений, подвергаемых сдвигам и поворотам. Простая нейронная модель, показанная на рисунке.
использовалась в большей части их работы. Элемент S умножает каждый вход х на вес w и суммирует взвешенные входы. Если эта сумма больше заданного порогового значения, выход равен единице, в противном случае - нулю. Эти системы (и множество им подобных) получили название персептронов. Они состоят из одного слоя искусственных нейронов, соединенных с помощью весовых коэффициентов с множеством входов, хотя в принципе описываются и более сложные системы. В 60-е годы персептроны вызвали большой интерес и оптимизм. Розенблатт доказал замечательную теорему об обучении персептронов. Уидроу дал ряд убедительных демонстраций систем персептронного типа, и исследователи во всем мире стремились изучить возможности этих систем. Первоначальная эйфория сменилась разочарованием, когда оказалось, что персептроны не способны обучиться решению ряда простых задач. Минский строго проанализировал эту проблему и показал, что имеются жесткие ограничения на то, что могут выполнять однослойные персептроны, и, следовательно, на то, чему они могут обучаться. Так как в то время методы обучения многослойных сетей не были известны, исследователи перешли в более многообещающие области, и исследования в области нейронных сетей пришли в упадок. Недавнее открытие методов обучения многослойных сетей в большей степени, чем какой-либо иной фактор, повлияло на возрождение интереса и исследовательских усилий
Обучение персептрона
Способность искусственных нейронных сетей обучаться является их наиболее интригующим свойством. Подобно биологическим системам, которые они моделируют, эти нейронные сети сами моделируют себя в результате попыток достичь лучшей модели поведения.
Персептрон обучают, подавая множество образов по одному на его вход, и подстраивая веса до тех пор, пока для всех образов не будет достигнут требуемый выход. Допустим, что входные образы нанесены на демонстрационные карты. Каждая карта разбита на квадраты и от каждого квадрата на персептрон подается вход. Если в квадрате имеется линия, то от него подается единица, в противном случае - ноль. Множество квадратов на карте задает, таким образом, множество нулей и единиц, которое и подается на входы персептрона. Цель состоит в том, чтобы научить персептрон включать индикатор при подаче на него множества входов, задающих нечетное число, и не включать в случае четного.
На показана такая персептронная конфигурация. Допустим, что вектор Х является образом распознаваемой демонстрационной карты. Каждая компонента (квадрат) Х - (x1, x2, :, xn) - умножается на соответствующую компоненту вектора весов W - (w1, w2, ..., wn). Эти произведения суммируются. Если сумма превышает порог P, то выход нейрона Y равен единице (индикатор зажигается), в противном случае он - ноль. Как известно из предыдущей главы, эта операция компактно записывается в векторной форме как Y = XW, а после нее следует пороговая операция. Для обучения сети образ Х подается на вход и вычисляется выход Y. Если Y правилен, то ничего не меняется. Однако если выход неправилен, то веса, присоединенные к входам, усиливающим ошибочный результат, модифицируются, чтобы уменьшить ошибку. Чтобы увидеть, как это осуществляется, допустим, что демонстрационная карта с цифрой 3 подана на вход и выход Y равен 1 (показывая нечетность). Так как это правильный ответ, то веса не изменяются. Если, однако, на вход подается карта с номером 4 и выход Y равен единице (нечетный), то веса, присоединенные к единичным входам, должны быть уменьшены, так как они стремятся дать неверный результат. Аналогично, если карта с номером 3 дает нулевой выход, то веса, присоединенные к единичным входам, должны быть увеличены, чтобы скорректировать ошибку.
Этот метод обучения может быть подытожен следующим образом:
-
Подать входной образ и вычислить Y.
-
-
Если выход правильный, то перейти на шаг 1;
-
Если выход неправильный и равен нулю, то добавить все входы к соответствующим им весам; или
-
Если выход неправильный и равен единице, то вычесть каждый вход из соответствующего ему веса.
-
Перейти на шаг 1.
За конечное число шагов сеть научится разделять карты на четные и нечетные, при условии, что множество цифр линейно разделимо. Это значит, что для всех нечетных карт выход будет больше порога, а для всех четных - меньше. Отметим, что это обучение глобально, т. е. сеть обучается на всем множестве карт. Возникает вопрос о том, как это множество должно предъявляться, чтобы минимизировать время обучения. Должны ли элементы множества предъявляться последовательно друг за другом или карты следует выбирать случайно? Несложная теория служит здесь путеводителем.















