본문 바로가기

분류 전체보기38

[논문 리뷰] DeiT 요약, 코드, 구현 논문을 상세히 번역하고 한단어씩 해석해주는 포스팅은 많다.나는 논문을 누구나 알아듣도록 쉽고 간결하게 전달하고자 한다. DeiTTraining data-efficient image transformers & distillation through attentionTOUVRON, Hugo, et al. Training data-efficient image transformers & distillation through attention. In: International conference on machine learning. PMLR, 2021. p. 10347-10357. 논문 원문 링크 저자의 의도convolution layer가 없으면서도 경쟁력 있는 트랜스포머를 만들어보자.1개의 컴퓨터에서 3일 이내.. 2024. 5. 13.
[논문 리뷰] V-JEPA 요약, 코드, 구현 논문을 상세히 번역하고 한단어씩 해석해주는 포스팅은 많다.나는 논문을 누구나 알아듣도록 쉽고 간결하게 전달하고자 한다. V-JEPAV-JEPA: Latent Video Prediction for Visual Representation LearningBARDES, Adrien, et al. V-JEPA: Latent Video Prediction for Visual Representation Learning. 2023.(ICLR 2024에 심사중으로 24.04.30. 현재는 오픈리뷰 논문만 존재. 오피셜 논문 공개 시 수정 예정.) 논문 원문 링크 메타의 움직임이 심상치 않다.V-JEPA가 오픈리뷰와 ICLR 논문 심사를 거치고 있는 중이다.그런데 여기 CV의 대가 얀 르쿤 교수님이 참여하셨다.얀 르쿤 교.. 2024. 4. 30.
[논문 리뷰] I-JEPA 요약, 코드, 구현 논문을 상세히 번역하고 한단어씩 해석해주는 포스팅은 많다.나는 논문을 누구나 알아듣도록 쉽고 간결하게 전달하고자 한다. I-JEPASelf-Supervised Learning from Images with a Joint-Embedding Predictive Architecture ASSRAN, Mahmoud, et al. Self-supervised learning from images with a joint-embedding predictive architecture. In: Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2023. p. 15619-15629. 논문 원문 링크 메타.. 2024. 4. 22.
[논문 리뷰] Vision Mamba(Vim) 요약, 코드, 구현 논문을 상세히 번역하고 한단어씩 해석해주는 포스팅은 많다. 나는 논문을 누구나 알아듣도록 쉽고 간결하게 전달하고자 한다. Vision Mamba ZHU, Lianghui, et al. Vision mamba: Efficient visual representation learning with bidirectional state space model. arXiv preprint arXiv:2401.09417, 2024. 논문 원문 링크 저자의 의도 최근 효율적인 디자인의 state space model(SSM) Mamba가 긴 시퀸스 모델링에 큰 가능성을 보여줬다. 하지만 SSM 에게도 비전 문제는 어려운 문제다. 비주얼 데이터의 위치 민감도와 이미지 전체 맥락에 대한 이해가 필요하다. 고해상도 이미지 처리.. 2024. 4. 17.
[논문 리뷰] Swin Transformer 요약, 코드, 구현 논문을 상세히 번역하고 한단어씩 해석해주는 포스팅은 많다. 나는 논문을 누구나 알아듣도록 쉽고 간결하게 전달하고자 한다. Swin Transformer Swin transformer: Hierarchical vision transformer using shifted windows. LIU, Ze, et al. Swin transformer: Hierarchical vision transformer using shifted windows. In: Proceedings of the IEEE/CVF international conference on computer vision. 2021. p. 10012-10022. 논문 원문 링크 이 논문은 MS에서 작성했다. (Microsoft Research Asia) .. 2024. 4. 9.
[논문 리뷰] DenseNet 요약, 코드, 구현 논문을 상세히 번역하고 한단어씩 해석해주는 포스팅은 많다. 나는 논문을 누구나 알아듣도록 쉽고 간결하게 전달하고자 한다. DenseNet HUANG, Gao, et al. Densely connected convolutional networks. In: Proceedings of the IEEE conference on computer vision and pattern recognition. 2017. p. 4700-4708. 논문 원문 링크 저자의 의도 숏 커넥션이 포함된 경우 CNN은 훨씬 더 깊고 정확하게 만들 수 있다. DenseNet은 피드 포워드 방식으로 각 레이어를 다른 모든 레이어에 연결한다. 기존의 CNN보다 더 많은 연결로 밀도 높은, Dense한 CNN을 만들어보자. 기존 문제점 정보.. 2024. 4. 5.
CNN과 transformer에서 FLOPs, #param, throughput 계산, 의미, 관계 딥러닝 모델 논문읙 실험이나 결과 부분에 꼭 나오는 것. FLOPs, #param, throughput 3가지 이다. 그런데 나는 이걸 계산하지도 못하고 의미도 모르고 관계도 모른다. 이번 포스팅에서 완벽히 정리하고 가자. 1. FLOPs FLOPs는 (Floating Point Operations)의 약자로, 주로 모델의 계산 복잡성을 측정하는 데 사용된다. 딥러닝 모델의 연산 중에 많은 것은 '부동 소수점 연산(FLOP)'이고 이걸 몇번 하는지가 FLOPs다. FLOPs가 높다 = 연산량이 많다, 무겁다 FLOPs는 입력에 따라 크기가 변한다. 따라서 단순히 파이썬 라이브러리 등으로 구하면 오류가 날 수 있다. 공식을 알아두고 검산할 필요가 있다. [FLOPs 계산 공식 (CNN)] FLOPs = H.. 2024. 3. 19.
PIL 이미지를 NumPy로 변환하여 저장하지 마세요. 딥러닝 특히 CV 분야를 공부하다 보면 다양한 형태의 이미지를 다뤄야한다. 특히 파이토치 객체, 넘파이 객체, PIL 객체 를 왔다갔다 해야한다. 또 jpg를 쓸지, png를 쓸지, RGB 3채널일때, R 1채널일때 등 다양한 문제가 생긴다. 그런데 내가 오늘 발견한 것은 PIL이미지를 NumPy로 변환할때 치명적인 에러가 발생하는 것이다. 결론적으로 PIL 이미지는 그대로 저장하거나 파이토치 함수로 변환해야만 에러가 나지 않는다. RGB를 각각 따로 딥러닝 한 뒤 R, G, B를 저장하여 값을 보고 있었다. 파이토치 객체에서 부터 넘어와 저장해야 하기 때문에 이런 저런 변환을 거친 뒤 저장하는데, 이렇게 저장했다. (이 코드는 내가 작성한 것은 아니고 선행 연구자가 작성한 것이다.) 그런데 이렇게 저장.. 2024. 3. 5.
learning rate와 batch size 관계 딥러닝 모델로 학습을 하면서 가장 많이 겪는 문제점은 hyperparameter 문제다.learning rate와 epoch를 어떻게 결정하는지가 가장 문제다.이 문제는 어떤 천재에게 물어도 같은 답이 나온다."노가다 말곤 방법이 없어요."오늘은 그중에서 먼저 learning rate에 대하여 고찰해보자. 일단 간단하게 설명하면 epoch와 batch size를 고정한뒤,위 그래프를 참고해서 적절한 good elarning rate를 찾으면 된다.그래프를 다 그려가며 비교해보고 좋은 learning rate를 고르자. 즉 learning rate를 x1, x2, x4, x1/2, x1/4 로 학습하며 loss를 그린 뒤에위 그림을 참고하며 learning rate를 고르면 된다... 2023. 11. 7.
옵티마이저(Optimizer) 설명, 의미, 고찰 - SGD? Adam? 딥러닝을 배우면서 optimizer에 대하여 한번쯤은 듣게 될거다. 하지만 이게 정확히 뭔지 모르고 그냥 대충 Adam을 사용하면 된다~ 정도로 알고 있을거다. 그게 맞다....(?) 물론 초급적인 과정에서는 그게 맞다. 하지만 조금만 깊이 가면, transformer 까지만 가면 반드시 차이를 알아야 한다. 딥러닝에서는 다양한 알고리즘을 사용한다. 그리고 이 다양한 알고리즘에서 파생된 여러가지 종류의 레이어가 있다. 가장 대표적인 것이 다음 3가지다. 활성화 함수, 손실 함수, 최적화 함수 이 세가지는 정확하게 이해해야한다. 안그러면 서로 헷갈리기도 하고 자꾸 찝찝한 마음이 들거다. 여기서 최적화 함수가 다른말로 옵티마이저. optimizer 이다. 정의 옵티마이저를 한줄로 정의하면 '최소의 loss로.. 2023. 10. 12.