Журнал "Information Security/ Информационная безопасность" #5, 2020
оценки риска переводов в ДБО, кото- рые находятся в промышленной экс- плуатации. Были выбраны именно модели переводов, потому что в них присутствуют отправитель и получа- тель, которые как раз являются вер- шинами в нашем графе. Для обучения этих моделей использовались их же конвейеры (Pipelines) формирования обучающей выборки, подготовки и отбора признаков (включая графовые эвристики), подбор гиперпараметров. Глубина обучающей выборки – четыре месяца (с мая по август 2020 г.), в нее включены все мошеннические перево- ды клиентов в каналах ДБО (выявлен- ные и пропущенные текущим финан- совым мониторингом) и случайная выборка переводов в соотношении 50:1. Для оценки прироста эффективности был выработан следующий поэтапный подход: 1. Производится обучение модели через существующие конвейеры, затем на отложенной по времени части выбор- ки оценивается эффективность моде- лей (точность при заданном уровне полноты выявления мошенничества, ROC AUC). 2. В существующий конвейер обучения в качестве дополнительных признаков добавляется эмбеддинг вершин, полу- ченных с помощью применения Pytorch BigGraph к графу. 3. Происходят сравнения близости (косинусная близость, скалярное про- изведение) эмбеддингов отправителя и получателя в переводе. При этом все эмбеддинги должны быть получены на графах до момента проведения тран- закций. 4. Производится обучение тех же моде- лей, но уже на расширенном наборе признаков. Оцениваются значимость добавленных признаков для модели и ее эффективность. 5. Производится сравнение эффек- тивностей моделей без GRL-признаков и с ними. Эксперименты по построению Graph Embedding Для применения Pytorch BigGraph сначала необходимо сконвертировать граф в специальный формат, с которым работает решение. К сожалению, в самом решении реализован только базовый метод конвертации, работаю- щий крайне медленно и в однопоточном режиме. Конвертации среза нашего графа этим методом, по оценкам, заняла бы семь дней. Авторы решения пишут, что реализация механизмов конвертации остается за пользователем решения (из- за большого числа разных систем хра- нения и форматов) и в документации подробно описан необходимый формат файлов. Поэтому мы сами реализовали метод, который конвертирует срезы нашего графа из Hadoop в требуемый формат. В результате конвертация среза графа выполняется всего за тридцать минут. Для проведения экспериментов с Pytorch BigGraph использовался сервер следующей конфигурации: 7 CPU с 8 ядрами и 750 GB RAM. С учетом доступной оперативной памяти сервера и других запущенных на сервере про- цессов при конвертации слепков нашего графа в требуемый формат мы парти- ционировали его на 20 частей. При сер- верах с меньшей доступной памятью или большими по размеру графами можно увеличить данный параметр. Pytorch BigGraph предоставляет боль- шое число параметров для обучения модели представления графов (напри- мер, размерность эмбеддингов, функ- цию потерь, функции сравнения близо- сти). Мы решили использовать предла- гаемые разработчиками базовые пара- метры, а размерности эмбеддингов (раз- мерность пространства в которых будут размещены вершины графа) установить равной 256. Это компромисс между ско- ростью обучения, итоговым размером эмбеддингов и возможностью закоди- ровать максимум информации из наше- го графа. Подготовив первый срез графа, мы сначала посмотрели, какое время у нас займет одна эпоха обучения. С учетом описанной конфигурации сервера и параметров одна эпоха обучения заня- ла приблизительно 1,5 дня. Затем мы решили посмотреть, сколько эпох обуче- ния потребуется, чтобы модель Pytorch BigGraph обучилась и с какого момента качество модели (ROC AUC в данном случае) перестанет расти. Для этого мы запустили обучение модели PBG на шести эпохах и получили следующие графики ROC AUC/loss-функции (одна эпоха – примерно 210 групп вершин) (см. рис. 3 и 4). Из графиков видно, что в целом уже после трех эпох обучения (около 650 групп вершин) значения ROC AUC и loss-функции выходят на плато и прак- тически не изменяются. Поэтому для построения embedding на срезах графа мы решили обучать модели в течение трех эпох, таким образом на построение embedding одного среза графа уходит примерно четыре-пять дней. Сам embedding графа размерностью 256, то есть представление каждой вер- шины графа в виде вектора из 256 веще- 44 • ТЕХНОЛОГИИ Рис. 3. Зависимость ROC AUC от числа групп вершин обучения модели Рис. 4. Зависимость функции потерь модели (ranking loss по умолчанию) от числа групп вершин обучения модели Рис. 5. Отображение случайного 1 млн вершин на плоскость (с помощью алгоритма снижения размерности umap)
Made with FlippingBook
RkJQdWJsaXNoZXIy Mzk4NzYw