본문 바로가기

머신러닝, 딥러닝50

[파이토치 스터디] 클래스 불균형 다루기 (가중 무작위 샘플링, 가중 손실 함수) 📚 가중 무작위 샘플링 (Weighted Random Sampling) 일반적으로 분류 문제에서 클래스가 불균형할 경우 과적합을 야기할 가능성이 높다. 딥러닝 모델 학습시에는 전체 데이터가 불균형 하더라도, 미니 배치를 뽑을 때 각 클래스를 균형 있게 뽑아서 학습시킬 수 있다. 이 방식을 가중 무작위 샘플링(weighted random sampling) 이라고 한다. 📌 가중치 함수 설정 : torchvision.datasets.ImageFolder 사용 def make_weights(labels, nclasses): labels = np.array(labels) # where, unique 함수를 사용하기 위해 numpy로 변환한다. weight_list = [] # 가중치를 저장하는 배열을 생성한다... 2022. 2. 23.
[파이토치 스터디] 과적합 방지를 통한 모델 성능 개선 📚 Overfitting 방지를 통한 모델 성능 개선 ✔ 분류/예측 모델의 과적합을 최소화하고 성능을 향상하는 방법에는 여러 가지가 존재한다. 대표적인 성능 개선 방법들은 다음과 같다. ① 데이터 증식 (data augmentation) 학습에 필요한 추가 데이터 수집이 어려운 경우, 기존 데이터를 증식할 수 있다. 구체적인 방법으로는 통계적 기법, 단순 변형, 생성 모델 사용 등이 있다. torchvision.transforms를 사용하면 ② 조기 종료 (Early Stopping) 학습 데이터셋에 과적합이 되지 않도록 일정한 기준을 정하여 모델 학습을 종료하는 방식 ③ L2 정규화 optimizer = optim.Adam(model.parameters(), lr=1e-3, weight_decay=1e.. 2022. 2. 23.
BERT로 한글 영화 리뷰 감성분석 하기 📚 BERT를 이용한 영화 한글리뷰 감성 분석 ✔ 🏷️📌📘 • 설명 일반적으로 한글 텍스트 분석은 영어보다 전처리 과정이 까다로운 편이다. 조사나 어미의 변화가 다양하고, 형태 변화에 따라서 단어의 의미가 달라지기 때문이다. BERT로 한글을 분석하는 방법은 크게 다음고 같다. 1.Hugging Face에서 제공하는 Multilingual BERT 사용 2.한글 데이터를 학습한 모델(KoBERT, KcBERT 등) 사용 https://github.com/SKTBrain/KoBERT https://github.com/Beomi/KcBERT 📚 1. 다국어 버전 BERT를 이용한 감성 분석 ✅ 1. 1 특성 기반 (feature based) 방법 다국어 버전 BERT는 여러 언어 중에서 문서의 수가 많은 상.. 2022. 2. 17.
[파이토치 스터디] 오토인코더 📚 Stacked Autoencoder (기본 오토인코더) ✅오토인코더로 MNIST 손글씨 이미지 생성하기 오토인코더는 인코더와 디코더로 구성되어 있으며 정답 라벨 없이 입력된 데이터와 유사한 형태를 출력한다. 기본적인 스택 오코인코더로 MNIST 손글씨 데이터를 생성한다. 📌라이브러리, 데이터 불러오기 import torch import torchvision from torchvision import transforms import torch.nn.functional as F import torch.nn as nn import torch.optim as optim import numpy as np import matplotlib.pyplot as plt device = torch.device('cuda.. 2022. 2. 16.
BERT로 영화 리뷰의 감성 분석하기 📚 BERT를 이용한 영화 리뷰 감성분석 BERT를 이용해서 영화 리뷰를 긍정/부정으로 분류하는 감성 분석을 실시한다. 데이터는 IMDB 영화 데이터셋을 아래 링크에서 다운받아서 사용한다. https://github.com/clairett/pytorch-sentiment-classification/raw/master/data/SST2 BERT는 한개 또는 두개의 문장을 입력받지만, BERT의 문장 단위는 실질적으로 사용되는 의미론적인 문장과 다르기 때문에 512개의 토큰까지 하나의 문장으로 간주해서 입력할 수 있다. ✅ 특성 기반 방법 (Feature Based ) vs 미세 조정 방법 (Fine Tuning) 감성 분류는 크게 두 가지 방식으로 접근할 수 있다. 📌1. 특정 기반 방식 : Feature.. 2022. 2. 14.
BERT 기본 개념 📚 BERT : Bidirectional Encoder Representation from Transfomer ✅ BERT 개요 📌 BERT 란? 이미지 분석에서 사전학습 모형을 사용하는 것처럼 텍스트 데이터를 미리 학습한 사전학습 모델이다. BooksCorpus (800M words)와 Wikipedia(2,500M words)를 이용해서 학습하였다. 트랜스포머에서 encoder 부분만 사용한 모델이며, MLM / NSP 방식으로 학습을 진행한다. 📌 출처 논문 Devlin, J., Chang, M. W., Lee, K., & Toutanova, K. (2018). Bert: Pre-training of deep bidirectional transformers for language understand.. 2022. 2. 13.