"Машинное обучение"

Пять принципов Google для того, чтобы машинное обучение стало мейнстримом

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

Недавно я запустил образовательный информационный бюллетень, посвященный ИИ, у которого уже более 100 000 подписчиков. TheSequence — это информационный бюллетень, ориентированный на машинное обучение, без BS (то есть без шумихи, без новостей и т. д.), чтение которого занимает 5 минут. Цель состоит в том, чтобы держать вас в курсе проектов машинного обучения, научных работ и концепций. Пожалуйста, попробуйте, подписавшись ниже:



Машинное обучение (МО) может стать наиболее важным элементом следующего поколения программных приложений, однако его использование ограничивается высококвалифицированными разработчиками. В отличие от предыдущих технологических тенденций, машинное обучение не показывает четкого пути перехода к массовому принятию разработчиками. Часть этих трений связана с тем, что для большинства сред машинного обучения по-прежнему требуется очень высокая точка входа с точки зрения знаний в области компьютерных наук. В 2020 году Google Research опубликовала документ, в котором изложены пять ключевых принципов, позволяющих преодолеть эту проблему и разработать системы машинного обучения, которые могут быть приняты более широким кругом разработчиков.

Тинкеры против ученых: синдром самозванца в машинном обучении

В известной статье, опубликованной в 1978 г., Dr. Полин Р. Клэнс описал феномен, при котором состоявшиеся люди испытывают самоощущение интеллектуальной фальши или ощущение себя мошенником. Доктор Клэнс назвал это явление синдромом самозванца, который стал общепринятым термином в современной психологии. Синдром самозванца присутствует во всех сферах современного общества, но он определенно преобладает в сценариях, требующих высоких интеллектуальных навыков. Я считаю, что версия этого явления негативно влияет на внедрение технологий машинного обучения, поскольку многие разработчики считают, что у них нет необходимых математических и компьютерных навыков, чтобы прыгнуть в космос.

Индустрия технологий разработки программного обеспечения постоянно стремилась найти отправную точку для увеличения внедрения. От ранних языков программирования до последних движений, таких как мобильные разработки, технологии разработки программного обеспечения проходят несколько циклов упрощения, чтобы привлечь более широкие группы разработчиков. С первых дней существования языков программирования и графических интерфейсов большинство стеков разработки программного обеспечения создавали слои за слоями абстракций, которые скрывают лежащие в их основе детали информатики. Частично массовое внедрение мобильных и веб-технологий разработчиками зависело от привлечения разработчиков, многие из которых являются «мастерами» и исполнителями без опыта работы в области компьютерных наук. Этот путь к упрощению не кажется очень очевидным в случае машинного обучения.

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

1) Математическая терминология в документации по платформам машинного обучения. Сегодня документация большинства платформ машинного обучения читается как математический класс, а не как среда разработки.

2) Ускорение исследований в области искусственного интеллекта (ИИ). Быстрый рост исследований в области ИИ — захватывающая вещь. Однако очень часто фреймворки машинного обучения вынуждены внедрять новые методы исследования, которым не хватает надлежащего опыта разработчиков.

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

Пять принципов Google для улучшения платформ машинного обучения

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

1) Демистификация математических и алгоритмических концепций

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

2) Поддерживайте обучение на практике

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

3) Поддержка повторного использования и модификации готовых моделей машинного обучения.

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

4) Синтезируйте лучшие практики машинного обучения в своевременные подсказки

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

5) Подчеркните и поддержите экспериментальный характер машинного обучения

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

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