강의복습
1. 그래프 신경망이란 무엇일까? (기본)
더보기
1) 정점 표현 학습
- 그래프의 정점들을 벡터로 표현하는 것 (정점 임베딩)
- 그래프에서 정점 사이의 유사성을 계산하는 방법에 따라 인접성, 거리, 경로, 중첩, 임의보행 등 여러 접근법으로 구분됨
- 귀납식 정점 표현 학습의 장점
- 학습이 진행된 이후에 추가된 정점에 대해서도 임베딩을 얻을 수 있음
- 모든 정점에 대한 임베딩을 미리 계산하여 저장해둘 필요가 없음
- 정점이 속성(Attribute) 정보를 가진 경우 이를 활용할 수 있음
2) 그래프 신경망 기본
- 그래프 신경망: 그래프와 정점의 속성 정보를 입력으로 받음
- 이웃 정점들의 정보를 집계하는 과정을 반복하여 임베딩을 얻음
- 각 집계 단계를 층이라고 부름
- 계산 그래프(Computation Graph): 대상 정점 별 집계되는 구조
- 서로 다른 대상 정점간에도 층별 집계 함수 공유
- 집계 함수: 이웃들 정보의 평균을 계산한 후 신겅망에 적용
- 출력 임베딩: 마지막 층에서의 정점 별 임베딩
- 학습 변수(Trainable Parameter): 층 별 신경망의 가중치
- 손실함수: 정점간 거리 보존 목표
- 후속 과제(Downstream Task)의 손실함수를 사용해 종단종(End-to-End) 학습이 가능함
- 학습된 그래프 신경망을 학습에서 제외된 정점, 새롭게 추가된 정점, 새로운 그래프에 적용 가능
3) 그래프 신경망 변형
- 그래프 합성곱 신경망(Graph Convolutional Network, GCN)
- GraphSAGE: 이웃들의 임베딩을 AGG 함수를 이용해 합친 후 자신의 임베딩과 연결(Concatenation)
- AGG 함수: Mean, Pool, LSTM 등
4) 합성곱 신경망과의 비교
- 그래프 형태의 데이터에는 합성곱 신경망이 아닌 그래프 신경망을 사용해야 효과적
5) 실습: DGL 라이브러리와 GraphSAGE를 이용한 정점 분류
2. 그래프 신경망이란 무엇일까? (심화)
더보기
1) 그래프 신경망 복습
2) 그래프 신경망에서의 어텐션
- 그래프 어텐션 신경망은 이웃 정점들의 임베딩을 평균내는 과정에서의 가중치도 함께 학습함
3) 그래프 표현 학습과 그래프 풀링
- 정점 임베딩으로부터 그래프 풀링을 통해 전체 그래프 임베딩, 즉 전체 그래프의 벡터 표현을 얻음
4) 지나친 획일화 문제
- 그래프 신경망의 층수를 증가시킬 때, 정점 임베딩이 서로 유사해지고, 후속 과제의 정확도가 떨어지는 현상
5) 그래프 데이터 증강
- 그래프에 간선을 추가한 뒤 그래프 신경망을 학습시키는 방법으로 후속 과제의 정확도가 향상 시킴
6) 실습: GraphSAGE의 집계 함수 구현
코멘트
벌써 5주차가 끝났다. 이번주는 추천시스템의 기본적인 내용만 배워서 그런지 저번주에 배웠던 자연어처리보다는 쉬웠지만 그래도 강의를 완벽하게 소화하지는 못했다. 다음주는 특강이라서 좀 여유가 있을 것 같은데 그 때 다시 복습해야겠다.
'부스트캠프 AI Tech 1기 [T1209 최보미] > U stage' 카테고리의 다른 글
Day28 학습정리 - 캐글 경진대회 노하우 & Full Stack ML Engineer (0) | 2021.03.03 |
---|---|
Day27 학습정리 - 서비스 향 AI 모델 개발 & AI 시대의 커리어 빌딩 (0) | 2021.03.02 |
Day24 학습정리 - 정점 표현 & 추천시스템 (심화) (0) | 2021.02.25 |
Day23 학습정리 - 군집 탐색 & 추천시스템 (기초) (0) | 2021.02.24 |
Day22 학습정리 - 페이지랭크 & 전파 모델 (0) | 2021.02.23 |