Comments 31
А можно лекции выпустить как записи в текстовом варианте. А то видеоуроки не очень располагают к изучению.
Мне казалось, это как раз современный формат обучения, буквы уже никто не читает!
Если серьезно, то если кто-то осилит на основе этого собрать методичку текстом — было бы просто замечательно. Я не осилю :(
Видео формат удобен для введения в материал. Чтобы на примерах и ассоциациях разобраться с определениями, а вот уже глубины — для меня, более удобно в текстовом формате, потому что удобно когда весь текст перед глазами и можно прыгать от одного места к другому, делать сопоставления и анализ.
А так, огромное спасибо за материал, давно в планах углубиться в эту тему, однозначно в закладки!
Посмотрим, может придет время, когда у меня дойдут руки и голова, для оформления подобных тем в текстовом формате?!..
Мне казалось, это как раз современный формат обучения, буквы уже никто не читает!

По видео нельзя сделать CTRL+F :-)

Спасибо за проделанную работу!
Кстати, есть герои, которые просматривают видео и делают тайм-коды (спасибо им!) — так что до определенной степени можно будет.
Хорошая подача, спасибо автору)) На русском языке подобное тяжело найти
UFO landed and left these words here
Про питон бы так не сказал, но вот математическую подготовку проходить на англоязычных!!! курсах это борщ. Сразу отсечет больше половины желающих изучить тему.
К тому же на русском есть хорошие курсы. Тот же степик — 2 курса от института биоинформатики. Достаточно, чтобы понимать код и уметь писать простые программы.
К тому же на русском есть хорошие курсы.
Это хорошо. А ссылки можно?
Хм вообще я имел ввиду курсы по математической подготовке. На степике кстати они тоже есть.
Я бы тоже рад упомянть курсы на русском, я написал эти только потому что я про них знаю, что они хорошие.
Нужны:
— Линейная алгебра
— Начальная теория вероятности и статистика
— Матан, в том числе функции многих переменных

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

Вот рекомендации по Python и математике для прохождения открытого курса по машинному обучению (копипаста из нашей группы):


Пока курс не начался, можно повторить математику и Python. Зачем дата саентисту нужна математика – неплохо поясняет Andrej Karpathy. А Python – уже стандарт в области машинного обучения.


Математика


  1. Если быстро, то можно пройтись по конспектам из специализации Яндекса и МФТИ на Coursera https://yadi.sk/d/yEXkABC_353Zmh (делимся с разрешения).
  2. Если основательно подходить к вопросу, хватит вообще одной ссылки на MIT Open Courseware https://ocw.mit.edu/courses/mathematics/. На русском классный источник – Wiki-страница курсов ФКН ВШЭ http://wiki.cs.hse.ru/. Но я бы взял программу МФТИ 2 курса и прошелся по основным задачникам, там минимум теории и много практики.
  3. И конечно, ничто не заменит хороших книг (тут можно и программу ШАДа упомянуть):
    – Математический анализ – Кудрявцев
    – Линейная алгебра – Кострикин
    – Оптимизация – Boyd (англ.)
    • Теория вероятностей и матстатистика – Кибзун

Python


  1. Быстрый вариант – браузерные тьюториалы а-ля CodeAcademy, Datacamp и Dataquest, тут же могу указать свой репозиторий https://github.com/Yorko/python_intro.
  2. Основательней – например, мэйловский курс на Coursera https://habrahabr.ru/company/mailru/blog/336880/ или MIT-шный https://www.edx.org/course/introduction-computer-science-mitx-6-00-1x-11
  3. Продвинутый уровень – курс питерского Computer Science Center https://compscicenter.ru/courses/python/2015-autumn/
– Оптимизация – Boyd (англ.)

Convex optimizations, или что-то другое? В первом случае Nocedal «Numerical optimizations» будет лучше (имхо), т.к. покрывает несколько больше тем, и чуть ближе к практике.

yorko а чего khanacademy не был упомянут? Там, как мне показалось, достаточное количество разноплановой математики.

UFO landed and left these words here
Надо будет глянуть. Я курс по нейросетям на Степике прослушал, но там очень кратко изложено, и больше упирают на математику процесса, нежели на практику.

Насчет текстовой версии: YouTube делает автоматом субтитры, я слышал, что народ их довольно быстро расшифровывает и приводит в человеческий вид.

С непривычки трудно разобраться со структурами данных.

Раньше думал, что объект класса NeuralNet на шаге forward должен получать один обучающий пример и по нему дальше делать шаг градиентного спуска.

В отладчике смотрю — на шаге forward сеть получает на вход сразу пачку (batch). Непонятно, — как пачке делается дифференцирование и обратный проход?

#кусок из MNIST https://goo.gl/XTMVDF
class NeuralNet(nn.Module):
    def __init__(self, input_size, hidden_size, num_classes):
        super(NeuralNet, self).__init__()
        self.fc1 = nn.Linear(input_size, hidden_size) 
        self.relu = nn.ReLU()
        self.fc2 = nn.Linear(hidden_size, num_classes)  
    
    def forward(self, x):
        out = self.fc1(x)     #<<< len(x)=100  len(x[0])=728  <<<<<<<<!!!
        out = self.relu(out)
        out = self.fc2(out)
        return out


точно так же — по одному.
ошибка считается для каждого, потом вектор ошибок идет обратно.
вес каждого меняется на среднее dL/dW от всех.
За курс большое спасибо!!!
Есть вопрос по приведенной статье Карпатина.
Что-то как-то ловко он дифференцирует.
image

если разберусь, выложу перевод на русском
А f разве зависит от theta? (Не читал статью, просто посмотрел на картинку, там только p параметризирована theta)
Кому интересно — смотрите перевод упомянутой в курсе статьи Карпати по обучению с подкреплением.

Пока осторожно публикую предпросмотр по ссылке.
https://yadi.sk/d/6bV50MRmRypduQ

Если будут вопросы или уточнения, пишите на dim3r@yandex.ru или ответом на этот комент.
Only those users with full accounts are able to leave comments. Log in, please.