분류 전체보기
[DG] Deep CORAL(CORelation ALignment, 2016) 논문리뷰
오늘은 Domain Generalization의 대표 알고리즘인 Deep CORAL에 대해 간단히 리뷰해보도록 하겠습니다. 역시 잘못되거나 궁금한 부분은 댓글 부탁드립니다👀 Introduction 우리가 아는 대부분의 머신러닝 알고리즘들은 보통 IID (Independent & Identically distributed) 한 상황을 가정합니다. 하지만 아시다시피 이러한 IID 상황은 현실에서는 잘 보기 어렵습니다. 정말 이상적인 통계적인 상황을 가정한 것이기 때문이죠. 즉, 우리는 머신러닝 프로세스에서 보통 Domain shift를 겪습니다. 흔히 train data와 test data의 distribution이 달라 발생하는 기계학습의 한계인 것이죠. 따라서 Deep CORAL은 이러한 domain s..
[TIL] 서버 환경 주피터에 여러 파일 한번에 업로드하기 (scp 작동 불가할 때)
서버 환경으로 로컬의 파일을 옮기고 싶은데, scp가 작동이 불가했다. 그래서 찾은 방법이 압축 파일을 주피터에 한번에 업로드 하는 방법! 리눅스에 익숙치 않은 분들이 사용하면 좋을 것 같다,,, ( 내얘기이다 사실 ) 가장 많이 참고한 곳은 이곳이다 ! 우선 주피터 환경에 압축파일을 생성해 업로드 하고, 이를 리눅스 unzip을 통해 풀어주면 된다! $ unzip -uq "압축을 풀 파일.zip" -d "압축을 집어넣을 경로" 그럼 정상적으로 압축이 풀려 정해진 경로에 업로드된당 ~~!~!!~~!
[TIL] 내가 보려고 만든 Conda 가상환경 명령어 정리
# 현재 가상환경 목록 확인 $ conda info --envs # 가상환경 삭제 $ conda remove -n 가상환경이름 --all # 가상환경 생성 $ conda create --name daeun python=3.6 >>> python 3.6 버전으로 이름이 daeun 인 가상환경 만들기 # 가상환경 활성화 $ conda activate daeun # 설치 패키지 확인 $ conda list # 패키지 설치 $ conda install 패키지명==version 간혹 requirements.txt 를 pip3 install -r requirements.txt 로 설치하는경우, 기본 python의 path 문제때문에 pip가 먹지 않을 수도 있다. 이때는 requirements.txt에 있는 특정 ..
[Colorization] Let there be Color! (Colnet) 논문 리뷰
오늘은 Colorization의 대표 Network인 Let there be color! 에 대해 리뷰해보려고 합니다. 역시 잘못된 부분은 댓글로 알려주시면 감사하겠습니다! 👀 개인적으로 재밌게 읽었던 논문입니다 ㅎㅎ 우선 Colorization이란, 간단히 말하면 흑백 사진을 칼라 사진으로 딥러닝을 통해 바꾸는 방법론을 뜻합니다. 아래 예시와 같이 말이죠. 이러한 Colorization에 대한 연구는 꽤 오래전부터 이루어져왔는데요, 크게 User가 개입해 힌트를 주는경우와 reference image를 참고하는 경우, 그리고 흑백 이미지만 넣으면 자동으로 색을 입혀주는 총 3가지의 방법론으로 나뉩니다. 특히 요즘은 transfomer의 발전과 더불어 흑백사진만 넣으면 user의 개입 없이 automat..
[XAI] Generating Visual Explanations(2016) - 이미지 분류에 대한 설명을 생성하는 알고리즘
오늘은 Generating Visual Explanations(2016) 이라는 XAI 분야의 논문을 리뷰하겠습니다. 원본은 이 곳에서 찾아보실 수 있습니다. 흔히 딥러닝을 '블랙박스'라고 칭하곤 합니다. 그 이유는 머신러닝과는 달리 어떤 feature를 통해 특정 class로 분류했는지, 또는 어떤 feature가 중요한 분류 기준으로 작용했는지 알기 어렵기 때문인데요. 물론 CNN 필터들을 출력해볼 수도 있고, 여러가지를 통해 진단할 수 있는 방법이 많습니다. 하지만 가시적인 특징으로는 확실히 설명력이 필요할 경우가 많죠. 따라서 이 논문의 가장 큰 contribution은 이미지 분류에 대한 explanations를 출력한다는 것입니다. 본 논문은 특정 class를 왜 그 class로 분류했는지, ..
[PyTorch] torchvision model들의 input channel 변경이 안될 때
나를 일주일 째 괴롭혔던 ARM ... ARM은 기존 input으로 들어가는 x에 context net의 output을 채널에 대해 concat해서 문맥 정보를 추가해주는 형식의 알고리즘이다. 하지만 ARM을 구현하는 과정에서 내가 직면했던 에러는 다음과 같다. RuntimeError: Given groups=1, weight of size [64, 3, 7, 7], expected input[11, 6, 448, 448] to have 3 channels, but got 6 channels instead ARM Input은 torchvision 내의 resnet50에 들어가는 형식이었는데, 알고리즘상 채널에 대해 concat을 하다보니 기존 resnet50이 받는 채널 3의 input과는 달라질 수 밖..
[DG] Domain Generalization의 대표 알고리즘을 DomainBed로 알아보자 (+ Code)
오늘은 facebook에서 발표한 DomainBed를 정리하며 Domain Generalization의 대표 알고리즘을 알아보겠습니다. 우선 Domain Generalization에 대해 간단히 소개하자면, train과 test의 distribution shift (domain shift)를 완화할 수 있는 generalize된 기법을 고안하는 분야입니다. 대표적으로는 train과 test distribution 모두에서 invariant 한 feature를 추출하는 것에 집중하는 알고리즘 계열이 있습니다. DomainBed는 facebook에서 발표한 DG 분야의 benchmark dataset과 알고리즘 등을 모아 정리한 논문입니다. DomainBed에 수록되어있는 데이터셋과 알고리즘 등은 우선 다음..