Эта книга нацелена на изучение взаимодействия искусственного интеллекта и человека в процессе создания и эксплуатации систем машинного обучения. В отличие от большинства курсов по машинному обучению, сосредоточенных на алгоритмах, большое внимание уделяется работе с данными: их маркировке, аннотированию, проверке и обновлению. Впервые под одной обложкой собраны наиболее распространенные стратегии аннотирования, активного обучения и смежных задач, таких как проектирование интерфейса для аннотирования.
Книга предназначена для специалистов по работе с данными, разработчиков программного обеспечения и тех, кто делает первые шаги в работе с машинным обучением.
Author(s): Роберт (Манро) Монарх
Edition: 1
Publisher: ДМК Пресс
Year: 2022
Language: Russian
Commentary: Vector PDF
Pages: 498
City: М.
Tags: Artificial Intelligence; Human-Computer Interaction; Machine Learning; Management; Quality Control; Python; Predictive Models; Transfer Learning; Text Generation; Deployment; PyTorch; Uncertainty; Object Detection; Semantic Segmentation; Synthetic Data; Data Augmentation; Active Learning; Sampling; Sequence Labeling; Data Annotation
Предисловие
Введение
Благодарности
Об этой книге
Об авторе
Часть I. ПЕРВЫЕ ШАГИ
Глава 1. Введение в машинное обучение с участием человека
1.1 Базовые принципы машинного обучения с участием человека
1.2 Введение в аннотирование
1.2.1 Простые и более сложные стратегии аннотирования
1.2.2 Устранение пробелов в области научных знаний о данных
1.2.3 Качество аннотирования человеком: почему это трудно?
1.3 Введение в активное обучение: повышение скорости и снижение стоимости обучающих данных
1.3.1 Три широкие стратегии отбора активного обучения: неопределенность, разнообразие и случайность
1.3.2 Что такое случайный выбор оценочных данных?
1.3.3 Когда использовать активное обучение?
1.4 Машинное обучение и взаимодействие человек–компьютер
1.4.1 Пользовательские интерфейсы: как вы создаете обучающие данные?
1.4.2 Прайминг: что может повлиять на человеческое восприятие?
1.4.3 Плюсы и минусы создания меток путем оценки прогнозов машинного обучения
1.4.4 Основные принципы проектирования интерфейсов аннотации
1.5 Машинное обучение в помощь человеку или машинное обучение с участием человека
1.6 Перенос обучения для запуска ваших моделей
1.6.1 Перенос обучения в компьютерном зрении
1.6.2 Перенос обучения при обработке естественного языка
1.7 Чего ожидать от этого текста
Резюме
Глава 2. Начало работы с машинным обучением с участием человека (human-in-the-loop)
2.1 За пределами хактивного обучения: ваш первый алгоритм активного обучения
2.2 Архитектура вашей первой системы
2.3 Интерпретация прогнозов модели и данных для активного обучения
2.3.1 Ранжирование достоверности
2.3.2 Выявление выбросов
2.3.3 Чего можно ожидать в процессе итераций
2.4 Построение интерфейса для сбора меток человека
2.4.1 Простой интерфейс для маркировки текста
2.4.2 Управление данными машинного обучения
2.5 Развертывание вашей первой системы машинного обучения с участием человека
2.5.1 Всегда в первую очередь собирайте данные для оценки
2.5.2 Каждая точка данных получает шанс
2.5.3 Выбор правильных стратегий для ваших данных
2.5.4 Переобучение модели и итерации
Резюме
Часть II. АКТИВНОЕ ОБУЧЕНИЕ
Глава 3. Выборка неопределенности
3.1 Интерпретация неопределенности в модели машинного обучения
3.1.1 Для чего искать неопределенность в вашей модели?
3.1.2 Softmax и распределения вероятностей
3.1.3 Интерпретация успешности активного обучения
3.2 Алгоритмы для выборки неопределенности
3.2.1 Выборка с наименьшим доверием
3.2.2 Выборка по пределу уверенности
3.2.3 Соотношение выборок
3.2.4 Энтропия (энтропия классификации)
3.2.5 Глубокое погружение в энтропию
3.3 Определение случаев запутанности различных типов моделей
3.3.1 Выборка неопределенности с помощью логистической регрессии и моделей MaxEnt
3.3.2 Выборка неопределенности с помощью метода опорных векторов (SVM)
3.3.3 Выборка неопределенности с помощью байесовских моделей
3.3.4 Выборка неопределенности с помощью деревьев решений и случайных лесов
3.4 Измерение неопределенности по нескольким прогнозам
3.4.1 Выборка неопределенности с помощью ансамбля моделей
3.4.2 Запрос по комитету и отсеивание
3.4.3 Разница между алеаторной и эпистемической неопределенностями
3.4.4 Классификация с несколькими метками и непрерывными значениями
3.5 Определение правильного числа элементов для проверки человеком
3.5.1 Выборка неопределенности с ограниченным бюджетом
3.5.2 Выборка неопределенности с временными ограничениями
3.5.3 Когда остановиться, если нет ограничений по времени или бюджету?
3.6 Оценка успешности активного обучения
3.6.1 Нужны ли мне новые тестовые данные?
3.6.2 Нужны ли мне новые данные для проверки?
3.7 Памятка по выборке неопределенности
3.8 Дополнительная литература
3.8.1 Дополнительная литература по наименее достоверной выборке
3.8.2 Дополнительная литература по выборке с пределом достоверности
3.8.3 Дополнительная литература по доверительной выборке
3.8.4 Дополнительная литература по выборке на основе энтропии
3.8.5 Дополнительная литература по другим моделям машинного обучения
3.8.6 Дополнительная литература по выборке неопределенности на основе ансамблей
Резюме
Глава 4. Выборка разнообразия
4.1 Осознание того, чего вы не знаете: выявление пробелов в знаниях вашей модели
4.1.1 Пример данных для выборки разнообразия
4.1.2 Интерпретация нейронных моделей для выборки разнообразия
4.1.3 Получение информации из скрытых слоев в PyTorch
4.2 Выборка выбросов на основе модели
4.2.1 Использование данных проверки для ранжирования активаций
4.2.2 Какие слои следует использовать для расчета выбросов модели?
4.2.3 Ограничения выбросов на данных моделей
4.3 Кластерная выборка
4.3.1 Состав кластера, центроиды и выбросы
4.3.2 Любой из существующих во вселенной алгоритмов кластеризации
4.3.3 Кластеризация k-средних с косинусным сходством
4.3.4 Уменьшение размерности параметров с помощью вложений или анализа главных компонент
4.3.5 Другие алгоритмы кластеризации
4.4 Репрезентативная выборка
4.4.1 Репрезентативная выборка нечасто используется обособленно
4.4.2 Простая репрезентативная выборка
4.4.3 Адаптивная репрезентативная выборка
4.5 Выборка для получения реального разнообразия
4.5.1 Распространенные проблемы разнообразия обучающих данных
4.5.2 Стратифицированная выборка для обеспечения разнообразия демографических данных
4.5.3 Представленный и представляющий: что важно?
4.5.4 Демографическая точность
4.5.5 Ограничения выборки для определения реального разнообразия
4.6 Выборка разнообразия с различными типами моделей
4.6.1 Выбросы на основе различных типов моделей
4.6.2 Кластеризация с использованием различных типов моделей
4.6.3 Репрезентативная выборка с различными типами моделей
4.6.4 Выборка для реального разнообразия с различными типами моделей
4.7 Краткая памятка по выборке разнообразия
4.8 Дополнительная литература
4.8.1 Дополнительная литература по выбросам на основе моделей
4.8.2 Дополнительная литература по кластерной выборке
4.8.3 Дополнительная литература по репрезентативной выборке
4.8.4 Дополнительная литература по выборке для реального разнообразия
Резюме
Глава 5. Расширенное активное обучение
5.1 Сочетание выборки неопределенности и выборки разнообразия
5.1.1 Выборка наименьшего доверия с выборкой на основе кластеров
5.1.2 Выборка неопределенности с выбросами по модели
5.1.3 Выборка неопределенности с выбросами по модели и кластеризацией
5.1.4 Репрезентативная выборка на основе кластерной выборки
5.1.5 Выборка из кластера с наибольшей энтропией
5.1.6 Другие комбинации стратегий активного обучения
5.1.7 Сочетание результатов активного обучения
5.1.8 Выборка для уменьшения предполагаемой ошибки
5.2 Активный перенос обучения для выборки неопределенности
5.2.1 Учим модель предсказывать собственные ошибки
5.2.2 Применение активного переноса обучения
5.2.3 Активный перенос обучения с большим количеством слоев
5.2.4 Плюсы и минусы активного переноса обучения
5.3 Применение активного переноса обучения к репрезентативной выборке
5.3.1 Использование модели для предсказания неизвестного
5.3.2 Активный перенос обучения для адаптивной репрезентативной выборки
5.3.3 Плюсы и минусы активного переноса обучения для репрезентативной выборки
5.4 Активный перенос обучения для адаптивной выборки
5.4.1 Адаптация выборки неопределенности посредством прогнозирования неопределенности
5.4.2 Плюсы и минусы метода ATLAS
5.5 Краткие памятки по расширенному активному обучению
5.6 Дополнительная литература по активному переносу обучения
Резюме
Глава 6. Активное обучение для решения различных задач машинного обучения
6.1 Использование активного обучения для обнаружения объектов
6.1.1 Точность выявления объектов: достоверность меток и локализация
6.1.2 Выборка неопределенности для оценки достоверности меток и локализации при выявлении объектов
6.1.3 Выборка разнообразия для достоверности меток и локализации при выявлении объектов
6.1.4 Активный перенос обучения для распознавания объектов
6.1.5 Низкий порог распознавания объектов во избежание закрепления необъективности
6.1.6 Создание образцов обучающих данных для репрезентативной выборки, схожих с прогнозами
6.1.7 Выборка разнообразия по изображениям при распознавании объектов
6.1.8 Создание более точных масок при использовании многоугольников
6.2 Использование активного обучения для семантической сегментации
6.2.1 Точность семантической сегментации
6.2.2 Выборка неопределенности для семантической сегментации
6.2.3 Выборка разнообразия для семантической сегментации
6.2.4 Активный перенос обучения для семантической сегментации
6.2.5 Выборка разнообразия по изображениям для семантической сегментации
6.3 Применение активного обучения для маркировки последовательностей
6.3.1 Точность маркировки последовательностей
6.3.2 Выборка неопределенности для маркировки последовательности
6.3.3 Выборка разнообразия для маркировки последовательностей
6.3.4 Активный перенос обучения для маркировки последовательностей
6.3.5 Стратифицированная выборка по достоверности и токенам
6.3.6 Создание образцов обучающих данных для репрезентативной выборки, похожих на ваши прогнозы
6.3.7 Маркировка всей последовательности
6.3.8 Выборка разнообразия по документу при маркировке последовательностей
6.4 Применение активного обучения для генерации языка
6.4.1 Вычисление точности для систем генерации языка
6.4.2 Выборка неопределенности для генерации языка
6.4.3 Выборка разнообразия для генерации языка
6.4.4 Активный перенос обучения для генерации языка
6.5 Применение активного обучения к другим задачам машинного обучения
6.5.1 Активное обучение для поиска информации
6.5.2 Активное обучение для видео
6.5.3 Активное обучение для речи
6.6 Выбор подходящего количества элементов для проверки человеком
6.6.1 Активная разметка полностью или частично аннотированных данных
6.6.2 Совмещение машинного обучения с аннотированием
6.7 Дополнительная литература
Резюме
Часть III. АННОТИРОВАНИЕ
Глава 7. Работа с людьми, аннотирующими ваши данные
7.1 Введение в аннотирование
7.1.1 Три правила хорошего аннотирования данных
7.1.2 Аннотирование данных и проверка прогнозов модели
7.1.3 Аннотации человека, полученные в процессе машинного обучения
7.2 Штатные эксперты
7.2.1 Заработная плата для штатных сотрудников
7.2.2 Защищенность штатных сотрудников
7.2.3 Вовлеченность штатных сотрудников
7.2.4 Совет: всегда проводите сеансы аннотирования своими силами
7.3 Сотрудники на аутсорсинге
7.3.1 Зарплата для аутсорсинговых работников
7.3.2 Защищенность аутсорсинговых работников
7.3.3 Вовлеченность аутсорсинговых работников
7.3.4 Совет: общайтесь с вашими аутсорсинговыми сотрудниками
7.4 Краудсорсинговые работники
7.4.1 Зарплата для сотрудников краудсорсинга
7.4.2 Защищенность краудсорсинговых работников
7.4.3 Вовлеченность краудсорсинговых работников
7.4.4 Совет: создайте условия для стабильной работы и карьерного роста
7.5 Другие виды рабочей силы
7.5.1 Конечные пользователи
7.5.2 Волонтеры
7.5.3 Любители игр
7.5.4 Прогноз модели в качестве аннотации
7.6 Оценка требуемого объема аннотирования
7.6.1 Уравнение порядка количества необходимых аннотаций
7.6.2 От одной до четырех недель на обучение аннотированию и уточнение заданий
7.6.3 Для оценки затрат используйте пилотные аннотации и показатели точности
7.6.4 Сочетание разных типов трудовых ресурсов
Резюме
Глава 8. Контроль качества при аннотировании данных
8.1 Сравнение аннотаций с истинными значениями ответов
8.1.1 Согласие аннотатора с базовыми истинными данными
8.1.2 Какой базовый уровень использовать для ожидаемой точности?
8.2 Межаннотаторское согласие
8.2.1 Введение в межаннотаторское согласие
8.2.2 Преимущества вычисления межаннотаторского согласия
8.2.3 Согласие по набору данных с помощью альфы Криппендорфа
8.2.4 Для чего, помимо маркировки, применима альфа Криппендорфа
8.2.5 Индивидуальное согласие аннотаторов
8.2.6 Согласие по каждой метке и каждому демографическому показателю
8.2.7 Повышение точности с помощью согласия для реального разнообразия
8.3 Агрегирование аннотаций для создания обучающих данных
8.3.1 Агрегирование аннотаций при общем согласии
8.3.2 Математический расчет для несогласных аннотаторов и низкого уровня согласия
8.3.3 Агрегирование аннотаций при несогласии аннотаторов
8.3.4 Достоверность с подачи аннотатора
8.3.5 Решаем, каким меткам доверять: неопределенность аннотации
8.4 Контроль качества посредством экспертной оценки
8.4.1 Набор и обучение квалифицированных сотрудников
8.4.2 Обучение персонала до уровня экспертов
8.4.3 Экспертиза с помощью машинного обучения
8.5 Многоэтапные рабочие процессы и задачи рецензирования
8.6 Дополнительная литература
Резюме
Глава 9. Углубленное аннотирование и дополнение данных
9.1 Качественное аннотирование для субъективных задач
9.1.1 Выяснение предположений аннотаторов
9.1.2 Определение приемлемых меток для субъективных задач
9.1.3 Доверие к аннотатору для анализа разнообразия ответов
9.1.4 Байесовская сыворотка правды для субъективных суждений
9.1.5 Встраивание простых задач в более сложные
9.2 Машинное обучение для контроля качества аннотаций
9.2.1 Расчет достоверности аннотации как задачи оптимизации
9.2.2 Согласование достоверности меток при разногласиях аннотаторов
9.2.3 Прогнозирование достоверности отдельной аннотации
9.2.4 Прогнозирование согласованности для отдельной аннотации
9.2.5 Определение аннотатора как бота
9.3 Предсказания модели в качестве аннотаций
9.3.1 Доверие к аннотациям на основе достоверных предсказаний модели
9.3.2 Использование прогнозов модели в качестве единого аннотатора
9.3.3 Перекрестная валидация для поиска ошибочно маркированных данных
9.4 Вложения и контекстуальные отображения
9.4.1 Обучение переноса из существующей модели
9.4.2 Представления из смежных легко аннотируемых задач
9.4.3 Метод самоконтроля: использование меток, присущих данным
9.5 Системы на основе поиска и системы на основе правил
9.5.1 Фильтрация данных с помощью правил
9.5.2 Поиск обучающих данных
9.5.3 Маскированная фильтрация характеристик
9.6 Легкий надзор над неконтролируемыми моделями
9.6.1 Адаптация неконтролируемой модели к контролируемой модели
9.6.2 Исследовательский анализ данных под контролем человека
9.7 Синтетические данные, создание данных и их дополнение
9.7.1 Синтетические данные
9.7.2 Создание данных
9.7.3 Дополнение данных
9.8 Внедрение информации об аннотациях в модели машинного обучения
9.8.1 Фильтрация, или взвешивание элементов по доверию к их меткам
9.8.2 Включение идентификации аннотатора во входные данные
9.8.3 Внедрение неопределенности в функцию потерь
9.9 Дополнительная литература по расширенному аннотированию
9.9.1 Дополнительная литература по субъективным данным
9.9.2 Дополнительная литература по машинному обучению для контроля качества аннотаций
9.9.3 Дополнительная литература по вложениям / контекстным представлениям
9.9.4 Дополнительная литература по системам на основе правил
9.9.5 Дополнительная литература по включению неопределенности аннотаций в последующие модели
Резюме
Глава 10. Качественные аннотации для различных задач машинного обучения
10.1 Качество аннотаций для непрерывных задач
10.1.1 Базовая истина для непрерывных задач
10.1.2 Соглашение для непрерывных задач
10.1.3 Субъективность в непрерывных задачах
10.1.4 Агрегирование непрерывных оценок для создания обучающих данных
10.1.5 Машинное обучение для агрегирования непрерывных задач с целью создания обучающих данных
10.2 Качество аннотаций для задач распознавания объектов
10.2.1 Базовая истина для распознавания объектов
10.2.2 Согласие при распознавании объектов
10.2.3 Размерность и точность при распознавании объектов
10.2.4 Субъективность при распознавании объектов
10.2.5 Агрегирование аннотаций объектов для создания обучающих данных
10.2.6 Машинное обучение для аннотаций объектов
10.3 Качество аннотаций для семантической сегментации
10.3.1 Базовая истина для аннотации семантической сегментации
10.3.2 Соглашение для семантической сегментации
10.3.3 Субъективность аннотаций семантической сегментации
10.3.4 Агрегирование семантической сегментации для создания обучающих данных
10.3.5 Машинное обучение для агрегирования задач семантической сегментации при создании обучающих данных
10.4 Качество аннотации для маркировки последовательности
10.4.1 Базовая истина для маркировки последовательности
10.4.2 Базовая истина для маркировки последовательностей в реально непрерывных данных
10.4.3 Согласие по маркировке последовательностей
10.4.4 Машинное обучение и перенос обучения для маркировки последовательностей
10.4.5 Данные на основе правил, поиска и синтетических данных для маркировки последовательностей
10.5 Качество аннотаций для генерирования языковых материалов
10.5.1 Базовая истина для генерации языка
10.5.2 Согласие и агрегирование для генерации языка
10.5.3 Машинное обучение и обучение переноса для генерации языка
10.5.4 Синтетические данные для генерации языка
10.6 Качественное аннотирование для других задач машинного обучения
10.6.1 Аннотирование для поиска информации
10.6.2 Аннотирование для многоплановых задач
10.6.3 Аннотирование для видео
10.6.4 Аннотирование аудиоданных
10.7 Дополнительная литература по качеству аннотирования для различных задач машинного обучения
10.7.1 Дополнительная литература по компьютерному зрению
10.7.2 Дополнительная литература по аннотированию для обработки естественного языка
10.7.3 Дополнительная литература по аннотированию для информационного поиска
Резюме
Часть IV. ВЗАИМОДЕЙСТВИЕ ЧЕЛОВЕКА И КОМПЬЮТЕРА ПРИ МАШИННОМ ОБУЧЕНИИ
Глава 11. Интерфейсы для аннотирования данных
11.1 Основные принципы взаимодействия человека и компьютера
11.1.1 Знакомство с доступностью, обратной связью и самостоятельностью
11.1.2 Проектирование интерфейсов для аннотирования
11.1.3 Сведение к минимуму движения глаз и прокрутки
11.1.4 Клавиатурные сочетания и устройства ввода
11.2 Эффективное нарушение правил
11.2.1 Прокрутка для пакетного аннотирования
11.2.2 Ножные педали
11.2.3 Голосовой ввод
11.3 Прайминг в интерфейсах аннотирования
11.3.1 Прайминг повторов
11.3.2 Где прайминг вреден
11.3.3 Где прайминг полезен
11.4 Сочетание интеллекта человека и машины
11.4.1 Обратная связь с аннотатором
11.4.2 Максимальная объективность за счет стороннего мнения
11.4.3 Преобразование непрерывных проблем в проблемы ранжирования
11.5 Интеллектуальные интерфейсы для максимальной отдачи человеческого интеллекта
11.5.1 Интеллектуальные интерфейсы для семантической сегментации
11.5.2 Интеллектуальные интерфейсы для распознавания объектов
11.5.3 Интеллектуальные интерфейсы для генерации языка
11.5.4 Интеллектуальные интерфейсы для маркировки последовательностей
11.6 Машинное обучение для содействия работе человека
11.6.1 Восприятие повышения эффективности
11.6.2 Активное обучение для повышения эффективности
11.6.3 Ошибки лучше их отсутствия для максимальной завершенности
11.6.4 Держите интерфейсы аннотирования отдельно от повседневных рабочих интерфейсов
11.7 Дополнительная литература
Резюме
Глава 12. Продукты машинного обучения с участием человека
12.1 Определение продуктов для приложений машинного обучения с участием человека
12.1.1 Начните с решаемой вами задачи
12.1.2 Проектирование систем для решения задачи
12.1.3 Соединение Python и HTML
12.2 Пример 1: исследовательский анализ данных по заголовкам новостей
12.2.1 Предпосылки
12.2.2 Разработка и воплощение
12.2.3 Потенциальные расширения
12.3 Пример 2: сбор данных о событиях в области безопасности пищевых продуктов
12.3.1 Предпосылки
12.3.2 Разработка и реализация
12.3.3 Потенциальные расширения
12.4 Пример 3: идентификация велосипедов на изображениях
12.4.1 Предпосылки
12.4.2 Разработка и реализация
12.4.3 Потенциальные расширения
12.5 Дополнительная литература по созданию продуктов машинного обучения с участием человека
Резюме
Приложение. Краткое пособие по машинному обучению
Предметный указатель