Банковское обозрение

Сфера финансовых интересов

  • Использование методов Deep Learning в задаче выявления мошенничества
08.08.2018 Best-practice
Использование методов Deep Learning в задаче выявления мошенничества

Сбербанк постоянно находится в фокусе внимания кибермошенников, поэтому при разработке новых цифровых сервисов банк уделяет повышенное внимание безопасности транзакций и средств своих клиентов



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

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

Подавляющее большинство работающих в production моделей относится к традиционным архитектурам моделей машинного обучения, таким как байсовые сети, градиентный бустинг / random forest, логистические регрессии, обычные нейронные сети.

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

Deep Learning и его отличия от традиционного Machine Learning

Deep Learning ― это подмножество методов Machine Learning, в котором архитектуры или алгоритмы используют многослойную систему нелинейных фильтров для извлечения признаков с преобразованиями. Каждый последующий слой получает на входе выходные данные предыдущего слоя. Таким образом, извлекаемые признаки организованы иерархически: признаки более высокого уровня являются производными от признаков более низкого уровня.

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

К важным отличиям моделей Deep Learning можно отнести тот факт, что часто они требуют существенно большего объема данных для обучения, а также специализированных аппаратных средств для эффективного обучения ― высокопроизводительных GPU.

Наиболее успешно методы Deep Learning применяются в таких областях, как компьютерное зрение, распознавание речи, обработка естественного языка. Де-факто по качеству они существенно превосходят все остальные подходы.

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

Мы провели ряд экспериментов, чтобы выяснить, позволят ли методы Deep Learning существенно улучшить результат используемых традиционных моделей при выявлении мошеннических транзакций.

Постановка задачи выявления мошеннических транзакций

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

Сети Deep Learning требуют существенного времени для обучения. Поскольку мошенничество в «Сбербанк Онлайн» исчисляется тысячными долями процентов, для ускорения проведения экспериментов легитимные транзакции были сэмплированы, и в итоговой выборке доля фрода составила несколько процентов.

Однако задача по-прежнему является несбалансированной. Для нас важна как точность модели, так и полнота выявления фрода, поэтому в качестве меры оценки качества модели мы выбрали площадь под кривой Precision-Recall. Для оценки использовалась out-of-time-валидация.

Для сравнения с действующими моделями были выбраны две наиболее широко распространенные архитектуры Deep Learning, которые используются в задачах классификации: сверточные и рекуррентные нейронные сети.

Сразу оговоримся, что при использовании только признаков из самой транзакции категориальные признаки были преобразованы или через label или через 1-hot encoding в зависимости от их размерности ― качество было очень низким. Поэтому feature engineering все-таки применялся, и транзакции дополнялись новыми признаками.

Сверточные сети (Convolutional neural networks ― СNN)

Традиционно сети такой архитектуры применяются в задачах, нацеленных на распознавание или сегментацию изображений. Ключевые компоненты данной сети ― слои сверток (convolution layers) и субдискретизации, или подвыборки (pooling), которые образуют чередующиеся слои.

 

Рис. 1. Пример архитектуры сверточной нейронной сети

Рис. 1. Пример архитектуры сверточной нейронной сети

 

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

 

Рис. 2. Пример работы операции свертки (I ― представление изображения, K ― фильтр)

Рис. 2. Пример работы операции свертки (I ― представление изображения, K ― фильтр)

 

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

 

Рис. 3. Примеры выученных сетью фильтров от более ранних слоев (слева) к более поздним (справа) на примере задачи распознавания лиц

Рис. 3. Примеры выученных сетью фильтров от более ранних слоев (слева) к более поздним (справа) на примере задачи распознавания лиц

 

Идея применения этого подхода в задаче выявления мошенничества ― представить транзакции в виде такого изображения-матрицы и позволить сети самой найти паттерны, характерные для мошеннической активности.

Рассмотрим несколько возможных способов представления данных в виде таких изображений-матриц.

Представление каждой транзакции в виде собственного изображения-матрицы

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

 

Рис. 4. Представление транзакции через агрегаты в виде матрицы

Рис. 4. Представление транзакции через агрегаты в виде матрицы

 

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

Представление анализируемой транзакции и предшествующих ей транзакций в виде единой матрицы

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

 

Рис. 5. Пример представления последовательности транзакций клиентов Сбербанка в виде изображения, где столбцы ― признаки, описывающие транзакцию, а строки ― сами транзакции

Рис. 5. Пример представления последовательности транзакций клиентов Сбербанка в виде изображения, где столбцы ― признаки, описывающие транзакцию, а строки ― сами транзакции

 

В рамках тестирования CNN-сетей мы выбрали второй подход и развили его:

1) в качестве транзакций, которые формируют матрицы, были выбраны только платежные транзакции ― сессионные транзакции входов, регистраций и другие исключались;

2) в качестве признаков (столбцы матрицы) помимо свойств самой транзакции а именно суммы, канала проведения, типа операции, были добавлены дополнительные признаки, описывающие различные аспекты проведения транзакции: место, устройство, число входов между предыдущей транзакцией самого клиента и дельта времени от предыдущей транзакции;

3) для трансформации категориальных признаков (например, тип операции) пока использовался lable-encoding.

Всего ― 40 признаков.

1. Число исторических транзакций (строки матрицы) было ограничено последними 32 транзакциями клиента, но не глубже 90 дней. Если у клиента в течение данного интервала времени было меньше 32 транзакций, то оставшиеся строки заполнялись значением по умолчанию.

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

3. Фродовыми считались те изображения, у которых последние транзакции являются мошенническими.

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

 

Рис. 6. Описание архитектуры сети

Рис. 6. Описание архитектуры сети

 

Описание архитектуры сети. Функция потерь ― binary cross-entropy


Номер слоя

Тип слоя

Параметры

1

Convolutional

6 фильтров размером 3x3 c шагом (stride) 1; padding ― до размеров исходного изображения; активационная функция ― tanh

2

Convolutional

12 фильтров размером 3x3 c шагом (stride) 1; padding ― до размеров исходного изображения; активационная функция ― tanh

3

Max Pooling

Размер фильтра ― 2x2, шаг ― 2

4

Convolutional

24 фильтра размером 3x3 c шагом (stride) 1; активационная функция ― tanh

5

Max Pooling

Размер фильтра ― 2x2, шаг ― 2

6

Dense (Fully connected layer)

128 нейронов

7

Dense (Output)

Softmax

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

1) расширить пространство базовых признаков по транзакции, использовать entity-embedding вместо encoding для категориальных признаков, увеличить глубину и попробовать увеличить количество слоев сети.

2) добавить еще несколько fully-connected-слоев с drop-out-слоями для исключения overfitting;

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

Рекуррентные сети (Recurrent neural networks ― RNN)

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

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

 

Рис. 7. Схема однослойной рекуррентной нейронной сети: на каждом цикле работы внутренний слой нейронов получает набор входных данных Х и информацию о предыдущем состоянии внутреннего слоя А, на основании чего генерирует ответ h

Рис. 7. Схема однослойной рекуррентной нейронной сети: на каждом цикле работы внутренний слой нейронов получает набор входных данных Х и информацию о предыдущем состоянии внутреннего слоя А, на основании чего генерирует ответ h

 

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

 

Рис. 8. Иллюстрация подхода many-to-one, где красные блоки ― последовательность транзакций, зеленые ― состояние рекуррентной сети, синие ― результат предсказания

Рис. 8. Иллюстрация подхода many-to-one, где красные блоки ― последовательность транзакций, зеленые ― состояние рекуррентной сети, синие ― результат предсказания

 

Для тестирования эффективности RNN-сетей в задаче выявления мошеннических транзакций мы использовали следующий подход:

1) анализируемая транзакция дополнялась предыдущими 99 транзакциями по клиенту, тo есть длина последовательности составляла 100 транзакций. Включались как платежные, так и сессионные транзакции: входы клиента, регистрации в системе;

2) в случае меньшего количества транзакций по клиенту последовательность дополнялась нулевыми транзакциями;

3) в качестве признаков ― features ― помимо данных самой транзакции, таких как сумма, канал проведения, тип операции, добавлялись дополнительные признаки, описывающие различные аспекты проведения транзакции. К ним относятся, например, место, устройство, провайдер, а также дельты времени от предыдущей транзакции;

4) для трансформации категориальных признаков использовался lable encoding/1-hot-encoding. Всего признаков ― 60;

5) социодемографические признаки клиента, такие как возраст, пол, были вынесены отдельно и не подавались на вход в RNN;

6) последовательности транзакций формировались как по клиенту-отправителю, так и по клиенту-получателю и использовались для обучения двух разных рекуррентных сетей;

7) фродовыми считались те последовательности, последняя транзакция которых являлась мошеннической.

 

Рис. 9. Общая архитектура тестируемого решения

Рис. 9. Общая архитектура тестируемого решения

 

Полученные результаты превзошли результаты с применением CNN, но уступили применяемым решениям. Однако несколько типов мошенничества RNN-сети выявили более эффективно.

В дальнейшем предполагается:

• расширить пространство базовых признаков по транзакции и попробовать увеличить количество слоев и ширину внутреннего слоя LSTM-сети;

• применить стэкинг градиентного бустинга и рекуррентной сети по аналогии с подходом, описанным в статье «Transaction Fraud Detection Using GRU-centred Sandwitch-structured Model».

Заключение

В результате проведенных экспериментов мы сделали следующие выводы об использовании Deep Learning при выявлении мошеннических транзакций:

• feature engineering ― по-прежнему обязательный элемент для получения хороших результатов;

• таких значительных приростов в эффективности, как в задачах с неструктурированными данными, получить не удалось. Скорее наоборот ― традиционные используемые методы Machine Learning показывают лучшие результаты.

Вместе с тем обозначен ряд направлений, которые могут улучшить полученные результаты, включая использование подхода entity-embedding для работы с категориальными признаками, а также stacking традиционных моделей и моделей Deep Learning.

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

Поэтому исследования в данном направлении, включая анализ других архитектур Deep Learning (auto-encoders, GANs и пр.) в Службе кибербезопасности Сбербанка, будут активно продолжаться наряду с развитием традиционных моделей машинного обучения. Это позволит поддерживать уровень безопасности наших клиентов и Банка в целом на высочайшем уровне и проактивно реагировать на возникающие вызовы со стороны киберпреступников.