Кредитный скоринг - известная и давно решаемая банковская задача, суть которой заключается в оценке рисков банка при выдаче кредита. Для формализации риска в банке используется понятие дефолта.
Задача кредитного скоринга
Для каждого клиента с помощью модели мы предсказываем оценку вероятности его дефолта (далее — предсказание, скор), на основе которой в кредитном конвейере клиенты разделяются на надежных и ненадежных.
Сейчас в Альфа-Банке при построении моделей используется множество различных источников данных. Мы уже несколько лет применяем нейронные сети на последовательных данных для решения задачи кредитного скоринга и построили модели на данных
Смешивание моделей с помощью логистической регрессии
Моделей становится все больше, и возникает вопрос: почему бы нам не смешивать модели не на уровне скоров, а на некотором более низком уровне?
Смешивание источников с помощью единой нейросетевой модели
Схематичное представление end-to-end модели
Такая архитектура позволяет производить тонкую настройку весов для каждого источника данных благодаря взаимодействию между ними.
Однако, на практике мы лишаемся гибкости при тестировании новых подходов обработки отдельных источников данных — обучение end-to-end модели длится очень долго, заметить влияние отдельных улучшений в условиях ограничения времени и ресурсов становится трудно.
Схематичное представление модели на эмбеддингах
Может возникнуть вопрос, как именно мы получаем эмбеддинги для такой модели?
Напомним, что наши нейросетевые модели на последовательностях довольно похожи архитектурно. Для каждого клиента мы собираем некоторую последовательность объектов — например, транзакции или кредитную историю, затем применяем к этой последовательности рекуррентный слой и получаем некоторый вектор, который после прохождения через полносвязные слои преобразуется в модельное предсказание. Вектор, формируемый моделью в последних полносвязных слоях, и является в данном случае эмбеддингом клиента по последовательности.
Формирование эмбеддинга в нейросетевой модели
Вернемся к архитектуре модели на эмбеддингах.
При таком сравнении мы остановились на подходе с использованием модели на эмбеддингах. Для примера вспомним из наших
Для закрепления рассмотрим простой пример из жизни. Представьте, что нам нужно принять решение о покупке автомобиля. Для этого мы обращаемся к своим друзьям, опытным автомобилистам, за советом. Взаимодействие может строиться так: можно спросить, рекомендуют ли друзья автомобиль, и принять на основе этих ответов решение. Но можно также попросить их объяснить свое мнение с опорой, например, на характеристики автомобиля и личный опыт, и уже на основе этой информации самостоятельно решить, покупать автомобиль или нет.
Визуализация примера с покупкой автомобиля
Второй вариант даёт нам гораздо больше информации и даже может привести к принятию противоположного решения. Также и с эмбеддингами по клиенту - они более информативны для нас, чем скалярные предсказания моделей.
Архитектура модели на эмбеддингах последовательностей
При всей своей архитектурной простоте, этот подход позволяет получить более качественную оценку вероятности дефолта клиента. Модель на эмбеддингах сохраняет качество индивидуальных моделей на источниках данных и добавляет дополнительные пункты метрики качества за счет смешивания на уровне векторных представлений.
Текущая модель в продакшене
При обсуждении архитектуры единой модели мы отметили, что в неё можно добавлять сколько угодно новых источников последовательных данных, а также табличные данные. Мы добавили новые источники –
Новый подход с использованием единой модели
Этот подход также может быть переиспользован в других банковских задачах, например, при определении склонности к различным продуктам. Таких задач у банка очень много, и мы продолжим внедрять нейросетевые модели в различные банковские процессы.
Подобное определение дефолта также приводится вСуществуют разные определения дефолта. Самое распространенное, которое используем и мы — по просрочке на K дней в пределах N месяцев.
Для просмотра ссылки необходимо нажать
Вход или Регистрация
на Kaggle. В нашем случае N = 12 и K = 90, то есть мы считаем, что клиент ушел в дефолт в случае просрочки на 90 и более дней в пределах 12 месяцев со дня выдачи кредита. Это классическое «длинное» определение дефолта. Для оценки стабильности модели могут использоваться и «короткие» определения, получаемые при варьировании значений N и K.![Задача кредитного скоринга Задача кредитного скоринга](https://habrastorage.org/r/w1560/getpro/habr/upload_files/ace/b79/832/aceb7983297ab6cc0ebd0f48c8889ec4.png)
Задача кредитного скоринга
Для каждого клиента с помощью модели мы предсказываем оценку вероятности его дефолта (далее — предсказание, скор), на основе которой в кредитном конвейере клиенты разделяются на надежных и ненадежных.
Сейчас в Альфа-Банке при построении моделей используется множество различных источников данных. Мы уже несколько лет применяем нейронные сети на последовательных данных для решения задачи кредитного скоринга и построили модели на данных
Для просмотра ссылки необходимо нажать
Вход или Регистрация
,
Для просмотра ссылки необходимо нажать
Вход или Регистрация
и
Для просмотра ссылки необходимо нажать
Вход или Регистрация
. Раньше для получения единого нейросетевого скора мы смешивали скоры отдельных моделей с помощью логистической регрессии.![Смешивание моделей с помощью логистической регрессии Смешивание моделей с помощью логистической регрессии](https://habrastorage.org/r/w1560/getpro/habr/upload_files/d40/daf/21b/d40daf21b935fbe464066921f69a234a.png)
Смешивание моделей с помощью логистической регрессии
Моделей становится все больше, и возникает вопрос: почему бы нам не смешивать модели не на уровне скоров, а на некотором более низком уровне?
Именно такую задачу мы поставили перед собой.Эта идея приводит нас к новому способу смешивания — построению единой нейросетевой модели, работающей со всеми источниками последовательных данных и учитывающей их взаимное влияние друг на друга.
![Смешивание источников с помощью единой нейросетевой модели Смешивание источников с помощью единой нейросетевой модели](https://habrastorage.org/r/w1560/getpro/habr/upload_files/15c/f6c/59d/15cf6c59dfa6bedd665e4be45ec1afc0.png)
Смешивание источников с помощью единой нейросетевой модели
Архитектура модели
Рассмотрим, как может быть реализована наша единая нейросетевая модель.End-to-end модель
Начнём с самой очевидной архитектуры. Единая модель может быть реализована end-to-end на нескольких источниках данных, которые подаются в модель в сыром виде.![Схематичное представление end-to-end модели Схематичное представление end-to-end модели](https://habrastorage.org/r/w1560/getpro/habr/upload_files/678/f92/9dd/678f929ddf757d7fdbeaebbfc4629509.png)
Схематичное представление end-to-end модели
Такая архитектура позволяет производить тонкую настройку весов для каждого источника данных благодаря взаимодействию между ними.
Однако, на практике мы лишаемся гибкости при тестировании новых подходов обработки отдельных источников данных — обучение end-to-end модели длится очень долго, заметить влияние отдельных улучшений в условиях ограничения времени и ресурсов становится трудно.
Модель на эмбеддингах
Второй вариант — модель на эмбеддингах последовательностей по клиентам, которые можно получить в результате вывода отдельных моделей на источниках данных. Эти эмбеддинги мы подаем на вход полносвязной сети.![Схематичное представление модели на эмбеддингах Схематичное представление модели на эмбеддингах](https://habrastorage.org/r/w1560/getpro/habr/upload_files/694/63f/8ea/69463f8ea0a31b22bd51f7da71cfecbc.png)
Схематичное представление модели на эмбеддингах
Может возникнуть вопрос, как именно мы получаем эмбеддинги для такой модели?
Напомним, что наши нейросетевые модели на последовательностях довольно похожи архитектурно. Для каждого клиента мы собираем некоторую последовательность объектов — например, транзакции или кредитную историю, затем применяем к этой последовательности рекуррентный слой и получаем некоторый вектор, который после прохождения через полносвязные слои преобразуется в модельное предсказание. Вектор, формируемый моделью в последних полносвязных слоях, и является в данном случае эмбеддингом клиента по последовательности.
![Формирование эмбеддинга в нейросетевой модели Формирование эмбеддинга в нейросетевой модели](https://habrastorage.org/r/w1560/getpro/habr/upload_files/ea4/014/5e7/ea40145e7a61cf88c423dc3aa97c3842.png)
Формирование эмбеддинга в нейросетевой модели
Вернемся к архитектуре модели на эмбеддингах.
Сложность заключается в том, что нам необходимо поддерживать комплекс моделей вместо одной end-to-end модели.Такая модель довольно быстро обучается за счёт архитектурной простоты и отсутствия рекуррентных слоев, также такой подход позволяет ускорить разработку общего решения благодаря параллелизации процесса улучшения отдельных моделей на источниках. К тому же, все используемые модели уже в продакшене, что также ускоряет разработку.
При таком сравнении мы остановились на подходе с использованием модели на эмбеддингах. Для примера вспомним из наших
Для просмотра ссылки необходимо нажать
Вход или Регистрация
, как мы обрабатывали признаки для моделей: мы ставили их значениям в соответствие некоторые эмбеддинги, которые обучаются вместе с остальными весами в модели для решения конкретной задачи. Эмбеддинг содержит гораздо больше информации, чем одно число, и при достаточном количестве данных такой подход позволяет обучить модель более качественно. Этот факт неоднократно подтверждался нами при разработке собственных моделей.Для закрепления рассмотрим простой пример из жизни. Представьте, что нам нужно принять решение о покупке автомобиля. Для этого мы обращаемся к своим друзьям, опытным автомобилистам, за советом. Взаимодействие может строиться так: можно спросить, рекомендуют ли друзья автомобиль, и принять на основе этих ответов решение. Но можно также попросить их объяснить свое мнение с опорой, например, на характеристики автомобиля и личный опыт, и уже на основе этой информации самостоятельно решить, покупать автомобиль или нет.
![Визуализация примера с покупкой автомобиля Визуализация примера с покупкой автомобиля](https://habrastorage.org/r/w1560/getpro/habr/upload_files/f64/b72/4c0/f64b724c0e88d72076831bcbd224389b.png)
Визуализация примера с покупкой автомобиля
Второй вариант даёт нам гораздо больше информации и даже может привести к принятию противоположного решения. Также и с эмбеддингами по клиенту - они более информативны для нас, чем скалярные предсказания моделей.
Описание архитектуры модели на эмбеддингах
Перечислим ключевые архитектурные особенности модели на эмбеддингах последовательностей, на которой мы остановились для реализации нашего нового подхода к смешиванию нейронных сетей на различных источниках данных.- В качестве входных данных модель принимает эмбеддинги последовательностей каждого источника данных (карточные транзакции, транзакции расчетного счета, данные БКИ и т. д.) по клиенту. Эмбеддинги берутся с последних слоев при инференсе уже обученных моделей на источниках данных. Источников может быть любое количество.
- В случае, если для клиента не существует эмбеддинга по одному из источников данных, модель принимает на вход соответствующий источнику данных усредненный константный эмбеддинг. Это позволяет сформировать предсказание для всех активных клиентов.
- Эмбеддинг каждого источника данных поступает на вход многослойного персептрона (MLP), после чего их выходы конкатенируются для получения обобщенного векторного представления клиента. Получившийся эмбеддинг подается на вход MLP-слоя классификации для формирования итогового предсказания.
- Также предусматривается возможность добавления табличных данных, кодируемых с помощью подхода Entity Embeddings. Смысл подхода в том, что каждому табличному признаку ставится в соответствие некоторый эмбеддинг, обучающийся вместе с остальными весами модели. Эмбеддинги признаков конкатенируются, и в итоге мы получаем единый эмбеддинг табличных данных, который также можно использовать в нашей модели.
![Архитектура модели на эмбеддингах последовательностей Архитектура модели на эмбеддингах последовательностей](https://habrastorage.org/r/w1560/getpro/habr/upload_files/254/c1d/09e/254c1d09e1d103a0d3765b27c66ecb67.png)
Архитектура модели на эмбеддингах последовательностей
При всей своей архитектурной простоте, этот подход позволяет получить более качественную оценку вероятности дефолта клиента. Модель на эмбеддингах сохраняет качество индивидуальных моделей на источниках данных и добавляет дополнительные пункты метрики качества за счет смешивания на уровне векторных представлений.
Результаты
Перейдём к обсуждению результатов, которые мы получили с использованием нашей единой нейросетевой модели. Сравнение будем производить с работающей сейчас в продакшене моделью, в которой смешиваются скоры отдельных нейросетевых моделей и скор модели на табличных данных с помощью логистической регрессии.![Текущая модель в продакшене Текущая модель в продакшене](https://habrastorage.org/r/w1560/getpro/habr/upload_files/fec/086/144/fec086144cc91b728876bdc5c66f5898.png)
Текущая модель в продакшене
Мы, как разработчики модели, не принимаем решение о том, выдавать клиенту кредит или нет, поэтому при оценке модели кредитного скоринга мы используем не precision, recall или F-меру, а такую метрику, как Джини — она показывает нам, насколько хорошо модель ранжирует клиентов с точки зрения определения дефолта. Эта метрика линейно связана со всем известной метрикой ROC AUC и выражается по формуле:Эффект от новой модели рассчитывается как прирост (или аплифт) целевой метрики относительно значения при использовании текущей модели.
Увеличение значения метрики Джини позволяет банку выдавать большее количество кредитов при неизменном уровне риска. Повышение количества выдач напрямую влияет на увеличение прибыли, благодаря чему при расчете100% * (2 * ROC AUC - 1)
Для просмотра ссылки необходимо нажать
Вход или Регистрация
от модели, каждый пункт Джини конвертируется в деньги. В зависимости от размера банка, эффект от одного дополнительного пункта Джини может оцениваться десятками, сотнями или миллиардами рублей дополнительной прибыли.Такой эффект объясняется тем, что эмбеддинги содержат больше информации, чем скалярные предсказания моделей, что демонстрировалось ранее на простом примере с покупкой автомобиля.Если заменить смешивание скоров логистической регрессией на нашу единую модель, принимающую на вход эмбеддинги моделей, мы получаем аплифт +1.8 пунктов Джини, не добавляя никаких новых данных.
При обсуждении архитектуры единой модели мы отметили, что в неё можно добавлять сколько угодно новых источников последовательных данных, а также табличные данные. Мы добавили новые источники –
Для просмотра ссылки необходимо нажать
Вход или Регистрация
, а также табличные
Для просмотра ссылки необходимо нажать
Вход или Регистрация
. Такая конфигурация за счет новых данных позволяет получить аплифт +2.6 пунктов Джини. Это интересный эффект — мы не добавляем новые данные относительно тех, что использует табличная модель, однако благодаря взаимодействию с другими источниками данных в рамках нашей единой модели мы получаем дополнительный прирост качества. Схема итоговой конфигурации представлена ниже.Мы также можем добавить признаки модели кредитного скоринга на табличных данных — в этом случае аплифт составляет +3.2 пункта Джини.
![Новый подход с использованием единой модели Новый подход с использованием единой модели](https://habrastorage.org/r/w1560/getpro/habr/upload_files/f60/ae3/505/f60ae3505d3c91a3ffba80a1d2518379.png)
Новый подход с использованием единой модели
Заключение
При этом, добавление новых источников данных реализуется довольно легко благодаря предусмотренной в данном подходе модульности и позволяет получить еще более высокое качество в задаче кредитного скоринга.Разработка единой нейросетевой модели кредитного скоринга, основанной на объединении моделей на различных источниках данных на уровне эмбеддингов последовательностей, позволяет улучшить финансовые показатели банка, не используя новые источники данных и выжимая максимум из имеющихся.
Этот подход также может быть переиспользован в других банковских задачах, например, при определении склонности к различным продуктам. Таких задач у банка очень много, и мы продолжим внедрять нейросетевые модели в различные банковские процессы.