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

Традиционно считается, что нейронные сети устроены очень сложно, для их использования нужно очень хорошо знать математику, программировать на языке C++, а также разбираться в тонкостях параллельных и высокопроизводительных вычислений. Однако в последнее время ситуация изменилась: появилось большое количества готовых к использованию библиотек для обучения нейронных сетей. С помощью этих библиотек достаточно просто начать применять нейронные сети для решения практических задач, даже если у вас нет детального понимания внутреннего устройства нейронных сетей.

Курс посвящен именно практическому применению нейронных сетей с использованием готовых библиотек Keras и TensorFlow. Вы научитесь применять эти библиотеки для решения задач анализа изображений и текстов.

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

Структура курса

Курс состоит из видеолекций и практических работ.

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

Практические работы содержат задания для самостоятельного выполнения на анализ открытых наборов данных. Задания рекомендуется выполнять в бесплатной облачной платформе Google Colaboratory. Там уже установлены Keras, TensorFlow и много других полезных библиотек, а также есть достаточно мощный GPU Tesla K80. Если есть желание, то вы можете установить Keras на свой компьютер и выполнять все задания у себя.

Материалы курса

Основы обучения глубоких нейронных сетей

  1. Введение.
  2. Лекция “Искусственные нейронные сети”.
  3. Лекция “Обучение нейронных сетей”.
  4. Лекция “Библиотеки для глубокого обучения”.
  5. Лекция “Распознавание рукописных цифр”.
  6. Лекция “Анализ качества обучения нейронной сети”.
  7. Практическая работа “Распознование рукописных цифр из набора данных MNIST на Keras” (ноутбук в Colaboratory).
  8. Лекция “Решение задачи регрессии” (ноутбук в Colaboratory).
  9. Лекция “Сохранение обученной нейронной сети”.
  10. Лекция “Сверточные нейронные сети”.
  11. Лекция “Распознавание объектов на изображениях”.
  12. Практическая работа “Распознавание объектов на изображениях с помощью Keras” (ноутбук в Colaboratory).
  13. Лекция “Рекуррентные нейронные сети”.
  14. Лекция “Анализ текстов с помощью рекуррентных нейронных сетей”.
  15. Практическая работа “Определение тональности отзывов на фильмы с помощью Keras” (ноутбук в Colaboratory).

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

  1. Лекция “Анализируем изображения с помощью нейронных сетей”.
  2. Лекция “Предварительно обученные нейронные сети в Keras”.
  3. Лекция “Как подготовить собственный набор изображений для обучения нейронной сети в Keras”.
  4. Лекция “Перенос обучения (Transfer Learning)”.
  5. Практика “Распознавание собак и кошек на изображениях”.
  6. Лекция “Тонкая настройка нейронной сети (Fine Tuning)”.
  7. Лекция “Анализ признаков, извлеченных нейросетью”.
  8. Лекция “Дополнение данных (Data Augmentation)”.
  9. Соревнования по распознаванию рукописных цифр MNIST на Kaggle.
  10. Лекция “Визуализация сверточной нейронной сети”.
  11. Проект “Распознавание человека по лицу на фотографии”.
  12. Проект “Поиск объектов на изображениях”.

Анализ текстов с помощью глубоких нейронных сетей

Новый раздел, скоро будут подготовлены материалы.

Особенности работы Keras

  1. Обзор возможностей Keras.
  2. Визуализация качества обучения нейросети.
  3. Сохранение нейросети в процессе обучения.
  4. Остановка обучения нейросети при переобучении.

Необходимое программное обеспечение

В курсе используется библиотека Keras, которая входит в TensorFlow. Все библиотеки распространяются бесплатно.

Примеры кода протестированы на Python 3, дистрибутив Anaconda.

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

Если вы хотите установит Keras и TensorFlow на свой компьютер, то можете использовать следующие инструкции:

Примеры программ

Полные тексты программы есть в репозитории курса на GitHub.

Дополнительные материалы

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

Как помочь

Если курс вам показался полезным, то помогите, пожалуйста, распространить информацию о нем. Рекомендуйте своим друзьям в социальных сетях. Ставьте лайки и пишите комментарии к видео на YouTube, т.к. активность учитывается YouTube при показе видео в поиске и в похожих видео.

Если вы хотите поддержать развитие курса деньгами, то можете использовать следующие варианты:

  1. PayPal.
  2. Яндекс Кошелек.

Всем заранее спасибо за помощь и поддержку!

Благодарности

При реализации проекта используются средства поддержки, выделенные в качестве гранта на основании конкурса, проведенного Общероссийской общественно-государственной просветительской организации «Российское общество «Знание».