Наш ежемесячный анализ тенденций в области машинного обучения

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

Что касается технологий, темпы их развития со временем ускоряются. Рэй Курцвейл назвал это явление законом ускорения окупаемости. Мы не будем рассматривать историю технологий или экспоненциальные кривые в этом информационном бюллетене, но есть полезная аналогия для того, что мы рассмотрим: трансферное обучение.

Подобно большинству полезных технологий, трансферное обучение позволяет одним нововведениям способствовать развитию многих других. У транзисторов, например, было не одно применение: они использовались в радиоприемниках, калькуляторах и компьютерах. Почему нельзя применить ту же концепцию к моделям машинного обучения? Если вы построите действительно эффективную модель распознавания изображений на миллионе фотографий кошек, вы можете задаться вопросом, может ли эта модель быть полезной для чего-то еще, может быть, даже для чего-то вроде медицинских диагнозов. Трансферное обучение делает возможным эти странные, почти чудесные перекрестные приложения.

Фактически, используя приведенную выше аналогию, стоит отметить, что трансферное обучение само по себе является машинным обучением по аналогии. Обучите модель на одном наборе данных, а затем примените идеи этой модели к новой задаче с новым набором данных (или той же задаче с новым набором данных, или теми же данными с новой задачей) - это перенос обучения в вкратце. Как и в случае хорошей аналогии, чем лучше соответствие между двумя вещами, которые вы переносите, тем более успешным будет результат. Здесь мы более подробно рассмотрим, как работает трансферное обучение, почему оно иногда дает сбой и когда имеет смысл использовать.

Трансферное обучение: снова сделать меньше данных крутым

Представьте, что вы пытаетесь построить модель глубокого обучения, но у вас мало данных для обучения. Возможно, вы пытаетесь определить редкое кожное заболевание и имеете только 100 изображений. Между тем, кто-то еще обучил модель распознавания изображений на 100000 фотографиях собак с этикетками и сумел добиться 96-процентной точности при классификации разных пород. Эти задачи не кажутся взаимосвязанными, но это не значит, что классификатор пород собак не имеет значения.

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

Перспективная тема исследования или коммерческий центр?

Есть много многообещающих приложений трансферного обучения в различных областях исследований, как для задач компьютерного зрения, так и для задач обработки естественного языка (НЛП). Тем не менее, вам может быть интересно, действительно ли его можно эффективно использовать в коммерческих целях. Короткий ответ заключается в том, что, хотя это еще не коммерческий центр, он вполне может стать таковым в ближайшие несколько лет.

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

Тем не менее создание модели со всеми имеющимися у вас данными может оказаться полезным, даже если то, что вы пытаетесь предсказать в отношении этого нового поведения клиентов, уникально. Другими словами, вы можете решить проблему холодного старта (изначально не имея никаких помеченных данных о новой группе клиентов), используя ранее собранные вами данные о клиентах.

Возвращаясь к этому многообещающему исследовательскому аспекту

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

В НЛП за последние несколько лет особый тип трансферного обучения стал неотъемлемой частью большинства задач. Вложения слов - это числовые представления (технически многомерные массивы) слов. Эти представления обычно обучаются на большом корпусе текста (например, в Твиттере или Википедии), а затем могут использоваться для множества других задач НЛП (по сути, вы просто в конечном итоге заменяете каждое слово во вводе его встроенным числовым представлением). Это полезно, потому что слова, которые появляются в аналогичных контекстах в исходном корпусе, имеют тенденцию группироваться вместе во встроенном пространстве, в свою очередь, предоставляя семантическую и синтаксическую информацию.

Ранее в этом году Google выпустил документ, который намеревался достичь аналогичного результата, но для предложений и фраз вместо слов. Это уже было возможно до некоторой степени благодаря векторам абзацев, но исследователи Google специально хотели построить модели, нацеленные на задачи передачи обучения, которые можно было бы использовать в самых разных условиях (даже до вызова кодировки их предложений универсальные). Кодировки предложений, которые работают в разных контекстах и ​​областях, были бы огромным благом для исследований НЛП, которые пока что оказались немного менее поддающимися переносу обучения, чем компьютерное зрение.

Что это значит для вас

Трансферное обучение не обязательно является панацеей от всех проблем с машинным обучением. Тем не менее, если вы пытаетесь решить новую проблему (или расширяете старую проблему на новый домен) и у вас мало данных, это лучший вариант на данный момент.

Даже в тех случаях, когда вы собрали приличный объем данных, время и усилия, затрачиваемые на разметку достаточного количества данных для обучения модели с нуля, могут быть непомерно дорогими. Пока вы учитываете возможность отрицательного переноса, в таких случаях нет большого риска попробовать метод трансферного обучения. Фактически, это может даже сэкономить вам значительное количество времени или помочь решить проблему, которую иначе невозможно решить.