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

Проектирование нейронных сетей



Чтобы создать нейронную сеть, не требуется понимать её внутреннюю работу, надо лишь знать ответы на следующие основные вопросы: что вы хотите узнать от нейронной сети, какую информацию следует предоставить нейронной сети, как тренировать нейронную сеть, что вы будете делать с тренированной нейронной сетью?

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

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

Данные могут представлять собой символы, картины или числа. Однако нейронные сети могут понимать только числа. Поэтому данные следует преобразовать в числовые значения и нормализовать применительно к используемой передаточной функции, обычно от 0 до 1 или от -1 до +1.

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

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

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

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

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

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

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

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

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. Чем отличается применение нейронной сети от ее тренировки?

7. Мультиагентный подход [5, 6, 12, 13]

Известно, что исследования по искусственному интеллекту, получившие свое развитие от работ 60–70 годов XX века в области логического вывода, основанного на переборе путем поиска на дереве вывода, на работах по формальным грамматикам и естественно-языковому интерфейсу, с середины 80-х годов переживали известный кризис. В основном он был связан с тем, что созданные программные средства обладали очень малой степенью самостоятельности в том, что касается формирования целей и выбора путей решения проблем. Значительное продвижение в решении этих вопросов стало возможным с формированием концепции активного интеллектуального агента.

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





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



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