назад в библиотеку



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




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

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

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



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

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

Істория нейронных сетей

Изучению человеческого мозга - тысячи лет. С появлением современной электроники, начались попытки аппаратного воспроизведения процесса мышления. Первый шаг был сделан в 1943 г. с выходом статьи нейрофизиолога Уоррена Маккалоха (Warren McCulloch) и математика Уолтера Питтса (Walter Pitts) про работу искусственных нейронов и представления модели нейронной сети на электрических схемах.



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

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



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

Аналогия с мозгом

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

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

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

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

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

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

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

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

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

Базовый модуль нейронных мереж - искусственный нейрон моделирует основные функции естественного нейрона (рис. 2).

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

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

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

Рис. 3. Модель нейрона

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

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

Рис. 4. Сигмоиднаяя передаточная функция

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

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

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

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

Рис. 5. Диаграмма простой нейронной сети

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

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

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

Рис. 6. Обратная связь

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

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

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

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

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

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

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

Применение нейросетей для решения практических задач

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

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

Аппроксимация функций. Предположим, что есть обучающая выборка ((x1,y1), (x2,y2)..., (xn,yn)) (пары данных вход-выход), которая генерируется неизвестной функцией F, искаженной шумом. Задача аппроксимации состоит в нахождении неизвестной функции F. Аппроксимация функций необходима при решении многочисленных инженерных и научных задач моделирования.

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

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

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

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

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



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

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


Internet-источник




назад в библиотеку