본문 바로가기

전체 글

[MoCo] Momentum Contrast for Unsupervised Visual Representation Learning (2019) 리뷰 논문 리뷰 동기 2023년 10월 포스코 인공지능연구원에서 컴퓨터 비전 프로젝트(족적 검색 시스템)를 수행하면서 자가 지도 학습(self-supervised learning, 이하 SSL)에 관심을 갖게 되었다. (관련 본인 글: https://seanshkim.tistory.com/114) MoCo(Momentum Contrast for Unsupervised Visual Representation Learning)는 2019년 Facebook AI Research에서 발표한 논문으로, 컴퓨터 비전 분야의 SSL 방식 모델의 대표 격이라고 할 수 있겠다. MoCo를 이해한다면 이 모델의 어떤 점을 보완하고 개선하기 위해서 그 뒤로 SimCLR, DINO, MAE 같은 더 발전된 모델이 나왔는지 맥락을 .. 2024. 1. 20. 11:24

 ㆍ 

머신러닝과 딥러닝/논문 리뷰_Paper Review
[Part 2] 용의자의 신발을 찾아라: 족적 검색 시스템과 자기 지도 학습(Self-Supervised Learning) 파트 1(https://seanshkim.tistory.com/104)에선 내가 족적 검색 시스템 연구를 하게 된 배경과 처음에는 어떤 논문을 구현하려고 했는지, 그리고 그게 왜 실패로 끝났는지 자초지종을 설명했다. 이번 글에선 내가 그 다음 단계로 수행한 과정을 설명하려고 한다. 키워드 이미지 검색 시스템, 또는 image retrieval task Label FID-300 자기 지도 학습(Self-Supervised Learning, Unsupervised Learning) MSN(Masked Siamese Network) ImageNet Pretrained Model 족적 검색 시스템에서 '정답' 이미지란? 이미지 검색 시스템에서 정답(label) 데이터는 어떻게 정의할 수 있을까? 딥러닝의 이미지.. 2024. 1. 9. 17:38

 ㆍ 

회고록/포스코 AIㆍBig Data 아카데미
[3주차] Part 2: 볼륨의 읽기 제한, 볼륨의 관리, docker ignore 본 게시글은 유데미(udemy.com)의 (Maximilian Schwarzmüller) 강의를 수강한 후 내용을 정리한 것입니다. 앞서 설명했던 것처럼 볼륨은 컨테이너의 수명 주기에 상관없이 데이터를 저장하고 유지하는 역할을 한다고 했다. 더불어 컨테이너 내부의 경로와 외부(로컬, host machine) 경로를 연결(mount)한다는 개념도 배웠다. 그럼 볼륨에 저장된 데이터를 수정할 때 이런 의문이 들 수 있다. 1) 컨테이너 안에서 데이터를 수정하면 host machine의 경로 안에 있는 데이터도 수정되는가? 2) 반대로, host machine 안의 데이터를 수정하면 컨테이너 안의 데이터가 수정되는 건가? 결국 host machine의 데이터가 원천(source)이고 지속적으로 유지되어야 하는.. 2024. 1. 9. 10:08

 ㆍ 

도커와 쿠버네티스
[3주차] Part 1: 데이터와 볼륨(volume) 이해하기 본 게시글은 유데미(udemy.com)의 (Maximilian Schwarzmüller) 강의를 수강한 후 내용을 정리한 것입니다. 학습 목표 Docker에서 말하는 데이터란 무엇인가? 볼륨(Volume)이란? arguments, environment variables 이해하기 임시 app 데이터 임시 app 데이터는 소스 코드를 말하는 게 아니다. 임시로 저장할 정보를 의미한다. container가 중지돼서 잃어버려도 상관없는 정보가 해당한다. container layer(read-write)에 저장된다. 즉 image에는 수정이 가해지지 않는다. 당연히 사용자의 로컬 시스템에도 변화가 없다. 영구 app 데이터 container 내에서 생성하지만 container의 실행 여부에는 상관 없이 계속 유지.. 2024. 1. 9. 09:59

 ㆍ 

도커와 쿠버네티스
[2주차] Part 4: 도커 이미지 공유하기(push, pull) 본 게시글은 유데미(udemy.com)의 (Maximilian Schwarzmüller) 강의를 수강한 후 내용을 정리한 것입니다. 컨테이너를 공유하고 싶다면, 이미지를 공유하면 된다 도커의 자명한 전제가 있다. 이미지를 갖고 있다면 누구나 이미지를 기반으로 컨테이너를 생성할 수 있다(Everyone who has an image, can create containers based on the image). 그렇기 때문에 container 자체를 공유하는 게 아니라 image를 공유하는 게 맞다. 방법 1: Dockerfile과 코드를 공유 어차피 dockerfile과 필요한 코드만 있다면 docker build 명령어로 image를 만들 수 있고 container는 image-based이니 Docker.. 2024. 1. 9. 09:50

 ㆍ 

도커와 쿠버네티스
[2주차] Part 3: 도커 이미지와 컨테이너를 관리하기 본 게시글은 유데미(udemy.com)의 (Maximilian Schwarzmüller) 강의를 수강한 후 내용을 정리한 것입니다. docker --help --help 옵션으로 터미널에 치면 도커에서 제공하는 정말 많은 명령어를 확인할 수 있다. 이번 시간에는 이 중 우리가 정말 자주 쓰고 필요한 명령어(core commands)만 살펴보자. docker ps, 도커 컨테이너 목록 확인하기 # --all. 이미 중단되었던 container도 확인할 수 있다 docker ps -a # --last int. 가장 최근에 생성된 마지막 3개 컨테이너만 보여준다 docker ps -3 # 기본 사용법: docker ps -n # --latest. 가장 마지막으로 생성된 컨테이너를 보여준다(모든 상태 포함) d.. 2024. 1. 9. 09:39

 ㆍ 

도커와 쿠버네티스
[2주차] Part 2: 이미지는 읽기 전용(read-only) 파일일 뿐이다 본 게시글은 유데미(udemy.com)의 (Maximilian Schwarzmüller) 강의를 수강한 후 내용을 정리한 것입니다. 도커 컨테이너에 담긴 소스 코드의 일부를 수정하고 싶다. 이 코드를 수정한 다음 컨테이너에 새로 반영하고 싶었기 때문에 컨테이너를 중단하고 다시 시작했다. 어라, 그런데 여전히 아까랑 똑같은 결과다. 왜 그런 걸까? 그 이유는, 도커 image는 소스코드의 스냅샷(snapshot)을 찍는 것과 같기 때문이다. 즉 image는 한번 빌드한 이후로는 기본적으로 외부에서 더 이상 바꿀 수 없으며 끝난(locked and finished) 상태가 된다. 도커 이미지는 layer로 구성되어 있다 Dockerfile에서 명령어의 순서는 중요하다("The order of Dockerfi.. 2024. 1. 9. 09:32

 ㆍ 

도커와 쿠버네티스
[2주차] Part 1: 이미지(image)와 컨테이너(container) 간의 관계 본 게시글은 유데미(udemy.com)의 (Maximilian Schwarzmüller) 강의를 수강한 후 내용을 정리한 것입니다. 도커의 기본, 이미지(image)와 컨테이너(container) 이미지가 템플릿, 청사진, 설계도라면 컨테이너는 이 설계도를 가지고 지은 실제 구조물, 기계, 작동하고 움직이는 어떤 것에 비유할 수 있다. 한 image(=setup instructions)를 기반으로 여러 개의 컨테이너를 만들 수 있고, 컨테이너는 서로 다른 컴퓨터나 환경에서 작동할 수 있다. 이미지는 청사진, 설계도, 공유 패키지에 대응한다. (setup instructions, blueprints, sharable packages, .. 2024. 1. 9. 08:53

 ㆍ 

도커와 쿠버네티스