Как стать автором
Обновить

Перевод книги Эндрю Ына «Страсть к машинному обучению» Главы 47 и 48

Время на прочтение3 мин
Количество просмотров3.9K
Автор оригинала: Andrew Ng

предыдущие главы


Сквозное глубокое обучение


47. Знакомство со сквозным обучением


Представим, что вы хотите создать систему, анализирующую отзывы о продуктах в Интернете и автоматически оценивающую, понравился продукт автору отзыва или нет. Например, отзыв «Это отличная швабра!» должен распознаваться такой системой, как очень позитивный. А отзыв «Эта швабра низкого качества — зря я купил ее», как крайне негативный.


Задача по распознаванию положительных и отрицательных мнений называется «классификацией отношения» (sentiment classification).
Такая система может выглядеть, как «конвейер», состоящий из двух компонентов:


  1. Парсер (синтаксический анализатор): система, которая аннотирует текст информацией, описывающей значимые слова. Например, вы можете использовать анализатор для обозначения всех прилагательных и существительных. В результате получится аннотированный текст:
    «Это отличнаяприлагательное швабрасуществительное
  2. Классификатор отношения: обученный алгоритм, который принимает на вход аннотированный текст и прогнозирует его эмоциональную окраску. Аннотация синтаксического анализатора существенно способствует обучению алгоритма: например, придавая больший вес прилагательным, алгоритм быстрее настраивается на значимые слова, такие как «великий», и игнорирует слова не несущие смысла, например, слово «это».

Замечание автора: Синтаксический анализатор позволяет получить намного более богатую аннотацию текста, но этого упрощенного описания будет достаточно для объяснения сквозного глубокого обучения.


Можно изобразить получившийся двухкомпонентный «конвейер» следующим образом:


image


В последнее время нарастает тенденция к замене «конвейерных» систем одним обучающимся алгоритмом. Сквозной обучающийся алгоритм (​end-to-end learning algorithm​) для описанной задачи в качестве входных данных принимает необработанный, оригинальный текст «Это отличная швабра!» И пытается сразу распознать отношение, им выражаемое:
image


В сквозных обучающихся системах (end-to-end learning systems) обычно используются нейронные сети. Термин «сквозной» подразумевает, что алгоритм, получив входной сигнал, должен выдать конечный результат работы системы. То есть обучившийся алгоритм напрямую соединяет «вход» системы с ее «выходом».


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


48. Больше примеров сквозного обучения


Вернемся к разработке системы распознавания речи. Такая система может состоять из трех компонент:
image
Компоненты работают следующим образом:


  1. Вычислитель признаков: извлекает смоделированные признаки, такие как MFCC (Мел-кепстральные коэффициенты), которые сокращают количество анализируемых переменных, улавливая наиболее важные и игнорируя не значимые для данной задачи, например, высоту голоса.
    Замечание переводчика: с тем, что такое Мел-кепстральные коэффициенты более подробно можно ознакомиться, например, здесь
  2. Распознаватель фонем. Некоторые лингвисты выделяют базовые единицы устной речи, называемые «фонемами». Например, начальный звук «k» в «keep» — это та же фонема, что и звук «c» в «cake». Этот компонент пытается распознать фонемы в речи.
  3. Финальный распознаватель: связывает последовательность распознанных фонем и пытается соединить их в транскрипцию.

Сквозная система в отличие от компонентной получает на вход аудиоклип и возвращает транскрипцию речи:


image


Мы рассмотрели линейные «конвейеры» машинного обучения, в которых выходные данные последовательно передаются от одного компонента к другому. Но «конвейерные» схемы могут быть более сложными.
Например, так выглядит простая архитектура для автономного автомобиля:


image


«Конвейер» состоит из трех компонентов: один обнаруживает автомобили, анализируя изображения с камер; другой пешеходов; последний компонент планирует траекторию нашего автомобиля, которая должна избегать автомобили и пешеходов.


Не каждый компонент в «конвейере» содержит обучающиеся алгоритмы. Например, литература по «проектированию движения роботов» содержит многочисленные алгоритмы для компонента выбора траектории. Многие из этих алгоритмов не являются обучаемыми.
Сквозная система, в отличие от «конвейерной», принимает на вход значения датчиков и выдает сигнал для рулевого управления:
image


Несмотря на то, что сквозное обучение (end-to-end learning) демонстрирует многочисленные успехи, оно не всегда является лучшим решением. Например, сквозное распознавание речи работает хорошо, но я скептически отношусь к его применению в разработке систем автономного вождения. В следующих главах объясню с чем это связано.


продолжение

Теги:
Хабы:
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Публикации

Истории

Работа

Data Scientist
61 вакансия

Ближайшие события