데이터 전처리 방법데이터 전처리 방법에는 여러 가지 방법이 있다. 과연 텍스트 전처리 기법에는 뭐가 있을까? Data Preprocessing컴퓨터가 텍스트를 이해할 수 있도록 하는 data Preprocessing 방법은 다음과 같다.HTML 태그, 특수문자, 이모티콘정규표현식불용어 (Stopword)의미 없는 단어들어, 그, 저, 아휴 같은어간추출(Stemming)의미를 가진 부분만 추출표제어추출(Lemmatizing)원형 추출are, is -> be Preprocessing Pipeline문서가 들어오면 토큰화를 하고, 텍스트 전처리를 하게 되고 내가 원하는 데이터 클리닝, bag of words를 만들 수도 있다. KoNLPy한국어 자연언어처리를 위한 대표적 python Library다. Twit..
전체 글
하다보니 재미있는 AI에 빠져있는 평양냉면7 문의사항: ysoil8811@gmail.comEnsembles란?여러 개의 머신러닝 모델을 결합하여 개별 모델보다 더 강력한 성능을 달성하는 기법이다.모델 학습 과정에서만 최적화앙상블을 하게 된 이유는 여러 모델의 예측을 결합함으로써 각 각의 모델이 가질 수 있는 특정 유형의 오류를 상쇄시킬 수 있기 때문이다.방법 : Bagging, Boosting, Stacking 배깅 (Bagging)Bootstrap Aggregating의 줄임말여러 개의 모델이 서로 다른 데이터 샘플에 대해 학습하고, 그 결과를 통합하는 방식이다Random Forest가 대표적 : 다수의 Decision Trees를 학습시키고, 각 트리의 예측을 평균내거나 다수결로 결정하여 최종 예측을 도출한다.모델의 variance을 감소시키고 overfitting을 방지하는데 유용하다...
지난 경진대회에서 시간이 없어서 시도해보지 못한 sweep 기능을 적용하면서 한번 정리해보려고 한다.1. WandB Sweep이란?WandB의 Sweep 기능은 하이퍼파라미터 최적화 실험을 자동화하는 도구다. learning_rate, batch_size, dropout 등 다양한 하이퍼파라미터 조합을 자동으로 탐색하여 최적의 조합을 찾아주는 기능을 제공한다.Sweep의 장점자동화된 하이퍼파라미터 튜닝: 일일이 실험을 돌릴 필요 없이 설정된 조합에 따라 실험이 자동으로 진행된다.효율적인 탐색: 다양한 하이퍼파라미터 조합을 효과적으로 탐색하고 최적의 성능을 찾아낼 수 있다.결과 시각화: Parallel 플롯과 같은 시각화 도구로 하이퍼파라미터와 성능 간 관계를 직관적으로 파악할 수 있다. 2. WandB ..
지난글까지는 계속해서 여러 가설을 세우고 실험해봤다면 이번글에서는 최종적으로 제출한 결과에 대해서 되돌아보는 글을 작성해보려고 한다. 모델 선정일단 offline 데이터 증강으로 8만 장으로 늘리고 efficiencenet에서 다양한 모델을 사용해 봤다.우리는 EfficientNet 중에서 B0 ~ B4, S, M을 학습할 때 주로 사용했다. 나머지는 이미지 크기가 너무 커져서 서버 메모리 부족으로 돌아가지도 않았다....그리고 ViT, ResNet도 사용해 봤는데 EfficientNet만큼 학습속도가 빠른 게 없고 성능도 그렇게 좋게 나오지 않아서 우리는 주로 EfficientNet을 활용해서 사용했다. KFold & Soft voting, Hard voting모델을 학습시키면서 KFold의 유의미한..
성능 개선을 위해서 계속 노력하다가 어느 순간 한계에 봉착했다..도저히 뭘 해도 성능이 개선이 안됐는데 그때 조장분이 한 가지 인사이트를 얻어왔다.지난 기수에서 진행한 경진대회 블로그 후기들을 보면서 다들 데이터 증강 기법을 통해 성능개선을 한 사례들이 많다는 걸 알아챘다.그래서 기본 베이스라인 코드에서 모델을 efficient b3으로 수정하고 데이터 증강기법을 사용했는데 성능이 0.8957까지 올랐다.근데 이때 증강기법을 offline으로 아예 실제 이미지 파일을 생성하는 방법을 사용했다. offline 증강이게 무슨말이냐면, 실제로 우리가 지금까지 작성한 데이터 증강기법은 online 증강으로, 학습 시에만 변형을 주어 실시간으로 증강 데이터를 생성하는 방식이었다.데이터가 매 epoch마다 새롭게..
지난 글에서 데이터 쪽에 학습을 여러 번 시키는 StratifiedKFold로 성능을 높였다.이제 모델을 추론하는 쪽에서 더 강화해보겠다.TTATTA로 모델 성능 개선을 해보려고 한다.TTA는 Test Time Augmentation로 테스트 이미지에 여러 가지 변환을 적용하여 모델 예측을 강화하는 방법이다. TTA는 주로 추론 과정에서 사용되어 모델의 예측 안정성과 성능을 향상하는 데 도움을 준다.TTA에서는 테스트 이미지에 여러 형태의 augmentations을 적용한 후 각각의 변환 이미지에 대해 예측을 수행한다. 그런 다음 모든 변환된 이미지의 예측 결과를 모아 평균 또는 최빈값을 구해 최종 예측값으로 사용한다. 이를 통해 모델이 단일 이미지에 대해 가지는 불확실성을 줄이고 예측 성능을 높일 수 ..
지난 글에서 모델을 바꿔주면서 최고성능을 갱신했다 (0.77)[CV 경진대회] 데이터 증강 기법, ViT 모델 사용 [CV 경진대회] 데이터 증강 기법, ViT 모델 사용경진대회 소개이번 글에서는 Image Classification 경진대회에 대해서 그간 해온 방법을 정리해보려고 한다.이번 경진대회에서는 아날로그 문서를 디지털화할 때 그 이미지를 보고 어떤 종류의 문서yijoon009.tistory.com 이제 여기서 더 나아가서 0.9까지 만들어보자!!!모델 추론 변경어디를 더 수정해 볼까 하다가 모델 학습 쪽에서 변화를 주었다.지금 상황은 학습 데이터셋이 부족한 관계로 StratifiedKFold와 epoch를 같이 조합해서 진행해보려고 한다.k-fold & epoch 조합k-fold와 epoch..
경진대회 소개이번 글에서는 Image Classification 경진대회에 대해서 그간 해온 방법을 정리해보려고 한다.이번 경진대회에서는 아날로그 문서를 디지털화할 때 그 이미지를 보고 어떤 종류의 문서인지 분류하는 CV 경진대회였다.현재 학습 데이터는 1570장의 정상 이미지 데이터고 테스트 데이터는 3140장의 노이즈가 심한 이미지 데이터다. class는 총 17개로 문서도 있고 자동차 대시보드같은 문서가 아닌 일반 이미지 데이터도 들어있다. 평가지표는 Macro F1를 사용했다. 이제 여러가지 기법을 적용해 보면서 모델의 성능을 높여보자! 데이터 증강 기법 적용우선 일차원적으로 생각했을때 테스트 데이터셋에 노이즈가 많기 때문에 학습할 때도 노이즈가 많은 데이터를 학습하면 좋은 성능을 낼 것 같기도..