← предыдущие главы 51. Выбор компонентов конвейера: простота решения проблемы Второй важный фактор, который следует учитывать при построении конвейера, помимо наличия обучающих данных, — это простота использования компонента.
Вам следует постараться выбрать компоненты конвейера, которые легко разработать или изучить.
Но что это значит: компонент легко освоить?
Задачи машинного обучения перечислены ниже в порядке возрастания сложности:
- Классификация переэкспонированных изображений (как в примере выше)
- Определение того, было ли изображение снято в помещении или на улице.
- Определение наличия на изображении кота или нет
- Определение наличия на изображении кошки с черно-белой шерстью
- Определяет, содержит ли изображение сиамскую кошку (особую породу кошек).
Более простые задачи требуют меньше обучающих примеров.
В машинном обучении в настоящее время не существует хорошего формального определения сложности задачи.
Примечание автора: В Теории Информации существует понятие «колмогоровской сложности», согласно которому сложность функции — это длина кратчайшей компьютерной программы, которую необходимо реализовать для воспроизведения значения функции (вычислить функцию на множестве его определения).
Эта теоретическая концепция нашла практическое применение в области искусственного интеллекта.
С ростом использования глубокого обучения и многослойных нейронных сетей иногда подразумевается, что задача является «простой», если ее можно выполнить с меньшим количеством вычислений (что соответствует нейронной сети с небольшим количеством слоев (мелкая нейронная сеть)).
и «сложный», если требуется большое количество вычислительных операций (задачи, требующие многослойных (глубоких) нейронных сетей).
Но это неформальные определения.
Если у вас есть возможность разбить сложную задачу на простые подзадачи, то, решая их с высокой точностью, вы даете алгоритму предварительные знания, которые позволяют ему научиться эффективно решать сложную задачу.
Допустим, вам нужен детектор сиамских кошек.
Можно попробовать реализовать с помощью алгоритма со сквозной архитектурой:
Или альтернативный подход с использованием двухкомпонентного конвейера:
Первый компонент (детектор кошек) обнаруживает всех кошек на изображении.
Затем второй компонент пропускает обрезанные изображения каждой из обнаруженных кошек (по одной) через классификатор видов кошек, выдавая 1, если какая-либо из обнаруженных кошек является сиамской.
Каждый из двух компонентов конвейера (детектор кошек и классификатор пород кошек) гораздо проще обучать и требует гораздо меньше данных, чем алгоритм сквозного обучения, который отображает входное изображение в 0 или 1. Примечание автора: Если вы знакомы с алгоритмами обнаружения объектов на изображениях, то знаете, что данные для их обучения состоят из фрагментов, разрезанных на ограничивающие рамки.
Обсуждение того, как такие алгоритмы обучаются, выходит за рамки этой главы.
Если вам интересна эта тема, ознакомьтесь со специализацией Глубокое обучение на Курсере.
В качестве последнего примера давайте вернемся к конвейеру автономного вождения.
Алгоритм этого конвейера состоит из трех ключевых этапов: (1) обнаружение других транспортных средств, (2) обнаружение пешеходов и (3) планирование траектории.
Каждая из них представляет собой существенно более простую «функцию», которая обучается на меньшем количестве данных, чем подход сквозного обучения.
Таким образом, решая, из чего строить свой конвейер, старайтесь выбирать компоненты, представляющие собой относительно «простые» функции, которые можно обучать на небольших наборах данных.
52. Сквозное обучение позволяет получать на выходе алгоритма сложные объекты.
При классификации изображений алгоритм получает на вход изображение.
Икс и возвращает целое число, указывающее категорию объекта.
Может ли алгоритм вместо указания категории описать изображение, используя естественный язык (создать фрагмент текста, который сообщает, что изображено)? х =
й = «Желтый автобус едет по дороге с зеленой травой и деревьями на заднем плане».
Традиционные приложения контролируемого обучения обучаются с использованием функции h: Х -> Y , Где й вывод обычно представляет собой целое или действительное число.
Например:
Проблема | Ввод(Х) | Выход (Y) |
---|---|---|
Определение спама | Текст электронного письма | Спам/Не спам (0/1) |
Распознавание изображений | Изображение | Класс изображения |
Прогнозирование цен на жилье | Знаки, описывающие дом | Цена в долларах |
Рекомендация продукта | Продукт и атрибуты, описывающие пользователя | Вероятность покупки |
й , которые несоизмеримо сложнее числа.
В примере с описанием изображения можно использовать нейросеть, получающую на вход изображение.
(Икс) и генерируем его описание на естественном языке (у) .
Проблема | Икс | Да | Ссылки на примеры |
---|---|---|---|
Описание изображений | Изображение | Текст | Мао и др.
, 2014 г.
|
Машинный перевод | английский текст | Французский текст | Сускевер и др.
, 2014 г.
|
Ответы на вопросы | (Текст, Вопрос) пара | Текст ответа | Бордес и др.
, 2015 г.
|
Распознавание голоса | Аудио | Транскрипция | Ханнун и др.
, 2015 г.
|
(ТТС) | Текстовые функции | Аудио | ван дер Оорд и др.
, 2016 г.
|
продолжение Теги: #Машинное обучение #Профессиональная литература
-
Все О Toshiba Satellite-L655-S5078
19 Oct, 24