"Начиная"

Машинное обучение с точки зрения системной инженерии

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

Таблица содержания

  1. Принципы системной инженерии
  2. "Машинное обучение"
  3. Исследовательский анализ данных
  4. Подсистема обучения
  5. "Оценка"
  6. "Пример"

Принципы системной инженерии

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

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

В машинном обучении все происходит из хорошо приближенного представления реальной среды через данные. Поэтому правильные данные имеют решающее значение для успеха вашей прикладной модели машинного обучения. Несмотря на то, что термин «правильный» является несколько расплывчатым и полностью зависит от задачи, перед началом проекта необходимо сделать некоторые важные соображения. Во-первых, владею ли я данными или могу лицензировать их? Чем больше людей имеют доступ к одному и тому же потоку данных, тем выше конкуренция. Я бы применил эту стратегию только к коммерческим случаям использования, которые лежат в основе строгих законов о защите данных. Если данные не персонализированы и ограничения не применяются, я бы рекомендовал открыть источник ваших данных, чтобы каждый мог внести свой вклад. Во-вторых, рассмотрите; у меня будет доступ к непрерывному потоку данных? Это позволяет постоянно улучшать точность модели и производительность обобщения за счет повторного обучения модели на последних выборках данных. Весь этот процесс сбора нужных данных называется интеллектуальным анализом данных.

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

Исследовательский анализ данных

Перед началом разработки у вас может быть только расплывчатая стратегия или цель в отношении того, чему ваша модель машинного обучения должна научиться на основе данных. Для реализации ваших идей исследовательский анализ данных (EAD) может выступать в качестве исследовательского этапа для получения элементарных интерпретаций данных. Обобщение основных характеристик путем их визуального построения помогает понять набор данных. В основном это делается путем уменьшения размеров данных для экстраполяции основных характеристик и тенденций. Кроме того, EDA - важный инструмент для исследовательского исследования и определения объема. Таким образом, позволяя руководителям проектов определять системные требования.

Подсистема обучения

Подсистему обучения можно разделить на три этапа; выбор алгоритма обучения, оптимизация гиперпараметра и обучение модели на данных. На первом этапе - выбор алгоритма обучения - существуют традиционные алгоритмы машинного обучения, которые существуют уже несколько десятилетий, такие как Random Forrest (RF) или Support Vector Machines (SVM). Однако в этой серии публикаций основное внимание будет уделено алгоритмам, основанным на нейронных архитектурах. Два типа алгоритмов, которые я считаю наиболее многообещающими, - это Deep Learning (DL) и Deep Reinforcement Learning (DRL), поскольку оба они исключительно хорошо масштабируются с вычислением GPU и объемом данных.

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

Оценка

Эта итерация продолжается в течение нескольких эпох, пока не будет достигнута определенная оценка производительности или целевое количество эпох. Хотя обучение модели является ключевым этапом, измерение производительности обобщения модели на невидимых данных является не менее важным аспектом, который следует учитывать в каждом конвейере машинного обучения. Обобщение - это способность хорошо работать с ненаблюдаемыми образцами (новыми данными). Основная задача машинного обучения - уменьшить ошибку обобщения. Его можно приблизительно оценить с помощью перекрестной проверки. Он предоставляет структуру, в которой 80% набора данных используется исключительно для обучения, а оставшиеся 20% - для тестирования и проверки, соответственно. Показатели производительности модели постоянно рассчитываются после каждой эпохи.

Пример

Предположим, мы хотим разработать приложение для автоматической диагностики рака кожи меланомы. Удобное решение для пациента - сделать снимок пораженной кожи и загрузить его в приложение. Затем внутренняя модель машинного обучения должна прогнозировать вероятность рака кожи меланомы с учетом изображения. Чтобы разработать следующую систему, мы можем выполнить вышеупомянутые шаги. Набор данных, который мы используем для обучения модели, - это набор SIIM-ISIC для рака кожи меланомы. Он содержит 44000 изображений с пометкой для рака кожи меланомы. Все этапы предварительной обработки и преобразования уже выполнены. Мы можем использовать архитектуру модели ResNeXt -101, представленную FAIR (Facebook) в 2016 году. Архитектура содержит ~ 44 миллиона параметров, которые будут совместно изучены на 35 000 обучающих изображений. Во время обучения модель внутренне пытается минимизировать функцию потерь, например потерю кросс-энтропии, что соответствующим образом обновляет параметры. Показатели производительности, такие как погрешность (точность / отзыв), точность, MSE, F1-оценка, приблизительно соответствуют точности и возможностям обобщения, оцененным на 9.000 невидимых изображениях / этикетках. После того, как модель пройдет этап проверки, ее можно будет использовать для вывода онлайн-экспериментов с загруженными изображениями. Мы не будем вдаваться в подробности о дальнейших шагах, которые нам нужно будет выполнить, пока мы не отправим проект, поскольку здесь мы сосредоточены только на технической реализации.

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