Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шолле Ф. - Глубокое обучение на Python (Библиотека программиста) - 2023.pdf
Скачиваний:
6
Добавлен:
07.04.2024
Размер:
11.34 Mб
Скачать

13.1. Получение максимальной отдачи от моделей    515

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

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

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

13.1.2. Ансамблирование моделей

Еще.один.метод.улучшения.результатов.в.решении.задач.—.ансамблирование моделей..Суть.метода.ансамблирования.заключается.в.объединении.прогнозов,. полученных.набором.разных.моделей,.для.получения.лучшего.прогноза..Если. рассмотреть.результаты.соревнований.по.машинному.обучению,.например,. на.сайте.Kaggle,.можно.увидеть,.что.победители.используют.очень.большие. ансамбли.моделей,.которые.неизменно.побеждают.любые.одиночные.модели,. даже.самые.лучшие.

Ансамблирование.основано.на.предположении.о.том,.что.разные.хорошие.модели,.обученные.независимо,.могут.быть.хороши.по разным причинам:.каждая. модель.рассматривает.немного.другие.аспекты.данных,.чтобы.сделать.прогноз,.

и.видит.только.часть.«истины»..Возможно,.вы.знакомы.с.древней.притчей.о.слоне.и.незрячих.мудрецах:.группа.незрячих.мудрецов.впервые.встречает.слона.и,. чтобы.понять,.что.такое.слон,.ощупывает.его..Каждый.касается.только.одной. его.части,.такой.как.туловище.или.нога..Затем.каждый.мудрец.описывает.свое. представление.о.слоне:.«он.гибкий,.как.змея»,.«он.как.колонна.или.ствол.древа».

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

Эти веса (0,5, 0,25, 0,1, 0,15), как предполагается, получены эмпирическим путем
Использовать четыре разные модели для вычисления
начальных прогнозов

516    Глава 13. Методы и приемы для применения на практике

Возьмем.в.качестве.примера.задачу.классификации..Самый.простой.способ. объединить.прогнозы.из.множества.классификаторов.(ансамблировать.клас- сификаторы).—.получить.среднее.их.прогнозов.на.этапе.вывода:

preds_a = model_a.predict(x_val) preds_b = model_b.predict(x_val) preds_c = model_c.predict(x_val) preds_d = model_d.predict(x_val)

final_preds = 0.25 * (preds_a + preds_b + preds_c + preds_d)

Этот новый массив прогнозов должен

получиться более точным,

чем любой из начальных

Этот.прием.даст.положительные.результаты,.только.если.исходные.классификаторы.примерно.одинаково.хороши..Если.один.будет.значительно.хуже. других,.окончательный.прогноз.может.получиться.хуже.прогноза.лучшего. классификатора.в.группе.

Более.эффективный.способ.ансамблирования.классификаторов.—.вычисление. взвешенного.среднего.с.определением.весов.по.проверочным.данным,.когда. лучший .классификатор .получает .больший .вес, .а .худший .— .меньший..Для. поиска.оптимальных.весов.в.ансамбле.можно.использовать.алгоритм.случай- ного.поиска.или.простой.оптимизации,.такой.как.алгоритм.Нелдера.—.Мида. (Nelder.—.Mead):

preds_a = model_a.predict(x_val) preds_b = model_b.predict(x_val) preds_c = model_c.predict(x_val) preds_d = model_d.predict(x_val)

final_preds = 0.5 * preds_a + 0.25 * preds_b + 0.1 * preds_c + 0.15 * preds_d

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

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

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