Deep Learning
-
Import Library¶In [1]:import torchimport torch.nn as nnimport torchvisionimport torchvision.transforms as transformsimport numpy as npimport mathimport matplotlib.pyplot as pltimport PILimport urllibdevice = torch.device("cuda:0")U-Net¶In [2]:class SinusoidalPositionEmbeddings(nn.Module): # position embedding def __init__(self, dim): super().__init__() self.dim = dim def for..
DDPM ImplementationImport Library¶In [1]:import torchimport torch.nn as nnimport torchvisionimport torchvision.transforms as transformsimport numpy as npimport mathimport matplotlib.pyplot as pltimport PILimport urllibdevice = torch.device("cuda:0")U-Net¶In [2]:class SinusoidalPositionEmbeddings(nn.Module): # position embedding def __init__(self, dim): super().__init__() self.dim = dim def for..
2024.09.13 -
1. 배경 지식1.1. Variational AutoEncoder Auto Encoder 요약1. 개념어떠한 데이터 입력이 들어왔을 때, 해당 입력을 압축 시켜 latent vector로 만든 후, 해당 embedding vector를 다시 본래의 입력 데이터 형태로 복원 하는 신경망 2. 구조인코더와 디코더로 이루alstn59v.tistory.com1.2. KL Divergence KL Divergence0. 들어가기에 앞서본 게시글은 쿨백-라이블러 발산(Kullback–Leibler divergence, KLD)에 대해 쉽게 이해할 수 있도록 최대한 간략하게 작성한 글입니다.더욱 자세한 내용을 알고싶다면, 아래의 참고alstn59v.tistory.com1.3. Markov Chain Markov Ch..
Denoising Diffusion Probabilistic Model1. 배경 지식1.1. Variational AutoEncoder Auto Encoder 요약1. 개념어떠한 데이터 입력이 들어왔을 때, 해당 입력을 압축 시켜 latent vector로 만든 후, 해당 embedding vector를 다시 본래의 입력 데이터 형태로 복원 하는 신경망 2. 구조인코더와 디코더로 이루alstn59v.tistory.com1.2. KL Divergence KL Divergence0. 들어가기에 앞서본 게시글은 쿨백-라이블러 발산(Kullback–Leibler divergence, KLD)에 대해 쉽게 이해할 수 있도록 최대한 간략하게 작성한 글입니다.더욱 자세한 내용을 알고싶다면, 아래의 참고alstn59v.tistory.com1.3. Markov Chain Markov Ch..
2024.09.11 -
1. 개념어떠한 데이터 입력이 들어왔을 때, 해당 입력을 압축 시켜 latent vector로 만든 후, 해당 embedding vector를 다시 본래의 입력 데이터 형태로 복원 하는 신경망 2. 구조인코더와 디코더로 이루어짐인코더는 입력 데이터를 압축하여 latent vector로 만듬, recognition network 라고도 불림디코더는 latent vector를이용하여 원래의 입력 형태로 만듬, generative network 라고도 불림 3. 활용데이터에 대한 차원 축소, 이상 탐지, 노이즈 제거, 인식, 생성 등에 활용됨 4. VAE(; Variational AutoEncoder)기본적인 형태의 오토인코더와 다름확률적 오토인코더로, 학습이 끝난 이후에도 출력이 부분적으로 우연에 의해 결..
Auto Encoder 요약1. 개념어떠한 데이터 입력이 들어왔을 때, 해당 입력을 압축 시켜 latent vector로 만든 후, 해당 embedding vector를 다시 본래의 입력 데이터 형태로 복원 하는 신경망 2. 구조인코더와 디코더로 이루어짐인코더는 입력 데이터를 압축하여 latent vector로 만듬, recognition network 라고도 불림디코더는 latent vector를이용하여 원래의 입력 형태로 만듬, generative network 라고도 불림 3. 활용데이터에 대한 차원 축소, 이상 탐지, 노이즈 제거, 인식, 생성 등에 활용됨 4. VAE(; Variational AutoEncoder)기본적인 형태의 오토인코더와 다름확률적 오토인코더로, 학습이 끝난 이후에도 출력이 부분적으로 우연에 의해 결..
2024.09.05 -
0. 시작하기에 앞서본 게시물은 아래 참고링크의 게시글을 매우 적극적으로 활용하였으므로, 원 저작자에게 감사의 뜻을 남깁니다. 1. 개념U-Net은 오토인코더(autoencoder)와 같이 데이터의 차원을 축소했다가 다시 확장하는 방식의 모델로, Semantic Segmentation을 수행할 수 있다.그러나 오토인코더는 인코딩 단계에서 차원 축소를 거치면서 이미지 객체에 대한 자세한 위치 정보를 잃게 되고, 디코딩 단계에서도 저차원의 정보만을 이용하기 때문에 위치 정보 손실을 회복하지 못하는 단점이 존재한다.이러한 단점을 극복하기 위해 U-Net은 고차원 정보도 함께 이용하여 이미지의 특징을 추출함과 동시에 정확한 위치 파악을 하기위해 인코딩 단계의 각 레이어에서 얻은 특징을 디코딩 단계의 각 레이어..
U-Net: Convolutional Networks for Biomedical Image Segmentation0. 시작하기에 앞서본 게시물은 아래 참고링크의 게시글을 매우 적극적으로 활용하였으므로, 원 저작자에게 감사의 뜻을 남깁니다. 1. 개념U-Net은 오토인코더(autoencoder)와 같이 데이터의 차원을 축소했다가 다시 확장하는 방식의 모델로, Semantic Segmentation을 수행할 수 있다.그러나 오토인코더는 인코딩 단계에서 차원 축소를 거치면서 이미지 객체에 대한 자세한 위치 정보를 잃게 되고, 디코딩 단계에서도 저차원의 정보만을 이용하기 때문에 위치 정보 손실을 회복하지 못하는 단점이 존재한다.이러한 단점을 극복하기 위해 U-Net은 고차원 정보도 함께 이용하여 이미지의 특징을 추출함과 동시에 정확한 위치 파악을 하기위해 인코딩 단계의 각 레이어에서 얻은 특징을 디코딩 단계의 각 레이어..
2024.09.02 -
1. 발생 원인계산값에 0이 포함되거나 하여 미분이 불가능해지는 곳에서 발생할 가능성이 높음주로 sqrt, exp, norm 등에서 발생 2. 해결 방법매우 작은 값(1e-6 등)을 더해줘서 결과가 0이 안나오도록 해줌으로써 해결
학습 시 NaN 값 발생 원인1. 발생 원인계산값에 0이 포함되거나 하여 미분이 불가능해지는 곳에서 발생할 가능성이 높음주로 sqrt, exp, norm 등에서 발생 2. 해결 방법매우 작은 값(1e-6 등)을 더해줘서 결과가 0이 안나오도록 해줌으로써 해결
2023.09.27 -
1. 개념 무작위 dataset을 뽑은 후, positive pair와 negative pair들과 비교 positive는 가까이, negative는 멀리 배치 2. 계산 방법 \( L(A, P, N)=\max(\Vert f(A)-f(P) \Vert^{2}-\Vert f(A)-f(N) \Vert^{2}+\alpha, 0) \) \( A \)는 anchor input, \( P \)는 positive pair, \( N \)은 negative pair, \( f \)는 embedding, \( \alpha \)는 positive pair와 negative pair 사이의 margin 참고 링크 https://mic97.tistory.com/16 https://soobarkbar.tistory.com/43
Triplet Loss1. 개념 무작위 dataset을 뽑은 후, positive pair와 negative pair들과 비교 positive는 가까이, negative는 멀리 배치 2. 계산 방법 \( L(A, P, N)=\max(\Vert f(A)-f(P) \Vert^{2}-\Vert f(A)-f(N) \Vert^{2}+\alpha, 0) \) \( A \)는 anchor input, \( P \)는 positive pair, \( N \)은 negative pair, \( f \)는 embedding, \( \alpha \)는 positive pair와 negative pair 사이의 margin 참고 링크 https://mic97.tistory.com/16 https://soobarkbar.tistory.com/43
2023.04.12 -
0. 들어가기에 앞서 본 게시글은 개념적으로 가볍게 GNN이 무엇인지 알아보기 위해 작성한 글입니다. 더욱 자세한 내용을 알고싶다면, 아래의 참고 링크 부분의 링크를 참고 바랍니다. 1. 개념 graph에 직접 적용할 수 있는 neural network 노드가 이웃과의 연결에 의해 정의 각 노드를 잘 표현할 수 있는 임베딩을 추출해서 이용 graph 구조를 활용하여 loss를 최적화 참고 자료 https://medium.com/watcha/gnn-소개-기초부터-논문까지-96567b783479 https://velog.io/@whattsup_kim/Graph-Neural-Networks-기본-쉽게-이해하기
Graph Neural Network0. 들어가기에 앞서 본 게시글은 개념적으로 가볍게 GNN이 무엇인지 알아보기 위해 작성한 글입니다. 더욱 자세한 내용을 알고싶다면, 아래의 참고 링크 부분의 링크를 참고 바랍니다. 1. 개념 graph에 직접 적용할 수 있는 neural network 노드가 이웃과의 연결에 의해 정의 각 노드를 잘 표현할 수 있는 임베딩을 추출해서 이용 graph 구조를 활용하여 loss를 최적화 참고 자료 https://medium.com/watcha/gnn-소개-기초부터-논문까지-96567b783479 https://velog.io/@whattsup_kim/Graph-Neural-Networks-기본-쉽게-이해하기
2023.04.12 -
0. 들어가기에 앞서 본 게시글은 다양한 GRU에 대해 쉽게 이해할 수 있도록 최대한 간략하게 작성한 글입니다. 더욱 자세한 내용을 알고싶다면, 아래의 참고 링크 부분의 링크를 참고 바랍니다. 1. 배경 지식 LSTM Long Short-Term Memory 0. 배경 지식 RNN Recurrent Neural Network 1. 개념 순차 데이터를 처리하는데 적합한 신경망 machine translation, DNA analysis, voice recognition, motion recognition, sentiment analysis 등에 이용 hidden layer의 neuron에서 출력 alstn59v.tistory.com 2. 개념 LSTM을 개선한 모델 forget gate와 input gat..
Gated Recurrent Unit0. 들어가기에 앞서 본 게시글은 다양한 GRU에 대해 쉽게 이해할 수 있도록 최대한 간략하게 작성한 글입니다. 더욱 자세한 내용을 알고싶다면, 아래의 참고 링크 부분의 링크를 참고 바랍니다. 1. 배경 지식 LSTM Long Short-Term Memory 0. 배경 지식 RNN Recurrent Neural Network 1. 개념 순차 데이터를 처리하는데 적합한 신경망 machine translation, DNA analysis, voice recognition, motion recognition, sentiment analysis 등에 이용 hidden layer의 neuron에서 출력 alstn59v.tistory.com 2. 개념 LSTM을 개선한 모델 forget gate와 input gat..
2023.03.27 -
0. 배경 지식RNN Recurrent Neural Network1. 개념 순차 데이터를 처리하는데 적합한 신경망 machine translation, DNA analysis, voice recognition, motion recognition, sentiment analysis 등에 이용 hidden layer의 neuron에서 출력된 값이 다시 그 neuron의 입력으로 사alstn59v.tistory.com 1. 개념기본적인 RNN의 단점을 보완gradient vanishing의 위험 때문에 멀리 떨어져 있는 정보 전달이 힘듬긴 길이의 시계열 데이터를 처리하는데 우수한 성능 2. 구조forget gate - 맥락을 고려하여 과거 정보의 필요성을 sigmoid를 이용해 결정input gate - 현재..
Long Short-Term Memory0. 배경 지식RNN Recurrent Neural Network1. 개념 순차 데이터를 처리하는데 적합한 신경망 machine translation, DNA analysis, voice recognition, motion recognition, sentiment analysis 등에 이용 hidden layer의 neuron에서 출력된 값이 다시 그 neuron의 입력으로 사alstn59v.tistory.com 1. 개념기본적인 RNN의 단점을 보완gradient vanishing의 위험 때문에 멀리 떨어져 있는 정보 전달이 힘듬긴 길이의 시계열 데이터를 처리하는데 우수한 성능 2. 구조forget gate - 맥락을 고려하여 과거 정보의 필요성을 sigmoid를 이용해 결정input gate - 현재..
2023.03.27 -
1. 개념순차 데이터를 처리하는데 적합한 신경망\(\)machine translation, DNA analysis, voice recognition, motion recognition, sentiment analysis 등에 이용hidden layer의 neuron에서 출력된 값이 다시 그 neuron의 입력으로 사용됨학습된 neuron의 상태가 다음 학습에 사용되는 것이전에 수신한 정보를 계속 보유 = 일종의 단기 기억단기 기억은 hidden weight에 저장동일한 입력이어도 이전의 입력에 따라 다른 출력 결과 생성RNN의 필요 기능가변 길이의 입력에 대한 처리장기 의존성의 추적순서 정보의 유지시퀸스 전체의 파라미터 공유 2. 구조입력 벡터 : \( x_t \)출력 벡터 : \( y_t = f(W_{..
Recurrent Neural Network1. 개념순차 데이터를 처리하는데 적합한 신경망\(\)machine translation, DNA analysis, voice recognition, motion recognition, sentiment analysis 등에 이용hidden layer의 neuron에서 출력된 값이 다시 그 neuron의 입력으로 사용됨학습된 neuron의 상태가 다음 학습에 사용되는 것이전에 수신한 정보를 계속 보유 = 일종의 단기 기억단기 기억은 hidden weight에 저장동일한 입력이어도 이전의 입력에 따라 다른 출력 결과 생성RNN의 필요 기능가변 길이의 입력에 대한 처리장기 의존성의 추적순서 정보의 유지시퀸스 전체의 파라미터 공유 2. 구조입력 벡터 : \( x_t \)출력 벡터 : \( y_t = f(W_{..
2023.03.27 -
0. 들어가기에 앞서 본 게시글은 다양한 IoU에 대해 쉽게 이해할 수 있도록 최대한 간략하게 작성한 글입니다. 더욱 자세한 내용을 알고싶다면, 아래의 참고 링크 부분의 링크를 참고 바랍니다. 1. Vanilla IoU Intersection of Union 1. 개념 줄여서 IoU라 하며, 영상에서 Ground Truth에 해당하는 bounding box와 model이 예측한 bounding box의 겹치는 정도를 계산한 값 즉, 예측한 결과가 얼마나 정답과 일치하는지를 나타냄 2. 계산 방법 alstn59v.tistory.com 2. Generalized IoU GT box와 bounding box를 모두 포함하는 최소 크기의 박스를 이용하는 방식 GT와의 overlap을 위해 box의 영역이 넓어지..
다양한 IoU 종류0. 들어가기에 앞서 본 게시글은 다양한 IoU에 대해 쉽게 이해할 수 있도록 최대한 간략하게 작성한 글입니다. 더욱 자세한 내용을 알고싶다면, 아래의 참고 링크 부분의 링크를 참고 바랍니다. 1. Vanilla IoU Intersection of Union 1. 개념 줄여서 IoU라 하며, 영상에서 Ground Truth에 해당하는 bounding box와 model이 예측한 bounding box의 겹치는 정도를 계산한 값 즉, 예측한 결과가 얼마나 정답과 일치하는지를 나타냄 2. 계산 방법 alstn59v.tistory.com 2. Generalized IoU GT box와 bounding box를 모두 포함하는 최소 크기의 박스를 이용하는 방식 GT와의 overlap을 위해 box의 영역이 넓어지..
2023.03.10 -
1. 개념 detector와 re-identification model로 이루어진 object tracker 2. 작동 원리 detector를 이용하여 object를 찾은 후, re-ID moddel에서 detected bounding box의 feature에 대한 embedding을 생성 detection에 대해 기존의 track에 association하거나, 새로운 track 생성 3. 문제점 2 stage로 이루어지기 때문에, 실행 속도가 낮음 detector와 re-ID model은 서로 다른 feature를 이용 위의 문제점을 극복하기 위해, JDE 방식을 사용할 수 있음 참고 링크 https://velog.io/@mink7878/Object-Tracking-Towards-Real-Time-Mu..
Seperate Detection and Embedding1. 개념 detector와 re-identification model로 이루어진 object tracker 2. 작동 원리 detector를 이용하여 object를 찾은 후, re-ID moddel에서 detected bounding box의 feature에 대한 embedding을 생성 detection에 대해 기존의 track에 association하거나, 새로운 track 생성 3. 문제점 2 stage로 이루어지기 때문에, 실행 속도가 낮음 detector와 re-ID model은 서로 다른 feature를 이용 위의 문제점을 극복하기 위해, JDE 방식을 사용할 수 있음 참고 링크 https://velog.io/@mink7878/Object-Tracking-Towards-Real-Time-Mu..
2023.03.10 -
1. 개념 어떤 모델이 지금까지 만나보지 못했던 상황에서, 입력값에 대한 예측을 정확하게 하기 위해 사용하는 추가적인 가정 예를 들어 CNN은 locality와 translation invariance가 있음 참고 링크 https://arxiv.org/pdf/1806.01261.pdf
Inductive Bias1. 개념 어떤 모델이 지금까지 만나보지 못했던 상황에서, 입력값에 대한 예측을 정확하게 하기 위해 사용하는 추가적인 가정 예를 들어 CNN은 locality와 translation invariance가 있음 참고 링크 https://arxiv.org/pdf/1806.01261.pdf
2023.02.13 -
1. 개념 줄여서 re-ID라 하며, object를 재인식 하는 기술 영상에서 지속적으로 등장하는 object에 대해 재인식하여 동일한 ID를 부여할 수 있다면, tracking이 가능 유사한 object를 구분하거나, 다른 각도에서 본 동일한 object에 대한 구분이 필요 현재, 가려지거나 흐릿한 object에 identification를 하는 것에 대한 어려움이 있음 참고 링크 https://medium.com/modulabs/vital-연구실-논문소개-strdan-synthetic-to-real-domain-adaptation-network-for-vehicle-re-identification-2c8e8529e609
re-identification1. 개념 줄여서 re-ID라 하며, object를 재인식 하는 기술 영상에서 지속적으로 등장하는 object에 대해 재인식하여 동일한 ID를 부여할 수 있다면, tracking이 가능 유사한 object를 구분하거나, 다른 각도에서 본 동일한 object에 대한 구분이 필요 현재, 가려지거나 흐릿한 object에 identification를 하는 것에 대한 어려움이 있음 참고 링크 https://medium.com/modulabs/vital-연구실-논문소개-strdan-synthetic-to-real-domain-adaptation-network-for-vehicle-re-identification-2c8e8529e609
2023.02.13 -
0. 배경 지식Object Detection\(\) Object Detection1. 개념 영상 속에서 어떤 물체가 어디에 있는지 파악하는 것을 객체 탐지라고 합니다. 2. 예시 위 사진에서, 어떤 물체(사람, 버스, 자전거 등)가 어디(화면의 가운데, 우측 하단 등에 box 표시)에alstn59v.tistory.com 1. 개념영상에서 어떤 object가 \( frame^{t} \) ~ \( frame^{t-\tau} \) 사이에 등장한다고 했을 때, 그 object를 detection하고, 그 object의 시간에 따른 위치 변화를 추적하는 것 2. 예시아래 사진에서, 어떤 물체(사람 등)가 언제(\( frame^{t} \) ~ \( frame^{t-\tau} \)) 어디(화면의 가운데, 우측 하단 ..
Object Tracking0. 배경 지식Object Detection\(\) Object Detection1. 개념 영상 속에서 어떤 물체가 어디에 있는지 파악하는 것을 객체 탐지라고 합니다. 2. 예시 위 사진에서, 어떤 물체(사람, 버스, 자전거 등)가 어디(화면의 가운데, 우측 하단 등에 box 표시)에alstn59v.tistory.com 1. 개념영상에서 어떤 object가 \( frame^{t} \) ~ \( frame^{t-\tau} \) 사이에 등장한다고 했을 때, 그 object를 detection하고, 그 object의 시간에 따른 위치 변화를 추적하는 것 2. 예시아래 사진에서, 어떤 물체(사람 등)가 언제(\( frame^{t} \) ~ \( frame^{t-\tau} \)) 어디(화면의 가운데, 우측 하단 ..
2023.02.13