Искусственные нейронные сети
Искусственные нейронные сети – это такие, которые состоят из особых элементов – нейронов. Они являются математической моделью биологических нейронов, то есть клеток, которые составляют нервную систему человека.
Впервые о нейронных сетях заговорили в 1943 году, а после изобретения перцептрона Розенблатта наступила золотая эра, и сети приобрели большую популярность. Однако после публикации работы Минского в 1969 году, в которой ученый доказал неэффективность перцептрона при некоторых условиях, интерес к этой отрасли резко упал. Но на этом история искусственных сетей не заканчивается. В 1985 году Дж. Хопфилд представил свои исследования и доказал, что нейронные сети – прекрасный инструмент для машинного обучения.
Из биологии было позаимствовано несколько понятий и принципов. Нейрон – это разновидность переключателя, который получает, а затем передает импульсы (сигналы). В случае если нейрон получает достаточно мощный импульс, считается, что он активирован и передает импульсы остальным нейронам, связанным с ним. Нейрон же, который остался не активированным, остается в состоянии покоя, импульс он не передает. Состоит нейрон из нескольких основных компонентов: синапсов, которые соединяют нейроны друг с другом и получают импульсы, аксона, задача которого передавать импульсы, и дендрита, который получает сигналы из разных источников. Когда нейрон получает импульс выше определенного порога, он сразу же передает сигнал следующим нейронам.
Математическая модель немного отличается. Вход математической модели нейрона – это вектор, который состоит из большого количества компонент. Каждая их компонента – это 1 из импульсов, которые получает нейрон. Выходом модели является одно число. То есть, внутри модели входной вектор преобразовывается в скаляр, в дальнейшем передающийся другим нейронам.
Нейронные сети можно обучать двумя способами: с учителем и без. Процесс обучения состоит из нескольких шагов. Сначала на вход сети подается стимул извне. Затем в соответствии с правилами изменяются свободные параметры нейронной сети, после чего сеть отвечает на входные стимулы уже по-другому. Процесс нужно повторять до тех пор, пока сеть не решит задачу. Алгоритм обучения с учителем состоит в том, что во время обучения сеть уже имеет правильный ответ. Этот метод успешно применяют для решения многих прикладных задач, однако его часто критикуют за то, что он биологически неправдоподобен. Нейронные сети обучаются без учителя в том случае, когда известны лишь входные сигналы. На их основе сеть постепенно учится давать лучшие значения выходов.
Применение нейронных сетей действительно разнообразно. Часто их используют для автоматизации распознавания образов, прогнозирования, создания различных экспертных систем, аппроксимации функционалов. С помощью такой сети можно выполнить распознавание звуковых либо оптических сигналов, предсказать показатели биржи, создать системы, способные к самообучению, которые могут, например, синтезировать речь по заданному тексту или парковать автомобиль. Нейронные сети на западе применяются более активно, к сожалению, отечественные фирмы еще не взяли на вооружение эту методику.
Несмотря на преимущества ИНС над обычными вычислениями в некоторых областях, существующие нейронные сети - не идеальные решения. Так как они способны к обучению, могут они и ошибаться. Кроме этого, нельзя точно гарантировать, что разработанная нейросеть будет оптимальной. Разработчик обязан понимать природу решаемой проблемы, иметь множество информации, которая проблему характеризует, получить данные для тестирования и обучения сети, правильно выбрать метод обучения, передаточную функцию и функции сумматора.