Внимательное изучение данных — это необходимость


отличие научной  и индустриальной работ в области машинного обучения
Свежая статья Питера Уордена (Pete Warden) — «Почему вам необходимо улучшить свои тренировочные данные и как это сделать? (Why you need to improve your training data, and how to do it) снова поднимает серьёзный вопрос, касающийся практического применения алгоритмов машинного обучения для решения реальных задач.
Автор обращает внимание, что в научной среде, основной упор делается на разработку и исследование работы новых моделей, в то время как в индустрии — больше всего времени тратится на подготовку и обработку самих данных.

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

Мусор на входе — мусор на выходе

Старый постулат: Мусор на входе — мусор на выходе (Garbage In, Garbage Out (GIGO)) — приобретает для задач машинного обучения особое значение. Особенно, если данные обрабатываются при помощи глубоких нейронных сетей.

Эту проблему можно назвать самым большим препятствием в практическом использовании глубокого обучения. Так как самый быстрый способ добиться высокой точности работы модели в реальном мире — это необходимость серьёзного улучшения обучающего набора данных (training set).

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

Трудности в разметке данных

У Jetpac возникла задача научить модель распознавать привлекательные фотографии путешествий.
Для разметки фотографий были привлечены низкооплачиваемые работники из Юго-Восточной Азии.
Проблема возникла в том, что в отличие от богатых клиентов, которые должны были использовать результаты работы обученной модели, привлечённые работники имели совсем другое представление о приятном отдыхе: для них фотографии людей в костюмах, пьющих вино на конференциях в отелях с кондиционерами, оказались более привлекательными, чем фотографии людей на пляже и море.

Трудности в использовании готовых датасетов

Разработчики, которые пытаются улучшить системы зрения для роботов и БПЛА (беспилотных летательных аппаратов), сталкиваются с проблемой при попытке использовать стандартный набор данных — Imagenet. Проблема состоит в том, что изображения сделаны людьми, а не роботами, а люди фотографируют совсем не так, как это будет делать машина — другая оптика (на роботах зачастую стоят широкоугольные линзы), другая точка зрения и т. д.

Предложения по решению

Какие же решения предлагает автор?
1. Создание любой ИИ-системы можно начать с использования человека (Human-in-the-Loop), который и будет выполнять работу по обработке данных, вместо ИИ. При этом, результаты работы данного оператора можно будет использовать в качестве обучающей выборки для последующего обучения моделей.
2. Все исследователи должны самостоятельно исследовать используемую обучающую выборку: если это изображения, то нужно просмотреть их вручную, а если звук — прослушать, можно написать дополнительные скрипты для просеивания данных, но потом данные снова нужно просмотреть.
Выполнение этой муторной и скучной работы, позволит понять природу и качество используемых данных и выявить проблемы неправильных типов данных или их неверную классификацию.
3. Отслеживание правильных метрик.
Например, при работе над системой распознвания голосовых команд, автор постоянно отслеживал матрицу ошибок (confusion matrix) — таблицу, в которой показаны ошибки классификации.
4. Использование визуализации работы модели. Например, для понимания, как нейронная сеть интерпретируют обучающие данные — можно использовать визуализацию кластеров. Это даёт представление, как именно сеть «понимает данные» — объединяя входные данные в группы.
5. Необходима стратегия постоянного пополнения и улучшения вашего набора данных (пока от этого есть какая-либо польза для конечного пользователя вследствие улучшения точности модели).
6. Необходимо продумать наихудшие возможные результаты работы модели и попытаться создать защитную систему, чтобы избежать их.
Особенно важен подобный подход в оценке качества используемых данных, в случаях, когда модели обученные на этих данных будут принимать критически важные для пользователей решения (решение об условно-досрочном освобождении, принятие решений о найме персонала и т.п.).

Заключение

Проблема с качеством обучающей выборки была обнаружена не где-нибудь, а в медицинском датасете с рентгеновскими снимками легких (Exploring the ChestXray14 dataset: problems).
рентгеновские снимки легких
Серьёзный процент данных изначально был неверно размечен (проблема была в способе сбора датасета — автоматическом парсинге заключений врачей), что между тем не помешало опубликовать статью (CheXNet: Radiologist-Level Pneumonia Detection on Chest X-Rays with Deep Learning) с заявленным результатом работы модели «превышающим среднюю эффективность радиолога в задаче обнаружения пневмонии».
А между тем — это Стэнфорд, а исследовательскую группу возглавляет сам Эндрю Ын (Andrew Ng).

Или другой пример. Случайно заглянув в набор данных достопримечательностей — вместо фотографии какого-то определённого замка оказалось изображения постера к аниме Хаяо Миядзаки — «Ходячий замок».
Что и возвращает к обозначенной проблеме — необходимости тщательнее контролировать обучающую выборку.
А то, в противном случае, возникает вопрос — а чему собственно учатся нейронные сети?

Ссылки
Why you need to improve your training data, and how to do it
Exploring the ChestXray14 dataset: problems

The unreasonable usefulness of deep learning in medical image datasets

Метрики в задачах машинного обучения

По теме
Глубокие нейронные сети как следующий этап развития программного обеспечения
Проблемы применения машинного обучения для решения реальных задач
Что не так со свёрточными нейронными сетями?
Однопиксельная атака для обмана нейронных сетей
Andrew Ng: Искусственный интеллект — это новое электричество
Как применять искусственный интеллект в бизнесе

Автор: Vladimir (noonv), 2018

Эксклюзивно для robocraft.ru
копирование на другие ресурсы и публикация
без разрешения автора запрещены.


Добавить комментарий

Arduino

Что такое Arduino?
Зачем мне Arduino?
Начало работы с Arduino
Для начинающих ардуинщиков
Радиодетали (точка входа для начинающих ардуинщиков)
Первые шаги с Arduino

Разделы

  1. Преимуществ нет, за исключением читабельности: тип bool обычно имеет размер 1 байт, как и uint8_t. Думаю, компилятор в обоих случаях…

  2. Добрый день! Я недавно начал изучать программирование под STM32 и ваши уроки просто бесценны! Хотел узнать зачем использовать переменную типа…

3D-печать AI Android Arduino Bluetooth CraftDuino DIY IDE iRobot Kinect LEGO OpenCV Open Source Python Raspberry Pi RoboCraft ROS swarm ИК автоматизация андроид балансировать бионика версия видео военный датчик дрон интерфейс камера кибервесна манипулятор машинное обучение наше нейронная сеть подводный пылесос работа распознавание робот робототехника светодиод сервомашинка собака управление ходить шаг за шагом шаговый двигатель шилд юмор

OpenCV
Робототехника
Будущее за бионическими роботами?
Нейронная сеть - введение