[기계 학습] Transformer 모델을 사용한 텍스트 분류(Attention 기반 식별자)
7612 단어 dockerfile파이썬KerasTensorFlow
목표
Tensorflow 튜토리얼의 "언어 이해를위한 Transformer 모델"의 일부를 수정하고,
텍스트 분류 작업을 할 수 있습니다.
Notebook
노트북을 Github에 올리고 있습니다.
transformer_classify
해설
튜토리얼과의 주요 차이점은 다음과 같습니다.
사용 데이터는 livedoor 뉴스 코퍼스
노트북을 Github에 올리고 있습니다.
transformer_classify
해설
튜토리얼과의 주요 차이점은 다음과 같습니다.
사용 데이터는 livedoor 뉴스 코퍼스
문장 나눗셈에 Juman 사용
Decoder 삭제
Transformer 수정
활성화 함수에는 Softmax 함수를 사용합니다.
transformer_classify.ipynb
NUMLABELS = 9
class Transformer(tf.keras.Model):
def __init__(self, num_layers, d_model, num_heads, dff, input_vocab_size,
target_vocab_size, pe_input, pe_target, rate=0.1):
super(Transformer, self).__init__()
self.encoder = Encoder(num_layers, d_model, num_heads, dff,
input_vocab_size, pe_input, rate)
self.dense1 = tf.keras.layers.Dense(d_model, activation='tanh')
self.dropout1 = tf.keras.layers.Dropout(rate)
self.final_layer = tf.keras.layers.Dense(NUMLABELS, activation='softmax')
def call(self, inp, tar, training, enc_padding_mask):
enc_output = self.encoder(inp, training, enc_padding_mask) # (batch_size, inp_seq_len, d_model)
enc_output = self.dense1(enc_output[:,0])
enc_output = self.dropout1(enc_output, training=training)
final_output = self.final_layer(enc_output ) # (batch_size, tar_seq_len, target_vocab_size)
return final_output
손실 함수
transformer_classify.ipynb
loss_object = tf.keras.losses.SparseCategoricalCrossentropy()
def loss_function(labels, pred):
loss_ = loss_object(labels, pred)
return loss_
val_step 추가
결과
그다지 좋은 정밀도는 낼 수 없었습니다.
참고 URL
tf2_classify
BERT with SentencePiece for Korean text.
만들어 이해하기 Transformer / Attention
Transformer model for language understanding
Reference
이 문제에 관하여([기계 학습] Transformer 모델을 사용한 텍스트 분류(Attention 기반 식별자)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/raidenn/items/ccacf620d37bb6848e2b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
tf2_classify
BERT with SentencePiece for Korean text.
만들어 이해하기 Transformer / Attention
Transformer model for language understanding
Reference
이 문제에 관하여([기계 학습] Transformer 모델을 사용한 텍스트 분류(Attention 기반 식별자)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/raidenn/items/ccacf620d37bb6848e2b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)