Intro나는 로봇지능에 관심이 많기 때문에 생성형 AI, Representation learning과 같은 것들은 나랑 거리가 뭔 컴공님들이 하는 것들인 줄 알았다. 하지만 최근에 비디오를 통한 로봇학습이 많이 이루어지고 있는데 이때 작업에 대한 Representation을 뽑는 방법으로 생성형 AI 기법 혹은 contrastive learning과 같은 self-supervised learning 방식이 많이 사용되고있다. 피상적으로 이해하고 있던 것들이었는데 대학원 진학을 결심해서 이번 기회에 제대로 이해해보고자한다. 생성형 AI 계보가 VAE에서 시작하고, 비슷한 증명과 같은 것들을 DDPM에서 본 거 같아 아마 잘 공부해놓으면 유용하지싶다. 또한 Groot N1 논문을 읽는데 VQ-VQE를 사용..
TCP IntroductionTCP통신은 신뢰할 수 있는 통신을 위한 연결형 프로토콜이다. TCP통신은 세그먼트가 제대로 전송이 안됐으면 이를 파악해 다시 보내기도하며, 요청이 너무 많으면 전송량을 조절하는 혼잡제어도 수행하며, 처리할 수 있는 만큼의 데이터를 주고 받을 수 있도록 흐름제어도 수행한다.TCP통신은 프로토콜이기에 데이터가 구성되어져있는 형식이 존재한다. 형식은 아래와 같다. TCP헤더가 총 20byte로 이루어져있고, 나머지는 데이터로 이루어져있다. TCP프로토콜을 구성하는 Sequence number, Acknowledgement number, control bits, window등에 대해서 알아야한다.데이터를 한 번에 다 보낼 수 없기때문에 분할해서 보내는데 각각의 요소를 세그먼트라고 ..
DNS(Domain Name System)네트워크상의 어떤 호스트를 특정하기 위해서는 IP주소를 사용한다. 하지만 브라우저에서 특정 웹사이트에 접근하기위해 해당 사이트의 IP주소를 외우고 있는 것은 상당히 번거로운 일이다. 따라서, IP주소의 별명과 같은 도메인 네임을 사용하고, 도메인 네임을 관리하는 시스템이 DNS이다. 내 컴퓨터에서 www.google.com에 접속한다고 가정하자. 현재 내 브라우저는 이 서버의 IP를 모른다. 아래 오른쪽 사진에 과정이 잘 나와있는데, 브라우저는 먼저 PC에 설정된 로컬 DNS서버에 해당 IP주소를 물어본다(Step 2). 없다면 루트 서버에 해당 IP주소를 물어본다. 루트 서버는 .com 네임 서버의 ip 주소를 전달한다(Step 3). 이곳에 .com과 관련된 ..
Type CastingUpcasting & Downcasting이해를 돕기위해 아래와 같은 클래스가 있다고 하자.#include class Car{public: Car(std::string name) : name_(name) {} const std::string &name() const { return name_; }private: std::string name_;};class Bus : public Car{public: Bus(std::string name) : Car(name), money_(0), bus_name_("BBus") {} void GetCharge(int charge) { money_ += charge; } int money() { return money..
Make를 사용해야하는 이유1학년때는 Window에서 visualstduio를 사용해 Run버튼 딸깍 누르면 실행되는 건 줄 알았지만 리눅스 세상에서는 어림도없다.소스코드를 빌드하기 위해서는 컴파일과 링킹단계를 거치는데 소스코드를 기계어로 바꾸는 컴파일 단계와 실행파일로 만들기 위해 어떤 목적파일(.o)들이 필요한지 명시해주는 링킹단계가 필요한데 이들을 매번 Shell에 입력할 수 없으니 하나의 파일로 만들어 둬야하고 이 파일이 Makefile이다. 아래에서는 실습 때 사용한 Makefile을 예제로 어떻게 작성하는지와 어떻게 동작하는지에 대해서 알아본다.아래 글은 아주 잘 정리된 글이니 이 글을 읽고오면 아래 예제 파일을 이해하기 쉽다.씹어먹는 C++ - Makefile 실전아래 코드는 Makefi..
[1] Harris Corner Detection두 이미지의 일치여부를 판단하기 위해서 이미지의 특징점을 추출한다. 이때, 코너가 이미지의 특징점이라 할 수 있고, Harris Corner Detection 알고리즘을 사용하여 이미지의 특징점을 추출하는 방법을 배운다.[2] SIFT(Scale-invariant-Transform)Harris Corner Detection같은 경우 커널의 크기에 따라 코너의 여부가 달라진다. 이러한 단점을 보완한 알고리즘인 SIFT를 배운다.[3] Two Image Feature Matching[4] Image alignment (feat. RANSAC)[5] Image stiching[6]