AI
-
들어가기 전에 이제까지 딥 러닝 모델은 CNN(Convolution Neural Network), RNN(Recurrent Neural Network), Transformer 등 다양한 신경망 모델 종류로 발전해 왔다. 그렇지만 복잡한 구조 또는 관계를 지니는 문제를 임베딩하는 데 한계가 있어왔고, 이러한 문제를 해결할 수 있는 모델로서 그래프(Graph)를 사용한 신경망 모델이 제안된다. 이번 글에서는 그래프를 사용한 딥 러닝 모델인 GNN의 정의와 의의에 관해 살펴보고, GNN 모델을 해석하는 관점에서 제시된 여러 종류의 GNN 모델에 관해 살펴보자. 그래프(Graph)의 정의와 사용 그래프는 정보과학을 공부하면 항상 빼 놓을 수 없는 중요한 자료구조이다. 프로그래밍 문제를 푼 사람들이라면 알겠지만 ..
GNN(Graph Neural Network)의 정의와 특징 그리고 추천시스템에서의 GNN 계열 모델들어가기 전에 이제까지 딥 러닝 모델은 CNN(Convolution Neural Network), RNN(Recurrent Neural Network), Transformer 등 다양한 신경망 모델 종류로 발전해 왔다. 그렇지만 복잡한 구조 또는 관계를 지니는 문제를 임베딩하는 데 한계가 있어왔고, 이러한 문제를 해결할 수 있는 모델로서 그래프(Graph)를 사용한 신경망 모델이 제안된다. 이번 글에서는 그래프를 사용한 딥 러닝 모델인 GNN의 정의와 의의에 관해 살펴보고, GNN 모델을 해석하는 관점에서 제시된 여러 종류의 GNN 모델에 관해 살펴보자. 그래프(Graph)의 정의와 사용 그래프는 정보과학을 공부하면 항상 빼 놓을 수 없는 중요한 자료구조이다. 프로그래밍 문제를 푼 사람들이라면 알겠지만 ..
2023.01.02 -
Visual Programming으로 AI 모델링이 가능한 웹 어플리케이션을 개발하며 지난 7~8월 여름방학에 고려대학교 정보대학 HVCL 연구소에서 학부 인턴으로 근무하면서 어떠한 일을 진행했는지를 개발 후기를 남기는 게 좋을 것 같아서 글을 쓰려고 한다. 그동안 팀 프로젝트 단위로 개발을 해 본 경험이 있지만, 대학원 연구실에서 근무하는 것은 처음이었고 게다가 개인적으로 의학 분야는 처음 접해서 많이 애를 먹었다. 하지만 막상 두 달의 근무 기간이 끝나고 회고해보면 적지 않은 성장을 이룬 것 같아서 보람찬 마음이 크고, 앞으로 Backend와 AI Engineering이라는 나의 궁극적인 목표에 한 발자국 다가갈 수 있는 초석을 다졌다고 생각한다. 두 달이라는 짧은 시간동안 AI 모델링과 웹 어플리케..
Visual Programming으로 AI 모델링이 가능한 웹 어플리케이션 개발 후기Visual Programming으로 AI 모델링이 가능한 웹 어플리케이션을 개발하며 지난 7~8월 여름방학에 고려대학교 정보대학 HVCL 연구소에서 학부 인턴으로 근무하면서 어떠한 일을 진행했는지를 개발 후기를 남기는 게 좋을 것 같아서 글을 쓰려고 한다. 그동안 팀 프로젝트 단위로 개발을 해 본 경험이 있지만, 대학원 연구실에서 근무하는 것은 처음이었고 게다가 개인적으로 의학 분야는 처음 접해서 많이 애를 먹었다. 하지만 막상 두 달의 근무 기간이 끝나고 회고해보면 적지 않은 성장을 이룬 것 같아서 보람찬 마음이 크고, 앞으로 Backend와 AI Engineering이라는 나의 궁극적인 목표에 한 발자국 다가갈 수 있는 초석을 다졌다고 생각한다. 두 달이라는 짧은 시간동안 AI 모델링과 웹 어플리케..
2022.09.01 -
추천 시스템을 어떻게 평가할 수 있을까? 추천 시스템 평가 방법 사용자 스터디 사용자를 모집해서 시스템과 상호작용하게 한 후 피드백을 수집하는 것이다. 활발한 사용자 참여에 바탕을 두고 있기 때문에 오히려 실제 사용자와 동떨어진 active한 사용자만 반영하게 되어 bias로 작용할 수도 있다. 균일한 집단을 만들기 위해서는 주의 깊은 실험 설계가 요구되며, 많은 시간과 비용이 소모되어서 현실적으로 적용하기가 쉽지 않다. Online 평가 [출처] https://www.seobility.net/en/wiki/AB_Testing, Seobility 주로 A/B Testing이라고 불리는 형태로 이뤄지며, 시스템에 추천 알고리즘을 배포하여 사용자들의 실제 반응을 수집하여 비교한다. 사용자 스터디와 달리 샘플..
추천 시스템의 평가 방법과 실험에서의 데이터 분할 전략추천 시스템을 어떻게 평가할 수 있을까? 추천 시스템 평가 방법 사용자 스터디 사용자를 모집해서 시스템과 상호작용하게 한 후 피드백을 수집하는 것이다. 활발한 사용자 참여에 바탕을 두고 있기 때문에 오히려 실제 사용자와 동떨어진 active한 사용자만 반영하게 되어 bias로 작용할 수도 있다. 균일한 집단을 만들기 위해서는 주의 깊은 실험 설계가 요구되며, 많은 시간과 비용이 소모되어서 현실적으로 적용하기가 쉽지 않다. Online 평가 [출처] https://www.seobility.net/en/wiki/AB_Testing, Seobility 주로 A/B Testing이라고 불리는 형태로 이뤄지며, 시스템에 추천 알고리즘을 배포하여 사용자들의 실제 반응을 수집하여 비교한다. 사용자 스터디와 달리 샘플..
2022.04.26 -
Side-information을 사용하는 추천 시스템 기존 CF(Collaborative Filtering)의 한계 지금까지 논의한 CF의 기본적인 가정은 상호작용 데이터로부터 사용자와 아이템 간의 숨겨진 패턴을 찾아내고 이를 추천에 활용하는 것이다. 즉, 상호작용 데이터로부터 학습된 잠재적인 사용자($\gamma_u$) 또는 아이템 feature($\gamma_i$)가 기존에 존재하는 명시적인 feature를 대체할 수 있다는 접근 방식이다. 그러나 이러한 CF의 기본적인 가정이 성립하지 않는 추천 시나리오도 존재한다. 추천 결과가 왜 이렇게 나오는지에 관한 interpretability를 요구하는 시나리오, user-item 추천이 아닌 친구 추천 또는 데이터 앱 매칭 등 social recommen..
Side Information과 이를 사용하는 추천 시스템Side-information을 사용하는 추천 시스템 기존 CF(Collaborative Filtering)의 한계 지금까지 논의한 CF의 기본적인 가정은 상호작용 데이터로부터 사용자와 아이템 간의 숨겨진 패턴을 찾아내고 이를 추천에 활용하는 것이다. 즉, 상호작용 데이터로부터 학습된 잠재적인 사용자($\gamma_u$) 또는 아이템 feature($\gamma_i$)가 기존에 존재하는 명시적인 feature를 대체할 수 있다는 접근 방식이다. 그러나 이러한 CF의 기본적인 가정이 성립하지 않는 추천 시나리오도 존재한다. 추천 결과가 왜 이렇게 나오는지에 관한 interpretability를 요구하는 시나리오, user-item 추천이 아닌 친구 추천 또는 데이터 앱 매칭 등 social recommen..
2022.04.20 -
Deep Learning-based Collaborative Filtering 추천 시스템에서 Deep Learning 모델의 장점 Non-Linear Transformation [출처] https://www.sciencedirect.com/science/article/pii/S093938891830120X#fig0010, AKMaier ReLU, Sigmoid, Tanh와 같은 비선형 활성화함수를 활용해 복잡한 사용자-아이템 간 상호작용을 포착할 수 있다. Representation Learning Feature-engineering에 드는 수고를 덜어주며, 여러 다른 종류들로 이루어진 다차원적인 콘텐츠 정보를 포함할 수 있다. 즉, 이미지, 비디오 등 Multi-Modality의 특성을 지닐 수 있다..
Deep Learning 기반의 Collaborative FilteringDeep Learning-based Collaborative Filtering 추천 시스템에서 Deep Learning 모델의 장점 Non-Linear Transformation [출처] https://www.sciencedirect.com/science/article/pii/S093938891830120X#fig0010, AKMaier ReLU, Sigmoid, Tanh와 같은 비선형 활성화함수를 활용해 복잡한 사용자-아이템 간 상호작용을 포착할 수 있다. Representation Learning Feature-engineering에 드는 수고를 덜어주며, 여러 다른 종류들로 이루어진 다차원적인 콘텐츠 정보를 포함할 수 있다. 즉, 이미지, 비디오 등 Multi-Modality의 특성을 지닐 수 있다..
2022.04.18 -
추천 시스템에서의 Implicit Feedback Implicit Feedback Implicit feedback은 explicit feedback과는 달리 사용자의 선호에 대한 암시적인 정보만을 제공하지만, 그것의 수집 효율성 및 generality 덕분에 사용자의 실제 선호를 추정하는 데에 더욱 효율적일 수 있다. 예를 들어, 어떤 한 사용자가 앱을 이용하여 상품을 구매했을 때 리뷰를 작성하는 시나리오를 가정한다. 이때 평점을 작성해야 하는 경우에는 사용자에게 귀찮은 일이 될 수 있으므로 실제로 많은 feedback이 수집되기에는 한계가 있다. 반면에 implicit feedback은 사용자의 모든 기록된 행위를 사용하기 때문에 방대한 양의 데이터를 활용할 수 있으며, 이를 오히려 잘 분석하여 exp..
추천 시스템에서의 Implicit Feedback추천 시스템에서의 Implicit Feedback Implicit Feedback Implicit feedback은 explicit feedback과는 달리 사용자의 선호에 대한 암시적인 정보만을 제공하지만, 그것의 수집 효율성 및 generality 덕분에 사용자의 실제 선호를 추정하는 데에 더욱 효율적일 수 있다. 예를 들어, 어떤 한 사용자가 앱을 이용하여 상품을 구매했을 때 리뷰를 작성하는 시나리오를 가정한다. 이때 평점을 작성해야 하는 경우에는 사용자에게 귀찮은 일이 될 수 있으므로 실제로 많은 feedback이 수집되기에는 한계가 있다. 반면에 implicit feedback은 사용자의 모든 기록된 행위를 사용하기 때문에 방대한 양의 데이터를 활용할 수 있으며, 이를 오히려 잘 분석하여 exp..
2022.04.18 -
저번 글의 연장선이지만, 이번에도 연합동아리 세션에서 과제로 만들었던 자료를 정리하여 글로 남기고자 한다. [PyTorch RNN 모델 사용 예제 - AG NEWS 기사 주제 분류] https://glanceyes.tistory.com/entry/PyTorch로-RNN-모델-구현해보기-AG-NEWS-뉴스-기사-주제-분류?category=1057558 PyTorch RNN 모델 사용 예제 - AG NEWS 뉴스 기사 주제 분류 현재 활동 중인 빅데이터 연합동아리인 BITAmin에서 RNN에 관한 세션에서 발표를 진행했는데, 그때 Vanilla RNN 사용과 함께 PyTorch로 RNN을 사용한 모델을 구현하는 내용도 같이 강의하려고 실습 자료 glanceyes.tistory.com 현재 활동 중인 빅데이터..
PyTorch RNN 모델 사용 예제 - CIFAR10 이미지 분류하기저번 글의 연장선이지만, 이번에도 연합동아리 세션에서 과제로 만들었던 자료를 정리하여 글로 남기고자 한다. [PyTorch RNN 모델 사용 예제 - AG NEWS 기사 주제 분류] https://glanceyes.tistory.com/entry/PyTorch로-RNN-모델-구현해보기-AG-NEWS-뉴스-기사-주제-분류?category=1057558 PyTorch RNN 모델 사용 예제 - AG NEWS 뉴스 기사 주제 분류 현재 활동 중인 빅데이터 연합동아리인 BITAmin에서 RNN에 관한 세션에서 발표를 진행했는데, 그때 Vanilla RNN 사용과 함께 PyTorch로 RNN을 사용한 모델을 구현하는 내용도 같이 강의하려고 실습 자료 glanceyes.tistory.com 현재 활동 중인 빅데이터..
2022.04.16 -
Introduction 한 달이라는 긴 시간동안 네이버 부스트캠프 AI Tech 3기에서 진행했던 Movielens 데이터 기반의 영화 추천 대회 프로젝트가 마무리되었다. 팀원들과 밤낮으로 회의하면서 어떠한 모델을 사용하는 게 좋을지 고민했었는데, 순차 데이터보다는 좀 더 일반적인 데이터에 강한 autoencoder 기반의 여러 모델을 중심으로 앙상블한 것을 바탕으로 inference 결과를 제출했다. 그중에서 EASE(Embarrassingly Shallow Autoencoders for Sparse Data, ESAE)라는 모델이 매우 신기했는데, 다른 autoencoder 기반의 모델보다 상대적으로 성능이 좋을 뿐더러 매우 짧은 실행 시간을 가지는 특징을 지닌다. Hidden layer이 존재하지 ..
Embarrassingly Shallow Autoencoders for Sparse Data: EASE 모델이 희소 데이터에 강한 이유Introduction 한 달이라는 긴 시간동안 네이버 부스트캠프 AI Tech 3기에서 진행했던 Movielens 데이터 기반의 영화 추천 대회 프로젝트가 마무리되었다. 팀원들과 밤낮으로 회의하면서 어떠한 모델을 사용하는 게 좋을지 고민했었는데, 순차 데이터보다는 좀 더 일반적인 데이터에 강한 autoencoder 기반의 여러 모델을 중심으로 앙상블한 것을 바탕으로 inference 결과를 제출했다. 그중에서 EASE(Embarrassingly Shallow Autoencoders for Sparse Data, ESAE)라는 모델이 매우 신기했는데, 다른 autoencoder 기반의 모델보다 상대적으로 성능이 좋을 뿐더러 매우 짧은 실행 시간을 가지는 특징을 지닌다. Hidden layer이 존재하지 ..
2022.04.16