인공지능 - AI 에이전트
AI 에이전트 1. 개요 최근 AI가 발달하면서 AI를 활용한 많은 서비스들이 AI 에이전트라는 이름을 많이 달고 나온다. 그런데 여기서 말하는 AI 에이전트란 무엇일까? AWS 공식 홈페이지에서 말하는 AI 에이전트는 환경과 상호 작용하고, 데이터를 수집하고, 데이터를 사용하여 사전 결정된 목표를 달성하기 위해 필요한 작업을 스스로 결정해서 수행할...
AI 에이전트 1. 개요 최근 AI가 발달하면서 AI를 활용한 많은 서비스들이 AI 에이전트라는 이름을 많이 달고 나온다. 그런데 여기서 말하는 AI 에이전트란 무엇일까? AWS 공식 홈페이지에서 말하는 AI 에이전트는 환경과 상호 작용하고, 데이터를 수집하고, 데이터를 사용하여 사전 결정된 목표를 달성하기 위해 필요한 작업을 스스로 결정해서 수행할...
Torch extension 사용법 1. 개요 원래 GPU를 구동할 수 있는 코드는 C++을 이용해서만 짤 수 있었다. 하지만 개발간 Python이 매우 많이 사용됨으로 인해, C++로 짜여진 커널을 Python에서 구동할 수 있으면 좋겠다는 니즈가 생겼고 이로 인해 많은 라이브러리들이 CUDA 커널을 지원하기 시작했다. 이번에는 많은 라이브러리들...
Spatial keyword queries 1. 개요 이전까지의 포스팅은 단순히 공간 혹은 길에 대해서 거리만을 고려하여 검색했다면, 이번 포스팅은 지리적 위치와 텍스트 정보를 결합한 Geo-Textual 데이터를 질의하는 법에 대한 내용이다. 여기서 말하는 텍스트 정보는 크게 두 가지로 나뉜다. 정적 데이터 위치를 포함한 웹페이지,...
Road network CNN 1. 개요 이전에 포스팅했던 연속 최근접 이웃은 쿼리 선분(query segment)을 따라 이동하면서 각 구간별로 가장 가까운 데이터 포인트를 찾는 문제였다. 하지만 실제 우리가 사는 세상에서는 별도의 도로나 길이 존재하며 이 역시 Road network에 적용된 버전이 있다. 이번에 포스팅할 내용은 도로 네트...
CNN(Continuous Nearest Neighbor) 1. 개요 연속 최근접 이웃 쿼리는 쿼리 선분(query segment)을 따라 이동하면서 각 구간별로 가장 가까운 데이터 포인트를 찾는 문제이다. 목표는 데이터셋을 한 번만 순회하여 모든 분할 지점(split points)과 각 구간의 최근접 이웃을 찾는 것이다. 아래의 그림을 보자 ...
RNN(Reverse nearest neighbor) 1. 개요 RNN은 Query q에 대해 어떤 점 p가 p의 최근접이 q인 경우 p를 q의 역최근접 이웃으로 간주하는 개념으로, 직관적으로 q가 특정 점들의 NN이 되는 집합을 찾는 문제를 말한다. q의 가장 최근접이 p일 때 q 역시 p의 가장 최근접이 아닌가 하고 그냥 언뜻 생각하면 그렇게 생...
Road Network 1. 개요 이전까지 공간 데이터 베이스에 관련된 포스팅은 직선거리에 대한 내용이었다. 하지만 실제 우리가 거리와 공간에 대해서 질의할 때 얻는 답변은 실제로 우리가 가고자하는 곳에 어떤 도로나 길을 타고 갔을 때 얼마나 가야 가장 가깝게 도착할 수 있는지 등에 대한 내용이다. 2. Graph Modeling of Road ...
Spatial join 1. 개요 두 공간이 겹치는 것을 어떻게 판별할 수 있을까? 이번에 포스팅할 내용은 점 혹은 객체가 서로 다른 R 트리나 서로 다른 Hash 기반 index에 있을 때 관계를 확인하는 방법에 대한 내용이다. 해당 관계가 교차인지 포함인지 근접인지는 실질적으로 체크를 해봐야하나 일단 이번 포스팅에서는 교차 기반으로 설명하겠다. ...
Vector DB - Re-rank 1. 개요 이전에 ANN(approximate nearest neighbor)에 대해서 포스팅한 적이 있다. 하지만 이 ANN의 경우 대부분 Single vector retrieval을 대상으로 하는 방식이다. 여기서 말하는 Single vector retrieval이란 검색 대상인 Document들은 각각 하나...
K-means 1. 개요 데이터를 여러 그룹으로 나누는 분할법의 일종이다. 초기에 K개의 중심점을 선정하여 해당 중심점을 기준으로 각 점들과의 거리를 계산하여 가까운 중심점에 할당하여 K개의 클러스터를 만들어내는 식이다. 이 알고리즘은 자율 학습의 일종으로, 레이블이 달려 있지 않은 입력 데이터에 레이블을 달아주는 역할을 수행한다. 2. 절차 가...