21 урок из курса по глубокому машинному обучению от Andrew Ng


Оглавление (нажмите, чтобы открыть):

21 урок из курса по глубокому машинному обучению от Andrew Ng

69’510 подписчиков
14’726 просмотров на пост

Полезные материалы по всему, что может быть интересно программисту.

Детальная рекламная статистика будет доступна после прохождения простой процедуры регистрации

  • Детальная аналитика 70’046 каналов
  • Доступ к 28’004’146 рекламных постов
  • Поиск по 112’332’059 постам
  • Отдача с каждой купленной рекламы
  • Графики динамики изменения показателей канала
  • Где и как размещался канал
  • Детальная статистика по подпискам и отпискам

Найдено 1677 постов

Подключение платежных систем: прием платежей и авто выплаты.

1. Как подключить Яндекс.Деньги
2. Как подключить Perfect Money
3. Как подключить Qiwi (QiwiGate qiwi php curl class)
4. Как подключить Web Money
5. Как подключить Advanced Cash
6. Авто платежи (выплаты) BitCoin, DogeCoin, LiteCoin / Block.io
7. Как подключить Payeer
8. Как подключить BTC-e (ваучеры)
9. Как подключить Interkassa (Интеркассу)

NoSQL базы данных: работаем с данными правильно

5 принципов хорошего кода для начинающих программистов

Ищем авторов для нашего сайта proglib.io

Все подробности по ссылке: http://telegra.ph/Razyskivayutsya-avtory-dlya-sajta-proglibio-01-10

Терминал Linux: видеокурс по работе на примере Ubuntu

Разбираем по косточкам компьютерные сети: HTTP, TCP, REST

Лучшие языки программирования для Data Science

Почему биткоин вырос за год с $700 до $20000. Майнинг скоро умрет. Вся подноготная ICO. Блокчейн. Госрегулирование криптовалют. Биржи. Трейдинг. Суды. Разборки. Эксклюзивы. Хайп. Интервью.

Чтобы знать все это, подписывайся на крутой авторский канал «Coin Post», который за месяц ворвался в ТОП-3 в Телеграме и стал одним из самых авторитетных в тематике.

Оседлай криптотренды и капитализируй это!

ТОП-12 игр, с которыми ребенок научится программировать

— Адаптивный и отзывчивый веб-дизайн. В чем разница?
— Препроцессор SASS больше не нужен
— Препроцессор SASS больше не нужен. Наследование, вложенности
— Grid Layout. Пример адаптивной верстки сайта
— Медиа запросы. Как сделать адаптивный сайт
— 5 Новых CSS свойств о которых вы не знаете.Will-change, Contain
— Фильтры css почти как в instagram
— Анимации css. Все про анимации css
— и многое другое

Рассказываем о NoSQL системах баз данных: что это такое, где такие системы применяются и каких видов бывают. Рассмотрим различные виды хранилищ и 2 теоремы

Видеокурс по языку Python

1. Установка и настройка для Mac и Windows
2. Работа с текстовыми данными
3. Работа с числовыми данными
4. Списки, кортежи и множества
5. Словари. Работа с парами ключ-значение
6. Условные и логические выражения — If, Else и Elif Statements
7. Циклы и итерации — For/While
8. Функции
9. Импорт модулей и изучение стандартной библиотеки

Ссылка на плейлист: https://www.youtube.com/watch?v=YYXdXT2l-Gg&t=2s

Смотрите также полезные статьи по теме!
1) Как выучить Python и найти работу
https://proglib.io/p/how-to-learn-python-and-get-a-job/

2) Python: практики для написания эффективного кода
https://proglib.io/p/efficient-python-practices/

3) 10 скрытых особенностей Python
https://proglib.io/p/hidden-features-of-python/

Сверточные нейронные сети для распознавания образов от Stanford University

1. Введение в сверточные нейронные сети для распознавания образов
2. Классификация изображений
3. Функции потерь и оптимизация
4. Введение в нейронные сети
5. Сверточные нейронные сети
6. Обучение нейронных сетей. Часть I
7. Обучение нейронных сетей. Часть II
8. Программное обеспечение для глубокого обучения
9. Сотовая нейронная сеть
10. Рекуррентные нейронные сети
11. Обнаружение и сегментация
12. Визуализация и понимание
13. Генерирующие модели
14. Обучение с подкреплением (RL)
15. Эффективные методы и оборудование для глубокого обучения
16. Состязательные примеры и состязательное обучение

Ссылка на плейлист https://www.youtube.com/watch?v=vT1JzLTH4G4&list=PL3FW7Lu3i5JvHM8ljYj-zLfQRF3EO8sYv

10 лучших языков программирования для изучения в 2020 году

​​Экстремальное программирование. Разработка через тестирование (2020)
Автор: Кент Бек

Второе издание знаменитого бестселлера, раскрывающего методику TDD (разработка, основанная на тестировании) и демонстрирующего мощь и простоту этой методики на примерах разработки реального программного кода.


Книга содержит два программных проекта, реализованных с использованием TDD, генерирующего понятный, гибкий и изящный код, легко модифицируемый, корректно работающий и не приносящий неприятных сюрпризов своим создателям. Также книга содержит каталоги приемов работы в стиле TDD и имеющих отношение к TDD рефакторингов и паттернов. Книга будет полезна всем программистам, желающим поднять производительность труда и испытывать удовольствие от процесса программирования.

Скачать книгу на русском: https://t.me/progbook/353

#common #qa #testing #book

Ведущие разработчики поделились топом Git команд, которые незаменимы в работе с самой популярной системой контроля версий

Тенденции в мире Web-разработки в 2020 году

1. Что нужно знать Web-разработчику в 2020 году.
https://www.youtube.com/watch?v=Zftx68K-1D4

2. Топ-10 Web-фреймворков для изучения в 2020 году.
https://www.youtube.com/watch?v=jScmyS_Iy04

3. Будущее JavaScript фреймворков
https://www.youtube.com/watch?v=CM2pK0PE6Zg

Подборка «must read» книг

Есть книги, которые должен прочитать каждый программист, если он хочет выйти из разряда заурядных.
Мы подготовили для вас подборку из 8-ми самых популярных книг для разработчика.
Начните год с правильных книг!)

1) Э.Таненбаум, Х.Бос «Современные операционные системы» (4е изд.)
https://t.me/progbook/346

2) А.Ахо, М.Лам, Р.Сети, Д.Ульман
«Компиляторы. Принципы, технологии и инструментарий»
https://t.me/progbook/345

3) Т.Кормен, Ч.Лейзерсон, Р.Ривест, К.Штайн
«Алгоритмы. Построение и анализ»
https://t.me/progbook/173

4) Э.Гамма, Р.Хелм, Р.Джонсон, Д.Влиссидес «Приемы объектно-ориентированного проектирования. Паттерны проектирования»
https://t.me/progbook/349

5) С. Макконнелл «Совершенный код. Практическое руководство по разработке программного обеспечения»
https://t.me/progbook/348

6) М.Фицджеральд «Регулярные выражения. Основы»
https://t.me/progbook/2

7) Роберт Мартин «Идеальный программист»
https://t.me/progbook/347

8) Уильям Шотс «Командная строка Linux. Полное руководство»
https://t.me/progbook/225 [PDF]
https://t.me/progbook/226 [ePub]

Подборка видеороликов по созданию и обучению ИИ от DeepMind

DeepMind Technologies – британский стартап, занимающийся разработками в области машинного обучения (подраздел искусственного интеллекта, изучающий методы построения моделей, способных обучаться, и алгоритмов для их построения и обучения) и систем нейронауки.

Igor Subbotin

Data Science, High Scalability and Software Engineering

Sunday, January 18, 2015

Очередная сессия «Machine Learning» от Andrew Ng

Завтра 19 января начинается очередная сессия самого, пожалуй, популярного на данный момент онлайн-курса по машинному обучению. Это курс Machine Learning от Andrew Ng и Stanforf University на Coursera.

Курс продлится 10 недель с примерной нагрузкой в 5-7 часов в неделю. Как я уже сказал, ведет его профессор Стэнфордского Университета Andrew Ng. Курс достаточно простой и понятный, не требует каких-то специальных знаний для его успешного прохождения, при этом охватывает достаточно много направлений Machine Learning. В курсе дается несколько отличных практических заданий. По-моему мнению, единственный относительный недостаток данного курса — это использования языка программирования Octave (бесплатный аналог MATLAB) при выполнении практических заданий, так как все-таки на текущий момент это не самый популярный язык для анализа данных и машинного обучения и было бы, наверное, полезнее с практической точки зрения если бы использовался R или Python. Но никто не мешает делать задание сначала на Octvave, а потом на R или Python.

Andrew Ng рассказывает о курсе «Machine Learning»

Список тем, которые будут затронуты в курсе:

  • Linear Regression with One Variable
  • Linear Regression with Multiple Variables
  • Logistic Regression
  • Regularization
  • Neural Networks
  • Support Vector Machines (SVMs)
  • Clustering
  • Dimensionality Reduction
  • Anomaly Detection
  • Recommender Systems
  • Large-Scale Machine Learning

Более детальное описание и программу курса можно найти на странице курса.

Большой список онлайн-курсов по теме Data Science: Data science online courses

21 урок из курса по глубокому машинному обучению от Andrew Ng

Python Solutions to Andrew Ng’s Machine Learning Course Excercises

This repository is a work in progress. It contains a set of Jupyter notebooks solving the homework problems for Andrew Ng’s Machine Learning Course. Other Python solutions have been published online previously. The solutions here were developed independently. My goals are to 1) polish these notebooks to establish a clear correspondence between function signatures in the Python notebooks and original Octave implementations, and 2) implement the scikit-learn one-liners at the bottom of each notebook that provide an alternative set of solutions. So far, I have polished the Jupyter notebook solutions for Exercises 1-4. Solutions to exercises 5-8 will be polished soon.

Я хочу изучать AI и машинное обучение. С чего мне начать?

Когда-то я работал в Apple Store и мечтал изменить свою жизнь: вместо обслуживания техники Apple, мне хотелось ее создавать.

Я начал изучать машинное обучение (ML) и искусственный интеллект (AI), потому что на этом поприще творятся невероятные вещи. К тому же, эта область активно развивается.

Например, такое ощущение, что Google или Facebook каждую неделю выпускают новую технологию AI, чтобы ускорить работу или улучшить наш с вами пользовательский опыт.

И даже не будем затрагивать такую тему, как растущее число компаний по производству беспилотных автомобилей. Это отличная идея, но, к сожалению, я не поклонник вождения.


Несмотря на все вышеперечисленное, до сих пор не существует согласованного понятия искусственного интеллекта (AI).

Некоторые утверждают, что глубокое обучение можно рассматривать как AI, другие говорят, что это не AI, пока не пройден Тест Тьюринга.

Из-за отсутствия четкого определения, мой прогресс изрядно затормозился в начале. Было трудно разобраться в том, что не имело строгого определения.

С чего я начал?

Начнем с того, что, какое-то время назад, я и мои друзья запустили веб-стартап. Он провалился. В итоге мы сдались и не стали продолжать из-за бессмысленности идеи. Но во время работы над стартапом, я все больше и больше узнавал о таких вещах, как ML и AI.

Я не мог поверить в то, что компьютер может что-то учить для меня.

Через какое-то время я наткнулся на курс от Udacity под названием Deep Learning Nanodegree. На одном из промо-роликов я увидел забавного человека по имени Сирадж Раваль. Он заразил меня своей энергией и я записался на курс, несмотря на то, что совсем не отвечал основным требованиям (я ни разу не писал на Python).

За 3 недели до начала курса, я написал в Службу Поддержки Udacity, с вопросом об их политике возврата средств. Я боялся, что не смогу закончить курс.

Что же, мне не потребовался возврат, так как я закончил курс в установленный срок. Было действительно тяжело. Мои первые проекты были сданы с опозданием на четыре дня. Я шел вперед только из-за гордости от принятия участия в данном проекте.

Окончив Deep Learning Nanodegree, я гарантированно получал доступ к другим курсам Udacity, таким как AI Nanodegree, Self-Driving Car Nanodegree или Robotics Nanodegree.

Но я был растерян. Что делать дальше?

Мастер Йода рекомендует:  3D-принтеры — что это такое и где можно попробовать

Мне нужен был учебный план. Я получил необходимые базовые знания с помощью Deep Learning Nanodegree, теперь пришло время выяснить, куда двигаться дальше.

Моя собственноручно созданная степень магистра по AI

В мои планы точно не входило возвращаться в университет. К тому же $100,000 на дороге не валяются, чтобы получить степень магистра.

Поэтому я сделал то, что сделал в самом начале своего пути — попросил своего наставника Google о помощи.

Я понял, что погрузился с головой в глубокое обучение без каких-либо знаний в этой области, вместо того, чтобы постепенно взбираться на верхушку айсберга под названием AI.

Просмотрев кучу курсов, я составил список самых интересных в Trello.

Я знал, что онлайн-курсы имеют высокий процент отсева, но я не собирался становиться частью этих отсеявшихся участников. У меня была миссия.

Чтобы привить себе ответственность, я решил делиться своими успехами и неудачами в Интернете. Помимо этого, там я мог бы найти других людей, которые заинтересованы в том же, что и я.

Я сделал доску Trello открытой и написал о своих начинаниях в блоге.

Мой учебный план немного изменился с тех пор, как я впервые написал его, но он по-прежнему актуален, и я посещаю доску Trello несколько раз в неделю, чтобы отслеживать свой прогресс.

Получение работы

Я следовал своему учебному плану вот уже более года, настало время на практике применить свои навыки. Поэтому я купил билет на самолет в один конец в США.

Мой план заключался в том, чтобы добраться до США и получить работу.

Однажды, девушка по имени Эшли написала мне на LinkedIn вот такое письмо: “Я видела твои посты и они на самом деле отличные, я думаю, тебе стоит встретиться с Майком”.

Я встретился с Майком и рассказал ему свою историю онлайн-обучения, о том как мне нравится Health Tech и о своих планах по переезду в США. Майк сказал мне: “Тебе лучше остаться тут на год или дольше, и посмотреть, что из этого выйдет. Кроме того, советую тебе встретиться с Кэмероном”.

Я встретился с Кэмероном и у нас был практически такой же диалог, что и с Майком. Health Tech, онлайн-обучение, США. Кэмерон сказал мне: “Мы с командой работаем над некоторыми проблемами в области здравоохранения, почему бы тебе не прийти к нам в четверг?”.

Настал четверг. Мои нервы были на пределе. Чтобы успокоиться, я вспомнил слова какого-то мудрого человека: нервное состояние — это то же самое, что и воодушевленное. Я перестал нервничать и переключился на нужное, в данной ситуации, состояние.

Весь день я знакомился с командой Max Kelsen.

Две недели спустя, Ник — генеральный директор, Атон — ведущий инженер по машинному обучению и я пошли за кофе.

“Ты хотел бы присоединиться к команде?” — спросил меня Ник.

“Конечно” — ответил я.

Билет в США мне не понадобился.

Делитесь своей работой

Я знаю, что онлайн-обучение не является традиционной формой обучения. Все специальности, к которым я обращался, требуют степени магистра или, по крайней мере, какую-то техническую степень.

Никакой степени у меня, естественно, не было. Но у меня были навыки, которые я получил, благодаря множеству онлайн-курсов.

Во время обучения, я делился своей работой в Интернете. Мой GitHub был заполнен проектами, которые я сделал, профиль на LinkedIn я забросил и стал делиться своими знаниями через YouTube и статьи на Medium.

Я никогда не писал резюме для Max Kelsen, потому что они и так уже все про меня знали из моего профиля на LinkedIn.

Моя публичная деятельность и была моим резюме.

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

Да, навыки по ML и AI востребованы, но это не значит, что вам ничего не придется делать, чтобы получить работу. Продемонстрировать навыки придется, потому что даже гениальный продукт не будет продаваться, если его не поместить на видное место.


Создайте себе профиль на GitHub, Kaggle, LinkedIn или просто заведите блог — люди должны о вас как-то узнать. Кроме того, иметь собственный уголок в Интернете — очень весело.

Как начать?

На каких платформах учиться? Какие курсы лучше выбрать?

Однозначного ответа нет. Учебный процесс у всех складывается по-разному. Некоторые люди лучше учатся по книгам, другие по видео.

Важнее не то, как начать, а почему вы это начинаете.

Начните с определения причины.

  • Почему вы хотите изучать эти навыки?
  • Вы хотите много зарабатывать?
  • Вы хотите создавать что-то интересное?
  • Вы хотите что-то изменить в нашем мире?

Опять же, нет единственно верной причины. Все они верны по-своему.

Наличие “почему” означает, что в трудные времена у вас будет к чему обратиться за помощью, чтобы напомнить себе, почему вы все это затеяли.

Определили свое “почему”? Хорошо. Пришло время перейти к самой трудной части.

Я могу рекомендовать только то, что сам пробовал.

Вот курсы, которые я окончил (по порядку):

  • Treehouse — Введение в Python
  • Udacity —Глубокое обучение и AI
  • Coursera — Глубокое обучение от Andrew Ng
  • fast.ai — Часть 1, скоро будет Часть 2

Я лучше воспринимаю визуальную информацию, то есть когда мне наглядно показывают и объясняют разные вещи. Все эти курсы заточены на таких как я.

Если вы абсолютный новичок, начните с вводных курсов по Python, а затем, когда станете более уверены в своих знаниях, переходите к data science, машинному обучению и AI.

Нужны ли углубленные знания по математике?

Самый высокий уровень математического образования, который я получил, был еще в старшей школе. Остальное я узнал через Khan Academy, поскольку эти знания были мне необходимы.

Существует большое количество мнений по поводу того, какой уровень знаний по математике нужно иметь, чтобы попасть в сферу машинного обучения и AI. Я поделюсь с вами своим мнением.

Если вы хотите применить знания ML и методы AI к какой-либо проблеме, вам не обязательно нужно иметь глубокое понимание математики, чтобы достичь хорошего результата.

Такие библиотеки, как TensorFlow и PyTorch позволяют создавать, при небольшом знании Python, современные модели, в то время как математика делает основную работу за кулисами.

Если же вы собираетесь углубиться в машинное обучение и AI, поступив в университет или куда-то еще, глубокие знания по математике играют наиважнейшую роль.

Лично я не собираюсь углубляться в математику и улучшать производительность алгоритма на 10%. Оставлю это людям, которые умнее меня.

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

Что на самом деле делает специалист по машинному обучению?

То, что специалист по машинному обучению делает на практике, может оказаться совсем не тем, о чем вы думаете.

Например, несмотря на распространенный факт, мы не работаем с роботами, у которых красные и страшные глаза.

Вот несколько вопросов, которые ежедневно задает себе специалист по ML:

  • Концепция — как можно использовать ML, чтобы узнать больше о проблеме?
  • Данные —сколько данных вам требуется? В каком формате они должны быть? Что вы делаете, когда данные отсутствуют?
  • Моделирование — какую модель следует использовать? Хорошо ли она работает с данными (переобучение)? Если работает плохо, то почему?
  • Производство — как вы можете использовать свою модель в производстве? Должна ли это быть онлайн-модель или она должна обновляться через определенные промежутки времени?
  • Будущее — что произойдет, если ваша модель сломается? Можно ли улучшить ее с большим количеством данных?

Я позаимствовал эти вопросы из замечательной статьи Рейчел Томас, одной из основательниц fast.ai.

Кроме того, я снял видео о том, чем мы занимаемся по понедельникам в Max Kelsen.

Нет однозначно верного пути

Не существует правильного или неправильного способа попасть в сферу ML или AI.

Самое прекрасное в этой сфере то, что у нас есть доступ к одним из передовых технологий в мире, и все, что нам нужно сделать — это научиться правильно их использовать.

Вы можете начать с изучения Python.

Вы можете начать с изучения исчисления и статистики.

Вы можете начать с изучения философии принятия решений.

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


Чем больше я узнаю, тем больше еще остается узнать. И это подстегивает меня двигаться вперед.

Когда мой код не запускается или я не понимаю концепцию, я временно прекращаю работу. Я сдаюсь, позволяя себе уйти от проблемы, немного вздремнуть или сходить на прогулку. Когда я возвращаюсь со свежей головой, я смотрю на проблему под другим углом. Воодушевление возвращается и я продолжаю учиться.

Начните свое обучение с того, что вам больше всего по душе. Если это приведет вас в тупик, вернитесь назад и выберите другой путь.

Компьютеры умны, но они все еще не могут учиться самостоятельно. Им нужна ваша помощь.

trudnopisaka

trudnopisaka

Я закончил в начале февраля курс Machine Learning Стэнфордского университета, лекции в котором читал Andrew Ng (один из создателей Coursera). Также попробовал начать курс Машинного обучения от Яндекс и Высшей школы экономики и закончил 4 из 6 недель первого курса специализации Machine Learning Вашингтонского университета. Попробую сравнить свои впечатления, расписать плюсы и минусы. Сразу скажу, что, в целом, плюсы перевешивают минусы. Заранее извиняюсь за то, что написано суховато, лучше не получилось ))

Итак, курс Machine Learning от Andrew Ng
Дает представление о том, как устроены алгоритмы машинного обучения без сложных теоретических выводов. Для понимания курса достаточно знаний линейной алгебры (умножение матриц, дифференциальное исчисление поможет, но не обязательно) и английского. Практическая часть выполняется в Matlab или Octave (бесплатный аналог Matlab без графического интерфейса). Практика нацелена на усвоение алгоритмов машинного обучения. В результате, после прохождения каждой темы, получается хорошо понимать какие есть плюсы, минусы каждого алгоритма и в каком случае конкретный метод стоит применять. Курс отлажен, на любые вопросы можно найти ответ либо в Wiki, либо на форуме – отвечают быстро, даже в выходные, не круглые сутки, конечно, а когда в США день.
Минусы курса:

  1. у лектора странный «шепелявый» акцент, видимо азиатский, Andrew Ng провел детство в Гонконге и Сингапуре, субтитры есть, но совпадают где-то на 95%;
  2. для практической работы курса недостаточно, так как нужно знать больше методов и уметь работать с Python и соответствующими библиотеками к нему;
  3. моего английского не всегда хватало, чтобы понять какой ответ правильный в тестах к теоретической части.

Курс Машинного обучения от Яндекса и ВШЭ
Лекции читает на русском языке Константин Вячеславович Воронцов, практические задания выполняются на Python и близки к практическим задачам data scientist. Лекции Константин Вячеславович читает довольно безэмоционально – сложно удержать внимание и не заснуть. К сожалению, на данный момент, курс сырой. Требования к слушателям слишком мягкие – не соответствуют действительности. Реально, для выполнения практических заданий, нужно иметь опыт решения более простых задач на Python в этой области, нужно уметь работать с библиотеками. Вот что написано на странице курса о том, что нужно знать и уметь:
« Слушателю нужно знать об основных понятиях математики: функциях, производных, векторах, матрицах. Для выполнения практических заданий потребуются базовые навыки программирования. Желательно знать Python . »
То есть, если выразить простыми словами, то получится что-то вроде: любой человек с математическим образованием и минимальными навыками программирования может пройти этот курс, реально все не так.

Мастер Йода рекомендует:  Как создать реалистичный эффект неонового текста

Минусы курса:

  1. Неверные требования к слушателям. Из-за этого я не смог заранее подготовиться к курсу;
  2. Неинтересная подача лекций;
  3. Лекции слабовато связаны с практическими заданиями, в самих лекциях нет примеров на Python;
  4. Слушатели постоянно находят ошибки в практических заданиях, в финальном задании тоже.
  5. На выполнение практических заданий нужно намного больше времени, чем указано на страницах курса – нужно 8-20 часов, указано 3-5;
  6. Неудобная загрузка ответов к практическим заданиям – нужно загружать текстовые файлы с ответами.

Специализация Machine Learning от Вашингтонского университета
Состоит из 6-ти курсов, каждый где-то по 6 недель. Читают на английском попеременно Carlos Guestrin и Emily Fox. Теоретическая часть представлена слабее чем, в двух других рассматриваемых курсах, но мне ее достаточно. Практическая часть выполняется в iPython notebook с помощью платной библиотеки GraphLab (для обучения можно получить бесплатную лицензию). Практика мне очень нравится, последовательно проводят по всем элементам, что очень хорошо подходит для работающего человека. При выполнении самостоятельных заданий мне очень редко нужно чем-то пользоваться, 2-3 раза искал ответы на форуме, 1 раз в Гугле искал реализацию части функции, которую нужно было написать. Думаю после этого курса я смогу сам освоить другие библиотеки (Pandas и NumPy, на пример). Минусы нужно выискивать, самым большим, наверное, является то, что при сдаче теоретической части, бывает, в вопросах перефразируют предложения и моего английского недостаточно, чтобы понять, о чем там вообще написано и какой ответ правильный в тесте, а какой – нет.

Эксперт по ИИ Эндрю Ын запустил 5 новых онлайн-курсов по разработке нейросетей

Новостной редактор Rusbase

Бывший сотрудник Google и Baidu Эндрю Ын (Andrew Ng), которого считают одним из самых влиятельных в мире экспертов в сфере искусственного интеллекта, запустил на платформе Coursera пять связанных онлайн-курсов (специализацию) по глубинному обучению. Об этом он рассказал изданию MIT Technology Review.

Ын покинул свое последнее место работы – китайскую технологическую компанию Baidu – в марте 2020 года. О том, что его новый проект Deeplearning.ai представляет собой новую специализацию на Coursera, стало известно только 8 августа.

«Спрос на глубинное обучение значительно опережает предложение. Работа над ИИ сконцентрирована в паре лабораторий, паре ведущих университетов, а большая часть знаний размещена на arXiv.org», – комментирует Ын в разговоре с изданием TechCrunch.

Для специализации Ын совместно с сотрудниками Стэнфорда разработал программу, предназначенную для новичков в сфере ИИ. Слушателям курсов, однако, потребуются навыки программирования на языке Python. Также авторы рекомендуют, но не обязывают предварительно получить общие знания по машинному обучению.

В ходе курсов участников научат работе со сверточными и рекуррентными нейросетями, расскажут про различные аспекты глубинного обучения и обучат работе с платформой TensorFlow. Слушатели также будут учиться на примере конкретных кейсов применения ИИ в здравоохранении, распознавании языков, беспилотном транспорте и других сферах.

Первые 7 дней прослушивания курса будут бесплатными, затем потребуется оформить подписку на Coursera за 2935 рублей в месяц. На момент публикации заметки курсы еще не были запущены.

Для Ына, который сам является сооснователем Coursera, это уже не первые онлайн-курсы. В 2011 году он запустил на Coursera курс по машинному обучению, на который с тех пор записались 1,5 млн пользователей.

Нашли опечатку? Выделите текст и нажмите Ctrl + Enter

Andrew Ng’s Machine Learning Stanford Course Review

Andrew Ng’s Machine Learning Stanford course is one of the most well-known and comprehensive introduction courses on data science. This class is mostly focused on theory, with simple application exercises to bring everything together. It may be the most well-known course on machine learning on the web.

About Andrew Ng

Skills you’ll develop

“Machine Learning” Stanford course offers a great balance of theory, math, as well as an often-overlooked aspect of machine learning, how to tune the learning algorithm based on the data you have.

Many courses only show simple examples that are proven to work correctly for a given dataset, e.g., MNIST digit recognition using deep learning. Andrew Ng’s Machine Learning course will show you how to determine when to gather more examples or features, or when to increase the complexity of the algorithm. Learning this important concept will prevent you from wasting countless hours working in the wrong direction.

Requirements

The requirements for this course are quite low, however, to get the full value off this course, it is recommended to be a little more comfortable than the bare minimum requirements. It is required to have a base understanding of calculus (finding min/max from derivatives) and linear algebra (dot product, transpose, inverses).

However, since many machine learning concepts are based on heavy linear algebra, calculus, and optimization concepts, you will get a lot more from the course if you have solid mathematical bases.

As for the programming, this course uses MATLAB for practical examples, which is similar in syntax to other high-level languages like Python or R. Even through MATLAB is simple in terms of syntax, it may be hard to complete some of the exercises if you have no prior knowledge of programming. This being said, the focus of the course is more on the concepts and less on the programming.

Contents of the course

The course starts in a pretty straightforward manner, teaching linear and logistic algebra. Those are some of the most well-known and easy to understand concepts. Instead of moving to other well-known algorithms, like K-nearest-neighbors, or decision trees, the next big concept being thought is neural networks. This seems like a big step.

However, it is a quite logical progression, since each neuron of a neural network can be thought of as a linear or logistic regression model. This is probably the toughest subject in the curriculum, but one of the most well thought. During this week, you will learn about back and forward propagation, which is an optimization procedure to find the weights of the network. You will then implement a simple network without any external libraries, which is a good step in the direction of mastering Deep Learning.

The following topic is one of my favorites, because of its importance in resolving real-life problems. You will learn what to try next when your learning algorithm doesn’t perform as well as you originally thought it should. This is a widespread problem where a lot of time can be spent collecting data that will leave you with the same accuracy. This is at the heart of the bias-variance trade-off which will also be thought in detail during this week.

After a quick overview of Support Vector Machine, the course moves to unsupervised learning. It will start by talking about the motivations behind unsupervised learning with the example of data compression. Using this example and others, Andrew Ng will explain Principal Component Analysis, an algorithm to find a certain number of dimensions that have the highest possible variance. The next unsupervised algorithm being learned is anomaly detection, which is used to detect data points which deviate significantly from the rest. This can be used to automate the process of product verification, based on their size, temperature or other measurements at the end of the assembly line.

The final two weeks are spent wrapping everything together, talking about different optimization algorithms, like stochastic gradient descent or batch gradient descent and their merits when working with large datasets. Finally, you will learn how to take every concept learned throughout the course and created a machine learning pipeline.

Certification and cost

Andrew Ng’s Machine Learning Stanford course is either free or around $100, depending if want the official certificate or not. The certificate displays your name, the name of the school offering the course, Stanford Online in this case and the name of the course. The certification can be a great addition to your resume, especially if you are applying to junior level jobs and/or you don’t have a math or computer science background. The full material of the course can also be consumed free of charge.


Final thoughts

Overall, this is one of the most popular machine learning classes, and it surely did not disappoint. It is well thought, and its content is different enough from most other classes to keep the content fresh and new.

21 урок из курса по глубокому машинному обучению от Andrew Ng

Программирование, машинное обучение, и жизнь

Как запрыгнуть в поезд глубокого машинного обучения 11.11.2020

В 2011 году MOOC классы ml-class.org и ai-class.org в 2011 году взорвали мне мозг (см блог пост того времени).

  1. С компьтерами можно делать еще более интересные и сложные вещи, чем я думал
  2. Всему этому можно научиться сейчас, не переживать что в университете изучал что-то совсем другое (у меня диплом инженера-электрика)

Я решил что нужно изучать это все удивительное и интересное, что называется Computer Science и искать работу, где бы я занимался этим целыми днями. Так год спустя я проснулся в цюрихском отеле, уставший после 3 дней автотрипа Киев-Цюрих, позавтракал и пошел на свой первый рабочий день в Google.

В Гугле я со временем дорвался до возможности реализовывать и улучшать сложные алгоритмы в системах работающих под огромной нагрузкой. Следующее мое большое желание — залезть в глубокое машинное обучение (Deep Machine Learning). Я имею в виду именно convolutional neural nets, RNNs, куча слоев, residual nets, нелинейные активационные функции. Работа с картинками-видео-звуком, неструктурированным текстом.

В нашем офисе проектов с Deep ML очень много, но меня останавливала разница в моих навыков и навыками ребят, которые в них работают. Как правило это PhD, читающие статьи с кучей математики за кофе, попутно делая в уме wavelet transforms. Поэтому я не бросился с головой в один из таких проектов, хотя может быть просто была куча других забот (интеграция, изучение языков).

Поэтому я использовал свой любимый подход — в любой непонятной ситуации погугли. Я нашел список математических навыков, необходимых для Deep ML, а также книги и онлайн-курсы про само это глубокое непонятно что.

Математика

Так же как жизнь computer scientist полна ужасов без знания дискретной математики, в поле боя ML лучше выходить освоив два вида оружия: линейную алгебру и теорию вероятностей. Хорошие новости в том, что не нужно становиться экспертом в эти областях, вводного курса на 1-2 месяца для начала вполне хватит.

Линейную алгебру я изучал по курсу MIT. Купил книгу, смотрел видео, делал домашние задания и экзамены. Он требует некоторой самоогранизованности, это не современный coursera класс, в котором все интегрировано и проверяется автоматически. К тому же он покрывает намного больше, чем нужно для начала в ML.

Из более легких материалов — Linear Algebra в Khan Academy и Essence of Linear Algebra от 3Blue1Brown (весь этот YouTube channel просто бомба).

Мастер Йода рекомендует:  Angular 6 & 7 HTTP Client Interceptor с обработкой ошибок Javascript

По теории вероятностей подвернулся курс на Coursera “Probability” от профессора Santosh S. Venkatesh, который в настоящее время недоступен. Но есть очень много других материалов.

По моим первым шагам в Deep ML основы линейной алгебры сейчас нужны больше, чем теория вероятностей. Поэтому вполне можно начать только с нее.

Перед праздниками не особо хотелось изучать серьезные вещи по вечерам и я стал искать игры для любителей поломать мозг. Одним из открытий для меня стал шахматный сайт lichess.org.

Deep ML

Из самого свежака — 5 курсов от Andrew Ng (ml-class.org) и команды deeplearning.ai на Coursera: Deep Learning Specialization. Стоит 49$ / месяц. Зато все задания интегрированы в Coursera, все базовые вещи подробно и наглядно объяснены, даже есть часть про огранизацию ML-проекта. Это реальная бомба. Доступно, интересно. Лекции можно смотреть со смартфона по дороге на работу, домашние задания хорошо структурированы и вполне доставляют.

Я еще попутно просмотрел много других курсов, но мне кажется вполне можно справиться без них. Вот неполный их список:

А вот книги могу порекомендовать две, обе отличные:

Практика

Единственное что даст возможность по настоящему залезть в эту область, это — практика. В идеале постоянная работа над такими проектами, как минимум — реализация учебных проектов в свободное время, участие в конкурсах.

Тут у меня пока негусто, это следующее что я планирую делать.

А как у вас дела? Я знаю что есть люди успешно запрыгнувшие в этот поезд. Поделитесь опытом?

Руслан Гроховецкий. О работе с большими данными и конкурсах машинного обучения

– Как называется ваша профессия?
– Если упрощенно, то я программист, однако я не просто пишу содержательную часть сервера, а работаю с Data Science — большими данными. Я создаю код, чтобы модели и алгоритмы, созданные другими специалистами, учеными и исследователями, занимающимися большими данными, эффективно работали у нас в «Яндекс.Афише».

– Что такое большие данные?
– Это данные, которые не влезают на один компьютер или которые невозможно обработать за разумное время. Часто их обрабатывают с помощью методов машинного обучения (обширного подраздела искусственного интеллекта, изучающего методы построения алгоритмов, способных обучаться — прим. сайта) специальными кластерами — целой сетью компьютеров, которые работают параллельно.

Например, чтобы автоматизировать труд почтовых работников, можно с помощью этих методов научить компьютер распознавать цифры, которые люди пишут на конвертах. Для этого мы вводим в базу изображения рукописных цифр, написанных разными людьми, и маркируем каждую из картинок соответствующим ей символом. Машина анализирует информацию и учится распознавать написанные от руки цифры. Вначале, конечно, она допускает ошибки, которые мы исправляем, подаем другое изображение этой цифры и снова проверяем, усвоила ли машина информацию.
Чем больше рукописных цифр изучит компьютер, тем лучше он будет распознавать рукописный текст. После того как система достигнет лучшего результата, который уже нельзя будет усовершенствовать, обучение считается оконченным.

– Для чего компания может использовать большие данные?
– Например, у нас есть журналы действий пользователей в интернете, в которых хранится информация о том, что пользователь делал в поисковой сети «Яндекс». Это огромные терабайты данных, которые можно проанализировать, и узнать, на сайты каких категорий любит заходить конкретный пользователь, поисковые запросы на какую тему он обычно задает. С помощью этой информации мы можем выдавать ему улучшенные поисковые результаты либо рекомендовать статьи, которые будут ему интересны.

Владельцы интернет-магазинов могут понять, какие товары интересуют пользователей больше, а какие — меньше, какие товары покупают вместе с другой продукцией, и построить на этой основе рекомендательную модель. При попадании какого-либо товара в корзину система будет рекомендовать другую продукцию, которая потенциально может заинтересовать клиента.

В чем заключается ваша работа с сервисом?
– Я разрабатываю код с нужным алгоритмом, убеждаюсь, что он начал работать, и отслеживаю, насколько хорошо он это делает. Затем я придумываю, как алгоритм улучшить, внедряю новый вариант на сайт, и все повторяется. Получается цикл из улучшений.

– Как вы стали работать с большими данными?
– По образованию я программист, закончил Курганский государственный университет. Но у меня довольно широкий круг интересов, и я не всегда работал по специальности. Я успел побыть системным администратором, веб-дизайнером, просто дизайнером, видеодизайнером, видеооператором, занимался HTML-версткой. Потом я снова вернулся в программирование и был бэкэнд-программистом — разрабатывал серверную часть сайтов. После я стал интересоваться искусственным интеллектом, машинным обучением, и в частности глубинным обучением (разновидности машинного обучения, в основе которого лежат математические модели нейронных сетей — прим. сайта). В России тогда про это еще мало кто знал, и на русском языке практически ничего не было. Но я сразу понял, что это очень интересная и важная тема. Я находил бесплатные зарубежные курсы и самостоятельно осваивал эту сферу.

– Какие компетенции нужны специалисту по работе с большими данными?
– Поскольку объем информации растет лавинообразно, главное — знать, как и где получать новые знания, уметь быстро схватывать новую информацию, а также анализировать, куда движется вся область, чтобы понимать, что изучать не стоит, а за что непременно нужно взяться. И, конечно, нужно знать иностранные языки, в частности, английский, поскольку именно на нем будут многие курсы, учебники и статьи.

– От чего может устать человек, работающий с большими данными?
– Иногда разочаровывает, когда ты придумаешь какую-то новую модель, а оказывается, что эта модель не работает или работает не так, как планировалось. Казалось бы, все правильно рассчитано, но посетители сайта не покупают больше билетов или не остаются дольше на сайте. Возможно, дело в том, что поведение людей зависит не только от расположения ссылок, а также от чего-то, что трудно выразить на языке цифр и измерить.

– Чем может заняться разработчик больших данных, решивший попробовать себя в чем-то новом?
– Трудно устать от всей области в целом, можно устать от конкретной задачи и заняться чем-то другим в смежной сфере. Например, из машинного обучения, связанного с распознаванием картинок, можно уйти в распознавание речи или машинный перевод. Эти области отличаются, хотя в них могут применяться одни и те же или похожие методы. Кроме того, разработка программного обеспечения — довольно обширная область. Если есть желание, можно заняться даже разработкой игр.

– Сколько зарабатывает специалист, работающий с большими данными?
– Не могу сказать точно, это зависит от города. В Москве, насколько мне известно, можно получать от 150 тысяч рублей. В Санкт-Петербурге — около 100 тысяч и выше.

– Какие курсы по работе с большими данными вы могли бы порекомендовать старшеклассникам?
– Когда я осваивал эту область, я использовал бесплатный онлайн-курс про современный подход к искусственному интеллекту, созданный в Стэнфорде. С тех пор авторы того курса успели разделиться. Одни основали онлайн-платформу Udacity — там сейчас много хороших курсов по искусственному интеллекту и Data Science. Остальные сделали проект Coursera. На этой платформе рекомендую посмотреть прекрасный курс по машинному обучению от Andrew Ng (американского ученого в области информатики, доцента Стэнфордского университета, исследователя робототехники и машинного обучения, а также одного из основателей Coursera — прим. сайта). Также есть прекрасно структурированный курс «Введение в машинное обучение».

Сейчас у нас в рамках Школы анализа данных в «Яндексе» есть курс на русском языке, который ведет Константин Воронцов, который я также могу посоветовать. Существует «Яндекс.Лицей», где занимаются со школьниками. Для того, чтобы закрепить знания в этой области, старшекласснику будет полезно читать разборы решений онлайн-конкурсов по машинному обучению и пытаться самому участвовать в этих конкурсах.

Machine Learning course by Andrew Ng

A few months ago, I did not know anything about Machine Learning. But, after finishing the Machine Learning course online at Coursera, I am happy to say that I know a bit of it now. This is all thanks to the awesome Prof. Andrew Ng and his Coursera website. This is the third MOOC I have taken and this is easily the best of the three!

Spread over 10 weeks, this course has 18 lectures, an equal number of review question sets and 8 programming exercises. The exercises need to be programmed in Octave, which I got the chance to learn thanks to this course. Though hosted at Coursera, the lecture format is exactly the same as at Udacity. That is, the lecture is split into 5-15 minute chunks that are easy to digest, interspersed with quizzes that test your understanding.

I believe that it is Andrew’s teaching style that made this topic interesting and accessible to me. He writes and draws with a pen on the display to explain all the concepts. Seeing the ideas come to life is far more effective than using slides, as Udacity has already proven. He always uses a real world example to motivate and explain a concept. Even the scary looking math formulas became easy to grasp because he breaks everything down to the simplest possible form and shows that it is not really complex.

Thanks to the programming exercises, the student gets to see the math behind a machine learning algorithm come to life. Every exercise starts by asking you to build the smallest pieces of the math formula and then slowly combines those to create the full implementation of the algorithm. Also, the Octave language makes converting a math formula to code extremely easy. I shudder to think of how much C++ or Java code it would take to achieve the same!

This is an introductory course to machine learning. Taking the course requires only high school math and a very basic programming ability. Andrew covers the linear algebra and the Octave programming language needed for the course in his lectures. The course covers all the basic techniques, so that words like neural networks or support vector machines will no longer scare you.

The course easily gobbled up anywhere from 1-1.5 days of most of my weekends. I took down notes for all his lectures, else maybe it would have taken lesser time. The final solution to most of the programming exercises would be just a few lines of code. But getting to those few lines of solution in a new language and a new subject took quite some effort. Even the simplest of bugs ended up sucking up a lot of hours! But in the end it always felt great to see the solution working and submission successfully uploaded and finished.

There are always a few teachers from school days who remain etched in memory. It is because they could make the driest subject feel accessible and interesting. I was happy to find that Andrew is one such good teacher who made this scary-looking topic, which I just started on a whim, interesting enough for me to actually put in the effort and finish. Without any hesitation, I highly recommend this course if you are interested in knowing what machine learning is all about. I can assure you that this journey will be fruitful. ��

Добавить комментарий