4 ТЕМА пратика
4 тема:Кодирование выходных значений
Искусственные нейронные сети способны обучаться. Воспринимая множество примеров, они могут самостоятельно находить в данных закономерности и выделять скрытые в них признаки.
Искусственные нейронные сети во многих задачах показывают очень неплохие результаты.
Закономерный вопрос — насколько нейронные сети похожи на реальный мозг?
Ответ на этот вопрос важен главным образом для того, чтобы понять, можно ли, развивая идеологию искусственных нейронных сетей, добиться того же, на что способен человеческий мозг?
Важно понять, носят ли различия косметический или идеологический характер.
Как это ни удивительно, но очень похоже, что реальный мозг противоречит всем базовым принципам искусственных нейронных сетей. Это вдвойне удивительно, учитывая, что изначально искусственные нейронные сети создавались как попытка воспроизвести именно биологические механизмы. Но в том и коварство подобных ситуаций. Очень часто то, что на первый взгляд выглядит правдоподобно, на поверку оказывается полной противоположностью того, что есть на самом деле.
Принцип 1. Каждый нейрон – это детектор некого свойства.
Реальный нейрон, если описывать его упрощенно, выглядит достаточно просто. На дендритах располагаются синапсы. Синапсы контактируют с другими нейронами. Сигналы от других нейронов через синапсы поступают в тело нейрона, где суммируются. Если сумма превышает определенный порог, то возникает собственный сигнал нейрона – спайк, он же потенциал действия. Спайк распространяется по аксону и поступает на другие нейроны. Синапсы могут менять свою чувствительность. Таким образом нейрон может настраиваться реагировать на определенные комбинации активности других нейронов.
Все это хотя и выглядит достаточно правдоподобно очень далеко от работы реальных нейронов. Но пока мы описываем классическую модель и будем следовать такой логике.
Упрощенная схема реального нейрона
Из описанного выше с неизбежностью следует формальная модель – искусственный нейрон Маккалока — Питтса, разработанный в начале 1940-х годов (Маккалох Дж., Питтс У., 1956).
Формальный нейрон Маккалока — Питтса
На входы такого нейрона подаются сигналы. Эти сигналы взвешенно суммируются. Далее к этой линейной комбинации применяется некая нелинейная функция активации, например, сигмоидальная. Часто как сигмоидальную используют логистическую функцию:
Принцип 2. Информация в нейронной сети – это признаковое описание.
В классическом представлении каждый нейрон видит картину активности других нейронов, которые создают его входной сигнал. При этом каждый нейрон является детектором чего-то. Если собрать входной сигнал в вектор, то получится так называемое признаковое описание.
Принцип 3. Нейронная сеть, как правило, – это преобразователь признаковых описаний.
Вход нейронной сети – это признаковое описание. Результат работы – также признаковое описание, но состоящее уже из других признаков. Например, если мы хотим сделать сеть, которая будет узнавать цифры по их изображению, то входными признаками могут быть значения яркости точек картинки, а выходными распознанные цифры.
Принцип 4. Количество нейронов в сети определяет число признаков, с которыми может работать эта сеть.
Количество нейронов на каком-либо слое сети определяет то, сколько максимально признаков доступно для выделения этому слою. Обычно количество нейронов в сети задается изначально перед началом обучения. Так как заранее неизвестно, сколько полезных признаков может выделиться, то оптимальное число нейронов в слоях подбирают итерационно. В принципе, можно при необходимости «на лету» добавлять новые нейроны, но это требует особого подхода к обучению и связано с существенными сложностями.
Принцип 5. Обучение сети – это настройка весов соединяющих нейроны связей.
Детектором какого свойства является тот или иной искусственный нейрон определяется тем, какие значения принимают его веса. Обучение нейронной сети происходит за счет такого изменения весов нейронов, которое оптимизирует те требования, что мы к этой сети предъявляем.
Активация выходных нейронов
Каждый выходной нейрон получает информацию о том, какие есть воспоминания, в которых нашлось что-то общее с входным сигналом, и информацию об уровне этих совпадений. Из этой информации надо сделать вывод о том, какова вероятность, что перед нами тот образ, на который происходило обучение. Из сравнения вероятности для всех выходных нейронов надо принять решение, какой из них предпочтительнее и достаточен ли вообще уровень достигнутой вероятности для появления выходного сигнала.
Бинарное кодирование выхода сети
Допустим, что нам удалось разрешить все сложности и создать такие воспоминания и выходные нейроны, которые позволяют уверенно проводить обучение с учителем и последующее распознавание. Теперь зададимся вопросом – сколько нейронов должно быть в выходном слое? В классических нейронных сетях и в той сети, что мы описали выше, ответ очевиден – столько, сколько планируется выходных признаков.
Кодирование выхода сети бинарным кодом
Если мы посмотрим на сеть, которая получилась в результате, то окажется, что она уже мало напоминает традиционные нейронные сети, хотя и полностью сохраняет всю их функциональность.
Do'stlaringiz bilan baham: |