Первая нейронная сеть

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

Задача 1: Данная модель объединяет два наших входных признака в один нейрон. Изучит ли эта модель какие-либо нелинейности? Запустите его, чтобы подтвердить свое предположение.

Задача 2. Попробуйте увеличить количество нейронов в скрытом слое с 1 до 2, а также попробовать перейти от линейной активации к нелинейной активации, такой как ReLU. Можете ли вы создать модель, способную изучать нелинейности? Может ли он эффективно моделировать данные?

Задача 3. Попробуйте увеличить количество нейронов в скрытом слое с 2 до 3, используя нелинейную активацию, такую ​​как ReLU. Может ли он эффективно моделировать данные? Как качество модели меняется от запуска к запуску?

Задача 4. Продолжайте экспериментировать, добавляя или удаляя скрытые слои и нейроны на каждом слое. Также не стесняйтесь менять скорость обучения, регуляризацию и другие настройки обучения. Какое наименьшее количество нейронов и слоев вы можете использовать, чтобы потери в тестах составляли 0,177 или меньше?

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

  • Первый скрытый слой с 3 нейронами.
  • Второй скрытый слой с 3 нейронами.
  • Третий скрытый слой с двумя нейронами.

(Ответы приведены сразу под упражнением.)