Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Приобретение знаний обучением машин



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

· расширить круг решаемых задач;

· получать более точные решения;

· получать решения с меньшими затратами;

· упростить уже имеющиеся знания.

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

· множество информационных структур, в которых фиксируется текущий уровень развития системы (правила);

· алгоритм работы системы (исполнитель), который использует эти правила для управления активностью системы;

· модуль обратной связи (критик), который сопоставляет достигнутые результаты с желаемыми;

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


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

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

Схема работы алгоритма эволюционного обучения состоит в следующем.

1. Случайным образом создается начальная популяция правил.

2. Для каждого правила вычисляется показатель его работы.

3. Определяются вероятности выбора правил по накопленным показателям их работы.

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

5. Повторяются все предыдущие пункты, начиная со второго.

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

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

Контрольные вопросы и задания

1. Что называют процессом приобретения знаний?

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

3. Что означают требования прозрачности и качества работы для систем, основанных на знаниях, от чего зависит их выполнение?

4. Назовите основные виды потенциальных источников знаний для создаваемой интеллектуальной системы.

5. Перечислите и охарактеризуйте способы приобретения знаний.

6. Опишите сценарий процесса приобретения знаний.

7. Создание системы состоит из двух основных фаз. Что это за фазы и какие стадии в них входят?

8. Охарактеризуйте решаемые вопросы и получаемый результат на стадии идентификации.

9. Охарактеризуйте решаемые вопросы и получаемый результат на стадии концептуализации.

10. В чем состоит принципиальное отличие стадии концептуализации от стадии идентификации?

11. Охарактеризуйте решаемые вопросы и получаемый результат на стадии формализации.

12. В чем состоит отличие распределения ролей эксперта и инженера знаний на этапах формализации и концептуализации?

13. Охарактеризуйте решаемые вопросы и получаемый результат на стадии реализации.

14. Что является главной целью деятельности по созданию прототипной версии на этапе реализации?

15. Охарактеризуйте решаемые вопросы и получаемый результат на стадии тестирования.

16. Назовите наиболее часто встречающиеся ошибки и недостатки прототипной версии системы.

17. Что означает перестроение прототипной версии?

18. Что понимают под обучением машины?

19. Назовите основные компоненты системы, способной к обучению, и охарактеризуйте их функции.

20. Опишите принципы, на которых основаны эволюционные методы обучения машин.

21. В чем заключается основная идея учения Дарвина о принципах биологической эволюции?

22. В чем заключается основная идея учения Менделя о принципах биологической эволюции?

23. В чем состоит назначение и принцип работы оператора кроссинговер?

24. В чем состоит назначение и принцип работы оператора мутация?

25. В чем состоит назначение и принцип работы оператора инверсия?

26. Опишите схему работы алгоритма эволюционного обучения.

6. Нейронные сети [2, 4, 6]

Основные понятия теории нейронных сетей

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

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

 
 

Нейрон мозга имеет четыре основные части (рис. 6.1): тело, входные каналы, выходной канал и соединительные точки между нейронами, называемые синапсами.

Рис. 6.1. Основные части биологического нейрона

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

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


Искусственные нейроны (рис. 6.2) имитируют работу нейронов мозга. Искусственные нейроны также называют узлами, единицами или ячейками.

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

Каждый искусственный нейрон получает на свои входы («дендриты») сигналы с выходов («аксонов») многих других нейронов и может находиться, по аналогии с нервными клетками головного мозга, в возбужденном или заторможенном состоянии. Текущее состояние s искусственного нейрона определяется как взвешенная сумма его входов , i = 0, …, n, – порог нейрона.

Роль «синапсов» в искусственном нейроне выполняют весовые коэффициенты , i = 1, …, n. Весовой коэффициент характеризует силу синаптической связи между выходом посылающего сигнал нейрона и входом принимающего этот сигнал нейрона.

Выход y нейрона есть функция y = f (s)его состояния, называемая выходной или передаточной функцией. Передаточная функция f может иметь различный вид, как показано на рис. 6.3.


Пороговая передаточная функция может принимать только два значения: пока значение s ниже порога, выход нейрона y всегда имеет низкое значение (равен 0); пока значение s выше порога, выход нейрона всегда имеет высокое значение (равен 1). При значении s, равном порогу, выход нейрона y совершает скачок от низкого значения к высокому (если s увеличивается) или от высокого к низкому (если s уменьшается). Пороговую передаточную функцию использовали Маккаллок и Питтс в своих ранних (1943 г.) исследованиях нейронных сетей (см. об этом работу [2, с. 4]).

Линейная пороговая передаточная функция – это функция, выход которой y равен константе, умноженной на вход s, пока вход находится в некотором заданном интервале. Ниже этого интервала функция имеет постоянное низкое значение (равна 0), а выше этого интервала – постоянное высокое значение (равна 1). Центром является значение s, при котором y = 0,5. Прирост значения этой функции в пределах интервала равен наклону линейной части кривой. Линейная пороговая передаточная функция позволяет строить нейронные сети, обладающие более интересным поведением, чем сети, построенные с помощью пороговой передаточной функции.

Сигмоидальная передаточная функция известна также как
S -образная фунция, полулинейная функция, функция с насыщением или логистическая функция. В общем виде логистическая кривая описывается выражением . В качестве передаточной функции искусственного нейрона обычно используется логистическая функция вида . При уменьшении b сигмоид становится более пологим, в пределе при b = 0 вырождаясь в горизонтальную линию на уровне y = 0,5, при увеличении b сигмоид приближается по внешнему виду к пороговой функции единичного скачка с порогом в точке s = 0.

Из выражения для сигмоида очевидно, что выходное значение нейрона лежит в диапазоне [0,1]. Центр сигмоида – это значение его входа s, при котором значение выхода y = 0,5. Прирост значения выхода сигмоида прямо пропорционален производной функции в центральной точке.

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

Гауссова передаточная функция, известная также как колоколообразная, является наиболее необычной передаточной функцией в нейронных сетях. При использовании этой функции нейрон формирует отклик на вход избирательно. Центром служит значение входа s, при котором выход y = 1. Прирост пропорционален гауссову отклонению. Полезность этой передаточной функции находится в стадии исследований.

Слои нейронов. Нейронная сеть состоит из соединенных между собой нейронов. Выбор способа соединения нейронов между собой – один из наиболее важных вопросов при построении нейронной сети. Нейроны могут размещаться в трех типах мест (см. рис. 6.4): во входном слое, во внутренних (скрытых) слоях, в выходном слое.

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


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

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

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

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

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


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

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

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

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

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

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

Существует много различных правил обучения. Наиболее известные из них это правило Хебба, Дельта-правило и правило обратного распространения ошибки (Back Propagation Rule).

Правило Хебба применяется при обучении без учителя. Правило Хебба усиливает соединения между одновременно возбужденными нейронами, изменяя веса соединений по формуле

,

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

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

,

где – изменение веса соединения от нейрона j к нейрону i; – правильный ответ (выход нейрона i); – выход нейрона j; – активация нейрона i; – темп обучения.

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





Дата публикования: 2014-11-02; Прочитано: 707 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.011 с)...