Комментарии 29
Во-первых, потому что, что у Matlab, что у Octave нет нормальной IDE уровня pycharm, и как следствие невозможность рефракторить код. => большие проекты очень тяжело поддерживать и улучшать.
Во-вторых, потому при работе с нейронными сетями достаточно много предобработки и постобработки данных и прочей инженерии. Многое можно делать в MatLab, но обычно это море боли.
В-третьих, хочется чтобы при работе с нейронными сетями прокачивались и другие навыки, а именно умение писать код, который пригодится, например, при поиске работы. А MatLab, в индустрии не очень распространен.
Не так давно я написал текст по мотивам работы в стартапе, который использовал MatLab в Data Science и попытался объяснить почему мне это не понравилось. => Из физиков в Data Science (Из двигателей науки в офисный планктон). Вторая часть
Вот прямо сейчас проходит соревнование по машинному обучению, в котором надо предсказать эпилептические припадки => https://www.kaggle.com/c/melbourne-university-seizure-prediction
Его спонсирует Matlab и даже выдает бесплатную лицензию. Можно использовать много различных подходов к этой проблеме, но нейронные сети один из наиболее перспективных. Есть подозрение, что в итоге в топе не будет никого, кто бы использовал MatLab. При всем уважении к этому инструменту есть гораздо более внятные альернативы, которые дадут как минимум не худший результат, но быстрее и с меньшей болью.
Потому что для питона есть куча готовых моделей и на нем написан TensorFlow в который гугл вбахивает очень много
Потому что большинство статей по дип лернингу зачастую имею гитхаб репозитории с готовыми моделями на питоне.
Если рассматривать машинное обучение в целом и если есть желание поколупать математику октав ок. Но есть scikit.learn, numpy, и прочая прочая прочая
Плюс как правильно подсказывают удобные IDE
И еще python notebooks
Я в свое время прошел курс Andrew Ng, который использовал как раз octave
Потом был курс от яндекса на питоне. На питоне легче.
cs231n.stanford.edu использует питон
cs224d.stanford.edu использвет питон
www.udacity.com/course/deep-learning--ud730 тоже использует питон
Если есть большое желание разобраться с нуля именно в дип лернинге то cs231n.stanford.edu
Если нет времени но разобраться все равно хочется, то
http://brohrer.github.io/how_convolutional_neural_networks_work.html
Сложность: средняя. Преподаватель очень хорошо умеет объяснять сложные вещи простыми словами, а не наоборот, умеет доносить интуицию, которая скрывается за тем или иным алгоритмом. Тем не менее, есть требования для входа: человек должен уже обладать знаниями в области машинного обучения + уметь пользоваться Linux.
Упор: практика и бизнес. Теории ровно столько, чтобы уметь решать практические задачи. Серия разборов кейсов — как это все применять в бизнесе и какие есть подводные камни.
Инфраструктура: виртуальная машина с GPU, на которой всю неделю 24/7 можно решать лабораторную работу по классификации изображений.
Поддержка: преподаватель и координатор будут на связи постоянно, помогая в непонятных моментах.
Нетворк: знакомство с людьми, которые развиваются в том же направлении.
Стоимость: программа платная в отличие от большинства онлайн-курсов.
Участие: пока только очное.
Преимущества
- Упор: практика и бизнес. Теории ровно столько, чтобы уметь решать практические задачи. Серия разборов кейсов — как это все применять в бизнесе и какие есть подводные камни.
- Инфраструктура: виртуальная машина с GPU, на которой всю неделю 24/7 можно решать лабораторную работу по классификации изображений.
- Поддержка: преподаватель и координатор будут на связи постоянно, помогая в непонятных моментах.
Недостатки
- Сложность: средняя. Преподаватель очень хорошо умеет объяснять сложные вещи простыми словами, а не наоборот, умеет доносить интуицию, которая скрывается за тем или иным алгоритмом. Тем не менее, есть требования для входа: человек должен уже обладать знаниями в области машинного обучения + уметь пользоваться Linux.
- Стоимость: программа платная в отличие от большинства онлайн-курсов.
- Участие: пока только очное.
то что есть везде можно вынести за скобки я думаю:
- Нетворк: знакомство с людьми, которые развиваются в том же направлении.
И позвольте еще пару вопросов задать по поводу оценок?
В практических заданиях использованы стандартные учебные задачи распознавания изображений и обработки текстов, практические приложения изученных моделей к задачам бизнеса в заданиях отсутствуют и в курсе не обсуждаются.
Почему это плохо? Вам не кажется, что преподы топовых вузов не спроста выбирают всегда именно эти датасеты?
Вводный курс: посвящен собственно нейронным сетям, составляющим основу глубокого обучения, но конкретные видов нейронных сетей, используемых в глубоком обучении, и их приложения в программе курса отсутствуют.
А у вас за 2 дня не вводный?
Это не массовый онлайн курс, а опубликованные в открытом доступе материалы университетского курса.
Так у вас не массовый, может тоже в недостатки?
Ограниченное число студентов, за все время всего 2500 – ограниченные возможности пользоваться форумами и помощью community.
Вы серьезно? Извините, но похоже на высасывание недостатков из пальца.
Ну что добавим в статью это?
1) У меня нет точного знания, почему преподаватели топовых вузов выбирают эти датасеты. Причин может быть масса: нет доступа к другим датасетам; они уже однажды были хорошо разобраны и нет смысла что-то менять (path dependence); они удобны по каким-то другим причинам. Мы можем только догадываться.
2) Конечно, вводный. Я так и написал, что теории ровно столько, чтобы начать решать задачи в этой области. Мы стремимся дать базу, с которой можно работать дальше. Попробовать deep learning на практике на нескольких задачах, убедиться, что это не страшно, и выстроить в голове фреймворк, который дальше можно целенаправленно заполнять, уже понимая, что к чему в этой области. Понятно, что за два дня невозможно стать экспертом в области, но начать им становиться можно.
3) Конечно, не массовый, это же очное участие.
4) По количеству студентов — согласен, тут может быть перегнули.
Спасибо за участие в дискуссии и вопросы!
Давайте начнем с того, что мы не претендуем на истину в последней истанции. Любой обзор чего угодно содержит в себе степень субъективизма и любой читатель, а тем более человек разбирающийся в этой области как вы, имеет полное право с чем-либо не согласиться.
ну так я помогаю вам улучшить пост, нужно пользоваться моментом
1) У меня нет точного знания, почему преподаватели топовых вузов выбирают эти датасеты.
пф, ну это отмазки уже; даже если нет точного знания, то нельзя выбирать случайно, при полной неопределенности, как у вас, нужно выбирать, то что используют старшие преподы, или обосновывать свой выбор более конструктивно; ну или просто не писать, что выбор стандартных датасетов это что то плохое
Причин может быть масса: нет доступа к другим датасетам;
Хинтон например в гугле работает…
они уже однажды были хорошо разобраны и нет смысла что-то менять (path dependence);
а вы на курсе собираетесь заниматься научным поиском модели которая превзойдет остальные и такие простые датасеты вам не подходят?
Мы можем только догадываться.
да, точно, вы правы
2) Конечно, вводный.
так почему вы не записали это в свои недостатки, а у других записали?
3) Конечно, не массовый, это же очное участие.
почему у кого то это в недостатках, но не у вас?
4) По количеству студентов — согласен, тут может быть перегнули.
ну хоть в чем то, вы уже вычеркнули это из недостатков “Data Science: Deep Learning in Python” от Lazy Programmer?
Спасибо за участие в дискуссии и вопросы!
пожалуйста, мне это тоже доставляет удовольствие
Ничего не имею против платы за обучение, но эти ребята стригут что-то совсем не по-детски, при всей сомнительной полезности данного «курса».
P.S. От себя рекомендую курсы на Udacity — средний курс там лучше среднего в других источниках. Не хочу обидеть Coursera'у, там есть, например, Compilers или Discrete Optimizations, но реальность по моим наблюдениям такова.
Добавлю:
Oxford. 2015 год.
https://www.youtube.com/watch?v=PlhFWT7vAEw
Не онлайн класс, а курс лекций причем по английски. Но уж очень мне в свое время понравилось. Всем сильно рекомендую.
Основы Machine Learning для новичков, вместе с повторением математики.
Линейная алгебра
Ильин, Ким. Линейная алгебра и аналитическая геометрия (1998) — МГУ.
Умнов. Аналитическая геометрия и линейная алгебра (2011) — МФТИ.
Деммель. Вычислительная линейная алгебра. Теория и приложения (2001) — понятный кусок про матричные разложения.
Математический анализ
Ильин, Позняк, Основы математического анализа (2005) — МГУ.
Тер-Крикоров, Шабунин. Курс математического анализа (2001) — МФТИ, много примеров.
Иванов. Лекции по математическому анализу (2000) — МФТИ, очень короткое, но полное изложение.
Методы оптимизации
Нестеров. Методы выпуклой оптимизации (2010) — математически строгое введение в оптимизацию от живого классика.
Boyd, Vandenberghe. Convex Optimization (2004) — идеальная книга по классической оптимизации, много интересных постановок задач.
Schneider, Kirkpatrick. Stochastic Optimization (2006) — стохастическая оптимизация во всём многообразии.
Теория вероятностей и статистика
Dekking, Kraaikamp, Lopuhaa, Meester. A Modern Introduction to Probability and Statistics, Understanding Why and How (2005) — доступная книга, описывающая базовые понятия, теоремы и методы; разбирается очень много примеров, тесно связанных с задачами машинного обучения и анализа данных.
Лагутин. Наглядная математическая статистика (2007) — в основном статистика, но есть и небольшое введение в теорию вероятностей. Стоит читать, кроме глав про классификацию и анализ данных, там изложение не слишком современно.
Чжун, АитСахлиа. Элементарный курс теории вероятностей. Стохастические процессы и финансовая математика (2007) — очень простое изложение.
Отличные лекции с мехмата Новосибирского Государственного Университета:http://www.nsu.ru/mmf/tvims/chernova/tv/tv_nsu07.pdf — теория вероятностей,http://www.nsu.ru/mmf/tvims/chernova/ms/ms_nsu07.pdf — математическая статистика.
Diez, Barr, Çetinkaya-Rundel, Dorazio. Advanced High School Statistics (2015) — вводная книга, программа соответствует типичному курсу Statistics 101 хорошего западного университета.
DasGupta. Probability for Statistics and Machine Learning: Fundamentals and Advanced Topics (2011) — для смелого читателя, рассматриваются в том числе достаточно высокоуровневые методы.
Спасибо
Я бы посоветовал пытаться разобраться в туториалах по Deep Learning, пытаясь методом тыка улучшить свои результаты и для этого соревнования по машинному обучению подходят как нельзя лучше.
Например, под циферки с MNIST https://www.kaggle.com/c/digit-recognizer сотни туториалов.
Вот это чуть более насыщенное — http://danielnouri.org/notes/2014/12/17/using-convolutional-neural-nets-to-detect-facial-keypoints-tutorial/
Это позволяет сфокусироваться на том, где не хватает знаний вот именно сейчас + пока не начнешь писать код и пытаться понять, почему все работает не так как хочется ни черта ни запоминается.
Книжки надо читать и много. Но не все подряд (хочется, конечно, но времени нет ), а те, которые углубят знания, которых не хватает прямо сейчас.
Но начать участвовать в соревнованиях по машинному обучению и deep learning я бы рекомендовал уже сейчас, даже если есть чувство что математического апарата не хватает.
Чтобы чакры начали открываться надо создать сотни моделей, которые не заработают, понять почему они не работают — а это много-много итераций и в результате возможно создать что-то стоящее. И чем раньше начать их делать, тем лучше.
И если по началу это просто метод тыка, то после определенного числа итераций он превращается в метод научного тыка — а это основной подход в нейронных сетях в настоящее время в силу того, что теория по нейронным сетям очень сильно отстает от того, что можно достигнуть на практике.
Обзор курсов по Deep Learning