Искусственный интеллект. Основные направления и этапы развития
Искусственный интеллект как научное направление, связанное с попытками формализовать мышление человека. Структура мозга и моделирование функций нервной системы. Применение нейронных сетей для решения прикладных задач и основные алгоритмы обучения.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | учебное пособие |
Язык | русский |
Дата добавления | 24.04.2014 |
Размер файла | 3,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
Искусственный интеллект. Основные направления и этапы развития
Под искусственным интеллектом понимается программно-аппаратная среда, которая позволяет решать задачи, свойственные человеку (распознавание речи, распознавание образов и прочее) при наличии многих неопределённых факторов.
Искусственный интеллект как научное направление, связанное с попытками формализовать мышление человека, имеет длительную предысторию. Первые шаги кибернетики были направлены на изучение и осмысление в новых понятиях процессов, протекающих в сложных, прежде всего живых, системах, включая и мыслящие. Позднее это направление работ оформилось в самостоятельную область, разрабатывающую проблему искусственного интеллекта.
Существует две точки зрения на вопрос, каким образом строить системы искусственного интеллекта:
1. «Важнее всего результат», т.е. хорошее совпадение поведения искусственно созданных и естественных интеллектуальных систем, а что касается внутренних механизмов формирования поведения, то разработчик искусственного интеллекта вовсе не должен копировать или даже учитывать особенности естественных, живых аналогов.
2. Именно изучение механизмов естественного мышления и анализ данных о способах формирования разумного поведения человека могут создать основу для построения систем искусственного интеллекта, причем построение это должно осуществляться, прежде всего, как моделирование, воспроизведение техническими средствами принципов и конкретных особенностей функционирования биологических объектов.
Успехи развития первого направления искусственного интеллекта оказываются тесно связанны с развитием возможностей ЭВМ и искусства программирования. В связи с этим первое направление можно охарактеризовать термином «машинный интеллект».
Второе направление искусственного интеллекта рассматривает данные о нейрофизиологических и психологических механизмах интеллектуальной деятельности и, в более широком плане, разумного поведения человека. Оно стремиться воспроизвести эти механизмы с помощью тех или иных технических устройств, с тем чтобы «поведение» таких устройств хорошо совпадало с поведением человека в определенных, заранее задаваемых пределах. Сказанное позволяет охарактеризовать данное направление искусственного интеллекта термином «искусственный разум».
Центральным звеном в биологических системах управления является мозг, состоящий из более 100 млрд нервных клеток - нейронов. каждая из которых имеет в среднем 10000 связей.
Основные положения теории деятельности головного мозга и математическая модель нейрона были разработаны американскими математиками У. Маккалоком и Ч. Питтсом в 1943 году.
Согласно предложенной модели мозг представляет собой ансамбль нейронов, имеющих одинаковую структуру. Каждый нейрон реализует некоторую функцию, называемую пороговой, над входными значениями. Если значение функции превышает определенную величину - порог (что характеризует суммарную значимость полученной нейроном информации), нейрон возбуждается и формирует выходной сигнал для передачи его другим нейронам. Пройдя путь от рецепторов (слуховых, зрительных и других) через нейронные структуры мозга до исполнительных органов, входная информация преобразуется в набор управляющих воздействий, адекватных ситуации. искусственный интеллект нейронный мышление
В 1957 году Розенблаттом был предложен прибор, с помощью которого можно было распознавать различные изображения. Данный прибор получил название «персептрон» (от слова perception - восприятие). Персептрон стал первым, реально созданным прибором, работающим по подобию человека. Персептрон распознавал цифры, освещённые источником света. В качестве элементов прибора использовались фотоэлементы.
Математическая модель персептрона (однослойной нейронной сети) была разработана Маккалоком и Питтсом.
Неблагоприятным моментом, затормозившим развитие нейросетевой тематики более чем на два десятилетия, явилось опубликование тезиса, выдвинутого М. Минским и С. Пейпертом о невозможности воспроизведения произвольной функции нейронной сетью и, следовательно, о невозможности создания универсального вычислительного устройства на её основе (персептрон не может реализовать функцию «исключающее ИЛИ»).
В течение длительного времени основным направлением в развитии искусственного интеллекта являлся логико-символьный подход, который может быть реализован на традиционных вычислительных системах.
Символьная система: IF a1 & a2 & a3 THEN y
К началу 80-х годов были созданы условия для возрождения интереса к нейросетевым моделям: был предложен алгоритм обучения многослойной нейронной сети (состоящей более чем из двух слоёв) Back Propagation. Было доказано, что нейронная сеть является универсальным аппроксиматором.
Синергетический подход заключается в объединение символьных вычислений и нейронных сетей. Данный подход позволяет создавать системы с лучшими свойствами, так как объединяет достоинства и возможности отдельно взятых систем: символьные вычисления - легко читаемые структуры, НС - легко обучаемые и адаптирующиеся.
К настоящему времени сформировался обширный рынок нейросетевых продуктов. Подавляющее большинство продуктов представлено в виде моделирующего программного обеспечения. Ведущие фирмы разрабатывают также и специализированные нейрочипы или нейроплаты в виде приставок к персональным ЭВМ.
Структура мозга. Уровни моделирования. Основные элементы моделей
Центральным звеном в биологических системах управления является мозг, состоящий из более 100 млрд нервных клеток - нейронов, каждая из которых имеет в среднем 10000 связей. Схематическое изображение нейрона приведено на рисунке.
Нейрон имеет тело (сому) 1, дерево входов (дендриты) 2 и выход (аксон) 3. Длина дендритов может достигать 1 мм, длина аксона - сотен миллиметров. На соме и дендритах располагаются окончания других нервных клеток. Каждое такое окончание называется синапсом.
Нейроны можно разбить на три большие группы:
1. Рецепторные нейроны обеспечивают ввод в мозг сенсорной информации. Они преобразуют воздействие окружающей среды на органы чувств в электрические импульсы на выходе своих аксонов.
2. Эффекторные нейроны передают приходящие на них электрические сигналы исполнительным органам, например мышцам, также через специальные синапсы своих аксонов.
3. Промежуточные нейроны осуществляют обработку информации, получаемой от рецепторов, и формируют управляющие сигналы для эффекторов. Они образуют центральную нервную систему.
Моделирование функций нервной системы производится на разных уровнях организации и абстракции. Можно выделить следующие категории моделей:
· модели отдельных нейронов
· модели небольших групп нейронов
· модели нейронных сетей
· модели нервной системы
· модели мыслительной деятельности и мозга в целом
Далее будем рассматривать модели уровня нейронных сетей, состоящие из большого количества взаимосвязанных моделей нейронов. В основу концепции нейронных сетей положена идея коннекционизма (connection - связь). Суть данной идеи заключается в том, что нейроны можно моделировать довольно простыми автоматами, а вся сложность мозга, гибкость его функционирования и другие важнейшие качества определяются связями между нейронами. Каждая связь представляется как простой элемент, служащий для передачи сигнала. При таком подходе для нейросетевой модели характерно следующее:
· однородность системы (элементы нейронной сети одинаковы и просты, все определяется структурой связи)
· надёжность системы, построенной из ненадёжных элементов, за счёт избыточного числа связей
· «голографичность», предопределяющая, что при разрушении части система сохраняет свои свойства
На первых этапах развития нейросетевых моделей коннекционизм сыграл исключительную роль, поскольку были понятны основные механизмы индуктивного вывода, осуществляемого нейронной сетью, позволившие решить множество прикладных задач. Однако для создания математических нейросетевых моделей, адекватным реальным задачам, требуются более глубокие исследования биологических принципов функционирования головного мозга.
Нейронной сетью (НС, искусственной нейронной сетью, нейроподобной сетью) называется динамическая система, состоящая из совокупности связанных между собой по типу узлов направленного графа элементарных процессоров, называемых формальными нейронами, и способная генерировать выходную информацию в ответ на входное воздействие.
Нейронная сеть является основной операционной частью нейрокомпьютеров (нейронных ЭВМ), реализующей алгоритм решения задачи.
Нейрокомпьютером (НК) называют ЭВМ (аналоговую или цифровую), основной операционный блок (центральный процессор) которой построен на основе нейронной сети и реализует нейросетевые алгоритмы.
Формальным нейроном называется элементарный процессор, используемый в узлах нейронной сети. Математическую модель формального нейрона можно представить уравнением:
где y - выходной сигнал нейрона;
f(g) - функция выходного блока нейрона;
ai - постоянный коэффициент - вес i-го нейрона;
xi - i-й входной сигнал;
a0 - начальное состояние (возбуждение) нейрона:
- номер входа нейрона;
n - число входов.
Данному выражению может быть поставлена в соответствие следующая структурная схема:
Функция, которую реализует входной блок, называется функцией активации (или функцией возбуждения, или переходной функцией).
Коэффициенты ai называются коэффициентами межнейронной связи (или синаптическими коэффициентами).
Помимо приведённой модели существуют другие (нестандартные) модели нейронов:
· паде-нейрон (состоит из двух сумматоров, элемента, вычисляющего частное от взвешенных сумм, блока нелинейного преобразования)
· нейрон с квадратичным сумматором (на выходной блок подаётся взвешенная квадратичная форма входного сигнала)
· нейрон со счётчиком совпадений и другие.
Виды функций активации
Вид функции активации во многом определяет функциональные возможности нейронной сети. В таблице приведены некоторые виды функций активации, применяемые при конструировании нейронных сетей.
№ п/п |
Название |
Формула |
Область применения |
|
1 |
линейная |
(-?; +?) |
||
2 |
полулинейная |
(0; +?) |
||
3 |
логистическая (сигмоидальная) |
(0; 1) |
||
4 |
гиперболический тангенс |
(-1; 1) |
||
5 |
экспоненциальная |
(0; +?) |
||
7 |
пороговая |
(-1; 1) |
||
8 |
линейная с насыщением |
(-1; 1) |
Классификация нейронных сетей
Классификация нейронных сетей по виду топологии (по виду распространения сигнала в процессе функционирования НС):
Под топологией нейронной сети понимается графическая иллюстрация соединения нейронов между собой в этой сети.
Однослойная НС (персептрон) |
Многослойная НС |
||
НС с прямыми связями |
|||
НС с перекрёстными связями. |
NONE |
||
НС с обратными связями (рекуррентные). |
|||
НС с латеральными связями (с латеральным торможением) |
NONE |
В нейронных сетях с перекрёстными связями обеспечивается более тонкое влияние каждого из слоёв на выход сети. Структура является более оптимальной (минимизированной) по сравнению с НС с последовательными связями, что увеличивает скорость работы сети.
Рекуррентные нейронные сети используются для моделирования динамических процессов.
Классификация нейронных сетей по типу связи:
1. Полносвязные нейронные сети:
2. Нейронные сети с последовательными связями:
3. Слабосвязанные структуры:
а) прямоугольная
б) гексагональная
Классификация нейронных сетей по способу решения задачи:
1. Формируемые сети: проектируются для формализуемых задач, имеющих чётко сформулированный в нейросетевом базисе алгоритм решения конкретной задачи.
2. Сети с формируемой матрицей связей: применяются для трудно формализуемых задач. Как правило, имеют одинаковую структуру и различаются лишь матрицей связей (сеть Хопфилда). Достоинство: наглядность в работе.
3. Обучаемые сети: используются для решения неформализуемых задач. В процессе обучения сети автоматически изменяются такие её параметры, как коэффициенты синаптической связи, а в некоторых случаях и топология. Недостаток: большое время обучения сети.
4. Комбинированные (смешанные) сети: сочетают в себе признаки двух, а то и трёх видов. Как правило, сети многослойные, каждый слой которых представляется различной топологией и обучается по определённому алгоритму. Получают наибольшее распространение, так как дают широкие возможности разработчику.
Применение нейронных сетей
Все задачи, которые решаются с помощью средств вычислительной техники можно разделить на три класса:
· формализуемая задача имеет чётко сформулированный алгоритм решения (решение алгебраических, дифференциальных, интегральных и других уравнений, сортировка данных и т.п.)
· трудноформализуемая задача имеет алгоритм решения, качество которого трудно оценить или трудно оценить достижимость решения (моделирование систем большой размерности)
· неформализуемая задача имеет в своей постановке неявно заданные функции и параметры (распознавание образов, кластеризация данных, предсказания, аппроксимация функций, заполнение пробелов в таблицах данных, построение ассоциативной памяти, построение логического вывода и т.п.)
Изначально нейрокомпьютер использовался для решения неформализуемых задач. Сегодня НК приобретает черты универсальной вычислительной машины, так как разработаны методы проектирования НК для решения и формализуемых, и трудноформализуемых задач.
Пример использования нейронной сети для решения задачи предсказания:
Задача предсказания заключается в определении значения какого-то параметра системы (или нескольких параметров) на будущий, ещё не наступивший момент времени по известным значениям этого параметра (или параметров) в предыдущие моменты времени.
Для предсказания значения временного ряда используется принцип «скользящего окна». С помощью «окна» определённой длины выбирается несколько значений временного ряда. Длина «окна» k определяет количество входов НС.
k=3
1.
входы НС выход НС
2. и т.д.
Для формирования обучающей выборки «скользящее окно» перемещают вдоль временного ряда. При этом необходимо учесть, что часть примеров нужно использовать для тестирования.
Методика решения формализуемых задач в нейросетевом базисе
Для решения формализуемых задач, имеющих чётко сформулированный в нейросетевом базисе алгоритм решения конкретной задачи, используются формируемые сети.
При конструировании формируемых нейронных сетей разработчик имеет, как правило, следующие исходные данные:
1. Размерность вектора входного сигнала:
2. Размерность вектора выходного сигнала:
3. Формулировка решаемой задачи.
4. Точность решения задачи.
При этом он должен определить и назначить:
1. Вид топологии сети.
2. Общее число нейронов в сети и число нейронов по слоям.
3. Вид функции активации нейронов.
4. Диапазон изменения и способ задания коэффициентов синаптической связи.
5. Метод доказательства работоспособности новой сети.
Настройка нейронной сети на решение прикладных задач
Использование НК для решения неформализуемых задач требует проведения ряда предварительных процедур, связанных с кодированием входной и выходной информации, выбором архитектуры НС, алгоритмов обучения, способов оценки и интерпретации получаемых результатов и т.д., то есть настройки НК на конкретную задачу пользователя.
Технология настройки НС на решение прикладной задачи может быть представлена следующей схемой:
Технология настройки НС является итерационной процедурой.
При конструировании НС одним из наиболее сложных является вопрос выбора архитектуры НС, адекватной решаемой задаче.
Предварительная оценка числа нейронов в скрытых слоях однородных сетей может быть выполнена по следующей формуле:
,
где n - размерность входного вектора;
m - размерность выходного вектора;
N - число элементов обучающей выборки.
, L - число нейронов в скрытом слое (для двухслойной НС).
В настоящее время отсутствуют эффективные методы для точного решения задач выбора класса и архитектуры НС, что обуславливает использование различных эвристических методов.
Обучение НС. Основные понятия
Обучение - есть процесс непрерывного развития и формирования сознания посредствам взаимодействия с внешней средой и в соответствии с индивидуальными особенностями организма.
Процесс обучения связан с появлением, как у биологических, так и у технических систем новых свойств, таких как:
· появление новых связей
· увеличение числа нейронов или их совершенствование
· появление новых форм взаимодействия между элементами системы
Процесс обучения связан с функционированием системы во внешней среде. Схема взаимодействия системы с внешней средой приведена ниже.
1 - выявление параметров, характеризующих внешнюю среду
2 - выбор алгоритма обучения
3 -осуществление на основе результатов обучения процесса самоорганизации, выбор алгоритма кластеризации (формирование классов внешней среды)
4 - приспособление, выработка сигналов обратной связи
5 - построение модели поведения (правильность выбранной модели поведения определяется реакцией внешней среды)
Процесс продолжается до тех пор, пока не будет достигнуто состояние равновесия между моделью поведения системы и внешней средой.
Выбор алгоритма построения модели поведения некоторого объекта зависит от режима его функционирования во внешней среде. Можно выделить следующие режимы:
· режим реального времени (on-line)
· реактивный режим (отработка воздействий внешней среды за определённый промежуток времени ф)
· стабильный режим, время некритично (off-line)
Модель взаимодействия системы с внешней средой положена в основу любой интеллектуальной системы, реагирующей на воздействия внешней среды.
Основная задача обучения НС - приблизить функцию, которую реализует реальная сеть, к неизвестной функции, которую можно определить по имеющемуся множеству примеров (обучающему множеству - обучающей выборки).
При решении задач распознавания большое значение имеет проблема стабильности-пластичности. Пластичность - способность воспринимать и правильно распознавать новые образы. Стабильность - способность сохранять старые, ранее запомненные образы, при восприятии новых. Эта проблема не всегда может быть решена.
Основные механизмы обучения:
· обучение в процессе адаптации;
· обучение в процессе самоорганизации.
Адаптация - приспособление системы к внешней среде. Самоорганизация - динамическая перестройка системы с целью её адаптации.
Синергетика - наука о самоорганизации. Основоположник синергетики - немецкий учёный Г. Хакен.
«Жизнь - это высшее проявление процессов самоорганизации».
Одно из первых правил обучения было предложено Хеббом: если при повторных предъявлениях одного и того же образа НС два нейрона (i и j) одновременно активизируются, то коэффициент синаптической связи wij между этими нейронами увеличивается. Процесс обучения можно свести к подаче M образов на вход системы и формированию связей между нейронами в соответствии с тем, какую активность они проявляют в процессе обучения.
Таким образом, НС формируется множеством нейронов, связи между которыми имеют более высокую проходимость, чем связи между остальными нейронами сети. Это множество нейронов называется ансамблем. Если возбуждается часть нейронов ансамбля, благодаря высокой проходимости связей с другими нейронами внутри ансамбля возбуждается весь ансамбль. Ансамбль нейронов соответствует любому конкретному понятию. Часто повторяемые определённые образы ведут к образованию нейронных ансамблей, т. е. формируют в памяти устойчивую систему понятий.
Правило Хебба положено в основу создания ассоциативных сетей (например, сеть Хопфилда).
Если моделирующий и пресинаптический нейроны одновременно являются активными, то связь между пресинаптическим и постсинаптическим нейронами усиливается.
Правило Кэндела было положено в основу создания ассоциативно-проективной памяти (Н. М. Амосов, Институт кибернетики АН УССР).
Основные алгоритмы обучения НС без обратных связей
В 1957 году американский физиолог Ф. Розенблатт предпринял попытку технически реализовать физиологическую модель восприятия, что позволило бы имитировать человеческие способности правильно относить наблюдаемый объект к тому или иному классу.
Розенблаттом была разработана модель нейронной сети, получившая название персептрон (от слова «перцепция» - восприятие).
Персептрон предназначен для работы в двух режимах: обучения и распознавания.
Для организации обучения сетей типа «персептрон» вычисляется ошибка рассогласования ej между желаемым сигналом выходного нейрона dj и реальным значением выхода нейрона yj в процессе подачи на вход сети входного вектора X:
,
где j - номер нейрона.
Нейронную сеть можно представить в виде «чёрного ящика».
Размещено на http://www.allbest.ru
Основная задача обучения сети состоит в нахождении значений элементов матрицы весовых коэффициентов W таких, что на некоторый входной вектор будет формироваться правильный выходной вектор. Элементы матрицы W формируются на основе обучающей выборки.
Персептронные алгоритмы обучения
Алгоритм обучения по правилу Хебба
Данный алгоритм положен в основу процесса обучения многих типов нейронных сетей.
Рассмотрим особенности применения правила Хебба к обучению НС.
Рассмотрим НС следующего вида:
wij - весовой коэффициент связи нейронов i и j.
Предположим, что функция активации в выходном нейроне является пороговой. Для представления пороговой функции используется дополнительный вход с некоторым весовым коэффициентом b. Тогда выходной сигнал НС может быть вычислен следующим образом:
.
Процесс обучения НС состоит в настройке коэффициентов межнейронных связей и порогов при подаче на входы НС образов из обучающей выборки. Входной образ представляется в виде вектора X, каждая компонента которого подается на один из входов нейронной сети.
Значения коэффициентов межнейронных связей и порогов рассматриваемой НС на каждом шаге обучения (t, t+1,…) вычисляются с помощью следующих соотношений:
(*)
Различают алгоритм обучения в соответствии с правилом Хебба с учителем и без учителя. При обучении с учителем выходные сигналы НС сравниваются с эталонными значениями. При использовании алгоритма без учителя: реальные сигналы с выхода нейронной сети используются для кластеризации входных образов.
Размещено на http://www.allbest.ru
дискриминантная линия
Таким образом, алгоритм обучения по правилу Хебба сводится к следующей последовательности действий:
1. Инициализация весовых коэффициентов и порогов случайными значениями, близкими к нулю (чтобы сеть сразу не могла войти в насыщение).
2. Подача на вход НС очередного входного образа.
3. Вычисление значения выхода.
4. Если значение выхода не совпадает с эталонным значением, то происходит модификация коэффициентов в соответствии с формулами (*). В противном случае осуществляется переход к пункту 5.
5. Если не все вектора из обучающей выборки были поданы на вход НС, то происходит переход к пункту 2. Иначе, переход к пункту 6.
6. Останов.
Правило Хебба не гарантирует сходимости процесса обучения, то есть ошибка аппроксимации функции нейронной сетью может превышать допустимое значение.
Основной недостаток алгоритма обучения по правилу Хебба заключается в том, что при увеличении размерности n входного вектора сходимость алгоритма уменьшается. При n > 5 трудно гарантировать сходимость.
Данный алгоритм, как правило, используется в качестве некоторого элемента в других алгоритмах обучения. Наиболее предпочтительным является использование правила Хебба в алгоритмах обучения без учителя.
Пример 1. Воспроизвести с помощью НС логическую функцию «ИЛИ». Будем проводить обучение в соответствии с правилом Хебба.
Примем значения сигналов биполярными: 1 и -1.
В соответствии с правилом Хебба инициализируем работу НС:
Вычисляем значение коэффициентов на каждом шаге:
, вычисляются аналогично.
Результаты вычислений сведём в таблицу.
шаг |
x1 |
x2 |
x3 |
y |
w11 |
w21 |
b |
|
t t+1 t+2 t+3 t+4 |
- -1 1 -1 1 |
- -1 -1 1 1 |
- -1 -1 -1 -1 |
- -1 1 1 1 |
0 1 2 1 2 |
0 1 0 1 2 |
0 1 0 -1 -2 |
- дискриминантная линия
Алгоритм обучения Розенблатта
Данный алгоритм был положен в основу обучения однослойных персептронов.
Структура персептрона Розенблатта представляется следующим образом:
S-нейроны (сенсорные) - предназначены для формирования входных сигналов; выполняют чисто распределительную функцию. Каждый сенсорный нейрон связан с одним или несколькими нейронами следующего слоя (ассоциативными нейронами), при этом каждый ассоциативный нейрон может быть связан с несколькими S-нейронами.
A-нейроны (ассоциативные) - предназначены для непосредственной обработки входных сигналов. Выходы ассоциативных нейронов соединены с входами нейронов третьего слоя.
R-нейроны (эффекторные) - предназначены для передачи сигналов к другим нейронам или сетям. Нейроны этого слоя имеют несколько входов (дендритов) и один выход (аксон), который возбуждается, если суммарная величина входных сигналов превосходит порог срабатывания (функция активации нейронов - пороговая).
Отличия алгоритма обучения Розенблатта от алгоритма обучения по правилу Хебба сводятся к следующему:
1. вводится эмпирический коэффициент б с целью улучшения процесса сходимости: б - скорость обучения ;
2. исключены некоторые действия, которые замедляют процесс обучения, например, обновление весовых коэффициентов (update).
3. входные образы на вход НС подаются до тех пор, пока не будет достигнута допустимая величина ошибки обучения.
4. если решение существует, алгоритм обучения Розенблатта сходится за конечное число шагов.
Алгоритм обучения персептрона Розенблатта заключается в настройке коэффициентов межнейронных связей и порогов в слое A. На каждом шаге обучения, если необходимо, происходит обновление весовых коэффициентов в соответствии со следующей формулой.
, (**)
где t - номер такта; i - номер нейрона во входном слое; j - номер нейрона в слое A; б - скорость обучения; xi - входной сигнал; еj - ошибка обучения.
На каждом шаге обучения вычисляется ошибка обучения еj:
,
где dj - эталонное значение входного сигнала; yj - реальное значение входного сигнала.
Алгоритм обучения Розенблатта сводится к следующей последовательности действий:
1. Инициализация весовых коэффициентов и порогов значениями, близкими к нулю.
2. Подача на вход НС очередного входного образа (входного вектора Х), взятого из обучающей выборки, и вычисление суммарного сигнала по всем входам для каждого нейрона j: , где n - размерность входного вектора, xi - i-я компонента входного вектора, wij - весовой коэффициент связи нейрона j и входа i.
3. Вычисление значения выхода каждого нейрона:
, где bj - порог, соответствующий нейрону j
4. Вычисление значения ошибки обучения для каждого нейрона
.
5. Проводится модификация весового коэффициента связи по формуле (**).
6. Повторение пунктов 2 - 5 до тех пор, пока ошибка сети не станет меньше заданной .
Особенности алгоритма обучения Розенблатта: должна быть задана скорость обучения б и ошибка обучения е.
Пример. Воспроизведение логической функции «И» с помощью НС. Обучение НС производится в соответствии с алгоритмом обучения Розенблатта.
Значения сигналов - биполярные: 1 и -1. Задаём скорость обучения б = 1.
Инициализируем работу НС:
Вычисляем значение коэффициентов на каждом шаге:
, вычисляются аналогично.
Результаты вычислений сведём в таблицу.
шаг |
x1 |
x2 |
x3 |
y |
d |
w11 |
w21 |
b |
|
t t+1 t+2 t+3 t+4 |
- 1 1 -1 - |
- 1 -1 1 - |
- -1 -1 -1 -1 |
- -1 1 1 -1 |
- 1 -1 -1 -1 |
0 2 0 2 2 |
0 2 4 2 2 |
0 -2 0 2 2 |
- дискриминантная линия
Процедура Уидроу-Хоффа
Процедура обучения Уидроу-Хоффа применима к персептронам. Уидроу и Хофф модифицировали персептронный алгоритм Розенблатта, используя сигмоидальную функцию активации и непрерывные выходные вектора.
Существуют два варианта реализации процедуры:
1. Adaline (Adaptive Linear Element) {Адалин}
Модель с одним выходным нейроном. Функция активации в первых вариантах системы линейная, в последующих - сигмоидальная.
2. Madaline {Мадалин}
Модель с множественными выходными нейронами.
Процедура Уидроу-Хоффа разработана применительно к «чёрному ящику», в котором между входами и выходами существуют только прямые связи.
Выход сети:
Процедура обучения основывается на минимизации ошибки обучения в процессе подачи на вход сети входных образов.
Среднеквадратичная ошибка: , где L - число образов (примеров), которые подаются на вход сети в процессе обучения.
Процедура заключается в градиентном спуске по настраиваемым параметрам нейронной сети. Такими параметрами являются весовые коэффициенты и пороги сети.
Весовые коэффициенты:
,
где - ошибка обучения;
б - скорость обучения;
m - число выходных нейронов.
Пороги:
, где - i-тая компонента k-того образа.
С учётом последних двух соотношений выражения для весовых коэффициентов и порога примут следующий вид:
(*)
Проанализировав выражения (*), можно заметить, что они идентичны соответствующим формулам в процедуре Розенблатта в том случае, если на выходе персептрона Розенблатта поставить пороговый элемент.
Алгоритм обучения по правилу Уидроу-Хофа сводится к следующей последовательности действий:
1. Задаются значения параметров: скорости обучения б и допустимой ошибки обучения Eдоп (Emin ? Eдоп)
2. Случайным образом инициализируются значения весовых коэффициентов и порогов W, B.
3. На вход сети подаётся входной вектор (входной образ) X={x1, x2,..,xn} и вычисляется значение выхода
4. Вычисляются значения весовых коэффициентов и порогов в соответствии с формулами (*).
5. Вычисляется значение ошибки обучения
6. Проверяем выполнение условия Ek ? Eдоп. Если неравенство верно для всех k, то переходим к пункту 7, в противном случае (Ek > Eдоп) - к пункту 3.
7. Останов.
Примечание: Если значение Eдоп выбрано неверно, то процесс обучения может длиться очень долго. Поэтому целесообразно задавать число итераций вместо значения допустимой ошибки обучения Eдоп. Обычно выбирают число итераций порядком нескольких тысяч.
Особенности процедуры Уидроу-Хоффа (другое название - д-правило):
· с некоторыми изменениями используется в процедуре обучения многослойных нейронных сетей
· процедура применима как к дискретным, так и к непрерывным значениям входных переменных
· ошибка обучения нейронной сети минимизируется независимо от начальных значений весов и порогов
· скорость обучения сети б может меняться в зависимости от порядкового номера такта обучения
Если выбрать скорость обучения очень маленькой, то процесс обучения будет длиться очень долго. Если же выбрать большое значение скорости обучения, процесс стагнации (стабилизации) может быть завершён слишком быстро, но при этом значения коэффициентов чаще всего бывает неоптимальным. Поэтому следует искать компромисс.
Следует отметить, что на процедуру обучения влияет способ подачи образов на вход сети. Совокупность входных образов называется «задачник».
Существенным недостатком процедуры, из-за которого при практической реализации НС от неё отказались, является то, что в трудных задачах требуемого распределения весов не существует.
Необходимо, чтобы в структуре «чёрного ящика» имелись некоторые промежуточные слои. Многослойная нейронная сеть за счёт введения промежуточных слоёв позволяет осуществить нелинейное преобразование между слоями.
Функцию XOR можно реализовать с помощью сети второго порядка HON (Higher Order Network), имеющей следующий вид:
Кроме скалярных входов имеются входы взаимодействия переменных.
Функция активации выходного нейрона - пороговая.
Для реализации функции XOR весовые коэффициенты должны иметь следующие значения:
Американский учёный Новиков доказал теорему о сходимости алгоритма обучения, которая имела важное значение для дальнейшего развития обучающих алгоритмов.
Теорема Новикова:
Если обучающую последовательность предъявить нейронной сети достаточное число раз, то НС разделит эту последовательность на соответствующие классы.
Большой вклад в разработку алгоритмов обучения НС внесли советские учёные Айзерман и Браверманн, предложившие алгоритмы обучения, основанные на построении разделяющей гиперплоскости:
1. Алгоритм «случайных плоскостей».
2. Алгоритм построения потенциальных функций.
Эти алгоритмы базируются на выдвинутой этими учёными гипотезе компактности:
Точки, принадлежащие одному и тому же образу, располагаются в пространстве компактно, тогда они в пространстве могут быть разделены гиперплоскостью.
Обучение многослойной нейронной сети без обратных связей. Математическая постановка задачи обучения
Многие прикладные задачи, решаемые с использованием нейронной сети, такие как задача распознавания образов, задача прогнозирования, задача управления и прочие, сводятся к следующей математической постановке:
Необходимо построить отображение вектора X в Y такое, что на каждый входной сигнал, представленный вектором X, формировался правильный выходной сигнал (вектор Y).
Для решения поставленной задачи будем использовать многослойную нейронную сеть без обратных связей, имеющую n входов и m выходов.
Каждому входу нейронной сети соответствует входной сигнал , , а каждому выходу - выходной сигнал , . Тогда входу НС соответствует вектор X с координатами , выходу - вектор Y с координатами .Нейронная сеть в этом случае представляется как некоторая многомерная функция F: XY.
Если множество весовых коэффициентов входных сигналов НС не упорядочено, то функция F, реализуемая сетью, является произвольной.
Совокупности всех весовых коэффициентов всех нейронов соответствует вектор W. Пусть множество векторов W образует пространство состояний нейросети. Начальному состоянию сети соответствует некоторый произвольный вектор W0. Тогда обученной нейросети соответствует W*, т.е. такое состояние, при котором реализуется однозначное отображение F: XY.
Задача обучения нейронной сети: задача перехода от некоторого начального состояния сети, соответствующего W0, к конечному состоянию, соответствующему W*.
Для решения задач управления:
X - вектор контролируемых параметров;
Y - вектор кода управления.
Для решения задач прогнозирования:
X - вектор временного ряда контролируемых параметров;
Y - подмножество контролируемых параметров X.
С математической точки зрения задача обучения нейронной сети сводится к продолжению функции, заданной в конечном числе точек, на всю область определения. Входные данные считаются аргументами функции, а ответ сети - значением функции.
В основе процедуры построения отображения F лежит теорема Колмогорова о представлении непрерывных функций нескольких переменных в виде суперпозиции непрерывных функций одной переменной, обобщённая Хехт-Нильсеном применительно к НС:
Для любого множества пар векторов X и Y существует двухслойная однородная (с одинаковыми функциями активации) нейронная сеть с прямым распространением сигналов, которая выполнит отображение XY, выдавая на каждый входной сигнал правильный выходной.
Таким образом, уже с помощью двухслойной нейронной сети может быть построено отображение F (может быть реализована произвольная функция многих переменных).
Теорема о функциональной полноте НС (вытекает из предыдущих теорем):
Любая непрерывная функция,заданная на ограниченном множестве, может быть равномерно приближена функциями, вычисляемыми НС, если функция активации нейрона непрерывна и дважды дифференцируема.
Вывод: многослойный персептрон с числом слоёв более двух является универсальным аппроксиматором функций.
Основной недостаток использования такой сети является то, что в качестве функции активации нейронов может использоваться только сигмоидальная функция. Для преодоления данного недостатка при решении прикладных задач стали использовать сигмоидальную функцию активации с подстраиваемыми параметрами.
С математической точки зрения задача обучения нейронной сети сводится к продолжению функции, заданной в конечном числе точек, на всю область определения. При таком подходе входные данные считаются аргументами функции, а ответ сети - значением функции.
Пусть имеется обучающая выборка, состоящая из k пар векторов (при стратегии обучения с учителем):
, .
Ошибка сети E, появляющаяся в некотором состоянии Wj, может быть представлена как средняя квадратичная ошибка, усреднённая по выборке
, (1)
где k - число примеров в обучающей выборке; Yi - эталонный выходной вектор i-го примера.
Если сеть не делает ошибки, то E = 0. Следовательно, необходимо, чтобы в обученном состоянии сети ошибка сети стремилась к минимуму.
Задача обучения нейронной сети: поиск минимума функции ошибки в пространстве состояний W.
Алгоритм обучения многослойной нейросети (набор обучающих правил, определяющих изменение межнейронных связей в ответ на входное воздействие):
· определённым образом устанавливаются значения весовых коэффициентов межнейронных связей
· из базы данных в соответствии с некоторым правилом поочерёдно выбираются примеры (пары обучающей выборки Xi, Yi: входной вектор Xi подаётся на вход сети, а желаемый результат Yi на выход сети).
· вычисляется ошибка сети E0 по формуле (1)
· если ошибка велика, то осуществляется подстройка весовых коэффициентов для её уменьшения
· процесс повторяется до тех пор, пока ошибка не станет меньше заданной, либо закончится время обучения
Ошибка обучения E0 - внутренний критерий (вычисляется на основе результатов эксперимента - обучения НС на основе примеров из обучающей выборки).
Для оценки полученной ошибки обучения необходимо использовать внешний критерий, которым является ошибка обобщения Eобщ., вычисляемая по проверочной (тестовой) выборке.
Необходимо, чтобы созданная модель объекта обладала свойством непротиворечивости: ошибка обобщения сохраняется на приемлемом уровне при реализации отображения не только для примеров исходного множества пар (Xi,Yi), , но и для всего множества возможных входных векторов.
Таким образом, при синтеза НС для отображения зависимости F: XY с наименьшей ошибкой обучения проводится разделение исходных данных на две части:
1. обучающая выборка;
2. тестовая выборка.
Если НС хорошо отслеживает примеры из обучающей выборки, но плохо работает с примерами из тестовой, то возникает эффект переобучения НС, то есть в процессе работы с тестовой выборкой ошибка сети возрастает. Для контроля правильности работы сети вводится подтверждающее множество (подтверждающая выборка), на котором проверяется адекватность получаемого отображения F: XY объекту с задаваемой ошибкой обобщения.
Основные проблемы при обучении НС:
· большое число параметров НС ограничение по памяти;
· необходимость обеспечения параллельности вычислений; процесс параллелизма важен в процессе функционирования нейронной сети в реальном масштабе времени;
· многокритериальность задачи оптимизации;
· необходимость нахождения достаточно широкой области, в которой значения всех минимальных функций стремятся к минимуму;
· разделение всей базы примеров на обучающую, тестовую и подтверждающую выборки.
Алгоритм обратного распространения ошибки (Back Propagation - BP)
BP - это итерационный градиентный алгоритм обучения многослойных НС без обратных связей. В такой сети на каждый нейрон первого слоя подаются все компоненты входного вектора. Все выходы скрытого слоя m подаются на слой и т. д., т. е. сеть является полносвязной.
При обучении ставится задача минимизации ошибки НС, которая определяется методом наименьших квадратов:
,
где - значение j - го выхода НС; - желаемое значение j - го выхода; p - число нейронов в выходном слое.
Обучение НС осуществляется методом градиентного спуска, т.е. на каждой итерации изменение веса производится по формуле:
,
где б - параметр, определяющий скорость обучения.
, (1)
где - значение выхода j - го нейрона; - взвешенная сумма входных сигналов, , где - значение i - го выхода нейрона.
Определим первый множитель формулы (1):
,
где k - число нейронов в слое n + 1.
Введём вспомогательную переменную . Тогда можно определить рекурсивную формулу для определения n - го слоя, если известно значение этой переменной следующего (n + 1) - го слоя:
. (2)
Значение для последнего слоя НС находим, исходя из того, что априорно известен вектор тех значений, который должна выдавать сеть при заданном входном векторе:
. (3)
В результате всех преобразований получим следующее выражение для вычисления приращения весов связей в НС:
. (4)
Алгоритм обучения BP сводится к следующей последовательности действий:
1. Задать значение допустимой ошибки обучения Едоп и скорости обучения .
2. Инициализировать весовые коэффициенты и пороги случайными числами:
, n(i) - число нейронов в слое i.
От выбора способа инициализации во многом зависит успех нахождения экстремума.
3. Подать на вход НС очередной входной вектор из обучающей выборки и определить значения выходов нейронов в выходном слое.
4. Рассчитать по формуле (3) и по формуле (4) для выходного слоя НС.
5. Рассчитать и по формулам (2) и (4) для остальных слоёв НС.
6. Скорректировать все веса НС:
,
где t - номер текущей итерации.
7. Если ошибка существенна, то вернуться к п. 3, в противном случае - конец.
Недостатки алгоритма BP:
1) медленная сходимость процесса обучения;
2) возможность блокировки сети;
3) необходимость определения числа слоёв в НС и числа нейронов в каждом слое для решения конкретной прикладной задачи;
4) необходимость подбора скорости обучения б для решения конкретной прикладной задачи;
5) невозможность нахождения глобального минимума с помощью градиентного спуска, реализованного в ВР;
6) возможность переобучения НС при неправильном разделении входного множества на обучающую и тестовую выборки.
Рассмотрим некоторые из них более подробно.
Медленная сходимость процесса обучения. Сходимость процесса обучения определяется его скоростью б. При б0 (бесконечно малые шаги), получаем бесконечно большое время обучения. При конечных шагах сходимость алгоритма обучения не гарантируется.
Блокировка сети. ВР не эффективен в случае, когда производные по различным весам сильно отличаются: значения функций S для некоторых нейронов близки по модулю к 1 или модуль некоторых весов много больше 1. В этом случае для придания процессу коррекции весов некоторой инерционности в формулу (4) вводится коэффициент инерционности м, позволяющий корректировать приращение веса на предыдущей итерации:
.
Введение инерционности алгоритма увеличивает его способность преодолевать мелкие локальные минимумы.
Переобучение. Высокая точность, получаемая на обучающей выборке, может привести к неустойчивости результатов на тестовой выборке. Чем лучше сеть адаптирована к конкретным условиям (к обучающей выборке), тем меньше она способна к обобщению и экстраполяции. НС моделирует не функцию, а шум в обучающей выборке, то есть наблюдается явление переобучения («бабушкино воспитание»). Для выявления данного недостатка используется подтверждающая выборка. Если ошибка последовательно уменьшается при подаче примеров из подтверждающей выборки, сеть продолжает обучаться.
Недостаток использования подтверждающего множества: уменьшение числа примеров, которых можно использовать в обучающей выборке снижение качества работы сети.
Таким образом, в процессе обучения можно выделить следующие этапы:
1. обучение (вычисляется Ео);
2. тестирование (вычисляется Еобщ);
3. подтверждение (проверяется условие Еобщ< Едоп).
На практике используется перекрёстное обучение.
«Ловушки», создаваемые локальными минимумами. Алгоритм обучения ВР, основанный на оптимизации градиентным методом, не всегда может обнаружить глобальный минимум.
Способы обхождения «ловушек»:
· расширение размерности пространства весов за счёт увеличения скрытых слоёв и числа нейронов скрытого слоя;
· использование других методов оптимизации (квазиньютоновские методы, Par Tan-методы, метод Нелдера-Мида и другие);
· использование эвристических алгоритмов оптимизации (генетический алгоритм).
Выводы:
1. НС даже с одним скрытым слоем позволяет воспроизвести любую функцию (реализовать любое отображение входного множества на выходное).
2. Число элементов в промежуточном слое должно быть меньше числа примеров обучающей выборки, иначе может проявиться эффект переобучения.
3. Мощность НС (её возможности) можно увеличить за счёт увеличения либо числа скрытых слоёв, либо числа нейронов в вскрытом слое (следует учитывать ограничение п.2).
4. Инициализация весовых коэффициентов должна производится значениями из достаточно узкого диапазона: .
5. Для регулирования скорости обучения НС при оптимизации необходимо использовать адаптивный шаг.
Генетические алгоритмы оптимизации
ГА моделирует процессы природной эволюции и относятся к глобальным методам поиска.
ГА обладают следующими свойствами:
1. Поиск решения с помощью ГА основан на оптимизации случайно заданного не одного, а множества решений.
2. ГА относятся к эвристическим методам оптимизации, поскольку он гарантирует нахождение строгого решения: это решение либо близко к глобальному, либо субоптимальное.
3. При реализации ГА материалами исследования являются закодированные структуры (символьные модели), а не совокупность параметров объекта.
4. Для оценки пригодности решения используется специальная функция - функция полезности (фитнесса). Одновременно с её введением формируется "правило выживания решений".
5. В процессе поиска решений используются вероятностные, а не детерминированные характер вывода условий для отбора решений на каждом шаге.
6. ГА позволяет устранить недостатки BP.
Суть генетического алгоритма
ГА основаны на генетических процессах биологических организмов: биологические популяции развиваются в течение нескольких поколений, подчиняясь закону естественного отбора, открытому Чарльзом Дарвином. Основной принцип - "выживает сильнейший". В ГА используются биологические понятия, отражается развитие живого организма в природе.
Генетическим алгоритмом называется следующий объект:
ГА( Р°, r, l, sl, Fit, cr, m),
где ГА - генетический алгоритм;
Р° - исходная популяция;
r - количество элементов популяции;
l - длина битовой строки, кодирующей решение;
sl - оператор селекции;
Fit - функция фитнесса (функция полезности), определяющая «пригодность» решения;
cr - оператор кроссинговера, определяющий возможность получения нового решения;
m - оператор мутации;
ot - оператор отбора.
Будем считать, что область поиска решения D задачи однокритериального выбора является конечным множеством решений, в котором каждое допустимое решение XD является n-мерным вектором .
Наименьшей неделимой единицей биологического вида является особь (k - номер особи, t - момент времени эволюционного процесса).
Аналог особи в задаче оптимизации: произвольное допустимое решение XD ().
Вектор X - это наименьшая неделимая единица, характеризующая в экстремальной задаче внутренние параметры объекта оптимизации на каждом t-м шаге поиска оптимального решения, которые изменяют свои значения в процессе минимизации некоторого критерия оптимальности J(X).
Интерпретация качественных признаков проводится в терминах хромосомной наследственности.
В качестве гена (единицы наследственного материала, ответственного за формирование альтернативных признаков особи) принимается бинарная комбинация h.
h определяет фиксированное значение параметра xi в двоичном коде.
Особь характеризуется п генами, каждый из которых отвечает за формирование целочисленного кода соответствующей переменной.
Тогда структуру битовой строки можно интерпретировать хромосомой, содержащей п сцепленных между собой генов.
Локус - местоположение i-го гена в хромосоме.
Аллель h - значение i-го гена в хромосоме.
Подобные документы
Искусственный интеллект – научное направление, связанное с машинным моделированием человеческих интеллектуальных функций. Черты искусственного интеллекта Развитие искусственного интеллекта, перспективные направления в его исследовании и моделировании.
реферат [70,7 K], добавлен 18.11.2010Может ли искусственный интеллект на данном уровне развития техники и технологий превзойти интеллект человека. Может ли человек при контакте распознать искусственный интеллект. Основные возможности практического применения искусственного интеллекта.
презентация [511,2 K], добавлен 04.03.2013Рождение искусственного интеллекта. История развития нейронных сетей, эволюционного программирования, нечеткой логики. Генетические алгоритмы, их применение. Искусственный интеллект, нейронные сети, эволюционное программирование и нечеткая логика сейчас.
реферат [78,9 K], добавлен 22.01.2015Агентно-ориентированный подход к исследованию искусственного интеллекта. Моделирование рассуждений, обработка естественного языка, машинное обучение, робототехника, распознание речи. Современный искусственный интеллект. Проведение теста Тьюринга.
контрольная работа [123,6 K], добавлен 10.03.2015История появления термина "искусственный интеллект". Приоритетные направления его применения: генерация речи, обработка визуальной информации. Нейронные, байесовы, иммунные сети, теории хаоса - примеры реализации современных интеллектуальных систем.
реферат [27,2 K], добавлен 14.01.2011Понятие "искусственный интеллект". Понимание механизмов восприятия, выявление способов работы мозга. Направления развития информатики. Научные проблемы. Программы решения интеллектуальных задач. Анализ изображения и идентификация его содержимого.
презентация [12,2 K], добавлен 14.08.2013Интеллектуальные системы и искусственный интеллект. Рассмотрение моделей рассуждений и целей их создания. Знания и их представление, логические, сетевые, фреймовые и продукционные модели. Моделирование рассуждений на основе прецедентов и ограничений.
курсовая работа [74,0 K], добавлен 26.12.2010Изучение проблемы искусственного интеллекта. Процесс переработки информации в мозге человека. Расшифровка мозговых кодов явлений субъективной реальности. Естественный интеллект как факт, обладающий субъективной реальностью с принципом инвариантности.
реферат [31,1 K], добавлен 04.12.2011История создания и основные направления в моделировании искусственного интеллекта. Проблемы обучения зрительному восприятию и распознаванию. Разработка элементов интеллекта роботов. Исследования в области нейронных сетей. Принцип обратной связи Винера.
реферат [45,1 K], добавлен 20.11.2009Компоненты и архитектура интеллектуального агента, его дополнение средствами обучения. Различные подходы к созданию искусственного интеллекта, перспективы его развития. Этические и моральные последствия разработки интеллектуальных машин и программ.
реферат [708,9 K], добавлен 02.03.2014