новости  материалы  справочник  форум  гостевая  ссылки  
Новости
Материалы
  Логические подходы
  Нейронные сети
  Генетические алгоритмы
  Разное
  Публикации
  Алгоритмы
  Применение
Справочник
Форум
Гостевая книга
Ссылки
О сайте
 

Что такое нейронные сети?

Нейронные сети - это небольшие модели, созданные по подобию биологических нейронных сетей. Ученые создают такие модели для получения интеллектуальных свойств в различных системах. Нейронные сети могут быть использованы в областях, где традиционные методы вычислений затруднены и малоэффективны, например, в распознавании лиц, символов. Ранние нейронные сети назывались многослойными персептронами (MLP).

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

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

Представьте себе, что необходимо составить аналогичную "классическую" программу, то есть, руководствуясь заранее определенным набором правил. Скорее всего, на практике это недостижимо!

Нейронная структура мозга была впервые описана МакКаллохом и Питтсом в 40-ые гг. Многослойные персептроны сперва казались весьма многообещающими, затем последовали годы забвения и критики, и только сравнительно недавно в связи развитием вычислительной техники произошло их возвращение к жизни. Сегодня они начинают появляться везде - от системы управления небольшим роботом, который находится в лабиринте, до искусственного носа, способного учуять разницу между хорошим вином и уксусом.

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

Конечно, они могут использоваться и иначе. Нейронные сети могут использоваться для хранения комплексных данных. При предъявлении части комплексных данных или зашумленных (испорченных) данных они могут восстановить исходный набор. Ниже приведен пример такого использования сетей. Нейронной сети предъявляется четверть исходного набора, она же восстанавливает весь исходный набор.

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

Особенности нейронных сетей.

Сети состоят из элементарных единиц - клеток, соединенных друг с другом таким образом, чтобы передавать сигналы. На практике сигнал, передаваемый одной клеткой другой клетке, - число в диапазоне от 0 до 1. 0 здесь обозначает отсутствие сигнала как такового, а 1- максимально возможный уровень сигнала.

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

Обучение проходит в несколько шагов. За исключением архитектуры WISARD (которая обучается очень быстро) типичная схема обучения выглядит так:

  1. Сети предъявляется первый входной образец;
  2. Весовые коэффициенты модифицируются в незначительной степени, но так, чтобы увеличить шансы распознавания данного образца впоследствии;
  3. Предъявляется второй образец и повторяется второй шаг;
  4. Повторяют предыдущие шаги для всех образцов;
  5. Повторяют все предыдущие шаги сотни (или даже тысячи!) раз.

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

Обучающая процедура в большинстве случаев выглядит примерно так:

for training_run := 1 to 10000 do
    begin 
        for pattern := 1 to NUMBER_OF_PATTERNS do
            begin 
                present_input_pattern(pattern);
                adjust_strengths
            end
    end

Большинство нейронных сетей подвергают обучению с учителем. Это значит, что им предъявляются входные образцы и соответствующие им выходные, т.е. им предоставлена информация не только о входных факторах, но и о том, что от сети ожидают получить на выходе. Например, сеть может быть обучена распознаванию фотографий людей (как SEXNET от Terry Sejnowski). Обучение с учителем имеет свои преимущества, но мы, - люди компьютерной науки, - можем потратить свое драгоценное время на что-нибудь более интересное, чем кормить с ложечки входными данными какую-то недоразвитую нейронную сеть.

Итак, существует обучение без учителя. Сети дают входные данные, но умалчивают о том, что должно быть на выходе. Вместо этого, сеть разбивает данные для себя на значимые области. Стандартные нейронные сети такого типа - самоорганизующиеся карты (Self-Organizing Maps - SOM) от Тёво Кохонена (университет Хельсинки). Эти сети координируют связи так, что схожие входные образы всегда порождают схожие образы активности. Таким образом, сеть группирует однотипные входные образы. Конечно, такая сеть не в состоянии давать имена образам, но способна выявлять некоторую упорядоченность в хаосе входных образов.


Предыдущая Оглавление Следующая