전체 글 64

[논문 리뷰] Discriminative Unsupervised Feature Learning with Exemplar Convolutional Neural Networks (2015, IEEE TPAMI, Exemplar-CNN)

Paper: https://arxiv.org/pdf/1406.6909  Introduction이 논문에서 Self-supervised learning을 (아마도) 최초로 도입했다.Unsupervised Learning을 다루는 논문들이 늘 얘기하는 문제(Labeled Dataset을 구축하는 게 어렵다.)를 극복하고자 Unlabeled Dataset으로 CNN을 사전 학습 시키는 방법을 제안한다.  MethodCreate Surrogate Training DataExemplar-CNN 학습을 위해 어떤식으로 Input-Output을 구성했는지 확인해보겠다. 먼저, Figure 1과 같이 Unlabeled Dataset내 Images로부터 객체가 포함된 Patch를 N개 추출한다.(정확히는, Gradien..

[논문 리뷰] DiffusionAD: Norm-guided One-step Denoising Diffusion for Anomaly Detection (2023)

Paper: https://arxiv.org/abs/2303.08730 DiffusionAD: Norm-guided One-step Denoising Diffusion for Anomaly Detection Anomaly detection has garnered extensive applications in real industrial manufacturing due to its remarkable effectiveness and efficiency. However, previous generative-based models have been limited by suboptimal reconstruction quality, hampering their ove arxiv.org Introduction 해당..

[논문 리뷰] Causal Attention for Vision-Language Tasks (CVPR, 2021)

Paper: https://openaccess.thecvf.com/content/CVPR2021/papers/Yang_Causal_Attention_for_Vision-Language_Tasks_CVPR_2021_paper.pdf Supplementary Material: https://openaccess.thecvf.com/content/CVPR2021/supplemental/Yang_Causal_Attention_for_CVPR_2021_supplemental.pdf Introduction Attention Mechanism을 활용한 모델을 Large-scale Dataset에 훈련시킨 연구들이 Vision-Language Tasks에 훌륭한 성능을 보이고 있다. 하지만, Attention 기반의 V..

Microsoft Azure 학생용 계정 만들기

Azure를 사용할 일이 생겨서 공부도 할 겸 계정을 만들었다. Azure도 학생용 계정을 만들 수 있다. 생성 방법은 간단하다. 1. 계정 생성 먼저, MS 학생용 계정을 만들어야한다. (학교 메일로 인증 필요) 이전에 팀즈를 사용할 때, 학생용 계정을 만들어둬서 그대로 사용했다. (Azure를 이용할 용도로 계정을 하나 더 파는 경우도 있는 것 같다? 이건 잘 모르겠음) 2. Azure for Students 포탈에서 등록 포탈 주소: https://azure.microsoft.com/ko-kr/free/students/ Azure for Students - 체험 계정 크레딧 | Microsoft Azure Microsoft Azure for Students에서 체험 계정을 만들면 $100크레딧을 받..

기타 2023.06.27

[Keras] "categorical_crossentropy", "sparse_categorical_crossentropy" 차이

Keras에서 사용 가능한 loss function 중 "categorical_crossentropy"와 "sparse_categorical_crossentropy" 의 차이가 궁금해서 찾아봤다. (처음에는 후자의 경우, function 자체가 sparse한 데이터에 초점이 맞춰져 있나 궁금했다...) 찾아보니, 차이는 다음과 같다. (성능에는 영향을 끼치지 않는다고 한다.) "categorical_crossentropy"는 데이터의 라벨이 원-핫 인코딩 된 형태의 경우 사용, "sparse_categorical_crossentropy"는 데이터의 라벨이 Int형 일 때 사용한다. 예로 클래스가 5개인 데이터가 있다고 하자, 라벨의 형태가 [[0, 0, 1, 0, 0], [0, 0, 0, 0, 1], [..

[컴퓨터 비전] Sampling & Aliasing, Nyquist Rate, Low pass Filter

이 글은 학부 수업을 들으면서 개인적으로 정리한 글입니다. 잘못된 내용이 있다면 댓글로 말씀 부탁드립니다! Sampling & Aliasing 우리가 다루는 이미지는 2차원의 신호(Signal)로 볼 수 있다. Figure 1. 에서 노란 선의 신호를 화살표 우측의 연속적인 신호로 나타낼 수 있고, 연속적인 신호는 Sampling할 수 있다. (연속적인 신호(또는 함수)에서 특정 위치를 대표하는 값을 뽑아내는 과정을 Sampling이라고 한다.) Sampling된 값을 다시 연속적인 값으로 복원할 때, 기존의 신호와 달라지는 현상이 발생하는데 이런 현상을 Aliasing이라고 부른다. 이처럼 우리가 다루는 이미지는 연속이 아닌 discrete한 pixel 값으로 이루어져 있고, 카메라의 센서 또한 불연속..

[오류] zsh: command not found: python (Mac OS)

파이썬 3.11로 업그레이드 하기 전, 맥북에서 사용 중인 파이썬 버전이 궁금해서 python --version 을 입력했다. 그런데 "zsh: command not found: python"라는 문구만 나왔다 ㅡ.ㅡ 찾아보니 환경 변수에 python의 경로가 설정되지 않아 나오는 에러라고 한다. 해결 방법 해결 방법은 먼저 터미널에 which python3 을 입력해 python이 설치된 경로를 확인하고, echo "alias python=위에서 확인한 경로" >> ~/.zshrc 와 같이 입력한 후 terminal을 다시 실행하면 된다!

기타 2022.11.13

[논문 리뷰] Show and Tell: A Neural Image Caption Generator (CVPR, 2015)

Title: Show and Tell: A Neural Image Caption Generator (CVPR, 2015) 최근 Causal Inference에 관심이 많이 가서, CVPR 2022에 게재된 Show, Deconfound and Tell: Image Captioning with Causal Inference 라는 페이퍼의 레퍼런스를 훑어보다 읽게 됐다. Introduction Image Captioning(IC) 분야는 이름 그대로 이미지를 입력받아 해당 이미지를 설명하는 문장을 생성하는 태스크다. 일반적으로, 우리가 컴퓨터 비전 분야의 대표적인 태스크 하면 떠올리는 image classification, object detection 보다 어려운 작업이라고 할 수 있다. 주어진 이미지에서..

Resizing Array

이 글은 학부 수업을 들으면서 개인적으로 정리한 글입니다. 잘못된 내용이 있다면 댓글로 말씀 부탁드립니다! Introduction C언어로 프로그래밍을 공부하면서 가장 처음 접하게 되는 기본적인 배열(Array)은 초기화 시 자료형과 크기를 지정한다. 배열의 크기를 지정해두기 때문에, 데이터의 입력이 얼마나 들어오는지 미리 알기 어려운 경우에는 배열 크기 설정에 어려움을 겪는다. 이런 어려움을 해결하기 위해 다음 특징을 갖는 Resizing Array를 사용한다: - 저장된 데이터의 크기에 따라 Array의 크기를 재조정하는 자료 구조 - index로 원소 접근 가능 Python의 List, C++의 vector, Java의 ArrayList가 그 대표적인 예시이다. 이를 활용해 사용자는 데이터의 입력이..