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

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

1. Автоматизированное машинное обучение (AutoML)

AutoML — важная часть машинного обучения. Его первая исследовательская группа была основана в 2013 году профессором Франком Хаттером из Фрайбургского университета.

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

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

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

Пример кода Google AutoML:

from google.cloud import automl
# TODO(developer): Uncomment and set the following variables
# project_id = “YOUR_PROJECT_ID”
# dataset_id = “YOUR_DATASET_ID”
# display_name = “YOUR_MODEL_NAME”
client = automl.AutoMlClient()
# A resource that represents Google Cloud Platform location.
project_location = f”projects/{project_id}/locations/us-central1"
# Leave model unset to use the default base model provided by Google
metadata = automl.TextClassificationModelMetadata()
model = automl.Model(
 display_name=display_name,
 dataset_id=dataset_id,
 text_classification_model_metadata=metadata,
)
# Create a model with the model metadata in the region.
response = client.create_model(parent=project_location, model=model)
print(“Training operation name: {}”.format(response.operation.name))
print(“Training started…”)

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

Существует несколько программных платформ AutoML, с которыми вы можете работать. Но мы упомянем те, которые сегодня приняты большинством организаций и инженеров машинного обучения. К ним относятся: Google AutoML, Автоматизированное машинное обучение Azure, Auto Keras и Auto-sklearn.

2. Управление операционализацией машинного обучения (MLOps)

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

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

MLOps гарантирует, что практики непрерывной интеграции и развертывания (CI/CD) реализуются на протяжении всего жизненного цикла машинного обучения. Это полезно на каждом этапе, включая сбор и анализ данных, обучение и разработку моделей, мониторинг и переобучение моделей и многое другое.

Проект архитектуры MLOps:

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

Принципы MLOps для воспроизводимости:

Существует ряд инструментов для реализации MLOps в проектах машинного обучения. Вы можете выбрать проприетарное программное обеспечение с открытым исходным кодом, Saas или локальные инструменты MLOps. Некоторые из лучших инструментов MLOps включают Comet, Amazon SageMaker, Azure Machine Learning и Google Cloud AI Platform.

Инновации и наука идут рука об руку. Послушайте беседу нашего генерального директора Гидеона Мендельса с командой серии семинаров Stanford MLSys о будущем MLOps и попробуйте платформу Comet бесплатно!

3. TinyML

TinyML популяризировали Пит Уорден, «отец-основатель» TinyML, и Дэниел Ситунаяке, один из первых инженеров tinyML.

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

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

Средства машинного обучения для периферийных устройств Интернета вещей:

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

Некоторые периферийные устройства и их аппаратные характеристики:

Слова пробуждения, такие как Окей, Google, Alexa и Привет, Siri, — вот несколько примеров TinyML. Эксперты считают, что в ближайшие несколько лет на периферийных устройствах будет обучаться больше моделей машинного обучения. Arduino Nano 33 BLE Sense и TensorFlow Lite Micro — одни из самых популярных аппаратных средств и сред, используемых для развертывания моделей машинного обучения на периферии.

4. Общие враждебные сети

GAN были представлены Яном Гудфеллоу и его коллегами в 2014 году в Монреальском университете.

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

GAN — это подход к генеративному моделированию (подход к обучению без учителя, при котором модель учится обнаруживать закономерности во входных данных). Они известны тем, что используют сверточные нейронные сети, метод глубокого обучения, для распознавания, анализа и классификации визуальных изображений.

Структура GAN:

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

  • Модель генератора

Это обучено генерировать новые наборы данных, например. получение выходных данных, которые напоминают реальные данные.

Обратное распространение в генераторе обучения:

  • Модель дискриминатора

Это обучено сравнивать и отличать сгенерированные данные от реальных данных.

Обратное распространение в обучении дискриминатора

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

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

5. Обучение с подкреплением

Ричарда С. Саттона называют «отцом обучения с подкреплением».

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

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

Примерная схема обучения с подкреплением:

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

AWS DeepRacer

Обучение с подкреплением может быть сложным в развертывании, потому что оно основано на изучении среды для обучения. Это может создать проблему в реальных средах из-за того, насколько сложными и динамичными могут быть вещи. Некоторые алгоритмы обучения с подкреплением включают Q-обучение, Глубокие Q-сети и Состояние-действие-вознаграждение-состояние-действие (SARSA).

Заключение

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

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

Независимая от редакции, Heartbeat спонсируется и публикуется Comet, платформой MLOps, которая позволяет специалистам по данным и командам машинного обучения отслеживать, сравнивать, объяснять и оптимизировать свои эксперименты. Мы платим нашим авторам и не продаем рекламу.

Если вы хотите внести свой вклад, перейдите к нашему призыву к участию. Вы также можете подписаться на получение нашего еженедельного информационного бюллетеня (Еженедельник глубокого обучения), заглянуть в блог Comet, присоединиться к нам в Slack и подписаться на Comet в Twitter и LinkedIn для получения ресурсов и событий. и многое другое, что поможет вам быстрее создавать более качественные модели машинного обучения.