Обнаружение мошенничества — важная проблема, которая применяется в финансовых услугах, социальных сетях, электронной коммерции, играх и других отраслях. В этом посте представлена реализация решения для обнаружения мошенничества с использованием модели сверточной сети реляционных графов (RGCN) для прогнозирования вероятности того, что транзакция является мошеннической, как в режиме трансдуктивного, так и в индуктивном выводе. Вы можете развернуть нашу реализацию на Создатель мудреца Амазонки endpoint в качестве решения для обнаружения мошенничества в режиме реального времени, не требующего внешнего хранилища графов или оркестровки, что значительно снижает стоимость развертывания модели.
Компании, которые ищут полностью управляемый сервис AWS AI для обнаружения мошенничества, также могут использовать Амазон детектор мошенничества, который вы можете использовать для выявления подозрительных онлайн-платежей, обнаружения мошенничества с новыми учетными записями, предотвращения злоупотреблений пробными версиями и программами лояльности, а также для улучшения обнаружения захвата учетных записей.
Обзор решения
Следующая диаграмма описывает примерную сеть финансовых транзакций, которая включает в себя различные типы информации. Каждая транзакция содержит такую информацию, как идентификаторы устройств, идентификаторы Wi-Fi, IP-адреса, физическое местоположение, номера телефонов и многое другое. Мы представляем наборы данных транзакций через гетерогенный граф, который содержит различные типы узлов и ребер. Затем проблема обнаружения мошенничества обрабатывается как задача классификации узлов на этом гетерогенном графе.
Графовые нейронные сети (GNN) продемонстрировали большие перспективы в решении проблем обнаружения мошенничества, превзойдя популярные методы обучения с учителем, такие как деревья решений с градиентным усилением или полностью подключенные сети с прямой связью, в наборах данных для сравнительного анализа. В типичной настройке обнаружения мошенничества на этапе обучения модель GNN обучается на наборе помеченных транзакций. Каждая обучающая транзакция снабжена двоичной меткой, указывающей, является ли она мошеннической. Затем эту обученную модель можно использовать для обнаружения мошеннических транзакций среди набора немаркированных транзакций на этапе логического вывода. Существуют два разных режима вывода: трансдуктивный вывод и индуктивный вывод (о котором мы поговорим подробнее позже в этом посте).
Модели на основе GNN, такие как RGCN, могут использовать топологическую информацию, сочетая как структуру графа, так и особенности узлов и ребер, чтобы получить значимое представление, которое отличает вредоносные транзакции от законных транзакций. RGCN может эффективно обучаться представлению различных типов узлов и ребер (отношений) посредством встраивания разнородных графов. На предыдущей диаграмме каждая транзакция моделируется как целевой узел, а несколько сущностей, связанных с каждой транзакцией, моделируются как нецелевые типы узлов, например ProductCD
и P_emaildomain
. Целевым узлам назначены числовые и категориальные признаки, в то время как узлы других типов не содержат признаков. Модель RGCN изучает вложение для каждого нецелевого типа узла. Для встраивания целевого узла используется сверточная операция для вычисления его вложения с использованием его признаков и вложений окрестностей. В остальной части поста мы используем термины GNN и RGCN как синонимы.
Стоит отметить, что альтернативные стратегии, такие как обработка нецелевых сущностей как функций и их горячее кодирование, часто были бы неосуществимы из-за большого количества элементов этих сущностей. И наоборот, кодирование их как объектов графа позволяет модели GNN использовать неявную топологию в отношениях объектов. Например, транзакции, в которых номер телефона совпадает с известными мошенническими транзакциями, также с большей вероятностью будут мошенническими.
Представление графа, используемое GNN, создает некоторую сложность в их реализации. Это особенно верно для таких приложений, как обнаружение мошенничества, в которых представление графа может быть дополнено во время вывода новыми добавленными узлами, которые соответствуют объектам, неизвестным во время обучения модели. Этот сценарий вывода обычно называют индуктивный режим, В противоположность, трансдуктивный режим — это сценарий, который предполагает, что представление графа, построенное во время обучения модели, не изменится во время логического вывода. Модели GNN часто оцениваются в трансдуктивном режиме путем построения графических представлений из комбинированного набора обучающих и тестовых примеров, при этом маскируя тестовые метки во время обратного распространения. Это гарантирует, что представление графа статично, и модель GNN не требует реализации операций по расширению графа новыми узлами во время вывода. К сожалению, представление статического графа нельзя использовать при обнаружении мошеннических транзакций в реальных условиях. Поэтому при развертывании моделей GNN для обнаружения мошенничества в производственных средах требуется поддержка индуктивного вывода.
Кроме того, обнаружение мошеннических транзакций в режиме реального времени имеет решающее значение, особенно в бизнес-кейсах, где есть только один шанс остановить незаконную деятельность. Например, пользователи-мошенники могут совершить злонамеренное действие только один раз с учетной записью и никогда больше не использовать ту же учетную запись. Вывод в реальном времени на моделях GNN вносит дополнительную сложность в реализацию. Часто бывает необходимо реализовать операции извлечения подграфов для поддержки логического вывода в реальном времени. Операция извлечения подграфа необходима для уменьшения задержки логического вывода, когда представление графа велико и выполнение логического вывода для всего графа становится непомерно дорогим. Алгоритм индуктивного вывода в реальном времени с моделью RGCN работает следующим образом:
- Учитывая пакет транзакций и обученную модель RGCN, расширите представление графа с помощью объектов из пакета.
- Назначьте векторы вложения новых нецелевых узлов со средним вектором вложения их соответствующего типа узла.
- Извлеките подграф, индуцированный k-hop вне окрестности целевых узлов из пакета.
- Выполните вывод на подграфе и верните оценки прогноза для целевых узлов пакета.
- Очистите представление графа, удалив недавно добавленные узлы (этот шаг гарантирует, что требования к памяти для вывода модели останутся постоянными).
Ключевым вкладом этого поста является представление модели RGCN, реализующей алгоритм индуктивного вывода в реальном времени. Вы можете развернуть нашу реализацию RGCN на конечной точке SageMaker в качестве решения для обнаружения мошенничества в режиме реального времени. Наше решение не требует внешнего хранилища графов или оркестровки и значительно снижает стоимость развертывания модели RGCN для задач обнаружения мошенничества. Модель также реализует режим трансдуктивного вывода, что позволяет нам проводить эксперименты для сравнения производительности модели в индуктивном и трансдуктивном режимах. Код модели и блокноты с экспериментами доступны из Репозиторий GitHub с примерами AWS.
Этот пост основан на посте Создайте решение для обнаружения мошенничества в режиме реального времени на основе GNN с помощью Amazon SageMaker, Amazon Neptune и библиотеки Deep Graph.. В предыдущем посте было создано решение для обнаружения мошенничества в режиме реального времени на основе RGCN с использованием SageMaker. Амазонка Нептун, и Библиотека Deep Graph (ДГЛ). Предыдущее решение использовало базу данных Neptune в качестве внешнего хранилища графов. AWS Lambda для оркестровки выводов в реальном времени и включала только эксперименты в трансдуктивном режиме.
Модель RGCN, представленная в этом посте, реализует все операции алгоритма индуктивного вывода в реальном времени, используя только DGL в качестве зависимости, и не требует внешнего хранилища графов или оркестровки для развертывания.
Сначала мы оцениваем производительность модели RGCN в трансдуктивном и индуктивном режимах на эталонном наборе данных. Как и ожидалось, производительность модели в индуктивном режиме немного ниже, чем в трансдуктивном. Мы также изучаем влияние гиперпараметра k на производительность модели. Гиперпараметр k управляет количеством переходов, выполняемых для извлечения подграфа на шаге 3 алгоритма вывода в реальном времени. Более высокие значения k будет создавать более крупные подграфы и может привести к повышению производительности логического вывода за счет более высокой задержки. Поэтому мы также проводим временные эксперименты, чтобы оценить применимость модели RGCN для приложений реального времени.
Dataset
Мы используем IEEE-CIS набор данных о мошенничестве, тот же набор данных, который использовался в предыдущем после. Набор данных содержит более 590,000 XNUMX записей о транзакциях с меткой двоичного мошенничества (т. isFraud
столбец). Данные разбиты на две таблицы: транзакции и идентификационные данные. Однако не все записи транзакций имеют соответствующую идентификационную информацию. Соединяем два стола на TransactionID
столбец, что оставляет нам в общей сложности 144,233 XNUMX записи о транзакциях. Мы сортируем таблицу по отметке времени транзакции (т. TransactionDT
столбец) и создать процентное разделение 80/20 по времени, производя 115,386 28,847 и XNUMX XNUMX транзакций для обучения и тестирования соответственно.
Дополнительные сведения о наборе данных и о том, как его отформатировать в соответствии с входными требованиями DGL, см. Обнаружение мошенничества в гетерогенных сетях с помощью Amazon SageMaker и Deep Graph Library.
Построение графика
Мы используем TransactionID
столбец для создания целевых узлов. Мы используем следующие столбцы для генерации 11 типов нецелевых узлов:
card1
черезcard6
ProductCD
addr1
иaddr2
P_emaildomain
иR_emaildomain
Мы используем 38 столбцов в качестве категориальных признаков целевых узлов:
M1
черезM9
DeviceType
иDeviceInfo
id_12
черезid_38
Мы используем 382 столбца в качестве числовых характеристик целевых узлов:
TransactionAmt
dist1
иdist2
id_01
черезid_11
C1
черезC14
D1
черезD15
V1
черезV339
Наш граф, построенный на основе обучающих транзакций, содержит 217,935 2,653,878 узлов и XNUMX XNUMX XNUMX ребер.
гиперпараметры
Другие параметры устанавливаются в соответствии с параметрами, указанными в предыдущем после. Следующий фрагмент иллюстрирует обучение модели RGCN в трансдуктивном и индуктивном режимах:
Индуктивный и трансдуктивный режимы
Мы проводим пять испытаний для индуктивного и пять испытаний для трансдуктивного режима. Для каждого испытания мы обучаем модель RGCN и сохраняем ее на диск, получая 10 моделей. Оцениваем каждую модель на тестовых примерах при увеличении количества прыжков (параметр k) используется для извлечения подграфа для вывода, установка k до 1, 2 и 3. Мы прогнозируем сразу для всех тестовых примеров и вычисляем показатель ROC AUC для каждого испытания. На следующем графике показаны средние значения и 95% доверительные интервалы показателей AUC.
Мы видим, что производительность в трансдуктивном режиме немного выше, чем в индуктивном. Для k= 2, средние значения AUC для индуктивного и трансдуктивного режимов составляют 0.876 и 0.883 соответственно. Это ожидается, потому что модель RGCN способна изучать встраивания всех узлов сущностей в трансдуктивном режиме, в том числе в тестовом наборе. Напротив, индуктивный режим позволяет модели изучать только вложения узлов сущностей, которые присутствуют в обучающих примерах, и поэтому некоторые узлы должны быть заполнены средним значением во время вывода. В то же время падение производительности между трансдуктивным и индуктивным режимами незначительно, и даже в индуктивном режиме модель RGCN достигает хороших результатов с AUC 0.876. Мы также наблюдаем, что производительность модели не улучшается для значений k>2. Это означает, что установка k=2 извлечет достаточно большой подграф во время вывода, что приведет к оптимальной производительности. Это наблюдение подтверждается и нашим следующим экспериментом.
Также стоит отметить, что для трансдуктивного режима AUC нашей модели, равная 0.883, выше, чем соответствующая AUC, равная 0.870, о которой сообщалось в предыдущем исследовании. после. Мы используем больше столбцов в качестве числовых и категориальных характеристик целевых узлов, что может объяснить более высокий показатель AUC. Мы также отмечаем, что эксперименты в предыдущем посте выполняли только одно испытание.
Вывод на небольшой партии
В этом эксперименте мы оцениваем модель RGCN в условиях небольшого пакетного вывода. Мы используем пять моделей, обученных в индуктивном режиме в предыдущем эксперименте. Мы сравниваем производительность этих моделей при прогнозировании в двух условиях: полный и небольшой пакетный вывод. Для полного пакетного вывода мы делаем прогноз для всего набора тестов, как это было сделано в предыдущем эксперименте. Для вывода небольших пакетов мы прогнозируем в небольших пакетах, разделяя тестовый набор на 28 пакетов одинакового размера, примерно по 1,000 транзакций в каждом пакете. Мы рассчитываем показатели AUC для обоих параметров, используя разные значения k. На следующем графике показано среднее значение и 95% доверительные интервалы для параметров логического вывода полной и малой партии.
Мы наблюдаем эту производительность для вывода небольших партий, когда k=1 меньше, чем для полной партии. Однако производительность логического вывода для небольших партий соответствует полной партии, когда k>1. Это можно объяснить тем, что для небольших партий извлекаются гораздо меньшие подграфы. Мы подтверждаем это, сравнивая размеры подграфа с размером всего графа, построенного из обучающих транзакций. Мы сравниваем размеры графов с точки зрения количества узлов. Для k= 1, средний размер подграфа для небольшого пакетного вывода составляет менее 2% обучающего графа. И для полного пакетного вывода, когда k=1, размер подграфа равен 22%. Когда k= 2, размеры подграфов для вывода малых и полных пакетов составляют 54 % и 64 % соответственно. Наконец, размеры подграфов для обоих параметров вывода достигают 100% для k=3. Другими словами, когда k>1, подграф для небольшой партии становится достаточно большим, что позволяет выводу небольшой партии достичь той же производительности, что и вывод полной партии.
Мы также записываем задержку прогнозирования для каждой партии. Мы проводим наши эксперименты на экземпляре ml.r5.12xlarge, но вы можете использовать экземпляр меньшего размера с 64 ГБ памяти для проведения тех же экспериментов. На следующем графике показаны средние и 95% доверительные интервалы задержек предсказания малых партий для различных значений k.
Задержка включает все пять шагов алгоритма индуктивного вывода в реальном времени. Мы видим, что когда k= 2, прогнозирование 1,030 транзакций занимает в среднем 5.4 секунды, что дает пропускную способность 190 транзакций в секунду. Это подтверждает, что реализация модели RGCN подходит для обнаружения мошенничества в реальном времени. Отметим также, что предыдущий после не предоставили жестких значений задержки для их реализации.
Заключение
Модель RGCN, выпущенная вместе с этой публикацией, реализует алгоритм индуктивного вывода в реальном времени и не требует внешнего хранилища графов или оркестровки. Параметр k на шаге 3 алгоритма указывает количество переходов, выполняемых для извлечения подграфа для вывода, и приводит к компромиссу между точностью модели и задержкой прогнозирования. Мы использовали IEEE-CIS набор данных о мошенничестве в наших экспериментах и эмпирически подтвердили, что оптимальное значение параметра k для этого набора данных равен 2, достигая оценки AUC 0.876 и задержки прогнозирования менее 6 секунд на 1,000 транзакций.
В этом посте представлен пошаговый процесс обучения и оценки модели RGCN для обнаружения мошенничества в реальном времени. Включенный класс модели реализует методы для всего жизненного цикла модели, включая методы сериализации и десериализации. Это позволяет использовать модель для обнаружения мошенничества в режиме реального времени. Вы можете обучить модель как средство оценки PyTorch SageMaker, а затем развернуть ее на конечной точке SageMaker, используя следующие ноутбук как шаблон. Конечная точка способна прогнозировать мошенничество в отношении небольших пакетов необработанных транзакций в режиме реального времени. Вы также можете использовать Рекомендатор выводов Amazon SageMaker чтобы выбрать наилучший тип экземпляра и конфигурацию для конечной точки логического вывода в зависимости от ваших рабочих нагрузок.
Для получения дополнительной информации по этой теме и реализации мы рекомендуем вам изучить и протестировать наши сценарии самостоятельно. Вы можете получить доступ к блокнотам и соответствующему коду класса модели из Репозиторий GitHub с примерами AWS.
Об авторах
Дмитрий Беспалов — старший научный сотрудник лаборатории решений для машинного обучения Amazon, где он помогает клиентам AWS в различных отраслях ускорить внедрение ИИ и облачных технологий.
Райан Брэнд — ученый-прикладник в лаборатории решений для машинного обучения Amazon. У него есть специфический опыт применения машинного обучения для решения проблем в здравоохранении и науках о жизни. В свободное время любит читать историю и научную фантастику.
Янцзюнь Ци является старшим менеджером по прикладным наукам в лаборатории решений Amazon для машинного обучения. Она внедряет инновации и применяет машинное обучение, чтобы помочь клиентам AWS ускорить внедрение ИИ и облачных технологий.
- SEO-контент и PR-распределение. Получите усиление сегодня.
- Платоблокчейн. Интеллект метавселенной Web3. Расширение знаний. Доступ здесь.
- Источник: https://aws.amazon.com/blogs/machine-learning/build-a-gnn-based-real-time-fraud-detection-solution-using-the-deep-graph-library-without-using-external-graph-storage/
- 000
- 1
- 10
- 100
- 11
- 2%
- 28
- 7
- 95%
- a
- в состоянии
- О нас
- злоупотребление
- ускорять
- доступ
- Доступ
- Учетная запись
- точность
- Достигает
- достижение
- через
- активно
- добавленный
- дополнение
- дополнительный
- адреса
- Принятие
- плюс
- AI
- алгоритм
- Все
- позволяет
- альтернатива
- Amazon
- Амазонское машинное обучение
- Амазонка Нептун
- Создатель мудреца Амазонки
- среди
- и
- Применение
- Приложения
- прикладной
- Применение
- примерно
- массив
- назначенный
- связанный
- предполагается,
- дополненная
- в среднем
- AWS
- основанный
- , так как:
- становится
- не являетесь
- эталонный тест
- бенчмаркинг
- ЛУЧШЕЕ
- Лучшая
- между
- марка
- строить
- строит
- построенный
- бизнес
- нести
- случаев
- шанс
- изменение
- класс
- классификация
- облако
- принятие облака
- код
- Column
- Колонки
- сочетании
- комбинируя
- сравнить
- сравнив
- сложность
- Вычисление
- Проводить
- доверие
- Конфигурация
- подтвердить
- ПОДТВЕРЖДЕНО
- подключенный
- постоянная
- строительство
- строительство
- содержит
- контраст
- вклад
- контрольная
- соответствующий
- Цена
- Создайте
- создает
- решающее значение
- Клиенты
- данным
- База данных
- Наборы данных
- решение
- глубоко
- По умолчанию
- определенный
- Зависимость
- развертывание
- развертывание
- развертывание
- подробнее
- обнаружение
- устройство
- дгл
- DID
- различный
- обсуждать
- не
- Падение
- в течение
- каждый
- электронной коммерции
- эффект
- фактически
- позволяет
- позволяет
- поощрять
- Конечная точка
- обеспечивает
- Весь
- лиц
- организация
- средах
- особенно
- оценивать
- оценивается
- оценки
- Даже
- Каждая
- пример
- Примеры
- ожидаемый
- дорогим
- опыт
- эксперимент
- Объяснять
- Больше
- продлить
- и, что лучший способ
- извлечение
- Особенности
- Рассказы
- в заключение
- финансовый
- финансовые услуги
- Во-первых,
- после
- следующим образом
- формат
- мошенничество
- обнаружение мошенничества
- и мошенническими
- Бесплатно
- от
- полный
- полностью
- игровой
- порождать
- получить
- GitHub
- хорошо
- график
- большой
- Жесткий
- здравоохранение
- помощь
- помогает
- высший
- история
- Как
- How To
- Однако
- HTML
- HTTPS
- определения
- Личность
- нелегальный
- осуществлять
- реализация
- Осуществляющий
- инвентарь
- Импортировать
- важную
- улучшать
- in
- В других
- включены
- включает в себя
- В том числе
- повышение
- промышленности
- информация
- вход
- пример
- выпустили
- Представляет
- IP
- IP-адреса
- IT
- присоединиться
- Основные
- известный
- лаборатория
- этикетка
- Этикетки
- большой
- больше
- Задержка
- вести
- УЧИТЬСЯ
- изучение
- Библиотека
- ЖИЗНЬЮ
- Медико-биологическая промышленность
- Жизненный цикл
- Вероятно
- загрузка
- места
- искать
- Лояльность
- Программа лояльности
- машина
- обучение с помощью машины
- менеджер
- Совпадение
- значимым
- Медиа
- Память
- методы
- ML
- режим
- модель
- Модели
- Режимы
- БОЛЕЕ
- необходимо
- Neptune
- сеть
- сетей
- нейронные сети
- Новые
- следующий
- узел
- узлы
- номер
- номера
- наблюдать
- получение
- ONE
- онлайн
- Онлайн-платежи
- операция
- Операционный отдел
- оптимальный
- оркестровка
- Другое
- превосходя
- собственный
- панд
- параметр
- параметры
- Прошло
- платежи
- процент
- Выполнять
- производительность
- выполнения
- фаза
- Телефон
- физический
- Платон
- Платон Интеллектуальные данные
- ПлатонДанные
- Популярное
- После
- предсказывать
- прогнозирования
- прогноз
- представить
- разрабатывает
- предотвращать
- предыдущий
- Предварительный
- Проблема
- проблемам
- процесс
- производит
- Производство
- FitPartner™
- обещание
- обеспечивать
- при условии
- pytorch
- Qi
- Сырье
- достигать
- Reading
- реальные
- реальный мир
- реального времени
- запись
- учет
- уменьшить
- снижает
- снижение
- назвало
- Связанный
- отношения
- Отношения
- выпустил
- удаление
- Сообщается
- представлять
- представление
- требовать
- обязательный
- требование
- те
- ОТДЫХ
- в результате
- Итоги
- возвращают
- Run
- Райан
- sagemaker
- Вывод SageMaker
- то же
- Сохранить
- сценарий
- Наука
- Научная фантастика
- НАУКА
- Ученый
- скрипты
- Во-вторых
- секунды
- старший
- обслуживание
- Услуги
- набор
- установка
- настройки
- установка
- несколько
- Поделиться
- показанный
- Шоу
- значительный
- существенно
- одинарной
- Размер
- Размеры
- небольшой
- меньше
- So
- Соцсети
- социальные сети
- Решение
- Решения
- некоторые
- конкретный
- скорость
- раскол
- расколы
- Шаг
- Шаги
- остановка
- диск
- стратегий
- Структура
- Кабинет
- подграф
- подграфы
- такие
- Костюм
- подходящее
- поддержка
- подозрительный
- ТАБЛИЦЫ
- взять
- поглощение
- принимает
- цель
- Сложность задачи
- задачи
- шаблон
- terms
- тестXNUMX
- Тестирование
- Ассоциация
- График
- их
- тем самым
- следовательно
- Через
- пропускная способность
- время
- отметка времени
- синхронизация
- в
- слишком
- тема
- Всего
- Train
- специалистов
- Обучение
- сделка
- Сделки
- лечения
- Деревья
- суд
- испытания
- правда
- Типы
- типичный
- us
- использование
- пользователей
- обычно
- подтверждено
- ценностное
- Наши ценности
- с помощью
- , которые
- в то время как
- Wi-Fi
- будете
- без
- слова
- стоимость
- бы
- Ты
- ВАШЕ
- зефирнет