Перейти к основному содержимому

Машинное и глубокое обучение

ОНЛАЙН-УЧЕБНИК

Виктор Владимирович Китов


Об учебнике

Приветствую, уважаемый посетитель. Этот онлайн-учебник посвящен увлекательной, перспективной и бурно развивающейся теме машинного обучения (machine learning) и глубокого обучения (deep learning), позволяющей наделять компьютерные программы возможностью принимать сложные интеллектуальные решения, автоматически настраиваемые по наблюдаемым данным.

Онлайн-учебник создан и написан Виктором Владимировичем Китовым и содержит базовые темы читаемых автором курсов на факультете вычислительной математики и кибернетики (ВМК) в МГУ им. М.В.Ломоносова и в магистратуре Т-Банка для студентов МФТИ.

Структура учебника

Учебник состоит из двух частей, посвящённых машинному и глубокому обучению.

Первая часть учебника посвящена классическим алгоритмам машинного обучения. Рассматривается полный цикл решения задач регрессии и классификации. В учебнике раскрываются следующие темы:

  • Какие задачи решаются с помощью машинного обучения?
  • Какие существуют алгоритмы машинного обучения?
  • Как объединять несколько прогнозирующих моделей в ансамбль так, чтобы итоговые прогнозы получались ещё точнее?
  • Как подготовить данные для обработки?
  • Как настраивать модели машинного обучения?
  • Как оценить качество полученных моделей?
  • Как проинтерпретировать их прогнозы?

Вторая часть учебника посвящена нейронным сетям. В ней рассматриваются следующие темы:

  • Какие задачи можно решать с помощью нейронных сетей?
  • Как с их помощью обрабатывать изображения, последовательности, временные ряды, тесты и графы?
  • Какие бывают виды нейронных сетей?
  • Как обучать нейросетевые модели? Как сделать обучение более эффективным?
  • Какие есть подходы к регуляризации (упрощению) нейронных сетей?

Помимо классических задач регрессии и классификации рассматриваются и более специфические задачи для каждой предметной области:

  • Как на изображениях выделить объекты заданных типов? (например, машины и людей)
  • Как обрабатывать тексты и последовательности произвольной длины, чтобы при обработке помнить все исторические наблюдения?
  • Как с помощью нейросетей описать сложные объекты более экономично и компактно?
  • Как закодировать слова текста так, чтобы близким по смыслу словам отвечали похожие кодировки?
  • Как генерировать в качестве прогноза модели не вектор чисел, а последовательность произвольной длины?
  • Как построить вопросно-ответную систему и систему машинного перевода с одного языка на другой?
  • Как обрабатывать данные, заданные в виде графа?
  • Как строить прогнозы для графа целиком и для его отдельных вершин и рёбер? Как восстанавливать недостающие рёбра графа?

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

Задача учебника

Мои образовательные курсы проходят по презентациям и с мелом у доски. Однако мне, как автору, была близка идея создать максимально комфортные условия для освоения предмета, и чтобы сами образовательные материалы по базовым темам были публично доступны, причём не только для моих студентов, но и для всех заинтересованных лиц, круг которых значительно шире. Если вам помогли материалы учебника, пишите на deepmachinelearning@yandex.ru, значит мой труд был не зря! Также вы можете распространить информацию об учебнике среди ваших друзей и коллег по работе.

Составление учебника велось исходя из следующих принципов:

  • Дать полноту картины, чтобы читатель, последовательно читающий главы, мог понять контекст каждой темы и её связь со смежными темами.
  • Сделать текст максимально доступным, описывая решаемую в каждом случае задачу на простых примерах и сопровождая текст поясняющими иллюстрациями и схемами.
  • Дать возможность читателю разобраться в принципах работы основных алгоритмов не только на интуитивном уровне, но и по сути за счёт объяснения их работы математическими формулами и псевдокодом.
  • По уровню сложности учебник сделан для широкого круга читателей, уверенно владеющими основами высшей математики (это язык data science), но которые не имели предварительного знакомства с машинным и глубоким обучением. Поэтому повествование ведётся с самых основ, с разбором мотивации, лежащей в основе каждого принципа и метода, приведением иллюстративных примеров, а также с изучением основных параметров и настроек. Акцент учебника сделан на детальном описании базовых принципов, алгоритмов и блоков машинного и глубокого обучения, на основе которых читатель уже может составлять собственные решения или модифицировать имеющиеся за пределами пресловутого "stack more layers", т.е. механического наращивания дополнительных слоёв нейросети. А самые современные методы вы впоследствии всегда можете изучить на отдельном тематическом ресурсе Papers With Code: The latest in Machine Learning, посвящённом отслеживанию лучших решений в каждой предметной области.

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

    По общей тематике и формату учебник похож на аналогичный проект - учебник по машинному обучению от уважаемых коллег из школы анализа данных Яндекса. Однако материалы данного учебника создавались независимо на основе англоязычных учебников и статей-первоисточников, а учебник Яндекса практически не использовался. Поэтому содержимое учебников получилось различным по структуре и форме подачи материала, с разными авторскими акцентами. Часть тем присутствует только в этом учебнике, а часть - только в учебнике Яндекса. Мотивированному читателю рекомендуется ознакомиться с обоими источниками, чтобы получить более разностороннее представление о предмете.

    Использование материалов

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

    Разработка и систематизация материалов поддержана грантом некоммерческого фонда развития науки и образования «Интеллект».

    Логотип: designed by freepik.