Ändern Sie einen Teil des "Transformer-Modells für das Sprachverständnis" im Tensorflow-Lernprogramm. Textklassifizierungsaufgaben ausführen können.
Notebook Ich habe mein Notizbuch auf Github hochgeladen. transformer_classify
Die Hauptunterschiede zum Tutorial sind unten aufgeführt.
――Die in diesem Artikel vorgestellte Klassifizierungsaufgabe ist eine japanische Dokumentklassifizierung, wenn sie für geschäftliche Zwecke verwendet wird. ―― Aus diesem Grund haben wir das Livesoor News Corpus verwendet, das häufig beim maschinellen Lernen verwendet wird.
――Wir verwenden Human, das einen guten Ruf für das Schreiben auf Japanisch hat.
--Decoder ist ein Mechanismus, der die Ausgabe von Encoder empfängt und in einen anderen Sprachvektor konvertiert.
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 mit gültigen Daten wird nach train_step hinzugefügt.
Ich konnte keine sehr gute Genauigkeit erreichen.
tf2_classify BERT with SentencePiece for Japanese text. Transformator / Aufmerksamkeit erstellen und verstehen Transformer model for language understanding
Recommended Posts