본문 바로가기

NLP 자연어 처리, Natural Language Processing

t-SNE t-sne : T-distributed Stocastic Neighbor Embedding 기능 : 1. 고차원 공간에서 점 세트를 가져와 저차원 공간(일반적으로 2D)에서 해당 점을 표현하는 것을 찾는 것. 2. Perplexity, 데이터의 지역적 측면과 전역적 측면 사이에서 균형을 맞추는 방법을 알려줌. 어떤 의미에서 각 점이 가지고 있는 가까운 이웃의 수에 대한 추측. (복잡도의 변화에 상당히 강하며 일반적으로 5~50 사이의 값을 사용함) ! 똑같은 값으로 설정하여 t-SNE를 실행하여도 추가 하이퍼파라미터가 있어 항상 유사한 출력을 생성하지는 않는다. 하이퍼 파라미터 Perplexity에 따른 결과입니다. 알고리즘이 제대로 작동하려면 Perplexity가 실제 포인트 수보다 작아야합니다. 안정.. 더보기
GCP, Cloud TPU 사용법 Google Cloud SDK 설치 # Add the Cloud SDK distribution URI as a package source echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] http://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list # Import the Google Cloud public key curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.go.. 더보기
TPU를 이용한 BERT GLUE task Train, Evaluation 해보기 BERT는 자연어 처리의 많은 문제를 해결하는 데 사용할 수 있습니다. 다음은 언어 모델을 평가하는 GLUE 벤치 마크에 대해서 BERT를 미세 조정하는 방법입니다. GLUE 벤치 마크에는 다음과 같은 Task들이 있습니다. 1. CoLA (Corpus of Linguistic Acceptability) : 문장이 문법적으로 정확한지에 대한 Task metrics : Matthews correlation 2. SST-2 (Stanford Sentiment Treebank) : 주어진 문장의 감정을 예측하는 Task metrics : acc. 3. MRPC (Microsoft Research Paraphrase Corpus) : 한 쌍의 문장이 의미상 동일한 지 확인하는 Task metrics : acc... 더보기
Colab TPU 이용방법 Colab에서 TPU를 이용하여 학습하기 위해서는 GCP(Google Cloud Platform)을 이용해 데이터 및 모델 저장을 해야합니다. 1. 우선 tf.record 파일을 다음과 같이 넣어줍니다. (저번 시간에 만들었던 choice-life.tistory.com/72 에서 폴더를 만든 후 데이터 파일을 tf.record 파일로 변환 후 업로드 하였습니다) 다음으로는 학습 후 모델이 저장될 폴더를 만들어 줍니다. 이렇게하면 GCP 버킷은 준비 상태입니다. 2. 다음으로 구글드라이브에 자신의 모델 혹은 사전훈련 모델 코드파일을 구글 드라이브에 업로드합니다. 3. Colab 우선 코랩 파일을 하나 만듭니다. colab.research.google.com/notebooks/intro.ipynb#recen.. 더보기
GCP(Google Cloud Platform) Storage, 버킷 만들기 console.cloud.google.com/ Google Cloud Platform 하나의 계정으로 모든 Google 서비스를 Google Cloud Platform을 사용하려면 로그인하세요. accounts.google.com GCP(Google Cloud Platform)에 가입한 후 무료 평가판 300크래딧을 이용하였습니다. 1. 왼쪽 위를 클릭하여 목록에서 Cloud Storage에서 브라우저를 들어갑니다. 2. 이후에 버킷 만들기를 눌러줍니다. 3. 내용을 입력해줍니다. 여기서 위치 유형을 선택하면 오른쪽에 월별 예상 비용이 달라집니다. 크게 비용이 들지는 않지만 확인해서 체크하세요. 나머지는 일반적으로 선택된 탭으로 지정하였습니다. 이후에 만들기를 클릭하면 다음과 같이 만들어집니다. 여기서 .. 더보기
NLP data를 tf.record로 변환하기 다음 블로그를 보고 수정하였습니다. kaen2891.tistory.com/65 2차원 음성 대용량 데이터셋을 TfRecord로 만들기 Tensorflow는 pytorch의 dataloader처럼 queue를 사용하여, 전체 데이터셋을 가져온 뒤 그것을 batch 만큼 쪼개서 하는 것이 살짝 번거롭다. 즉 이말을 다시 풀어보면, pytorch에서는 dataloader를 사용하여 여러. kaen2891.tistory.com 1. 테스트 데이터 해당 데이터는 임의적으로 만든 데이터 data1.txt, data2.txt 입니다. 2. tf.record 파일 생성 writer 코드입니다. import tensorflow as tf print(tf.__version__) import os from glob impo.. 더보기
Wikipedia Dataset Preprocessing 1. Data를 다운받아줍니다. dumps.wikimedia.org/enwiki/latest/ Index of /enwiki/latest/ dumps.wikimedia.org 일반적으로 enwiki-latest-pages-articles1.xml-p1xxx.bz2 데이터를 사용합니다. 클릭하면 자동으로 다운이 받아집니다. 한번씩 많은 데이터를 받으려고 할 때에는 오류가 나기때문에 중간 데이터가 없다고 생각하시지말고 천천히 순차적으로 받아주시면 되겠습니다. 우선은 제일 오른쪽에는 용량이 나와있습니다. 기본 byte로 표시되어 있고 계산기를 통해 1024씩 나눠서 KB, MB, GB로 확인 하실 수 있습니다. 다운을 받으셨다면 폴더를 하나 만들어줍니다. 만든 폴더에서 터미널을 여신후 아래의 코드를 입력해주시.. 더보기
Zero Shot Learning(제로샷 학습, 0shot) 출처 : https://en.wikipedia.org/wiki/Zero-shot_learning Zero shot learning(ZSL)은 기계 학습에서 설정된 문제로, Test 때 Learner는 훈련 중에 관찰되지 않은 클래스의 샘플을 관찰하며, 이들이 속한 범주를 예측해야 한다. 이 문제는 컴퓨터 비전, 자연어 처리, 기계 인식에서 널리 연구되고 있습니다. 배경과 역사 자연어 처리의 제로 샷 학습에 대한 첫 논문은 AAAI'08에 등장했지만 학습 패러다임에 주어진 이름은 데이터없는 분류였습니다. [1] www.aaai.org/Papers/AAAI/2008/AAAI08-132.pdf 컴퓨터 비전의 제로 샷 학습에 관한 첫 논문은 제로 데이터 학습이라는 이름으로 같은 컨퍼런스에서 발표되었습니다. [2.. 더보기