- •Технологии искусственного интеллекта
- •Нечеткое множество. Пустое нечеткое множество. Универсум.
- •Носитель нечеткого множества. Конечное и бесконечное нечеткие множества.
- •Множество α-уровня. Высота нечеткого множества. Ядро, границы и точки перехода нечеткого множества.
- •Нормальное и субнормальное нечеткие множества. Унимодальное нечеткое множество.
- •Основные типы функций принадлежности.
- •Операции над нечеткими множествами.
- •Нечеткие операторы.
- •Лингвистическая переменная.
- •Правила нечетких продукций. Продукционная нечеткая система.
- •Методы нечеткой композиции (вывода). Прямой и обратный методы вывода заключений в системах нечетких продукций.
- •Основные этапы нечеткого вывода.
- •Основные алгоритмы нечеткого вывода.
- •Генетический алгоритм.
- •Нейронные сети. Персептрон.
- •Нейронные сети в искусственном интеллекте – это упрощенные модели биологических нейронных сетей.
- •Персептрон
- •Многослойные нейронные сети
- •Многослойный персептрон
- •Алгоритм обратного распространения ошибки.
- •Недостатки алгоритма обратного распространения ошибки
- •1. Паралич сети
- •2. Локальные минимумы
- •3. Размер шага
- •4. Временная неустойчивость
- •Улучшение работы алгоритма обратного распространения ошибки
- •1. Режим обучения
- •2. Максимизация информативности
- •3. Функция активации
- •4. Целевые значения
- •5. Нормализация входов
- •6. Инициализация
- •7. Обучение по подсказке
- •8. Скорость обучения
3. Функция активации
Многослойный персептрон, обучаемый по алгоритму обратного распространения ошибки, может в принципе обучаться быстрее, если сигмоидальная функция активации нейронов сети является антисимметричной, а не симметричной. Функция активации называется антисимметричной, если:
Стандартная логистическая функция не удовлетворяет этому условию. Эта функция асимметричная:
А эта антисиметричная:
4. Целевые значения
Очень важно, чтобы целевые значения выбирались из области значений сигмоидальной функции активации. Более точно, желаемый отклик нейрона выходного слоя многослойного персептрона должен быть смещен на некоторую величину от границы области значений функции активации в сторону ее внутренней части. В противном случае алгоритм обратного распространения ошибки будет модифицировать свободные параметры сети, устремляя их в бесконечность, замедляя, таким образом, процесс обучения и доводя скрытые нейроны до предела насыщения.
5. Нормализация входов
Все входные переменные должны быть предварительно обработаны так, чтобы среднее значение по всему обучающему множеству было близко к нулю, иначе их будет сложно сравнивать со стандартным отклонением. Для оценки практической значимости этого правила рассмотрим экстремальный случай, когда все входные переменные положительны. В этом случае синаптические веса нейрона первого скрытого слоя могут либо одновременно увеличиваться, либо одновременно уменьшаться. Следовательно, вектор весов этого нейрона будет менять направление, что приведет к зигзагообразному движению по поверхности ошибки. Такая ситуация обычно замедляет процесс обучения и, таким образом, неприемлема. Чтобы ускорить процесс обучения методом обратного распространения, входные векторы необходимо нормализовать в двух следующих аспектах:
входные переменные, содержащиеся в обучающем множестве, должны быть некоррелированы (см. математический анализ);
некоррелированные входные переменные должны быть масштабированы так, чтобы их ковариация была приближенно равной. Тогда различные синаптические веса сети будут обучаться приблизительно с одной скоростью.
На рисунке показан результат трех шагов нормализации: смещения среднего, декорреляции и выравнивания ковариации, примененных в указанном порядке.
6. Инициализация
Хороший выбор начальных значений синаптических весов и пороговых значений сети может оказать неоценимую помощь в проектировании. Но какой выбор является хорошим? Если синаптические веса принимают большие начальные значения, то нейроны, скорее всего, достигнут режима насыщения. Если такое случится, то локальные градиенты алгоритма обратного распространения будут принимать малые значения, что, в свою очередь, вызовет торможение процесса обучения. Если же синаптическим весам присвоить малые начальные значения, алгоритм будет очень вяло работать в окрестности начала координат. В частности, это верно для случая антисимметричной функции активации, такой как гиперболический тангенс. К сожалению, начало координат является стационарной точкой, где образующие поверхности ошибок вдоль одной оси имеют положительный градиент, а вдоль другой – отрицательный. По этим причинам нет смысла использовать как слишком большие, так и слишком маленькие начальные значения синаптических весов. Как всегда, золотая середина находится между этими крайностями.
