
GNN을 공부하다 보면 반드시 접하게 되는 3가지 레이어가 있다. 1. GCN 2. Graph SAGE 3. GAT(Graph Attation) 공부를 하다보면.. 수학식이 나오면 뭔가 좌절감이 들고 못할 것만 같은 생각이 드는데, 이번 기회를 통해 수학식을 천천히 어떤 뜻을 내포하고 있는지 살펴보고자 한다. 첫번째 내용은 GCN이다. GCN은 Graph Convolution Network, CNN 필터 개념(weigth 공유 개념)을 한번쯤은 접해 봤을것이다. CNN의 개념을 GNN에 활용했다고 생각해도 무방하다. 일단 GCN 이전 GNN에서 노드를 업데이트 할때 사용한 공식을 한번 봐보자. 위 공식은 단순 GNN에서 노드를 업데이트 하는 방식이다. 일단 이 공식부터 한번 살펴보기로 하자. 이처럼 식을..

GNN을 공부하면 GCN, Graph SAGE, GAT(Graph attention)의 이야기를 안들어 볼 수 없다. 이 셋중 DGL 라이브러리의 SAGEConv 레이어가 어떻게 작동하는지 간단한 예제를 통해 공부한 것을 설명해보고자 한다. 예제는 SAGEConv 코드를 보면 제공해주는 코드를 사용하고자 한다. 그 전에 간단하게 GNN에 대해 설명해보고자 한다. 실생활에서 그래프를 그린다고 한다면, 위와 같이 그릴 수 있을 것이다. GNN은 그래프에 feature를 추가하고, 주어진 feature 사용해 모델을 생성하여 문제를 푼다. 위 그림에는 6개의 Node, Edge, Feature을 그림으로 그려놓았다. 밑에 SAGEConv에서 주는 간단 코드를 봐보자. import dgl import numpy..

aifactory에서 진행하고 있는 graph 러닝 해커톤에 참여하여 GNN을 접하게 됐다. https://aifactory.space/competition/detail/2106 [Space-S x KaKR] 그래프 러닝 및 해커톤 aifactory.space 막상.. CNN,RNN과는 전혀 다른 분야라 어렵게만 느껴진다.. 일단, DGL이라는 그래프 관련 라이브러리가 따로 존재하여, 다시 처음부터 공부를 하는 느낌이 든다... 그럼, GNN이 무엇일까..? 알고리즘을 공부해봤다면 BFS/DFS를 들어봤을 것이다. 해당 알고리즘을 풀기위해선, 밑에와 같이 경로를 matrix로 표현하여 문제를 푼다. GNN을 사용하고자 하는 테스크는 위처럼, 관계가 있을 경우 사용한다고 생각하면 된다. 가장 대표적인 예시..
딥러닝은 자유롭게 모델을 만들어 사용할 수 있기에, 목표에 따라 모델의 형태가 많이 다르게 된다. https://www.asimovinstitute.org/neural-network-zoo/ The Neural Network Zoo - The Asimov Institute With new neural network architectures popping up every now and then, it’s hard to keep track of them all. Knowing all the abbreviations being thrown around (DCIGN, BiLSTM, DCGAN, anyone?) can be a bit overwhelming at first. So I decided to compo..

딥러닝 공부를 지속적으로 해왔지만.. 늘 모델만 어떻게 구성되어있는지 살펴보는 삶을 살고있었다. 마음 한 편 어딘가 가장 중요하다고 생각되는 오차 역전파에 대한 응어리(?)가 남아있었다. 오차 역전파의 원리는 알지만.. 대충 알고 있다는 생각이 들어 이번에 간단한 계산을 통해 완전히 이해해보려 한다. 이와 같이 딥러닝을 구성해보았다고 가정해보자. 이와 같이 y-hat 을 예측하는 모델이 있다고 가정해보자. 우리는 w1,w2 / w3,w4를 업데이트 하여 해당 모델에서 y-hat을 가장 잘 예측 할 수 있도록 만들어야 한다. 여기서 'w1,w2/ w3,w4를 업데이트' 한다는 개념이 가장 중요하다고 개인적으로 생각한다. 이유는 간단하다. 유튜브나 강의 들을 듣다보면, 아래와 같이 체인룰에 의하여 구한다고 ..

딥러닝을 시작하면 가장 처음 접하는 문제가 XOR구분 문제일 것이다. AND/OR는 밑에 그림[1-1]처럼 하나의 선을 통해 구분 할 수 있다고 대부분의 사이트에서 말한다. 직관적으로 봐도 한개로 충분히 나눠질 수 있다고 생각한다. 하지만, [그림1-2]에 XOR을 나누려면 선 두개를 그려 나눌 수 있다고 한다. 이런 언급을 한 뒤 [그림1-2] 오른쪽 그림처럼 hidden layer 한층에 node 2개 생성하고 학습을 통해, XOR의 문제를 풀 수 있다고 한다. 여기서 필자는 궁금증이 생겼다... "그래.. 문제 풀 수 있는건 알겠는데.. 인터넷에 떠돌아 다니는 [그림1-2]처럼 진짜 선을 그려서 구별하는거야?" "그럼 다른거 다 필요없고 파이썬을 통해 시각화 한 것을 보고싶어!" 라는 생각을 하게되..

지금까지 아이유/수지 대결을 성사시키기 위해 데이터/ 훈련 환경/ 모델까지 거의 모든 것을 준비했다. 이제 남은 건 가장 훌륭한 모델을 뽑아내는 것뿐. 거의 다 왔다. 끝이 보이기 시작한다? 오늘은 딥러닝을 하다 보면 한 번쯤은 볼 수 있는 오버 피팅(Overfitting)을 방지하고 조금이나마 억제하여 훌륭한 모델을 만들 수 있는 방법을 소개하고자 한다. 그럼 여기서 오버 피팅(Overfitting)이란 무엇인가? 간단히 말해 우리가 준비한 훈련 데이터에만 잘 작동하도록 만들어진 모델이다. 다시 말하자면 새로운 이미지를 제공하면 엉뚱하게 예측한다는 소리다. 이 현상을 막기 위해 정규화(L1, L2) / 학습률 조정 / 배치노멀라이즈 / 드롭아웃 / 앙상블 / 데이터 증량 .... 대략 이 정도 있다. ..

안녕하신가. 오늘은 흙수저들도 딥러닝을 할 수 있도록 환경을 만들어 보고자 한다. 여기서 흙수저란 CPU을 사용해서 현재 딥러닝을 학습하는 사람들이라고 생각하면 반드시 따라 해라. 꼭 반드시 해라... 14시간 걸릴 학습을 2~3시간 만에 끝낼 수도 있다. 그러니 반드시 해라. 일단 우리의 인자하신 Google께서 딥러닝을 할 수 있는 환경을 제공해 주신다.(박수) 이름하여 "Colab" 오늘은 Colab을 설정해보기로 하자. 자 일단 다들 구글 아이디가 있다는 전재하에 시작한다. (없다면 회원가입) 1. Google의 '드라이브'로 접속 2. 마우스 우 클릭 후 더 보기 > 연결할 앱 더 보기 클릭 3. google colab 설치 google colab을 검색해서 설치를 진행하시면 오른쪽과 같은 화면..
- Total
- Today
- Yesterday
- yolov11
- LLM
- 초보자
- CNN
- 이미지
- 오류
- YOLO
- 깃
- 딥러닝
- 디텍션
- docker
- Tree
- 자바
- 욜로
- 오블완
- 티스토리챌린지
- GIT
- 어탠션
- c3k2
- GNN
- github
- 알고리즘
- YOLOv8
- 뜯어보기
- DeepLearning
- V11
- python
- 도커
- 정리
- java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |