Файл: Задача на определение затрат на свадьбу (История развития нейронных сетей).pdf
Добавлен: 22.05.2023
Просмотров: 319
Скачиваний: 2
Введение
Основной задачей данной курсовой работы является изучение методов разработки систем на основе нечеткой логики и нейронных сетей. Нечеткая логика является практической альтернативой для многочисленных математических методов. Так как она обеспечивает удобный метод для рассуждений в
условиях нечёткости, размытости, и их применение в вычислительных системах. Она применяется в экспертных системах, нейронных сетях и системах искусственного интеллекта.
Вместо традиционных значений в нечеткой логике используется более широкий диапазон значений, среди которых: возможно, иногда, не помню. Нечеткая логика незаменима, когда на поставленный вопрос нет чёткого ответа или неизвестны все возможные ситуации.
В данной курсовой работе применен на практике пакет прикладных программ для решения задач технических вычислений и одноимённый язык программирования, а именно один инструмент из его набора – MATLAB Fuzzy Logic Toolbox.
1.Теоретическая часть
1.1.История развития нейронных сетей
Нейронная сеть — математическая модель, а также её программное или аппаратное воплощение, построенная по принципу организации и функционирования биологических нейронных сетей — сетей нервных клеток живого организма[1]. Первые работы, которые освещали данное направление науки , были проделаны учеными Мак-Каллоком и Питтсом[2]. Выдвинув предположение, что нейроны можно рассматривать, хоть и упрощенно как устройства, оперирующие двоичными числами. Они назвали эту модель «пороговой логикой». Подобно биологическому прототипу нейроны Мак-Каллока–Питтса имели возможность обучаться путём подстройки параметров, характеризующих синоптическую проводимость. Ученые предложили конструкцию сети из электронных нейронов и показали, что данная сеть может выполнять практически любые придуманные числовые или логические операции. Мак-Каллок и Питтс думали, что такая сеть в состоянии также обучаться, распознавать образы, обобщать, или даже обладает всеми чертами интеллекта.
Эта модель нейрона заложила основы двух различных подходов исследований нейронных сетей. Первый подход был ориентирован собственно на изучение биологических процессов в головном мозге человека, второй – на применение нейронных сетей как метода искусственного интеллекта для решения всевозможных задач.
В далеком 1949 году Дональд Хебб высказал идеи о соединении нейронов головного мозга и их взаимодействия. Хебб предположил, что обучение заключается в первую очередь от силы синоптических связей. Теория Хебба[3] считается стандартным случаем самообучения, при котором та или иная система спонтанно обучается выполнять поставленную задачу без вмешательства со стороны экспериментатора. Позднее в вариантах теория Хебба стала основой описания явления долговременной потенцией.
В Массачусетском технологическом институте, в начале 1954 года с использованием компьютеров Фарли и Кларк разработали имитацию сети Хебба. Также исследования нейронных сетей с помощью компьютерного моделирования были проведены Рочестером, Холландом, Хебитом и Дудой в 1956 году[4].
В 1957 году Розенблатт разработал математическую и компьютерную модели восприятия информации мозгом на основе двухслойной обучающейся нейронной сети[5]. Во время обучения данная сеть использовала арифметические действия сложения и вычитания. Он описал также схему не только основного персептрона, но и схему логического сложения. Он в 1958 году предложил модель электронного устройства, которое имитировало бы процессы человеческого мышления. Два года спустя была продемонстрировал первую действующую машину. Она могла научиться распознавать некоторые из букв которые подносили к его «глазам», написанные на карточках, глаза напоминали кинокамеры.
Интерес к исследованию нейронных сетей поубавился. После публикации работ по машинному обучению Минского и Пейперта в 1969 году[6]. Они обнаружили перечень основных вычислительных проблем, которые возникали при компьютерном воплощении искусственных нейронных сетей. Основная проблема состояла в том, что однослойные нейронные сети не имели возможности совершать сложение по модулю 2, реализовать функцию «Исключающее ИЛИ». Не менее важной проблемой было то, что компьютеры не обладали достаточной вычислительной мощностью на данном этапе развития, чтобы эффективно обрабатывать большие объём вычислений, необходимый для крупных нейронных сетей.
Дальнейшее бурное исследование нейронных сетей началось только тогда, когда компьютеры достигли более больших вычислительных мощностей. Важным шагом, стимулировавшим дальнейшие исследования, стала разработка в 1975 году Вербосом[7] метода обратного распространения ошибки. Он позволит наиболее продуктивно решать задачу обучения многослойных сетей и решить проблему со «сложением по модулю 2».
В 1975 году ученый Фукусима[8] разработал когнитрон, который стал одной из первых многослойных нейронных сетей, но далеко не последней. Фактически структура сети и методы, которые используются в когнитроне для настройки относительных весов синоптических связей, переходили от одной стратегии к другой. Стратегии имели свои преимущества и недостатки. Сети могли перебрасывать информацию из одного конца в другой или распространять информацию только в одном направлении, до тех пор пока активировались все узлы и сеть не приходила в нужное состояние. Данная проблема была решена лишь в сети Хопфилда (1982)[9], в первых гибридных сетях была введена специализация этих узлов для конкретных целей.
В середине 1980 годов стал популярен алгоритм параллельной распределённой обработки данных - коннективизма. В 1986 году Руммельхарт и Мак-Клелланд в своей работе, коннективизм, использовали для компьютерное моделирование нейронных процессов.
Но даже большой энтузиазм, который был вызван в научном сообществе, после разработки метода обратного распространения ошибки, это также породило многочисленные споры. Может ли такое обучение быть на самом деле реализовано в головном мозге или нет? Это связывали с механизмом обратного прохождения сигнала. Он не был очевидным в то время, так как не было явного источника обучающего и целевого сигналов. Однако уже в 2006 году было предложено несколько неконтролируемых процедур обучения нейронных сетей[10]. Не важно с одним или несколькими слоями, с использованием, так называемых алгоритмов глубокого обучения. Такие алгоритмы могут быть использованы для изучения промежуточных представлений, как с выходным сигналом, так и без него. Это помогает понять основные особенности распределения сенсорных сигналов, поступающих на каждый слой нейронной сети.
Задачи высокой сложности требуют применения далеко не одного, а нескольких методов решения, а иногда их синтеза. Исключение не стали и искусственные нейронные сети. С самого начала двадцать первого столетия в различных работах исследователей очень активно описываются нейро-нечёткие сети, ячеечно-нейросетевые[11] модели. Современные нейронные сети используются, например, для настройки параметров нечётких систем управления и во многих других случаях. Не возникает абсолютно никаких сомнений и в дальнейшей интеграции методов искусственного интеллекта между собой и с другими методами решения задач.
1.2. Аналогия нейронных сетей с мозгом и биологическим нейроном
Искусственные нейронные сети – это одно из направлений исследований в области искусственного интеллекта, основанное на попытках воспроизвести техническими средствами свойства нервной системы человека.[12] Способность нервной системы обучаться и исправлять ошибки, что должно позволить смоделировать, хотя и достаточно грубо, работу человеческого мозга.
Что бы понять как работает мозг человека, нейробиологи прилагая все усилия достигли значительного прогресса. Усердно изучая структуру и функции нервной системы человека, они многое поняли в мозге. В процессе накопления ими знаний выяснилось, что мозг имеет ошеломляющую сложность. Миллиардов нервных клеток, каждая из которых соединена с сотнями или тысячами других, образуют систему, далеко превосходящую наши самые смелые мечты о суперкомпьютерах. Человечеству еще не скоро удастся не то что превзойти, но и хотя бы повторить творение природы.
Базисный элемент мозга, биологический нейрон – это специальная клетка, которая структурно состоит из ядра, тела клетки и отростков.[13] Ключевой и основной задачей нейрона является передача электрохимического импульса по всей нейронной сети через доступные связи с другими нейронами. Притом, каждая связь характеризуется некоторой величиной, называемой силой синоптической связи, но это далеко не единственная ее характеристика. Эта величина определяет, насколько ослабится электрохимический импульс при передаче его дендриту, т. е. сила синоптической связи определяется электрической проводимостью синапса[14] (величиной, обратной электрическому сопротивлению).
Сигналы которые принял синапс подводятся к телу нейрона. Здесь они суммируются. Тогда когда суммарное возбуждение в теле нейрона превышает некоторый порог , называемый «сон-бодрствование», нейрон возбуждается, посылая по аксону сигнал другим нейронам. Это схема предельно упрощенная показывает взаимодействия естественных нейронов, тем не менее большинство искусственных нейронных сетей моделируют лишь эти простые свойства.
Строго говоря, говоря о «силе» электрохимического импульса в мозгу человека мы имеем в виду некую интегральную характеристику. Данная характеристика зависит не только от создаваемой разности потенциалов, но и от частоты следования импульсов от нейрона к нейрону[15]. Так как нейрон, размышляя о степени возбуждения принимает во внимание не только амплитуду приходящих от других нейронов импульсов, но так же их частоту, то есть в локальном временном масштабе обладает способностью «накапливать» возбуждение.[16] При построении моделей мозга, то есть, искусственных нейронных сетей, эти частотно-временные нюансы как правило игнорируются и считается, что искусственные нейроны взаимодействуют друг с другом путем передачи постоянных потенциалов.
Так же можно добавить, что в реальном мозгу помимо возбуждающих связей между нейронами имеются также и тормозящие. В таких случаях условно считать, что тормозящий синапс обладает инвертирующим свойством. Он меняет полярность входных импульсов, хотя в действительности этот механизм значительно сложнее.
Биологическая нейронная сеть обладает высокой степенью связности: на один нейрон может приходиться тысячи связей с другими нейронами[17]. Но это приблизительное значение и в каждом конкретном случае оно разное. Передача импульсов от одного нейрона к другому порождает определенное возбуждение всей нейронной сети. Величина возбуждения определяет реакцию нейронной сети на какие-то входные сигналы.
Мозг человека обладает возможностью организовывать работу нейронов, дабы они могли выполнять конкретные задачи (такие как распознавание образов, обработку сигналов органов чувств, моторные функции) во много раз быстрее, чем могут позволить самые быстродействующие современные компьютеры. [18] Обычное зрение может служить примером такой задачи обработки информации. В функции зрительной системы входит создание представления окружающего мира в таком виде, который обеспечивает возможность взаимодействия с этим миром. [19] Более точно, мозг последовательно выполняет ряд задач распознавания, такие как распознавание знакомых лиц. На это у него уходит около 100-200 миллисекунд, а вот на компьютере может занять несколько дней, даже если задача будет гораздо более низкой сложности.
Другим примером может служить эхо - локатор летучей мыши. Он представляет из собой систему активной акустической локации[20]. Кроме предоставления информации о расстоянии до нужного объекта этот локатор предоставляет информацию об относительной скорости объекта, о его размерах и размерах его отдельных элементов, а также об азимуте и высоте движения объекта. Для выделения этой информации из получаемого сигнала миниатюрный мозг летучей мыши проводит сложные нейронные вычисления. Эхо-локация летучей мыши по своим характеристикам качества и быстродействия превосходит самые сложные приборы, созданные инженерами, и даже супер компьютеры, чья вычислительная мощность порой кажется бесконечной.
У нейронных сетей много важных свойств, но ключевое из них – это способность к обучению. Обучение нейронной сети[21] в первую очередь заключается в изменении «силы» синоптических связей между нейронами. В классическом опыте Павлова[22], каждый раз непосредственно перед кормлением собаки звонил колокольчик. Собака достаточно быстро научилась ассоциировать звонок колокольчика с приемом пищи. Все это явилось следствием того, что синоптические связи между участками головного мозга, ответственными за слух и слюнные железы, усилились. И в последующем возбуждение нейронной сети звуком колокольчика, стало приводить к более сильному слюноотделению у собаки.