Нейронные сети: Интерактивные упражнения

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

Упражнение 1

Следующий виджет настраивает нейронную сеть со следующей конфигурацией:

  • Входной слой с 3 нейронами, содержащими значения 0.00 , 0.00 и 0.00
  • Скрытый слой с 4 нейронами
  • Выходной слой с 1 нейроном
  • Функция активации ReLU применяется ко всем узлам скрытого слоя и выходному узлу.

Проверьте первоначальную настройку сети (обратите внимание: пока не нажимайте кнопки ▶️ или >| ), а затем выполните задачи, расположенные под виджетом.

Задание 1

Значения всех трех входных признаков для модели нейронной сети равны 0.00 . Щелкните по каждому узлу в сети, чтобы увидеть все инициализированные значения. Прежде чем нажать кнопку «Воспроизвести» ( ▶️ ), ответьте на этот вопрос:

Как вы думаете, какое значение будет получено в результате: положительное, отрицательное или равное 0?
Положительное значение выходного сигнала
Отрицательное выходное значение
Выходное значение: 0

Теперь нажмите кнопку «Воспроизвести» (▶️) над сетью и наблюдайте, как заполняются значения скрытого слоя и выходного узла. Ваш ответ выше был правильным?

Задание 2

Прежде чем модифицировать нейронную сеть, ответьте на следующий вопрос:

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

Теперь изменим нейронную сеть, добавив новый скрытый слой с 3 узлами следующим образом:

  1. Нажмите кнопку «+» слева от текста «1 скрытый слой» , чтобы добавить новый скрытый слой перед выходным слоем.
  2. Дважды нажмите кнопку «+» над новым скрытым слоем, чтобы добавить к слою еще 2 узла.

Ваш ответ выше был правильным?

Задание 3

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

Если изменить значение веса w 12 (отображается под первым входным узлом, x 1 ), то это может повлиять на вычисления других узлов для некоторых входных значений?
Никто
Второй узел в первом скрытом слое, все узлы во втором скрытом слое и выходной узел.
Все узлы в первом скрытом слое, во втором скрытом слое и в выходном слое.

Теперь щелкните в текстовом поле для веса w 12 (отображается под первым входным узлом, x 1 ), измените его значение на 5.00 и нажмите Enter. Наблюдайте за изменениями на графике.

Ваш ответ верен? Будьте внимательны при проверке ответа: если значение узла не меняется, означает ли это, что базовый расчет не изменился?

Упражнение 2

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

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

Инструкции:

В интерактивном виджете ниже:

  1. Измените гиперпараметры нейронной сети, поэкспериментировав с некоторыми из следующих параметров конфигурации:
    • Добавляйте или удаляйте скрытые слои, нажимая кнопки + и - слева от заголовка «СКРЫТЫЕ СЛОИ» на сетевой диаграмме.
    • Добавляйте или удаляйте нейроны из скрытого слоя, нажимая кнопки + и - над столбцом, содержащим данные о скрытом слое.
    • Измените скорость обучения, выбрав новое значение из выпадающего списка «Скорость обучения» над диаграммой.
    • Измените функцию активации, выбрав новое значение из выпадающего списка «Активация» над диаграммой.
  2. Нажмите кнопку «Воспроизвести» (▶️) над диаграммой, чтобы обучить модель нейронной сети, используя указанные параметры.
  3. В разделе «Выходные данные» вы можете наблюдать за визуализацией модели, подгоняющей данные под условия обучения, а также за значениями потерь на тестовом и обучающем этапах.
  4. Если модель не достигает значения функции потерь ниже 0,2 на тестовых и обучающих данных, нажмите кнопку «Сброс» и повторите шаги 1–3 с другим набором параметров конфигурации. Повторяйте этот процесс, пока не добьетесь желаемых результатов.