Добавлен: 22.05.2023
Просмотров: 94
Скачиваний: 2
Введение.
Задачей данной курсовой работы является изучения истории развития нейронных сетей. Изучить понятие искусственного нейрона и виды искусственных нейронных сетей. Также рассмотрено обучение нейронных сетей.
В результате выполнения практической части курсовой работы необходимо создать модель нечёткой логики для заданного объекта: затраты на проведение свадьбы на основе трёх входных параметров. Предложить и реализовать в пакете MATLAB нечеткая модель управления затратами на свадьбу.
1. Теоретическая часть
1.1. История развития нейронных сетей
С появлением современной электроники, начались попытки аппаратного воспроизведения процесса мышления. Первый шаг был сделан в 1943 г. с выходом статьи нейрофизиолога Уоррена Маккалоха (Warren McCulloch) и математика Уолтера Питтса (Walter Pitts) про работу искусственных нейронов и представления модели нейронной сети на электрических схемах.
1949 г. – опубликована книга Дональда Хебба (Donald Hebb) «Организация поведения», где исследована проблематика настройки синаптических связей между нейронами.
1950-е гг. – появляются программные модели искусственных нейросетей. Первые работы проведены Натаниелом Рочестером (Nathanial Rochester)
из исследовательской лаборатории IBM. И хотя дальнейшие реализации были успешными, эта модель потерпела неудачу, поскольку бурний рост традиционных вычислений оставил в тени нейронные исследования.
1956 г. – Дартмутский исследовательский институт искусственного интеллекта обеспечил подъем искусственного интеллекта, в частности, нейронных мереж. Стимулирование исследований искусственного интеллекта разделилось
на два направления: промышленные применения систем искусственного интеллекта (экспертные системы) и моделирование мозга.
1958 г. – Джон фон Нейман (John fon Neumann) предложил имитацию простых функций нейронов с использованием вакуумных трубок.
1959 г. – Бернард Видроу (Bernard Widrow) и Марсиан Хофф (Marcian Hoff) разработали модели ADALINE и MADALINE (Множественные Адаптивные Линейные Элементы (Multiple ADAptive LINear Elements)). MADALINE действовала, как адаптивный фильтр, устраняющих эхо на телефонных линиях. Эта нейросеть до сих пор в коммерческом использовании.
Нейробиолог Френк Розенблатт (Frank Rosenblatt) начал работу над перцептроном. Однослойный перцептрон был построен аппаратно и считается классической нейросетью. Тогда перцептрон использовался для классификации входных сигналов в один из двух классов. К сожалению, однослойный перцептрон был ограниченым и подвергся критике в 1969 г., в книге Марвина Мински
(Marvin Minsky) и Сеймура Пейперта (Seymour Papert) «Перцептроны».
Ранние успехи, способствовали преувеличению потенциала нейронных мереж, в частности в свете ограниченной на те времена электроники. Чрезмерное ожидание, процветающее в академическом и техническом мире, заразило общую литературу этого времени. Опасение, что эффект «мыслящей машины» отразится на человеке все время подогревалось писателями, в частности, серия книг Азимова про роботов показала последствия на моральных ценностях человека, в случае возможности интеллектуальных роботов выполнять функции человека.
Эти опасения, объединенные с невыполненными обещаниями, вызвали множество разочарований специалистов, подвергших критике исследования нейронных мереж. Результатом было прекращение финансирования. Период спада продолжался до 80-х годов.
1982 г. – к возрождению интереса привело несколько событий. Джон Хопфилд (John Hopfield) представил статью в национальную Академию Наук США. Подход Хопфилда показал возможности моделирования нейронных сетей на принципе новой архитектуры.
В то же время в Киото (Япония) состоялась Объединенная американо-японская конференция по нейронным сетям, которые объявили достижением пятой генерации. Американские периодические издания подняли эту историю, акцентируя, что США могут остаться позади, что привело к росту финансирования в области нейросетей.
С 1985 г. Американский Институт Физики начал ежегодные встречи – «Нейронные сети для вычислений».
1989 г. – на встрече «Нейронные сети для обороны» Бернард Видров сообщил аудитории о начале четвертой мировой войны, где полем боя являются мировые рынки и производства.
1990 г. – Департамент программ инновационных исследований защиты малого бизнеса назвал 16 основных и 13 дополнительных тем, где возможно использование нейронных мереж.
Сегодня, обсуждение нейронных сетей происходят везде. Перспектива
их использования кажется довольно яркой, в свете решения нетрадиционных проблем и является ключом к целой технологии. На данное время большинство разработок нейронных мереж принципиально работающие, но могут существовать процессорные ограничения. Исследования направлены на программные
и аппаратные реализации нейросетей. Компании работают над созданием трех типов нейрочипов: цифровых, аналоговых и оптических, которые обещают быть волной близкого будущего.
1.2. Аналогия нейронных сетей с мозгом и биологическим нейроном
Точная работа мозга человека - все еще тайна. Тем не менее, некоторые аспекты этого удивительного процессора известны. Базовым элементом мозга человека являются специфические клетки, известные как нейроны, способные запоминать, думать и применять предыдущий опыт к каждому действию,
что отличает их от остальных клеток тела.
Кора головного мозга человека является плоской, образованной из нейронов поверхностью, толщиной от 2 до 3 мм площадью около 2200 см2, что вдвое превышает площадь поверхности стандартной клавиатуры. Кора главного мозга содержит около 1011 нейронов, что приблизительно равно числу звезд Млечного пути. Каждый нейрон связан с 103 – 104 другими нейронами. В целом мозг человека имеет приблизительно от 1014 до 1015 взаимосвязей.
Сила человеческого ума зависит от числа базовых компонент, многообразия соединений между ними, а также от генетического программирования и обучения.
Индивидуальный нейрон является сложным, имеет свои составляющие, подсистемы и механизмы управления и передает информацию через большое количество электрохимических связей. Насчитывают около сотни разных классов нейронов. Вместе нейроны и соединения между ними формируют недвоичный, нестойкий и несинхронный процесс, отличающийся от процесса вычислений традиционных компьютеров. Искусственные нейросети моделируют лишь главнейшие элементы сложного мозга, вдохновляющие ученых и разработчиков
к новым путям решения проблемы.
Рис.1.1 – Биологический нейрон
Нейрон (нервная клетка) является особой биологической клеткой, которая обрабатывает информацию. Она состоит из тела клетки – сомы (soma), и двух типов внешних древовидных ответвлений: аксона (axon) и дендритов (dendrites). Тело клетки содержит ядро (nucleus), которое содержит информацию о наследственных свойствах нейрона, и плазму, обладающую молекулярными средствами
для производства необходимых нейрону материалов. Нейрон получает сигналы (импульсы) от других нейронов через дендриты (приемники) и передает сигналы, сгенерированные телом клетки, вдоль аксона (передатчика), который в конце разветвляется на волокна (strands). На окончаниях волокон находятся синапсы (synapses).
Синапс является элементарной структурой и функциональным узлом между двумя нейронами (волокно аксона одного нейрона и дендрит другого). Когда импульс достигает синаптического окончания, высвобождаются определенные химические вещества, называемые нейротрансмиттерами. Нейротрансмиттеры проходят через синаптичную щель и, в зависимости от типа синапса, возбуждают или тормозят способность нейрона-приемника генерировать электрические импульсы. Результативность синапса настраивается проходящими через него сигналами, поэтому синапсы обучаются в зависимости от активности процессов,
в которых они участвуют. Эта зависимость от предыстории действует как память, которая, возможно, отвечает за память человека. Нейроны способны запоминать, думать и применять предыдущий опыт к каждому действию, что отличает их
от других клеток тела. Нейроны взаимодействуют с помощью короткой серии импульсов. Сообщение передается с помощью частотно-импульсной модуляции.
Последние экспериментальные исследования доказывают, что биологические нейроны структурно сложнее, чем упрощенное объяснение существующих искусственных нейронов, которые являются элементами современных искусственных нейронных сетей. Поскольку нейрофизиология предоставляет ученым расширенное понимание действия нейронов, а технология вычислений постоянно совершенствуется, разработчики сетей имеют неограниченное пространство для улучшения моделей биологического мозга.
1.3. Понятие искусственного нейрона
Искусственный нейрон имитирует в первом приближении свойства биологического нейрона. На вход искусственного нейрона поступает некоторое множество сигналов, каждый из которых является выходом другого нейрона. Каждый вход умножается на соответствующий вес, аналогичный синаптической силе, и все произведения суммируются, определяя уровень активации нейрона.
На рис. 1.2 представлена модель, реализующая эту идею.
Рис. 1.2 – Искусственный нейрон
Хотя сетевые парадигмы весьма разнообразны, в основе почти всех их лежит эта конфигурация. Здесь множество входных сигналов, обозначенных x1, x2,…, xn, поступает на искусственный нейрон. Эти входные сигналы, в совокупности обозначаемые вектором X, соответствуют сигналам, приходящим в синапсы биологического нейрона. Каждый сигнал умножается на соответствующий вес w1, w2,…, wn, и поступает на суммирующий блок. Каждый вес соответствует «силе» одной биологической синаптической связи.
Текущее состояние нейрона определяется, как взвешенная сумма его входов:
Выход нейрона есть функция его состояния: .
Нелинейная функция называется активационной и может иметь различный вид, как показано на рисунке 1.3.
Рис. 1.3 – Функции состояния: а) – функция единичного скачка; б) – линейный порог (гистерезис); в) – гиперболический тангенс; г) – сигмоид
Одной из наиболее распространенных является нелинейная функция
с насыщением, так называемая логистическая функция или сигмоид
(т.е. функция S-образного вида):
1.4. Виды искусственных нейронных сетей
Для создания искусственных нейронных сетей используют несколько стандартных архитектур, из которых путем вырезания лишнего или (реже) добавления строят большинство используемых сетей.
Можно выделить две базовых архитектуры – слоистые и полносвязные сети.
Слоистые сети: нейроны расположены в несколько слоев. Нейроны первого слоя получают входные сигналы, преобразуют их и через точки ветвления передают нейронам второго слоя. Далее срабатывает второй слой и т.д. до k-го слоя, который выдает выходные сигналы для интерпретатора и пользователя. Если не оговорено противное, то каждый выходной сигнал i-го слоя подается на вход всех нейронов i+1-го. Число нейронов в каждом слое может быть любым и никак заранее
не связано с количеством нейронов в других слоях. Стандартный способ подачи входных сигналов: все нейроны первого слоя получают каждый входной сигнал. Особое распространение получили трехслойные сети, в которых каждый слой имеет свое наименование: первый – входной, второй – скрытый, третий – выходной.
На рис. 1.4 приведен пример архитектуры нейросетевой модели – 4-х слойный персептрон.
Рис. 1.4 – Архитектура нейросетевой модели – многослойный персептрон
Полносвязные сети: каждый нейрон передает свой выходной сигнал остальным нейронам, включая самого себя. Выходными сигналами сети могут быть все или некоторые выходные сигналы нейронов после нескольких тактов функционирования сети. Все входные сигналы подаются всем нейронам.
1.5. Обучение нейронных сетей
На этапе обучения происходит вычисление синаптических коэффициентов
в процессе решения нейронной сетью задач (классификации, предсказания временных рядов и др.), в которых нужный ответ определяется не по правилам,
а с помощью примеров, сгруппированных в обучающие множества. Такое множество состоит из ряда примеров с указанным для каждого из них значением выходного параметра, которое было бы желательно получить. Действия, которые при этом происходят, можно назвать контролируемым, обучением: «учитель» подает на вход сети вектор исходных данных, а на выходной узел сообщает желаемое значение результата вычислений. Контролируемое обучение нейронной сети можно рассматривать как решение оптимизационной задачи. Ее целью является минимизация функции ошибок, или невязки, Е на данном множестве примеров путем выбора значений весов .
Целью процедуры минимизации является отыскание глобального минимума – достижение его называется сходимостью процесса обучения. Поскольку невязка зависит от весов нелинейно, получить решение в аналитической форме невозможно, и поиск глобального минимума осуществляется посредством итерационного процесса – так называемого обучающего алгоритма, который исследует поверхность невязки и стремится обнаружить на ней точку глобального минимума. Иногда такой алгоритм сравнивают с кенгуру, который хочет попасть на вершину Эвереста, прыгая случайным образом в разные стороны. Разработано уже более сотни разных обучающих алгоритмов, отличающихся друг от друга стратегией оптимизации
и критерием ошибок.