728x90
반응형
  • Graph Data Science

오늘날의 경제 환경에서는 깊고 신뢰할 수 있는 통찰력과 강력한 예측이 꼭 필요해요. 데이터는 정말 소중한 자산이지만, 데이터 내부와 데이터 간의 관계는 아직 제대로 활용되지 못하고 있는 경우가 많죠.

Graph Embedding은 연결된 데이터의 구조를 학습해서 가장 시급한 문제들을 해결하는 새로운 방법을 제시하고, 미처 보지 못했던 부분에 대한 가시성을 더해주는 새로운 기술이에요.

점점 더 많은 조직들이 데이터 내 연결의 가치를 알아보고 있고, 그만큼 그래프 분석이 현대적인 데이터 및 분석 전략의 기초로 널리 인정받고 있어요. 예를 들어 Gartner는 그래프가 2021년 10%에서 2025년까지 데이터 및 분석 혁신의 80%에 사용될 거라고 예측하고 있대요.

Knowledge Graph에 대한 강력한 심층 `Query`는 과거에는 조사하는 데 몇 주씩 걸렸을 비즈니스 질문에 빠르게 답변을 제공해줘요. 그래프 시각화 도구는 자유로운 탐색을 촉진하고 "아하!" 하는 순간을 만들어내죠.

그런데 전체 그래프를 분석하거나 예측하는 경우는 어떨까요? 아니면 이미 질문하는 방법을 알고 있는 질문을 뛰어넘어보는 건 어때요?

일반적인 첫 번째 단계는 비지도 Machine Learning 기술을 사용하는 거예요. 그래프 알고리즘을 사용해서 패턴, 이상 현상 등을 식별하는 거죠. 예를 들어, 데이터 과학자는 PageRank와 같은 중심성 알고리즘을 사용해서 회사에서 가장 중요한 사람을 식별하거나, Louvain과 같은 커뮤니티 탐지 알고리즘을 사용해서 자금 세탁을 찾아낼 수 있어요.

그래프 분석의 다음 개척지는 지도 Machine Learning을 적용하는 건데요. 즉, 다음에 일어날 일을 예측하고, 누락된 데이터를 채우고, 그래프 구조가 미래를 예측할 수 있는 방법을 이해하는 거예요. 바로 이럴 때 Graph Embedding이 필요한 거고, 연결된 데이터 내에서 통찰력을 얻기 위한 기본 기술이 되는 거죠.

이번 블로그 포스팅에서는 다음 내용을 살펴볼 거예요.

    • 지금 Graph Embedding이 필요한 이유
    • Graph Embedding이란 무엇이고 어떻게 작동하나요?
    • Graph Embedding의 실제 사용 예시

지금 Graph Embedding이 필요한 이유

Graph Embedding은 연결된 데이터(Knowledge Graph, 고객 여정, 거래 네트워크)를 예측 신호로 변환하는 데 사용되는 기술이에요.

데이터 과학자는 보통 과거 데이터를 사용해서 예측 모델을 강화하죠. 하지만 최근 전 세계적으로 유행하는 전염병이나 자연 재해와 같은 '블랙 스완' 사건을 생각해보면, 이런 데이터는 예측 가능성이 훨씬 낮아져요. 과거 데이터 표의 행과 열을 살펴보는 대신, Graph Embedding을 사용하면 연결된 데이터에서 통찰력을 얻을 수 있어요.

그래프는 복잡한 공급망, 의료 연구, 고객 360, 사기 탐지 등 거의 모든 종류의 데이터를 나타낼 수 있다는 사실! 정말 흥미롭죠?

그래프의 모든 데이터에서 예측 가능한 것은 무엇일까요? 데이터 과학자는 패턴과 이상 현상을 찾아내기 위해 그래프를 탐색하고 다양한 그래프 알고리즘을 실행하는 것부터 시작하는 경우가 많아요. 하지만 이는 상당히 제한적인 접근 방식이죠. 각 특정 그래프 알고리즘은 항상 발견하도록 설계된 특정 패턴만 찾거든요. PageRank는 항상 PageRank이고, 이것이 알려줄 수 있는 유일한 것은 node가 얼마나 중요한지 뿐이에요.

그래프 임베딩은 좀 달라요. 그래프 임베딩은 그래프의 고유한 데이터를 보고 이를 통해 학습해서 문제를 해결하죠. 어떤 알고리즘이 유용한 정보를 알려줄지 추측하는 대신, 그래프 임베딩은 사용자가 찾지 못할 예측 패턴을 강조해요. 이런 의미에서 그래프 임베딩은 그래프에 대해 학습하기 위한 치트 코드와 약간 비슷하다고 할 수 있어요.

그래프 임베딩은 추측 없이 예측 가능한 내용을 보여주므로 시행착오를 거쳐 수동으로 특성을 엔지니어링하는 데 드는 시간을 절약할 수 있어요. 주요 보험 회사의 선임 데이터 과학자는 그래프 임베딩에 대한 그의 팀의 기대를 다음과 같이 표현했죠. "우리가 이 알고리즘과 저 알고리즘을 시험해 본 후 우리가 선택한 특징이 예측이 아닌 것으로 판명되는 특징 엔지니어링을 수행하려면 시간이 오래 걸립니다."

모든 것이 자연스럽게 연결됩니다.

임베딩은 수학이 아니라 마술이다

그래프가 그 자체에 대해 알려줄 수 있다는 생각은 마치 마술처럼 들리죠? 마치 클라크의 제3법칙 "충분히 발전한 기술은 마법과 구별할 수 없습니다." 와 같은 느낌이에요. 겉보기와는 다르게 그래프 임베딩은 마법이 아닌 최첨단 수학이랍니다.

그래프 임베딩은 그래프를 숫자로 변환해요. 그래프 임베딩은 그래프의 모든 정보를 가져와서 학습하여, 존재하지 않는 패턴과 표면 연결을 밝힐 수 있는 수치 표현을 도출하죠. 그래프 임베딩은 데이터의 정확한 수학적 표현이므로 그래프 임베딩이 표시하는 신호는 비즈니스를 발전시키는 데 신뢰할 수 있어요.

그래프 임베딩은 그래프의 중요한 기능을 모두 반영해요. 초상화가 3차원 사람을 2차원으로 인코딩하는 것처럼 임베딩은 그래프를 압축하여 더 간단하면서도 알아볼 수 있도록 만들어 줍니다.

그래프에서 데이터의 구조(데이터 포인트 간의 연결)는 node 및 해당 속성만큼 중요해요. The nodes are data. node를 연결하는 relationships는 데이터이고, 이러한 node와 relationship에 할당된 속성도 데이터죠. 각 node의 이웃 수를 세는 것과 같은 간단한 기술은 그래프에 인코딩된 구조적 맥락과 풍부함을 놓치기 쉬워요. 임베딩은 모든 정보를 가져와 node, 해당 속성, 이웃과의 relationship 및 전체 그래프의 컨텍스트를 인코딩하는 의미 있는 단일 vector로 변환할 수 있어요.

임베딩은 node(사물), relationship(연결) 또는 전체 그래프 등 그래프의 다양한 측면을 설명할 수 있어요. 임베딩을 사용하면 질문에 답하기 위해 고유하게 조정된 데이터로부터 수학적 표현을 만들 수 있죠.

그래프 임베딩은 특정 그래프 데이터의 수치 표현을 생성합니다.

임베딩 뒤의 수학

임베딩 생성과 임베딩 사용은 상호 연관되어 있어요. 선택한 기술은 보유한 데이터와 해결하려는 문제에 따라 결정되죠.

임베딩을 계산하려면 먼저 임베드하려는 node, 속성 및 relationship를 식별해야 해요. 기본적으로 그래프를 숫자로 변환할 때 고려해야 할 사항인 거죠.

데이터를 선택한 후 임베딩 기술을 선택하게 되는데요. Neo4j Graph Data Science는 현재 아래 표의 임베딩 기술을 지원하고 있어요. 임베딩을 선택한 후에는 다양한 구성 매개변수를 사용해서 임베딩을 사용자 정의하고 조정할 수 있어요. 이렇게 하면 임베딩이 정확한 표현을 제공하는지 확인할 수 있죠. 임베딩이 학습하는 내용, 실행 기간, 결과의 정확성 측정 방법, 다양한 기능이 인코딩되는 방식까지 제어할 수 있다는 점이 매력적이에요. 임베딩을 생성한 후에는 여러 가지 방법으로 활용할 수 있는데요. 한번 살펴볼까요? **유사성을 계산**할 수 있어요. 임베딩은 구조적 동등성, 유사한 속성, 유사한 `Node`를 찾기 위한 코사인 유사성과 같은 메트릭, 가장 가까운 이웃 그래프 구축 등 그래프 유사성을 인코딩해요. 예를 들어, 소매 그래프에서는 임베딩이 고객 행동을 포착하므로 유사한 임베딩을 가진 제품이 좋은 추천 대상이 되는 경우가 많죠. **그래프를 차트로 시각화**할 수도 있어요. PCA와 같은 기술을 사용해서 2차원 또는 3차원으로 t-SNE 플롯을 만들 수 있죠. 시각화를 통해 클러스터나 패턴을 식별할 수 있는데요. 아스트라제네카에서는 다양한 진단을 받은 환자를 시각화하고 구별하기 위해 환자 여정 임베딩을 사용했다고 해요 (그림 3). **특징으로는** `Node` 분류 및 링크 예측과 같은 작업을 수행하기 위해 지도형 Machine Learning 모델을 훈련할 수 있어요. 예를 들어 은행 거래 그래프에서 각 계정 소유자에 대한 `Node` 임베딩을 계산하고, 이러한 임베딩을 사용해서 행동을 기반으로 사기를 저지를 가능성이 있는 계정을 예측할 수 있죠.

탐색환자 여행3차원 t-SNE 플롯으로.

그래프 임베딩의 실제 사용

그래프 임베딩은 단순한 이론이 아니라 최첨단 기업이 AI를 더 잘 수행하는 방법이에요. 이제 오늘날의 조직이 고급 그래프 임베딩 수학을 활용해서 이점을 누리는 몇 가지 방법에 대해 이야기해 볼게요.

사기 찾기

는 비정상적인 거래 행위를 발견해서 식별되는 경우가 많죠. 임베딩은 정상 계정과 비정상 계정의 행위를 인코딩하고, 이를 구별하는 예측 모델을 훈련시켜서 정상적인 거래와 사기 행위를 구별할 수 있어요. 임베딩은 거래 상대방, 빈도, 연결 밀도 등 그래프 내의 풍부한 정보를 추출해서 정상적인 거래 행위에서 벗어나는 패턴을 나타내는 더 큰 네트워크를 통합하는 데 도움이 돼요.

엔터티 확인 및 명확성

마케팅부터 소매, 금융까지 사용자가 직면하는 일반적인 문제는 고유한 사용자 식별 및 중복 제거(또는 항목, 문서 등)인데요. 데이터의 바다에서 이 문제를 해결하는 데 그래프 임베딩이 큰 도움이 될 수 있어요. 더 큰 그래프에서 각 `Node`와 해당 컨텍스트(`Property`, 이웃, 이웃 등)를 인코딩하면 기본적인 수학을 사용해서 거의 동일한 임베딩을 식별할 수 있어요. `Node` 간의 유사성을 강조해서 여러 사람으로 보이는 것이 실제로는 한 사람인지 확인할 수 있는 거죠.

제품 추천 개선

과거에는 협업 필터링이 추천을 개선하기 위한 일반적인 접근 방식이었는데요. "이 항목을 구매한 사람들은 이러한 다른 항목도 구매했습니다"와 같은 방식이었죠. 임베딩은 을 한 단계 더 발전시켜요.

임베딩은 누군가가 무엇을 샀는지 뿐만 아니라 그 사람이 얼마나 많은 물건을 샀는지, 누가 그 물건을 샀는지, 그 사람들이 무엇을 샀는지 등을 전체 그래프에 걸쳐 인코딩할 수 있어요. 매우 큰 제품 카탈로그에서 그래프 임베딩은 밀접하게 관련된 항목을 거의 조회하지 않는 경우에도 수학적으로 강조 표시하므로 강력한 추천을 지원할 수 있답니다.

신약 발굴

Knowledge Graph는 많은 제약 R&D 팀의 기본이죠. 시스템 생물학은 자연스럽게 그래프 형태를 띠는데요. 유전자, 화학 물질, 질병 간의 연결은 수많은 조건의 원인과 치료법을 암호화하고 있어요. 그래프 임베딩은 각 유전자가 어떻게 연결되어 있는지, 얼마나 멀리 떨어져 있는지, 질병에 대한 중간 노드를 통해 또는 업스트림 경로와의 직접적인 상호 작용 또는 간섭을 통해 유전자를 수정할 수 있는 화학 물질이 무엇인지 등의 정보를 인코딩할 수 있어요. 이렇게 풍부하고 설명적인 임베딩은 링크 예측 모델의 입력으로 사용될 수 있죠. 이 모델은 기존 지식을 사용해서 유전자와 질병, 약물과 유전자 사이의 이전에 알려지지 않은 연관성을 밝혀 유망한 새로운 치료법을 식별한답니다.

이탈 예측

소매점부터 SaaS 플랫폼, 기존 유틸리티 제공업체에 이르기까지 많은 기업이 고객 이탈에 깊은 관심을 갖고 있어요. 사용자가 휴대폰 서비스 제공업체를 떠나기로 결정하는 통신사 이탈이 그 예시인데요. 이러한 고객 결정은 이전 구매, 매장 방문, 고객 서비스 통화 등 공급자와의 모든 상호 작용의 맥락에서 이루어져요. 컨텍스트에는 다른 고객과의 상호 작용(전화 통화, 문자)은 물론 다른 고객의 경험도 포함될 수 있죠. 풍부한 세부 정보를 Knowledge Graph에 담아 각 고객의 경험을 나타내기 위해 임베딩을 훈련한 다음, 해당 임베딩을 사용해서 서비스를 떠날 가능성이 있는 사람을 예측할 수 있으므로 조기 개입을 통해 비즈니스를 구할 수 있어요.

Neo4j Graph Data Science

그래프 임베딩은 데이터에서 예측 요소를 빠르고 안정적으로 학습할 수 있는 강력한 방법이라, 데이터에 숨겨진 모든 연결을 바탕으로 결정을 내릴 수 있게 도와주죠. 하지만 엔터프라이즈 팀의 주요 과제는 최첨단 과학 기술을 신속하고 안정적이며 규모에 맞게 프로덕션에 적용하는 것이에요.

이것이 바로 Neo4j가 도울 수 있는 부분인데요. 고객들은 그래프 임베딩에 대해 알고 있었지만, Neo4j Graph Data Science를 시작하기 전까지는 실제로 사용할 수 없었다고 말해요.

Neo4j는 그래프 분석 및 그래프 기반 ML 분야의 선두 주자로서 더 적은 노력으로 더 많은 데이터 과학을 지원하고 있어요. 저희 데이터 과학 플랫폼은 다음을 결합했답니다:

    • Neo4j Graph Database: 연결된 데이터를 저장, 유지 및 Query하기 위한 것이에요.
    • Neo4j Bloom: 연결된 데이터를 시각적으로 탐색하기 위한 것이죠.
    • Neo4j Graph Data Science, 또는 GDS - 그래프 Machine Learning을 대규모로 실행할 수 있어요.

Neo4j는 즉시 실행 가능한 60개 이상의 알고리즘 및 ML 모델과 항상 추가되는 새로운 모델을 포함해서 다른 어떤 공급업체보다 더 많은 그래프 데이터 과학 기술을 제공해요. Neo4j는 사용자에게 GDS 환경을 벗어나지 않고도 몇 가지 명령만으로 데이터를 변환하고, 예측 기능을 생성하고, 최고 성능의 모델을 훈련 및 선택할 수 있는 기능을 제공하죠.

고객들은 GDS를 사용하면 임베딩에 관한 학술 논문을 읽는 것에서 벗어나 실제로 작업에 적용할 수 있다고 말해요. Neo4j Graph Data Science에는 예측 모델 생성 작업을 크게 줄이고 데이터 유출과 같은 문제를 해결해서 데이터 과학자의 행복과 생산성을 높이는 강력한 기능이 포함되어 있답니다. 저희 구현은 수백억 개의 Node로 확장되도록 고도로 병렬화되어 있으므로 사용할 수 있는 의미 있는 결과를 신속하게 얻을 수 있어요. 저희는 훈련된 모델을 Neo4j에 저장할 수 있는 모델 카탈로그를 통해 MLOps를 지원하고 있답니다.

Neo4j Graph Data Science는 가장 널리 배포된 Graph Database에서 실행돼요. Neo4j Graph Database는 확장 및 재해 복구를 위한 읽기 복제본은 물론 데이터 버전 관리와 같은 엔터프라이즈 기능을 제공하죠.

데이터가 어디에 있든 Neo4j를 사용하면 지원을 통해 쉽게 시작할 수 있어요. Connector, Spark, Kafka, Tableau와 같은 BI 도구는 물론 Python, Java, Go 및 드라이버용 드라이버용 more도 지원한답니다.

Neo4j Bloom은 비즈니스 이해관계자와 데이터 과학자가 데이터와 모든 연결을 자유롭게 탐색해서 협업과 통찰력을 가속화할 수 있도록 지원하는 아름답고 표현력이 풍부한 데이터 시각화 도구에요. 임베딩의 경우 이는 계산에 포함된 모든 데이터의 맥락에서 결과(예측 및 새로 식별된 유사성)를 보는 것을 의미하죠.

Neo4j는 유연하고 클라우드 독립적인 배포를 제공해요. 선호하는 클라우드 플랫폼, 온프레미스에서 Neo4j를 직접 다운로드해서 배포하거나 Neo4j의 완전 관리형 클라우드 제품인 Neo4j AuraDS를 통해 주문형으로 시작해보세요.

주요 시사점

그래프 임베딩이 제공하는 기능을 보여주는 몇 가지 주요 내용은 다음과 같아요.

경쟁 우위를 확보하세요. 그래프 임베딩을 무시할 여유가 없어요. 그래프 임베딩은 신선한 통찰력과 아이디어로 이어지는 새로운 정보를 표면화하죠.

더 나은 예측을 해보세요. 그래프 임베딩은 기능 엔지니어링의 무거운 작업을 수행해서 ML 모델에 포함할 예측 요소를 식별해준답니다.

데이터 과학자의 최신 정보를 빠르게 얻으세요. 해당 분야의 전문가인 데이터 과학자를 찾는 것은 어렵죠. 그래프 임베딩은 데이터 자체에서 학습하기 때문에 전문가가 아닐 수도 있는 데이터 과학자도 효과적으로 데이터를 사용하고 빠르게 완전한 생산성을 발휘할 수 있어요.

데이터에서 전체 가치를 추출하세요. 일부 지역에서는 데이터가 고르지 않게 분포되거나 희박할 수 있어요. 그래프 임베딩은 데이터 상태에 관계없이 데이터를 최대한 활용하는 데 도움이 된답니다. 그래프 임베딩을 사용하면 자주 구매하지 않는 품목에도 추천이 관련돼요.

더 많이 알아보세요. 임베딩은 Knowledge Graph를 통해 학습해요. 이러한 학습 내용을 통합해서 Knowledge Graph를 더욱 풍부하게 만들어보세요.

반복하고 혁신하세요. 다양한 그래프 임베딩 기술을 사용해서 데이터에서 다양한 인사이트를 얻어보세요. 그래프 알고리즘, 쿼리, 시각화를 반복적으로 활용해서 목표한 혁신과 새로운 발견을 이끌어낼 수 있어요.

시작할 준비 되셨나요?

샌드박스의 샘플 프로젝트를 한번 사용해 보시거나, 완전 관리형 클라우드 제품인 Neo4j AuraDB를 시작해 보세요.

Graph Data Science에 대해 더 자세히 알고 싶으신가요? Meredith Corporation, AstraZeneca, NASA처럼 들이 Neo4j Graph Data Science를 어떻게 활용하는지 알아보세요.

  • GDS
  • Graph Data Science
  • Machine Learning
  • math
  • t-SNE

에이치시스템즈LogTree는 Neo4j 기반 GraphRAG 플랫폼으로, 데이터를 자동으로 지식그래프화하고 자연어 질의로 즉시 답을 제공합니다.

👉 에이치시스템즈 홈페이지

728x90
반응형

+ Recent posts