В последнее время было много разговоров о том, что AutoML или «машинное обучение без драйверов» может изменить способ машинного обучения и передать технологию в руки некодеров. Google - одна из компаний, продвигающих вперед свой пакет «Cloud AutoML», включающий приложения для компьютерного зрения, табличных данных и обработки естественного языка. Их инструменты утверждают, что они просты в использовании и обеспечивают более высокую точность, чем модели машинного обучения, созданные вручную, за счет использования поиска нейронной архитектуры для поиска наиболее эффективной архитектуры модели. Но действительно ли это вызывает ажиотаж? Мы проверили компьютерное зрение Google AutoML с нашей собственной созданной с нуля моделью в Pytorch и сравнили их.

Задача теста - определение пневмонии с помощью рентгеновских лучей

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

Пробуем Google AutoML

Мы начали с AutoML от Google, используя их модуль компьютерного зрения для автоматического построения модели. Импорт данных и настройка задания были простыми, хотя инструмент обеспечивает ограниченную гибкость в том, как структурировать и маркировать данные для импорта. Ниже приведен снимок экрана со страницей результатов, показывающий результаты после ‹15 минут тренировки. AutoML обеспечил впечатляющую точность 81,3% и отзывчивость 78,9% при выполнении этой задачи, не требуя ни единой строчки кода! Он также предоставляет API для доступа к модели, которую мы создали для использования при создании прогнозов.

Использование созданной вручную модели с PyTorch и FastAI

Затем мы построили нашу собственную модель с нуля, используя PyTorch и библиотеку FastAI, что позволяет быстрее создавать и обучать модели в PyTorch. Мы использовали увеличение данных в нашем наборе обучающих данных за счет использования трансформаций зрения для создания более надежной модели и настроили гиперпараметры, а также понизили и затем увеличили масштаб изображений в итерациях обучения. За пару часов работы и ~ 15 минут обучения мы достигли точности 82,7% и запоминаемости 81,0%, превзойдя результаты Google AutoML на 1-2%.

Наши выводы

Хотя мы достигли превосходных результатов по этой тестовой задаче, используя созданную вручную нейронную сеть по сравнению с Google AutoML, это также было значительно более трудоемким и сложным. Даже с помощью библиотеки FastAI и PyTorch на настройку и обучение модели у нас ушло ~ 2 часа. После того, как мы были настроены на AutoML, нам потребовалось не более 30 минут, чтобы импортировать наши данные и обучить модель без написания ни одной строчки кода. Что касается простоты и простоты использования, AutoML побеждает.

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

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

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