- Machine Learning
편집자 주: 이 프레젠테이션은 다음에서 제공되었습니다.에이미 호들러 at 그래프투어 샌프란시스코2019년 5월.
프레젠테이션 요약
기술 발전을 향한 끊임없는 경쟁 속에서, 많은 기업들이 인공지능(AI)과 Machine Learning(ML)을 더욱 자율적인 미래를 향한 다음 단계로 보고 있어요.
이번 포스팅에서는 Neo4j의 분석 및 프로그램 관리자인 Amy Hodler가 현재 연구를 통해 그래프 기술이 다른 접근 방식보다 ML 및 AI 분야에서 더 큰 영향력을 발휘한다는 것을 보여줄 거예요. 그녀는 또한 그래프 ML 모델 시작하기와 그래프 데이터 과학의 발전 단계를 따라 인공지능 및 Machine Learning 도구를 어떻게 향상시키는지 설명하죠.
이 단계들은 다음과 같아요:
- 쿼리 기반 Knowledge Graph
- 쿼리 기반 Feature Engineering
- 그래프 알고리즘 Feature Engineering
- 그래프 Neural Network 및 기본 학습
각 단계마다 다양한 예시도 제공되는데요, 금융 전염 예측, 그래프 연결 Feature Engineering을 통한 사기 탐지, 그리고 그래프 임베딩을 사용한 eBay 추천 등이 특히 눈에 띄어요.
Hodler는 또한 그래프 데이터 과학 애플리케이션, 그래프 기능 범주 및 알고리즘, 그리고 자원에 대한 배경 정보도 제공하고 있어요. 사용자 및 잠재 고객에게 유용하겠죠?
전체 프레젠테이션: 그래프가 인공 지능을 향상시키는 방법
제 이름은 에이미 홀더입니다. 그래프가 인공 지능을 어떻게 향상시키는지에 대해 이야기해볼게요. 현재 AI, Machine Learning 및 그래프와 관련된 많은 인기 트렌드가 있는데, 이 모든 것들이 자연스럽게 함께 작동한답니다.
배경 이야기
재미있는 이야기로 시작해볼게요. Graph Database는 처음부터 저에게 관심을 보였어요. 사실 제가 처음 관심을 가졌던 건 네트워크 과학이었고, 우리가 알다시피 네트워크 또는 수학적 표현은 그래프를 사용하죠.
2008년 금융 위기 당시 금융 전염과 네트워크를 통해 모든 것이 확산되는 방식에 관심을 갖게 되었어요. 아래 만화는 이에 대한 (극적으로 표현된) 예를 보여줍니다.
당시 금융 상황에서 뉴스가 어떻게 확산되는지에 대한 우리의 견해는 매우 글로벌했어요. 많은 네트워크 과학 연구에서는 은행 시스템의 밀도와 다양한 거래 시스템을 조사했죠. 만화에서 보듯 뉴스는 퍼지기도 하고 증폭되기도 했어요. 이 현상이 저에게 매우 흥미로워서 좀 더 자세히 살펴보기 시작했답니다.
금융 전염 예측: 글로벌에서 지역으로
아마도 우리가 예전보다 좀 더 지역적이라는 것을 눈치채셨을 거예요. 이벤트는 더 빠르게 발생하고 연결은 작고 복잡하죠. 2008년에는 대규모 시장과 이벤트에 대해 네트워크 과학을 수행하여 그것이 어떻게 확산되는지 분석했어요. 이제 우리는 트윗 하나가 어떻게 글로벌 시장에 영향을 미칠 수 있는지 목격하고 있죠.
저희 고객 또한 더 지역적으로 생각하고 있어요. 그들은 어떤 것에 투자할 가치가 있는지 예측하기 위해 잠재적인 투자 내에서의 전염을 이해하고 싶어하죠.
트럭 제조 산업은 이러한 사고방식의 한 예를 나타내며, 제조업체는 종종 금융 전염을 예측하고 있어요. 트럭 제조업체가 부품 공급업체에 몇 달 동안 비용을 지불하지 못하면 어떻게 될까요? 전문 장비를 트럭 제조 회사에 의존하는 해운 회사의 잠재적 스프레드는 무엇일까요?
고객이 취하고 싶은 다음 단계는 자신의 경로를 배우는 것이에요. 그들은 Machine Learning을 사용하여 사물이 어떻게 이동하는지 이해하고 싶어해요. 그들은 메타 경로를 개발하고, 해당 경로에서 학습하고, 보다 안정적인 투자를 하려고 하죠.
이는 특정 투자 시나리오이지만 궁극적으로 금융 시스템을 강화하고 더욱 견고하게 만드는 것을 목표로 하고 있어요.
그래프 데이터 과학 애플리케이션
위에서 논의한 것처럼 금융 시스템은 매우 연결되어 있어요. 하지만 더 넓은 규모로 보면 그래프 분석은 풍부한 데이터와 복잡한 연결이 있는 많은 분야에 적용되는 그래프 데이터 과학이에요.
위 이미지는 Graph Data Science 응용 분야에서 가장 눈에 띄는 몇 가지를 보여주고 있어요. 여기서도 간단하게 살펴볼게요.
- : 사기부터 돈세탁까지, 이 영역의 범죄는 보통 그룹 행동을 관찰해서 탐지하죠. 비정상적인 행동은 뭔가 수상한 낌새를 나타낼 수도 있고요.
- : 약물은 환자의 프로필을 목표로 하고, 증상이 나타나며, 다양한 결과를 만들어내기 때문에 굉장히 그래프적이에요. 의료 전문가가 약물의 연관성을 더 잘 이해하도록 돕는 것은 약물의 용도를 변경하고, 더 개인화된 약물을 만들 수 있도록 도와주죠.
- : Graph Database를 사용하는 건 고객 간의 유사점을 살펴보고, 이걸 기반으로 제품을 추천하는 일반적인 방식과는 좀 달라요. 대신 고객이 제품을 구매할 때 거치는 경로를 살펴보고, 이걸 기반으로 패턴을 만들고 학습하는 거죠. 그런 다음 다른 고객이 그 경로 중간에 있을 때, 그들이 가고 싶어할 만한 곳을 추천해 줄 수 있어요.
- : 개인 그룹을 대상으로 마케팅을 하고, 고객이 속한 커뮤니티 및 상호 작용을 이해하는 것을 포함해요.
- : 여기에서도 이상 징후를 살펴봐요. 예를 들어 불규칙한 침입 경고 패턴은 문제를 나타낼 수 있겠죠.
- : 고객이 이탈할지, 이탈 후에 네트워크에 어떤 영향을 미칠지 살펴보는 거예요.
- : 비슷한 맥락으로 이어지죠. 예를 들어 트럭의 유지 관리 일정은 차량 중량, 연식 등 다양한 요인에 따라 달라져요. 이런 상황별 항목들은 항목을 이해하고, 가능한 유지 관리 요구 사항을 예측하는 데 도움이 된답니다.
- 검색 및 마스터 관리 데이터(MDM): 사용자에게 믿을 수 있는 페이지를 제공하는 Google과 PageRank에서 처음 시작된 인기 있는 그래프죠.
AI 그래프 관련 최근 연구
그래프의 잠재력에 대해 생각하는 사람이 우리뿐만이 아니에요. 그래프와 인공지능에 대해 ZDNet에서 최근에 Machine Learning에 관한 기사를 게시했는데, AI 업계에 큰 반향을 일으켰어요.
ZDNet의 보도에 따르면 Google DeepMind, MIT(매사추세츠 공과대학) 및 여러 기관에서 현재 Machine Learning의 현 위치와 앞으로 나아갈 방향에 대해 논의하고 있다고 해요.
기사에서 제가 가장 인상 깊었던 부분은, 특히 구조를 추상화하고 일반화하는 그래프의 능력 덕분에 그래프 네트워크가 다른 개별 ML 접근 방식보다 훨씬 뛰어나다는 점을 강조한 부분이었어요. 화이트보드에 무언가를 그래프로 그려본 적이 있다면, 이게 다른 Neural Network로는 불가능하다는 걸 아실 거예요.
기사에 자세히 설명된 또 다른 불확실성은 이러한 네트워크 그래프가 어디에 나타날지에 대한 부분인데요. 오랫동안 이 분야에 몸담아온 Neo4j 입장에서 보면, 혁신적인 아이디어와 기술로 채워나갈 수 있는 흥미로운 기회라고 생각해요.
그래프 Machine Learning 모델 시작하기
이 부분에 대해 정말 기대가 큰데요, 그래프 ML 및 데이터 과학 모델 구축을 어떻게 시작해야 할지 막막해하는 고객분들이 많으신 것 같아요.
첫 단계를 시작하기 전에 데이터 소스, 네이티브 그래프 플랫폼, 그리고 그래프 ML 모델과 일종의 Machine Learning을 구축하는 방법을 알아야 해요. 이러한 요소들이 결합되어 위 이미지에 표시된 워크플로우를 만들어내죠.
먼저, Apache Spark를 예시로 들어볼게요. 특히 많은 분들이 이미 Spark를 통해 상당한 양의 데이터를 처리하고 있기 때문에 더욱 그렇답니다.
올 가을에 출시될 예정인 Spark Graph에 대해 들어보셨을 텐데요. 데이터브릭스(Databricks)에서 꽤 오랫동안 준비해왔죠. Spark에 Cypher를 추가해서 레이블이 지정된 Property Graph, 즉 유형과 쿼리를 포함해서 데이터를 탐색할 수 있게 해주는 기능이에요.
Spark의 그래프는 영구적이지 않다는 점을 기억해야 해요. 다시 말해, 그래프를 유지하려면 탐색하고 변환을 수행할 수 있는 기본 그래프 플랫폼으로 전송해야 한다는 거죠. Morpheus라는 오픈 소스 프로젝트를 활용할 수도 있고요. 저희는 Morpheus를 업그레이드해서 사용자들이 더 많은 변환을 실행한 다음 Neo4j와 통합할 수 있도록 지원할 계획이에요.
이러한 도구를 사용하면 대규모 데이터 소스를 가져와서 탐색하고, 애플리케이션 구축에 사용할 그래프가 있는지 확인할 수 있어요. 그런 다음 Neo4j로 가져와서 기본적인 그래프 처리를 수행하고, 알고리즘을 적용하고, 유지하고, Machine Learning 측면도 구현할 수 있죠.
여기서 핵심 아이디어는 많은 분들이 사용하시는 Spark를 활용한다는 거예요. Spark는 대용량 데이터 처리에 아주 좋고 확장성도 뛰어나죠. 게다가 강력한 Machine Learning 라이브러리도 많이 가지고 있고요.
하지만 Spark는 기본적으로 영구적이지 않기 때문에, 잠재적인 애플리케이션을 지원할 수 있는 더 심도 있는 그래프 분석을 위해서는 Neo4j로 가져와야 해요. 저희는 여러분이 그래프 솔루션을 구축하고, 그래프를 유지하고, 동적 그래프를 사용해서 그래프를 변경할 수 있도록 도와드릴 수 있어요.
위에서 언급했듯이 Neo4j에는 기본 쿼리 및 그래프 알고리즘도 있어서 알고리즘을 실행하고 분석을 수행하며 성능을 향상시킬 수 있어요. 게다가 모든 것이 단일 메모리 공간에 있기 때문에 전체 그래프로 작업할 수 있다는 장점도 있죠.
많은 사람들이 마비되는 현상을 겪지 않기 때문에 이는 그래프 알고리즘 관점에서 특히 중요해요. 또한 이러한 알고리즘은 그래프를 분할하고 그래프의 다양한 영역을 분석할 수 없어요. 대신 전체 그래프를 고려하고 싶어하죠. 이는 모두 매우 전역적인 관점이에요.
그래프 데이터 과학의 발전
그렇다면 우리는 어디로 나아가고 있을까요? 그래프 데이터 과학은 광범위한 영역이기 때문에, 그 안에서 세 가지 주요 이정표를 설정했어요.
이 세 단계는 실제로 더 많은 단계로 세분화될 수 있고, 아래 이미지의 그래프에 잘 나타나 있어요. 각 단계의 예시와 시작하는 데 어떻게 도움이 되는지 함께 살펴볼까요?
아래 x축은 기업에서 기술을 도입하기까지 걸리는 시간을 나타내고, y축은 데이터 과학의 복잡성, 즉 문제의 난이도를 나타내요.
각 단계에 대한 자세한 내용은 앞으로 더 자세히 다룰 예정이고요, 간단하게 개요를 한번 살펴볼까요?
- Knowledge Graph: 이미 매우 성숙하고 일반적이죠. 아직 도입하지 않았다면 좋은 시작점이 될 거예요.
- Query 기반 Feature Engineering: 애플리케이션에 약간의 Machine Learning을 통합하기 시작하는 단계예요. 이 시점에서는 ML에 몇 가지 그래프 기능을 추가하고 싶겠지만, 여전히 해당 분야 전문가가 필요할 거예요.
- 그래프 알고리즘 Feature Engineering: 비지도 방식이기 때문에 데이터에 그래프 알고리즘을 적용하고, 분석을 수행해서 더 많은 그래프 기능을 확보해서 ML 모델에 넣을 수 있어요.
- : 정말 흥미로운 부분이에요. 특히 그래프의 학습된 표현에 대해 이야기할 때 더욱 그렇죠. Deep Learning에 더 가까이 다가가기 위한 필수 단계라고 할 수 있어요.
- 그래프 Neural Network 및 기본 학습: 입력과 출력을 모두 그래프로 유지하고 기본 학습을 수행하는 작업이 포함돼요.
Query 기반 Knowledge Graph: 점 연결하기
위에서 언급했듯이 Query 기반 Knowledge Graph는 이미 매우 성숙하고 견고하지만, 여전히 멋지고 창의적인 방식으로 사용되고 있어요.
정말 흥미로운 사례를 하나 이야기해볼게요. 이건 실제로 저희 솔루션 팀에서 진행하고 있는 프로젝트인데요, 아래 그래픽은 저희 팀 대시보드의 스크린샷이에요.
이 대시보드는 여러 Knowledge Graph를 기반으로 하고 있고, 금융 솔루션 회사인 Refinitiv (이전에는 Thomson Reuters)에서 만들었어요. 이 Knowledge Graph에는 여러 계층의 재무 정보가 포함되어 있는데, 모든 사람이 액세스할 수 있는 일반 기업 데이터와 외부 뉴스 스트림도 포함되어 있죠.
예를 들어, 어제 발표된 뉴스 기사가 금융 시장의 변화나 주가 상승으로 이어졌다고 가정해 볼게요. 이 대시보드는 사람들이 데이터와 상호 작용하면서 이러한 이벤트들을 서로 연관시키는 데 도움을 줘요. 사용자는 가중치를 조정해서 포트폴리오에 더 중요한 관계의 우선순위를 지정할 수도 있고요.
또한 다양한 대시보드에서 신용 위험, 투자 위험, 뉴스 추천과 같은 다양한 도구를 제공하고 있어요.
결론적으로 Knowledge Graph는 이미 잘 알려져 있지만, 사람들은 꾸준히 새로운 애플리케이션을 추가하고 있어서 정말 흥미로운 분야라고 생각해요.
Query 기반 Feature Engineering: 약물 발견을 위한 데이터 마이닝
AI를 더 발전시키려면 쿼리 기반 기능 엔지니어링을 활용하는 방법이 있어요. 이 방법은 네트워크가 어떤 예측을 하는지 알지만, 정보에 접근하기 어려운 분야 전문가가 필요하죠. 특히 대규모 데이터 세트에서 정보를 가져오는 건 정말 번거로운 일이거든요.
다음 이미지는 het.io의 예시인데요, 백엔드로 Neo4j를 사용하는 생물 의학 Knowledge Graph랍니다.
Het.io는 유전자, 질병, 화합물, 부작용 등 40년간의 생물 의학 정보를 담고 있어요. 환자가 어떤 결과와 경로를 거쳤는지도 살펴볼 수 있죠. 당연히 그래프로 표현하기 딱 좋은 문제겠죠?
참고로 het.io는 데이터와 Neo4j 브라우저를 제공하는데요, Cypher에 익숙하신 분들은 웹사이트에서 직접 쿼리를 날리고 데이터를 탐색하면서 새로운 사실을 발견하는 재미를 느껴볼 수 있을 거예요.
het.io의 목표 중 하나는 유전자와 질병 사이의 연관성을 예측하는 건데요. 그들은 네트워크 토폴로지를 분석해서 아직 발견하지 못한 관계가 어디에 있는지 파악하려고 노력하고 있어요.
아래 이미지는 IRF1 유전자와 자가면역 질환인 다발성 경화증(MS) 사이의 상관관계를 보여주는데요. 직접적인 링크는 없지만, 그래프를 통해 둘 사이의 2차 및 3차 경로를 이해하는 데 도움을 받을 수 있어요.
이 그래프를 가지고 놀면서, 저희는 Machine Learning을 수행하고 확률을 생성하는 몇 가지 기능을 개발했어요. 이 경우 IRF1이 실제로 다발성 경화증과 연결될 확률이 밝혀졌죠. 우리가 아직 본 적도 없는 관계를 추론하는 건 정말 흥미로운 일이에요.
이런 예측을 통해 IRF1을 타겟으로 하는 약물이 다발성 경화증(MS)에도 좋은 타겟이 될 수 있다는 걸 알 수 있어요. 이미 시판된 약물이라면 많은 임상 시험을 거쳤다는 의미겠죠? 그래서 전문가들은 이 약물을 다른 용도로 쉽게 재사용해서 환자들에게 새로운 치료법을 더 빠르게 제공할 수 있답니다.
Knowledge Graph와 ML을 시작하고 싶으시다면, Spark Graph를 사용해서 분산된 데이터를 병합하고, 형태를 바꾸고, 그래프로 변환하고, Cypher로 탐색하고, 그래프 알고리즘을 실행해 보세요.
그런 다음 사용하기로 결정하면 Knowledge Graph의 해당 부분을 Neo4j로 가져와 유지할 수 있어요. 여기에서 전문가는 Machine Learning 파이프라인을 위한 추가 기능을 구축할 수 있죠.
그래프 알고리즘 특성 공학
그래프 알고리즘을 사용한 기능 엔지니어링은 아마도 현재 대부분의 시간을 보내는 부분일 거예요. 많은 고객이 이미 이 두 가지 초기 단계를 수행했기 때문이죠.
이미 보유하고 있는 데이터를 사용하여 새롭고 의미 있고 예측 가능한 정보를 제공하기 위한 수단으로 기능 엔지니어링 또는 그래프 연결 기능 개발을 생각해 보세요.
살펴보고 싶은 내용의 예로는 Relationships, 커뮤니티, 사물이 클러스터되는 방식 등이 있어요. 여기에서 이 정보를 Machine Learning 모델이 처리할 수 있는 형식으로 추출할 수 있죠. 이 형식은 아래 나열된 표와 유사하며 식별자와 점수를 포함해요. 그런 다음 점수를 받아 Machine Learning을 수행하고 그에 따라 예측을 수행할 수 있어요.
이 예는 실제로우리 샌드박스.)
그래프 기능 카테고리 및 알고리즘
특징 추출 및 엔지니어링 외에도 많은 그래프 알고리즘이 있어요.
위 이미지에는 상업적으로 가장 자주 볼 수 있는 이미지가 포함되어 있지만 학계에도 더 많은 이미지가 존재해요.
- 커뮤니티를 찾고, 사물이 얼마나 긴밀하게 클러스터되어 있는지 살펴보고, 분할할 최적의 영역을 결정합니다.
- PageRank가 가장 유명한 중심성 그래프 알고리즘인 영향력에 관한 것이에요. 또한 Node가 다른 Node에 도달하는 속도와 같은 다른 유형의 영향도 살펴봅니다.
- Pathfinding은 최적의 경로를 찾는 알고리즘으로, 모든 그래프 알고리즘 범주의 기본이 돼요.
- Link Prediction은 토폴로지를 보고 두 항목이 얼마나 가까운지를 파악해서, 앞으로 연결될 가능성을 추정하는 방법이에요.
- Similarity, 즉 두 항목이 얼마나 비슷한지는 예측 가능한 간단한 척도죠.
- Graph Embedding은 연결성 및 전체 토폴로지를 포함한 그래프의 표현 학습을 의미해요.
그래프 연결 기능 엔지니어링: 사기 탐지
금융 범죄에서 연결된 기능 엔지니어링의 예시로 사기 탐지를 들 수 있어요. 대부분의 대기업은 이미 사기를 탐지하는 모델, 경험적 방법 또는 파이프라인을 가지고 있죠.
하지만 이 문제는 정말 복잡해요. 앞서 말씀드린 경제 모델에는 개인 정보가 많이 포함되어 있고, 이 정보는 모두 금융 기관에 저장되어 있거든요. 여기에는 위치, 인구 통계, ATM 사용 빈도 등이 포함돼요.
그래프는 다음과 같은 기능을 추가해서 사기를 정확하고 정밀하게 탐지해요. Connected Components는 특정 영역에 있는 사람들 간의 연결성을 살펴보는 거죠. 활동이 많은 그래프에서 분리된 영역은 잠재적인 내부자 사기를 나타낼 수 있어요.
게다가, PageRank는 일반적으로 영향력에 관한 것이지만, 관계의 방향을 결정하기 때문에 거래량도 살펴봐요. 따라서 이걸 활용해서 특이해 보이는 것과 영향력이 매우 큰 것을 확인할 수 있죠.
또 다른 그래프 커뮤니티 감지 알고리즘은 Louvain Modularity인데, 커뮤니티를 얼마나 자세히 살펴볼지 조절할 수 있어요. 예를 들어, 오탐지가 너무 많이 발생하는 걸 원하지 않으면 범위를 조금 줄여서 사소한 문제는 해결하고 더 큰 문제에 집중할 수 있죠. 또한 데이터의 계층 구조와 잠재적 사기 순위를 살펴볼 때 특히 유용한 하위 커뮤니티를 찾을 수도 있고요.
정말 빠르게 실행할 수 있는 건 Jaccard Similarity인데, 공통 속성을 기반으로 두 항목의 유사성을 간단하게 측정한 거예요. 예를 들어, 사기꾼 프로필이 이미 있다면 네트워크를 빠르게 실행해서 이 프로필과 80% 중복되는 노드 수를 확인할 수 있어요.
사기에 대한 그래프 솔루션은 이미 널리 사용되고 있어요. 지난 10년 동안 그래프 사기 및 이상 탐지와 관련된 미국 특허가 거의 50,000개나 될 정도예요. 정말 어려운 문제이기 때문에 활발하게 연구되는 분야인 거죠.
그래프 기능 엔지니어링 시작하기
기능 엔지니어링을 시작하고 싶다면, 데이터 소스로 시작해서 Neo4j로 옮겨 그래프를 유지하고 알고리즘을 실행한 다음 그래프에 다시 써야 해요.
다양한 그래프 알고리즘이 Neo4j에 있는데, 현재 35개 이상이 있어요. 아래 이미지에서 굵게 표시된 알고리즘은 Spark GraphFrames에서도 사용할 수 있어요.
각 카테고리에 포함된 그래프 알고리즘 수가 다른 걸 확인할 수 있어요. 이건 저희가 공간에 대한 열정을 가지고, 최대한 접근하기 쉬운 도구를 만들려고 노력한 결과이기도 해요. 어떤 알고리즘들은 최적화하고 실행하기가 더 쉽거든요.
Graph Embedding
다음 단계로 넘어가서 Graph Embedding, 즉 Deep Learning의 세계에 발을 담가볼까요? Graph Embedding은 그래프의 `nodes`와 `edges`의 토폴로지, 연결성, 그리고 `properties`를 설명하는 특징 `vectors` 또는 특징 모음으로 그래프를 변환하는 거예요. 일반적으로 `vector`에는 특정 형태의 차원이 포함되고, x, y, z 좌표도 포함되죠.
Graph Embedding에는 세 가지 주요 유형이 있어요.
- Vertex/Node Embedding: 각 `node`의 연결성을 설명해요.
- Path Embedding: 그래프 전체에 걸쳐 traversal, 즉 경로를 나타내요.
- Graph Embedding: 전체 그래프를 단일 `vector`로 인코딩해요.
아래 그림은 DeepWalk 논문에서 이 접근 방식을 어떻게 진행하는지 보여주고 있어요.
먼저 그래프를 보고 무작위 보행을 샘플링해요. 그런 다음 경사하강법을 사용해서 해당 모델을 학습시키죠. 마지막으로 `embedding`을 계산하는 거예요.
이건 하나의 접근 방식일 뿐이지만, 그래프에서 `embedding`까지 멋진 프로세스가 있다는 걸 보여주죠?
Graph Embedding: eBay 추천 사례
Graph Embedding은 추천 시스템에서 정말 중요한 역할을 해요. 멋진 예시를 하나 보여드릴게요. eBay에서 흥미로운 논문을 발표했는데, 추천을 위한 Knowledge Graph 추론에 대한 내용이에요.
이 예시에서 Alice라는 사용자는 Ed Sheeran의 "Shape of You"라는 노래를 좋아하는데, 이 사용자에게 다른 노래를 추천해주고 싶은 거예요.
오늘날 추천 시스템은 협업 필터링을 많이 사용하죠. 예를 들어 "앨리스는 'Shape of You'를 좋아하는 메리와 좀 비슷하네. 메리가 다른 노래도 좋아하니까, 그걸 앨리스에게 추천해줘야겠다!" 하는 방식이에요. 이건 모두 Alice `Node`를 기반으로 하는 거죠.
하지만 eBay는 여기서 노래 자체를 본다는 점이 달라요. 노래 자체에는 전체 `Knowledge Graph`가 담겨 있거든요. 그래프에는 곡을 작곡하고 노래하고 프로듀싱한 사람들은 물론, 곡의 장르와 언어도 포함되어 있어요. 우리는 누군가가 다른 노래에 도달하기 위해 어떤 경로를 거쳐야 하는지 추정하고 싶은 거예요.
이미지 속 앨리스 건너편에는 그녀가 관심을 가질 만한 노래가 있죠. 우리는 그러한 경로가 무엇인지, 그녀가 어떤 경로에 더 관심을 가질지 알고 싶은 거고요.
그래서 eBay가 한 일은 아래에 표시된 임베딩 레이어를 살펴보는 것이었어요. 파란색 항목은 `Node`이고 분홍색 항목은 `Relationship`이에요.
먼저, 그들은 각각의 잠재적 경로를 통과하면서 6개의 홉을 지나가요. 그런 다음 LSTM 레이어를 활용해서 각 노래의 경로에 대한 확률을 삽입하고 학습하고 생각해내는 거죠.
그래프 신경망: 기본 학습
가까운 미래에는 그래프 데이터 분석과 데이터 과학이 그래프 `Neural Network`의 방향으로 나아가는 것을 볼 수 있을 거예요.
요약하자면, 그래프 `Neural Network`는 함수 최적화를 목표로 경사하강법을 사용하여 다층 `Neural Network`를 훈련하는 `Deep Learning`을 의미해요. 여기에서는 입력과 출력이 동일하지 않지만 아래 시각적 개체에서는 그런 식으로 보이죠. 다음과 같은 숨겨진 중간 레이어도 있어요.
그래프 네이티브 학습은 그래프를 입력하고, 계산을 수행하고, 그래프를 반환하는 `Deep Learning` 모델을 의미해요. 이건 우리가 새로운 방식으로 다양한 일을 할 수 있게 해주죠. 첫째, 아래 그림과 같이 동일한 그래프 입력 및 출력을 통해 그래프이기도 한 중간 단계에서 상황이 어떻게 변하는지 확인할 수 있어요.
예측을 변경할 때, 이제 몇 가지 검증을 거치면서 각 단계에서 변화가 어떻게 일어나는지 확인할 수 있어요. 이건 AI 설명 가능성과도 연결되는데요. 저희는 AI와 Deep Learning이 블랙박스 안에 숨겨지는 걸 원치 않아요. 어떤 결정이 내려졌을 때, 그 결정이 어떻게, 왜 내려졌는지 알고 싶고, 이게 바로 그 첫 번째 단계인 거죠.
기본 학습은 데이터 과학자가 작업하기에도 훨씬 쉬워요. 화이트보드에 그래프를 그리고 결과를 숫자로 계산하는 것보다, 그래프를 출력해서 입력과 출력을 비교하면서 흐름을 이해하는 게 훨씬 직관적이니까요.
네이티브 학습을 통해서 무엇을 예측할 수 있을지 생각해보면 정말 흥미로워요. 저희는 단일 항목과 경로를 예측하는 것에 대해 이야기하고 있죠. 예를 들어, 이 노래에서 다른 노래로 가는 경로를 한번 살펴볼까요? 단순해 보일 수도 있지만, 현실 세계에서는 모든 것이 서로 연결되어 있고 동시에 많은 일들이 일어나고 있잖아요.
예를 들어, 이 음악을 듣는 동안 제가 최근에 결혼을 했고, 꽃 가게가 문을 닫았을 수도 있죠. 이렇게 모든 이벤트가 동시에 발생하기 때문에, 네이티브 학습은 그래프를 업데이트하고 여러 가지를 예측하면서 다차원 학습을 함께 살펴볼 수 있는 잠재력을 가지고 있어요.
지금은 연구 단계에 머물러 있지만, Machine Learning과 AI 시장이 향하고 있는 방향이 바로 이거라고 생각해요. 그런 연구의 예시로 화학 분야를 들 수 있겠네요.
아래 예시에서 화학자들은 다양한 구성 요소를 결합하고, 그 결과로 나오는 내용을 분석해서 형성될 잠재적인 새로운 분자를 예측하려고 하고 있어요.
기본적으로 이 화학자들은 분자를 가져와서 그래프로 다시 매핑해요. 분자가 `Node`와 `Relationship`을 포함하는 매우 그래픽적인 구조이기 때문에 특히 적합하죠. 그런 다음 이 그래프를 사용해서 Machine Learning을 수행하는 거에요.
반응물과 시약을 서로 추가해서 새로운 화합물을 예측하는 것이 가장 중요한 작업이지만, 화학자들은 그래프 기본 학습을 통해 전자 경로도 분석하고 있다고 해요.
자원
이러한 단계를 통해 그래프 데이터 분석과 그래프 데이터 과학이 발전하고 있다는 것을 더 깊이 이해하셨기를 바라요. 저는 지금이 우리 역사상 정말 기대되는 시기라고 생각해요. 그래프와 ML을 함께 가져와서 새로운 잠재력으로 피어나는 것을 지켜볼 때가 온 거죠.
지금 바로 시작할 수 있는 단계들이 많고, 저희는 여러분이 기반을 구축하고 앞으로 나아갈 수 있도록 돕고 싶어요. 비즈니스 측면의 독자분들을 위해 사용 사례 및 솔루션이 포함된 웹페이지와 그래프 기술과 AI 백서를 준비했어요.
데이터 과학자분들을 위해서는 샌드박스를 제공하고 있어요. Neo4j를 직접 체험해 볼 수 있는 대화형 환경이죠. 샌드박스에는 이미 데이터가 포함되어 있어서 직접 로드할 필요가 없어요! 그리고 개발자 가이드와 샌드박스, Neo4j 커뮤니티도 준비되어 있으니, 그래프에 대한 모든 것을 온라인에서 토론할 수 있는 글로벌 포럼에서 함께 이야기 나눠봐요!
마지막으로, 최근에 O'Reilly Media와 파트너십을 맺고 책을 출판했어요. 바로 Graph Algorithms: Apache Spark 및 Neo4j의 실제 예제랍니다. 이 전자책은 무료로 다운로드할 수 있어요.
- Feature Engineering
- Graph Embedding
- GraphConnect
- Machine Learning
- Neural Network
에이치시스템즈의 LogTree는 Neo4j 기반 GraphRAG 플랫폼으로, 데이터를 자동으로 지식그래프화하고 자연어 질의로 즉시 답을 제공합니다.
'Ontology & Knowledge Graph' 카테고리의 다른 글
| 7단계로 끝내는 지식 그래프 구축 가이드 (0) | 2026.07.07 |
|---|---|
| COVID 시대, 지식 그래프(Knowledge Graph)가 공급망 산업을 어떻게 혁신했나 (0) | 2026.07.06 |
| DBS는 어떻게 지식 지능 프레임워크로 지식을 연결하는가 (1) | 2026.07.06 |
| 28달러짜리 부품이 5백만 달러짜리 장비를 망가뜨리는 방법 – 그리고 GenAI가 이를 막는 방법 (1) | 2026.07.05 |
| 헬스케어 CIO들이 Knowledge Graph 기반 없이 AI 확장을 감당할 수 없는 이유 (0) | 2026.07.05 |
