Шаг 20.
Основы создания нейросети на Python. Как работают нейронные сети. Пример использования матричного умножения в сети с тремя слоями (окончание)

    На этом шаге мы рассмотрим работу с последним слоем нейронной сети.

    Как рассчитать прохождение сигнала для третьего слоя? Точно так же, как и для второго, поскольку эта задача на самом деле ничем не отличается от предыдущей. Нам известна величина входных сигналов, получаемых третьим слоем, как ранее была известна величина входных сигналов, получаемых вторым слоем. У нас также есть весовые коэффициенты для связей между узлами, ослабляющие сигналы. Наконец, чтобы отклик сети максимально правдоподобно имитировал естественный процесс, мы по-прежнему можем применить функцию активации. Поэтому вам стоит запомнить следующее: независимо от количества слоев в нейронной сети, вычислительная процедура для каждого из них одинакова - комбинирование входных сигналов, сглаживание сигналов для каждой связи между узлами с помощью весовых коэффициентов и получение выходного сигнала с помощью функции активации. Нам безразлично, сколько слоев образуют нейронную сеть - 3, 53 или 103, ведь к любому из них применяется один и тот же подход.

    Итак, продолжим вычисления и рассчитаем сглаженный комбинированный входной сигнал X = W ⋅ I для третьего слоя.

    Входными сигналами для третьего слоя служат уже рассчитанные нами выходные сигналы второго слоя Oскрытый. При этом мы должны использовать весовые коэффициенты для связей между узлами второго и третьего слоев Wскрытый_выходной, а не те, которые мы уже использовали для первого и второго слоев. Следовательно, мы имеем:

    Xвыходной = Wскрытый_выходной ⋅ Oскрытый 

    Поэтому, действуя, как и прежде, мы получаем для сглаженных комбинированных входных сигналов последнего выходного слоя следующее выражение:

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

    Все, что нам остается, - это применить сигмоиду, и сделать это не составляет труда.

    Есть! Мы получили сигналы на выходе нейронной сети. Опять-таки, отобразим текущую ситуацию на обновленной диаграмме.

    Таким образом, в нашем примере нейронной сети с тремя слоями выходные сигналы имеют следующую величину: 0,726; 0,708 и 0,778.

    Итак, нам удалось успешно описать распространение сигналов по нейронной сети, т.е. определить величину выходных сигналов при заданных величинах входных сигналов.

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

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

    На следующем шаге мы рассмотрим корректировку весовых коэффициентов.




Предыдущий шаг Содержание Следующий шаг