ML 🐼/딥러닝 🔫 10

MIM의 Masking 방법들

Notion 링크 MIM의 Masking 방법들 | Notion0. 들어가며bottlenose-oak-2e3.notion.site  0. 들어가며최근 MAE 논문과 BEVT , Beit논문을 읽으면서 self-supervised learning 학습의 방법중 Masking modeling을 통한 (정확히 말하자면 Mask Auto Encoder) 표현 학습 방법에 관심이 생겼다. 특히, MAE 에서 단순히 랜덤 마스킹을 사용한것에 반에서 Beit에서는 Block wise masking 방법을 활용하는데 이 부분에 대해서 자세히 알고 싶어졌고 추가적 여러 Masking 방법에 대해서 정리하면 좋을 것 같아서 해당 글을 작성하게 되었다.  여러 Masking 방법들을 살펴보기 전에 간단하게 왜 Masking..

[논문리뷰] Masked Autoencoders Are Scalable Vision Learners(MAE)

많은 DL 모델들이 `supervised learning` (지도학습)의 방법으로 학습되면서 좋은 성능을 보여주었다.`Label`이 있는 방대한 양의 데이터는 `LLM`과 같은 `fondation model`의 등장을 이끌어 냈고 `semi-supervised learning`과 합쳐져서 더 많은 양의 데이터로 학습이 가능해졌다. 그러나 실제적으로 라벨링을 수행하는 것은 시간과 돈이 많이 소요되는 작업이다.또한 `Vision` 분야에서 LLM과 같은 거대 모델을 만들어 내기 위해서는 수백만개의 라벨링된 이미지 데이터를 넘어서 수억 또는 수십억개의 라벨링된 이미지 데이터가 요구 된다. 오늘 살펴볼 논문 `Masked Autoencoders Are Scalable Vision Learners`는 이러한 부분..

[밑바닥 부터 식해보는 딥러닝] 01. 수치 미분과 역전파

1. 수치 미분과 역전파 | Notion 참고 자료 bottlenose-oak-2e3.notion.site 0. 들어가면서 딥러닝을 공부하다 보면 항상마주치는 개념이 있다. 딥러닝 뉴비들이 갈려나가는 첫번째 위기라고 할 수 있는 오차역전파 (backpropagation) 이다. 고등학교 이후 수학, 특히 미분과 담을 쌓은 사람이라면 또는 수포자였다면 해당 위기는 정말 큰 위기로 느껴질 것이다. 하지만 딥러닝의 핵심을 이해하기 위해서는 (오차역전파라는 개념이 존재했기 때문에 현재의 딥러닝이 가능한 것이다. 최근에는 역전파 이외에 forward-forward라는 방법도 제시되고 있다) 해당 개념을 이해하고 넘어가는 것이 필수 적이다. 이번 시간에는 역전파와 관련된 개념들을 알아보고 numpy를 활용해서 직접..

[논문 리뷰] Notion 논문리뷰 링크

그동안 논문리뷰를 지속적으로 수행했지만 블로그에 정리할 시간이 없어서 따로 정리를 못하고 있었다 대신에 Notion 페이지에 목록을 만들고 내용을 정리하고 있으니 아래에 간단하게 링크를 첨부해 두겠습니다 :) 논문리뷰 Notion 링크 : https://bottlenose-oak-2e3.notion.site/Paper-Review-2c1a33832d764c45a17cb8f2b000a06a?pvs=4 Paper Review Computer Vision bottlenose-oak-2e3.notion.site

[논문 리뷰] CutMix : Regularization Strategy to Train Strong Classifiers with Localizable Features

CutMix는 Data Augmentation의 방법 중 하나로 자랑스러운 우리 Naver Clova에서 작성한 논문이다. 2019년도에 나온 논문이지만 아직까지 상당한 영향을 미치고 있고 실제로 데이콘, 캐글같은 대회에서 Agumentation을 할때 무조건 등장하는 기법이다. 오늘은 이러한 CutMix의 논문인 CutMix : Regularization Strategy to Train Strong Classifiers with Localizable Features을 자세히 살펴보고 추가적인 설명과 코드를 살펴보려고 한다. 본 글은 논문의 1~3 부분까지 리뷰를 하고 있으며 4에 해당되는 실험결과 내용은 논문을 참고하기를 바란다 ✅Paper : https://arxiv.org/pdf/1905.04899..

[딥러닝]활성화 함수 (Activation)

1. Activation? 딥러닝 모델을 구성하다 보면 레이어 안에 활성화 함수(Activation)이 구성된다는 것을 알 수 있다. 그렇다면 활성화 함수는 무엇일까? 그리고 왜 사용하는 것일까? 활성화 함수는 은닉층을 통과 해서 나온 가중치 곱의 합에 '비선형성'을 추가하기 위해서 사용된다. '비선형성'을 왜 추가해야할까? 바로 모델 레이어를 깊게 쌓는 것에 의미를 부여하기 위해서이다. 쉽게 말해서 활성화 함수 위치에 선형함수를 사용하게 되면 그냥 단순한 선형분류기의 기능밖에 하지 못한다. 위의 사진을 보면 선형과 비선형의 의미를 이해할 수 있을 것이다. 선형으로 분류하는 문제같은 경우는 신경망 모델이 아니더라고 기존 머신러닝 모델로 해결가능하다. 그러나 실제 세계의 문제에서는 선형 그래프의 모양처럼 ..

[딥러닝]규제 Regularization

1. Regularization? 딥러닝 모델을 구성하다 보면 우리가 만든 모델이 실제 데이터에 잘 맞지않는 (과적합 or 과소적합) 결과를 마주치게 될것이다. 이이럴때 우리는 '규제' Regularization를 활용해서 이러한 현상을 피할 수 있는데 쉽게 설명하자면 모델에 조건들을 추가해서 어느 선을 넘지 않은 이상한 모델이 만들어 지지 않게 만드는 것이다. 그렇다면 왜 이러한 규제들을 사용할까? 앞에서 설명했듯이 과적합이나 과소적합 (Overfitting, Underfitting)을 피하기 위해서 이다. 과적합과 과소적합을 피하기 위해서 우리가 할 수 있는 방법은 크게 2가지이다. 1. DataSet의 Size를 증가한다 하지만 이러한 방법은 실제 데이터를 수집하는 환경에 제약이 있다. 또한 캐글이..

[딥러닝] 옵티마이저 (Optimizer)

1. Optimizer? 딥러닝 모델을 학습하다 보면 마주치는 장치가 있다. 바로 옵티마이저(Optimizer)이다. 옵티마이저는 무엇일까? 쉽게 말해서 loss function(ex MSE, MAE...)을 사용해서 구한 오차를 이용하여 미분을 하여 기울기를 구하고이를 통해서 어떻게 뉴런 네트워크의 파라미터를 업데이트 할지 결정하는 방법이다. 즉, 옵티마이저를 결정함에 따라서 파라미터의 수정 방법과 학습의 정도가 차이 날 수 있다.물론 명심해야 할 것은 모든 학습에서 최고의 방법은 존재하지 않는다.각 옵티마이저를 사용해보고 비교한 다음 최적의 방법을 선택하는 것이 최선이다. 위 사진은 옵티마이저의 발전단계를 표현한 사진이다. 스텝 방향을 조절하는 방법과 스텝 사이즈를 조절하는 방법으로 크게 나누어진다...

[논문 구현] 근본을 찾아서... 0. LeNet-5 (GradientBased Learning Applied to DocumentRecognition)

오늘은 "특별히" CNN 모델의 근본인 LeNet5를 Pytorch를 활용해서 구현해볼려고 합니다 최근 머신러닝을 sklearn없이 구현하고 있는 개인만의 프로젝트를 하고 있는데 추가 적인 개인 프로젝트로 DL 모델들로 직접 구현해보려고 한다 논문 링크 : http://vision.stanford.edu/cs598_spring07/papers/Lecun98.pdf 오늘 구현해볼 논문은 98년도에 나온 CNN의 아버지 LeNet-5이다 (근본 중에 근본) LeNet- 5 기본 구조 (LeNet-5 Architecture) 98년도에 나온 모델이므로 구조는 상당히 단순하다 *전체적인 구조* 3개의 Convolutions layer - 2개의 Subsampling layer - 1개의 fc레이어 [활성화 함수..

[논문 리뷰-CNN] 1. ImageNet Classification with Deep Convolutional Neural Networks (AlexNet)

더보기 1989년 'Backpropagation applied to handwritten zip code recognition, LeCun, 1989'을 시작으로 CNN의 이론적 토대가 완성되었다. 이는 1998년 'LeNet'으로 연결 되었으나 당시의 하드웨어적인 한계 때문에 큰 모델을 사용하기 힘들었다. 그런 중 2012년 LeNet을 발전시킨 AlexNet이 나오게 되고 GPU를 사용한 모델 학습이 가능해짐으로써 본격적인 CNN의 시대가 개막하게 되었다. ✅본격적인 시작에 앞서서 간단히 살펴 보는 CNN - 많고 많은 신경망 모델 가운데 왜? 이미지는 CNN인가? CNN을 사용하기 이전에도 MLP(다층 신경망)를 사용하여 이미지를 학습할 수 있었다. 그러나 이는 이미지를 flat하게 풀어서 사용하였..