Курс о Deep Learning на пальцах

Я все еще не до конца понял, как так получилось, но в прошлом году я слово за слово подписался прочитать курс по Deep Learning и вот, на удивление, прочитал. Обещал — выкладываю!

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

Материалы курса были опробованы на студентах кафедры АФТИ Новосибирского Государственного Университета, поэтому есть шанс, что по ним действительно можно чему-то научиться.

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

— Умения программировать на питоне.

В хорошем курсе должны быть доступны и лекции, и упражнения, и место, где можно задать по ним вопросы и обсудить. Здесь они собраны с миру по нитке:
— Лекции существуют как записи на Youtube.

— В качестве упражнений можно использовать задания великолепных Стенфордских курсов по DeepLearning (CS231n и CS224n), я ниже напишу какие конкретно.

— Обсуждать и спрашивать можно на ClosedCircles и ODS.ai.

Лекции и упражнения

Лекция 1: Введение

Лекция 2: Линейный классификатор

Лекция 2.1: Softmax

Упражнение: секции «k-Nearest Neighbor» и «Softmax classifier» отсюда

По специфике задания могут помочь вот эти lecture notes.

Лекция 3: Нейронные сети. Backpropagation

Лекция 4: Нейронные сети в деталях

Упражнение: секции «Two-Layer Neural Network» отсюда и «Fully-connected Neural Network» отсюда

Лекция 5: Сверточные нейронные сети (CNN)

Лекция 6: Библиотеки для глубокого обучения

Упражнение: секции «Convolutional Networks» и «PyTorch on CIFAR-10» отсюда

Лекция 7: Другие задачи компьютерного зрения

Лекция 8: Введение в NLP. word2vec

Упражнение: секция «word2vec» отсюда

Лекция 9: Рекуррентные нейронные сети (RNN)

Лекция 10: Машинный перевод, Seq2Seq, Attention

Здесь хорошего готового задания я не нашел, но можно реализовать на PyTorch Char-RNN из знаменитого поста Andrej Karpathy и натравить на Шекспира.

Лекция 11: Введение в обучение с подкреплением(RL), базовые алгоритмы

Лекция 12: Примеры использования RL. Alpha(Go)Zero.

Лекция 13: Нейросети в 2018.

Где обсуждать и задавать вопросы

Все вопросы по курсу можно задавать мне лично или обсуждать в кружочке #data на ClosedCircles.com (вот инвайт).

Кроме этого, задания можно обсуждать в канале #class_cs231n на ODS.ai, там помогут. Для этого придется получить туда инвайт самому, отправляйте заявки.

Ну и вообще, звоните-пишите, всегда рад.

Самая приятная секция — благодарности!

Прежде всего, огромное спасибо buriy, с которым мы готовили курс. Спасибо родной кафедре, которая дала вообще такую возможность.

Всем в тусовках на ODS.ai и ClosedCircles, кто помогал в подготовке, отвечал на вопросы, присылал фидбек, напоминал что надо все выложить, итд итп.

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

От души.

Оригинал: Habr


Респект и уважуха

Добавить комментарий