Файл: Нечеткая логика и нейронные сети (Аналогия нейронных сетей с мозгом и биологическим нейроном).pdf
Добавлен: 20.05.2023
Просмотров: 225
Скачиваний: 4
Введение
Нейронные сети представляют собой новую и весьма перспективную вычислительную технологию, дающую новые подходы к исследованию динамических задач. Первоначально нейронные сети открыли новые возможности в области распознавания образов, затем к этому прибавились статистические и основанные на методах искусственного интеллекта средства поддержки принятия решений и решения задач в сфере экономики. Способность к моделированию нелинейных процессов, работе с зашумленными данными и адаптивность дают возможности применять нейронные сети для решения широкого класса задач. Приложения нейронных сетей охватывают самые разнообразные области интересов: распознавание образов, обработка зашумленные данных, дополнение образов, ассоциативный поиск, классификация, оптимизация, прогноз, диагностика, обработка сигналов, абстрагирование, управление процессами, сегментация данных, сжатие информации, сложные отображения, моделирование сложных процессов, машинное зрение, распознавание речи.
Мы рассмотрим история развития нейронных сетей их аналогию с мозгом и биологическим нейроном. Понятие искусственного нейрона и виды искусственных нейронных сетей. Рассмотрим, как происходит обучение нейронных сетей и применение нечеткой логики на практике.
Глава 1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
1.1. История развития нейронных сетей
Нейрон - это вычислительная единица, которая получает информацию, производит над ней простые вычисления и передает ее дальше.
Синапс - это связь между двумя нейронами. У синапсов есть 1 параметр - вес. Благодаря ему, входная информация изменяется, когда передается от одного нейрона к другому. Допустим, есть 3 нейрона, которые передают информацию следующему. Тогда у нас есть 3 веса, соответствующие каждому из этих нейронов. У того нейрона, у которого вес будет больше, та информация и будет доминирующей в следующем нейроне (пример - смешение цветов). На самом деле, совокупность весов нейронной сети или матрица весов - это своеобразный мозг всей системы. Именно благодаря этим весам, входная информация обрабатывается и превращается в результат. Важно помнить, что во время инициализации нейронной сети, веса расставляются в случайном порядке
Нейронная сеть - это последовательность нейронов, соединенных между собой синапсами. Структура нейронной сети пришла в мир программирования прямиком из биологии. Благодаря такой структуре, машина обретает способность анализировать и даже запоминать различную информацию. Нейронные сети также способны не только анализировать входящую информацию, но и воспроизводить ее из своей памяти.
Теория нейронных сетей развивается в течение последнего полувека, но практическое ее применение стало возможно только в последние 10–15 лет, когда была создана необходимая элементная база для реализации нейронных сетей.
В современном развитии нейронных сетей можно выделить несколько этапов.
1 этап - прорыв в области нейроинтеллекта:
1943 г. - выходит статья У. Маккалока и У. Питтса о нервной активности, в которой они формулируют понятие нейронной сети и представляют модель нейронной сети на электрических схемах;
1948 г.- Норберт Винер публикует работу о кибернетике;
1949 г. - Д. Хебб предлагает первый алгоритм обучения;
1958 г. - Джон фон Нейман предложил имитацию простых функций нейронов с использованием вакуумных трубок;
в 1958 г. Ф. Розенблатт изобретает однослойный перцептрон.
2 этап - Период застоя:
1. Сети не могли решать задачи, внешне весьма сходные с теми, которые они успешно решали.
2. Однослойные сети теоретически неспособны решить многие простые задачи, в том числе реализовать функцию «исключающее ИЛИ».
3. В 1969 году исследователь с мировым именем М. Минский публикует формальное доказательство ограниченности перцептрона, а соответственно, и его неспособность решать достаточно широкий круг задач. Все это вместе взятое приводит к снижению интереса многих исследователей к нейронным сетям.
3 этап
Благодаря исследованию таких ученых, как Кохонен, Гроссберг, Андерсон,
сформировался теоретический фундамент, на основе которого стало возможно
конструирование мощных многослойных сетей. Однако проблема заключалась в их обучении.
1974 г. - П. Вербосом разработан алгоритм обратного распространения ошибки для обучения многослойных перцептронов, переоткрытый заново в 1982 г. Д. Паркером и в 1986 году Дэвидом И. Румельхартом, Дж. Е. Хинтоном и Рональдом Дж. Вильямсом и независимо, и одновременно С.И. Барцевым и В.А. Охониным (Красноярская группа). Этот систематический метод для
обучения многослойных сетей преодолевает ограничения, указанные Минским.
Дальнейшие исследования показали, что этот метод не является универсальным, несмотря на многие успешные практические результаты. Проблема заключается в очень долгом процессе обучения, а в некоторых случаях сеть может вообще не обучиться. Последнее возможно по двум причинам: паралич сети и попадание в локальный минимум.
1975 г. - Фукусима представляет Когнитрон - самоорганизующуюся сеть,
предназначенную для инвариантного распознавания образов.
1980 г. - в попытках улучшить когнитрон Фукусимой была разработана мощная
парадигма, названная неокогнитрон.
1982 г. - Дж. Хопфилд разработал нейронную сеть с обратными связями. Хотя сеть имела целый ряд недостатков и не могла быть использована на практике, ученый заложил основы нейронных рекуррентных сетей, после чего об искусственных нейронных сетях стало возможным говорить, как об ассоциативной памяти.
1982 г. - Кохоненом представлены модели сети, обучающейся без учителя на основе самоорганизации.
1987 г. - Роберт Хехт-Нильсон, решая временные ограничения сети обратного
распространения ошибки, разработал сети встречного распространения (СВР). Время в таких сетях обучения по сравнению с обратным распространением может уменьшаться в сто раз. Следующей проблемой искусственных нейронных сетей оказалась проблема стабильности-пластичности, суть, которой в том, что обучение новому образу уничтожает или изменяет результаты предшествующего обучения.
1987 г. - Гроссберг создал адаптивную резонансную теорию (APT) и модели нейронных сетей, построенных на ее основе. Сети и алгоритмы APT сохраняют пластичность, необходимую для изучения новых образов, в то же время, предотвращая изменение ранее запомненных образов.
2000-е годы - проблема попадания в локальный минимум была решена, в частности, применением стохастических методов обучения (Больцмановское обучение. Обучение Коши).
2007 г. - Джеффри Хинтоном в университете Торонто созданы алгоритмы глубокого обучения многослойных нейронных сетей. Успех обусловлен тем, что Хинтон при обучении нижних слоев сети использовал ограниченную машину Больцмана (RBM - Restricted Boltzmann Machine). На сегодня разработано достаточно много других моделей нейронных сетей, имеющих свои особенности. В современном обществе многие проблемы сводятся к проблемам управления слабоструктурированными, а часто и неструктурированными сложными системами.
1.2. Аналогия нейронных сетей с мозгом и биологическим нейроном
Точная работа мозга человека - все еще тайна. Тем не менее, некоторые аспекты этого удивительного процессора известны. Базовым элементом мозга человека являются специфические клетки, известные как нейроны, способные запоминать, думать и применять предыдущий опыт к каждому действию, что отличает их от остальных клеток тела.
Кора головного мозга человека является плоской, образованной из нейронов поверхностью, толщиной от 2 до 3 мм площадью около 2200 см2, что вдвое превышает площадь поверхности стандартной клавиатуры. Кора главного мозга содержит около 1011 нейронов, что приблизительно равно числу звезд Млечного пути. Каждый нейрон связан с 103 - 104 другими нейронами. В целом мозг человека имеет приблизительно от 1014 до 1015 взаимосвязей.
Сила человеческого ума зависит от числа базовых компонент, многообразия соединений между ними, а также от генетического программирования и обучения.
Индивидуальный нейрон является сложным, имеет свои составляющие, подсистемы и механизмы управления и передает информацию через большое количество электрохимических связей. Насчитывают около сотни разных классов нейронов. Вместе нейроны и соединения между ними формируют недвоичный, нестойкий и несинхронный процесс, отличающийся от процесса вычислений традиционных компьютеров. Искусственные нейронные сети моделируют лишь главнейшие элементы сложного мозга, вдохновляющие ученых и разработчиков к новым путям решения проблемы.
Биологический нейрон
Нейрон (нервная клетка) является особой биологической клеткой, которая обрабатывает информацию. Она состоит из тела клетки - сомы (soma), и двух типов внешних древовидных ответвлений: аксона (axon) и дендритов (dendrites). Тело клетки содержит ядро (nucleus), которое содержит информацию о наследственных свойствах нейрона, и плазму, обладающую молекулярными средствами для производства необходимых нейрону материалов. Нейрон получает сигналы (импульсы) от других нейронов через дендриты (приемники) и передает сигналы, сгенерированные телом клетки, вдоль аксона (передатчика), который в конце разветвляется на волокна (strands). На окончаниях волокон находятся синапсы (synapses).
Синапс является элементарной структурой и функциональным узлом между двумя нейронами (волокно аксона одного нейрона и дендрит другого). Когда импульс достигает синаптического окончания, высвобождаются определенные химические вещества, называемые нейротрансмиттерами. Нейротрансмиттеры проходят через синаптичную щель и, в зависимости от типа синапса, возбуждают или тормозят способность нейрона-приемника генерировать электрические импульсы. Результативность синапса настраивается проходящими через него сигналами, поэтому синапсы обучаются в зависимости от активности процессов, в которых они участвуют. Эта зависимость от предыстории действует как память, которая, возможно, отвечает за память человека. Нейроны способны запоминать, думать и применять предыдущий опыт к каждому действию, что отличает их от других клеток тела. Нейроны взаимодействуют с помощью короткой серии импульсов. Сообщение передается с помощью частотно-импульсной модуляции.
Последние экспериментальные исследования доказывают, что биологические нейроны структурно сложнее, чем упрощенное объяснение существующих искусственных нейронов, которые являются элементами современных искусственных нейронных сетей. Поскольку нейрофизиология предоставляет ученым расширенное понимание действия нейронов, а технология вычислений постоянно совершенствуется, разработчики сетей имеют неограниченное пространство для улучшения моделей биологического мозга.
Другими словами, нейронная сеть - это машинная интерпретация мозга человека, в котором находятся миллионы нейронов, передающих информацию в виде электрических импульсов.
1.3. Понятие искусственного нейрона
История создания искусственных нейронов уходит своими корнями в 1943 год, когда шотландец МакКаллок и англичан Питтс создали теорию формальных нейросетей, а через пятнадцать лет Розенблатт изобрёл искусственный нейрон (перцептрон), который впоследствии и лёг в основу нейрокомпьютера.
Несмотря на существенные различия, отдельные типы нейронных сетей обладают несколькими общими чертами.
Основу каждой нейросети составляют относительно простые, в большинстве случаев – однотипные, элементы (ячейки), имитирующие работу нейронов мозга. Каждый нейрон характеризуется своим текущим состоянием по аналогии с нервными клетками головного мозга, которые могут быть возбуждены или заторможены. Он обладает группой синапсов – однонаправленных входных связей, соединенных с выходами других нейронов, а также имеет аксон – выходную связь данного нейрона, с которой сигнал (возбуждения или торможения) поступает на синапсы следующих нейронов. Каждый синапс характеризуется величиной синоптической связи или ее весом wi, который по физическому смыслу эквивалентен электрической проводимости.
Математически нейрон представляет собой взвешенный сумматор, единственный выход которого определяется через его входы и матрицу весов следующим образом:
Здесь
— соответственно сигналы на входах нейрона и веса входов, функция u называется индуцированным локальным полем, а f(u) — передаточной функцией. Возможные значения сигналов на входах нейрона считают заданными в интервале [0,1]. Они могут быть либо дискретными (0 или 1), либо аналоговыми. Дополнительный вход
и соответствующий ему вес
используются для инициализации нейрона. Под инициализацией подразумевается смещение активационной функции нейрона по горизонтальной оси, то есть формирование порога чувствительности нейрона. Кроме того, иногда к выходу нейрона специально добавляют некую случайную величину, называемую сдвигом. Сдвиг можно рассматривать как сигнал на дополнительном, всегда нагруженном, синапсе.