ОБЛАСТЬ ТЕХНИКИ
[0001] Заявленное решение относится к области информационной безопасности, в частности, к системам противодействия мошенничеству.
УРОВЕНЬ ТЕХНИКИ
[0002] С развитием информационных технологий IT-решения (information technology)) - информационные технологии) стали оказывать существенное влияние на все сферы и отрасли жизнедеятельности. В настоящее время различные компании и организации активно внедряют и используют в своей структуре IT-решения.
[0003] Задача определения мошеннических транзакций пользователя для крупных финансовых организаций (например, банков) всегда трудоемкий и кропотливый труд. От качества решения этой задачи зависит как величина прямых убытков банка от деятельности мошенников, так и лояльность клиентов, сталкивающихся с необходимостью лишний раз подтверждать дополнительными способами легитимность своих операций.
[0004] Из уровня техники известен патент US 10482464 B1 "Identification of anomalous transaction attributes in real-time with adaptive threshold tuning", патентообладатель: Wells Fargo Bank, N.A., опубликовано: 19.11.2019. В данном решении описывается процесс анализа параметров транзакций на предмет сравнения с определенным порогом. В случае превышения порога транзакция признается мошеннической.
[0005] Недостатком известного решения в данной области техники является отсутствие возможности рассмотрения определенного набора параметров транзакций как единого целого и анализа этого объединения на аномальность и на мошенничество, а также то, что прогнозирование транзакций пользователя осуществляется только в рамках отдельных параметров транзакций.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0006] В заявленном техническом решении предлагается новый подход к процессу определения мошеннических транзакций. В данном решении используется алгоритм машинного обучения, который позволяет на основе предыдущей транзакционной истории рассмотреть все параметры транзакции как единое целое, сформировать следующую транзакцию с наиболее вероятными параметрами и, путем сравнения сгенерированной транзакции с реально осуществленной, выдать вердикт об аномальности реальной транзакции. Далее, на основе характеристики аномальности фактически произошедшей транзакции формируется сигнал о мошеннической транзакции или какой-либо иной сигнал.
[0007] Таким образом, решается техническая проблема определения аномальности транзакции и выявления мошеннической транзакции.
[0008] Техническим результатом, достигающимся при решении данной проблемы, является повышение полноты и точности определения мошеннической транзакций.
[0009] Заявленный технический результат достигается за счет выполнения компьютерно-реализуемого способа определения мошеннических транзакций пользователя, выполняемого по меньшей мере одним процессором, и содержащего этапы, на которых:
• получают последовательность совершенных транзакций пользователя за заданный временной промежуток, при этом каждая транзакция характеризуется набором атрибутов;
• преобразуют каждую полученную транзакцию в вектор атрибутов на основании соответствующего набора атрибутов транзакции;
• осуществляют обработку полученных векторов атрибутов с помощью кодирующей модели машинного обучения (КММО), в ходе которой получают представление последовательности векторов атрибутов в виде матрицы скрытых состояний;
• осуществляют обработку матрицы скрытых состояний с помощью генеративной модели машинного обучения (ГММО), обученной на матрицах скрытых состояний последовательностей векторов атрибутов транзакций, в ходе которой ГММО из матрицы скрытых состояний генерирует связанные между собой векторы атрибутов одной или нескольких транзакций;
• генерируют последнюю транзакцию пользователя на основе сгенерированного вектора атрибутов;
• сравнивают последнюю совершенную транзакцию пользователя и сгенерированную последнюю транзакцию пользователя путем расчета оценки аномальности совершенной транзакции;
• формируют сигнал о мошеннической транзакции, если значение оценки аномальности больше порогового значения.
[0010] В одном из частных примеров реализации КММО обучают на последовательностях векторов атрибутов.
[0011] В другом частном примере реализации расчет оценки аномальности совершенной транзакции осуществляют по одному или нескольким атрибутам путем сравнения расстояния между векторами атрибутов транзакций.
[0012] В другом частном примере реализации способ дополнительно содержит этап ограничения доступа пользователя, выполняющего по меньшей мере одну мошенническую транзакцию.
[0013] Заявленный технический результат достигается также за счет реализации устройства для определения мошеннических транзакций пользователя, содержащего по меньшей мере один процессор, по меньшей мере одну память, связанную с процессором и содержащую машиночитаемые инструкции, которые при их выполнении по меньшей мере одним процессором обеспечивают выполнение способа определения мошеннических транзакций пользователя.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0014] На Фиг. 1 представлена блок-схема компьютерно-реализуемого способа определения мошеннических транзакций пользователя.
[0015] Фиг. 2 иллюстрирует пример кодирующей модели машинного обучения.
[0016] Фиг. 3 иллюстрирует пример генерирующей модели машинного обучения.
[0017] На Фиг. 4 представлена общая схема вычислительного устройства.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
[0018] Ниже будут описаны понятия и термины, необходимые для понимания настоящего изобретения.
[0019] Модель в машинном обучении (МО) - это совокупность методов искусственного интеллекта, характерной чертой которых является не прямое решение задачи, а обучение в процессе применения решений множества сходных задач.
[0020] Транзакция (операция) - это действие клиента с банковским или иным финансовым счетом, которое характеризуется набором атрибутов (по-другому: характеристик, «фичей», свойств, параметров, переменных). Примером таких атрибутов могут быть: время операции; сумма; тип операции (снятие/пополнение в банкомате, перевод клиенту некоторого банка, онлайн оплата, покупка в магазине оплатой через терминал, открытие дебетового счета, открытие кредитного счета, открытие расчетного счета, заявка на кредит и прочие); возраст клиента; имя клиента; имя клиента получателя (в случае перевод клиенту некоторого банка); ip-адрес интернет соединения устройства при онлайн оплате; номер отделения банка, открывший клиенту банковский счет; тип банковской карты клиента, остаток средства на карте, находится ли получатель перевода в списке контактов мобильного приложения клиента, имеет ли мобильное устройство клиента с онлайн приложением права супер-пользователя (рут-права) и другие данные, которые характеризуют операцию, клиента, получатель платежа, назначение операции, место и время операция, устройства проведения операции и прочее. Данные атрибуты могут быть как количественной природы (сумма операции и множество прочих), так и категориальной (качественной) характеристикой (имя пользователя, ip-адрес и множество прочих).
[0021] Матрица скрытых состояний (МСС) - это результат работы модели машинного обучения или ее части, представляющий собой матрицу чисел, каждый элемент которой рассчитывается на основе совокупности всех атрибутов всех объектов входных данных. В рамках данного изобретения конкретизируется, что МСС рассчитывается на основе совокупности всех атрибутов всех транзакций клиента. При этом невозможно выделить отдельный элемент матрицы, который отвечал бы за один отдельный атрибут транзакций или за отдельную транзакцию в истории. Из данной матрицы невозможно обратно восстановить исходные атрибут транзакций или историю транзакции, за исключением обучения декодирующей или генеративной модели.
[0022] Кодирующая модель машинного обучения (КММО) - это модель машинного обучения, позволяющая получать матрицу скрытых состояний из упорядоченного набора (последовательности) объектов, характеризующихся совокупностью атрибутов.
[0023] Генеративная модель машинного обучения (ГММО) - это модель машинного обучения, позволяющая получать по меньшей мере один атрибут одной транзакции из матрицы скрытых состояний совокупности транзакций. Она же «генерирующая модель», «декодирующая модель».
[0024] Совершенная (фактическая) транзакция - это произошедшая (настоящая, реальная, действительная) транзакция клиента.
[0025] Сгенерированная (эталонная) транзакция - это смоделированная (мнимая, оценочная, прогнозируемая) транзакция клиента, в виде по меньшей мере одного атрибута, полученная как результат работы ГММО из МСС, при том что МСС была получена на основе по крайней мере одной предыдущей фактической транзакции, в том числе, возможно, что и на основе предыдущих сгенерированных (эталонных) транзакций.
[0026] Полнота - это мера, представляющая собой, какую долю объектов целевого класса из всех объектов целевого класса нашел алгоритм.
[0027] Мошенническая транзакция - это по меньшей мере одно событие, не имеющее явного экономического смысла для пользователя, при этом либо не инициированное или не подтвержденное пользователем (например, осуществляемое с использованием устройства пользователя или учетной записи, принадлежащей пользователю, но без его ведома), либо совершенное пользователем, находящимся под психологическим и/или физическим воздействием мошенника, и действующим в интересах мошенника.
[0028] Подготовка данных для обучения.
[0029] Обучение модели проводилось на исторических данных о транзакциях клиента, где каждая транзакция размечена на 2 класса:
• мошенническая (класс 1),
• легитимная (класс 0).
[0030] Обучение модели МО производится на данных в виде пар исторического (упорядоченной во времени) набора транзакций клиента и класса каждой операции.
[0031] Для оценки качества модели набор данных был разбит на 2 части: тренировочную и контрольную выборки. Разбиение происходило случайным образом в отношении 70% на тренировочную выборку и 30% на проверочную выборку по клиентам.
[0032] Полнота выявления мошенничества составляет около 0,9.
[0033] На Фиг. 1 представлен компьютерно-реализуемый способ (100) определения мошеннических транзакций пользователя. Выполнение способа (100) осуществляется с помощью по меньшей мере одного процессора. В частном примере реализации выполнение способа (100) осуществляется с помощью устройства для определения мошеннических транзакций пользователя, которое может быть реализовано на базе вычислительного устройства, модифицированного в программно-аппаратной части таким образом, чтобы выполнять функции устройства для определения мошеннических транзакций пользователя. Более подробное описание вычислительного устройства раскрыто далее со ссылкой на Фиг. 4.
[0034] На первом этапе (101) получают данные, содержащие по меньше мере одну совершенную (фактическую) транзакцию клиента. В предпочтительном варианте воплощения получают последовательность совершенных транзакций пользователя за заданный временной промежуток, при этом каждая транзакция характеризуется набором атрибутов.
[0035] На этапе (102) преобразуют каждую полученную транзакцию в вектор атрибутов на основании соответствующего набора атрибутов транзакции. На данном этапе производится обработка категориальных переменных и их представление в виде вектора.
[0036] На этапе (102) представляют атрибуты, как наборы категориальных переменных. На данном этапе каждый атрибут в транзакции представляется как самостоятельная категориальная переменная. В данном случае каждая позиция транзакции в истории рассматривается как категориальная переменная. Каждая такая переменная на каждой позиции может реализоваться как одно и только одно значение данной переменной. При этом данная переменная не является числом или числовым вектором, а является именно категорией на позиции. Эта категория может задаваться строковым значением или любым иным способом.
[0037] В одном из вариантов изобретения на этапе (102) в качестве метода получения числового вектора применяется метод векторного представления категориальных переменных «Label Encoder»или «Embedding». Для получения Embedding типов могут быть использованы такие технологии как нейронные сети: Полносвязанные, Рекуррентные, Сверточные, Трансформеры, или использоваться предобученные векторы: Word2Vec, Glove, FastText и другие.
[0038] В одном из частных вариантов изобретения производится получение векторного вида (эмбединга) каждой категориальной переменной, в том числе и контекстуализированного (например, на основе нейронных сетей рекуррентных, трансформеров, сетей со слоем самовнимания (self-attention), взвешивания с соседними эмбедингами). Далее производится усреднение эмбедингов категориальных переменных, выбор максимального значения среди каждого параметра эмбединга.
[0039] В одном из частных вариантов воплощения изобретения последовательность эмбедингов категориальных переменных подается на нейронную сеть со сверточными слоями, такими как Conv1d, Conv2d, Conv3d, ConvTranspose1d, ConvTranspose2d, ConvTranspose3d, LazyConv1d, LazyConv2d, LazyConv3d, LazyConvTranspose1d, LazyConvTranspose2d, LazyConvTranspose3d, Unfold, Fold.
[0040] Далее, в одном из частных вариантов изобретения, идет один или несколько слоев пулинга: MaxPool1d, MaxPool2d, MaxPool3d, MaxUnpool1d, MaxUnpool2d, MaxUnpooBd, AvgPool1d, AvgPool2d, AvgPool3d, FractionalMaxPool2d, FractionalMaxPooBd, LPPool1d, LPPool2d, AdaptiveMaxPool1d, AdaptiveMaxPool2d, AdaptiveMaxPool3d, AdaptiveAvgPool1d, AdaptiveAvgPool2d, AdaptiveAvgPooBd [1]. [0041] В одном из частных примеров реализации заявленного решения для получения векторного представления команды в виде последовательности категориальных переменных используются предобученные нейронные сети, такие как DistilBERT: smaller, faster, cheaper, lighter; ALBERT (Lite BERT Google); TinyBERT; T-NLG (Turing Natural Language Generation); USE (Universal Sentence Encoder); ELMo (Embeddings from Language Models), T5, GPT (Generative Pre-trained Transformer), GPT2, GPT3, GPT4, ChatGPT, GigaChat или наследуемые от них сети.
[0042] В одном из вариантов изобретения на этапе (102) в качестве метода получения числового вектора применяется метод векторизации TF-IDF (term-frequency times inverse document-frequency). Векторизатор обучался на обучающей выборке с/без использования стоп-значений (stop_words=None), с/без использования IDF, использовались n-skip-m-граммы категориальных переменных.
[0043] В альтернативном варианте воплощения заявленного решения на этапе (102) в качестве метода получения числового вектора применяется метод векторного представления категориальных переменных One-Hot Encoder. Данный тип кодирования, основывается на создании бинарных признаков, которые показывают принадлежность к уникальному значению.
[0044] В частном варианте воплощения заявленного изобретения на этапе (102) в качестве метода получения числового вектора применяется метод векторного представления категориальных переменных Binary Encoder. В этом случае N уникальных значений категориального признака кодируют, используя log(N) бинарных признаков, представляя порядковый номер уникального значения категориальной переменной в виде строки двоичного представления.
[0045] В одном из частных примеров реализации на этапе (102) в качестве метода получения числового вектора применяется метод векторного представления категориальных переменных по меньшей мере одним из следующих способов: Contrast Encoding, Helmert Encoder, Backward-Difference Encoder, Target Encoding, Leave-One-Out Encoder, James-Stein Encoder.
[0046] В одном из альтернативных вариантов воплощения изобретения на этапе (102) производится конкатенация векторных представлений, в результате чего получается один вектор атрибутов транзакции.
[0047] На этапе (103) осуществляют обработку полученных векторов атрибутов с помощью кодирующей модели машинного обучения (КММО), в ходе которой получают представление последовательности векторов атрибутов в виде матрицы скрытых состояний.
[0048] В частном варианте воплощения заявленного изобретения кодирующую модель машинного обучения (КММО) обучают на последовательностях векторов атрибутов.
[0049] Для получения матрицы скрытых состояний используют такие технологии, как нейронные сети: Полносвязанные, Рекуррентные, Сверточные, Трансформеры. В одном из частных вариантов изобретения блок энкодера представляет собой по меньше мере один слой нейронной сети из типов: Рекуррентные нейронные сети (Recurrent neural networks, RNN), Долгая краткосрочная память (Long short term memory, LSTM), Управляемые рекуррентные нейроны (Gated recurrent units, GRU), Нейронные машины Тьюринга (Neural Turing machines, NMT), Двунаправленные RNN, LSTM и GRU (BiRNN, BiLSTM и BiGRU), Глубокие остаточные сети (Deep residual networks, DRN), Нейронные эхо-сети (Echo state networks, ESN), Машины неустойчивых состояний (Liquid state machines, LSM), самоорганизующаяся карта Кохонена (Kohonen networks, KN, или organising (feature) map, SOM, SOFM).
[0050] В одном из частных вариантов изобретения для получения матрицы скрытых состояний используются нейронные сети, такие как GNN (англ. Graph Neural Network), DeepWalk, Line, Node2vec, Hope, нейронная сеть с графовым механизмом внимания (GAT - Graph ATtention), индуктивная модель обучения (GraphSAGE), RGCN (Relational Graph Convolutional Networks), GCN (Graph Convolutional Networks) или наследуемые от них сети.
[0051] На этапе (104) осуществляют обработку матрицы скрытых состояний с помощью генеративной модели машинного обучения (ГММО), обученной на матрицах скрытых состояний последовательностей векторов атрибутов транзакций, в ходе которой ГММО из матрицы скрытых состояний генерирует связанные между собой векторы атрибутов одной или нескольких транзакций.
[0052] Вышеуказанная обработка осуществляется блоком генератора (декодера) генеративной модели машинного обучения (ГММО). Этот блок представляет собой по меньшей мере одно из: декодер типа Вариационный автоэнкодер (VAE), Метод глубокого обучения, ограниченную машину Больцмана (RBM), Глубокую сеть доверия (Deep Belief Network - DBN), нейронные сети: Полносвязанные, Рекуррентные, Сверточные, Трансформеры.
[0053] В частном варианте воплощения заявленного изобретения блок генератора представляет собой по меньше мере один слой нейронной сети из типов: Сверточных нейронных сете (CNN), Рекуррентные нейронные сети (Recurrent neural networks, RNN), Долгая краткосрочная память (Long short term memory, LSTM), Управляемые рекуррентные нейроны (Gated recurrent units, GRU), Нейронные машины Тьюринга (Neural Turing machines, NMT), Двунаправленные RNN, LSTM и GRU (BiRNN, BiLSTM и BiGRU), Глубокие остаточные сети (Deep residual networks, DRN), Нейронные эхо-сети (Echo state networks, ESN), Машины неустойчивых состояний (Liquid state machines, LSM), самоорганизующаяся карта Кохонена (Kohonen networks, KN, или organising (feature) map, SOM, SOFM).
[0054] На этапе (105) генерируют последнюю транзакцию пользователя на основе сгенерированного вектора атрибутов, в результате получая сгенерированную (эталонную) последнюю транзакцию пользователя.
[0055] В частном варианте воплощения заявленного изобретения эталонную транзакцию генерируют на основе всех предыдущих совершенных (фактических) транзакций.
[0056] В одном из альтернативных вариантов воплощения заявленного решения последнюю (эталонную) транзакцию генерируют на основе некоторых предыдущих совершенных транзакций и сгенерированных, на их же основе, эталонных транзакций.
[0057] На этапе (106) сравнивают последнюю совершенную транзакцию пользователя и сгенерированную последнюю транзакцию пользователя путем расчета оценки аномальности совершенной транзакции.
[0058] В частном варианте воплощения заявленного изобретения расчет оценки аномальности совершенной транзакции осуществляют по одному или нескольким атрибутам путем сравнения расстояния между векторами атрибутов транзакций.
[0059] При этом для расчета расстояний используются такие метрики как: Брая-Кертиса (braycurtis), Канберра (Canberra), Чебышева (chebyshev), Сити Блок (Манхэттенская метрика, метрика городских кварталов, cityblock), Корреляция (correlation), Косинусная (cosine), Эвклидова метрика и наследуюемые от нее (euclidean, seuclidean, sqeuclidean), Дивергенция Йенсена - Шеннона (jensenshannon), Дивергенция Кульбака-Лейблера (Kullback-Leibler), Махаланобиса (mahalanobis), Миньковского любой нормы р (minkowski), Dice-метрика, Хемминга (hamming), Джаккарда (jaccard), Коэффициент Кульчинского (kulczynskil), метрика Роджерса-Танимото (rogerstanimoto, Rogers-Tanimoto), метрика Рассела-Рао (russellrao, Russell-Rao), метрика Сокал-Миченера (sokalmichener, Sokal-Michener), метрика Сокала-Снифа (sokalsneath, Sokal-Sneath), метрика Юле-Уолкера (yule, Yule-Walker) и наследуемые от нее (YuleBonett, YuleCor, Yule2phi, Yule2tetra, Yule2tetra) и другие.
[0060] В альтернативном варианте воплощения заявленного решения на этапе (106) для оценки аномальности транзакции используется один из методов выявления аномалий: One-class SVM (метод опорных векторов с одним классом), Isolation Forest (метод изолирующего леса), метод Elliptic envelope, метрические методы: к ближайших соседей, к-го ближайшего соседа, ABOD (angle-based outlier detection) или LOF (local outlier factor). В этом случае, в качестве меры аномальности транзакции используется выходное значение метода.
[0061] На этапе (107) формируют сигнал об мошеннической транзакции, если значение оценки аномальности больше порогового значения. В частном варианте воплощения заявленного изобретения формируют сигнал об мошеннической транзакции, если значение оценки аномальности больше порогового значения для выбранной по меньшей мере одной метрики расстояния.
[0062] В частном примере реализации заявленного решения осуществляют ограничение доступа пользователя, выполняющего по меньшей мере одну мошенническую транзакцию. В качестве ограничения доступа пользователя может выступать, но не ограничиваться указанными примерами: ограничение/запрет доступа пользователя к целевой системе; ограничение конкретных прав доступа; приостановка и/или отмена выполняемых пользователем операций; внесение пользователя в черный список; ограничение/запрет доступа клиента в интернет-банк или их комбинация.
[0063] Обучение модели машинного обучения
[0064] Для получения матрицы скрытых состояний истории транзакций используется блок энкодера (кодировки) модели машинного обучения. Для генерации эталонной транзакции используется блок генератора (декодера). Каждый из этих блоков может содержать слой Embedding, случайно обученный или инициализированный. Далее в блоках идут нейронные сети: Полносвязанные, Рекуррентные, Сверточные, Трансформеры. В одном из частных вариантов изобретения блок энкодера представляет собой по меньше мере один слой нейронных сетей из типов: Рекуррентные нейронные сети (Recurrent neural networks, RNN), Долгая краткосрочная память (Long short term memory, LSTM), Управляемые рекуррентные нейроны (Gated recurrent units, GRU), Нейронные машины Тьюринга (Neural Turing machines, NMT), Двунаправленные RNN, LSTM и GRU (BiRNN, BiLSTM и BiGRU), Глубокие остаточные сети (Deep residual networks, DRN), Нейронные эхо-сети (Echo state networks, ESN), Машины неустойчивых состояний (Liquid state machines, LSM), самоорганизующаяся карта Кохонена (Kohonen networks, KN, или organising (feature) map, SOM, SOFM).
[0065] Обучение происходит следующим образом: получают историю транзакций некоторого клиента из некоторых, необязательно всех произошедших, N операций. Первые N-1 операции подаются в кодирующую модель машинного обучения. На их основе получают матрицу скрытых состояний (МСС). Эту МСС подают на вход с помощью генеративной модели машинного обучения (ГММО). На выходе из ГММО получают сгенерированную (эталонную) транзакцию для N-ой совершенной (фактической) транзакции. Считают некоторую функцию потерь между сгенерированной (эталонной) транзакцией для N-ой совершенной (фактической) транзакции и самой N-ой совершенной (фактической) транзакцией. На основе значения функции потерь производят обучение ГММО и далее КММО.
[0066] В одном из частных вариантов изобретения используется по меньше мере одна из функций потерь: KLD (Вычисляет потерю дивергенции Кулбека-Лейбл ера между истинным значением и предсказанным значением), МАЕ (Вычисляет среднюю абсолютную ошибку между метками и прогнозами), МАРЕ (Вычисляет среднюю абсолютную процентную ошибку между истинным значением и предсказанным значением), MSE (Вычисляет среднеквадратичную ошибку между метками и прогнозами), MSLE (Вычисляет среднеквадратичную логарифмическую ошибку между истинным значением и предсказанным значением), binarycrossentropy (Вычисляет двоичную потерю кроссэнтропии), binaryfocalcrossentropy (Вычисляет двоичную потерю фокальной кроссэнтропии), categoricalcrossentropy (Вычисляет категориальную потерю кроссэнтропии), categorical hinge (Вычисляет категориальную потерю «лассо» между истинным значением и предсказанным значением), cosinesimilarity (Вычисляет косинусное сходство между метками и предсказаниями), hinge (Вычисляет потери в шарнире между истинным значением и предсказанным значением), huber (Вычисляет величину потерь по Хуберу), kldivergence (Вычисляет потерю дивергенции Кулбека-Лейблера между истинным значением и предсказанным значением), kullbackleiblerdivergence (Вычисляет потерю дивергенции Кулбека-Лейблера между истинным значением и предсказанным значением), logcosh (Логарифм гиперболического косинуса ошибки прогнозирования), logcosh (Логарифм гиперболического косинуса ошибки прогнозирования), mean absolute error (Вычисляет среднюю абсолютную ошибку между метками и прогнозами), mean_absolute_percentage_error (Вычисляет среднюю абсолютную процентную ошибку между истинным значением и предсказанным значением), meansquarederror (Вычисляет среднеквадратичную ошибку между метками и прогнозами), meansquaredlogarithmicerror (Вычисляет среднеквадратичную логарифмическую ошибку между истинным значением и предсказанным значением), poisson (Вычисляет потери Пуассона между истинным значением и предсказанным значением), sparse_categorical_crossentropy (Вычисляет разреженную категориальную потерю кроссэнтропии), squaredhinge (Вычисляет квадрат потерь на «лассо» между истинным значением и предсказанным значением).
[0067] Данные функции потерь часто имеют следующие обозначения: binary_cross_entropy, binary_cross_entropy_with_logits, poisson_nll_loss, cosine_embedding_loss, cross_entropy, ctc_loss, gaussian_nll_loss, hinge_embedding_loss, kl_div, ll_loss, mse_loss, margin_ranking_loss, multilabel_margin_loss, multilabel_soft_margin_loss, multi_margin_loss, nll_loss, huber_loss, smooth_l1_loss, soft_margin_loss, triplet_margin_loss, triplet_margin_with_distance_loss.
[0068] В одном из частных вариантов изобретения используется по меньше мере один из алгоритмов обучения: Adadelta, Adagrad, Adam, AdamW, SparseAdam, Adamax, ASGD, LBFGS, NAdam, RAdam, RMSprop, Rprop, FTRL, SGD, FastSGD, SGD-Nesterov, SAGA, SAGA+.
[0069] В одном из вариантов изобретения набор данных, используемый для обучения, был дополнен аугментациями мошеннических и/или легитимных примеров. Аугментации проводились случайными перестановками параметров и характеристик транзакций.
[0070] В одном из вариантов изобретения набор данных, используемый для обучения, был дополнен аугментациями мошеннических и/или легитимных примеров на основании увеличения (Oversampling) исходной выборки некоторого класса. Применялись такие методики как RandomOverSampler, случайное дублирование семплов и другие.
[0071] В одном из вариантов изобретения набор данных, используемый для обучения, был дополнен аугментациями мошеннических и/или легитимных примеров на основании уменьшения (Undersampling) исходной выборки некоторого класса. Применялись такие методики как: случайное исключение семплов RandomUnderSampler, NearMiss, EditedNearestNeighbours, RepeatedEditedNearestNeighbours, CondensedNearestNeighbour, OneSidedSelection, NeighbourhoodCleaningRule, InstanceHardnessThreshold и другие.
[0072] В одном из вариантов изобретения набор данных, используемый для обучения, был дополнен аугментациями мошеннических и/или легитимных примеров на основании генерации новых семплов по исходной выборке некоторого класса. Применялись такие методики как: SMOTE (Synthetic Minority Over-sampling Technique), ADASYN (Adaptive Synthetic Sampling), наследуемые методы: BorderlineSMOTE, SVMSMOTE, KMeansSMOTE, SMOTEENN, SMOTETomek, TomekLinks, методы на основе генеративных нейронных сетей: GAN, WCGAN (Wasserstein conditional generative adversarial network), WCGAN-GP (Wasserstein conditional generative adversarial network with gradient penalty) и другие.
[0073] На Фиг. 2 представлен пример пошаговой работы кодирующей модели машинного обучения (200).
[0074] 1) На вход (201) кодирующей модели машинного обучения (КММО) (200) поступает последовательность элементов ωi, по ней создается последовательность эмбедингов, где каждый xi это векторное представление элемента ωi;.
[0075] 2) При помощи позиционного энкодера добавляют (202) позиционные векторы pi: hi=xi+Pi, H=(hi, …, hn). Это необходимо для того, чтобы отобразить информацию о позиции элемента в исходной последовательности. Основное свойство позиционного кодирования - чем дальше два вектора будут стоять друг от друга в последовательности, тем больше между ними будет расстояние.
[0076] 3) Полученный вектор hi подают (203) на вход в блок многомерного самовнимания (англ. multi-headed self-attention) hij=Attn(Qjhi, KJH,VjH), где обучаемые матрицы: Q для запроса, K для ключа, V для значения. Затем необходима конкатенация, чтобы вернуться в исходную размерность h'i=MHj(hij)=[hi1… hij].
[0077] 4) Добавляют (204) сквозные связи (англ. skip connection) - добавление из входного вектора к выходному (h'i+hi). После осуществляют (204) нормализацию слоя (англ. layer normalization): hi''=LN(h'i+hi; μ1, σ1. У нее два обучаемых параметра, для каждой размерности вектора вычисляется среднее и дисперсия.
[0078] 5) Далее добавляют (205) преобразование, которое будет обучаемым -полносвязную двухслойную нейронную сеть (нейронную сеть с прямой связью, англ. Feed forward neural network): hi'''=W2ReLU(W1hi''+b1)+b2.
[0079] 6) Повторяют (206) шаг 4) еще раз: добавляют сквозную связь и нормализацию слоя: zi=LN(hi'''+hi''; μ2, σ2).
[0080] В кодирующей модели машинного обучения (200) шаги (203 - 206) повторяются еще несколько раз, преобразовывая друг за другом из контекста контекст.Тем самым обогащая модель и увеличивая в ней количество параметров.
[0081] На Фиг. 3 представлен пример пошаговой работы генерирующей модели машинного обучения (300).
[0082] На вход генерирующей модели машинного обучения (ГММО) (300) подается выход КММО (200). Главное отличие архитектуры ГММО (300) заключается в том, что дополнительно имеется слой внимания (attention) к вектору, который получен из последнего блока КММО (200). Архитектура ГММО тоже многослойная и каждому блоку ГММО на вход подается вектор именно с последнего блока КММО. Далее по порядку представлены этапы работы ГММО (300):
[0083] 1) Для того, чтобы распараллелить ГММО (300) и уйти от рекурентности, но тем не менее генерировать элементы друг за другом, используется прием маскирования данных из будущего. Идея в том, что запрещают себе подглядывать в те элементы, которые еще не сгенерированы с учетом порядка. Когда генерируют элемент под номером t, имеют право смотреть только первые t - 1 элементов: ht=yt-1+pt; Ht=(h1, …, ht).
[0084] 2) Далее идет этап многомерного самовнимания: линейная нормализация и многомерное самовнимание (multi-headed self-attention). Особенность в том, что в слое внимания (attention) ключи и значения применяются не ко всем векторам, а только к тем, значения которых уже синтезировали (Ht): h't=LN ° MHj ° Attn(Qjht, WHt, VjHt), где ° -композиция.
[0085] 3) На следующем этапе мы делаем многомерное внимание на кодировку Z, результат работы КММО (200): h''t=LN ° MHj ° Attn(Qjht, KjZ, VJZ).
[0086] 4) Осуществляют преобразование (по аналогии с КММО (200)) с помощью линейной полносвязной сети (нейронной сети с прямой связью, англ. Feed forward neural network): yt=LN ° FNN(ht'').
[0087] 5) В самом конце получают вероятностную порождающую модель для элементов. Результат (индекс значения атрибута с наибольшей вероятностью): SoftArgMax(Wyyt+by), где Wy, by - обучаемые параметры линейного преобразования. Для каждой позиции t выходной последовательности транзакций, каждая из которых представляется набором атрибутов, строят вероятностную модель появления значений каждого атрибута, то есть все элементы из выходного словаря получают значение вероятности. Эти значения как раз получаются из векторов yt из предыдущего пункта, которые получают с последнего блока ГММО (300).
[0088] Последний этап выполняется только после того, когда повторились пункты 1-4 для всех декодировщиков. На выходе получаем вероятность значений каждого атрибута.
[0089] Рассмотрим пример реализации заявленного изобретения на примере транзакций пользователя, осуществленных в пятницу вечером. Предположим, что пользователь - молодой мужчина, направляющийся на свидание с девушкой.
[0090] В ходе осуществления заявленного способа, получают следующую последовательность совершенных транзакций пользователя:
«покупка в магазине цветов» -> «снятие в банкомате» -> «оплата счета в ресторане» -> «оплата счета у барной стойки»
[0091] Каждая транзакция характеризуется набором атрибутов, например, время операции, сумма, тип операции, Merchant Category Code, локация и др.
[0092] Цель заявленного решения - определить, является ли последняя совершенная транзакция пользователя мошеннической или нет. Для этого с помощью ГММО генерируют эталонную транзакцию. Сгенерированная (эталонная) транзакция соответствует истории клиента и его поведению - в соответствии с его предыдущими транзакциями. Так в качестве сгенерированной последней транзакции пользователя, в результате осуществления способа, получаем - «Оплата такси» (т.к. в схожих обстоятельствах - вечер пятницы, пользователь нередко вызывал такси).
[0093] Далее сравниваем сгенерированную последнюю транзакцию «Оплата такси» с последней совершенной (фактической) транзакцией пользователя. В рассматриваемом примере последней совершенной (фактической) транзакцией пользователя является транзакция - «Получение кредита на 1000000 рублей».
[0094] Результат сравнения (например, путем сравнения расстояния между векторами атрибутов) показывает, что оценка аномальности совершенной транзакции превышает пороговое значения, что свидетельствует о том, что транзакция «Получение кредита на 1000000 рублей» является мошеннической.
[0095] Необходимо отметить, что в предшествующем уровне техники на каждый атрибут строится отдельный прогноз (причем прогноз строится по историческим данным), например, прогнозируют сумму транзакции по истории - по суммам транзакций 1500,2300, 1900, 2700, 3100, прогноз будет 3200, если фактическое значение атрибута будет 50000, то это уже аномалия. По аналогии прогнозируют следующий атрибут, например, Merchant Category Code: магазин, супермаркет, фастфуд, аптека, супермаркет, затем прогнозируется покупка в фастфуде, т.е. речь идет об отдельных прогнозных моделях на каждый атрибут. Далее определяют аномальность конкретного атрибута и по совокупности оценок аномальности всех атрибутов делают предсказание является ли вся транзакция аномальной. Таким образом, в предшествующем уровне техники не раскрыт какой-либо механизм по прогнозированию одного атрибута с учетом другого, например, прогноз суммы транзакции с учетом Merchant Category Code.
[0096] В заявленном изобретении, в отличии от предшествующего уровня техники, последнюю (эталонную) транзакцию пользователя генерируют исходя из совокупности всех атрибутов и их взаимосвязей, что способствует повышению точности и полноты определения мошеннической транзакций.
[0097] Кроме того, в заявленном изобретении объединяют все атрибуты транзакций с помощью КММО путем обработки векторов атрибутов и получения в результате последовательности векторов атрибутов в виде матрицы скрытых состояний. Далее из матрицы скрытых состояний с помощью ГММО получают связанные между собой векторы атрибутов одной или нескольких транзакций, которые используют для генерации последней транзакции пользователя. Таким образом, последняя транзакция пользователя будет сгенерирована не на основе отдельных разрозненных атрибутов (как это присуще предшествующему уровню техники), а на основе связанных между собой векторов атрибутов (например, где в рамках по меньшей мере одной транзакции будет учитываться взаимосвязь между временем операции, суммой, типом операции, Merchant Category Code и локацией). Такой подход позволяет обеспечить повышение точности и полноты определения мошеннической транзакций.
[0098] В свою очередь, аномальность транзакции определяют путем сравнения расстояния между векторами атрибутов последней совершенной транзакции пользователя и сгенерированной последней транзакцией пользователя, т.е. сравниваются векторы атрибутов, а не сами атрибуты, как это характерно для известного уровня техники.
[0099] Необходимо отметить, что в отличии от предшествующего уровня техники, где использовали только энкодер и получали матрицу скрытых состояний, а затем на основе этой матрицы предсказывали транзакцию, в заявленном изобретении матрицу скрытых состояний используют для генерации связанных между собой векторов атрибутов при помощи генеративной модели машинного обучения.
[0100] Отличительной особенностью заявленного решения является то, что матрицу скрытых состояний строят сразу по всем векторам атрибутов транзакции при помощи КММО, а ГММО генерирует сразу все векторы атрибутов транзакции, причем сгенерированные векторы атрибутов связаны между собой. Таким образом, достигается повышение точности и полноты определения мошеннической транзакций за счет обеспечения возможности обработки набора атрибутов транзакций как единого целого и анализа этого объединения на аномальность.
[0101] В частном примере реализации заявленного решения, в отличие от известного уровня техники, исторические данные могут не использоваться для генерации эталонной транзакции в явном виде. Например, в предшествующем уровне техники берут 99 транзакций и прогнозируют атрибуты 100-ой транзакции. В заявленном решении, например, из этих 99-ти транзакций получают матрицу скрытых состояний, с помощью ГММО из матрицы скрытых состояний генерируют связанные между собой векторы атрибутов и имеют возможность сгенерировать все транзакции - от 1-ой до 100-ой. Т.е. имеем не прогнозирование n-ой транзакции по предыдущим n-1 транзакциям (в общем случае n-i, где i всегда меньше n, т.е. всегда прогнозируют по предыдущим данным). В общем случае имеет место генерация всех п транзакций с нуля. Следовательно, получают матрицу скрытых состояний для n-1 транзакций, начинают генерировать с самой первой транзакции все транзакции до п и потом уже эту сгенерированную n транзакцию сравнивают с фактической. Таким образом, в заявленном решении представлен совсем иной подход - сравнивается аномальность не со всеми предыдущими транзакциями, а генерируется одна конкретная (эталонная) последняя транзакция и с ней сравнивается последняя совершенная (фактическая) транзакция.
[0102] Несмотря на то, что представленные примеры реализации относятся к финансовой сфере, заявленное изобретение не ограничивается применением только в указанной области. Заявленное изобретение может применяться в любой области техники, где существует необходимость в защите чувствительных данных, которые могут подвергнутся мошенническому воздействию, например, здравоохранение, социальная сфера и т.п.
[0103] На Фиг. 4 представлен общий вид вычислительного устройства (400), на базе которого может быть реализовано устройство для определения мошеннических транзакций пользователя, обеспечивающее реализацию способа определения мошеннических транзакций пользователя.
[0104] В общем случае вычислительное устройство (400) содержит объединенные общей шиной информационного обмена один или несколько процессоров (401), средства памяти, такие как ОЗУ (402) и ПЗУ (403), интерфейсы ввода/вывода (404), устройства ввода/вывода (405), и средство для сетевого взаимодействия (406).
[0105] Процессор (401) (или несколько процессоров, многоядерный процессор) могут выбираться из ассортимента устройств, широко применяемых в текущее время, например, компаний Intel™, AMD™, Apple™, Samsung Exynos™, MediaTEK™, Qualcomm Snapdragon™ и т.п.В качестве процессора (401) может также применяться графический процессор, например, Nvidia, AMD, Graphcore и пр., тип которых также является пригодным для полного или частичного выполнения способа, а также может применяться для обучения и применения моделей машинного обучения в различных информационных системах.
[0106] ОЗУ (402) представляет собой оперативную память и предназначено для хранения исполняемых процессором (401) машиночитаемых инструкций для выполнения необходимых операций по логической обработке данных. ОЗУ (402), как правило, содержит исполняемые инструкции операционной системы и соответствующих программных компонент (приложения, программные модули и т.п.).
[0107] ПЗУ (403) представляет собой одно или более устройств постоянного хранения данных, например, жесткий диск (HDD), твердотельный накопитель данных (SSD), флэш-память (EEPROM, NAND и т.п.), оптические носители информации (CD-R/RW, DVD-R/RW, Blu-Ray Disc, MD) и др.
[0108] Для организации работы компонентов устройства (400) и организации работы внешних подключаемых устройств применяются различные виды интерфейсов В/В (404). Выбор соответствующих интерфейсов зависит от конкретного исполнения вычислительного устройства, которые могут представлять собой, не ограничиваясь: PCI, AGP, PS/2, IrDa, FireWire, LPT, COM, SATA, IDE, Lightning, USB (2.0, 3.0, 3.1, micro, mini, type C), TRS/Audio jack (2.5, 3.5, 6.35), HDMI, DVI, VGA, Display Port, RJ45, RS232 и т.п.
[0109] Для обеспечения взаимодействия пользователя с вычислительным устройством (400) применяются различные устройства (405) В/В информации, например, клавиатура, дисплей (монитор), сенсорный дисплей, тач-пад, джойстик, манипулятор мышь, световое перо, стилус, сенсорная панель, трекбол, динамики, микрофон, средства дополненной реальности, оптические сенсоры, планшет, световые индикаторы, проектор, камера, средства биометрической идентификации (сканер сетчатки глаза, сканер отпечатков пальцев, модуль распознавания голоса) и т.п.
[0110] Средство сетевого взаимодействия (406) обеспечивает передачу данных устройством (400) посредством внутренней или внешней вычислительной сети, например, Интранет, Интернет, ЛВС и т.п.В качестве одного или более средств (406) может использоваться, но не ограничиваться: Ethernet карта, GSM модем, GPRS модем, LTE модем, 5G модем, модуль спутниковой связи, NFC модуль, Bluetooth и/или BLE модуль, Wi-Fi модуль и др.
[0111] Дополнительно в составе устройства (400) могут также применяться средства спутниковой навигации, например, GPS, ГЛОНАСС, BeiDou, Galileo.
[0112] Представленные материалы заявки раскрывают предпочтительные примеры реализации технического решения и не должны трактоваться как ограничивающие иные, частные примеры его воплощения, не выходящие за пределы испрашиваемой правовой охраны, которые являются очевидными для специалистов соответствующей области техники.
[0113] Источники информации:
[1] torch.nn - PyTorch 2.2 documentation. https://pytorch.Org/docs/stable/nn.html#pooling-layers
название | год | авторы | номер документа |
---|---|---|---|
СПОСОБ ПОЛУЧЕНИЯ НИЗКОРАЗМЕРНЫХ ЧИСЛОВЫХ ПРЕДСТАВЛЕНИЙ ПОСЛЕДОВАТЕЛЬНОСТЕЙ СОБЫТИЙ | 2020 |
|
RU2741742C1 |
СПОСОБ РАСЧЕТА КРЕДИТНОГО РЕЙТИНГА КЛИЕНТА | 2019 |
|
RU2723448C1 |
СПОСОБ И СИСТЕМА ВЫЯВЛЕНИЯ ОБФУСЦИРОВАННЫХ ВРЕДОНОСНЫХ КОМАНД В СИСТЕМНОЙ КОНСОЛИ ОПЕРАЦИОННОЙ СИСТЕМЫ | 2024 |
|
RU2838483C1 |
СПОСОБ И СИСТЕМА МОДИФИКАЦИИ ПРОГРАММНОГО КОДА | 2023 |
|
RU2824522C1 |
СПОСОБ И СИСТЕМА УСТРАНЕНИЯ УЯЗВИМОСТЕЙ В ПРОГРАММНОМ КОДЕ | 2023 |
|
RU2821220C1 |
СПОСОБ И СИСТЕМА ОПРЕДЕЛЕНИЯ СХОЖЕСТИ ВЕКТОРНЫХ ПРЕДСТАВЛЕНИЙ УЧАСТНИКОВ ТРАНЗАКЦИЙ | 2019 |
|
RU2728953C1 |
Способ кластеризации электронных писем, являющихся спамом | 2021 |
|
RU2769633C1 |
СПОСОБ И СИСТЕМА ДЛЯ ГЕНЕРАЦИИ СИНТЕТИЧЕСКИХ ДАННЫХ | 2023 |
|
RU2824524C1 |
СПОСОБ ГЕНЕРАЦИИ ТРЁХМЕРНЫХ ОБЛАКОВ ТОЧЕК | 2020 |
|
RU2745445C1 |
СПОСОБ И СИСТЕМА АНАЛИЗА ГОЛОСОВЫХ ВЫЗОВОВ НА ПРЕДМЕТ ВЫЯВЛЕНИЯ И ПРЕДОТВРАЩЕНИЯ СОЦИАЛЬНОЙ ИНЖЕНЕРИИ С ПОМОЩЬЮ АКТИВАЦИИ ГОЛОСОВОГО БОТА | 2023 |
|
RU2802533C1 |
Заявленное решение относится к решениям по противодействию мошенничеству. Техническим результатом является повышение полноты и точности определения мошеннических транзакций. Способ определения мошеннических транзакций пользователя содержит этапы, на которых: получают последовательность совершенных транзакций пользователя за заданный временной промежуток, при этом каждая транзакция характеризуется набором атрибутов; преобразуют каждую полученную транзакцию в вектор атрибутов на основании соответствующего набора атрибутов транзакции; осуществляют обработку полученных векторов атрибутов с помощью кодирующей модели машинного обучения (КММО), в ходе которой получают представление последовательности векторов атрибутов в виде матрицы скрытых состояний; осуществляют обработку матрицы скрытых состояний с помощью генеративной модели машинного обучения (ГММО), обученной на матрицах скрытых состояний последовательностей векторов атрибутов транзакций, в ходе которой ГММО из матрицы скрытых состояний генерирует связанные между собой векторы атрибутов одной или нескольких транзакций; генерируют последнюю транзакцию пользователя на основе сгенерированного вектора атрибутов; сравнивают последнюю совершенную транзакцию пользователя и сгенерированную последнюю транзакцию пользователя путем расчета оценки аномальности совершенной транзакции; формируют сигнал о мошеннической транзакции, если значение оценки аномальности больше порогового значения. 2 н. и 3 з.п. ф-лы, 4 ил.
1. Компьютерно-реализуемый способ определения мошеннических транзакций пользователя, выполняемый по меньшей мере одним процессором, содержащий этапы, на которых:
• получают последовательность совершенных транзакций пользователя за заданный временной промежуток, при этом каждая транзакция характеризуется набором атрибутов;
• преобразуют каждую полученную транзакцию в вектор атрибутов на основании соответствующего набора атрибутов транзакции;
• осуществляют обработку полученных векторов атрибутов с помощью кодирующей модели машинного обучения (КММО), в ходе которой получают представление последовательности векторов атрибутов в виде матрицы скрытых состояний;
• осуществляют обработку матрицы скрытых состояний с помощью генеративной модели машинного обучения (ГММО), обученной на матрицах скрытых состояний последовательностей векторов атрибутов транзакций, в ходе которой ГММО из матрицы скрытых состояний генерирует связанные между собой векторы атрибутов одной или нескольких транзакций;
• генерируют последнюю транзакцию пользователя на основе сгенерированного вектора атрибутов;
• сравнивают последнюю совершенную транзакцию пользователя и сгенерированную последнюю транзакцию пользователя путем расчета оценки аномальности совершенной транзакции;
• формируют сигнал о мошеннической транзакции, если значение оценки аномальности больше порогового значения.
2. Способ по п. 1, характеризующийся тем, что КММО обучают на последовательностях векторов атрибутов.
3. Способ по п. 1, характеризующийся тем, что расчет оценки аномальности совершенной транзакции осуществляют по одному или нескольким атрибутам путем сравнения расстояния между векторами атрибутов транзакций.
4. Способ по п. 1, характеризующий тем, что дополнительно содержит этап ограничения доступа пользователя, выполняющего по меньшей мере одну мошенническую транзакцию.
5. Устройство для определения мошеннических транзакций пользователя, содержащее
по меньшей мере один процессор,
по меньшей мере одну память, связанную с процессором и содержащую машиночитаемые инструкции, которые при их выполнении по меньшей мере одним процессором обеспечивают выполнение способа по любому из пп. 1-4.
US 10482464 B1,19.11.2019 | |||
ПАРОВОЗНАЯ БУКСА | 1932 |
|
SU40376A1 |
Способ восстановления спиралей из вольфрамовой проволоки для электрических ламп накаливания, наполненных газом | 1924 |
|
SU2020A1 |
Способ получения продуктов конденсации фенолов с формальдегидом | 1924 |
|
SU2022A1 |
Способ получения продуктов конденсации фенолов с формальдегидом | 1924 |
|
SU2022A1 |
Способ восстановления спиралей из вольфрамовой проволоки для электрических ламп накаливания, наполненных газом | 1924 |
|
SU2020A1 |
Авторы
Даты
2025-04-25—Публикация
2024-03-15—Подача