- PVSM.RU - https://www.pvsm.ru -

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

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

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

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

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

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

В хорошем курсе должны быть доступны и лекции, и упражнения, и место, где можно задать по ним вопросы и обсудить. Здесь они собраны с миру по нитке:
— Лекции существуют как записи на Youtube [7].
— В качестве упражнений можно использовать задания великолепных Стенфордских курсов по DeepLearning (CS231n [8] и CS224n [9]), я ниже напишу какие конкретно.
— Обсуждать и спрашивать можно на ClosedCircles [10] и ODS.ai [11].

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

Лекция 1: Введение [12]
Лекция 2: Линейный классификатор [13]
Лекция 2.1: Softmax [14]

Упражнение: секции «k-Nearest Neighbor» и «Softmax classifier» отсюда [15]
По специфике задания могут помочь вот эти lecture notes [16].

Лекция 3: Нейронные сети. Backpropagation. [17]
Лекция 4: Нейронные сети в деталях. [18]

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

Лекция 5: Сверточные нейронные сети (CNN) [20]
Лекция 6: Библиотеки для глубокого обучения [21]

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

Лекция 7: Другие задачи компьютерного зрения [23]
Лекция 8: Введение в NLP. word2vec [24]

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

Лекция 9: Рекуррентные нейронные сети (RNN) [26]
Лекция 10: Машинный перевод, Seq2Seq. [27]

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

Лекция 11: Введение в обучение с подкреплением(RL), базовые алгоритмы [29]
Лекция 12: Примеры использования RL. Alpha(Go)Zero. [30]
Лекция 13: Нейросети в 2018. [31]

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

Все вопросы по курсу можно задавать мне лично или обсуждать в кружочке #data на ClosedCircles.com [32] (вот инвайт [10]).
Кроме этого, задания можно обсуждать в канале #class_cs231n на ODS.ai [11], там помогут. Для этого придется получить туда инвайт, отправляйте заявки.

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

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

Прежде всего, огромное спасибо buriy [33], с которым мы готовили курс.
Спасибо родной кафедре [1], которая дала вообще такую возможность.
Всем в тусовках на ODS.ai и ClosedCircles, кто помогал в подготовке, отвечал на вопросы, присылал фидбек, напоминал что надо все выложить, итд итп.
Наконец, всем кто следил за стримами на канале, задавал вопросы в реалтайме и вообще создавал ощущение, что я не со стеной разговариваю.
От души.

Автор: sim0nsays

Источник [34]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/obrabotka-izobrazhenij/282954

Ссылки в тексте:

[1] кафедры АФТИ: http://www.phys.nsu.ru/department/index.php/chairs/afti

[2] Новосибирского Государственного Университета: https://www.nsu.ru/n/

[3] вот: https://ocw.mit.edu/courses/mathematics/18-06sc-linear-algebra-fall-2011/index.htm

[4] все: https://ocw.mit.edu/courses/mathematics/18-01sc-single-variable-calculus-fall-2010/

[5] нужные: https://ocw.mit.edu/courses/mathematics/18-02sc-multivariable-calculus-fall-2010/

[6] курсы: https://projects.iq.harvard.edu/stat110/about

[7] записи на Youtube: https://www.youtube.com/watch?v=k17viOWIq4Q&list=PL5FkQ0AF9O_pTeRf6UjyfnsRbMyema6I3

[8] CS231n: http://cs231n.stanford.edu/

[9] CS224n: http://web.stanford.edu/class/cs224n/

[10] ClosedCircles: http://closedcircles.com/?invite=00ac4df6498006bf1865f70cdc0086e15d04b64a

[11] ODS.ai: http://ods.ai/

[12] Лекция 1: Введение: https://youtu.be/riLQCudri7Q

[13] Лекция 2: Линейный классификатор: https://youtu.be/ZNDbcxLDCOs

[14] Лекция 2.1: Softmax: https://youtu.be/64nwedrxjPo

[15] отсюда: http://cs231n.github.io/assignments2018/assignment1/

[16] lecture notes: http://cs231n.github.io/linear-classify/

[17] Лекция 3: Нейронные сети. Backpropagation.: https://youtu.be/Q7V3SkBd9jM

[18] Лекция 4: Нейронные сети в деталях.: https://youtu.be/OJlqsLg4E9Q

[19] отсюда: http://cs231n.github.io/assignments2018/assignment2/

[20] Лекция 5: Сверточные нейронные сети (CNN): https://youtu.be/ZJedoQlhBwA

[21] Лекция 6: Библиотеки для глубокого обучения: https://youtu.be/whNAaM4NwKw

[22] отсюда: http://cs231n.github.io/assignments2018/assignmen2/

[23] Лекция 7: Другие задачи компьютерного зрения: https://youtu.be/LFQPUYDUpvg

[24] Лекция 8: Введение в NLP. word2vec: https://youtu.be/Sofqhhhei7I

[25] отсюда: http://cs224d.stanford.edu/assignment1/index.html

[26] Лекция 9: Рекуррентные нейронные сети (RNN): https://youtu.be/ADcu9rWK_3I

[27] Лекция 10: Машинный перевод, Seq2Seq.: https://youtu.be/nKEUrjgg57Q

[28] знаменитого поста Andrej Karpathy: http://karpathy.github.io/2015/05/21/rnn-effectiveness/

[29] Лекция 11: Введение в обучение с подкреплением(RL), базовые алгоритмы: https://youtu.be/rT7ccYM8vxQ

[30] Лекция 12: Примеры использования RL. Alpha(Go)Zero.: https://youtu.be/D1aGAKqeyo4

[31] Лекция 13: Нейросети в 2018.: https://youtu.be/k17viOWIq4Q

[32] ClosedCircles.com: http://ClosedCircles.com

[33] buriy: https://habr.com/users/buriy/

[34] Источник: https://habr.com/post/414165/?utm_campaign=414165