분류 전체보기 (156) 썸네일형 리스트형 Subword Tokenizer - (2) WordPiece Tokenization 2. WordPiece Tokenizer■ WordPiece는 Google이 BERT를 사전 학습하기 위해 개발한 토큰화 알고리즘이며, 이것은 BPE의 변형 알고리즘이다. 학습 측면에서 BPE와 매우 유사하지만 실제 토큰화는 다르게 수행된다.■ BPE가 빈도수에 기반하여 가장 많이 등장한 쌍을 병합했다면, 이 알고리즘은 병합되었을 때, 말뭉치의 우도(likelihood)를 가장 높이는 쌍을 병합한다.- '말뭉치의 우도를 가장 높이는 쌍'이란 말뭉치의 전체 확률 분포에 더 큰 기여를 하는 하위 단어의 쌍. 즉, 말뭉치에 함께 자주 등장하는 하위 단어 쌍을 의미- 즉, BEP는 빈도수 기반으로 쌍을 병합하며, WordPiece는 말뭉치에서 자주 나타나는 쌍을 병합한다.2.1 WordPiece 알고리즘 과정■.. Subword Tokenizer - (1) Byte Pair Encoding(BPE) Tokenization ■ 토큰화를 할 때, 어떤 토큰이 어떤 정수 인덱스(또는 아이디)로 연결됐는지 기록해 둔 단어 집합(또는 사전, vocabulary)을 만들어야 한다.■ 토큰의 단위를 큰 단위(ex) 단어)로 할수록 텍스트의 의미가 잘 유지된다는 장점이 있지만, 사전의 크기가 커진다는 단점이 있다. 또한, 이전에 본 적이 없는 새로운 단어는 단어 집합에 없기 때문에 OOV 문제가 발생한다.- 예를 들어 단어 단위로 토큰화룰 하는 경우, 텍스트에 등장하는 단어의 수만큼 토큰 아이디가 필요하기 때문에 단어 집합의 크기가 커진다.■ 반대로 작은 단위(ex) 문자)로 토큰화하는 경우 사전의 크기가 작고 OOV 문제를 줄일 수 있지만, 의미가 유지되지 않는다는 단점이 있다.- 예를 들어 단어 단위로 토큰화한 결과가 'manual.. 미분 자동 계산 (4) 1. 구현 간소화■ 미분 자동 계산 (3) 에서 어떤 특정 연산을 수행하는 함수를 정의한 파이썬 클래스(Square, Exp 클래스)를 이용하여 순전파를 수행하기 위해서는, 다음과 같이 먼저 클래스의 인스턴스를 생성한 다음, 생성한 인스턴스를 호출해야 한다.class Square(Function): def forward(self, x): y = x ** 2 return y def backward(self, gy): x = self.input.data gx = 2 * x * gy return gx x = Variable(np.array(2.0))f = Square() # 클래스 인스턴스 생성y = f(x) # 호출■ 이.. 미분 자동 계산 (3) 1. 수동 역전파1.1 Variable 클래스 수정■ 앞서, 구현한 Variable 클래스는 다음과 같이 단순히 상자와 같은 역할을 할 수 있도록 정의하였다.class Variable: def __init__(self, data): self.data = data- Variable 클래스의 인스턴스를 생성하여, 상자(변수)에 데이터를 넣을 수 있고, 상자 속을 보면 상자 속에 들어 있는 데이터가 무엇인지 확인할 수 있다.■ 이때, data는 통상값이며, 역전파 구현을 위해서는 통상값에 대응되는 미분값(grad)도 저장할 수 있도록 다음과 같이 미분값을 저장할 인스턴스 변수를 Variable 클래스에 추가하면 된다.class Variable: def __init__(self, data.. Singular value decomposition (2) - 특이값 분해 응용 (1) 1. 디지털 이미지 처리기법에서의 특이값 분해 응용 ■ 디지털 이미지는 픽셀이라는 격자에 색을 칠하여 어떤 문자나 그림을 표현하는 것으로 생각할 수 있다. ■ 컬러 이미지는 Red, Green, Blue. 총 3개의 채널로 표현되며, 각 채널은 0~255 사이의 값으로 빨강, 초록, 파랑의 정도를 나타낸다. ■ 흑백 이미지(그레이 스케일 이미지)는 1개의 채널로 표현되며, 각 픽셀의 밝기 값을 0~255 사이의 값으로 표현한다.■ 흑백 이미지는 회색 음영을 검은색부터 흰색까지 총 256단계로 나누어 표현한다. 즉, 256가지 정보를 표현하기 위해서는 \( 256 = 2^8 \)이므로 흑백 이미지는 한 픽셀마다 8 bit = 1 byte가 필요하다.- 컬러 이미지는 채널이 3개이며, 각 채널마다 256개.. 미분 자동 계산 (2) 1. 미분1.1 미분이란참고) Differential equations Differential equations1. 미분의 정의1.1 변화율(증분)■ 다음과 같이 종속변수가 \( y \)이고 독립변수가 \( x \)인 \( y = f(x) \)가 있다고 했을 때, 독립변수 \( x \)의 변화량을 \( x \)의 증분이라 하고 델타 기호를 붙여 \( \Dehyeon-jae.tistory.com■ 어떤 함수 \( f(x) \)가 있을 때, 미분은 보통 \( \displaystyle\lim_{h \to 0} \dfrac{f(x + h) - f(x)}{h} \)로 정의한다. 이는 극한으로 짧은 시간(순간)( \( \Leftrightarrow \displaystyle\lim_{h \to 0} \) )에서의 변.. Singular value decomposition (1) 1. 특이값 분해(Singular value decomposition, SVD)■ 행렬 \( A \)가 대각화 가능하지 않은 \( m \times m \) 정방행렬이거나, 심지어는 \( m \times n \) 비정방행렬인 경우에도 다음과 같이 크기가 다른 두 개의 직교행렬 \( U \)와 \( V^T \) 그리고 대각행렬 \( \Sigma \)로 분해하는 것을 특이값 분해라고 부른다. \( A = U \Sigma V^T \)- 이렇게 특이값 분해를 하기 위한 행렬 \( A \)는 어떤 행렬이든 될 수 있다. - 고윳값 분해(EVD)는 정방행렬에서만 가능한 행렬 대각화 방법이다. ■ SVD는 고윳값 분해와 비슷하게 보일 수 있다. (실제로 고윳값 분해에 대한 내용은 특이값 분해(SVD)에도 대부분 적용 .. 엘모(Embeddings from Language Model, ELMo) 1. ELMo(Embeddings from Language Model)■ ELMo는 Word2Vec, GloVe 등과 같은 워드 임베딩(Word Embedding) 방법론이다.■ 단, 기존 워드 임베딩 방법론과의 가장 큰 차이점은 ELMo는 사전 훈련된 모델(pre-trained language model)을 사용해서 워드 임베딩을 수행한다는 점이다.1.1 기존 임베딩 방법론의 한계■ 예를 들어, 다음과 같은 play라는 다의어 단어를 생각해보자. Deep Contextualized Word Representations - ACL Anthology Deep Contextualized Word RepresentationsMatthew E. Peters, Mark Neumann, Mohit Iyyer, Ma.. 이전 1 2 3 4 5 6 7 ··· 20 다음