Mamba modeling의 기초 (3) - Linear-Time Sequence Modeling with Selective State Spaces (Mamba)에 대하여

시작하기 전에 …이전 글들을 올린 후 꽤나 많은 시간이 지났다. 처음으로 올렸던 글인 LSSL(Linear State-Space Layer)에서는 연속 시퀀스 데이터셋에 대해 딥러닝 모델이 효과적으로 latent space를 정의할 수 있는 구조의 발달 양상을 살펴보았다. 그 중 가장 주요한 키포인트가 되는 HiPPO 논문의 경우 임의의 길이를 가지는 시퀀스의 hidden state를 모델링...
Published on September 20, 2024 | 13 min read

Mamba modeling의 기초 (2) - (S4) Efficiently Modeling Long Sequences with Structured State Spaces에 대하여

첫번째 글을 올린 이후 상당히 많은 시간이 지났다. 중간에 ECCV 논문 리부탈과 졸업 준비, 논문 등등 바쁜 일이 참 많았다. 결국 졸업도 해서 학위도 받고 ECCV 논문도 억셉되고 여러모로 좋은 일이 대부분 끝났지만 SSM 공부를 한 지 너무 오랜 시간이 지나버려서 논문을 처음부터 다시 읽어야한다는 큰 문제가 생겨 늦어지게 되었다. 아이고야 …시작하기 전에,HiPPO는 SSM 구조에서 Long...
Published on July 22, 2024 | 17 min read

InfoBatch - Lossless Training Speech-Up By Unbiased Dynamic Data Pruning 논문 리뷰

개요 및 문제Large-scale dataset(대용량의 데이터셋)을 활용하는 딥러닝 알고리즘은 상당한 발전을 이루고 있지만,(1) 학습 시간이 오래 걸린다는 점, (2) 학습 시간을 줄이기 위해서는 Resource(리소스)가 많이 든다는 점에서 활용하기 어렵다. 따라서 이를 해결하기 위한 여러 방법들이 소개되었다...
Published on May 01, 2024 | 11 min read

Mamba modeling의 기초 (1) - Linear State-Space Layer (LSSL)에 대하여

연속 데이터 구조에 대한 DNN의 발전Sequential한 데이터를 처리하기 위해 딥러닝 모델은 수많은 변화와 발전을 이루었다. 그 중 요즘 대표적으로 LLM 및 multimodal 연구에서 활발하게 활용되는 것은 Transformer 구조이지만, 그 이전에는 LSTM이나 GRU같이 Long term(거리가 먼 문맥 간의 ...
Published on February 01, 2024 | 21 min read

DINOv2(Learning Robust Visual Features without Supervision) 논문 리뷰

Supervised 학습의 한계점이전 게시글 중 DINO에서는 Self-supervised learning은 NLP 뿐만 아니라 CV에서도 적절한 전략을 잘 사용한다면 기존 ViT/CNN 구조에서 발견하지 못한 유의미한 visual feature를 획득할 수 있음이 증명되었다는 점을 소개했었다. Supervised learning은 label...
Published on December 04, 2023 | 9 min read

Github 프로필 리드미 작성하는 법 및 꾸미기 (feat. github readme snake)

깃허브를 꾸며야 하는 이유깃허브를 꾸며야만 하는 이유에 대해 설명하기에 앞서, 조금은 개인적인 이야기를 덧붙이고자 한다. 엔지니어라면 가장 중요한 역량은 이론에 기반한 공학적 지식과 더불어 이를 실제 산업 환경에서 적용할 수 있는 능력 그리고 새로운 기술 전반에 대한 거부감이 없어야한다는 점 등이 있을 것이다. 본인도 이렇게 흔히 생각할 수 있는 현실적 역량들이 최우선이라 생각했고, 그렇기 때문에 스스로를 PR하는 방식에 있어서 프레젠테이션</strong...
Published on November 13, 2023 | 10 min read

DINO(Emerging Properties in Self-Supervised Vision Transformers) 논문 리뷰

들어가며 …제목에서 알 수 있듯이 이 논문은 Vision Transformer가 자기 학습을 통해 습득할 수 있는 능력이나 특성에 대해 논의한다. ViT의 프레임워크가 제안된 배경에는 자연어 분야의 Transformer 구조가 존재하는데, 이미 GPT나 BERT와 같은 후속 연구를 기반으로 NLP에서는 Large Dataset의 self-supervised learning이 downstream task에서 보다 풍부한 se...
Published on November 12, 2023 | 12 min read

(LLama2) GPU에서 돌아가는 나만의 디스코드 챗봇 만들기

GPU에서 동작하는 챗봇 구현하기이전 글에서 Llama-2-cpp를 사용하여 CPU로도 동작하는 챗봇을 구현했었다. 이번에는 리소스가 있다는 가정 하에, 보다 빠르게 입력된 prompt에 대한 답변을 처리할 수 있는 GPU를 활용한 챗봇을 만들어보기로 하였다. 마찬가지로 Llama-2를 사용하였으며, Llama-2의 경우에는 meta에 신청서만 제출하면 네트워크를 다운받을 수 있는 링크가 주어진다. 우선 <a href="https://github.com/face...
Published on September 24, 2023 | 7 min read

OpenAI의 새로운 이미지 생성 모델, DALLE-3의 등장

이미지 생성 기술인 DALLE보다는 ChatGPT로 일반 대중들에게 보다 빠르게 다가갈 수 있었던 OpenAI가 자체 이미지 generative AI 모델인 Dalle의 세번째 버전을 공개하였다. Stable diffusion과 같이 프롬프트 기반의 image 생성 AI라는 점에서 큰 차이는 없지만 눈에 띄는 변화는 바로 ChatGPT와의 연동성이라고 볼 수 있다. 언어 모델을 통해 프롬프트 엔...
Published on September 21, 2023 | 4 min read

(LLama2-cpp) CPU에서 돌아가는 나만의 디스코드 챗봇 만들기

과연 내가 만든 봇은 정말로 크롤러였던 것인가?본인은 크롤링을 단 한번도 수행해보지 않은 채로 디스코드 봇을 통해 긱뉴스를 자동으로 업데이트하겠다는 당찬 포부(?)를 담고 지난 글에서 디스코드 봇을 열심히 만들었었다. 굉장히 흡족한 상태로 침대에 누워서 구글 검색에 “크롤링”을 치자 바로 다음과 같은 글이 등장했다. 혹시라도 읽어보실 분들은 매우 추천하는 글이라서 링크 올려드림(<a href="https://velog.io/@mowinckel/%E...
Published on September 20, 2023 | 13 min read

특정 홈페이지에서 원하는 정보 크롤링하는 디스코드 봇 만들기

특정 홈페이지에서 원하는 정보 크롤링하는 디스코드 봇 내가 원하는 정보를 얻고자 할 때 그런 사소한 것들을 자동화를 해보겠다는 생각을 하지 않은 것은 아니었으나, 사실 그동안 ...
Published on September 17, 2023 | 9 min read

Continual learning/Lifelong learning의 개념과 방법론 총정리

이 글은 survey 논문인 A Comprehensive Survey of Continual Learning: Theory, Method and Application를 각색 및 요약한 글입니다.Continual Learning 이란?인공지능과 유기체의 근본적 차...
Published on September 01, 2023 | 27 min read

MERU(Hyperbolic Image-Text Representations) 논문 리뷰

들어가며…논문을 소개하기 전, CLIP과 ALIGN과 같은 기존 Vision-Language Modeling의 문제점을 짚는 것이 우선이다. 만약 두 논문에 대한 사전 지식이 없다면 MERU 라는 이름을 가지는 이 모델이 문제시하고자 했던 유클리디안 space(모든 datapoint에 대해 동일한 거리 기준을 삼는 것)에 대한 이해를 하기 힘들기 때문에 적어도 본인...
Published on July 12, 2023 | 12 min read

GLIDE(Towards Photorealistic Image Generation and Editing with Text-Guided Diffusion Models) 논문 및 코드 리뷰

들어가며최근 DDPM 수식 조지기 게시글과 더불어 DDIM 등등 여러 diffusion model 관련 논문들을 리뷰했었다. 그 중 diffusion에 condition을 추가하는 논문인 classifie...
Published on May 02, 2023 | 20 min read

ControlNet 논문 이해하기 및 사용해보기

들어가며ControlNet의 논문 제목 풀네임은 ‘Adding conditional control to text-to-image diffusion models’이다. 이른바 ControlNet이라고 불리는 이번 연구는 사전 학습된 large diffusion model을 어떻게 하면 input condition에 맞게 효율적인 knowledge transfer이 가능할지에 대해 논의한 페이퍼이다. Diffusion model이라는...
Published on May 01, 2023 | 10 min read

Improved DDPM + Diffusion beats GAN + Classifier free diffusion guidance 논문 리뷰

들어가며…이번에 리뷰할 논문은 총 3개 시리즈로, 전체적으로 디퓨전 모델(DDPM, DDIM)에 기반하여 작성되었다는 점이 공통점이고, 모두 diffusion model의 sampling quality를 높이기 위한 노력으로 이어진다고 볼 수 있다. 그 중 Improved DDPM의 경우 DDPM에서 가장 baseline 실험만 진행된 점에 추가로 몇몇의 modificat...
Published on April 30, 2023 | 27 min read

Consistency models 논문 리뷰

들어가며…Yang Song씨의 논문은 항상 읽다보면 피가 말린다. 안그래도 수식이 방대한 딥러닝 세상에서 더욱 수식을 멋지게 활용(?)하여 Appendix를 화려하게 채워주기 때문이다. 바로 이전에 리뷰했던 논문인 score based diffusion의 기초 논문들 중 하나인 ‘Score-based gene...
Published on April 26, 2023 | 18 min read

Score-based generative modeling through stochastic differential equations 이해하기

들어가며 …오늘 리뷰할 논문은 Score based generative modeling을 continous variable SDE로 풀어낸 논문이며, diffusion based approach 중 가장 유명한 DDPM과 더불어 디퓨전 기초 논문이라고 불리는 녀석이다(근데 난이도로 봐서는 기초는 아닌 것 같음). DDPM과 결을 달리하는 부분은 sampling 방식에서 numerical하게 미분 방정식을 푼다는 점이고 단계적 예...
Published on April 22, 2023 | 17 min read

DDIM(Denoising Diffusion Implicit Models) 이해하기

들어가며 …DDPM은 adversarial training과 같이 직접 latent prior를 지정해줄 수 없는 GAN 모델과는 다르게 collapse가 발생하지 않고 안정적인 학습이 가능하다는 장점을 통해 generative model의 새로운 기대주로 떠오를 수 있었다.그러나 DDPM의 경우 학습 시 많은 iteration($T = 1000$)을 거치면서 아주 작은 가우시안 노이즈를 픽셀 별로 더하고, 각 step에 대한 noised i...
Published on April 20, 2023 | 11 min read

DDPM 수식 증명만 죄다 조져버리기

들어가며…정말 수식 증명만 조지는 내용이라 DDPM 자체에 대한 내용은 이전 글을 참고하면 좋다(참고 링크). 근데 지금보니까 저 글을 쓸때도 완벽하게 이해하고 쓴 건 아닌 것 같다는 생각.. DDPM 논문 링크는 여기. 이 어려운 벌써 논문이 3년이나 됐나 싶다.<h1 id="forward-and-rev...
Published on April 02, 2023 | 10 min read

Parameter-free Online Test-time adaptation 논문 리뷰

딥러닝 연구의 한계점State-of-the-art(SOTA)인 vision model을 학습하는 것은 연구 목적으로 사용할 때나, 실제 사업에 활용할 때 모두 cost가 많이 드는 작업에 해당된다.심지어 최근 연구 경향을 보면 알 수 있듯이 보다 resource를 많이 사용하여(네트워크 크기나 데이터셋의 규모 모두에 해당) 다양한 분야에서 뛰어난 성능을 보여주기 시작했다. 하지만 일반적으로 NVIDIA나 Adobe researc...
Published on March 28, 2023 | 23 min read

ChatGPT(챗지피티)가 사람같이 자연스럽게 말할 수 있는 이유는!? RLHF 학습법에 대하여

이 글은 huggingface의 게시글 중 'Illustrating Reinforcement Learning from Human Feedback (RLHF)'를 번역 및 각색하여 딥러닝을 잘 모르는 사람들도 이해할 수 있게 바꾼 내용이다. 원본 게시글 링크는 다음과 같다(참고 링크). Lambert, et al., “Illustrating Reinforcement Learning fro...
Published on March 25, 2023 | 17 min read

Contrastive test time adaptation 논문 리뷰

딥러닝 : Representation을 효율적으로 학습하는 법제목에서도 볼 수 있듯이 Test-time adaptation이라는 task가 해당 paper의 main이다. 바로 본론으로 들어가기 전에 잠시 언급하고 싶은 내용은, 딥러닝은 네트워크가 특정 데이터셋의 representation을 잘 학습하도록 하고, 학습된 representation을 feature map으로 사용하여 목적이 되는 task를 해결하고자 하는 ...
Published on March 24, 2023 | 12 min read

TENT, Continual test-time adaptation(CoTTA) 논문 리뷰

들어가며 …최근 test time domain adaptation에 대한 논문이 많이 나오는 중이다. 본인이 판단했을 때 TTA(Test time adaptation) 혹은 TTDA(Test time domain adaptation)이 활발하게 연구된 이유는 다음과 같다.첫번째 이유는 UDA같이 수많은 연구가 진행된 쪽으로는 더이상 성능 mining이 쉽지 않다. 요 며칠간 UDA와...
Published on March 14, 2023 | 19 min read

CoCa - Contrastive Captioners are Image-Text Foundation Models 논문 리뷰

들어가며…여러 task에서 대용량의 데이터셋으로 large-scale pretrained network를 학습하는 이유는 다양한 downstream tasks에 학습된 representation을 빠르게 적용하기 위함이고, 이를 딥러닝에서는 representation transfer 혹은 knowledge transfer 관점에서 접근한다. 리뷰할 <a href="https://arxiv.org/pd...
Published on March 01, 2023 | 9 min read

딥러닝의 체계를 바꾼다! The Forward-Forward Algorithm 논문 리뷰 (2)

들어가며…이번 포스트는 바로 이전에 작성된 글인 FF(Forward-forward algorithm) 소개글(참고 링크)에 이어 Hinton이라는 저자가 FF 알고리즘의 학습을 contrastive learning과 연관지어 설명한 부분을 자세히 다뤄보고자 작성하게 되었다.<h1 id="hinton의-rbmrestricted-boltzmann-machine에-대하여...
Published on February 27, 2023 | 20 min read

딥러닝의 체계를 바꾼다! The Forward-Forward Algorithm 논문 리뷰 (1)

들어가며…제목이 너무 어그로성이 짙었는데, 논문에서는 backpropagation을 완전히 대체하는 알고리즘을 소개한 것은 아니고 딥러닝의 새로운 연구 방향을 잡아준 것과 같다.이 논문에서는 neural network를 학습하는 기존 방법들로부터 벗어나 새로운 학습법을 소개한다. 새롭게 제시된 방법인 FF(forward-forward) 알고리즘은 뒤에서 보다 디테일하게 언급되겠지만 Supervised learning과 unsuper...
Published on February 22, 2023 | 29 min read

깃허브 블로그를 구글 검색 엔진에 등록했지만 검색이 안된다면?

깃허브 블로그가 검색이 왜 안됨?은 사실 본인 이야기다. 예전에 구글 서치 콘솔에 본인의 블로그를 검색 가능하게끔 만드는 과정을 포스팅했었는데, 분명 sitemap 제출, robot.txt 추가 등등 사람들이 올려놓은 방법들을 모두 깃허브 블로그에 적용하였고, 심지어 사이트맵 제출 상태가 성공임에도 불구하고 검색이 안되는 문제가 발생하였다. ...
Published on February 20, 2023 | 2 min read

스크롤 내릴 때 페이지 상단에 가로축으로 내려온 정도(퍼센트) 표시하기

물론 스크롤바가 오른쪽에 있기 때문에 굳이 표시해주지 않더라도 포스트를 읽는 과정에서 본인이 어디쯤까지 읽었는지 확인할 수 있지만, 포스팅 상단의 가로축을 통해 스크롤 정도를 표시해주면 훨씬 가독성이 좋은 것 같아보였다. 해당 내용을 구현하기 위해 참고한 블로그는 다음과 같다(참고 링크). 기존에 블로그 테마 작업했던 수준에 비하면 그리 어려운 일은 아닌 것 같아보였다. 해야할 일은 세 가지로 나눌 수 있다....
Published on February 20, 2023 | 3 min read

Prompt learning in Vision-Language(CoOp, CoCoOp) 논문 리뷰

들어가며…대용량의 pre-trained VL model(CLIP, ALIGN 등등)은 여러 downstream task에서 효과적으로 representation을 transfer할 수 있음을 보여주었다. 특히 zero-shot이나 linear probing에서 보여준 성능은 vision과 language를 함께 활용하는 것이 보다 open world set에 대해 적합한 학습 구조라는 것을 증명하였다. 대부분 one-hot encoding과 같은 disc...
Published on February 19, 2023 | 19 min read

Bootstrapping Language-Image Pre-training(BLIP, BLIP2) 논문 리뷰

BLIP을 제시한 이유기존에 많이 살펴보았던 CLIP과 같이 vision과 language의 multimodality를 활용한 학습을 Vision-Language Pre-training(VLP)이라고 부른다. 그러나 기존 VLP의 학습 형태는 understanding based task(Encoding을 통해 downstream task를 해결하는 구조) 혹은 generation based task(Decoding을 통해 특정 modality를 ...
Published on February 14, 2023 | 20 min read

Zero-shot Text-Guided Object Generation with Dream Fields에 대하여

들어가며 …이 논문에서 가장 핵심이 되는 키워드만 따로 생각해보면, text representation을 통해 학습된 multi-modal image 관계를 사용하여 3D object를 렌더링하는 것이다. 3D generation 혹은 rendering의 경우 획득이 비교적 간단한 데이터셋인 이미지와는 다르게 captioning된 3D dataset이 필요하다. 이는 3D generation network로 하여금 한정된 갯수(pool)의 categor...
Published on February 07, 2023 | 26 min read

마크다운 파일을 notion으로 업로드하기

요즘따라 느끼는 사실은 github blog가 자유도는 높지만 그만큼 용량 제한이나 여러모로 사용하는데 불편함이 있다는 점이 많다는 것이다. 가장 주요하게 작용하는 단점은 Velog나 티스토리와 같이 마크다운 기반 사이트와 함께 사용하기엔 좋지만 notion과 함께 활용하기엔 부적절하다는 점인데, notion에서 markdown 파일을 추출하는 건 간단하지만 반대로 markdown에서 notion으로 포스팅하는 것이 불편하기 때문이다.<h1 id="how-to-markdo...
Published on January 30, 2023 | 2 min read

(StyleCLIP, StyleGAN-NADA) CLIP based image manipulation에 대하여

StyleGANStyleGAN의 등장은 사실상 생성 모델을 style based approach로 해석한 첫번째 논문이라고 볼 수 있다. StyleGAN 논문을 이 글에서 자세히 설명하지는 않겠지만 가볍게 요약하자면, constant vector로 표현된 하나의 feature map 도화지가 있고($4 \times 4 \times 512$), 이 도화지에 latent vector로부터 추출된 st...
Published on January 29, 2023 | 22 min read

MaskCLIP 논문 리뷰

들어가며…사실 리뷰할 MaskCLIP은 ECCV paper와 arxiv paper 두 종류가 있다. 논문 제목은 다르지만 main idea의 제목이 같다보니 조금 혼란스러운 감이 없지 않아 있었다. 처음에 읽고 싶었던 논문은 ‘Extract Free Dense Labels from CLIP‘이며, 그 다음에 추가로 arxiv에 올라온 논문 제목은 ‘<a href="https://arxiv.org/abs...
Published on January 24, 2023 | 10 min read

CLIP(Learning transferable visual models from natural language supervision)에 대하여

What is modality?논문 소개에 앞서 multimodal이라는 의미에 대해 짚고 넘어가기 위해 먼저 ‘modality’의 의미에 대해 확인해보자. 일반적으로 modality가 가지는 의미는 크거나 작게 구분이 가능하다. 만약 확률 분포에 대해서 생각해보면, modality는 하나의 probability density function를 나타내며, 이때 multimodal은 서로 다른 peak(local maxima)를 ...
Published on January 22, 2023 | 20 min read

Github blog 코드 블럭 하이라이트 적용해보기

코드 하이라이트를 적용해보기로 하였다. 깃허브 블로그 테마마다 조금씩 다르겠지만, 내가 사용하고 있는 테마에서는 코드 블럭 문구를 사용해서 코드를 삽입해도 키워드가 하이라이팅이 안되는 문제가 있었다. 키워드가 하이라이팅된다는 것은 다음과 같다. 흔히 우리가 마크다운에 파이썬 코드를 넣고 싶다면 `를 3개 붙인 뒤 python을 넣게 되고, 결과물은 다음과 같다. 만약 코드 하이라이팅이 적용되지 않는다면, 결과는 그냥 다음과 같이 나올 것이다.<div class="language-plaintext h...
Published on January 06, 2023 | 3 min read

Pytorch 2.0에서 어떤 점이 변했을까??

이번 게시글에서 소개할 내용은 pytorch 1.13 버전 이후 새롭게 출시된 pytorch 2.0을 사용해보는 것이다.OVERVIEW본인은 파이토치, 텐서플로우 모두 써본 사람이고, 굳이 비교하자면 파이토치가 텐서플로우보다 사용하기 편하다고 생각된다. 일단 사용자 친화적(클래스 정의부터 시작해서, 학습 함수를 구현하는...
Published on January 05, 2023 | 16 min read

About GAN supervsed alignment(GAN-gealing)

논문 요약 및 소개이번에 소개할 논문은 이번에 연구실에서 논문을 준비하면서 여러 생성 모델 분야에 대해서 살펴보다가 흥미있게 봤던 GAN-supervised learning이다. 이전 리뷰들은 여러 논문들을 전반적으로 살펴봤었는데, 이번에는 이 논문 하나만 집중해서 볼 예정이다. 사실 이름만 봐서는 단순히 generative network를 학습하는 것처럼 느껴지지만, GAN-s...
Published on January 01, 2023 | 14 min read

Transformer와 Multimodal에 대하여

Convolutional neural network의 발전기존의 딥러닝에서 사용되던 대부분의 네트워크 구조는 Multilayer perceptron(MLP) 혹은 Convolutional neural network(CNN)이 주를 이루고 있었다. 단순히 modality를 $1 \times N$ 차원 벡터로 늘려서 연산하는 MLP와는 다르게 Convolutional neural network 구조는 image와 같...
Published on December 21, 2022 | 39 min read

Low shot learning에 대하여

일반적으로 네트워크를 학습시킬 때, 대량의 데이터를 통해 최적의 parameter를 찾는 과정을 생각하게 된다. 그러나 만약 inference에 사용될 데이터셋에 대한 학습 데이터가 없거나 부족하다면, 네트워크는 적은 데이터로도 충분히 최적화될 수 있어야한다. 여기서 출발한 개념이 바로 ‘Low-shot learning’이며, 여기서의 ‘shot’은 네트워크에게 제공되는 학습 데이터셋을 의미한다.Few shot learning<...
Published on December 20, 2022 | 14 min read

Mathjax 수식 입력 시 렌더링이 안될 경우

수식 입력 시 오류 발생예전에 작성했던 것과 같이 현재 블로그에는 Mathjax를 기반으로 수식을 입력하고 있다. 인라인 수식 입력 같은 경우에는 달러 싸인을 두 개 사용하고, 수학 공식 블록의 경우에는 역슬래쉬 + 대괄호를 사용하고 있다. 예를 들어, 다음과 같이 작성하면 잘 나오는 것을 볼 수 있다.<pre class="hig...
Published on December 19, 2022 | 1 min read

다양한 Deep learning 학습법

이번 게시물은 딥러닝 네트워크를 학습시킬 수 있는 다양한 학습법에 대한 내용이다. 단순히 단일 task에 대한 학습법이 아니라 다양한 환경에서 적용될 수 있는 방법론에 대해서 다루기 때문에 이번 게시글에는 다양한 내용을 담게 되었다. 그래서 우선 글을 본격적으로 시작하기 전에 어떤 내용을 다룰 것인지 간단하게 소개를 하고 시작하도록 하겠다. Transfer learning : DL optimization in different tasks Knowledge distillati...
Published on December 18, 2022 | 24 min read

그래프를 활용한 neural network

우리가 지금까지 봐왔던 전반적인 모델들의 특징은, 따로 설명하지는 않았지만 데이터셋 전체에 대해 i.i.d(independent and identically distribution)을 가정한다. 즉 어떠한 modality에 대해 얻어진 데이터셋 각각은 서로 독립적으로 존재하며, 어떠한 추론 과정에서도 다른 데이터셋에 의한 영향을 받지 않는다는 의미가 된다. 이번에 살펴볼 graph를 통한 neural network의 접근은 이와 차이가 있다.그래프란?...
Published on December 17, 2022 | 18 min read

카테고리별 다른 게시물 추천하기(이전글, 다음글)

카테고리별 게시글 넘어갈 수 있는 버튼 만들기시험공부하면서 농땡이 피울때마다 홈페이지를 업데이트했다. 하루에 기능 하나씩 추가하는게 초반 목표였는데, 어느 정도는 달성되어서 거의 완성되는 중이다. Course work 끝나기 전까지 웹 커스터마이즈는 끝내고 이후에 논문리뷰나 공부할 내용들을 올리는 것이 목표였는데, 한 1/3 정도는 마무리한 것 같다. 그래서 이번에 하고자 했던 것은 바로 네이버 블로그나 이런저런 포스팅 사이트에 가면 볼...
Published on December 16, 2022 | 9 min read

홈페이지 로딩창 구현하기

지루하다..홈페이지의 특정 글을 클릭하고 로딩될 때까지 기다려야한다. 뭐 물론 참을성이 없는 나는 그냥 로딩되는 중간부터 쭉 읽기 시작하기는 하는 편이다. 암튼 블로그에 들어온 사람들이 포스팅에 들어갈라하는데, 해당 글이 이미지도 많고 gif도 많아서 로딩될 때까지 넘 오래걸린다면 중간에 귀찮아서 나가버릴 것이다. 그럼 굉장히 슬플 것이다. <img src="https://user-images.githubusercontent.com/798...
Published on December 16, 2022 | 2 min read

프로필에 텍스트 애니메이션 적용한 소개 단락 만들기

소개 프로필 꾸미기 기존 소개 페이지가 너무 밋밋해서 script를 활용한 새로운 소개 단락을 만들기로 결정하였다. 결과본은 위에 나와있는 것과 같다. 스크롤을 내리면 텍스트가 등장하고, “...
Published on December 14, 2022 | 7 min read

스크롤 내릴 때 컨텐츠 fade out(페이드 아웃) 구현하기

스크롤에 따른 페이드 아웃 기능 구현하기 본인 블로그의 경우 여러 개의 글이 하나의 포스팅 페이지에 세로로 나열되어있다. 그렇다보니 스크롤할 때 위로 올라간 포스트 카드에 대해서는 살짝 페이드 아웃처럼...
Published on December 13, 2022 | 4 min read

github.io 검색 엔진(구글/네이버/다음)에 노출시키기

검색 엔진에 노출시키는 것이란?말 그대로 내가 작성한 글들이 구글이나 네이버와 같은 검색 엔진에 검색될 수 있게 해주는 방법이다. 그냥 github.io 블로그 만들었다!!..가 끝이 아니라 실제로 내가 작성한 글들이 구글로 검색이 되어야만 사람들이 유입되기 때문. 네이버 블로그에서 이사를 오면서 초반에 블로그 테마 정리나 코드 정리 때문에 시간을 좀 들였으니, 이제 슬슬 사람들도 내 블로그를 봐도 괜찮지 않을까 싶다....
Published on December 12, 2022 | 3 min read

GAN을 활용한 이미지 조작(image to image 그리고 GAN inversion까지)

Generative model인 GAN은 여러 방면에서 활용될 수 있다. 대표적인 Image synthesis(합성)의 경우 Texture synthesis(PSGAN, TextureGAN, <a ...
Published on December 12, 2022 | 14 min read

github.io 댓글 다크모드 적용 방법

지난번엔,,,저번에는 다크모드를 지금 내가 가지고 있는 테마에 적용했었는데, 그 후로 몇가지 바뀐 점이 있다. 우선 첫번째로는 게시물의 태그랑 하이퍼링크 색에 대해서 아예 테마를 맞춰버렸다. <img sr...
Published on December 12, 2022 | 1 min read

GAN variations(DCGAN, CGAN, PGGAN and StyleGAN)에 대하여

DCGAN: Unsupervised Representation Learning with Deep Convolutional Generative Adversarial NetworksGAN(Generative Adversarial Network)에 대해서는 이미 기존에 다룬 적이 있다. 간단하게 요약하자면 생성자인 genera...
Published on December 11, 2022 | 14 min read

github.io 다크모드/라이트모드 (테마 밝기 조절) 만들기

테마 바꾸기 기능밤에 핸드폰을 켜고 블로그에 들어왔다. 방에 불은 끈 상태였는데, 본인 블로그는 다크 모드를 지원하지 않는 바람에 눈뽕을 당해버렸다. 그래서 눈 건강을 위해 다크 모드를 도입하기로 했다. 대강 생...
Published on December 10, 2022 | 7 min read

Generative adversarial networks(GAN)에 대하여

이번 게시글에서는 생성 모델 중 하나인 GAN(Generative Adversarial Networks)에 대해 다룰 예정이다. 앞서 다른 생성 모델들인 VAE, Diffusion에 대해서는 모두 소개했었는데 가장 유명하고 가장 많이 연구된 GAN을 빼먹었다는게 아쉬워서 들고 왔다. GAN 연구는 여전히 활발히 진행 중이며 StyleGAN과 같이 스타일에 따른 이미지 생성 모델 뿐만 아니라 3D scene aware GAN이나 depth map generation 등 다양한 분야에서 활용되고 있다. GAN이 가장 좋은 점...
Published on December 09, 2022 | 11 min read

About light weight CNNs(MobileNet 시리즈들)

경량화 네트워크Deep learning의 발전은 하드웨어와 함께 시작되었고, 충분히 좋은 성능을 가지는 CPU 혹은 GPU 없이는 뛰어난 추론 능력을 가진 네트워크를 fully 활용할 수 없는 것이 사실이다. 그러나 언제까지나 무거운 서버컴에서 딥러닝을 돌릴 순 없기 때문에 딥러닝 네트워크의 경량화, 간소화가 필수적이다. <img src="https://user-images.githubusercontent...
Published on December 08, 2022 | 7 min read

Efficient deep neural networks에 대하여

Efficient Network딥러닝 네트워크를 구성하는데 있어서 고려해야할 점은, 학습에 사용될 dataset의 크기나 특성 그리고 궁극적으로 해결하고자 하는 task일 것이다. 그리고 이러한 것들을 모두 신경쓰고도 최종적으로 확인해야할 부분은, 내가 가진 resource(GPU와 같은 장비)를 사용해서 학습이 가능한가?라고 볼 수 있다. 만약 누군가 우리에게 외주를 맡겼다고 가정해보자. 학습 가능한 GPU 성능도 있고, 굳이 저용량의 모바일 기기...
Published on December 08, 2022 | 8 min read

github.io에 카테고리 기능 추가해보기

기존 방식의 블로그본인은 현재 WHATATHEME이라는 jekyll 테마를 적용해서 사용 중이다. 그러나 해당 테마의 불편했던 점은 바로 포스팅을 하면 각 카테고리별로 글이 정리되지 않아서 블로그 정리 팁, 이런저런 딥러닝 페이퍼 리뷰 그리고 소소한 일기장같이 구분이 잘 안된다는 점이었다. 그래서 아예 그냥 슥 뜯어고치려고 했다. 기존 블로그 테마에서 ...
Published on December 08, 2022 | 3 min read

MixMatch-A holistic approach to semi-supervised learning에 대하여

준지도학습이란 흔히 일부 레이블이 존재하는 데이터에 대해 학습한 모델을 토대로 레이블이 없는 데이터셋에 대해서 학습을 진행하는 것을 의미한다. 즉, unsupervised learning과 동일하게 representation mapping을 어떠한 방식으로 해결할 것인지에 대한 분석이 중요하며, 본 게시글에서는 SSL(Semi-supervised learning)에서 가장 성능을 끌어올렸던 유명한 논문 중 하나인 MixMatch에 대해 리뷰하도록 하겠다. <a href="https://arxiv.org/abs/1905.0...
Published on December 07, 2022 | 11 min read

github.io에 마크다운 작성 및 수식 입력하기

Post 방법본인은 블로그를 사용할 때 github desktop을 설치해두고, 글은 로컬 컴퓨터의 visual studio code에서 작성한다. 왜냐하면 보통 다음과 같은 커맨드를 통해 jekyll 로컬 서버를 열고, 내가 제대로 홈페이지를 관리하고 있는지 확인하기 위해서인데,bun...
Published on December 07, 2022 | 7 min read

NSVF-Neural Sparse Voxel Fields에 대해서

NSVFNeural Sparse Voxel Fields Abstract사실적인 형태의 real-world scen...
Published on December 06, 2022 | 8 min read

NeRF-Representing Scene as Neural Radiance Fields for View Synthesis에 대해서

Mildenhall, Ben, et al. “Nerf: Representing scenes as neural radiance fields for view synthesis.” Communications of the ACM 65.1 (2021): 99-106.Abstract이 논문은 input으로 한정된 수의 3D scene을 획득, 이를 활용하여...
Published on December 05, 2022 | 18 min read

Simple explanation of NCE(Noise Contrastive Estimation) and InfoNCE

해당 내용은 Representation Learning with Contrastive Predictive Coding에서 소개된 InfoNCE를 기준으로 그 loss term의 시작에 있는 InfoNCE에 대해 간단한 설명을 하고자 작성하게 되었다. 논문링크InfoNCE는 contrastive learning의 기본에 있는 연구가 되며, 흔히 multimodal(멀티모달)이라 불리는 AI의 새로운 지평을 열기 위해 보다 다...
Published on December 02, 2022 | 18 min read

Denoising diffusion probabilistic model에 대해서

Denoising Diffusion Probabilistic Model(DDPM)Score matching networkDiffusion model은 score matching network로부터 나왔다고 한다. 그렇다면 대체 score matching network는 무엇일까? <img src="ht...
Published on November 28, 2022 | 13 min read

Variational autoencoder에 대해서

Variational AutoEncoder(VAE)Deep generative learning 딥러닝을 배제하고 무언가를 생성하는 모델을 생각해보자. 그 무언...
Published on November 24, 2022 | 12 min read

LaTex 자주 쓰는 수식 및 심볼 정리

깃허브 블로그나 레이텍에서 수식을 작성하다보니 모르는 심볼이나 문법들이 많아서 자주 사용할 것들만 모아놓는 용도..Font typesABCDEF\mathcal{ABCDEF}</sp...
Published on November 16, 2022 | 12 min read

cs231n 내용 요약 (10) - Visualizing, Transfer learning

들어가며…이 글이 아마도 cs231n과 관련된 마지막 포스팅이 될 것이다. 사실 깃허브 블로그를 오픈하고 기존 네이버 블로그에 작성했던 내용들을 다시 원래 강의 노트와 비교하면서 옮기고 있었는데, 예전에 작성했던 내용들을 보니 애매하게 적어둔 내용도 많고 잘 모르고 작성한 부분들도 은근 많았던 것 같다. 1년 전이기 때문에 지금도 그때와 비교해서 더 많이 아는 건 아니지만 정리하면서 최대한 예전에 공부했던 내용들을 다시 살펴보는 것이 기초를 다지는 과정에 효과...
Published on November 11, 2022 | 27 min read

cs231n 내용 요약 (9) - CNN(Convolutional neural network)

들어가며…이전까지의 글을 통해 길고 긴 여정을 거쳐 신경망에 대한 내용을 정리할 수 있었다. 딥러닝은 머신러닝의 한 방법론이라고 볼 수 있는 neural network를 확장시켜 보다 깊은 레이어층을 학습하고자 했던 연구였고, 그 연구가 많은 발전을 이루어 현재 AI가 사업의 대부분을 구성하는 세상이 되었다. 사실 딥러닝을 처음 공부했을 때는 공부해도 되는 분야인지 막막하기도 했었고, 공부하다보면 최근 논문이나 연구로 올수록 앞으로 내가 이 분야에서 대학원 생활을 통해 얻을...
Published on November 10, 2022 | 19 min read

cs231n 내용 요약 (8) - Learning and evaluation

들어가며…이전 게시글에서 다뤘던 내용은 neural network에서 고정으로 사용될 수 있는 내용이었다. 여기서 고정으로 사용된다는 것은 학습 시에 변하지 않는 것을 의미한다. 예를 들어 정규화 방법으로 L1 regularization을 선택할 수도, L2 regularization을 선택할 수도 있지만 task에 따라 선택한 objective function은 불변이라는 점이다. 정규화를 제외하고도 네트워크 구조나 데이터 전처리 등등에 대해서 살펴볼 수 있었다. <br ...
Published on November 09, 2022 | 30 min read

cs231n 내용 요약 (7) - Regularization, Loss function

들어가며…바로 이전 게시글에서 batch normalization에 대한 개념과 해당 요소를 실제 딥러닝에서 어떻게 연산하는지 코드를 통해 확인해보았다. 이번 게시글에서는 batch normalization과 같이 정규화 역할을 하지만, layer 사이의 covariance shift를 줄이기 위한 목적보다는 overfitting을 방지하기 위한 목적으로 사용되는 여러 regularization term에 대해 알아보고, 딥러닝에서 다루는 supervised learning...
Published on November 08, 2022 | 13 min read

cs231n 내용 요약 (6) - Data preprocessing, Weight initialization, Batch Normalization

들어가며…이전까지 했던 내용에 대한 전반적인 요약은 다음과 같다. Linear classification을 예시로 들면서 softmax, SVM(support vector machine)의 classifier를 소개했었고, 이러한 classifier가 학습되는 과정에서 사용되는 score function의 한 형태인 neural network를 언급했었다. 생체 뉴런을 유사한 형태로 표현한 perceptron의 구조와 각 연산이 ...
Published on November 07, 2022 | 26 min read

cs231n 내용 요약 (5) - Neural Network

들어가며…딥러닝의 침체기에 걸쳐있던 perceptron과 이를 극복하기 위한 multilayer perceptron 구조, 그리고 해당 구조를 학습시킬 수 있는 방법으로 backpropagation에 대해 알아볼 수 있었다. 이번 글도 똑같은 구조인 neural network에 대해서 살펴볼텐데, 이전까지는 방법론에 대한 내용이 주를 이루었다면 이번에는 그보다는 조금 더 architecture, structure에 대해서 살펴볼 예정이다.<h1 i...
Published on November 06, 2022 | 17 min read

cs231n 내용 요약 (4) - Backpropagation

들어가며…앞선 글에서 다루었던 내용들은 linear classification task에 대해 classifier로 사용될 수 있는 support vector machine(SVM)과 softmax에 대한 형태, 그리고 각각의 classifier의 최적화 과정에서 loss function으로 사용되는 hinge loss와 cross-entropy loss...
Published on November 05, 2022 | 16 min read

cs231n 내용 요약 (3) - Optimization(최적화)

신경망 학습바로 이전 글에서는 linear classification에서 사용할 수 있는 두 classifier인 SVM(support vector machine)과 softmax에 대해 소개하였다. 대표적인 특징으로 SVM은 각 class 별 점수를 affine function $f$를 통해 구한 뒤, 정답에 해당되는 class의 점수를 다른 class의 점수보다 특정 margin($\Delta$) 이상 차이나게끔 구별하게끔...
Published on November 04, 2022 | 11 min read

cs231n 내용 요약 (2) - Linear classification

이전 글에서…이전 포스팅 기준으로 컴퓨터비전에서 가장 대표적인 task인 image classification에 대해서 설명했다. 그리고 간단한 모델인 KNN(k -Nearest Neighbor) classifier에 대한 소개도 했었다. Image Classification에서 해결해야할 여러 문제들을 제시했고, 이러한 문제들을 해결하기 위해 data driven algorithm을 사용한다고 언급했었다. 그러나 단순히 각 샘플에 대한 거리 메트릭 비교를 통한 분류의 경우 다음과...
Published on November 03, 2022 | 19 min read

cs231n 내용 요약 (1) - Image classification

What is image classification?이미지 분류(Image classification)는 컴퓨터비전(computer vision)으로 해결하고자 하는 여러 가지 task(challenge) 중 가장 기본이라고 볼 수 있다. 기존 머신러닝이 해결하기 힘들었던 데이터 수에 따른 성능 수렴을 해결했던 딥러닝 방식은 이미지 분류 대회에서 AlexNet이라는 네트워크가 우승하면서 시작되었다. 대부분의 사람들은 AI라고 하면 ...
Published on November 02, 2022 | 11 min read

cs231n 내용 요약 (0) - What is deep learning?

Overview인공지능이란 무엇일까? 원래도 최근에 유명해진 분야이긴 하지만 그림 그리는 AI 등등 성능이 많이 올라오면서 이쪽 분야를 공부하고자 하는 사람들이 많아진 것 같다. 흔히 듣는 인공지능에 대한 용어들 중 AI, 딥러닝, 머신러닝, 데이터 사이언스나 빅데이트 등등 혼용해서 사용되는 경우가 많다. 그러다보니 결국 deep learning이란 무엇이고, 어떤 걸 공부하는 분야인지 애매해지는 경우가 생긴다. 지금부터 작성할 글들은 스탠포드 강의인 <a href="https...
Published on November 01, 2022 | 4 min read