Pytorch로 텍스트 분류 하기
·
머신러닝/PyTorch
뉴스 카테고리 분류 모델 대회 데이터 다운 링크 private score : 0.67608 , public score : 0.70427 사용 모델 : LSTM 누구나 이해하기 쉽게 가장 간단하게 설계한 모델입니다. 참고사이트 : 위키 독스 import pandas as pd train = pd.read_csv('train_data.csv') test = pd.read_csv('test_data.csv') 간단한 EDA train.head() index title topic_idx 0 0 인천→핀란드 항공기 결항…휴가철 여행객 분통 4 1 1 실리콘밸리 넘어서겠다…구글 15조원 들여 美전역 거점화 4 2 2 이란 외무 긴장완화 해결책은 미국이 경제전쟁 멈추는 것 4 3 3 NYT 클린턴 측근韓기업 특수관계..
Pytorch로 이미지 분류하기
·
머신러닝/PyTorch
Pytorch를 이용해 이미지 데이터를 분류 해보도록 하겠습니다. 실습을 위해 사용한 데이터는 데이콘 에서 다운 받으실 수 있습니다. 해당 대회는 28 x 28 pixel 크기의 손글씨 이미지가 어떤 숫자를 담고 있는지 분류하는 것이 목표입니다. 라이브러리 불러오기 우선 실습에 필요한 라이브러리를 불러오도록 하겠습니다. import warnings warnings.filterwarnings(action='ignore') import os import pandas as pd import numpy as np from PIL import Image import matplotlib.pyplot as plt %matplotlib inline from sklearn.model_selection import tra..
EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks
·
딥러닝/Vision
Efficient net 은 2019 CVPR에 발표된 MnasNet: Platform-Aware Neural Architecture Search for Mobile 의 저자인 Mingxing Tan*과 *Quoc V. Le 가 쓴 논문이며 Image Classification 타겟의 굉장히 성능이 좋은 Model인 EfficientNet을 제안하였습니다. Intorduction ConvNet의 성능을 올리기 위해 scaling up을 시도하는 것은 일반적은 일 입니다. 잘 알려진 ResNet은 ResNet-18 부터 ResNet-200 까지 망의 깊이(depth)를 늘려 성능 향상을 이루어 냈습니다. scaling up 하는 방식은 크게 3가지가 있습니다. 신경망의 depth(깊이)를 늘리는 것 cha..
Mobile Net
·
딥러닝/Vision
MobileNet의 등장 배경 구글의 Alphago의 경우 판후이와의 대결에서의 알파고는 1202개의 CPU와 176개의 GPU를 사용했고, 2016년 3월의 이세돌 九단과의 대결에서는 GPU대신 48개의 TPU를 사용했다고 합니다. 이 정도의 막대한 컴퓨팅파워를 가진 환경이라면 어떤 모델을 넣더라도 문제가 안 됨. 고성능이 아닌 환경에서는 ? 고성능의 디바이스가 아니라 자동차, 드론, 스마트폰과 같은 환경에서는 CPU를 하나 정도 가지고 있는 경우도 많고, GPU가 없을 수도 있으며, 메모리도 부족할 경우가 보통임. 구글 colab의 경우도 batch size를 조금만 키우면 out of memory가 나옴 . MobileNet은 컴퓨터 성능이 제한되거나 배터리 퍼포먼스가 중요한 곳에서 사용될 목적으로..
ALBERT
·
딥러닝/NLP
ALBERT BERT의 주요 문제점 중 하나는 수백만개의 변수로 구성되어 있다는 점이다. BERT-base는 1억 1천만 개의 변수로 구성되어 있어서 모델 학습이 어렵고 추론 시 시간이 많이 걸린다. 모델 크기를 늘리면 성능은 좋아지지만, 계산 시 리소스가 많이 소모된다. 이 문제를 해결하기 위해 ALBERT를 도입하였다. ALBERT는 다음 두 가지 방법을 사용해 BERT와 대비해 변수를 적게 사용하게 되었고, 모델의 학습 시간과 추론 시간을 줄였다. cross-layer parameter sharing factorized embedding layer parameterization cross-layer parameter sharing bert는 N개의 인코더로 구성되어 있다. 예를 들어 BERT-bas..
GPT-2/GPT-3
·
딥러닝/NLP
GPT-2/GPT-3 GPT-2,GPT-3는 GPT-1에 이어 OpenAI에서 발표한 GPT-n 시리즈의 후속 모델로, 사용하는 도구 면에서는 크게 달라진 것이 없다. 다만 transformer layter의 크기를 더욱 늘리고 몇가지 추가 하였다. GPT-2 이전처럼 다음 단어를 예측하는 language modeling으로 학습시킨 pre-trainig model이 zero-shot setting으로 down-stream task를 수행할수 있게 되었다. zero-shot setting이란 원하는 task를 위한 별도의 예제를 주지 않고 task에 대한 지시사항만을 모델에 전달하는 것을 말한다. 앞서 본 독해기반 질의응답으로 모든 task를 수행 할 수있다. Dataset으로는 BPE(Byte Pair..
ariz1623
코딩의 숲