Еще не поздно заняться машинным обучением, но решить, с чего начать, может быть довольно сложно. Не существует единственной лучшей точки для начала вашего путешествия, и вам нужно будет учитывать несколько факторов: уровень ваших существующих знаний и практичность вашего подхода.
Что такое глубокое обучение?
Но сначала давайте получим правильную общую картину. Существует много путаницы в том, что представляет собой глубокое обучение, машинное обучение и ИИ. Как правило, термин ИИ используется, когда мы говорим о компьютерных программах, решающих проблемы, для решения которых они явно не запрограммированы. Отличным примером того, что является ИИ, а не машинным обучением, является Deep Blue, компьютер, победивший чемпиона по шахматам Каспарова, который выполнял поиск в глубину, чтобы найти приблизительно оптимальное решение. В машинном обучении для поиска таких приближенных решений используются вероятностные модели, а особой областью машинного обучения является глубокое обучение, где в качестве статистической модели для обучения используются глубокие нейронные сети. Глубокие нейронные сети эффективны, потому что они могут аппроксимировать любую функцию, по сравнению с простейшей формой линейной регрессии, которая может объяснить только линейные отношения.
Зачем мне использовать глубокое обучение?
Распространенный контраргумент против глубокого обучения заключается в том, что в нем нет смысла, потому что люди могут делать то же самое. Может быть и правда, что люди иногда могут делать то же самое, но есть много крутых примеров, когда эти машины учатся играть в такие игры, как го, на сверхчеловеческом уровне или выявлять болезни лучше, чем обученные врачи. Но помимо этих вещей, автоматизация может многое сделать в нашем обществе дешевле и эффективнее.
Итак, теперь, когда вы убедились, давайте начнем!
Предварительная математика
Иметь минимальные знания в области линейной алгебры и вероятности, безусловно, полезно, но сначала пройти эти курсы — это самый простой способ потерять мотивацию к обучению. Советую смотреть видео из курса Линейная алгебра Гилберта Стрэнга в качестве дополнения к курсу или проекту по машинному обучению (см. ниже) каждый день. Вероятностная составляющая машинного обучения появится намного позже, и я бы порекомендовал обратиться к Книге по распознаванию образов Бишопа, которая также затрагивает темы машинного обучения. Многие советуют иметь предварительные знания в оптимизации, но, честно говоря, в этом нет смысла, потому что возвращаются те же два понятия (градиентный спуск и лагранжева оптимизация), которые уже хорошо объяснил.
Курсы
От теории к практике,
- Курс Хинтона по искусственному интеллекту. Принимает теоретическую перспективу и нуждается во всех предпосылках.
- Курс Эндрю Нг по машинному обучению. Очень легкий по математике, но охватывает только основы и немного устарел.
- Специализация Эндрю Нг в области глубокого обучения. Все еще легкий на математике, но всесторонний.
- Как выиграть конкурс Data Science. Если вам нужен легкий курс, который очень практичен, но все же дает вам хорошую интуицию, это путь. О своем опыте расскажут специалисты, которые уже побеждали в конкурсах. Из этого курса вы также познакомитесь с алгоритмами на основе дерева решений, которые менее выражены в курсах по искусственному интеллекту выше.
Необходимые проекты
Выполнение установки машинного обучения и получение необходимого оборудования не только сложно, но и может быть дорогостоящим мероприятием. Изначально я бы посоветовал поэкспериментировать с соревнованиями Kaggle.
Если у вас есть библиотека глубокого обучения на вашем компьютере, начните делать проект. Загрузите существующий пример кода нейронной сети с Github и попробуйте изменить его так, чтобы он делал то, что вам нравится. Не можете придумать никаких приложений? Попробуйте заново реализовать уже существующие документы с нуля или ознакомьтесь с некоторыми поисковыми идеями на GitHub.
Дополнительная литература
- В репозиториях GitHub есть очень хорошая коллекция документов, в которых указаны наиболее важные документы в данной области машинного обучения. Попробуйте прочитать более старую, обратитесь к своим книгам, если вы что-то не понимаете, и попробуйте еще раз, пока не поймете. Обычно они помечены словом круто, как этот.
- Бишоп охватывает большинство вещей до 2010 года в машинном обучении и с хорошим математическим уровнем.
- Иногда читайте более легкое машинное обучение, чтобы поддерживать мотивацию. KDNuggets и Machine Learning reddit предлагают большинство из этих вещей. HackerNews не имеет строгого отношения к машинному обучению, но иногда вы можете найти там соответствующие легкие чтения.
- Если вам нужно что-то более подробное, вам придется прочитать настоящую публикацию. У Саттона есть хорошая книга Обучение с подкреплением, но я бы избегал книги Глубокое обучение Гудфеллоу.
Что еще?
Если вы застряли, ПОПРОСИТЕ ЗА ПОМОЩЬ, но (1) сначала очень постарайтесь решить вашу проблему, (2) затем не забудьте изучить рекомендации этих форумов вопросов и ответов. Вы можете перейти в разделы MachineLearningLearn subreddit, Statistics StackOverflow (в основном для R) и Data Science StackOverflow.
Присоединяйтесь или, если вы действительно полны энтузиазма, организуйте местную встречу. На странице Meetup рекламируется множество AI-митапов.
Удачи на вашем пути!