Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Нечеткая логика и нейронные сети(История развития нейронных сетей)

Содержание:

Введение

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

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

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

Глава 1. История развития нейронных сетей.

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

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

Первые эксперименты с ИНС (искусственные нейронные сети) датируются 40-ми годами прошлого столетия. В тот временной период люди пытались изучить головной мозг человека, а также попробовать смоделировать его. И в 1943 году Уолтер Питтс и Уоррен Мак-Каллок сумели создать полноценную нейросеть, которая оказалась работоспособной. Нейролингвист и нейропсихолог смогли сотворить в ту пору лишь примитивную ИНС с двоичными числами. Но даже такое ограниченное оперирование считалось невероятно перспективным, ведь сеть могла самостоятельно обучаться. А первый в мире нейрокомпьютер был сконструирован в 1960 году Фрэнком Розенблаттом. Персептрон «Марк-1» распознавал буквы на картах благодаря встроенным фотоэлементам.

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

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

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

Необходимо понимать, что искусственная нейронная сеть «копирует» человеческий мозг. Но даже самая продвинутая ИНС еще не может тягаться в плане производительности с головным мозгом. Так, данный орган человека насчитывает около 85-87 миллиардов нейронов, которые взаимодействуют при помощи электрической связи. Это очень сложная система, повторить которую на данный момент времени просто невозможно. Поэтому мы имеем хоть и продвинутые ИНС, но все еще далекие от реального мозга.

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

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

Глава 2. Аналогия с мозгом и биологическим нейроном.

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

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

Кора головного мозга человека является плоской, образованной из нейронов поверхностью, толщиной от 2 до 3 мм площадью около 2200 см2, что вдвое превышает площадь поверхности стандартной клавиатуры. Кора главного мозга содержит около 1011 нейронов, что приблизительно равно числу звезд Млечного пути. Каждый нейрон связан с 103 - 104 другими нейронами. В целом мозг человека имеет приблизительно от 1014 до 1015взаимосвязей.

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

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

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

Нейрон является основным строительным блоком нервной системы. Он. является клеткой, подобной всем другим клеткам тела; однако определенные существенные отличия позволяют ему выполнять все вычислительные функции и функции связи внутри мозга.

Как показано на Рис.1, нейрон состоит из трех частей: тела клетки, дендритов и аксона, каждая часть со своими, но взаимосвязанными функциями.

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

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

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

Рис. 2 Типы нейронов

Были идентифицированы сотни типов нейронов, каждый со своей характерной формой тела клетки (рис. 2), имеющей обычно от 5 до 100 мкм в диаметре. В настоящее время этот факт рассматривается как проявление случайности, однако могут быть найдены различные морфологические конфигурации, отражающие важную функциональную специализацию. Определение функций различных типов клеток является в настоящее время предметом интенсивных исследований и основой понимания обрабатывающих механизмов мозга.

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

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

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

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

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

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

Глава 3. Понятие искусственного нейрона.

История создания искусственных нейронов уходит своими корнями в 1943 год, когда шотландец МакКаллок и англичан Питтс создалитеорию формальных нейросетей, а через пятнадцать лет Розенблатт изобрёл искусственный нейрон (перцептрон), который впоследствии и лёг в основу нейрокомпьютера. Несмотря на существенные различия, отдельные типы нейронных сетей обладают несколькими общими чертами.

Во-первых, основу каждой нейросети составляют относительно простые, в большинстве случаев – однотипные, элементы (ячейки), имитирующие работу нейронов мозга. Далее под нейроном будет подразумеваться искусственный нейрон, то есть ячейка нейросети. Каждый нейрон характеризуется своим текущим состоянием по аналогии с нервными клетками головного мозга, которые могут быть возбуждены или заторможены. Он обладает группой синапсов – однонаправленных входных связей, соединенных с выходами других нейронов, а также имеет аксон – выходную связь данного нейрона, с которой сигнал (возбуждения или торможения) поступает на синапсы следующих нейронов. Общий вид нейрона приведен на рисунке 1. Каждый синапс характеризуется величиной синаптической связи или ее весом wi, который по физическому смыслу эквивалентен электрической проводимости. 

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

Текущее состояние нейрона определяется, как взвешенная сумма его входов: Выход нейрона есть функция его состояния: y = f(s) Нелинейная функция f называется активационной и может иметь различный вид. Одной из наиболее распространённых является нелинейная функция с насыщением, так называемая логистическая функция или сигмоид (т.е. функция S-образного вида): При уменьшении сигмоид становится более пологим, в пределе при =0 вырождаясь в горизонтальную линию на уровне 0.5, при увеличении сигмоид приближается по внешнему виду к функции единичного скачка с порогом T в точке x=0. Из выражения для сигмоида очевидно, что выходное значение нейрона лежит в диапазоне [0,1]. Одно из ценных свойств сигмоидной функции – простое выражение для ее производной, применение которого будет рассмотрено в дальнейшем. Следует отметить, что сигмоидная функция дифференцируема на всей оси абсцисс, что используется в некоторых алгоритмах обучения. Кроме того, она обладает свойством усиливать слабые сигналы лучше, чем большие, и предотвращает насыщение от больших сигналов, так как они соответствуют областям аргументов, где сигмоид имеет пологий наклон. Возвращаясь к общим чертам, присущим всем нейронным сетям, отметим, во-вторых, принцип параллельной обработки сигналов, который достигается путем объединения большого числа нейронов в так называемые слои и соединения определенным образом нейронов различных слоев, а также, в некоторых конфигурациях, и нейронов одного слоя между собой, причем обработка взаимодействия всех нейронов ведется послойно.

В качестве примера простейшей нейросети рассмотрим трехнейронный перцептрон, то есть такую сеть, нейроны которой имеют активационную функцию в виде единичного скачка*. На n входов поступают некие сигналы, проходящие по синапсам на 3 нейрона, образующие единственный слой этой нейросети и выдающие три выходных сигнала: , j=1...3 Очевидно, что все весовые коэффициенты синапсов одного слоя нейронов можно свести в матрицу W, в которой каждый элемент wij задает величину i-ой синаптической связи j-ого нейрона. Таким образом, процесс, происходящий в НС, может быть записан в матричной форме: Y=F(XW) где X и Y – соответственно входной и выходной сигнальные векторы, F(V) – активационная функция, применяемая поэлементно к компонентам вектора V. Теоретически число слоев и число нейронов в каждом слое может быть произвольным, однако фактически оно ограничено ресурсами компьютера или специализированной микросхемы, на которых обычно реализуется нейросеть. Чем сложнее нейронная сеть, тем масштабнее задачи, подвластные ей. Выбор структуры нейросети осуществляется в соответствии с особенностями и сложностью задачи. Для решения некоторых отдельных типов задач уже существуют оптимальные, на сегодняшний день, конфигурации. Если же задача не может быть сведена ни к одному из известных типов, разработчику приходится решать сложную проблему синтеза новой конфигурации. При этом он руководствуется несколькими основополагающими принципами: возможности сети возрастают с увеличением числа ячеек и плотности связей между ними и числом выделенных слоев; введение обратных связей наряду с увеличением возможностей сети поднимает вопрос о ее динамической устойчивости; сложность алгоритмов функционирования сети (в том числе, например, введение нескольких типов синапсов – возбуждающих, тормозящих и др.) также способствует усилению мощи нейросети. Вопрос о необходимых и достаточных свойствах сети для решения того или иного рода задач представляет собой целое направление нейрокомпьютерной науки. Так как проблема синтеза нейронной сети сильно зависит от решаемой задачи, дать общие подробные рекомендации затруднительно. В большинстве случаев оптимальный вариант получается на основе интуитивного подбора. Очевидно, что процесс функционирования нейросети, то есть сущность действий, которые она способна выполнять, зависит от величин синаптических связей, поэтому, задавшись определенной структурой, отвечающей какой-либо задаче, разработчик сети должен найти оптимальные значения всех переменных весовых коэффициентов (некоторые синаптические связи могут быть постоянными). Этот этап называется обучением нейросети, и от того, насколько качественно он будет выполнен, зависит способность сети решать поставленные перед ней проблемы во время эксплуатации. На этапе обучения кроме параметра качества подбора весов важную роль играет время обучения. Как правило, эти два параметра связаны обратной зависимостью и их приходится выбирать на основе компромисса.

Глава 5. Виды искусственных нейронных сетей.

Как правило, в большинстве нейронных сетей есть так называемый входной слой, который выполняет только одну задачу – распределение входных сигналов остальным нейронам. Нейроны этого слоя не производят никаких вычислений.

А дальше начинаются различия…

5.1 Однослойные нейронные сети

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

Выглядит однослойная нейронная сеть следующим образом:

Рис. 4 Однослойная нейронная сеть

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

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

Однослойная нейронная сеть (Single-layer neural network) — сеть, в которой сигналы от входного слоя сразу подаются на выходной слой, который и преобразует сигнал и сразу же выдает ответ.

5.2 Многослойные нейронные сети

Такие сети, помимо входного и выходного слоев нейронов, характеризуются еще и скрытым слоем (слоями). Понять их расположение просто – эти слои находятся между входным и выходным слоями.

Рис. 5 Многослойная нейронная сеть

Такая структура нейронных сетей копирует многослойную структуру определенных отделов мозга.

Рис. 6

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

Многослойные нейронные сети обладают гораздо большими возможностями, чем однослойные.

Работу скрытых слоев нейронов можно сравнить с работой большого завода. Продукт (выходной сигнал) на заводе собирается по стадиям. После каждого станка получается какой-то промежуточный результат. Скрытые слои тоже преобразуют входные сигналы в некоторые промежуточные результаты.

Многослойная нейронная сеть (Multilayer neural network) — нейронная сеть, состоящая из входного, выходного и расположенного(ых) между ними одного (нескольких) скрытых слоев нейронов.

5.3 Сети прямого распространения

Можно заметить одну очень интересную деталь на картинках нейросетей в примерах выше.

Во всех примерах стрелки строго идут слева направо, то есть сигнал в таких сетях идет строго от входного слоя к выходному.

Сети прямого распространения (Feedforward neural network) (feedforward сети) — искусственные нейронные сети, в которых сигнал распространяется строго от входного слоя к выходному. В обратном направлении сигнал не распространяется.

Такие сети широко используются и вполне успешно решают определенный класс задач: прогнозирование, кластеризация и распознавание.

Однако никто не запрещает сигналу идти и в обратную сторону.

5.4 Сети с обратными связями

В сетях такого типа сигнал может идти и в обратную сторону. В чем преимущество?

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

А в сетях с обратными связями выходы нейронов могут возвращаться на входы. Это означает, что выход какого-нибудь нейрона определяется не только его весами и входным сигналом, но еще и предыдущими выходами (так как они снова вернулись на входы).

Рис. 6 Сети с обратными связями

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

Сети с обратными связями (Recurrent neural network) — искусственные нейронные сети, в которых выход нейрона может вновь подаваться на его вход. В более общем случае это означает возможность распространения сигнала от выходов к входам.

Глава 5. Обучение нейронных сетей

Искусственная нейронная сеть – это совокупность искусственных нейронов. Теперь давайте возьмем, например, 100 нейронов и соединим их друг с другом. Ясно, что при подаче сигнала на вход, мы получим что-то бессмысленное на выходе.

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

Что мы можем менять в нейронной сети?

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

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

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

Остается только один вариант – менять веса связей.

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

Такой подход к термину «обучение нейронной сети» соответствует и биологическим нейросетям. Наш мозг состоит из огромного количества связанных друг с другом нейросетей. Каждая из них в отдельности состоит из нейронов одного типа (функция активации одинаковая). Мы обучаемся благодаря изменению синапсов – элементов, которые усиливают/ослабляют входной сигнал.

Однако есть еще один важный момент. Если обучать сеть, используя только один входной сигнал, то сеть просто «запомнит правильный ответ». Со стороны будет казаться, что она очень быстро «обучилась». И как только вы подадите немного измененный сигнал, ожидая увидеть правильный ответ, то сеть выдаст бессмыслицу.

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

Именно с этой целью и создаются обучающие выборки.

Обучающая выборка (Training set) — конечный набор входных сигналов (иногда вместе с правильными выходными сигналами), по которым происходит обучение сети.

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

Однако прежде чем пускать свежеиспеченную нейросеть в бой, часто производят оценку качества ее работы на так называемой тестовой выборке.

Тестовая выборка (Testing set) — конечный набор входных сигналов (иногда вместе с правильными выходными сигналами), по которым происходит оценка качества работы сети.

Мы поняли, что такое «обучение сети» – подбор правильного набора весов. Теперь возникает вопрос – а как можно обучать сеть? В самом общем случае есть два подхода, приводящие к разным результатам: обучение с учителем и обучение без учителя.

5.1 Обучение с учителем

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

Важный момент. Не путайте правильные ответы и известный алгоритм решения! Вы можете обвести пальцем лицо на фото (правильный ответ), но не сможете сказать, как это сделали (известный алгоритм). Тут такая же ситуация.

Затем, с помощью специальных алгоритмов, вы меняете веса связей нейронной сети и снова даете ей входной сигнал. Сравниваете ее ответ с правильным и повторяете этот процесс до тех пор, пока сеть не начнет отвечать с приемлемой точностью (как я говорил в 1 главе, однозначно точных ответов сеть давать не может).

Обучение с учителем (Supervised learning) — вид обучения сети, при котором ее веса меняются так, чтобы ответы сети минимально отличались от уже готовых правильных ответов.

Где взять правильные ответы?

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

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

И так далее…

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

5.2 Обучение без учителя

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

Что же происходит при таком обучении сети? Оказывается, что при таком «обучении» сеть начинает выделять классы подаваемых на вход сигналов. Короче говоря – сеть начинает кластеризацию.

Например, вы демонстрируете сети конфеты, пирожные и торты. Вы никак не регулируете работу сети. Вы просто подаете на ее входы данные о данном объекте. Со временем сеть начнет выдавать сигналы трех разных типов, которые и отвечают за объекты на входе.

Обучение без учителя (Unsupervised learning) — вид обучения сети, при котором сеть самостоятельно классифицирует входные сигналы. Правильные (эталонные) выходные сигналы не демонстрируются.

Часть II.

Глава 6. Применение нечеткой логики на практике

Задача на расход топлива автомобиля

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

Построим задачу нечеткой логики чтобы определить расход топлива автомобиля в разных температурных условиях и разной скоростью. В задаче буду основываться на скорость автомобиля и температуру окружающего воздуха. Оценивать буду скорость [1 100] (где 1 – низкая, а 100 – высокая), температуру [0 30] (где 0 –низкая, а 30 – высокая). Средний расход автомобиля 12 л.

Для решения задачи выделю три основные правила:

  • Если скорость движения низкая, температура воздуха низкая, то расход топлива маленький;
  • Если скорость движения средняя, температура воздуха низкая, то расход топлива средний;
  • Если скорость высокая, температура воздуха высокая, то расход большой.

Для решения этой задачи сформулирую задачу нечеткого вывода с нуля.

Алгоритм решения:

  • Создам входы и выходы;
  • Определю функции принадлежности для нечетких переменных;
  • Определю правила работы системы

Решение.

Рис. 7 Начальное состояние редактора

В системе должно быть два входа (скорость движения автомобиля и температура окружающего воздуха). Добавим входы в редакторе: Edit → Add variable…→ Input. Появится новый блок с именем Input2. Изменяю имя Input1 на «скорость», а Input2 на «температуру». Выходной блок назову «расход». Имя всей сети «TipExpert» через меню File → Export → To WorkSpace…

Рис. 8 Состояние редактора после создания и переименования входных сигналов

Теперь нужно отредактировать функцию принадлежности для входа «скорость».

В поле Range, Display Range установлю диапазон переменных [1; 100]

Через пункт меню Edit → Add MFs..

Перейду к диалоговому окну, в котором задам функцию принадлежности гауссовского вида «gaussmf» с общим числом 3. Изменю имена функций на: низкая, средняя, высокая.

Рис. 9 Редактирование функции принадлежности входного сигнала «скорость»

Затем отредактирую функции принадлежности для входа «температура». В поле Range, Display Range установлю диапазон переменных [0; 30]. Создам две функции принадлежности трапецидальной формы «tramf» с соответствующими параметрами. Функции назову «низкая» и «высокая». Для функции «низкая» задам следующие значения параметров Params [0 0 5 10] и для функции «высокая» Params [20 25 30 30]

Рис. 10 Редактирование функций принадлежности входного сигнала «температура»

Далее отредактирую переменную «расход». Задам 3 функции принадлежности треугольной формы (trimf) с именами «маленький» (Params [0 4 8], «средний» (Params [8 12 16], «высокий» (Params [16 20 24]). Установлю диапазон для переменной Range [0 24]

Рис. 11 Редактирование функции принадлежности выходного сигнала «расход»

Создание правил.

Для создания правил, выбираю соответствующий пункт меню Edit → Rules…

Правила:

  • Если скорость движения низкая, температура воздуха низкая, то расход топлива маленький;
  • Если скорость движения средняя, температура воздуха низкая, то расход топлива средний;
  • Если скорость высокая, температура воздуха высокая, то расход большой.

Рис. 12 Создание правил

На этом конструирование экспертной системы закончено.

Проверка работы системы

Открою через пункт меню View/View rules... окно просмотра правил и установлю следующие значения переменных: скорость=50,5 (средняя), температура=3,31 (низкая). Ответ будет 12 литров (т. е. средний)

Рис. 13 Проверка результатов

Проверю другие варианты. При выборе «скорость=100, температура=26,4» расход топлива будет 20 литров (высокий).

Рис. 14 Проверка результатов

Подтверждением отмеченной зависимости выходной переменной от входных может служить вид поверхности отклика, который представляется при выборе пункта меню View/View surface.

Рис. 15 Диаграмма результатов.

Выводы

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

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

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

В основе всех технологий Fuzzy и их приложений лежит теория нечетких множеств (FuzzySetTheorie), которая в 1965 году была предложена и обоснована проф. lofti zadeh (Лофти А. Заде) (Университет Беркли, Калифорния, США) [1, 2, 48]. По словам проф. Заде можно для каждого математического понятия найти нестрогий (размытый) аналог и, таким образом, создать новый математический аппарат, который моделирует мышление человека и позволяет средствам, описывающим логику мышления и процессы принятия решений человека, решать многие технико-экономические проблемы.

Теория нечетких множеств (методы нечеткой логики) является развитием классической теории множеств и бинарной логики. Если в классической бинарной логике отличаются только два результата: истина (1) и ложь (0), то в случае нечетких множеств существуют также промежуточные знания между крайними категориями (такими как истина и ложь), которые могут выражать определенную ненадежность рассматриваемые ценности или степень их взаимосвязи. Классические понятия бинарной логики «истина» и «ложь» в нечеткой логике расширяются понятиями, которые определяют некоторые промежуточные стадии истинности и ложности с помощью операторов многозначной нечеткой логики, эти понятия связаны между собой, что позволяет на основе накопленной базы знаний сделать нетривиальные выводы.

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

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

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

Список Литературы

  1. Леоненков А.В. Нечеткое моделирование в среде MATLAB и fuzzyTECH, СПб.: БХВ-Петербург, 2005, 736c.
  2. Матвеев М.Г., Свиридов А.С., Алейникова Н.А. Модели и методы искусственного интеллекта. Применение в экономике, М.: Финансы и статистика, 2011
  3. Люгер Дж.Ф. Искусственный интеллект: Стратегии и методы решения сложных проблем / Люгер Джордж Ф.; Пер.с англ. Н.И.Галагана и др.; Под ред. Н.Н.Куссуль. - 4-е изд. - М.: Вильямс, 2005. - 864с.: ил. - Библиогр.:с.809.- Алф.указ.авторов:с.841.-Предм.указ.:с.848. - ISBN 5-8459-0437-4. ]
  4. Биологические нейронные сети. URL:

https://studfile.net/preview/3499343/page:64/