Я все еще не до конца понял, как так получилось, но в прошлом году я слово за слово подписался прочитать курс по 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.
Здесь хорошего готового задания я не нашел, но можно реализовать на 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, кто помогал в подготовке, отвечал на вопросы, присылал фидбек, напоминал что надо все выложить, итд итп.
Наконец, всем кто следил за стримами на канале, задавал вопросы в реалтайме и вообще создавал ощущение, что я не со стеной разговариваю.
От души.
Автор: sim0nsays