pytorch tensor를 이용하다보면, a,b,c tensor를 하나로 합치는 경우가 필요하다. 그때 사용하는 것은 concat, stack 함수를 이용해서 사용하면 될텐데... 조금의 차이가 존재한다. 예시를 통해 정리해보고자 한다. 1. concat - pandas를 자주 사용하는 개발자들은 pd.concat을 종종 사용할 것이다. 이때 concat이 torch에도 같다고 생각하면 된다. 한마디로 정리하자면, concat은 기존 shape을 유지한다. 예제를 보자. x = [[1,2], [3,4]] / y = [[4,5],[6,7]] 를 선언하였다. shape은 (2,2) 이다. shape을 잘 기억하길 바란다. 단순 concat을 진행하게 되면, defalut = dim 0 이므로 세번째 처럼 ..
딥러닝을 처음 접하면 vision, NLP 분야를 접하게 된다. 가장 익숙하면서 가장 인기가 많은 분야이다. 하지만, 이 외 분야인 오디오, 생성, 그래프 등등.. 많은 분야가 존재하며 딥러닝을 공부하다 보면 어느순간 다양한 분야를 접해야만 할 것이다. 그 중 2개의 그래프 관련 대회를 참여하면서, 그래프(GNN)에 대한 관심이 많아졌다. 그래프 관련 라이브러리도 다양하게 존재한다. 그 중 필자는 DGL 라이브러리를 사용하여 그래프 관련 task를 진행하였다. DGL은 https://docs.dgl.ai/ 해당 사이트를 통해 여러 example을 제공하고 있고, 필자도 해당 사이드의 설명을 보고 처음에 공부하였지만, 점점 설명이 생략되고 이론적으로는 이해하겠지만, 실질적 코드로는 어떻게 짜여지고, 구동되..
추천 대회를 참여하면서, Neural Collaborative Filtering 모델을 경험했고, 해당 모델은 구조,내용상 어렵지 않아 논문을 발번역후 필자의 생각을 정리해보고자 한다. 논문 : https://arxiv.org/pdf/1708.05031.pdf [서론] 최근 몇 년 동안, 심층 신경망은 음성 인식, 컴퓨터 비전 및 자연어 처리에서 엄청난 성공을 거두었다. 그러나 추천 시스템에 대한 심층 신경망의 탐색은 상대적으로 연구가 덜 되었다. 본 연구에서, 우리는 implicit 피드백을 기반으로 추천의 핵심 문제 (협업 필터링)를 해결하기 위해 신경망을 기반으로 한 기술을 개발하려고 노력한다.최근의 일부 연구는 추천을 위해 딥 러닝을 사용했지만, 주로 아이템의 텍스트 설명이나 음악의 음악 특징과 ..
늘 항상 고민인게 있다. 바로 피쳐를 어떻게 선택/삭제할 것인가이다. 어떤 대회는 아주 적은 피쳐로 점수가 높아지는 대회가 있는 반면, 피쳐가 다양해야 높은 점수를 얻을 수 있는 대회도 존재한다. 즉, 피쳐가 많고 적고의 답은 없는것 같다. 그중 피쳐를 삭제하고자 할때 개인적으로 X와 Y의 상관관계를 보고 시작한다. 그러다 보면.. 반드시 다중 공선성이 존재하는 피쳐가 존재하는 것을 볼 수 있을것이다. 그럼 다중공선성이 존재하는 피쳐는 어떻게 해야할까? 놔둬야하나? 지워야 하나? 늘 고민이다.. 고민을 하던 와중 이 글을 보고 하나 배웠다. https://blog.pabii.co.kr/multicollinearity-famous-but-stupid/ 다중공선성과 Random Forest에 대한 "업계 유..
이번에는.. 어느 분야에나 적용되고 있는 Attention을 살펴보고자 한다! 조금 충격을 먹은게, GNN분야를 공부하는데, 튜토리얼에 Attention 개념이 나와서 충격받았다... 나름 생각한 것도 적어 놓을태니 Attention은 잘 살펴보길 바란다. 혹시, GCN, SAGE 공식 설명을 보지않은 분은 보고오는걸 추천한다.. 왜냐면.. 수식에 대한 거부감을 줄이기 위해....? https://sims-solve.tistory.com/70 GNN 수학식 뜯어보기 - 2. Graph SAGE이번 포스팅에서는 Graph SAGE라 불리는 layer는 어떻게 node를 업데이트 하는지 수식을 살펴보고자 한다. 혹시, GCN 수식을 보지 못한 사람은 첫번째 포스팅을 보고 수식에 대한 두려움을 없애고 오는si..
이번 포스팅에서는 Graph SAGE라 불리는 layer는 어떻게 node를 업데이트 하는지 수식을 살펴보고자 한다. 혹시, GCN 수식을 보지 못한 사람은 첫번째 포스팅을 보고 수식에 대한 두려움을 없애고 오는 것을 추천한다.! https://sims-solve.tistory.com/69 GNN 수학식 뜯어보기 - 1. GCN GNN을 공부하다 보면 반드시 접하게 되는 3가지 레이어가 있다. 1. GCN 2. Graph SAGE 3. GAT(Graph Attation) 공부를 하다보면.. 수학식이 나오면 뭔가 좌절감이 들고 못할 것만 같은 생각이 드는데, 이번 기 sims-solve.tistory.com 간단하게 Graph SAGE내용을 이야기 하고 들어가보자. GNN,GCN의 경우에는 노드들의 fea..
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..
- Total
- Today
- Yesterday
- GIT
- 딥러닝
- 티스토리챌린지
- 깃
- V11
- 초보자
- 이미지
- YOLO
- CNN
- 백준
- 자바
- github
- yolov11
- 어탠션
- Tree
- 알고리즘
- 욜로
- GNN
- c3k2
- YOLOv8
- 도커
- 정리
- java
- 뜯어보기
- docker
- 오류
- DeepLearning
- python
- 디텍션
- 오블완
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |