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

Итоги занятия

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

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

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


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

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

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

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

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

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

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

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

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

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


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

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

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

Печать