본문 바로가기

ML & DL11

[Review] Adam-mini: Use Fewer Learning Rates To Gain More https://arxiv.org/abs/2406.16793 Adam-mini: Use Fewer Learning Rates To Gain MoreWe propose Adam-mini, an optimizer that achieves on-par or better performance than AdamW with 45% to 50% less memory footprint. Adam-mini reduces memory by cutting down the learning rate resources in Adam (i.e., $1/\sqrt{v}$). We find that $\geq$ 90% of tharxiv.orghttps://github.com/zyushun/Adam-mini GitHub - zyushu.. 2024. 7. 13.
[Paper] 논문 쉽게 검색 및 파악하기 다시 블로그를 시작하면서 첫번째 목표는 논문 리뷰를 꾸준히 블로깅 하는 것이다. 꾸준히 논문들을 읽으면서 정리를 하고 리뷰를 해 볼 예정이다.그 첫번째 기록으로 논문을 어떻게 검색하고, 논문의 내용을 어떻게 파악을 할 것인지에 대한 내용을 정리해 보았다. 그동안 논문을 조금씩이라도 계속 읽어오고 있었는데,논문을 찾는 것도, 내용을 파악하는 것도 주먹구구식으로 해왔던 것 같아서 제대로 찾아보고자 하였다.오늘 리뷰하는 내용은 유튜브 '김포닥 podockim' 님의 정리 영상을 참고하였다. 더 자세한 내용이 궁금하신 분들은 해당 영상을 보시길 추천한다. 내용이 길지 않고 잘 설명해주신다!'논문 검색 꿀팁! 손쉽게 논문 찾는 방법'  : https://www.youtube.com/watch?v=HWBBLRjFI.. 2024. 6. 15.
[DL] Keras fit vs fit_generator 아래 내용들은 제가 혼자 학습하면서 정리한 내용들입니다. '부족한 내용' 혹은 '잘못된 내용'이 있을 수 있습니다. 댓글 남겨주시면 더욱 공부하고 수정하도록 하겠습니다. 감사합니다. Keras를 이용해서 딥러닝 모델을 학습시킬 때 fit() 과 fit_generator() 두 가지 메소드를 사용하여 학습시킬 수 있다. 두 메소드의 차이가 무엇인지, 어떤 것을 사용해야 하는지 궁금해서 비교해보았다. fit fit()은 Scikit-learn의 fit 메소드와 유사하다. 입력으로 준 전체 데이터를 fit 메소드로 통과 시킨다. 그러므로 전체 데이터를 통과 시킬 수 있는 작은 크기의 dataset을 학습 시킬 때 사용한다. fit_generator fit_generator()는 x, y 데이터를 직접 통과시키.. 2023. 2. 14.
[DL] Tensoflow.Keras ImageDataGenerator 아래 내용들은 제가 혼자 학습하면서 정리한 내용들입니다. '부족한 내용' 혹은 '잘못된 내용'이 있을 수 있습니다. 댓글 남겨주시면 더욱 공부하고 수정하도록 하겠습니다. 감사합니다. ImageDataGenerator 사용하기 ImageDataGenerator() 함수는 주어진 데이터를 이용해 변형된 이미지를 만들어 학습셋에 포함 시키는 기능을 제공한다. 이미지 데이터의 수를 확장할 때 효과적으로 사용 가능하다. from keras.preprocessing.image import ImageDataGenerator train_datagen = ImageDataGenerator(rescale = 1.// 255, horizontal_flip = True, vertical_flip = True, width_sh.. 2023. 2. 14.
[DL] PyTorch로 인공신경망(ANN) 구현하기 아래 내용들은 제가 혼자 학습하면서 정리한 내용들입니다. '부족한 내용' 혹은 '잘못된 내용'이 있을 수 있습니다. 댓글 남겨주시면 더욱 공부하고 수정하도록 하겠습니다. 감사합니다. 간단한 분류 모델 구현 예제 : XOR 문제 풀이 PyTorch로 간단한 ANN을 구성하여 XOR 문제를 풀이하는 모델을 만들어보자!! 데이터셋 만들기 Scikit-Learn의 make_blobs 모듈을 사용해서 XOR 문제의 데이터들을 생성하기 Train 데이터는 80개, Test 데이터는 20개 생성 from sklearn.datasets import make_blobs # Train : 80개 x_train, y_train = make_blobs( random_state = 100, n_samples = 80, # 생성.. 2023. 1. 11.
[ML] Logistic Regression 아래 내용들은 제가 혼자 학습하면서 정리한 내용들입니다. '부족한 내용' 혹은 '잘못된 내용'이 있을 수 있습니다. 댓글 남겨주시면 더 공부하고 수정하도록 하겠습니다. 감사합니다. 로지스틱 회귀란? 로지스틱 회귀는 선형 회귀 방식을 분류에 적용한 알고리즘이다. 머신러닝에서 2진 분류(Binary Classification) 모델로 사용된다. 다중분류도 가능은 함. 데이터가 어떤 범주에 속할 확률을 0에서 1 사이의 값으로 예측하고 그 확률에 따라 가능성이 더 높은 범주에 속하는 것으로 분류한다. 선형 회귀와 차이점 : 학습을 통해 선형 함수의 회귀 최적선을 찾는 것이 아니라 시그모이드(Sigmoid) 함수 최적선을 찾고 이 시그모이드 함수의 반환 값을 확률로 간주해 분류를 걸정한다. 로지스틱 회귀의 확률.. 2023. 1. 10.
[ML] 선형 회귀(Linear, Polynomial, Multiple) 아래 내용들은 제가 혼자 학습하면서 정리한 내용들입니다. '부족한 내용' 혹은 '잘못된 내용'이 있을 수 있습니다. 댓글 남겨주시면 더욱 공부하고 수정하도록 하겠습니다. 감사합니다. 선형 회귀란? 하나의 종속변수와 하나 이상의 독립변수 사이에 최적의 직선을 찾는 알고리즘 예측값과 실제값의 오차를 최소화하는 선을 찾아서 모델을 최적화 수식을 도출하기에 매우 쉽게 때문에 그 해석도 직관적 단순 선형 회귀(Linear Regression) 독립변수도 하나, 종속변수도 하나인 단순한 형태의 선형 회귀 단순 선형 회귀에서는 기울기 $w_1$과 절편 $w_0$을 회귀 계수로 지칭하고 구한다. 아래 그래프는 생선의 길이와 무게 데이터로 선형 회귀선을 구해 본 것이다. 다항 선형 회귀(Polynomial Regress.. 2022. 12. 19.
[ML] Encoding : Label & One Hot 아래 내용들은 제가 혼자 학습하면서 정리한 내용들입니다. '부족한 내용' 혹은 '잘못된 내용'이 있을 수 있습니다. 댓글 남겨주시면 더욱 공부하고 수정하도록 하겠습니다. 감사합니다. 데이터 인코딩 머신러닝을 위한 대표적인 인코딩 방식 : 레이블 인코딩(Label Encoding) & 원-핫 인코딩(One Hot Encoding) 레이블 인코딩은 범주형 데이터의 피처를 unique한 코드형 숫자값으로 변환하는 방식 원-핫 인코딩은 피처 값의 유형에 따라 새로운 피처를 추가해 고유 값에 해당하는 컬럼에만 1을 표시하고 나머지 컬럼에는 0을 표시하는 방식 레이블 인코딩 Scikit Learn의 LabelEncoder 클래스로 구현 from sklearn.preprocessing import LabelEncod.. 2022. 12. 16.
[ML] Data Pre-processing : Scaling 아래 내용들은 제가 혼자 학습하면서 정리한 내용들입니다. '부족한 내용' 혹은 '잘못된 내용'이 있을 수 있습니다. 댓글 남겨주시면 더욱 공부하고 수정하도록 하겠습니다. 감사합니다. Data Scaling 데이터 전처리 과정 중 하나인 데이터 스케일링을 다룹니다. 데이터 간의 거리에 영향을 받는 알고리즘을 사용할 때, 특성들의 스케일이 차이가 많이 나면 머신러닝 모델이 잘 작동하지 않을 수 있습니다. 이때, 데이터의 스케일을 일정한 기준으로 맞춰 주는 방법으로 Data Scaling 을 하게됩니다. 대표적인 Scaling 개념 Standardization(표준화) 특성들의 평균을 0, 분산을 1로 스케일링 표준점수(z-Score)를 활용해 Numpy로 표준화하기 mean = mp.mean(train_in.. 2022. 12. 16.
[ML] KNN(K-Nearest Neighbor) K-최근접 이웃(KNN) 지도 학습 알고리즘 중 하나, 굉장히 직관적이고 간단하다. 어떤 데이터가 주어지면 그 주변(이웃)의 데이터를 살펴본 뒤 더 많은 데이터가 포함되어 있는 범주로 분류하는 방식 KNN은 분류와 회귀 문제 둘다 사용할 수 있다. KNN Classification 새로운 데이터(빨간 점) 이 주어졌을 때 이를 A로 분류할지, B로 분류할지 판단하는 문제 k=3(안쪽 원)일 때, 노란색 점(Class A) 1개와 보라색 점(Class B) 2개가 있다. 따라서 k=3일 때 빨간 점은 B로 분류 된다. k=6(바깥쪽 원)일 때, 노란색 점 4개와 보라색 점 2개가 있으므로 노란색 점으로 분류된다. K의 값에 따라 결과가 달라지므로 너무 작아서도 안되고 너무 커서도 안된다. 보통 K 값은 홀.. 2022. 12. 12.
[ML] 지도 학습, 비지도 학습, 강화 학습 아래 내용들은 제가 혼자 학습하면서 정리한 내용들입니다. '부족한 내용' 혹은 '잘못된 내용'이 있을 수 있습니다. 댓글 남겨주시면 더욱 공부하고 수정하도록 하겠습니다. 감사합니다. 머신 러닝(Machine Learning) - 머신러닝은 데이터를 사용하여 기계가 스스로 학습하는 방식 - 머신러닝의 학습 방법에 따라 지도 학습, 비지도 학습, 강화 학습으로 구분할 수 있다. 출처 https://wendys.tistory.com/169 지도 학습(Supervised Learning) 지도 학습은 데이터 중에서도 정답이 있는 데이터를 이용하여 학습 정답이란 데이터에 레이블(Label)이란 이름으로 가지고 있다. 정답이 있는 데이터를 인공지능에 입력하여 학습시키면 인공지능은 여러 장의 사진 중에서도 해당 정답.. 2022. 12. 9.