За последние 25 лет я тысячи раз видел, как человек совершает ошибки, но никогда — как ошибается машина. Сегодня ошибка в проектах может стоить компаниям миллионов и нескольких лет бесполезной работы. Поэтому в этой статье собраны наиболее распространенные ошибки в машинном обучении, связанные с данными, метриками, валидацией и технологиями.
Данные
Шансы совершить ошибку при работе с данными довольно высоки. Легче успешно пройти минное поле, чем не допустить ошибки при работе с набором данных. Вот некоторые распространенные ошибки:
- Необработанные данные. Необработанные данные - это мусор, который не позволит вам быть уверенным в адекватности построенной модели. Следовательно, только предварительно обработанные данные должны быть основой любого проекта искусственного интеллекта.
- Аномалии. Проверяйте данные об отклонениях и аномалиях и устраняйте их. Устранение ошибок - один из приоритетов каждого проекта машинного обучения. Данные всегда могут быть неполными, неверными или какая-то информация может быть утеряна.
- Нехватка данных. Пожалуй, самый простой способ - провести 10 экспериментов и получить результат, но все же не самый правильный. Небольшой и несбалансированный объем данных приведет к выводу, далекому от истины. Если вам нужно обучить сеть отличать очковых пингвинов от очковых медведей, пара фотографий медведей не сработает. Даже если есть тысячи изображений пингвинов.
- Большой объем данных. Иногда ограничение объема данных - единственно правильное решение. Так можно получить, например, наиболее объективную картину действий человека в будущем. Наш мир и человечество невероятно непредсказуемы. Как правило, предсказать чью-либо реакцию на основе их поведения в 1998 году - все равно что гадать по чайным листьям. Результат, будучи практически таким же, будет далек от реальности.
Показатели
Точность - важный показатель в машинном обучении. Однако бессмысленное стремление к абсолютной точности может стать проблемой для проекта искусственного интеллекта. Особенно, если целью является создание системы рекомендаций с прогнозом. Очевидно, что точность может достигать невероятных 99%, если продуктовый онлайн-супермаркет предлагает купить молоко. Держу пари, покупатель возьмет его, и система рекомендаций заработает. Но он все равно купился бы на это, поэтому в такой рекомендации мало смысла. В случае с городским жителем, который ежедневно покупает молоко, в таких системах важен индивидуальный подход и продвижение товаров (которых раньше не было в корзине).
Проверка
Ребенок, изучающий алфавит, постепенно осваивает буквы, простые слова и идиомы. Он усваивает и обрабатывает информацию на определенном уровне. При этом анализ научных работ непонятен малышу, хотя слова в статьях состоят из тех же букв, которые он выучил.
Модель проекта искусственного интеллекта также обучается из определенного набора данных. Однако проект не будет обрабатывать попытку проверить качество модели на том же наборе данных. Для оценки модели необходимо использовать специально отобранные для проверки фрагменты информации, которые не использовались при обучении. Таким образом, можно добиться максимально точной оценки качества модели.
Технология
Выбор технологии в проекте искусственного интеллекта по-прежнему является распространенной ошибкой, приводящей если не к фатальным, то к серьезным последствиям, влияющим на эффективность и сроки сдачи проекта.
Неудивительно, что вы вряд ли найдете более раскрученную тему в машинном обучении, чем нейронные сети, из-за их универсального алгоритма, подходящего для любой задачи. Но этот инструмент не будет самым эффективным и быстрым для любой задачи.
Самый яркий пример - соревнования Kaggle. Нейронные сети не всегда занимают первое место; напротив, у сетей случайных деревьев больше шансов на победу.
Нейроны чаще используются для анализа визуальной информации, голоса и более сложных данных. Используя нейронную сеть в качестве руководства, можно увидеть, что на сегодняшний день это самое простое решение. Но в то же время команда проекта должна четко понимать, какие алгоритмы подходят для конкретной задачи.
Машинное обучение - это еще один инженерный инструмент, который делает нашу жизнь проще и комфортнее, постепенно меняя ее к лучшему. Для многих масштабных проектов эта статья может быть просто ностальгической ретроспективой об ошибках, которые они уже совершили, но все же сумели выжить и преодолеть серьезные трудности на пути к продуктовой компании.
Но для тех, кто только начинает свой бизнес в области искусственного интеллекта, это возможность понять, почему делать селфи с раненым медведем - не лучшая идея и как не пополнять бесконечные списки “мертвых” стартапов.