Московский Автомобильно-Дорожный Институт
(Государственный Технический Университет)
Кафедра АСУ
Курсовая работа
по дисциплине: «Интеллектуальные системы»
Тема работы: «Общие принципы, характерные для нейросетей»
Москва 2000
Содержание
Введение
Наиболее интересные нейросетевые архитектуры и их приложения
Общие принципы, характерные для нейросетей
Локальность и параллелизм вычислений
Программирование: обучение, основанное на данных
Универсальность обучающих алгоритмов
Сферы применения нейросетей
Вывод
Список литературы
Введение
Традиционно нейрон описывался в терминах, заимствованных из нейрофизиологии. Согласно этим представлениям нейрон имеет один выход sj и несколько входов (синапсов), на которые поступают внешние воздействия хi (от рецепторов и от других нейронов).
Количество нейронов в мозге оценивается величиной 1010-1011. Типичные нейроны имеют тело клетки (сому), множество ветвящихся коротких отростков - дендритов и единственный длинный и тонкий отросток - аксон. На конце аксон также разветвляется и образует контакты с дендритами других нейронов - синапсы.
Рисунок 1. Схема межнейронного взаимодействия
Искусственные нейронные сети получили широкое распространение за последние 20 лет и позволили решать сложные задачи обработки данных, часто значительно превосходя точность других методов статистики и искусственного интеллекта, либо являясь единственно возможным методом решения отдельных задач. Нейросеть воспроизводит структуру и свойства нервной системы живых организмов: нейронная сеть состоит из большого числа простых вычислительных элементов (нейронов) и обладает более сложным поведением по сравнению с возможностями каждого отдельного нейрона. Нейросеть получает на входе набор входных сигналов и выдает соответствующий им ответ (выходные сигналы), являющийся решением задачи.
Искусственные нейронные сети применяются для задач классификации или кластеризации многомерных данных. Основная идея лежащая в основе нейронных сетей – это последовательное преобразование сигнала. Основой нейронной сети является кибернетический нейрон. Кибернетический нейрон состоит из 3 логических блоков: входы, функция преобразования и выход. На каждую комбинацию конкретных значений входов функция преобразования нейрона вырабатывает определённый сигнал (выход) (обычно скаляр), и передает его на входы другим нейронам сети. Подавая на входы некоторым нейронам сигналы извне, и отметив выходы части нейронов, как выходы сети в целом, мы получим систему, осуществляющую отображение.
Нейронные сети различаются функцией преобразования в нейронах, внутренней архитектурой связей между нейронами и методами настройки (обучения).
Основным плюсом нейросетей является возможность решения широкого класса задач алгоритмически не разрешимых или задач с нечёткими условиями. Доступность и возросшие вычислительные возможности современных компьютеров привели к широкому распространению программ, использующих принципы нейросетевой обработки данных, но исполняемых на последовательных компьютерах.
Наиболее интересные нейросетевые архитектуры и их приложения
Модель Хопфильда с ассоциативной памятью.
Многослойный персептрон, решающий обширный класс задач распознавания образов.
•Самоорганизующиеся карты Кохенена, обладающие возможностью самостоятельно выявлять закономерности в данных а разбивать входные данные на кластеры.
•Рекурсивные сети Элмана, способные обрабатывать последовательности векторов.
•Вероятностные сети, аппроксимирующие Байесовские классификаторы с любой степенью точности.
Общие принципы, характерные для нейросетей
Согласно общепринятым представлениям наиболее общими принципами, характерными для современных нейросетей являются: коннекционизм, нелинейность активационной функции, локальность и параллелизм вычислений, обучение вместо программирования, оптимальность обучающих алгоритмов.
Коннекционизм – это особое течение в философской науке, предметом которого являются вопросы познания. В рамках этого течения предпринимаются попытки объяснить интеллектуальные способности человека, используя искусственные нейронные сети. Составленные из большого числа структурных единиц, аналогичных нейронам, с заданным для каждого элемента весом, определяющим силу связи с другими элементами, нейронные сети представляют собой упрощённые модели человеческого мозга. Такая весовая модель обладает эффектом синапсов, соединяющих каждый нейрон с остальными. Эксперименты с нейронными сетями подобного рода продемонстрировали их способность к обучению выполнения таких задач, как распознавание образов, чтение и определение простых грамматических структур. Философы начали проявлять интерес к коннекционизму, так как коннекционистский подход обещал обеспечить альтернативу классической теории разума и широко распространённой в рамках этой теории идеи, согласно которой механизмы работы разума имеют сходство с обработкой символического языка цифровым компьютером. То, как именно и в какой степени парадигма коннекционизма составляет альтернативу классическим представлениям о природе разума, является предметом жарких споров, ведущихся в последние годы.
Принцип коннекционизма означает, что каждый нейрон нейросети, как правило, связан со всеми нейронами предыдущего слоя обработки данных. Заметим, что наиболее последовательно этот принцип реализован в архитектуре многослойного персептрона.
Рисунок 2. Выделение областей сложной формы.
Отличительной чертой нейросетей является глобальность связей. Базовые элементы искусственных нейросетей - формальные нейроны - изначально нацелены на работу с широкополосной информацией. Каждый нейрон нейросети, как правило, связан со всеми нейронами предыдущего слоя обработки данных (см. Рисунок 1, иллюстрирующий наиболее широко распространенную в современных приложениях архитектуру многослойного персептрона). В этом основное отличие формальных нейронов от базовых элементов последовательных ЭВМ - логических вентилей, имеющих лишь два входа. В итоге, универсальные процессоры имеют сложную архитектуру, основанную на иерархии модулей, каждый из которых выполняет строго определенную функцию. Напротив, архитектура нейросетей проста и универсальна. Специализация связей возникает на этапе их обучения под влиянием конкретных данных.
Рисунок 3. Глобальность связей в искуственных нейросетях
Типичный формальный нейрон производит простейшую операцию - взвешивает значения своих входов со своими же локально хранимыми весами и производит над их суммой нелинейное преобразование:
Рисунок 4. Нейрон производит нелинейную операцию над линейной комбинацией входов
Нелинейность выходной функции активации принципиальна. Чтобы отразить суть биологических нейронных систем, определение искусственного нейрона дается следующим образом:
Он получает входные сигналы (исходные данные либо выходные сигналы других нейронов нейронной сети) через несколько входных каналов. Каждый входной сигнал проходит через соединение, имеющее определенную интенсивность (или вес); этот вес соответствует синаптической активности биологического нейрона. С каждым нейроном связано определенное пороговое значение. Вычисляется взвешенная сумма входов, из нее вычитается пороговое значение и в результате получается величина активации нейрона (она также называется пост-синаптическим потенциалом нейрона - PSP).
Сигнал активации преобразуется с помощью функции активации (или передаточной функции) и в результате получается выходной сигнал нейрона.
Нелинейность разрушает линейную суперпозицию и приводит к значительному расширению возможностей нейросетей.
Локальность и параллелизм вычислений
Массовый параллелизм нейро - вычислений, необходимый для эффективной обработки образов, обеспечивается локальностью обработки информации в нейросетях. Каждый нейрон реагирует лишь на локальную информацию, поступающую к нему в данный момент от связанных с ним таких же нейронов, без апелляции к общему плану вычислений, обычной для универсальных ЭВМ. Таким образом, нейросетевые алгоритмы локальны, и нейроны способны функционировать параллельно.
Программирование: обучение, основанное на данных
Искусственная нейросеть, как и естественная биологическая, может обучаться решению задач: она содержит внутренние адаптивные параметры нейронов и своей структуры, и меняя их, может менять свое поведение. Место программирования занимает обучение, тренировка нейронной сети: для решения задачи не нужно программировать алгоритм - нужно взять универсальный нейросетевой инструмент, создать и обучить нейросеть. Нейронная сеть обучается решению задачи на некотором "учебнике" − наборе ситуаций, каждая из которых описывает значения входных сигналов нейросети и требуемый для этих входных сигналах ответ. "Учебник" задает набор эталонных ситуаций с известными решениями, а нейронная сеть при обучении сама находит зависимости между входными сигналами и ответами. Обученная нейросеть может обобщать (интерполировать и экстраполировать) полученный навык решения и выдавать прогноз для новых значений входных сигналов, ранее не включенных в "учебник". Нейронная сеть способна обучаться решению задач, для которых у человека не существует формализованных, быстрых или работающих с приемлемой точностью алгоритмов решения. Структура нейросети может быть адаптирована к задаче: в нейросеть могут быть включены дополнительные нейроны, если исходная нейросеть не способна обеспечить решение задачи с нужной точностью. Из нейросети могут быть исключены лишние нейроны и связи между ними, если исходная нейросеть избыточна для решения задачи. Нейросеть может сама выделить наиболее информативные для задачи входные сигналы, отбросить неинформативные, шумовые сигналы и в итоге повысить надежность решения. При этом нейронная сеть не делает предварительного полного забывания ранее сформированных навыков, ускоряя таким образом свое дообучение после коррекции размеров.
Отсутствие глобального плана вычислений в нейросетях предполагает и особый характер их программирования. Оно также носит локальный характер: каждый нейрон изменяет свои “подгоночные параметры” - синаптические веса - в соответствии с поступающей к нему локальной информацией об эффективности работы всей сети как целого. Режим распространения такой информации по сети и соответствующей ей адаптации нейронов носит характер обучения. Такой способ программирования позволяет эффективно учесть специфику требуемого от сети способа обработки данных, ибо алгоритм не задается заранее, а порождается самими данными - примерами, на которых сеть обучается. Именно таким образом в процессе самообучения биологические нейросети выработали столь эффективные алгоритмы обработки сенсорной информации. Характерной особенностью нейросетей является их способность к обобщению, позволяющая обучать сеть на ничтожной доле всех возможных ситуаций, с которыми ей, может быть, придется столкнуться в процессе функционирования. В этом их разительное отличие от обычных ЭВМ, программа которых должна заранее предусматривать их поведение во всех возможных ситуациях. Эта же их способность позволяет кардинально удешевить процесс разработки приложений.
Универсальность обучающих алгоритмов
Привлекательной чертой нейрокомпьютинга является единый принцип обучения нейросетей - минимизация эмпирической ошибки. Функция ошибки, оценивающая данную конфигурацию сети, задается извне - в зависимости от того, какую цель преследует обучение. Но далее сеть начинает постепенно модифицировать свою конфигурацию - состояние всех своих синаптических весов - таким образом, чтобы минимизировать эту ошибку. В итоге, в процессе обучения сеть все лучше справляется с возложенной на нее задачей.
Не вдаваясь в математические тонкости, образно этот процесс можно представить себе как поиск минимума функции ошибки E(w), зависящей от набора всех синаптических весов сети w (см. Рисунок 3).
Рисунок 5. Обучение сети как задача оптимизации
Базовой идеей всех алгоритмов обучения является учет локального градиента в пространстве конфигураций для выбора траектории быстрейшего спуска по функции ошибки. Функция ошибки, однако, может иметь множество локальных минимумов, представляющих суб-оптимальные решения.
Сферы применения нейросетей
1. Экономика и бизнес: предсказание рынков, автоматический дилинг, оценка риска невозврата кредитов, предсказание банкротств, оценка стоимости недвижимости, выявление пере- и недооцененных компаний, автоматическое рейтингование, оптимизация портфелей, оптимизация товарных и денежных потоков, автоматическое считывание чеков и форм, безопасность транзакций по пластиковым карточкам.
2. Медицина: обработка медицинских изображений, мониторинг состояния пациентов, диагностика, факторный анализ эффективности лечения, очистка показаний приборов от шумов.
3. Авионика: обучаемые автопилоты, распознавание сигналов радаров, адаптивное пилотирование сильно поврежденного самолета.
4. Связь: сжатие видео-информации, быстрое кодирование-декодирование, оптимизация сотовых сетей и схем маршрутизации пакетов.
5. Интернет: ассоциативный поиск информации, электронные секретари и агенты пользователя в сети, фильтрация информации в push-системах, коллаборативная фильтрация, рубрикация новостных лент, адресная реклама, адресный маркетинг для электронной торговли.
6. Автоматизация производства: оптимизация режимов производственного процесса, комплексная диагностика качества продукции (ультразвук, оптика, гамма-излучение, …), мониторинг и визуализация многомерной диспетчерской информации, предупреждение аварийных ситуаций, робототехника.
7. Политические технологии: анализ и обобщение социологических опросов, предсказание динамики рейтингов, выявление значимых факторов, объективная кластеризация электората, визуализация социальной динамики населения.
8. Безопасность и охранные системы: системы идентификации личности, распознавание голоса, лиц в толпе, распознавание автомобильных номеров, анализ аэро-космических снимков, мониторинг информационных потоков, обнаружение подделок.
9. Ввод и обработка информации: Обработка рукописных чеков, распознавание подписей, отпечатков пальцев и голоса. Ввод в компьютер финансовых и налоговых документов.
10. Геологоразведка: анализ сейсмических данных, ассоциативные методики поиска полезных ископаемых, оценка ресурсов месторождений.
Существует несколько широко распространенных коммерческих универсальных нейросетевых программных пакетов (Statistica Neural Networks, NeuroShell, Matlab Neural Network Toolbox, NeuroSolutions, BrainMaker). Специализированных, некоммерческих или разработанных учеными-исследователями для собственных нужд нейропрограмм гораздо больше.
Нейросети широко используются в настоящее время: нейросети - это не что иное, как новый инструмент анализа данных. И лучше других им может воспользоваться именно специалист в своей предметной области. Основные трудности на пути еще более широкого распространения нейротехнологий - в неумении широкого круга профессионалов формулировать свои проблемы в терминах, допускающих простое нейросетевое решение.
Вывод
Возможности нейронных сетей
Основными интересными на практике возможностями нейронных сетей являются такие:
- Существование быстрых алгоритмов обучения: нейронная сеть даже при сотнях входных сигналов и десятках-сотнях тысяч эталонных ситуаций может быть быстро обучена на обычном компьютере. Поэтому нейронные сети имеют широкий круг применимости и позволяют решать сложные задачи прогноза, классификации или диагностики.
- Возможность работы при наличии большого числа неинформативных, шумовых входных сигналов − предварительного их отсева делать не нужно, нейронная сеть сама определит их малопригодность для решения задачи и может их явно отбросить.
- Возможность работы со скоррелированными независимыми переменными, с разнотипной информацией − непрерывнозначной и дискретнозначной, количественной и качественной, что часто доставляет затруднение методам статистики
- Нейронная сеть одновременно может решать несколько задач на едином наборе входных сигналов − имея несколько выходов, прогнозировать значения нескольких показателей.
- Алгоритмы обучения накладывают достаточно мало требований на структуру нейронной сети и свойства ее нейронов. Поэтому при наличии экспертных знаний или в случае специальных требований можно целенаправленно выбирать вид и свойства нейронов и нейронной сети, собирать структуру нейронной сети вручную, из отдельных элементов, и задавать для каждого из них нужные свойства.
Преимущества нейронных сетей
Круг задач, для решения которых используются нейронные сети, во многом совпадает с задачами, решаемыми традиционными статистическими методами. Поэтому укажем преимущества нейросетей перед несколькими классическими методами статистики.
По сравнению с линейными методами статистики (линейная регрессия, авторегрессия, линейный дискриминант), нейронные сети позволяют эффективно строить нелинейные зависимости, более точно описывающие наборы данных. Из нелинейных методов классической статистики распространен, пожалуй, только байесовский классификатор, строящий квадратичную разделяющую поверхность − нейронная сеть же может построить поверхность более высокого порядка. Высокая нелинейность разделяющей поверхности наивного байесовского классификатора (он не использует ковариационные матрицы классов, как классический байес, а анализирует локальные плотности вероятности) требует значительного суммарного числа примеров для возможности оценивания вероятностей при каждом сочетании интервалов значений переменных − нейронная сеть же обучается на всей выборке данных, не фрагментируя её, что повышает адекватность настройки нейросети.
При построении нелинейных моделей (например, полиномиальных) в статистических программах обычно требуется ручное введение-описание модели в символьном виде с точностью до значений параметров: при N=10 независимых переменных полином второй степени будет содержать N*(N-1)/2=45 коэффициентов при попарных произведениях переменных, 10 при самих переменных, 10 при квадратах значений переменных, т.е. 65 (66 с учетом неоднородного слагаемого) коэффициентов. При двадцати переменных в выражение войдет уже 231 слагаемое. Вводить такие длинные формулы долго, велик риск опечатки. Нейронная сеть же создается путем указания вида структуры, числа слоев и числа нейронов в каждом слое, что гораздо быстрее. А алгоритмы построения растущих нейросетей и вовсе не требуют первоначального задания размера нейронной сети. Альтернативой нейронной сети при построении сложных нелинейных моделей является только метод группового учета аргументов.
Для сжатия и визуализации данных в статистике разработан метод линейных главных компонент. Нейросети-автоассоциаторы позволяют эффективнее сжимать данные за счет построения нелинейных отображений и визуализировать данные в пространстве меньшего числа нелинейных главных компонент.
По сравнению с методами непараметрической статистики, нейронная сеть с радиальными базисными функциями позволяет сокращать число ядер, оптимизировать координаты и размытость каждого ядра. Это позволяет при сохранении парадигмы локальной ядерной аппроксимации ускорять дальнейший процесс принятия решения.
При обучении нейронной сети вместо критерия качества в виде наименьших квадратов можно использовать робастные критерии, дополнительно вести оптимизацию и свойств нейронной сети (например, добавляя критерии регуляризации решения или оптимизации структуры нейронной сети). Алгоритмы обучения нейронной сети при этом остаются неизменными.
Необходимость решения прямой и обратной задач обычно требует построения двух моделей. При использовании же нейронных сетей можно обойтись одной сетью, обученной решать прямую задачу.
Список литературы
Курс лекций по дисциплине «Интеллектуальные системы», лектор Фоминых И.Б.
Методические указания Николаев А. Б., Фоминых И. Б. Нейросетевые методы анализа и обработки данных: Учеб. пособие по курсу " Интеллектуальные системы " / МАДИ ГТУ
Интернет – ресурсы
http://www.neuropower.de/rus/books/index.html
http://www.madi.ru/study/kafedra/asu/metod/nero/1_1.shtml
http://neurolec.chat.ru/