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

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

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

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

Обо мне

Я познакомился с компьютерами как предметом в начальной школе. Мое любопытство к этой машине побудило меня вступить в компьютерный клуб и изучать языки программирования, такие как Logo и Scratch. По мере того, как я рос, моя страсть к компьютерным наукам также росла в геометрической прогрессии, из-за чего я решил изучать ее в рамках своего бакалавриата, и поэтому в настоящее время я учусь на бакалавриате в колледже уровня 3, о котором вы, возможно, даже не слышали.

В настоящее время я получил степень магистра компьютерных наук в 7 университетах США. На данный момент я отложил прием до осени 21 из-за продолжающейся пандемии. В настоящее время я работаю стажером по машинному обучению в калифорнийском стартапе под названием «Quant Binary». Я также являюсь инженером по машинному обучению в Omdena, где я работаю с 50 другими сотрудниками из 19 стран, разрабатывая решение машинного обучения для выявления недоедания у детей, от которого страдают более 200 миллионов детей.

Оглавление

  • Что такое глубокое обучение и нейронные сети?
  • Типы моделей глубокого обучения
  • Ресурсы, которые я использовал для изучения глубокого обучения
  • Самые важные библиотеки для глубокого обучения с бесплатными ресурсами
  • Важность сертификатов и проектов
  • Kaggle - Сообщество машинного обучения и науки о данных
  • Редакторы, которые я использую
  • Предлагаемый путь обучения

Почти все ресурсы, о которых я буду упоминать, бесплатны, в то время как некоторые из них платные. Но я расскажу, как их получить почти бесплатно.

Что такое глубокое обучение и нейронные сети?

Глубокое обучение

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

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

Глубокое обучение на самом деле относится к обучению нейронных сетей.

Нейронные сети

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

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

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

Типы моделей глубокого обучения

Я просто упомяну типы моделей глубокого обучения, чтобы, когда я буду объяснять ресурсы, вы имели представление о том, о чем я говорю.

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

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

Контролируемые модели

  • Глубокие нейронные сети
  • Сверточные нейронные сети (CNN)
  • Рекуррентные нейронные сети (RNN)

Неконтролируемые модели

  • Самоорганизующиеся карты (SOM)
  • Машины Больцмана
  • Автоэнкодеры

Ресурсы, которые я использовал для изучения глубокого обучения

Это были все ресурсы, которые я использовал.

(Просто нажимайте на каждый подчеркнутый заголовок, и вы будете перенаправлены на соответствующую страницу)

1. Специализация по глубокому обучению - Coursera

На мой взгляд, это тот курс, без которого не обходится ни один список ресурсов для глубокого обучения. Это еще один революционный курс легендарного поля, Эндрю Нг. То, как он объясняет всю математику, лежащую в основе алгоритмов DL, и необходимые методы, несомненно, лучший.

Как получить этот курс бесплатно?

Когда вы нажимаете Зарегистрироваться бесплатно, вы получаете вот что. Теперь, если вы собираетесь записаться на этот курс только для того, чтобы изучить все теоретические концепции, вы можете просто выбрать Полный курс, Без сертификата, и все готово.

Но если вы тот, кто хочет получить сертификат и не хочет тратить деньги, вот загвоздка. Просто нажмите Доступна финансовая помощь справа от кнопки «Зарегистрироваться бесплатно». Щелкнув по нему и заполнив несколько полей, вы получите вот что. Теперь все, что вам нужно сделать, это заполнить эти 5 полей в начале и написать несколько действительно честных ответов о том, почему финансовая помощь и как поможет этот курс.

Поверьте, они действительно видят, насколько вы увлечены и голодны, когда дело касается обучения. Составьте несколько честных и серьезных ответов, и все готово. После того, как вы подадите заявку, все, что вам нужно сделать, это подождать 15 дней. Спустя почти 14–15 дней вы получите письмо о том же. Если вы выберете этот вариант, вы получите все содержание курса, ресурсы, задания и сертификат абсолютно бесплатно. Но если сегодня не ваш день, я предлагаю вам переписать ответы и подать заявку еще раз.

2. Практическое машинное обучение с помощью Scikit-Learn и TensorFlow - 2-е издание

В этой книге предполагается, что вы почти ничего не знаете о глубоком обучении. Его цель - дать вам концепции, инструменты и интуицию, необходимые для реализации программ, способных учиться на данных. Мы будем изучать раздел 2 книги, так как он охватывает все глубокое обучение (Раздел 1 посвящен машинному обучению, которое я рассмотрел во части 2 нашей текущей серии)

Как получить эту книгу бесплатно?

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

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

Уважайте и цените усилия автора при покупке его книг. На создание такого замечательного произведения, как эта книга, действительно требуется много времени и усилий.

3. Krish Naik - Плейлист Deep Learning

Криш - потрясающий, потрясающий учитель. То, как он объясняет каждую концепцию, слишком хорошо. Руки вниз лучшие. Здесь вы узнаете все, начиная с того, как приступить к работе, и заканчивая наиболее продвинутыми концепциями глубокого обучения. Он также охватывает всю математику, лежащую в основе DL.

4. Deep Lizard - Плейлист" Основы глубокого обучения "

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

Самые важные библиотеки для глубокого обучения

1. TensorFlow

TensorFlow - это комплексная платформа с открытым исходным кодом для машинного обучения. Он имеет всеобъемлющую гибкую экосистему инструментов, библиотек и ресурсов сообщества, которая позволяет исследователям продвигать новейшие достижения в области машинного обучения, а разработчикам легко создавать и развертывать приложения на основе машинного обучения.

Ресурсы

Профессиональный сертификат разработчика DeepLearning.AI TensorFlow

Документация TensorFlow

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

2. Керас

Keras следует передовым методам снижения когнитивной нагрузки: он предлагает последовательные и простые API-интерфейсы, сводит к минимуму количество действий пользователя, необходимых для типичных случаев использования, и предоставляет четкие и действенные сообщения об ошибках. Он также содержит обширную документацию и руководства для разработчиков.

Ресурсы

Джефф Хитон - Плейлист для глубокого обучения 2020

Этот плейлист поможет вам ближе познакомиться с практическим аспектом программирования в Deep Learning с Keras и Tensorflow.

Deep Lizard - Глубокое обучение с плейлистом Keras API

Из этой серии вы узнаете, как использовать Keras, API нейронной сети, написанный на Python. Каждое видео в этом плейлисте посвящено определенной концепции и показывает, как полная реализация выполняется в коде с использованием Keras и Python. Вы узнаете, как предварительно обрабатывать данные, организовывать данные для обучения, строить и обучать искусственную нейронную сеть с нуля, строить и настраивать сверточные нейронные сети (CNN), осуществлять тонкую настройку и передавать обучение, развертывать наши модели с использованием обоих интерфейсов. методы конечного и внутреннего развертывания и многое другое.

Документация Кераса

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

Чем больше вы узнаете о Keras и TensorFlow, тем больше вы узнаете, как эти две библиотеки на самом деле работают вместе и как Keras теперь полностью интегрирован в TensorFlow 2.0.

3. PyTorch

PyTorch - это библиотека машинного обучения с открытым исходным кодом, основанная на библиотеке Torch, используемая для таких приложений, как компьютерное зрение и обработка естественного языка, в основном разработанная исследовательской лабораторией Facebook AI Research. Это бесплатное программное обеспечение с открытым исходным кодом.

Fast.ai - Глубокое обучение для кодеров

Это еще один курс, без которого не будет полного списка ресурсов для глубокого обучения. Этот курс ведут Сильвен Гуггер и Джереми Ховард. Джереми - широко известное имя в индустрии глубокого обучения, и это его самый успешный курс за всю историю.

FreeCodeCamp - Полный курс PyTorch для глубокого обучения

Документация PyTorch

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

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

Тем не менее, я предлагаю вам действительно не торопиться и попробовать посмотреть, как Keras и PyTorch работают на вас, а затем выбрать, какую библиотеку вы хотите использовать.

Важность сертификатов и проектов

Сначала я думал: «Мне не нужны сертификаты или проекты, чтобы продемонстрировать свои навыки. Я покажу свои навыки на собеседовании ». Но по мере того, как я продолжал встречаться с новыми и новыми людьми в этой области и начал взаимодействовать с ними, я узнал, насколько важны сертификаты и проекты. Итак, по моему собственному опыту, я думаю,

Сертификаты не являются решающими, но важными, тогда как

Проекты не только важны, но и важны.

Видите ли, вам необходимо понять следующее: «Как рекрутер или любой другой человек узнает, насколько вы квалифицированы и осведомлены в этой области?» Ответ кроется в ваших Сертификатах и в ваших Проектах.

Эти два момента являются наиболее важными, когда дело доходит до выбора 30 кандидатов из 100 или около 1000, просто как часть простого процесса отбора.

1. Сертификаты

Итак, после просмотра профилей десятков и сотен людей и на основании моего собственного опыта обучения, это сертификаты, которые я предлагаю вам всем для демонстрации своих навыков в области глубокого обучения.

I. Специализация по глубокому обучению - Coursera

II. Deep Learning A-Z ™: практические искусственные нейронные сети

III. Профессиональный сертификат разработчика DeepLearning.AI TensorFlow

2. Проекты

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

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

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

Не торопитесь. Все учатся с разной скоростью.

Совершенно нормально, если вы не можете сразу применить свои навыки. Просто доверяйте процессу и продолжайте двигаться вперед. Это займет некоторое время. Но как только вы освоитесь. Поверьте мне, тогда нет остановки. Настойчивость - ключ к успеху.

Kaggle

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

Я пробовал и реализовал множество проектов Kaggle, и это было чертовски весело. Как и все проекты DL, которые вы найдете в Интернете, есть вероятность, что 85% из них уже могут быть перечислены на Kaggle. На Kaggle вы можете не только отправить собственный файл решения, но и проверить решения, как и сотни других участников и энтузиастов машинного обучения. Разве это не круто?

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

  • Видео Даниэля поможет вам начать работу с Kaggle, вы узнаете, как сделать свою первую отправку в Kaggle, и да, также, учебное пособие по проекту ML.

Редактор, который я использую

1. Google Colab

Google Colab - это потрясающий, бесплатный облачный сервис, основанный на ноутбуках jupyter, который дает вам бесплатный доступ к графическим процессорам для запуска этих громоздких алгоритмов глубокого обучения, так что любой и буквально каждый может разрабатывать приложения для глубокого обучения, не беспокоясь о скорости и тяжелых машинах для работы. эти программы DL и это тоже абсолютно бесплатно.

Google Colab и глубокое обучение

идут вместе, как кока-кола и пицца! Абсолютно идеально.

Google Colab позволяет использовать машинное обучение и глубокое обучение без необходимости устанавливать какое-либо программное обеспечение на локальный компьютер.

Когда дело доходит до запуска этих огромных программ глубокого обучения, нет ничего быстрее и мощнее, чем Colab.

Предлагаемый путь обучения

Я вам все подытожу, чтобы сомнений не было абсолютно. Путь обучения, который я предлагаю, таков:

  • Начните со специализации Coursera по глубокому обучению. Это поможет вам начать работу с глубоким обучением.
  • Затем, чтобы получить более глубокое понимание и закрепить почти все об алгоритмах, методах и рабочих процессах глубокого обучения, начните читать и реализовывать весь раздел 2 документа O'Reilly Практическое машинное обучение с помощью Scikit-Learn, Keras и TensorFlow.

Я предлагаю изучить тему - математику и теорию, лежащие в основе этого, из курса Coursera и одновременно изучить реализацию той же темы из Книги О'Рейли. . Продолжайте делать это, пока не раскроете каждую тему.

  • Если вы все еще не уверены в какой-либо конкретной теме или ищете только чистые знания и не заинтересованы ни в каких сертификатах или чтении книг, я предлагаю посетить плейлист Deep Lizard's Fundamental для интерактивного объяснения основных концепций DL.
  • А если вы ищете более естественное объяснение всей математики, стоящей за ним, а также выполняете мини-проекты, я предлагаю плейлист Кришна Наика.
  • Теперь, со всеми недавно приобретенными навыками, используйте Kaggle для практики, участия в соревнованиях, а также для представления своих решений для уже перечисленных формулировок проблем.

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

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

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

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

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

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

А пока продолжайте учиться. Ура!

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