Mơ hình chuỗi sang chuỗi

Một phần của tài liệu Xây dựng mô hình nhận dạng chữ viết tay trong các biểu mẫu có bố cục cố định (Trang 48 - 49)

3 Các công trình liên quan

3.4Mơ hình chuỗi sang chuỗi

Mơ hình chuỗi sang chuỗi (Sequence to Sequence - Seq2Seq) là một mơ hình học sâu với mục đích tạo ra một chuỗi đầu ra từ một chuỗi đầu vào mà độ dài của hai chuỗi này khơng cần phải giống nhau. Mơ hình chuỗi sang chuỗi lần đầu tiên được giới thiệu bởi nhóm nghiên cứu của Google vào năm 2014 trong bài báo “Sequence to Sequence with Neural Networks” [15]. Mặc dù mục đích ban đầu của mơ hình này là để áp dụng trong dịch máy (machine translation), nhưng hiện nay mơ hình chuỗi sang chuỗi cũng được áp dụng nhiều trong các hệ thống khác liên quan đến chuỗi như nhận dạng tiếng nói (speech recognition), tóm tắt văn bản (text summarization), chú thích hình ảnh (image captioning) và cả nhận dạng ký tự quang học (OCR).

Mơ hình chuỗi sang chuỗi dựa trên kiến trúc mã hóa - giải mã (Encoder - Decoder) để sinh ra chuỗi đầu ra và chuỗi đầu vào, mơ hình gồm hai phần chính là bộ mã hóa (Encoder) và bộ giải mã (Decoder). Ngồi ra cịn có vector mã hóa trung gian (Encoder vector). Hình 3.8 minh họa mơ hình Seq2Seq được sử dụng trong dịch máy và trong nhận dạng chữ viết tay.

Hình 3.8: Mơ hình Seq2Seq trong dịch máy (trên) và trong nhận dạng chữ viếttay (dưới) tay (dưới)

Bộ mã hóa

Bộ mã hóa (Encoder) có thể được xem là một ngăn xếp chứa các mạng con là phần tử của RNN (Mục 2.3) hoặc các ô nhớ của LTSM (Tiểu mục 2.3.2) hay GRU, nơi nhận vào tín hiệu của một phần tử của chuỗi đầu vào và truyền tiếp về phía cuối

Các cơng trình liên quan 36

mạng.

Cụ thể hơn, bộ mã hóa của mơ hình Seq2Seq mã hóa thơng tin của các chuỗi đầu vào với độ dài khác nhau thành một vector ngữ cảnhc. Các tầng RNN thường được sử

dụng nhất trong bộ mã hóa. Giả sử có một chuỗi đầu vàox1, x2, ..., xT, trong đó xt là từ thứt. Tại bước thời gian t, mơ hình RNN sẽ có hai vector đầu vào đó là vector đặc

trưng xt và trạng thái ẩn của bước thời gian trước đó ht−1. Ta ký hiệu phép chuyển

đổi của các trạng thái ẩn trong RNN bằng hàm f.

ht =f(xt, ht−1) (3.4)

Tiếp theo, bộ mã hóa nắm bắt thơng tin của tất cả các trạng thái ẩn và mã hóa chúng thành vector ngữ cảnhc bằng hàm q.

c=q(h1, h2, ..., hT) (3.5)

Ví dụ, nếu chúng ta chọnq là q(h1, h2, ..., hT) =hT, thì vector ngữ cảnh sẽ là trạng thái ẩn của bước thời gian cuối cùng hT.

Một phần của tài liệu Xây dựng mô hình nhận dạng chữ viết tay trong các biểu mẫu có bố cục cố định (Trang 48 - 49)