Keras là API học sâu viết bằng Python, chạy trên TensorFlow, hỗ trợ thử nghiệm nhanh, mở rộng cao, đa nền tảng (TPU, GPU, web, mobile). Keras có sẵn trong TensorFlow.
Functional API của Keras cho phép tạo mô hình linh hoạt: topo không tuyến tính, chia sẻ lớp, nhiều đầu vào/đầu ra. Mô hình học sâu là đồ thị acyclic có hướng (DAG) các lớp.
Sử dụng Google Colab (chạy Python trên trình duyệt, miễn phí GPU). Dưới đây là code chia sẻ lớp Embedding cho hai đầu vào văn bản:
Ví dụ
print("Embedding cho 2000 từ duy nhất ánh xạ vector 128 chiều")
shared_embedding = layers.Embedding(2000, 128)
print("Chuỗi số nguyên độ dài biến đổi")
text_input_a = keras.Input(shape=(None,), dtype="int32")
text_input_b = keras.Input(shape=(None,), dtype="int32")
print("Tái sử dụng cùng một lớp để mã hóa cả hai đầu vào")
encoded_input_a = shared_embedding(text_input_a)
encoded_input_b = shared_embedding(text_input_b)
Nguồn: TensorFlow Guide
Đầu ra
Embedding cho 2000 từ duy nhất ánh xạ vector 128 chiều Chuỗi số nguyên độ dài biến đổi Chuỗi số nguyên độ dài biến đổi Tái sử dụng cùng một lớp để mã hóa cả hai đầu vào
Giải thích
- Functional API sử dụng các lớp chia sẻ (shared layers).
- Lớp chia sẻ là instance có thể tái sử dụng nhiều lần trong cùng mô hình.
- Chúng học đặc trưng tương ứng với nhiều đường dẫn trong đồ thị.
- Dùng để mã hóa đầu vào từ hai phần văn bản khác nhau nhưng có từ vựng tương tự.
- Cho phép chia sẻ thông tin giữa các đầu vào khác nhau.
- Giúp mô hình huấn luyện với ít dữ liệu hơn.
- Trong code trên, lớp Embedding được chia sẻ cho hai văn bản khác nhau.