Данные, вычислительные ресурсы, алгоритмы и платформы с открытым исходным кодом

Глубокое обучение (DL) и машинное обучение (ML) - это две подгруппы искусственного интеллекта (AI). ML отличается от традиционного программирования тем, что может учиться на данных без предоставления явных правил. Он может идентифицировать скрытые закономерности за данными. ML удобен для анализа структурированных данных. DL выходит за рамки ML, когда мы рассматриваем сложность моделей. Он обеспечивает подход искусственной нейронной сети (ИНС). DL очень полезен для анализа неструктурированных данных (изображений, текстов, голоса и т. Д.). ML не очень подходит для этих типов данных.

ML и DL были вокруг нас на протяжении последних десятилетий. Возникновение этих двух технологий произошло недавно благодаря следующим факторам:

  • Большой объем данных
  • Вычислительные ресурсы
  • Алгоритмы
  • Фреймворки с открытым кодом

Этот пост посвящен четырем факторам, которые способствовали появлению ML и DL.

Большой объем данных

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

Данные - самый ценный актив в ML и DL. В последнее время методы ML и DL используются по-разному для работы с данными:

  • Извлечение данных: данные не попадают в наши руки. Мы должны извлечь их из разных источников. Эти источники включают веб-страницы, базы данных, изображения и т. Д. Для извлечения данных из этих источников широко используются методы ML и DL.
  • Предварительная обработка данных. Большинство реальных данных беспорядочно. Перед использованием их необходимо предварительно обработать. Обработка пропущенных значений и обнаружение выбросов - самые фундаментальные задачи предварительной обработки данных. В дополнение к общим подходам для этого используются методы ML и DL.
  • Моделирование. Чтобы анализировать данные, нам нужно создавать модели. Большинство из них - модели ML и DL. Эти модели могут учиться на данных и делать прогнозы на основе новых невидимых данных.

Вычислительные ресурсы

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

Другое дело, что наличие облачных вычислений. Вам не нужно иметь мощное оборудование на вашем локальном компьютере для выполнения энергоемких алгоритмов. С помощью облачного программного обеспечения вы можете запускать их где угодно и когда угодно. Большинство услуг находятся в свободном доступе. Однако вам придется оплачивать некоторые дополнительные услуги по мере их использования. AWS и Microsoft Azure - хорошо известные сервисы облачных вычислений, доступные сегодня.

Алгоритмы

Значительные улучшения в алгоритмах делают методы ML и DL более удобными. В настоящее время алгоритмы доступны для любых данных. Для линейных данных доступны линейная регрессия, логистическая регрессия, машины опорных векторов и т. Д. Деревья решений, случайные леса, XGBoost (древовидные алгоритмы) доступны для нелинейных данных. Алгоритмы случайных лесов и XGBoost очень мощные, поэтому их прогнозы очень точны.

Сверточные нейронные сети (CNN) доступны для данных изображения. Рекуррентные нейронные сети (RNN) доступны для текстовых или последовательных данных.

Чтобы воспользоваться преимуществами нейронных сетей, вам необходимо иметь большие объемы данных. Производительность общих алгоритмов машинного обучения не увеличивается с большими объемами данных. Если у вас есть большие объемы данных, использование нейронных сетей повысит производительность ваших моделей.

Фреймворки с открытым исходным кодом

Вышеупомянутые алгоритмы и многие другие алгоритмы свободно доступны через фреймворки с открытым исходным кодом. Python имеет высокоуровневые фреймворки для задач ML и DL.

Для общего машинного обучения Scikit-learn - лучший фреймворк. Его синтаксис очень согласован. Он включает в себя множество моделей машинного обучения, которые можно легко реализовать с помощью нескольких строк кода. TensorFlow и Keras, разработанные Google, являются самыми популярными фреймворками DL. PyTorch от Facebook - еще один отличный вариант для среды DL.

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

До следующего раза, желаю всем счастья! А пока вы можете прочитать другие мои сообщения по адресу:

Https://rukshanpramoditha.medium.com

Рукшан Прамодитха,
2021–07–10