Чтобы построить нейронную сеть , изучающую нелинейности , начните со следующей знакомой структуры модели: линейная модель вида .
Мы можем визуализировать это уравнение, как показано ниже, где , и — это наши три входных узла (отмечены синим цветом), а — это наш выходной узел (отмечены зеленым).
Упражнение 1
В приведенной выше модели значения веса и смещения были инициализированы случайным образом. Выполните следующие задачи, чтобы ознакомиться с интерфейсом и изучить линейную модель. На данный момент вы можете игнорировать раскрывающийся список «Функция активации» ; мы обсудим эту тему позже в этом модуле.
Нажмите кнопку «Воспроизвести» (▶️) над сетью, чтобы вычислить значение выходного узла для входных значений , и .
Щелкните второй узел входного слоя и увеличьте значение с 2,00 до 2,50. Обратите внимание, что значение выходного узла изменяется. Выберите выходные узлы (зеленые) и просмотрите панель «Расчеты», чтобы увидеть, как было рассчитано выходное значение.
Щелкните выходной узел (зеленый), чтобы увидеть значения параметров веса (, , ) и смещения (). Уменьшите значение веса для (опять же обратите внимание, что значение выходного узла и приведенные ниже вычисления изменились). Затем увеличьте значение смещения. Посмотрите, как эти изменения повлияли на выходные данные модели.
Добавление слоев в сеть
Обратите внимание: когда вы корректировали значения веса и смещения сети в упражнении 1 , это не изменило общую математическую связь между входными и выходными данными. Наша модель по-прежнему является линейной.
Но что, если мы добавим в сеть еще один уровень между входным и выходным слоями? В терминологии нейронной сети дополнительные слои между входным слоем и выходным слоем называются скрытыми слоями , а узлы в этих слоях называются нейронами .
Значение каждого нейрона в скрытом слое рассчитывается так же, как и выходные данные линейной модели: берется сумма произведения каждого из его входов (нейронов в предыдущем сетевом слое) и уникального весового параметра, плюс предвзятость. Аналогичным образом, нейроны в следующем слое (здесь, выходном слое) рассчитываются с использованием значений нейронов скрытого слоя в качестве входных данных.
Этот новый скрытый слой позволяет нашей модели рекомбинировать входные данные, используя другой набор параметров. Может ли это помочь нашей модели изучить нелинейные зависимости?
Упражнение 2
Мы добавили в модель скрытый слой, содержащий четыре нейрона.
Нажмите кнопку «Воспроизвести» (▶️) над сетью, чтобы вычислить значение четырех узлов скрытого слоя и выходного узла для входных значений , и .
Затем изучите модель и используйте ее, чтобы ответить на следующие вопросы.
Попробуйте изменить параметры модели и понаблюдайте, как это повлияет на значения узлов скрытого слоя и выходное значение (вы можете просмотреть панель «Расчеты» ниже, чтобы узнать, как были рассчитаны эти значения).
Может ли эта модель изучать нелинейности?