Нейросеть и системы: лекции без путаницы в классификациях
Системы, нейросеть, лекции: как собрать учебную карту архитектур, способов обучения и задач, чтобы не смешивать разные классификации в конспекте перед зачётом.
А
Андрей
Преподаватель, научный редактор
6 мин чтения
«Многослойная, с учителем, классификатор». Я увидел такой ряд в конспекте и попросил студента выбрать лишнее слово. Он выбрал «классификатор». На деле ошибочным был сам ряд: это признаки, по которым можно описать одну и ту же модель. Когда ищешь системы, нейросеть, лекции перед зачётом, полезно сначала разнести названия по вопросам. Тогда страницы курса перестают выглядеть списком несвязанных терминов.
Я собрал для вводного занятия три колонки: как устроены связи, как организовано обучение и что модель должна выдавать. Каждому новому термину сначала ищу колонку. Только потом читаю формулу. Такой порядок не заменяет лекции, зато помогает понять, почему в одной теме обсуждают слои, в другой ответы для обучения, а в третьей распознавание образов.
О чём эти лекции: нейросеть как модель или вся система?
На курсе по нейросетевым системам предметом может быть сама вычислительная модель, её обучение и применение. Это отличается от урока пользования чат-ботом. Проверить смысл названия я начинаю с программы: какие объекты определяются, какие алгоритмы выводятся, что предстоит считать на практике.
Например, в программе ИНТУИТ «Основы теории нейронных сетей» перечислены искусственный нейрон, персептроны, обучение, обратное распространение, сети Хопфилда и самоорганизующиеся сети. Это теоретический учебный маршрут. Список кнопок готового сервиса на его месте не поможет. Я проверил описание и первую лекцию: основания для карты там действительно есть.
В оглавлении я ищу конкретные признаки учебной лекции:
Определение модели и принятые обозначения.
Алгоритм или свойство, которое предстоит объяснить.
Слово «система» шире отдельной модели. В прикладной работе вокруг неё появляются подготовка входа, хранение данных, проверка результата и способ его использовать. Но вводную лекцию не стоит сразу превращать в проект промышленного сервиса. Я отмечаю границу: сегодня мы разбираем модель и классификации, а устройство всей программы обсудим отдельно.
По каким вопросам я разделяю нейросетевые системы?
В моём учебном листке всего 3 строки. Они не перечисляют все варианты сетей: они запрещают смешивать разные основания деления.
Вопрос · Что записываю в эту колонку · Что сюда не относится
Как связаны вычислительные элементы? — Слои, направление связей, наличие обратных связей — Наличие готовых целевых ответов
Какая информация дана при обучении? — Входы и цели для обучения с учителем; иная постановка без заданных целевых ответов — Название прикладной задачи
Какой результат нужен? — Категория, числовой прогноз, группировка объектов — Число скрытых слоёв само по себе
Одна сеть может оказаться многослойной, обучаться с учителем и решать классификацию. Противоречия нет. Три фразы отвечают на три вопроса. Когда студент предлагает поставить их в один список «видов нейросетей», я прошу назвать основание списка. На этом месте ошибка обычно становится видна без подсказки.
При этом колонки связаны: выбранная задача влияет на данные и устройство модели. Независимость вопросов не означает, что сочетать признаки можно произвольно. Для начала нужно научиться хотя бы правильно задавать вопрос к каждому признаку, а уже потом обсуждать ограничения сочетаний.
Чем обратные связи отличаются от обратного распространения?
Это место я разбираю медленнее остальных. Похожее слово провоцирует ложную связь: если ошибка идёт «обратно», значит, сеть рекуррентная. Нет. В одном случае речь о связях вычислительной архитектуры, в другом о вычислении производных при обучении.
В сети прямого распространения выход слоя передаётся дальше по ходу вычисления. В архитектуре с обратными связями возможна зависимость от предыдущего состояния. Обратное распространение ошибки нужно для расчёта того, как параметры влияют на потери. Его название не превращает прямую сеть в сеть с обратными связями.
Я выписал рядом две фразы: «куда передаётся результат вычисления» и «как вычисляется изменение ошибки». После такой записи прошу студента объяснить разницу без слова «обратно». Если объяснение снова сводится к стрелке назад, мы ещё не разобрались. Возвращаемся к рисунку архитектуры и отдельно к задаче обучения.
В каком порядке читать лекции, если термины уже смешались?
Раньше я предлагал перечитать всё с первой страницы. Это редко помогало: человек снова проходил тот же маршрут и спотыкался там же. Теперь сначала ищу первое место, где термину приписали неверную роль.
Для самостоятельного повторения предлагаю такой порядок:
Найди в своей программе тему искусственного нейрона и выпиши, что у него на входе и выходе.
Открой тему архитектуры и подпиши, что означают линии между элементами.
В теме обучения отдели данные, целевой результат и правило изменения параметров.
У примера применения запиши задачу и способ проверки ответа.
Номер лекции зависит от курса. Я не объявляю этот порядок обязательной программой для всех вузов: преподаватель мог начать с приложения и вернуться к теории позже. Здесь важна зависимость понятий. Если непонятно, что обновляется при обучении, дополнительные названия архитектур только увеличат список непонятного.
Подробный числовой разбор уже есть в статье о принципе работы нейросети. Я отправляю туда, когда нужно посчитать один шаг. На учебной карте другая работа: увидеть, к какому вопросу этот шаг относится и чего он ещё не объясняет.
Как попросить чат помочь с картой лекций?
Для LibraChat я предлагаю задание по уже имеющемуся конспекту, а не просьбу «объясни все нейросети». Сначала сам выбираю небольшой фрагмент и помечаю, где сомневаюсь.
Разбери термины из моего конспекта: [вставь список и несколько соседних предложений]. Для каждого укажи, какой вопрос он описывает: устройство связей, постановку обучения или прикладную задачу. Если термин относится к другому вопросу, создай отдельную колонку и объясни зачем. Не исправляй определение молча. Отметь неоднозначные места и задай вопросы, по которым я смогу свериться с лекцией. Затем предложи один пример пересечения признаков.
Результат такого разбора тоже проверяю. У слова «обучение» может быть бытовое значение, а у «слоя» разные соглашения подсчёта. Я не прошу чат объявить преподавателя неправым по одному вырванному предложению. Сначала возвращаю контекст: какой объект назван, какие обозначения приняты и что утверждается дальше.
Для проверки понимания я придумал маленькое задание: скрыть колонку вопросов и восстановить её по своим определениям. Если для каждого пункта получается только «это разновидность нейросети», карточка ещё слишком общая. Нужна формулировка, которая отличает признак от соседнего. Я попробовал тот же приём с исходным рядом из трёх слов: теперь каждое получило собственный вопрос, и выбирать «лишнее» уже незачем.
Возьми пять терминов из последней лекции и попробуй разнести их по колонкам. Подготовку карточек на целый семестр планируй с учётом тарифов LibraChat. Начать можно с листа бумаги: напиши над первым термином вопрос, на который он отвечает. Если вопрос найден, возвращаться к формуле станет понятнее.