ML & DL

ML & DL

wandb | Weight & Biases(wandb) 설치 및 pytorch에서 사용하기

yolov5나 mmcv 등을 사용하면서 학습 과정을 매 에폭마다 확인할 수 있고 결과까지 예쁘고(? 편하게 볼 수 있어 wandb를 연동하여 사용하고 있다. 회원가입을 하고 init이라는 아주 간단한 것만 해주면 학습 과정 및 결과를 기록하고 저장하기 편하다. 1️⃣ 회원 가입 & wandb 설치 https://wandb.ai/home Sign In with Auth0 Sign in with Microsoft Account wandb.ai 위 사이트에서 wandb에 회원가입을 먼저 해야 한다. 구글과 깃허브 계정으로 쉽고 빠르게 회원 가입이 가능하다. 회원 가입을 한 후에 wandb를 설치 해 주어야 한다. wandb를 사용할 가상환경에 접속한 후 pip install wandb 이렇게 wandb를 설치..

ML & DL

R-CNN & Fast R-CNN & Faster R-CNN 간단 비교(feat. RPN (region proposal network))

RCNN 논문을 읽고 정리하면서 논문 하나하나를 리뷰하여 따로 포스팅하는 것 보단 각 특징들을 서로 비교하며 간단하게 정리하는게 좀 더 스스로에게 도움이 될 것 같았다. 때문에 논문에 언급된 내용들 전부가 해당 글에 있는 것이 아니라 굵직한(굵직하다고 생각된) 특징들만 있는 (간단) 비교 글임을 미리 언급한다. R-CNN (regions with CNN) R-CNN은 object detection에서 딥러닝을 최초로 적용시킨 모델이다. 이미지에 있는 data와 label을 input으로 하여 카테고리와 무관하게 물체의 region을 찾는 region proposal을 진행한다. proposal된 region으로부터 고정된 크기의 feature vector를 warping하여 CNN의 input으로 사용한..

ML & DL

Contrastive Learning이란? (feat. Contrastive Loss, Self-supervised learning)

⏹ Contrastive learning이란? Contrastive learning이란 self-supervised learning(자기 주도 학습)의 주된 학습 방법으로 데이터들 간의 특정한 기준에 의해 유사도를 측정하기 위해 샘플 데이터 간의 비교를 통해 학습된 표현 공간(representation space) 상에서 비슷한 데이터는 가깝게, 다른 데이터는 멀게 존재하도록 표현 공간(representation space) 을 학습하는 것이다. ➡ Self-supervised learning 비지도학습의 한 분야에 속하는 방법으로 스스로 supervision을 주는 방법으로 라벨링이 되어 있지 않은 데이터로 학습을 진행한다. positive pair와 negative pair로 구성되며 입력쌍에 대해 ..

ML & DL

기울기 소실(Gradient Vanishing)과 폭주(Exploding) 해결 방법 | ReLU 함수와 Leaky ReLU 함수, 그래디언트 클리핑(Gradient Clipping), 배치 정규화(Batch Normalization)

기울기 소실 (Gradient Vanishing) 기울기 소실(Gradient Vanishing)이란 역전파(Backpropagation) 과정에서 입력층으로 갈수록 기울기(Gradient)가 점차적으로 작아지는 현상이다. 이는 신경망 구조에서 레이어가 늘어날 수록 악화되며 입력층에 가까운층들에서 가충치들이 제대로 업데이트 되지 않아 최적의 모델을 찾지 못하게 된다. 따라서 기울기 소실 문제는 신경망의 활성화 함수의 미분 결과 값(도함수 값)이 계속 곱해지면서 가중치에 따른 결과값의 기울기가 0이 되어 경사하강법(Gradient Descent)을 이용할 수 없게 된다. 기울기 폭주 (Gradient Exploding) 기울기 폭주는 기울기 소실과 반대되는 경우이다. 기울기가 점차 커져 가중치들이 비정상적..

ML & DL

YOLOv5 모델 아키텍쳐 분석 | YOLOv5 Training 및 Inference

Object Detection을 하면서 가장 쉽게, 많이 사용하는 모델인 Yolo v5 모델 아키텍쳐를 간단하게 분석을 해 보았다. Yolo v5 Github : https://github.com/ultralytics/yolov5 GitHub - ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite. Contribute to ultralytics/yolov5 development by creating an account on GitHub. github.com YOLOv5 모델 아키텍쳐 분석 1) Backbone Yolo v5의 Backbone은 이미지에서 feat..

ML & DL

선형 회귀분석(Linear Regression)과 로지스틱 회귀분석(Logistic Regression)

- 회귀 분석 (Regression Analysis) 회귀분석이란 관찰된 여러 데이터를 기반으로 각 연속형 변수 간 관계를 모델링 하고 이에 대한 적합도를 측정하는 분석 방법으로 통계학에서 전통적으로 많이 사용되던 분석 방법이다. - 선형 회귀분석(Linear Regression) 단순 선형 회귀분석(Linear Regression)은 독립변수 X(설명변수)에 대해 종속변수 Y(반응변수) 사이의 관계를 수학적 모형을 이용하여 규명된 함수 식을 사용해 설명 변수들의 변화로부터 종속 변수의 변화를 예측하는 분석이다. 아래 그림과 같이 두 변수 사이의 관계를 직선으로 가정하고 분석하는 것을 선형 회귀분석이라고 한다. 독립변수의 개수에 따라 한 개의 독립변수를 가지면 단순 선형회귀라고 하며, 두개 이상의 독립변..

ML & DL

사이킷런으로 구현하는 머신러닝(simple ver.) | 데이터셋, 사이킷런 알고리즘, 회귀 문제, 분류 문제

sciPy와 Toolkit을 합쳐서 만들어진 사이킷런(Scikit-Learn)은 파이썬 기반 머신러닝용 라이브러리이다. 사이킷런을 이용하면 머신러닝 알고리즘을 구현할 수 있다. 먼저, 사이킷런에서 제공하는 데이터셋은 특성행렬(Feature Matrix)과 타겟벡터(Target Vector)로 NumPy의 ndarray, Pandas의 DataFrame, SciPy의 Sparse Matrix를 이용해 나타낼 수 있다. 특성행렬은 입력 데이터를 의미하며 [n_samples, n_features] 형태의 2차원 배열 구조를 사용한다. (n_samples: 행의 개수(표본의 개수), n_features: 열의 개수(특성의 개수)) 특성행렬은 NumPy의 ndarray, Pandas의 DataFrame, SciP..

ML & DL

딥러닝 신경망/활성화 함수/손실함수/경사하강법/오차역전파법

> 신경망 다층 퍼셉트론 활성화 함수 (Activation Functions) 손실함수 경사하강법 오차역전파법

ML & DL

딥러닝과 머신러닝의 차이/연결주의/함수와 딥러닝 모델

인공지능, 머신러닝, 딥러닝의 관계는 위의 그림과 같다. 인공지능이 가장 큰 범주이고 그 범주 안에 머신러닝과 딥러닝이 있다. 딥 러닝은 머신러닝의 범주에 포함이 된다. - 인공지능 사람이 직접 프로그래밍 한 내용이 아닌, 기계가 자체적으로 규칙 시스템을 구축하는 과학이다. - 머신러닝 데이터를 통해 스스로 학습하는 방법론이다. 머신러닝은 데이터를 분석하고 데이터 내의 패턴을 파악하여 학습을 한다. 학습한 내용을 토대로 판단과 예측을 한다. - 딥러닝 딥러닝은 학습하는 모델의 형태가 신경망인 방법론이다. 아직까지도 딥러닝 보다는 머신러닝이 더 많이 활용되기도 한다. > 딥러닝 vs 머신러닝 연결주의 신경망과 함수, 모델

토오오끼
'ML & DL' 카테고리의 글 목록 (2 Page)