본문 바로가기

전체 글

(94)
Graph Attention Networks 리뷰 Presentation pptx 자료문제:앞서 GNN, GCN, GraphSAGE 등 그래프 구조에 Neural Network를 적용하려는 시도가 다수 있었다. NN 사용이 그래프에서 더 힘든 이유는 개체(노드)들의 연관성이 일반 그리드와 같은 선형적인 구조에 비해 복잡하기 때문이다. 그래서 이와 같은 복잡성을 타개하기 위해 여러 노력이 있었지만 그 연구들은 모두 노드 간의 엣지를 모두 같은 가중치로 생각해 주었다. 즉 기존에는 "연결되어 있다", "연결이 안 되어 있다"만 관찰했다면 GAT에서는 "얼마나 강하게 연결되어 있는가?"도 계산의 대상에 포함한다는 점에서 기존의 연구들과 차별점이 있다.  필요성:여태까지 우리는 노드의 피쳐와 다른 노드와의 연결 유무만을 주관심사로 두었다. 하지만 본 논문에서 ..
[GCN] Graph Convolutional Networks 논문 리뷰 목적:어떤 그래프 구조가 있다고 생각해 보자. 우리는 모든 노드들의 라벨을 채워 넣고 싶어 한다. 하지만 라벨이 채워져 있는 노드가 몇 개 없다면? 가령 그 비율이 전체 노드 개수의 5% 뿐이라면? 어떻게 나머지 라벨이 없는 노드들의 라벨을 예측할 것인가에 대한 연구가 Graph Convolution Network이다. 즉 적은 수의 label known 노드를 가지고 unknown 노드들을 classification 할 수 있는 알고리즘이다. 적용 범위는 소셜 네트워크, 논문의 인용 그래프 등에서 사용 가능하다. 문제:라벨이 있는 노드들만 가지고 지도 학습을 수행하기에는 정보가 너무 부족하다. 예를 들어 전체 노드의 5%만 라벨이 있다면 각 노드의 피쳐를 학습시켜 라벨을 예측하는 모델은 과연 나머지 9..
node2vec : Scalable Feature Learning for Networks 리뷰 목적 :네트워크에 존재하는 노드들을 이용해 예측 작업에 용이하게 하는 것을 목적으로 논문은 전개된다. 네트워크는 상당히 복잡하기 때문에 이것을 저 차원으로 변환한 이후에 다양한 예측 작업을 수행할 수 있게끔 임베딩하는 것이 그 목적이라고 할 수 있다.  그러나 임베딩 된 노드들이 놓여 있는 embeding space의 노드들은 기존의 공간인 graph space에서의 노드들 간의 상대적 관계를 임베딩 과정에서 잃으면 안 된다. 이것을 잃게 되면 굳이 알고리즘을 사용해 가면서 해결할 문제가 아니지 않은가. 본논문에서는 이 관계를 이웃(neighborhood)에 입각해 설명하였다. 예를 들어 graph space에서 매우 긴밀히 연결되어 있는 노드들은 embeding space에서도 긴밀한 관계를 가져야 한..
[백준]_14220번 : 양아치 집배원(파이썬) 14220번: 양아치 집배원 첫 줄에는 방문하는 도시 n개가 주어지고(1≤n≤500), 그 다음 n줄에는 n개의 원소가 주어지는 데, i번째 줄의 j번째 원소는 i에서 j로 가는데 거리이다. 만약 거리가 0이면 i에서 j로는 이동할 수 없 www.acmicpc.net 애초에 문제 자체가 이해하기 되게 어려웠던 문제이다. 예제 입력들을 이용해서 현 상황을 이해해 보자. 예제 입력 1 1행 2열에 있는 1이 의미하는 것은 1번 도시에서 2번 도시로 이동하는데 걸리는 비용이다. 그래서 만일 1행 2열의 1을 선택하면 이 시점까지의 이동 비용은 1이고 총 방문한 도시의 수는 2(1번 도시에서 출발, 2번 도시에 결국 도착. 총 2개의 도시를 방문)이다. 대각 성분들이 전부 0인 이유는 예를 들어 n번 도시에서 ..
[4.4.7] Dive into Deep Learning : exercise answers 4.4. Softmax Regression Implementation from Scratch — Dive into Deep Learning 1.0.3 documentation d2l.ai [1-1] We can observe this code when we tamper with XX_prob = softmax(X)X_prob, X_prob.sum(1) Instead of consisting X with small values such as torch.normal as the book did, let X beX=torch.arange(90, 100).reshape(2, 5) now, X consists of large values from 90 to 99, let's watch what happens to..
[4.3.4] Dive into Deep Learning : exercise answers 4.3. The Base Classification Model — Dive into Deep Learning 1.0.3 documentation d2l.ai [1] $L_{v}$ denotes the 'averaged total validation loss' and $L_{v}^{d}$ denotes 'averaged validation loss of a minibatch'. By the question, we have to find the relationship between $L_{v}$ and $L_{v}^{d}$. Let sample size $=N$(total examples in the dataset) minibatch size $=M$(number of examples in the minib..
[백준]_11000번 : 강의실 배정(파이썬) 11000번: 강의실 배정 첫 번째 줄에 N이 주어진다. (1 ≤ N ≤ 200,000) 이후 N개의 줄에 Si, Ti가 주어진다. (0 ≤ Si < Ti ≤ 109) www.acmicpc.net 우리의 목표는 강의 시작 시간과 끝 시간을 고려하여 최소 사용 강의실 수를 구하자 이다. 예를 들어 강의 시간을 다음과 같이 나타낸다면, (1, 2, 4) (3) 으로 총 2개의 강의실이 필요함을 알 수 있다. 물론 이 결과는 직관적으로 강의의 끝과 시작이 겹치는 1, 2, 4번 강의를 묶는 것이 강의와 강의 사이의 시간 낭비(공강)를 줄일 수 있기 때문에 나온 것이다. 즉 tuple(시작 시간(s), 끝 시간(f))이 원소인 리스트를 정렬하여 시작 시간과 끝 시간을 더 쉽게 관찰할 수 있게 해주는 것이 우선 ..
[4.2.5] Dive into Deep Learning : exercise answers 4.2. The Image Classification Dataset — Dive into Deep Learning 1.0.3 documentation d2l.ai [1] Usually batch_size's are formed as $2^n$ from, we can inspect the run time of loading the dataset when batch_size=$2^n$. ls=[(2*i)**2 for i in range(1, 9)] t_info = [] for size in ls: data = FashionMNIST(resize=(32, 32), batch_size=size) tic = time.time() for X, y in data.train_dataloader(): continue t..