Курс не претендует на полноту, скорее это способ поиграться руками с основными областями, где 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, кто помогал в подготовке, отвечал на вопросы, присылал фидбек, напоминал что надо все выложить, итд итп.
Наконец, всем кто следил за стримами на канале, задавал вопросы в реалтайме и вообще создавал ощущение, что я не со стеной разговариваю.
От души.
Комментарии (20)
polsok
15.06.2018 20:10А можно лекции выпустить как записи в текстовом варианте. А то видеоуроки не очень располагают к изучению.
sim0nsays Автор
15.06.2018 20:11Мне казалось, это как раз современный формат обучения, буквы уже никто не читает!
Если серьезно, то если кто-то осилит на основе этого собрать методичку текстом — было бы просто замечательно. Я не осилю :(AlexMal
15.06.2018 21:18+1Видео формат удобен для введения в материал. Чтобы на примерах и ассоциациях разобраться с определениями, а вот уже глубины — для меня, более удобно в текстовом формате, потому что удобно когда весь текст перед глазами и можно прыгать от одного места к другому, делать сопоставления и анализ.
А так, огромное спасибо за материал, давно в планах углубиться в эту тему, однозначно в закладки!
Посмотрим, может придет время, когда у меня дойдут руки и голова, для оформления подобных тем в текстовом формате?!..
asakasinsky
15.06.2018 23:09+2Мне казалось, это как раз современный формат обучения, буквы уже никто не читает!
По видео нельзя сделать CTRL+F :-)
Спасибо за проделанную работу!sim0nsays Автор
15.06.2018 23:10Кстати, есть герои, которые просматривают видео и делают тайм-коды (спасибо им!) — так что до определенной степени можно будет.
echo_mont
16.06.2018 02:52-11поздравляю вас за этот милый женский бред! Вы сначала курсы по питону в MITx пройдите, девачки. У вас получилось выбить на тех курсах хотя бы 80 их 100?? Чтобы потом тут показывать народу курсы с ютюба? Я прошел их, но ни 1 из Раши там не видел. У меня и сертификат есть
Andronas
16.06.2018 17:44Про питон бы так не сказал, но вот математическую подготовку проходить на англоязычных!!! курсах это борщ. Сразу отсечет больше половины желающих изучить тему.
kraamis
16.06.2018 17:54К тому же на русском есть хорошие курсы. Тот же степик — 2 курса от института биоинформатики. Достаточно, чтобы понимать код и уметь писать простые программы.
Valerij56
16.06.2018 19:15К тому же на русском есть хорошие курсы.
Это хорошо. А ссылки можно?kraamis
16.06.2018 19:19Базовый курс. Самые основы — stepik.org/course/67
Уже конкретная работа и применение — stepik.org/course/512
В принципе под мои задачи этого хватает почти полностью.Andronas
16.06.2018 21:49Хм вообще я имел ввиду курсы по математической подготовке. На степике кстати они тоже есть.
sim0nsays Автор
17.06.2018 02:40Я бы тоже рад упомянть курсы на русском, я написал эти только потому что я про них знаю, что они хорошие.
Нужны:
— Линейная алгебра
— Начальная теория вероятности и статистика
— Матан, в том числе функции многих переменных
Посоветуйте хорошие русскоязычные курсы, я добавлю в пост.yorko
17.06.2018 13:45Вот рекомендации по Python и математике для прохождения открытого курса по машинному обучению (копипаста из нашей группы):
Пока курс не начался, можно повторить математику и Python. Зачем дата саентисту нужна математика – неплохо поясняет Andrej Karpathy. А Python – уже стандарт в области машинного обучения.
Математика
- Если быстро, то можно пройтись по конспектам из специализации Яндекса и МФТИ на Coursera https://yadi.sk/d/yEXkABC_353Zmh (делимся с разрешения).
- Если основательно подходить к вопросу, хватит вообще одной ссылки на MIT Open Courseware https://ocw.mit.edu/courses/mathematics/. На русском классный источник – Wiki-страница курсов ФКН ВШЭ http://wiki.cs.hse.ru/. Но я бы взял программу МФТИ 2 курса и прошелся по основным задачникам, там минимум теории и много практики.
- И конечно, ничто не заменит хороших книг (тут можно и программу ШАДа упомянуть):
– Математический анализ – Кудрявцев
– Линейная алгебра – Кострикин
– Оптимизация – Boyd (англ.)
- Теория вероятностей и матстатистика – Кибзун
Python
- Быстрый вариант – браузерные тьюториалы а-ля CodeAcademy, Datacamp и Dataquest, тут же могу указать свой репозиторий https://github.com/Yorko/python_intro.
- Основательней – например, мэйловский курс на Coursera https://habrahabr.ru/company/mailru/blog/336880/ или MIT-шный https://www.edx.org/course/introduction-computer-science-mitx-6-00-1x-11
- Продвинутый уровень – курс питерского Computer Science Center https://compscicenter.ru/courses/python/2015-autumn/
kraamis
16.06.2018 05:47Надо будет глянуть. Я курс по нейросетям на Степике прослушал, но там очень кратко изложено, и больше упирают на математику процесса, нежели на практику.
nikolay_karelin
16.06.2018 12:28Насчет текстовой версии: YouTube делает автоматом субтитры, я слышал, что народ их довольно быстро расшифровывает и приводит в человеческий вид.
zamenator
Спасибо. отличные лекции и стримы, теперь все в одном месте!