딥러닝(Deep Learning)
딥러닝과 관련된 내용으로 구성되어 있습니다.
-
1. RoBERTa란? RoBERTa는 기존 BERT 모델의 성능을 더욱 높인 모델로써 BERT모델의 구조는 그대로 유지한 채 약간의 training objective와 hyperparameter를 수정하여 모델의 성능을 향상했습니다. RoBERTa 연구진들은 BERT 모델은 상당히 '덜' 훈련되었다고 언급하며 몇 가지 개선사항을 추가한 RoBERTa 모델을 제안하였습니다. We find that BERT was significantly undertrained and propose an improved recipe for training BERT models, which we call RoBERTa, that can match or exceed the performance of all of the pos..
RoBERTa : A Robustly Optimized BERT Pretraining Approach 정리 및 이해1. RoBERTa란? RoBERTa는 기존 BERT 모델의 성능을 더욱 높인 모델로써 BERT모델의 구조는 그대로 유지한 채 약간의 training objective와 hyperparameter를 수정하여 모델의 성능을 향상했습니다. RoBERTa 연구진들은 BERT 모델은 상당히 '덜' 훈련되었다고 언급하며 몇 가지 개선사항을 추가한 RoBERTa 모델을 제안하였습니다. We find that BERT was significantly undertrained and propose an improved recipe for training BERT models, which we call RoBERTa, that can match or exceed the performance of all of the pos..
2024.03.07 -
1. BERT란? BERT(Bidirectional Encoder Representation from Transformers)란, 2017년 구글에서 발표한 대규모 언어 모델(LLM)로 Transformer에서 영감을 받은 모델입니다. 기존 Transformer는 Encoder-Decoder구조로 되어있는 반면, BERT모델은 transformer의 encoder만을 활용한 모델입니다. transformer에서 encoder는 문장을 잠재 벡터로 표현해 주는 역할을 하고 있습니다. 그렇다면 BERT는 transformer의 encoder를 어떻게 활용하였을까요? BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding..
BERT(Bidirectional Encoder Representations from Transformers) 개념 정리 및 이해1. BERT란? BERT(Bidirectional Encoder Representation from Transformers)란, 2017년 구글에서 발표한 대규모 언어 모델(LLM)로 Transformer에서 영감을 받은 모델입니다. 기존 Transformer는 Encoder-Decoder구조로 되어있는 반면, BERT모델은 transformer의 encoder만을 활용한 모델입니다. transformer에서 encoder는 문장을 잠재 벡터로 표현해 주는 역할을 하고 있습니다. 그렇다면 BERT는 transformer의 encoder를 어떻게 활용하였을까요? BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding..
2024.02.17 -
1. 워드피스(WordPiece) Tokenizer란? 워드피스(WordPiece) Tokenizer는 Subword Tokenization의 일종으로써 주어진 텍스트를 하위단어(subword)로 쪼개는 방식입니다. 하나의 단어는 접두사 혹은 접미사가 붙어서 여러 형태로 변화할 수 있기 때문에 기존에 단어를 그대로 토큰화하는 방법보다는 유연하게 Out of Vocabulary(모델이 처음 보는 단어를 마주한 경우)에 대처할 수 있습니다. Subword tokenizer에는 여러 종류가 있지만, 이번 포스트에서는 BERT에서 사전학습에 사용한 것으로 유명한 WordPiece tokenizer에 대해 정리해보고자 합니다. 2. BPE Tokenizer와의 차이점? Wordpiece tokenizer의 토크화..
WordPiece Tokenizer 이해 및 정리1. 워드피스(WordPiece) Tokenizer란? 워드피스(WordPiece) Tokenizer는 Subword Tokenization의 일종으로써 주어진 텍스트를 하위단어(subword)로 쪼개는 방식입니다. 하나의 단어는 접두사 혹은 접미사가 붙어서 여러 형태로 변화할 수 있기 때문에 기존에 단어를 그대로 토큰화하는 방법보다는 유연하게 Out of Vocabulary(모델이 처음 보는 단어를 마주한 경우)에 대처할 수 있습니다. Subword tokenizer에는 여러 종류가 있지만, 이번 포스트에서는 BERT에서 사전학습에 사용한 것으로 유명한 WordPiece tokenizer에 대해 정리해보고자 합니다. 2. BPE Tokenizer와의 차이점? Wordpiece tokenizer의 토크화..
2023.12.18 -
1. SubWord Tokenizer 일반적으로 토큰화(Tokenizer)는 의미를 가진 토큰(단어 등)으로 쪼개서 토큰을 만드는 작업을 말합니다. 토큰화의 목적은 텍스트를 모델이 이해할 수 있는 데이터로 만들어주는 것입니다. 텍스트를 토큰화하는 방법은 크게 3가지로 분류할 수 있습니다. 1. 단어 기반 토큰화(Word-based tokenization) 공백을 기준으로 토큰화하는 방법('나는 밥을 먹었다' -> '나는', '밥을', '먹었다') 매우 간단한 아이디어지만, 훈련에 사용하지 않은 새로운 단어에 대해 대처가 어려운 단점이 존재한다.(Out of Vocabulary) 2. 문자 기반 토큰화(Character-based tokenization) 텍스트의 구성요소인 문자 단위로 토큰화하는 방법('..
Byte Pair Encoding(BPE) tokenizer 정리1. SubWord Tokenizer 일반적으로 토큰화(Tokenizer)는 의미를 가진 토큰(단어 등)으로 쪼개서 토큰을 만드는 작업을 말합니다. 토큰화의 목적은 텍스트를 모델이 이해할 수 있는 데이터로 만들어주는 것입니다. 텍스트를 토큰화하는 방법은 크게 3가지로 분류할 수 있습니다. 1. 단어 기반 토큰화(Word-based tokenization) 공백을 기준으로 토큰화하는 방법('나는 밥을 먹었다' -> '나는', '밥을', '먹었다') 매우 간단한 아이디어지만, 훈련에 사용하지 않은 새로운 단어에 대해 대처가 어려운 단점이 존재한다.(Out of Vocabulary) 2. 문자 기반 토큰화(Character-based tokenization) 텍스트의 구성요소인 문자 단위로 토큰화하는 방법('..
2023.12.11 -
1. 개요 Khaiii 형태소 분석기는 카카오에서 공개한 형태소 분석기입니다. 기존 Konlpy에서 제공하는 형태소 분석기의 공통적인 특징은 사전과 규칙기반(명사/형용사 등등)으로 형태소를 분석해 주는 반면, khaiii는 데이터 기반 알고리즘을 이용해서 분석하였다고 합니다. 사용한 데이터의 양은 85만 문장과 천만 어절의 코퍼스를 이용하였습니다. khaiii가 데이터를 가지고 형태소 분석기를 만들 때 사용한 기계학습 알고리즘은 CNN(Convolution Neural Network)입니다. 대규모 언어 모델을 학습하기 위해서는 엄청난 양의 문장을 전처리 해야 하기 때문에 속도가 빠른 CNN을 사용한 것으로 보입니다. Khaiii는 어떤 단어의 주변단어의 갯수(Window size)와 임베딩 차원(Emb..
Khaiii 형태소 분석기 설치 및 사용방법1. 개요 Khaiii 형태소 분석기는 카카오에서 공개한 형태소 분석기입니다. 기존 Konlpy에서 제공하는 형태소 분석기의 공통적인 특징은 사전과 규칙기반(명사/형용사 등등)으로 형태소를 분석해 주는 반면, khaiii는 데이터 기반 알고리즘을 이용해서 분석하였다고 합니다. 사용한 데이터의 양은 85만 문장과 천만 어절의 코퍼스를 이용하였습니다. khaiii가 데이터를 가지고 형태소 분석기를 만들 때 사용한 기계학습 알고리즘은 CNN(Convolution Neural Network)입니다. 대규모 언어 모델을 학습하기 위해서는 엄청난 양의 문장을 전처리 해야 하기 때문에 속도가 빠른 CNN을 사용한 것으로 보입니다. Khaiii는 어떤 단어의 주변단어의 갯수(Window size)와 임베딩 차원(Emb..
2023.11.15 -
Overview 이번 포스트에서는 Position encoding에 대해 정리합니다. 'Attention is all you need'에서 제시한 모델인 Transformer에서 사용된 Position encoding은 self-attention이 order independent하기 때문에 모델에게 input token간의 순서를 알려주기 위해 사용되었습니다. 이후 많은 연구에서 기존 position encoding과는 약간 다른 관점에서의 position encoding이 제안되었습니다. 우선, 기존 Transformer 모델에서 활용된 positional encoding의 필요성과 그 개념에 대해 간단히 살펴본 후, T5 저자들이 활용한 relative position encoding에 대해 정리하고..
Positional encoding과 Relative position representation은 어떻게 동작하는가Overview 이번 포스트에서는 Position encoding에 대해 정리합니다. 'Attention is all you need'에서 제시한 모델인 Transformer에서 사용된 Position encoding은 self-attention이 order independent하기 때문에 모델에게 input token간의 순서를 알려주기 위해 사용되었습니다. 이후 많은 연구에서 기존 position encoding과는 약간 다른 관점에서의 position encoding이 제안되었습니다. 우선, 기존 Transformer 모델에서 활용된 positional encoding의 필요성과 그 개념에 대해 간단히 살펴본 후, T5 저자들이 활용한 relative position encoding에 대해 정리하고..
2023.10.11 -
Sequential data 시퀀셜 데이터(sequential data)란, 순서 정보가 있는 데이터를 말합니다. 주식 시장을 예로 들면 시간 경과에 따른 주가의 변화를 생각해볼 수 있습니다. 이 예시는 많이 언급되므로 이번에는 다른 예를 들어보겠습니다. 아래 그림은 제 블로그의 월별 방문자수를 나타낸 그래프 입니다. 시간이 지남에 따라 방문자의 수가 증가하는 양상을 보이고 있습니다. 이러한 양상은 데이터의 순서 정보를 이용하여 파악할 수 있습니다. 10월 방문자수 1014명이 9월 방문자수 634명보다 많으며, 대체적으로 특정 달의 방문자 수가 그 전 달보다 방문자 수 보다 많기 때문에 우리는 전체적으로 방문자수가 증가 추세에 있다고 말할 수 있습니다. 만약 아래 데이터의 순서 정보를 섞게 된다면 방문..
RNN/LSTM/GRU 의 구조를 이해해보자Sequential data 시퀀셜 데이터(sequential data)란, 순서 정보가 있는 데이터를 말합니다. 주식 시장을 예로 들면 시간 경과에 따른 주가의 변화를 생각해볼 수 있습니다. 이 예시는 많이 언급되므로 이번에는 다른 예를 들어보겠습니다. 아래 그림은 제 블로그의 월별 방문자수를 나타낸 그래프 입니다. 시간이 지남에 따라 방문자의 수가 증가하는 양상을 보이고 있습니다. 이러한 양상은 데이터의 순서 정보를 이용하여 파악할 수 있습니다. 10월 방문자수 1014명이 9월 방문자수 634명보다 많으며, 대체적으로 특정 달의 방문자 수가 그 전 달보다 방문자 수 보다 많기 때문에 우리는 전체적으로 방문자수가 증가 추세에 있다고 말할 수 있습니다. 만약 아래 데이터의 순서 정보를 섞게 된다면 방문..
2022.11.08 -
1. 형태소 분석기의 필요성 한국어는 영어와는 다르게 토큰화(Tokenization)가 어렵습니다. 그 이유는 한국어에는 '조사', '어미' 등이 있기 때문입니다. 예를 들어, '사과' 라는 단어에 대해 조사가 붙는다고 하면 '사과가', '사과는', '사과를', '사과와' 등처럼 붙게 됩니다. 모두 '사과'를 지칭하는 말이지만, 단순히 띄어쓰기 기준(어절)으로 모두 다른 단어로 취급하게 됩니다. 또한, 띄어쓰기 기준으로 토큰화를 진행하게 된다면 띄어쓰기가 잘 되어있지 않은 문장에 대해 제대로 된 토큰화를 수행할 수 없다는 단점이 있습니다. 예를 들면, 다음과 같이 띄어쓰기 기준으로 토큰화를 한다고 하였을 때, 띄어쓰기가 제대로 되어있지 않은 문장에 대해서는 토큰화가 이루어지지 않습니다. '나는 사과를 좋..
Tokenizer : 한국어 형태소 분석기의 종류와 사용 방법1. 형태소 분석기의 필요성 한국어는 영어와는 다르게 토큰화(Tokenization)가 어렵습니다. 그 이유는 한국어에는 '조사', '어미' 등이 있기 때문입니다. 예를 들어, '사과' 라는 단어에 대해 조사가 붙는다고 하면 '사과가', '사과는', '사과를', '사과와' 등처럼 붙게 됩니다. 모두 '사과'를 지칭하는 말이지만, 단순히 띄어쓰기 기준(어절)으로 모두 다른 단어로 취급하게 됩니다. 또한, 띄어쓰기 기준으로 토큰화를 진행하게 된다면 띄어쓰기가 잘 되어있지 않은 문장에 대해 제대로 된 토큰화를 수행할 수 없다는 단점이 있습니다. 예를 들면, 다음과 같이 띄어쓰기 기준으로 토큰화를 한다고 하였을 때, 띄어쓰기가 제대로 되어있지 않은 문장에 대해서는 토큰화가 이루어지지 않습니다. '나는 사과를 좋..
2022.07.26