그래프 신경망이란 무엇입니까? 설명 및 응용 [도표 포함]

게시 됨: 2021-01-08

목차

소개

최근 신경망은 패턴 인식 및 데이터 마이닝 분야에서 적용 및 사용 용이성으로 인해 큰 인기를 얻었습니다. CNN, RNN 및 자동 인코더와 같은 기술을 사용하여 객체 감지 및 음성 인식과 같은 작업에 딥 러닝을 적용하면 신경망 연구 및 개발에 엄청난 양의 작업이 수행됩니다.

이미지, 텍스트, 동영상 등의 데이터는 유클리드 데이터를 기반으로 하여 쉽게 딥러닝을 적용할 수 있습니다. 데이터가 개체 간에 매우 복잡한 관계를 갖는 그래프(비유클리드)로 표현되는 애플리케이션은 어떻습니까?

여기서 우리는 그래프 신경망(GNN)의 개념을 도입합니다. 이 기사에서는 그래프와 GNN의 정의와 기본 사항을 살펴보고 그래프 신경망의 최신 응용 프로그램을 살펴보겠습니다.

그래프란?

그래프 신경망이라는 제목에서 GNN의 가장 기본적인 부분이 그래프임을 알 수 있습니다.

컴퓨터 과학에서 그래프는 두 가지 구성 요소가 있는 데이터 구조로 정의됩니다. 꼭지점과 모서리. 그래프 G는 G = VE 로 정의할 수 있습니다. 여기서 V는 정점의 집합이고 E는 정점 사이의 가장자리입니다. 정점과 노드라는 용어는 종종 같은 의미로 사용됩니다. 방향 종속성이라고 하는 모서리에 화살표 표시가 있으면 방향 그래프입니다. 그렇지 않은 경우 무방향 그래프입니다.

원천

그래프는 소셜 미디어 네트워크, 도시 네트워크, 분자 등 여러 가지를 나타낼 수 있습니다. 도시 네트워크를 나타내는 다음 그래프를 고려하십시오. 도시는 노드로 표시되고 도시를 연결하는 도로는 가장자리입니다.

원천

위의 그래프 네트워크를 사용하여 연결이 잘 된 도시를 찾거나 두 도시 간의 최단 거리를 찾는 것과 같은 이러한 도시와 관련된 여러 문제를 해결할 수 있습니다.

그래프 신경망이란 무엇입니까?

그래프는 매우 강력한 표현력을 가지고 있어 머신러닝 분야에서 널리 주목받고 있습니다. 모든 노드에는 연관된 임베딩이 있습니다. 해당 임베딩은 데이터 공간의 노드를 정의합니다. 그래프 신경망은 그래프에서 작동하는 신경망 아키텍처를 나타냅니다.

GNN 아키텍처의 주요 목표는 이웃에 대한 정보를 포함하는 임베딩을 학습하는 것입니다. 이 임베딩을 사용하여 노드 레이블 지정, 노드 및 에지 예측 등과 같은 여러 문제를 해결할 수 있습니다.

즉, 그래프 신경망은 그래프가 제공하는 데이터에 대한 추론을 수행하도록 설계된 딥 러닝 방법의 추가 클래스입니다. 그래프에 적용되며 노드 수준, 에지 수준 및 그래프 수준 예측 작업을 쉽게 수행할 수 있습니다.

CNN이 아닌 이유?

GNN의 가장 큰 장점은 CNN(Convolutional Neural Networks)이 수행하지 못한 작업을 수행할 수 있다는 것입니다. CNN은 객체 감지, 이미지 분류 및 인식과 같은 작업을 수행하는 데 사용됩니다. CNN은 은닉 컨볼루션 레이어와 풀링 레이어를 사용하여 이를 달성합니다.

그래프 데이터에 대해 CNN을 수행하는 것은 매우 임의적이고 복잡한 토폴로지로 공간적 국소성이 없음을 의미하므로 계산적으로 어렵습니다. 또한 CNN을 적용하기 어렵게 만드는 고정되지 않은 노드 순서가 있습니다.

그래프 신경망

따라서 GNN은 에지 레벨, 노드 레벨 및 그래프 레벨 예측 작업에 편리한 방법을 제공하는 그래프에 직접 적용되는 신경망이라는 것을 알 수 있습니다. 그래프 신경망에는 주로 세 가지 유형이 있습니다.

  1. 순환 그래프 신경망
  2. 공간 컨벌루션 네트워크
  3. 스펙트럼 컨볼루션 네트워크

GNN의 직관 중 하나는 노드가 이웃과 연결에 의해 정의된다는 것입니다. 노드의 모든 이웃이 제거되면 노드가 모든 정보를 잃는다고 상상함으로써 시각화할 수 있습니다. 따라서 노드의 이웃 개념과 이웃에 대한 연결이 노드를 정의합니다.

이를 염두에 두고 모든 노드에 상태(x)를 주어 개념을 나타내도록 합시다. 노드 상태(x)를 사용하여 개념에 대한 결정인 출력(o)을 생성할 수 있습니다. 노드의 최종 상태(x_n)를 "노드 임베딩"이라고 합니다. 모든 그래프 신경망의 주요 임무는 인접 노드에 대한 정보를 보고 각 노드의 "노드 임베딩"을 결정하는 것입니다.

가장 강력한 버전의 GNN, Recurrent Graph Neural Network 또는 RecGNN부터 시작하겠습니다.

순환 그래프 신경망

원본 논문에서 언급했듯이 RecGNN은 (X,d)를 완전한 미터법 공간이라고 하고 (T:X→X)를 수축 매핑이라고 하는 Banach 고정 소수점 정리를 가정하여 구축되었습니다. 그러면 T는 고유한 고정 소수점(x*)을 가지며 임의의 x∈X에 대해 n→∞에 대한 시퀀스 T_n(x)은 (x*)로 수렴합니다. 즉, 매핑 T를 x에 k번 적용하면 x^k는 x^(k-1)과 거의 같아야 합니다.

공간 컨벌루션 네트워크

Spatial Convolutional Network의 직관은 CNN의 직관과 유사합니다. CNN에서 알 수 있듯이, 아이디어는 필터와 학습 가능한 가중치를 사용하여 중심 픽셀 주변의 인접 픽셀을 합산하여 컨볼루션을 수행하는 것입니다. Spatial Convolutional Networks는 인접한 노드의 기능을 중심 노드로 집계하여 유사한 아이디어를 채택합니다.

원천

스펙트럼 컨볼루션 네트워크

다른 그래프 신경망과 달리 이 유형의 GNN은 강력한 수학 기반을 가지고 있습니다. 그래프 신호 처리 이론에 따라 개발되었습니다. 단순화를 위해 Chebyshev 다항식 근사를 사용합니다.

GNN은 무엇을 할 수 있습니까?

GNN이 해결할 수 있는 문제는 크게 3가지 범주로 분류됩니다.

  1. 노드 분류
  2. 링크 예측
  3. 그래프 분류

노드 분류

그래프의 각 노드에 대한 노드 임베딩을 예측하는 것과 관련됩니다. 이러한 경우 그래프의 일부에만 레이블이 지정되므로 반 지도 그래프라고 합니다. 일부 응용 프로그램은 YouTube 동영상, Facebook 친구 추천 등입니다.

링크 예측

주요 작업은 그래프에서 두 엔터티 간의 관계를 식별하고 두 엔터티 사이에 연결이 있는지 예측하는 것입니다. 예를 들어, 서로 다른 제품의 사용자가 모델에 일련의 리뷰를 제공하는 추천 시스템을 생각해 보십시오. 작업은 사용자의 선호도를 예측하고 추천 시스템을 조정하여 사용자의 관심에 맞는 제품을 홍보하는 것입니다.

그래프 분류

전체 그래프를 몇 가지 다른 범주로 분류하는 것과 관련이 있습니다. 이미지 분류 작업과 매우 유사하지만 여기서 대상은 그래프 영역입니다. 화학에서와 같은 그래프 분류의 몇 가지 예가 있습니다. 모델에 그래프 형태의 분자 구조가 주어지고 작업은 대상을 특정 범주로 분류하는 것입니다.

GNN의 실시간 응용

2018년에 도입된 이후 GNN은 아래에 요약된 몇 가지 실시간 애플리케이션을 발견했습니다.

자연어 처리

GNN은 감성 분류, 텍스트 분류, 시퀀스 라벨링과 같은 다양한 NLP 애플리케이션에서 애플리케이션을 찾습니다. 적용이 쉽기 때문에 NLP에서 사용됩니다. 유사한 게시물 예측 및 사용자에게 특정 콘텐츠 추천과 같은 소셜 네트워크 분석에도 사용됩니다.

컴퓨터 시각 인식

Computer Vision은 Image Classification, Object Detection 등과 같은 분야에서 Deep Learning의 도움으로 빠르게 성장한 광대한 분야입니다. 가장 인기 있는 응용 프로그램은 Convolutional Neural Networks입니다. 늦게 GNN도 이 도메인에 적용되었습니다. Computer Vision에 GNN을 적용하는 것은 초기 단계에 있지만 향후 몇 년 동안 엄청난 잠재력을 보여줍니다.

과학

GNN은 물리학 시스템, 부작용 예측 및 질병 분류와 같은 과학 분야에서도 널리 사용되고 있습니다. 화학자들은 또한 GNN을 사용하여 화합물과 분자의 그래프 구조를 연구하고 있습니다.

기타 도메인

GNN의 적용은 위의 작업에만 국한되지 않습니다. 추천 시스템, 소셜 네트워크 분석 등과 같은 다양한 영역에 GNN을 적용하려는 여러 시도가 있었습니다.

결론

GNN이 도입된 후 지난 몇 년 동안 GNN은 그래프로 모델링할 수 있는 문제를 해결하는 강력하고 신뢰할 수 있는 도구가 되었습니다. 이는 유연성, 표현력 및 쉬운 시각화 때문입니다. 따라서 GNN은 광범위한 실제 응용 프로그램과 함께 비정형 데이터에 대한 직관적인 솔루션입니다.

GCN과 그 기능 및 이점에 대해 더 알고 싶다면 upGrad Education Pvt에 등록하십시오. Ltd. 및 IIITB의 기계 학습 및 인공 지능에 대한 대학원 및 디플로마 과정. 머신 러닝 및 AI에 대한 이 과정은 학생과 일하는 전문가를 위해 설계되었습니다.

이 과정은 사례 연구 및 과제 모음, 업계 멘토링 세션, IIIT 방갈로르 동문 자격, 일류 기업과의 취업 지원, 그리고 가장 중요한 것은 풍부한 학습 경험을 제공합니다.

신경망이란 무엇을 의미합니까?

신경망은 패턴을 식별하는 데 도움이 되는 네트워크 알고리즘이며 다소 인간의 두뇌를 따라 설계되었습니다. 기계 학습과 인공 지능을 사용하여 감각 입력을 이해하고 원시 데이터를 분류하거나 그룹화합니다. 사진, 음악, 텍스트, 시계열 등 모든 실제 통계는 신경망이 인식하는 문자로 변환되어야 하며, 숫자는 벡터로 인코딩됩니다. 데이터 분류 및 클러스터링을 지원합니다. 레이블이 지정된 데이터 세트가 있는 경우 데이터를 분류하고 예제 입력 간의 유사성을 기반으로 레이블이 지정되지 않은 데이터를 그룹화하는 데 도움이 됩니다. 강화 학습, 다양성 및 회귀 알고리즘을 포함하는 보다 광범위한 기계 학습 응용 프로그램의 일부입니다.

컨볼루션 신경망이란 무엇입니까?

CNN 또는 ConvNet이라고도 하는 Convolutional Neural Network는 입력 사진을 찍고 이미지의 다양한 요소에 우선 순위를 부여하고 이들을 구별할 수 있는 기술입니다. CNN에 필요한 처리량은 다른 알고리즘보다 훨씬 적습니다. CNN은 시각 피질의 도움을 받아 설계되었으며 우리 뇌의 뉴런과 유사한 패턴을 가지고 있습니다. CNN에서도 개별 뉴런은 수용장이라는 시야의 작은 영역에서만 충격에 반응할 수 있습니다.

신경망은 기계 학습과 어떻게 다릅니까?

머신 러닝은 데이터를 분석하고, 데이터를 연구하고, 흥미로운 패턴을 찾기 위해 연구한 내용을 적용하는 강력한 알고리즘 세트입니다. 반면 신경망은 기계 학습에서 뉴런 그래프를 사용하여 데이터를 모델링하는 데 사용되는 기술 클러스터입니다. 신경망은 자체적으로 신뢰할 수 있는 판단을 내릴 수 있는 방식으로 알고리즘을 정렬하는 반면, 머신 러닝 모델은 데이터에서 학습한 내용을 기반으로 결정을 내립니다. 결과적으로 기계 학습 모델은 데이터에서 학습할 수 있지만 초기 단계에서는 약간의 인간 상호 작용이 필요할 수 있습니다. 신경망은 그 안에 쌓인 레이어가 고유한 개념의 계층을 통해 입력을 전달하여 자신의 실수에서 배울 수 있기 때문에 인간의 상호 작용이 필요하지 않습니다.