
Нейронные сети.pptx
- Количество слайдов: 28
Искусственные нейронные сети Решение задачи распознавания образов
Сравнение архитектуры компьютера и возможностей биологической нейронной системы
Естественная нейронная сеть Человечески й мозг – естественная нейронная сеть. • 1011 нейронов (нервных клеток); • 1015 передающих связей (нервных волокон, соединяющих нейроны друг с другом); • Решение сложных интеллектуальных задач (распознавание образов, ассоциативная память и т. д. ).
Биологический нейрон
Искусственный нейрон
Как работает искусственный нейрон? С каждого входа поступает сигнал (значение переменной); Сигнал умножается на вес соответствующе й связи; Все произведения вес*значение входа складываются; От полученной суммы берется некоторая функция (функция активации); Полученный результат обрабатывается или передается дальше.
Функция активации Виды активационных функций: а) единичного скачка; б) линейного порога; в) гиперболический тангенс; г) сигмоид.
Что это нам дает? Линейно разделяемое пространство возможных значений; Распараллеливание вычислений (все делится на простейшие операции суммы-произведения); Возможность обучения (на примерах или самообучение) посредствам регулирования весовых коэффициентов связей; Решение большого числа сложных задач.
Решение логических задач с помощью одного нейрона, проблема линейно неразделяемых пространств Решение задачи логического И (ИЛИ); Решение задачи XOR. X Y X&Y X XOR Y 0 0 0 0 1 1 1 0 0 1 1 1 1 0
Обход проблемы линейной неделимости пространства При использовании многослойной нейронной сети проблему линейной неделимости можно решить. Промежуточный слой (слои) многослойной нейронной сети позволяют преобразовать исходное пространство признаков в линейно разделяемое пространство.
Виды нейронных сетей Однослойные; Многослойные; Рекуррентные (с обратными связями); Сети со специфической архитектурой (самоорганизующиеся карты Кохонена, RBF-сети, и т. д. ).
Однослойная сеть
Многослойная сеть
Рекуррентная сеть
Дополнительная классификация архитектур нейронных сетей количество слоев: - однослойные; - многослойные; наличие обратных связей: - прямого распространения; - рекуррентные; полнота связей: - полносвязные; - неполносвязные; однородность активационной функции для нейронов: - гомогенные; - гетерогенные; вид активационной функции: - единичного скачка; линейного порога; сигмоид; гиперболический тангенс; другие; вид результата: - бинарные; - аналоговые.
Обучение нейронных сетей Основные парадигмы обучения: С учителем (нейронной сети подаются пары: входные данные + правильный ответ и в процессе обучения весовые коэффициенты настраиваются таким образом, чтобы сеть получала правильный ответ на заданный вход); Без учителя (нейронной сети подаются только входные данные, а весовые коэффициенты настраиваются автоматически таким образом, чтобы решить поставленную перед сетью задачу); Смешанная.
Алгоритмы обучения подбираются под определенные архитектуры нейронных сетей, хотя есть и общие алгоритмы для разных архитектур. Правило коррекции ошибок; Алгоритм обратного распространения ошибки; Обучение Больцмана; Правило Хебба; Обучение методом соревнований; И др.
Алгоритм обратного распространения ошибки Суть алгоритма: Получение выходного сигнала; Вычисление вектора градиента поверхности ошибки; Распространение сигнала об ошибке в обратном направлении; Минимизация вектора градиента поверхности ошибки; Т. к. в алгоритме применяется «метод градиентного спуска» , то при расчетах используются производные функций активации, поэтому для данного алгоритма подходят только непрерывные функции активации (гиперболический тангенс, сигмоид и др. )
Алгоритм обратного распространения ошибки Выбор функции активации. Чаще всего в данном алгоритме применяется функция: Сигмоид. Функция: Производная:
Алгоритм обратного распространения ошибки Алгоритм: Шаг 1. Подать на входы сети один из возможных учебных образцов и рассчитать результат. Шаг 2. Рассчитать (N) для выходного слоя по формуле (1) Шаг 3. Рассчитать по формулам (2) (n) для всех остальных слоев, n=N-1, . . . 1. Шаг 4. Рассчитать по формуле (3) или (4) изменения весов w(N) слоя N. Шаг 5. Скорректировать все веса в НС по формуле (5) Шаг 6. Если ошибка сети существенна, перейти на Шаг 1. В противном случае – конец.
Алгоритм обратного распространения ошибки Остановка алгоритма: 1) Изучение одного образца: Кол-во итераций; Суммарная ошибка всех нейронов сети меньше определенного числа; Средняя ошибка всех нейронов сети меньше определенного числа; Среднее изменение весовых коэффициентов за последний шаг меньше определенного числа. 2) Изучение партии образцов: Кол-во итераций (общее); Суммарная ошибка всех нейронов сети меньше определенного числа (для всех образцов партии); Средняя ошибка всех нейронов сети меньше определенного числа (для всех образцов партии); Среднее изменение весовых коэффициентов за последний шаг меньше определенного числа (для всех образцов партии); Нейронная сеть правильно определяет определенный процент исходных образцов.
Задачи, решаемые нейронными сетями Распознавание образов; Кластеризация; Аппроксимация функций; Прогнозирование; Управление; Сжатие данных; Ассоциативная память.
Применение нейронных сетей Биология (медицина); Энергетика; Робототехника; Радары (цифровые измерительные приборы); Космические аппараты (спутники, луноходы и т. д. ); Нефтегазодобывающая промышленность (элементы программ, моделирующих залежи или переток жидкостей).
Задача распознавания образов Обобщенная постановка задачи: Даны несколько классов (кошки, собаки, рыбы); В каждом классе известен некоторый набор объектов; Для всех объектов определен перечень признаков (рост, вес, цвет, запах, вкус и т. д. ); Признаки одинаковы для всех классов, различаются только значения признаков в конкретных объектах классов; Дан контрольный объект с известными значениями признаков; Необходимо определить к какому из заданных классов относится данный объект.
Решение задачи распознавания образов с помощью нейронной сети Количество входов сети = количеству признаков; Количество выходов сети (нейронов на последнем слое) = количеству классов; Веса задаются произвольно; На вход подается некоторый объект (задаются значения признаков объекта как значения каждого входа сети); После прямого прохода определяется значения нейронов последнего слоя; Определяется какой нейрон получил наибольшее значение – тогда класс, за который отвечал данный нейрон считается искомым классом переданного объекта; При несоответствие полученного класса с правильным запускается алгоритм обучения; После правильного различения всех исходных объектов сеть считается обученной и способна в дальнейшем решать эту задачу самостоятельно.
Учебная задача распознавания Даны закодированные значения цифр (изображения, переведенные в сигналы 0, 1 7*9 точек)
Учебная задача распознавания Данные приведены в файлах 0000000 0111110 0000010 0111110 0100000 0111110 0000000 Исходная картинка приведена в строчку: 00001111100000010011111001000000111110000
Учебная задача распознавания Необходимо написать программу, на основе нейронной сети, позволяющую распознавать минимум 3 -и цифры (1, 2, 3). Дополнительные баллы: - Возможность задавать кол-во слоев, нейронов на слоях и т. д. ; - Распознавание всех цифр (от 0 до 9); - Прочие «бантики» .
Нейронные сети.pptx