그래프에 대한 기계 학습을 위한 Amazon Neptune ML - Amazon Neptune

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

그래프에 대한 기계 학습을 위한 Amazon Neptune ML

연결된 대규모 데이터 세트에는 사람의 직관만으로는 쿼리를 사용하여 추출하기 어려운 귀중한 정보가 있는 경우가 많습니다. 기계 학습(ML) 기법은 수십억 개의 관계가 있는 그래프에서 숨겨진 상관관계를 찾는 데 도움이 될 수 있습니다. 이러한 상관관계는 제품 추천, 신용도 예측, 사기 식별 및 기타 여러 작업에 유용할 수 있습니다.

Neptune ML 기능을 사용하면 몇 주가 아닌 몇 시간 만에 대규모 그래프에 유용한 기계 학습 모델을 구축하고 훈련할 수 있습니다. 이를 위해 Neptune ML은 Amazon SageMaker에서 제공하는 그래프 신경망(GNN) 기술과 딥 그래프 라이브러리(DGL)(오픈 소스)를 사용합니다. 그래프 신경망은 인공 지능 분야에서 새롭게 부상하는 분야입니다(그래프 신경망에 대한 포괄적인 조사 등 참조). GNN을 DGL과 함께 사용하는 방법에 대한 실습 자습서는 딥 그래프 라이브러리를 통한 그래프 신경망 학습을 참조하세요.

참고

Neptune ML 모델에서는 그래프 버텍스가 '노드'로 식별됩니다. 예를 들어, 버텍스 분류는 노드 분류 기계 학습 모델을 사용하고 버텍스 회귀는 노드 회귀 모델을 사용합니다.

Neptune ML이 할 수 있는 작업

Neptune은 훈련 당시 그래프 데이터를 기반으로 사전 계산된 예측을 반환하는 변환 추론과 현재 데이터를 기반으로 데이터 처리 및 모델 평가를 실시간으로 적용하여 반환하는 유도 추론을 모두 지원합니다. 유도 추론과 변환 추론의 차이 섹션을 참조하세요.

Neptune ML은 기계 학습 모델을 훈련시켜 다음과 같은 5가지 범주의 추론을 지원할 수 있습니다.

현재 Neptune ML에서 지원하는 추론 작업 유형
  • 노드 분류   –   버텍스 속성의 범주형 특성을 예측합니다.

    예를 들어, 영화 쇼생크 탈출의 경우 Neptune ML은 [story, crime, action, fantasy, drama, family, ...]의 후보 세트에서 genre 속성을 story로 예측할 수 있습니다.

    노드 분류 작업에는 다음과 같은 두 유형이 있습니다.

    • 단일 클래스 분류: 이러한 유형의 작업에서는 각 노드에 대상 특성이 하나씩만 있습니다. 예를 들어, Alan TuringPlace_of_birth 속성 값은 UK입니다.

    • 다중 클래스 분류: 이러한 유형의 작업에서는 각 노드에 대상 특성이 2개 이상 있을 수 있습니다. 예를 들어, 영화 대부genre 속성 값은 crimestory입니다.

  • 노드 회귀   –   버텍스의 수치적 속성을 예측합니다.

    예를 들어, 영화 어벤져스: 엔드게임에서 Neptune ML은 해당 속성 popularity의 값이 5.0이라고 예측할 수 있습니다.

  • 엣지 분류   –   엣지 속성의 범주형 특성을 예측합니다.

    엣지 분류 작업에는 다음과 같은 두 유형이 있습니다.

    • 단일 클래스 분류: 이러한 유형의 작업에서는 각 엣지에 대상 특성이 하나씩만 있습니다. 예를 들어, 사용자와 영화 사이의 평점 엣지에는 값이 "예" 또는 “아니오”인 속성 liked가 있을 수 있습니다.

    • 다중 클래스 분류: 이러한 유형의 작업에서는 각 엣지에 대상 특성이 2개 이상 있을 수 있습니다. 예를 들어, 사용자와 영화 간의 평점에는 속성 태그에 여러 값이 포함될 수 있습니다(예: “재밌다”, “마음이 따뜻해진다”, “짜릿하다” 등).

  • 엣지 회귀   –   엣지의 수치적 속성을 예측합니다.

    예를 들어, 사용자와 영화 사이의 평점 엣지에는 수치적 속성 score가 있을 수 있는데, Neptune ML은 이 수치적 속성을 통해 사용자와 영화의 주어진 값을 예측할 수 있습니다.

  • 연결 예측   –   특정 소스 노드와 발신 엣지에 대해 가장 가능성이 높은 대상 노드 또는 특정 대상 노드와 수신 엣지에 대해 가장 가능성이 높은 소스 노드를 예측합니다.

    예를 들어, Neptune ML은 Aspirin을 소스 노드로 지정하고 treats를 발신 엣지로 지정하는 약물-질병 지식 그래프를 사용하여 heart disease, fever 등과 같이 가장 관련성이 높은 대상 노드를 예측할 수 있습니다.

    아니면 President-of를 엣지 또는 관계로, United-States을 대상 노드로 삼는 Wikimedia 지식 그래프를 통해, Neptune ML은 George Washington, Abraham Lincoln, Franklin D. Roosevelt 등과 같이 가장 관련성이 높은 헤드를 예측할 수 있습니다.

참고

노드 분류 및 엣지 분류는 문자열 값만 지원합니다. 즉, 문자열에 해당하는 항목인 "0""1"은 지원되지만, 0 또는 1과 같은 숫자 속성 값은 지원되지 않습니다. 마찬가지로, 부울 속성 값 truefalse도 작동하지 않지만, "true""false"는 작동합니다.

Neptune ML을 사용하면 다음과 같은 두 일반적인 범주에 속하는 기계 학습 모델을 사용할 수 있습니다.

현재 Neptune ML에서 지원하는 기계 학습 모델 유형
  • 그래프 신경망(GNN) 모델   –   여기에는 관계형 그래프 컨볼루션 네트워크(R-GCNs)가 포함됩니다. GNN 모델은 상기 세 유형의 작업 모두에 사용할 수 있습니다.

  • 지식 그래프 임베딩(KGE) 모델   –   여기에는 TransE, DistMult, RotatE 모델이 포함됩니다. 연결 예측에만 사용할 수 있습니다.

사용자 정의 모델   –   Neptune ML을 사용하면 위에 나열된 모든 유형의 작업에 대해 자체 사용자 지정 모델 구현을 제공할 수도 있습니다. 모델에 Neptune ML 훈련 API를 사용하기 전에 Neptune ML 도구 세트를 사용하여 Python 기반 사용자 지정 모델 구현을 개발하고 테스트할 수 있습니다. Neptune ML의 훈련 인프라와 호환되도록 구현을 구조화하고 구성하는 방법에 대한 자세한 내용은 Neptune ML의 사용자 지정 모델을 참조하세요.