ML & DL/개념정리

이번에는 PyTorch를 이용하여 DNN 구조를 구현하는 것을 데이터를 불러오는 것부터 하나하나 실습해 보도록 할 것이다. 0. Environmet setting 나는 Python 3.9.0, Cuda=11.7, PyTorch=2.0.0 환경에서 실습을 진행하였다. 딥러닝 NVIDIA GPU / cuda 사용하기 1. CUDA 설치 아래 링크에서 본인의 그래픽 카드에 맞는 NVIDIA 드라이버 다운로드.(나: RTX 3060TI) Download the latest official NVIDIA drivers Download the latest official NVIDIA drivers www.nvidia.com 2. CUDA Toolkit 설치 아래 changsroad.tistory.com 1. 사전세팅..
이번 글에서는 딥러닝의 발전에 크게 기여한 모델들에 대하여 간단하게만 알아볼 것이다. 1. LeNet-5 1998년 Yann LeCun에 의해 제안된 LeNet-5 모델은 손글씨 숫자를 인식하기 위해 설계된 최초의 합성곱 신경망 구조이다. 2. ILSVRC Mnist 데이터 셋에 대하여 모델들이 성능이 뛰어나자 새로운 데이터 셋을 생성하였다. ILSVRC: ImageNet Large Scale Visual Recognition Challenge라고 부르며, 수백만 개의 이미지로 구성된 데이터베이스로, 각 이미지는 라벨이 붙어 있어 다양한 컴퓨터 비전 연구에서 사용된다. ImageNet 자체는 거대한 이미지 데이터베이스이며, ILSVRC는 이 데이터셋을 이용해 2010~2017년에 개최된 대회로, 여러 비..
Linear Regression 은 $y=Wx+b$로 표시되는 선형식으로 $x$와 $y$사이의 관계를 찾는 모델이다. 분류와는 다르게 회귀 모델은 선형식의 계산결과 자체가 예측값이다. 이 선형회귀의 관계식을 찾을 때 실제 현실에서는 오차가 0일 수없기 때문에 선형회귀란, 오차가 가장 적게 되는, 즉 관계를 가장 잘 대변하는 식을 찾는 것이라고 할 수 있다. 따라서 오차가 가장 적게 되도록 학습을 진행하며 가장 많이 사용되는 Loss function은 `MSE:Mean Squared Error`이다. 각 loss function에 대한 설명은 아래에 자세하게 설명하였다. 간단하게만 말하자면, MSE는 outlier 데이터가 있다면 오차가 매우 크게 나오기 때문에 미리 이상치등을 제거해줘야 한다. Evalu..
0. 등장배경 Random Forest를 아주 간단하게 설명하자면, Decision Tree가 모여서 더 좋은 결과를 내는 모델이다. 자세하게 말하자면 Random Forest는 CART모델의 단점을 극복하기 위해 제시된 모델로서, Decision Tree 하나로는 training data에 너무 쉽게 overfitting 되고, 이에 여러 개의 Decision Tree를 사용하여 다수결을 사용하는 방식으로 보완하고자 하였다. 이렇게 단일 모델 여러 개를 모아서 더 좋은 판단을 하는 방법론은 `Model Ensemble`이라고 한다. 이때 단순 DT를 모은 것이 아니다. 왜냐면 같은 데이터에 대해서 만들어진 DT는 같은 결과를 출력하게 된다. 이에 다양성을 추가해 주기 위하여 2가지 기법을 사용하였다. ..
텐서란 데이터의 배열(array)을 의미한다. 1. 텐서의 연산 1-1. 사칙연산 텐서의 사칙연산은 단순하게 원소 단위로 연산하는 것을 의미한다. 다음과 같이 같은 행, 열에 있는 원소들끼리 사칙연산을 수행하면 된다. 1-1-1. 사칙연산 코드 tensor_a = torch.tensor([[1, -1], [2, 3]]) tensor_b = torch.tensor([[2, -2] ,[3, 1]]) print('덧셈') print("a+b : \n", tensor_a + tensor_b) print("torch.add(a,b) : \n", torch.add(tensor_a, tensor_b)) print('뺄셈') print("a-b : \n", tensor_a - tensor_b) print("torch...
오늘은 다양한 데이터 증강 기법들에 대하여 간단하게 정리하였다. 일반적으로 데이터가 충분하지 않다면 과적합이 일어나기 때문에 충분한 양의 데이터를 확보하는 것은 중요하다. 그러나 더 이상 새로운 데이터를 얻을 수 없는 경우, 데이터 증강기법등을 사용해 볼 수 있다. 다만 데이터 증강을 진행할 때 함부로 데이터를 변형하여 증폭시키면 안되고, 해당 데이터의 도메인을 잘 고려해서 처리해야 한다. 예를 들어 객체 인식을 하고 있는데, 이미지를 크롭 하였는데 해당 영역에 객체가 없거나 숫자 6을 돌려서 9로 만들어버리는 등 문제가 생길 수도 있으므로 적절한 기법을 이용해야 한다. 이미지 데이터 증강 기본적으로 이미지 데이터 증강 기법에는 `Resize:사이즈조절`,`Rotation:회전`,`Flipping:뒤집기..
창빵맨
'ML & DL/개념정리' 카테고리의 글 목록 (3 Page)