분류 전체보기
-
AI에서 주로 사용하는 기본적인 자료구조인 vector에 관해 알아보고, vector를 이해하는 데 필요한 norm, inner product, orthogonal 등 여러 개념을 살펴보고자 한다. 벡터(Vector)의 정의 벡터는 다음과 같이 다양하게 정의할 수 있다. 크기(길이)와 방향을 가지는 직선 벡터 공간(Vector Space)을 이루는 원소 공간에서의 한 점 원점으로부터의 상대적 위치 수를 원소로 가지는 리스트 또는 배열 종합하면 벡터는 수를 원소로 가지는 list 또는 array를 의미하며, $n$차원 공간에서의 한 점을 의미한다. 이 때 점은 원점으로부터의 상대적 위치를 의미한다. numpy에서는 보통 행벡터로 값을 처리한다. Vector의 element는 $[x_1, x_2, ..., ..
[빠르게 정리하는 선형대수] 벡터(Vector)의 정의와 Inner Product(내적) 정리AI에서 주로 사용하는 기본적인 자료구조인 vector에 관해 알아보고, vector를 이해하는 데 필요한 norm, inner product, orthogonal 등 여러 개념을 살펴보고자 한다. 벡터(Vector)의 정의 벡터는 다음과 같이 다양하게 정의할 수 있다. 크기(길이)와 방향을 가지는 직선 벡터 공간(Vector Space)을 이루는 원소 공간에서의 한 점 원점으로부터의 상대적 위치 수를 원소로 가지는 리스트 또는 배열 종합하면 벡터는 수를 원소로 가지는 list 또는 array를 의미하며, $n$차원 공간에서의 한 점을 의미한다. 이 때 점은 원점으로부터의 상대적 위치를 의미한다. numpy에서는 보통 행벡터로 값을 처리한다. Vector의 element는 $[x_1, x_2, ..., ..
2023.03.25 -
이 글 시리즈는 'Fourier Features Let Networks Learn High Frequency Functions in Low Dimensional Domains' 논문과 이를 이해하는 데 필요한 선수 내용을 소개한 'Neural Tangent Kernel: Convergence and Generalization in Neural Networks' 논문을 기반으로 한다. 하나의 글로 작성하면 내용이 너무 길어질 것 같아서 '(1) Kernel Method', '(2) Neural Tangent Kernel', 그리고 '(3) Fourier Features Let Networks Learn High Frequency Functions in Low Dimensional Domains'의 세 부분..
Neural Tangent Kernel과 Fourier Features를 사용한 Positional Encoding (3) - Fourier Features이 글 시리즈는 'Fourier Features Let Networks Learn High Frequency Functions in Low Dimensional Domains' 논문과 이를 이해하는 데 필요한 선수 내용을 소개한 'Neural Tangent Kernel: Convergence and Generalization in Neural Networks' 논문을 기반으로 한다. 하나의 글로 작성하면 내용이 너무 길어질 것 같아서 '(1) Kernel Method', '(2) Neural Tangent Kernel', 그리고 '(3) Fourier Features Let Networks Learn High Frequency Functions in Low Dimensional Domains'의 세 부분..
2023.03.18 -
개인적으로 알고리즘은 즉각적으로 바로 구현할 수 있도록 몸에 베어야 하되 복습하는 데 너무나 많은 시간을 투자해서는 안 되고, 문제를 풀면서 실전으로 익혀야 한다고 생각한다. 학기가 시작되면서 바빠진 만큼 지난 잊힌 알고리즘 개념들을 핵심과 코드만 짧게 정리하여 평소에도 자주 보면서 익숙해지고자 한다. 기본적으로 코드는 특별한 설명이 없으면 C++를 기반으로 한다. 접미사 배열(Suffix) 정의 문자열 $S$의 모든 접미사들을 사전 순으로 정렬한 배열. 여기서 접미사들은 문자열 $S$에서 시작 위치 번호로 관리한다. 문제 문자열 $S$="abcbca"의 접미사 배열을 구해보자. 접미사: "abcbca", "bcbca", "cbca", "bca", "ca", "a" 사전 순으로 정렬 시 "a", "abc..
접미사 배열(Suffix Array)과 LCP(Longest Common Prefix)개인적으로 알고리즘은 즉각적으로 바로 구현할 수 있도록 몸에 베어야 하되 복습하는 데 너무나 많은 시간을 투자해서는 안 되고, 문제를 풀면서 실전으로 익혀야 한다고 생각한다. 학기가 시작되면서 바빠진 만큼 지난 잊힌 알고리즘 개념들을 핵심과 코드만 짧게 정리하여 평소에도 자주 보면서 익숙해지고자 한다. 기본적으로 코드는 특별한 설명이 없으면 C++를 기반으로 한다. 접미사 배열(Suffix) 정의 문자열 $S$의 모든 접미사들을 사전 순으로 정렬한 배열. 여기서 접미사들은 문자열 $S$에서 시작 위치 번호로 관리한다. 문제 문자열 $S$="abcbca"의 접미사 배열을 구해보자. 접미사: "abcbca", "bcbca", "cbca", "bca", "ca", "a" 사전 순으로 정렬 시 "a", "abc..
2023.03.11 -
사람을 촬영한 이미지만 사용하여 그 사람의 3D Human을 모델링하는 digitization은 metaverse의 AR, VR 등 다양한 사례에 응용하여 적용할 수 있다. 예를 들어, 우리 각자 개인의 selfi만을 사용하여 가상환경에서의 캐릭터를 바로 생성할 수 있는 것처럼 말이다. PIFu는 2D 이미지만을 input으로 받아서 implicit function을 학습하는 neural network를 통해 그에 대응되는 사람의 3D model을 reconstruction 할 수 있는데, naked body 뿐만이 아니라 옷과 악세사리를 착용한 모습도 기존에 제안된 방법들보다 높은 quality로 모델링할 수 있다. 이번 논문에서는 PIFu(PIFu: Pixel-Aligned Implicit Funct..
PIFu: Pixel-aligned Implicit Function을 사용하여 single image로부터 clothed human 3D model을 예측하는 모델사람을 촬영한 이미지만 사용하여 그 사람의 3D Human을 모델링하는 digitization은 metaverse의 AR, VR 등 다양한 사례에 응용하여 적용할 수 있다. 예를 들어, 우리 각자 개인의 selfi만을 사용하여 가상환경에서의 캐릭터를 바로 생성할 수 있는 것처럼 말이다. PIFu는 2D 이미지만을 input으로 받아서 implicit function을 학습하는 neural network를 통해 그에 대응되는 사람의 3D model을 reconstruction 할 수 있는데, naked body 뿐만이 아니라 옷과 악세사리를 착용한 모습도 기존에 제안된 방법들보다 높은 quality로 모델링할 수 있다. 이번 논문에서는 PIFu(PIFu: Pixel-Aligned Implicit Funct..
2023.03.10 -
이 글은 아직 완성이 되지 않았으며, 곧 마무리할 예정이므로 양해 바랍니다. 이번 리뷰에서는 NeRF와 GAN의 특징을 결합시킨 GRAF(Generative Radiance Fields for 3D-Aware Image Synthesis) 논문에 관해 살펴보고자 한다. 2020년 NeRF가 2D image로부터 새로운 viewing direction에서 바라 본 이미지를 생성할 수 있는 novel view synthesis에서 괄목할 만한 결과를 보였고, 이후 여러 연구자들에 의해 NeRF에서 파생된 다양한 모델들이 제안되었다. GRAF도 그중 하나에 속하며, NeRF에서 단순히 MLP를 사용하여 radiance field를 학습하는 방법에서 더 발전시켜 adversarial network를 통해 gen..
GRAF: Generative Radiance Fields for 3D-Aware Image Synthesis이 글은 아직 완성이 되지 않았으며, 곧 마무리할 예정이므로 양해 바랍니다. 이번 리뷰에서는 NeRF와 GAN의 특징을 결합시킨 GRAF(Generative Radiance Fields for 3D-Aware Image Synthesis) 논문에 관해 살펴보고자 한다. 2020년 NeRF가 2D image로부터 새로운 viewing direction에서 바라 본 이미지를 생성할 수 있는 novel view synthesis에서 괄목할 만한 결과를 보였고, 이후 여러 연구자들에 의해 NeRF에서 파생된 다양한 모델들이 제안되었다. GRAF도 그중 하나에 속하며, NeRF에서 단순히 MLP를 사용하여 radiance field를 학습하는 방법에서 더 발전시켜 adversarial network를 통해 gen..
2023.03.08 -
개인적으로 알고리즘은 즉각적으로 바로 구현할 수 있도록 몸에 베어야 하되 복습하는 데 너무나 많은 시간을 투자해서는 안 되고, 문제를 풀면서 실전으로 익혀야 한다고 생각한다. 학기가 시작되면서 바빠진 만큼 지난 잊힌 알고리즘 개념들을 핵심과 코드만 짧게 정리하여 평소에도 자주 보면서 익숙해지고자 한다. 기본적으로 코드는 특별한 설명이 없으면 C++를 기반으로 한다. 가장 긴 증가하는 부분 수열 Longest Increasing Subsequence(LIS) 정의 주어진 sequence의 모든 부분 수열(subsequence) 중 오름차순으로 정렬된 가장 긴 수열 문제 길이가 $N$인 임의의 수열 A의 Longest Increasing Subsequence(LIS) 길이를 구해보자. 방법 시간복잡도에 따라..
가장 긴 증가하는 부분 수열 Longest Increasing Subsequence(LIS)개인적으로 알고리즘은 즉각적으로 바로 구현할 수 있도록 몸에 베어야 하되 복습하는 데 너무나 많은 시간을 투자해서는 안 되고, 문제를 풀면서 실전으로 익혀야 한다고 생각한다. 학기가 시작되면서 바빠진 만큼 지난 잊힌 알고리즘 개념들을 핵심과 코드만 짧게 정리하여 평소에도 자주 보면서 익숙해지고자 한다. 기본적으로 코드는 특별한 설명이 없으면 C++를 기반으로 한다. 가장 긴 증가하는 부분 수열 Longest Increasing Subsequence(LIS) 정의 주어진 sequence의 모든 부분 수열(subsequence) 중 오름차순으로 정렬된 가장 긴 수열 문제 길이가 $N$인 임의의 수열 A의 Longest Increasing Subsequence(LIS) 길이를 구해보자. 방법 시간복잡도에 따라..
2023.03.06 -
이 글 시리즈는 'Fourier Features Let Networks Learn High Frequency Functions in Low Dimensional Domains' 논문과 이를 이해하는 데 필요한 선수 내용을 소개한 'Neural Tangent Kernel: Convergence and Generalization in Neural Networks' 논문을 기반으로 한다. 하나의 글로 작성하면 내용이 너무 길어질 것 같아서 '(1) Kernel Method', '(2) Neural Tangent Kernel', 그리고 '(3) Fourier Features Let Networks Learn High Frequency Functions in Low Dimensional Domains'의 세 부분..
Neural Tangent Kernel과 Fourier Features를 사용한 Positional Encoding (2) - Neural Tangent Kernel이 글 시리즈는 'Fourier Features Let Networks Learn High Frequency Functions in Low Dimensional Domains' 논문과 이를 이해하는 데 필요한 선수 내용을 소개한 'Neural Tangent Kernel: Convergence and Generalization in Neural Networks' 논문을 기반으로 한다. 하나의 글로 작성하면 내용이 너무 길어질 것 같아서 '(1) Kernel Method', '(2) Neural Tangent Kernel', 그리고 '(3) Fourier Features Let Networks Learn High Frequency Functions in Low Dimensional Domains'의 세 부분..
2023.03.02 -
Positional encoding은 AI 모델링 분야에서 많이 쓰이는 기법 중 하나이다. 대표적으로 transformer에서도 데이터를 병렬 처리하여 학습하는 단점을 보완하여 데이터를 구성하는 각 token에 위치 정보를 부여하고자 input을 sinusoidal 등 어떠한 함수에 통과시켜 모델에 넣는 과정을 positional encoding이라고 한다. 컴퓨터 비전에서는 목적은 다르지만 이와 유사하게 사용되는 Fourier feature를 이용한 positional encoding이 존재하는데, 좀 더 high frequency 정보를 잘 학습할 수 있도록 하기 위함이다. 그러나 개인적으로 여태까지 이를 여과없이 단지 "적용하면 좋다"라는 '카더라' 식의 얘기로만 이해했지, 구체적으로 왜 그런 건지..
Neural Tangent Kernel과 Fourier Features를 사용한 Positional Encoding (1) - Kernel MethodPositional encoding은 AI 모델링 분야에서 많이 쓰이는 기법 중 하나이다. 대표적으로 transformer에서도 데이터를 병렬 처리하여 학습하는 단점을 보완하여 데이터를 구성하는 각 token에 위치 정보를 부여하고자 input을 sinusoidal 등 어떠한 함수에 통과시켜 모델에 넣는 과정을 positional encoding이라고 한다. 컴퓨터 비전에서는 목적은 다르지만 이와 유사하게 사용되는 Fourier feature를 이용한 positional encoding이 존재하는데, 좀 더 high frequency 정보를 잘 학습할 수 있도록 하기 위함이다. 그러나 개인적으로 여태까지 이를 여과없이 단지 "적용하면 좋다"라는 '카더라' 식의 얘기로만 이해했지, 구체적으로 왜 그런 건지..
2023.02.24