Нейросеть

Работа мозга

НЕЙРОСЕТИ

Особенности генетических алгоритмов

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

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

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

Нетрудно построить математическую модель описанного процесса. Пусть на входе будет набор чисел (вектор) xk, который соответствует импульсам, получаемым нейроном по дендритам. Эти значения при прохождении по дендритам умножаются на веса wk, и к телу нейрону поступает суммарный сигнал x=w1x1+w2x2+w3x3.Он преобразуется в соответствии с некоторой передаточной функцией f(x).На выход подается импульс y=f(x)=f(w1x1+w2x2+w3x3).
Таким образом, нейрон полностью описывается набором весов wk и своей передаточной функцией f(x).

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

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: