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

Это тщательно подобранный список того, что я бы порекомендовал в качестве ресурсов для изучения различных аспектов глубокого обучения, в значительной степени вдохновленный этим репозиторием Github, хотя и основанный на моем личном опыте. Я намерен почти регулярно обновлять этот список по мере выхода новых статей или если мне удастся найти какие-то статьи, которые действительно повлияли на меня.

Этот список для чтения относительно длинный, и я не утверждаю, что прочитал каждое слово на каждой странице. Однако я твердо верю в создание хорошей основы: учитывая, насколько обширно нынешнее состояние глубокого обучения, если вы начинаете с нуля, вам предстоит многое наверстать. Мой совет - подходить ко всему постепенно и учиться тому, что вам нужно, когда вам нужно; это неизбежно, но возможно!

Создание хорошего фундамента

Нравится вам это или нет, но глубокое обучение требует значительных базовых знаний как в линейной алгебре, так и в статистике; вам понадобится хороший прочный фундамент, прежде чем вы сможете построить особняк. Первое является требованием для понимания основной механики, лежащей в основе каждой модели, и развитие хорошей интуиции для линейной алгебры может дать вам представление о некоторых трюках, используемых для некоторых моделей (например, декодеры внутреннего продукта, начальная архитектура). Базовое понимание последнего требуется для некоторых более простых задач, например, для классификации. Когда мы подходим к более сложным проблемам, опыт байесовской статистики чрезвычайно полезен: эти идеи формируют основу для вероятностного моделирования, которое используется для генеративных моделей - моделей, которые создают новые данные на основе того, что было изучено.

Что касается линейной алгебры, я на самом деле не рекомендую учебник математики. Вместо этого я рекомендую Математика для квантовой химии; не позволяйте названию сбить вас с толку, потому что первые несколько глав в уже очень короткой книге дают вам краткое руководство и хороший справочник по свойствам линейной алгебры. Квантовая химия на самом деле использует тот же механизм, что и глубокое обучение (есть много умножения матриц и факторизации), и все они были разработаны для решения приближений к уравнению Шредингера. Вы научитесь выражать концепции в виде базисных функций, проекций и решения линейных уравнений. Книга издана Dover, поэтому ее очень дешево забрать, и ее приятно иметь при себе!

Что касается статистики, я обычно избегаю типичных университетских учебников, в которых основное внимание уделяется проверке гипотез (т. Е. p -значениям), которые могут быть широко распространены в психологии и биологии. Предпосылка, лежащая в основе многих этих идей, - частотная, и, по моему скромному мнению, вам гораздо лучше думать как байесовский статистик (хотя и не слишком сильно из-за страха быть парализованным неопределенностью). По этой причине я рекомендую Байесовский анализ данных Гельмана, Карлина, Стерна и Рубина, а также для более прикладной книги Статистическое переосмысление: байесовский курс с примерами в R и Стэн Макэлрит. Первый, в частности, позволяет сформулировать любую проблему с точки зрения вероятности и предоставляет тематические исследования, чтобы понять, как байесовская статистика может помочь нам решить реальные проблемы и понять роль неопределенности.

Построение каркаса дома

Я бы порекомендовал вам два конкретных ресурса, которые помогут вам окончательно подготовиться: Глубокое обучение от трех гигантов в этой области: Иэна Гудфеллоу, Йошуа Бенджио и Аарона Курвилля, а также курс Эндрю Нг по углубленному изучению. .ai. Первый обеспечивает чрезвычайно прочную основу и теоретические основы основ глубокого обучения, в то время как курс Эндрю Нг более прагматичен, учит вас, как реализовать эти модели с нуля. Хорошей книгой, сопровождающей курс Эндрю Нга, является книга Франсуа Шоле Deep Learning with Python. В обоих случаях значительное внимание уделяется Tensorflow и Keras (по понятным причинам), хотя изучение с помощью Deep Learning должно дать вам достаточно абстракции для реализации многих основ.

По сути, комбинации этих трех материалов достаточно, чтобы вы начали экспериментировать с моделями глубокого обучения. Конечно, это легче сказать, чем сделать, потому что вы много читаете, но ваше будущее будет вам благодарно!

На данный момент многие из новейших концепций глубокого обучения взяты из научных статей: в отличие от многих других областей, практически весь материал доступен без платы за обучение. Нам повезло, что исследователи машинного обучения и глубокого обучения, как правило, загружают значительное количество своих статей на arXiv, что не относится к другим дисциплинам (например, химии, физике и т. Д.). Я рекомендую найти то, что вам интересно решить, и начать работать над чтением статей, в которых предлагаются решения этих проблем. Например, если вы работаете с изображениями, взгляните на сверточные модели: AlexNet, LeNet, Inception и другие (в указанном порядке). Если вы работаете с числовыми / последовательными данными, обратите внимание на повторяющиеся нейронные сети. Этот репозиторий Github содержит основные статьи, сделанные еще несколько лет назад, и охватывает наиболее важные статьи, относящиеся к большинству современных разработок. Если я не упомяну одну из этих статей, она, вероятно, будет в этом хранилище.

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

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

Конкретные темы

Динамика обучения и возможности

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

Автоэнкодеры

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

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

Вероятностные модели

Книга Байесовский анализ данных должна обеспечить хорошую основу для этого раздела: несмотря на название раздела, основное внимание уделяется регистрации неопределенности модели, а-ля байесовской статистики. Количественная оценка неопределенности является неотъемлемой частью рационального принятия решений, дополняя общую тему «сделать ИИ заслуживающим доверия» для разработки политики, беспилотных автомобилей и всего прочего. Этот раздел ни в коем случае не является исчерпывающим, и я намерен его расширять.

Обучение с подкреплением

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

Графические модели

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

Выводы

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

Не стесняйтесь обращаться ко мне, если у вас есть вопросы или если вы думаете, что я что-то пропустил, и я должен добавить это в список! Кроме того, дайте мне знать, помогло ли это вам вообще!