전체 글

전체 글

    Transfer learning

    Transfer Learning 전이학습 (transfer learning) 특정 task 를 학습한 모델을 다른 task 수행에 재사용하는 기법 재사용하면서 knowledge transfer(지식전이) 가 일어남 transfer learning 적용 이전의 기존 모델보다 학습 속도가 빠름 BERT 와 GPT 모두 transfer learning 이 사용된 모델 Upstream task transfer learning 적용 이전의 기존 모델이 학습하는 task (pretrain) 대표적인 task 다음 단어 맞히기 : language model (GPT) 빈칸 채우기 : masked language model (BERT) self-supervised learning (자기지도학습) 데이터 내에서 정답을 ..

    GRU

    Translation 이란 input 문장의 길이와 output 문장의 길이가 **가변적임** **문법**에 따라 input, output 문장의 순서가 **가변적임** input 문장 한개에 output 문장이 두개 이상 나올 수 있음 GRU(Gated Recurrent Unit) Learning Phrase Representations using RNN Encoder–Decoder for Statistical Machine Translation 논문에서 소개 Sequence-to-Sequence LSTM 을 응용하여 더 간단한 구조를 가져 속도가 빠름&성능은 LSTM 과 유사 forget gate 와 input gate 를 하나의 **update gate** 로 합침 cell state 와 hidde..

    N-gram

    N-gram **Count-based representation**(횟수 기반의 벡터 표현방식을 사용한 언어 모델) sequence 를 N 개의 단어로 구성하여 토큰화 한개의 단어를 count 하여, 단어의 순서를 무시하게 되어 문맥이 무시되는 BoW(Bag of Word) 의 단점 보완 ex) N = 2 I love you : [I love] [love you] 한계점 Long-term dependency(장기 의존성) 일부 단어의 sequence와 count 만을 가지고 판단하기 때문에 앞쪽 토큰은 무시 될 수 있음 해결방안으로 N = 1~5 까지 여러 N-gram 을 다양하게 혼합하여 사용하지만 역시 완전하게 해소되지 못함 N 을 너무 크게 하면, BoW 의 Sparsity (희소성) 의 문제가 부..

    BoW

    Bag of words(BoW) 입력받은 단어들을 frequency(출현빈도) 에 맞게 숫자로 나타내는 기법 ex) love, sexy, like, girl, man 이 입력 단어로 들어왔을 경우 아래와 같이 BoW 로 표현 가능하다. input) love sexy love love sexy like girl man 2 1 0 0 0 input) sexy girl like man | love | sexy | like | girl | man | | ---- | ---- | ---- | ---- | ---- | | 0 | 1 | 1 | 1 | 1 | 장점 문장과 문장 사이의 유사도를 분석하기에 용이하다. 머신러닝 모델의 입력값으로 사용하기에 용이하다(숫자 input) 단점 Sparsity(희박) 단어 리스트..

    Transfer Learning(Upstream, Downstream task) 이란

    Transfer Learning 전이학습 (transfer learning) 특정 task 를 학습한 모델을 다른 task 수행에 재사용하는 기법 재사용하면서 knowledge transfer(지식전이) 가 일어남 transfer learning 적용 이전의 기존 모델보다 학습 속도가 빠름 BERT 와 GPT 모두 transfer learning 이 사용된 모델 Upstream task transfer learning 적용 이전의 기존 모델이 학습하는 task (pretrain) 대표적인 task `다음 단어 맞히기` : language model (GPT) `빈칸 채우기` : masked language model (BERT) self-supervised learning (자기지도학습) 데이터 내에서 ..

    Quantization 기법

    Quantization 기법 Post Training Quantization 1. Dynamic Quantization (동적 양자화) 사전에 Weight(가중치) 를 양자화 inference 시점에 동적으로 activation을 양자화 activation 을 FP로 저장해놓고, inference 시점에서 quantize를 진행하고 완료 후 dequantize 장점 메모리 로딩 속도 개선 연산속도 향상이 미비할 수 있음(inference kernel 연산이 추가 되기 때문) 2. Static Quantization (정적 양자화) 사전에 Weight(가중치)와 activation 모두 양자화 context-switching overhead 감소시키기 위해 activation과 그전 단계의 layer를 합..

    Quantization(양자화)란

    Quantization(양자화) in deep learning 딥러닝 모델(lightweight deep learning) 을 경량화 할 때 사용되는 기법 중 하나 경량화는 크게 두가지로 나뉨 모델의 알고리즘을 재설계 모델 구조 변경 합성곱 필터 기술 경량 모델 자동 탐색 기존 모델의 파라미터를 줄임 Weight Pruning Quantazation Binarization **quantization(양자화)**는 기존 모델의 파라미터를 줄이는 기법 중 하나이다. Quantization(양자화) 목적: Inference Time 을 줄이는 것(Training time 이 아님) 모델의 파라미터를 lower bit 로 표현하여, 연산과 메모리 access 속도를 높이는 기법 보통 FP 32bit 에서 int..

    [파이썬] Most Common Words 가장 자주 사용된 단어 추출

    [파이썬] Most Common Words 가장 자주 사용된 단어 추출

    [파이썬] Most Common Words 인자로 받은 txt 파일에서 가장 자주 나온 단어 순으로 출력하는 프로그램​ximport sysfrom collections import Counter try: num_words = int(sys.argv[1]) #두번째 인자except: print("usage: most_common_words.py nuim_words") sys.exit() counter = Counter(word.lower() for line in sys.stdin for word in line.strip().split() if word)for word, count in counter.most_common(num_words): sys.stdout.write(str(count)) sys.std..

    [linux] 특정파일명 모두 삭제

    리눅스 특정파일명 지정 삭제find 명령어find [path] [option] [expression]특정파일명 찾기-name현재 경로에서 tar 가 앞뒤로 포함된 모든 파일 찾기xxxxxxxxxxfind . -name "*tar*"현재 경로에서 n 로 시작되는 파일 모두 찾기xxxxxxxxxxfind . -name "n*"현재 경로에서 .tar 로 끝나는 파일 모두 찾기xxxxxxxxxxfind . -name "*.tar"현재 경로에서 n 으로 시작하고 .tar 로 끝나는 파일 모두 찾기xxxxxxxxxxfind . -name "n*.tar" 현재디렉토리에서 특정 파일명 지정 삭제find . -name "expression" -delete현재 경로에서 n으로 시작하고 .tar 로 끝나는 모든 파일 삭제x..

    [Numpy] ddof 란? Degrees of Freedom 자유도 (np.var / np.std)

    [Numpy] ddof 란? Degrees of Freedom 자유도 (np.var / np.std)

    [Numpy] ddof 란? (np.var)numpy 에서 분산과 표준편차를 구할 때 아래와 같이 np.var()과 np.std() 를 사용한다.ximport numpy as npnp.var(x, ddof=1) #variance 분산np.std(x, ddof=1) #standard deviation 표준편차여기서 ddof 는 Degrees of Freedom 으로 자유도를 의미하고 설정해주는 것이다.Degrees of Freedom독립적인 정보의 개수통계값을 계산하기 위해 자유롭게 값을 가질 수 있는 숫자의 개수표본 개수 - 계산을 위해 사용하는 매개변수의 개수로 생각할 수 있다.n-1 개를 알고 있다면 마지막 1개의 값은 알 수 있다 => n-1 의 자유도ex) 10명의 학생의 시험 점수를 예로 들면,..