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

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

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

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

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

Практические работы содержат задания для самостоятельного выполнения на анализ открытых наборов данных (MNIST, CIFAR-10 и IMDB Movie Review Dataset) с использованием глубоких нейронных сетей и примеры программ, которые можно использовать в качества образца.

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

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

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

Используется библиотека Keras, а также Theano или TensorFlow в качестве вычислительного бэкенда. Все библиотеки распространяются бесплатно.

Примеры кода протестированы на Python 3 и Theano. Инструкции по установке Keras:

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

  1. Сверточная нейронная сеть для распознавания рукописных цифр MNIST.
  2. Соревнования по распознаванию рукописных цифр MNIST на Kaggle.

Проекты по глубоким нейронным сетям

  1. Распознавание человека на фотографии.

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

https://github.com/sozykin/dlpython_course.

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

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