Недавно я просмотрел прекрасную лекцию Эндрю Нг 2016 года Основные принципы применения глубокого обучения и сделал заметки. Я размещаю их как полезный ресурс для всех, кто хочет посмотреть видео.
https://www.youtube.com/watch?v=F1ka6a13S9I
Я разбил его на следующие разделы
- Сквозное DL для расширенного вывода
- Ковши ДЛ
- Смещение и дисперсия
- Рабочий процесс прикладного машинного обучения
- Новая эра машинного обучения
- Создайте единое хранилище данных
- Новый взгляд на раскол 70/30
- По сравнению с человеческим уровнем производительности
- Как вы определяете производительность на уровне человека?
- Как построить карьеру в области машинного обучения?
- ИИ — это новое электричество
Введение
- Сквозное DL — рабочий процесс
- Предвзятость и дисперсия изменились в эпоху глубокого обучения
- DL существуют уже несколько десятилетий, почему они хорошо работают сейчас?
- Масштаб данных и вычислений
- Две команды
- Команды ИИ
- Системная команда
- Сядьте вместе
- Трудно одному человеку быть достаточно опытным в нескольких областях
Сквозная DL для расширенного вывода
- Из первых трех ведер ниже
- Традиционные модели машинного обучения выводят действительные числа
- Сквозное DL может отображать более сложные вещи, чем числа
- Подписи к изображениям
- Преобразование речи в текст
- Машинный перевод
- Синтезировать новые изображения (13:00)
- Сквозное DL не является решением для всего.
- End-to-end = иметь только DL между входом и выходом
- Правила использования (13:35)
- По-старому: аудио — — → фонемы → расшифровка
- Новый способ DL: аудио — — — — — — — — —› стенограмма
- Отличный пиар, но работает только несколько раз (15:31)
- Ахиллесова пята — нужно много размеченных данных
- Возможно, фонемы — всего лишь фантазия лингвистов (15:48)
- Преимущество старой несквозной архитектуры в том, что она позволяет вручную добавлять больше информации в обработку (18:16)
- Кроме того, для беспилотных автомобилей ни у кого нет достаточно данных (прямо сейчас), чтобы сделать сквозную работу) (20:42)
- Распространенная проблема — после первого раунда разработки ML не работает так хорошо, что делать дальше?
- Соберите больше данных
- Тренируйтесь дольше
- Другая архитектура (например, переход на NN)
- Регуляризация
- Модель большего размера
- Больше графических процессоров
- Мастерство инженера по машинному обучению — это умение принимать эти решения (22:33)
Группы DL
- Общие модели
- Плотно связанные слои — FC
- Модели последовательности — 1D (RNN, LSTM, GRU, внимание)
- Модели изображений — 2D, 3D (сети Convo)
- Другое — неконтролируемое, подкрепление
- Первые три корзины стимулируют рост рынка
- Но ведро «Другое» — это будущее ИИ.
Смещение и дисперсия — развитие
- Сценарий: создание системы записи речи на уровне человека
- Измерить ошибку человеческого уровня — 1
- Ошибка тренировочного набора — 5%
- Набор для разработчиков — 6%
- Смещение = разница между уровнем человеческой ошибки и уровнем вашей системы.
- СОВЕТ. Для проблем со смещением попробуйте обучить более крупную модель (25:21)
- Дисперсия (переоснащение): для человека 1%, для обучения 2%, для разработчиков 6%
- СОВЕТ: для дисперсии попробуйте добавить регуляризацию, раннюю остановку, лучший вариант = больше данных
- И высокая предвзятость, и высокая дисперсия: если человек 1%, обучение 5%, разработка 10%
- «хреново для тебя» (прямая цитата 26:30)
Рабочий процесс прикладного машинного обучения
- Ваша ошибка обучения высока
- да
- Модель большего размера
- Тренируйтесь дольше
- Новая архитектура
- Повторяйте до тех пор, пока не станете хорошо выполнять тренировочный набор.
- Ошибка разработчика высока?
- да
- Добавить данные
- Регуляризация
- Новая архитектура
- Повторяйте до тех пор, пока не станете хорошо выполнять тренировочный набор.
- Сделанный
Новая эра машинного обучения
- Теперь мы знаем, с какой бы проблемой вы ни столкнулись (высокая предвзятость или высокая дисперсия), у вас есть по крайней мере одно действие, которое вы можете предпринять, чтобы исправить ее.
- Больше не компромисс между предвзятостью и дисперсией (29:47)
- «Глупая» формула «большая модель/больше данных» легко реализуема даже для неспециалистов, и ее достаточно для решения многих задач (31:09).
- Больше данных привело к интересным инвестициям
- Синтез данных — Растущая область
- Примеры-
- OCR в Baidu
- Взять случайное изображение
- Случайное слово
- Введите случайное слово в Microsoft Word
- Использовать случайный шрифт
- Вы только что создали обучающие данные для OC
- По-прежнему требуется некоторое вмешательство человека, но большой прогресс
- Распознавание речи
- Возьмите чистый звук
- Добавьте случайный шум к фону для получения дополнительных данных
- Например, добавить автомобильный шум
- Работает замечательно хорошо
- НЛП
- Возьмите неграмматические предложения и автокоррекция
- Легко создавать неграмматические предложения программно
- Видеоигры в РЛ
- Синтез данных имеет много ограничений (36:24)
- Почему бы не взять автомобили из Grand Theft Auto и не использовать их в качестве обучающих данных для самоуправляемых автомобилей?
- 20 автомобилей в видеоигре достаточно, чтобы произвести на игрока «реалистичное» впечатление
- Но 20 автомобилей — это очень скудный набор данных для беспилотных автомобилей.
Создайте единое хранилище данных
- Сотрудники могут владеть «своими» данными
- Baidu — это не ваши данные, это данные компании
- Права доступа могут быть другой проблемой
- Но складировать все вместе
- Каггл
Возвращение к разделению 70/30
- В академических кругах обычно тест / поезд происходит из одного и того же дистрибутива.
- Но чаще всего в промышленности для тестирования и обучения используются разные дистрибутивы.
- Например, запись речи на Baid
- Зеркало заднего вида с голосовым управлением (в Китае)
- 50 000 часов обычных речевых данных
- Данные не от взаимодействия с зеркалом заднего вида, хотя
- Соберите еще 10 часов сценария с зеркалом заднего вида.
- Что вы делаете с первоначальными 50 000 часов не совсем правильных данных?
- Старый метод заключался в построении разных моделей для каждого сценария.
- Новая эра, одна модель для всех данных
- Плохая идея, разделить 50 000 на обучение/разработку, использовать 10 000 в качестве теста. НЕ ДЕЛАЙТЕ ЭТОГО.
- СОВЕТ: убедитесь, что dev и test находятся в одном дистрибутиве (повышает эффективность)
- Хорошая идея: сделать 50 000 train, разделить 10 000 на dev/test
- Набор разработчиков = спецификация проблемы
- Я: «Набор разработчиков = проблема, которую вы пытаетесь решить»
- Кроме того, выделите всего 20 часов из 50 000, чтобы создать крошечный набор «поезд разработчиков».
- это тот же дистрибутив, что и поезд
- Несоответствие набора поездов и разработчиков — проблема, над которой академические круги мало работают
- некоторые работы по адаптации домена, но немного (44:53)
- Исправление новой архитектуры = «Радуйся, Мария» (48:58)
- Требуется много времени, чтобы действительно понять предвзятость / дисперсию
- Люди, которые действительно глубоко понимают предвзятость/дисперсию, могут быстро добиться прогресса в машинном обучении (50:33)
Общая тема – сравнение результатов на уровне человека
- Обычно для достижения производительности человеческого уровня, а затем выравнивания
- Почему?
- Аудитория: Ярлыки созданы людьми
- Аудитория: Исследователи довольны результатами (гипотеза лени)
- Эндрю: теоретические пределы (также известные как оптимальная частота ошибок, коэффициент Байеса)
- Некоторый звук настолько плохой, что его невозможно расшифровать (телефонный звонок с рок-концерта)
- Некоторые изображения настолько размыты, что их невозможно интерпретировать
- Люди действительно хороши в некоторых вещах, поэтому, как только вы превзойдете человеческую точность, останется не так много возможностей для улучшения (54:38)
- Хотя хуже, чем люди, все еще есть способы улучшить
- Получайте ярлыки от людей
- Анализ ошибок
- Оцените эффекты систематической ошибки/дисперсии
- Для задач, с которыми люди плохо справляются (скажем, 30% ошибок), действительно трудно найти руководство по улучшению
Как вы определяете эффективность человеческого уровня?
- Тест: какое определение самое полезное? (101:000
- Пример: чтение медицинских изображений
- Типичная ошибка не врача — 3%
- Типичный врач — 1%
- Врач-эксперт — 0,7%
- Команда врачей-экспертов — 0,5%
- Ответ: Команда опытных врачей лучше всего подходит, потому что в идеале вы используете человеческий фактор для оценки оптимальной частоты ошибок.
Что может делать ИИ? (106:30)
- Все, что обычный человек может сделать менее чем за одну секунду.
- Например, задачи на восприятие
- Аудитория: если человек может сделать это менее чем за секунду, можно получить много данных
Как построить карьеру в сфере машинного обучения (111:00)
- Эндрю говорит, что у него нет отличного ответа (я: но у него есть хороший)
- Пройти курс машинного обучения
- Посещать школу DL
- Работайте над проектом самостоятельно (Kaggle)
- Имитировать процесс аспиранта
- Читать много статей (20+)
- Повторить результаты
- Грязная работа
- Загрузка/очистка данных
- Повторный запуск чьего-то кода
- Не делайте только грязную работу
- Процесс PhD + Грязная работа = надежный
- Держите его в течение года
- Компетенция
Искусственный интеллект — это новое электричество (118:00)
- Преобразование отрасли за отраслью
- Заходите на первый этаж
- ПРИМЕЧАНИЕ: это название его последующего выступления, в конце которого есть ссылка на видео.