3월 3주차 그래프 오마카세

Weighted flow diffusion for local graph clustering with node attributes: an algorithm and statistical guarantees

[https://arxiv.org/pdf/2301.13187.pdf]

Untitled
  • graph clustering 방법론들은 노드 , 엣지의 구조만을 활용한 방식들이 대다수입니다. large graph 에서 conductance 라는 서브 그래프간 tightly connected 를 측정하는 지표를 토대로 clustering 이 잘 되었는지 되지 않았는지를 판단하곤 했죠. 하지만, 그래프 구조 정보만을 얻고 , 활용할 수 있었던 이전과 다르게 현재는 node , edge attributes 과 같은 정보또한 얻고 활용할 수 있기에 그래프 구조만을 토대로 Clustering 하는 기존 방법론들은 old-fashioned 한 경향을 보입니다.
  • 제안 방법론에서는 attribute 를 활용하기 위해 flow diffusion model 을 차용합니다. 노드간 전달되는 load를 weighted graph 형태로 적용하며, 노드간 proximity 를 반영해주는거죠.
  • 방법론 세부 과정은 다음과 같습니다. 1. edge 간 weight 를 적용 2. edge flow 를 통해 mass(attributes) 전달. 3. 특정 loss(최적화) 를 만족할 때 까지 1,2 과정 반복진행. 이때, final mass 를 기준으로 반복진행 유무를 판단합니다. 4. 이렇게 최적화된 mass 를 proximity 라 가정하고 그에 기반하여 clustering 을 해줍니다.
  • 그럼 여기에서 의문이 하나 드실텐데요. 바로 degree계수가 높고 적음 (edge 연결이 많고 적음)에 따라 mass 의 편차가 클텐데, 이 편차가 결국 mass flow 에 dominant 하지않을까요? 라는 의문을요! 그 점을 해결하기 위해 본 논문에서는 Sink capacity 라는 파라미터를 추가해줍니다.
  • 쉽게 말씀드려보자면 해당 노드가 타 노드에게 재전달할 수 있는 정보의 양 이라고 보시면 되겠습니다. 이를 통해 모델 정보 전달 시, mass 와 sink capacity 를 balance 하게 맞추어줌으로써 degree dominant 를 해소한다 라고 보시면 되겠습니다.
  • 실험 결과가 흥미롭습니다. good node attributes 일수록 clustering 에서 좋은 결과를 보인다고 하네요. modularity 지표에 근거하여 clustering 을 진행했던 기존 방법론들에 대해서 과연 그래프의 구조적인 특성만을 가지고 clustering 이 잘 될까?라는 호기심을 가지고 있었는데요. 그 호기심을 본 논문으로 해소할 수 있었습니다.
  • clustering + attribute 를 diffusion operator 네트워크 이론 측면으로 접근했다는 측면에서 굉장히 재밌었습니다. good attributes 기준을 어떻게 설정하는지에 대해서도 이야기가 나와있으니, node feature engineering 에 대한 고민이 있으신 분들에게 도움이 될 거라 생각되네요!

LazyGNN: Large-Scale Graph Neural Networks via Lazy Propagation

[https://arxiv.org/pdf/2302.01503.pdf]

Untitled
  • GNN 은 크게 spectral , spatial 의 방식으로 나누어 적용되곤 합니다. 각각 , signal-decompose 관점과 hop-based 관점으로 나누어진다고 보시면 되겠습니다. spectral 접근방식은 graph 에서 발생하는 정보들을 diffuse 로 접근하여 decompose 하기에 global-pattern 정보를 반영하는데 유리한 반면 spatial 접근방식은 hop 에 따라 node attribute 를 fine-grained 하기에 local-pattern 정보를 반영하는데 유리하다고 보시면 되겠습니다. 각각의 방법론 마다의 장단이 있기에 마주하고 있는 task 에 따라 취사선택하시며 활용하시면 됩니다.
  • 서두에 GNN 의 기본에 대해 이야기를 꺼내게 된 이유는 바로 본 논문은 spectral 관점에서 발생하는 Diffusion information 을 효율적으로 다룸으로써, 그래프 임베딩의 고질적인 문제인 ‘over-smoothing’ 을 해결하는 방안을 제시합니다.
  • 간단하게 요약해보자면, graph node간 발생하는 load (message)의 기울기 정보를 초기화 하지 않고 재활용하여 layer를 수를 줄이고 그에 따라 load에서의 최적의 정보만을 활용하는게 논문의 아이디어 라고 보시면 되겠습니다.
  • 그럼 이 기울기 정보를 어떻게 활용할 것이냐? 라는 의문이 드실텐데요. 기울기 정보에 iteration 태깅을 해주며 Aggregation 시 재활용해줍니다. 이 접근법이 가능하게 된 이유는 spectral 관점인 signal denoising problem 에서 denoising function 의 기능을 하는 Regularization term 에 기울기 정보를 추가해주었기 때문입니다.
  • 그런 점에서 논문의 저자도 APPNP 논문의 아이디어에서 모티베이션을 얻게 되었다고 하네요. 다음으로  forward , backward 과정마다(computation graph) 발생하는 기울기 정보를 Implicit function theorem 을 활용해서 근사추정하며 기울기 정보를 재활용합니다.
  • 논문의 핵심은 기울기 정보와 그래프 확산 이론을 결합한 아이디어입니다. 따라서 딥러닝의 핵심인 순전파와 역전파의 흐름에 대한 이해와 그래프 정보 이론에 이해가 있는 분들이 이 논문을 쉽게 볼 수 있을 것입니다.
  • 또한, 메시지 패싱에서 파라미터가 어떻게 업데이트되는지, 그리고 그 파라미터가 속도와 정확도에 어떤 영향을 미치는지 궁금해하시는 분들에게 이 논문을 추천합니다. 이 논문은 대용량 그래프 데이터에서 발생하는 over-smoothing 문제를 해결하고자 제안되었기 때문에, 현업에서 GNN을 활용하고 싶지만 대용량 데이터 모델로 인해 고민하는 분들에게도 도움이 될 것입니다.

Attending to Graph Transformers

[https://arxiv.org/pdf/2302.04181.pdf]

Untitled
  • GNN과 Graph Transformer 과의 차이점을 꼽아보자면 graph data 접근 방식으로 볼 수 있습니다. GNN은 저희가 알고 있는 그래프 노드 엣지로 간주한다면, Graph Transformer은 그래프의 요소들을 개별 토큰으로 간주합니다.
  • 자연어처리에서 차용된 구조이기에 마찬가지로 그래프의 정보를 multi-attention 로 계산해주고, positional encoding 로 업데이트 해 줄 그래프 위치정보를 추출한 뒤 토큰 by 토큰으로 업데이트 합니다. GNN 의 message passing 과정이 multi-attention 으로 대체되었다고 말씀드리면 이해하시기에 수월하실거라 생각되네요. 또한 구조적인 정보를 반영하기 위해 GNN 은 equivalent check 방식을 활용했다면, GT는 positional encoding을 활용하여 임베딩을 feature로 추가 적용해줍니다.
  • 이처럼, GT는 GNN과 비슷해보이지만 미묘하게 다른 구조를 가지고 있습니다. 특히 그래프 요소들을 ‘토큰’으로 간주하기 때문에, 이를 어떻게 다룰지가 핵심이며 벡터 공간상에서 토큰의 식별을 위한 structural , positional encoding 개선 연구가 많이 이루어지고 있습니다.
  • 본 논문에서는 GT 의 Encoding , input feature , tokenize , propagation 4가지 요소들에 따라 각 task들에 어떤 영향을 미치는가에 대한 Research question 을 answering 합니다. 뿐만아니라, globally , locally attention 을 진행하기 때문에 over-smoothing 과 over-squashing 문제에 직면하게 되는데 이를 어떻게 해결하는지?에 대한 실험과 실험결과에 대한 해석도 잘 나와있습니다.
  • Graph Transformer 구조를 베이스로 삼고 발명된 모델들이 OGB leader board 상위권에 속해있는걸보면, 머지않아 Graph 데이터 에서도 Transformer의 시대가 오지않을까 하는 생각이 드네요. Graph Transformer 모델 활용전, 시행착오를 줄이기에 좋은 지침서가 될 논문이라 판단되어 추천드립니다!

Why (Graph) DBMSs Need New Join Algorithms: The Story of Worst-case Optimal Join Algorithms

[https://kuzudb.com/blog/wcoj.html]

Untitled
  • "wcoj " 이라는 단어를 들어보셨나요? worst-case optimal join algorithm의 줄임말입니다.  이는, 입력 데이터가 frequently cyclic 이 반복되는 요소와 multi-intersection 을 갖는 최악의 상황에서도 효율적으로 수행될 수 있도록 설계된 알고리즘을 가리킵니다.
  • 이러한 상황은 전통적인 조인 알고리즘에 대비해서 상당히 도전적이며, 쿼리 처리 시간이 상당히 증가할 수 있습니다. 알고리즘 효율화를 위해 필터링, 가지치기 및 샘플링과 같은 고급 기술을 사용하여 조인 연산을 최적화하고 처리해야 할 데이터 양을 최소화합니다.결론적으로 wcoj 는 복잡한 데이터 구조와 대규모 데이터셋이 있는 시나리오에서 더 빠른 쿼리 처리 시간과 더 나은 전체 성능을 제공할 수 있습니다.
  • 결국 wcoj 는 cyclic , multi-intersection 의 특성이 반영되어 있는 데이터를 분석 및 가공할 때 유용하다고 볼 수 있습니다. 이 데이터들은 graph 에서 흔히 활용되는 FDS 와 recommenation 에서 그 진가를 발휘합니다.
  • directed graph 형태로 누가 누구에게 무슨 행동을 하는지에 대한 정보를 추적해야하는거죠. 허나 이 모두 multi joint , 그리고 cyclic 하기에 많은 조인 연산이 필요합니다. 그 조인에 대한 최적화를 wcoj 를 통해 진행한다고 보시면 되겠습니다. 이 아이디어의 핵심에는 ‘factorized table’이 있습니다. 테이블 정보를 decompose 해주어 scan computation cost 를 줄여주는게 골자인 기술이죠.
  • 그래프 데이터 베이스 효율성은 결국 Join speed , large dataset handling 이라고 볼 수 있습니다. 결국 실시간성 데이터가 많아지는 요즘 그 데이터들을 어떻게 잘 소화시키는지가 핵심인데요. 그 효율성의 기조가 되는 기술들에 대해 궁금하셨던 분들에게 좋을 자료라고 생각되네요.

Read more

26년 2월 3주차 그래프 오마카세

RAG-ANYTHING: ALL-IN-ONE RAG FRAMEWORK RAG-Anything: All-in-One RAG FrameworkRetrieval-Augmented Generation (RAG) has emerged as a fundamental paradigm for expanding Large Language Models beyond their static training limitations. However, a critical misalignment exists between current RAG capabilities and real-world information environments. Modern knowledge repositories are inherently multimodal, containing rich combinations of textual

By omakasechef

26년 2월 2주차 그래프 오마카세

Graph Talks LLM,GNN integration 행사 참여 신청 링크 안녕하세요, GUG 정이태입니다. 1.입춘이 다가오고 있지만 여전히 바람이 매섭네요. 다행히 지난 주말은 바람이 잦아들어 잠시나마 숨을 돌릴 수 있는 휴일이었는데, 다들 건강하게 잘 지내고 계신가요? 2.요즘 AI 업계는 NVIDIA GTC 2025에서 화두가 되었던 GraphRAG(Softprompt, KGE)를 넘어, 다가올

By omakasechef