Статья Автор: Деникина Н.В., Деникин А.В.

Главное с занятия

Что теперь умеешь

  • Читать форму тензора и понимать, что означает каждая ось.
  • Доставать из таблицы строку и столбец и не путать их между собой.
  • Складывать массивы разной формы без единого цикла.
  • Считать выход нейрона тремя способами: умножением, циклом и скалярным произведением.
  • Собрать слой матричным умножением и посчитать, сколько в нём параметров.
  • Прогнать батч через двухслойную сеть с ReLU и сверить результат с PyTorch.

Это и есть прямой проход многослойного перцептрона. Всё, кроме обучения.


Девять правил, которые стоит помнить

Нет примеров — нет обучения. Правило выписывается — пиши программу. Правило есть, но словами не ловится — нужны примеры.

Первая ось — сколько, последняя — что. Первая ось считает примеры, последняя описывает один пример.

Сравнивай формы справа налево. И растянуть можно только единицу.

Смещение прибавляется один раз, а не к каждому признаку.

Скалярное произведение — это свёрнутый цикл. Одно и то же, записанное короче.

Внутренние размеры должны совпасть. Форма результата — внешние размеры сомножителей.

Батч не меняет веса. Веса описывают правило, а не данные.

Без нелинейности слои схлопываются. Сеть из ста слоёв без ReLU равна сети из одного.

Цикл по примерам почти всегда лишний. А тест открывают один раз.


Приём, который работает весь курс

Всё, что написано руками, проверяется сверкой с библиотекой. Если своя реализация расходится с библиотечной, ошибка почти всегда в своей.

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

Что осталось без ответа

Веса мы всё занятие задавали руками. Откуда их берут на самом деле — главный вопрос, который остался открытым.

В программе из пары 6 непонятны ровно три строки: loss, backward и step. На занятии 2 разберём, как измеряют ошибку и как двигают один вес. На занятии 3 соберём обучение целиком и вернёмся к этой программе, чтобы написать её самим.


Какая из операций даёт на выходе одно число?

Сеть: 4 входа, скрытый слой из 3 нейронов, выход из 1. Между слоями ReLU. Сколько всего параметров?

Из сети убрали все функции активации. Что с ней стало?
Загрузка...
Чтобы оставить комментарий, необходимо авторизоваться
💬
Пока нет комментариев. Будьте первым!
Печать