CoolGraph от Big Data МТС



Если вы немного в теме нейросетей, то знаете, что к данным с разной структурой применяются изначально разные архитектуры. В компьютерном зрении — на базе свёрток, в работе с текстами — вдохновлённые рекуррентными сетями и, конечно, трансформеры.



Резонный вопрос: а какие сети могли бы обобщить работу с произвольной структурой в данных (чтобы все перечисленное выше было их частным случаем)? Ответ есть: графовые. Если вы можете по своим данным построить граф, отражающий взаимосвязь их отдельных частей (в компьютерном зрении пиксель связан с соседними пикселями, в тексте слово связано с другими словами), то дальше встаёт вопрос построения нейросети на основе этого графа.



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



Более того, часто компании, имеющие данные в виде графа, выжимают не всю пользу из этих данных. Просто потому, что придумывать табличные фичи по графу — это тоже отдельная объёмная работа. И здесь тоже помогают графовые нейросети: с ними можно построить граф-эмбеддинги, которые снимут вопрос построения hand-crafted графовых фичей. Именно с графовыми нейросетями и связана новая open source библиотека Big Data МТС.



Сегодня я представляю вам библиотеку CoolGraph, с помощью которой вы сможете построить первые графовые нейросети буквально в несколько строк кода. Задача библиотеки — популяризовать GNN и радикально снизить порог входа в них. Надеюсь, так же, как RecTools и Ambrosia, CoolGraph скоро прорастёт в код других компаний, начнёт попадать в описание стека в вакансиях и, вообще, всячески станет популярной и востребованной в DS-сообществе :)