1월 2주차 그래프 오마카세

Anomaly Detection in Multiplex Dynamic Networks: from Blockchain Security to Brain Disease Prediction

[https://openreview.net/pdf?id=UDGZDfwmay]

  • Anomaly detection with GNN 아이디어 입니다. brain , blockchain , 추천 , 협업 에서 발생하는 anomaly edge interaction 을 unsupervised manner 로 해결해본다 가 논문의 노벨티 라고 할 수 있겠습니다.

  • 저자는 3가지 문제를 제시합니다.
  1. structure and feature inflexibility → 기존 anomaly detection 분야에서는 rule-based 방법이 만연하고, 아직도 그 방식을 활용하는곳이 대다수임. 구체적으로는 rule (패턴)에 의존성이 강한 방식들은 다양하고 복잡한 방식들이 존재하는 real-world problem 을 해결하기엔 제한점이 많다. 라고 합니다.
  2. same importance for all edge type → 각 node - node 간의 상호작용은 모두 다른 맥락을 갖곤하는데 이를 간과한 연구들이 존재한다.
  3. lack of edge anomaly detection framework for multiplex → anomaly detection 을 연구한 gnn 들이 물론 존재하나 주로 node , subgraph 측면으로 접근한 아이디어들이 대다수였음. 허나, 그래프모델링마다 다르겠으나 2와 같이 edge 의 가중치가 중요한 도메인 ( i.e.) financial - 계좌간 송금 , 거래 같은 경우는 edge로 표현) 또한 존재하기에 이에 대한 연구가 필요함.

  • 앞선 문제들을 ‘hierarchical node state’ 로 해결해보고자 합니다. 간단히 말씀드리면, 시간에 따라 상태가 변하는 노드들을 attention score 로 체크하고 next layer에 forwarding 해준다. 산출된 최종값을 margin loss , anomalous score 를 통해 training 해준다.

  • 되게 심플한 아이디어 입니다. 현업에서 구현하기에도 별 무리없어보이기에 , anomaly deteciton with gnn 에 대한 니즈가 있으신분들을 이를 베이스라인으로 잡고 진행해보시는게 어떨까 싶네요. 참고로, negative sampling 을 통해 학습되기 때문에 도출된 값으로 event deteciton 을 한 섹션도 존재하는데, 관심있으시면 보시는걸 추천드립니다. 얼추 잘 맞는것 같습니다..?

Influencer Detection with Dynamic Graph Neural Networks

[https://openreview.net/pdf?id=LJeEO2lC_6]

  • 비즈니스 관점에서 dynamic graph를 어떻게 활용해볼것인가 라는 고민을 토대로 gnn 을 활용한 사례 및 아이디어 입니다. 데이터셋이 흥미로운데요. latin-america 의 super-app dataset 를 활용해서 진행했습니다. 저희 나라로 비유해보자면 마이데이터(금융) + SNS 라고 보시면 될 것 같습니다.

  • 그렇다면 당연하게도 앱에서 고객들간의 상호작용이 굉장히 다양한 형태로 존재하겠죠? 그 edge type 으로는 1. credit card(동일 신용카드 사용) 2. references (금융거래이력) 3. geohash(유저간의 주문) 4. contact (전화) 4가지 타입으로 구성되어 있습니다. (논문이 NeurIPS 2022 workshop에서 발표되었던데, 모델은 다소 심플합니다. 역시 데이터가 최고인것같습니다.)

  • node classification task 로 진행됩니다. 이 때, label 또한 흥미로운데요. 사람들간의 교류형태를 토대로 influencer label 되어있습니다. 정리해보자면, 사람들간의 4가지 교류형태를 토대로 influencer 를 라벨링 해주었고, 그것을 temporal(dynamic) graph 형태로 변형하여 예측 모델링을 한 논문입니다.

  • 주목할 점은 , influence 하면 자주 등장하는 network science 기법 ‘pagerank’ 가 등장하는데요. topology(neighbor feature) vs. pagerank(structural feature) 형태로 비교한 실험내역도 존재합니다. 그리고 한가지 더, node state 를 업데이트해주는 rnn 계열 + gnn 을 다양한 형태로 조합하여 진행합니다. 위 두가지 실험 내역 , 해석 그리고 데이터셋이 본 논문의 핵심이자 흥미로운 요소라고 생각되네요.

  • network science 로부터 도출된 특성들이 단순하게 Feature 의 column 한 줄 추가되는 feature engineering 요소로 반영된것같아 아쉬운 논문입니다. pagerank에 대해서 간과된 것 같은데 해당 알고리즘이 왜 탄생하였으며 어떤 케이스에 적합하고 또한 어떤 파라미터가 존재하는지 등과 같이 문헌사례 연구가 조금 더 잘 적어두었으면 어땠을까 싶네요. 제가 언급한 내용이 궁금하시다면 아래 링크를 보시는걸 추천드립니다. [https://greeksharifa.github.io/machine_learning/2021/08/20/APPNP/]

Time-Evolving Conditional Character-centric Graphs for Movie Understanding

[https://openreview.net/pdf?id=NXnSr_uXgh]

  • 데이터 적용 도메인이 특이한 논문입니다. ‘특정 비디오 내에서 사물 과 사람 간의 관계’를 그래프로 표현하여 VQA(video question answering) 문제를 해결해보고자 접근한 논문입니다.

  • 일반적으로 scene graph 라고 불리곤 합니다. 특정 scene 내에 존재하는 객체들을 ‘노드’ 그리고 그 객체들 간의 관계를 ‘엣지’ 로 간주하여 진행합니다. 기존 접근법은 주로 video(scene) 을 정량화하는 Encoder , text(subtitle, 대사) 등을 정량화하는 Encoder 두개의 인코더를 통해 해당 비디오의 정보를 벡터화한후 , 사용자의 질문(question) 의 정량화된 값과 비교하여 비슷한 답변을 내놓는 형식으로 task가 진행됩니다.

  • 허나, 본 논문에서는 장면내의 객체들에게 관계를 부여하여, 특정 시간마다 객체들끼리의 context 를 교류할 수 있게끔 만들어줍니다. 또한 이 정보들이 원활하게 흐를 수 있게 위계 특징을 가진 레이어를 추가해줘서 객체들의 중요도를 계산할 수 있게됩니다. 최종적으로 사용자가 요청한 query (question) 과 gnn 레이어를 타고 도출된 최종 output embedding간의 내적을 통해 answer 의 값이 산출됩니다.

  • 그래프 형식의 데이터 뿐만아니라, 텍스트 이미지 등의 데이터로부터 관계를 부여하여 성능향상을 꾀하는 아이디어들이 유명 학회에서 심심치 않게 보이곤 하는데요. 그만큼 데이터 간의 edge(관계)를 어떻게 부여해야 합리적인지 효과적인지 에 대한 논의 또한 중요해보입니다. 주로 attention score 를 통해 그 중요도를 산출하고 edge 를 generation 해주곤 하는데요. 관심있으신분들은 [zero-shot knowledge graph vqa] 키워드로 검색해보시는걸 추천드립니다.

Hypernetwork science via high-order hypergraph walks

[https://epjdatascience.springeropen.com/articles/10.1140/epjds/s13688-020-00231-0]

  • 무려 34페이지나 되는 논문인데요, 하루에 모두 정독하기보다 하이퍼그래프를 분석 그리고 예측으로 활용해보고 싶다 하실때, 필요한 부분만 보시는걸 추천드립니다.

  • network science 측면에서 자주 언급되는 centrality measurement , component 등과 같은 요소들이 그대로 적용되어있으며, 그 요소들의 값이 산출되었을 때 어느 의미를 가지고 있는지 그리고 pair-wise(vanilla network) 일 때랑 어느 차이가 있는지 등을 잘 설명해주고 있습니다.

  • 유의하실점은 물리학을 연구하시는 분들께서 작성하신 논문인터라, 다소 생소한 용어들이 많이 존재하여 읽으시면서 지칠수 있습니다..(지침주의) :)

PyTorch + Rapids RMM: Maximize the Memory Efficiency of your Workflows

[https://medium.com/rapids-ai/pytorch-rapids-rmm-maximize-the-memory-efficiency-of-your-workflows-f475107ba4d4]

  • Rapids 계열 라이브러리를 활용하곤 있으나, 간간이 등장하는 OOM 문제를 겪는 분들에게 도움이 될만한 글입니다. 특히, gnn 를 활용해서 multi-modal learning 를 진행하시려는 분들은 각기 다른 feature 들을 node feature 혹은 edge feature 로 주입 하는과정을 겪으실텐데요. 이 때, 활용하시면 좋을것 같습니다. 또한 , 포스팅에서도 ETL , feature engineering , final training , inference 에서 여분의 memory 가 50%가 됨을 언급하며 한계점을 이야기합니다.

  • 활용 방법은 굉장히 간단합니다. [Rapids Memory Manager] 가 pytorch 모듈의 메모리를 관리할 수 있게 선언을 해주면 됩니다. 또한 해당 배열(데이터)가 얼마나 byte 를 잡아먹는지등과 같은 수치를 구체적으로 보여주므로 주로 gpu tracking 할 때, nvidia-smi 로 allocation 를 활용했던 저로써는 굉장히 반가운 소식이였습니다.

  • 이외에도 Rapids 에서 딥러닝 활용시 굉장히 좋은 함수들을 개발하고 있는데요. 종종 그래프 오마카세에 실어서 여러분들의 업무에 도움이 될 수 있도록 하겠습니다.

Subscribe for daily recipes. No spam, just food.