Trang này được dịch bởi Cloud Translation API.
Switch to English

Lưới kéo căng (TFL)

TensorFlow Lattice là một thư viện triển khai các mô hình dựa trên mạng linh hoạt, được kiểm soát và có thể diễn giải được. Thư viện cho phép bạn đưa kiến ​​thức miền vào quá trình học tập thông qua các ràng buộc hình dạng thông thường hoặc theo chính sách. Điều này được thực hiện bằng cách sử dụng một tập hợp các lớp Keras có thể thỏa mãn các ràng buộc như tính đơn điệu, tính lồi và độ tin cậy theo cặp. Thư viện cũng cung cấp các công cụ ước tính đóng hộp dễ thiết lập.

Các khái niệm

Phần này là phiên bản đơn giản hóa của mô tả trong Bảng tra cứu nội suy được hiệu chỉnh đơn sắc , JMLR 2016.

Lưới

Mạng tinh thể là một bảng tra cứu nội suy có thể ước lượng các mối quan hệ đầu vào - đầu ra tùy ý trong dữ liệu của bạn. Nó chồng lên một lưới thông thường lên không gian đầu vào của bạn và tìm hiểu các giá trị cho đầu ra trong các đỉnh của lưới. Đối với điểm kiểm tra $ x $, $ f (x) $ được nội suy tuyến tính từ các giá trị mạng xung quanh $ x $.

Ví dụ đơn giản ở trên là một hàm có 2 tính năng đầu vào và 4 tham số: $ \ theta = [0, 0.2, 0.4, 1] $, là các giá trị của hàm ở các góc của không gian đầu vào; phần còn lại của hàm được nội suy từ các tham số này.

Hàm $ f (x) $ có thể nắm bắt các tương tác phi tuyến tính giữa các đối tượng địa lý. Bạn có thể nghĩ về các tham số mạng như chiều cao của các cực đặt trên mặt đất trên một lưới thông thường, và chức năng kết quả giống như vải được kéo chặt vào bốn cực.

Với các đặc trưng $ D $ và 2 đỉnh dọc theo mỗi chiều, một mạng tinh thể thông thường sẽ có các tham số $ 2 ^ D $. Để phù hợp với chức năng linh hoạt hơn, bạn có thể chỉ định một mạng tinh thể mịn hơn trên không gian tính năng với nhiều đỉnh dọc theo mỗi chiều. Các hàm hồi quy mạng là liên tục và từng phần khác nhau vô cùng.

Hiệu chuẩn

Giả sử mạng tinh thể mẫu trước biểu thị một hạnh phúc người dùng đã học với một quán cà phê địa phương được đề xuất tính toán bằng các tính năng:

  • giá cà phê, trong khoảng 0 đến 20 đô la
  • khoảng cách đến người dùng, trong phạm vi 0 đến 30 km

Chúng tôi muốn mô hình của mình tìm hiểu mức độ hạnh phúc của người dùng với gợi ý về một quán cà phê địa phương. Các mô hình TensorFlow Lattice có thể sử dụng các hàm tuyến tính từng mảnh (với tfl.layers.PWLCalibration ) để hiệu chỉnh và chuẩn hóa các tính năng đầu vào theo phạm vi được chấp nhận bởi mạng: 0,0 đến 1,0 trong mạng tinh thể ví dụ ở trên. Dưới đây cho thấy các ví dụ chức năng hiệu chỉnh như vậy với 10 điểm chính:

Thường là một ý tưởng hay khi sử dụng các lượng tử của các tính năng làm các điểm chính đầu vào. Công cụ ước tính đóng hộp TensorFlow Lattice có thể tự động đặt các điểm chính đầu vào thành các lượng tử tính năng.

Đối với các tính năng phân loại, TensorFlow Lattice cung cấp hiệu chuẩn phân loại (với tfl.layers.CategoricalCalibration ) với giới hạn đầu ra tương tự để đưa vào một mạng tinh thể.

Bộ quần áo

Số lượng tham số của lớp mạng tăng theo cấp số nhân với số lượng các tính năng đầu vào, do đó không mở rộng tốt đến các kích thước rất cao. Để khắc phục hạn chế này, TensorFlow Lattice cung cấp các nhóm mạng kết hợp (trung bình) một số mạng nhỏ , cho phép mô hình phát triển tuyến tính theo số lượng tính năng.

Thư viện cung cấp hai biến thể của các nhóm này:

  • Random Tiny Lattices (RTL): Mỗi mô hình con sử dụng một tập hợp con các tính năng ngẫu nhiên (có thay thế).

  • Tinh thể: Các tinh thể thuật toán xe lửa đầu tiên một mô hình prefitting rằng ước tính cặp tương tác năng. Sau đó, nó sắp xếp quần thể cuối cùng sao cho các tính năng có nhiều tương tác phi tuyến tính hơn nằm trong cùng một mạng lưới.

Tại sao mạng tinh thể kéo căng?

Bạn có thể tìm thấy phần giới thiệu ngắn gọn về TensorFlow Lattice trong bài đăng trên Blog TF này.

Khả năng diễn giải

Vì các tham số của mỗi lớp là đầu ra của lớp đó, nên dễ dàng phân tích, hiểu và gỡ lỗi từng phần của mô hình.

Mô hình chính xác và linh hoạt

Sử dụng mạng tinh thể, bạn có thể có được các chức năng phức tạp tùy ý chỉ với một lớp mạng tinh thể. Sử dụng nhiều lớp hiệu chuẩn và lưới thường hoạt động tốt trong thực tế và có thể phù hợp hoặc vượt trội so với các mô hình DNN có kích thước tương tự.

Những hạn chế về hình dạng thông thường

Dữ liệu đào tạo trong thế giới thực có thể không đủ đại diện cho dữ liệu thời gian chạy. Các giải pháp ML linh hoạt như DNN hoặc rừng thường hành động bất ngờ và thậm chí điên cuồng trong các phần của không gian đầu vào không được bao phủ bởi dữ liệu đào tạo. Hành vi này đặc biệt có vấn đề khi các ràng buộc về chính sách hoặc công bằng có thể bị vi phạm.

Mặc dù các hình thức chính quy phổ biến có thể dẫn đến phép ngoại suy hợp lý hơn, các bộ điều chỉnh tiêu chuẩn không thể đảm bảo hành vi của mô hình hợp lý trên toàn bộ không gian đầu vào, đặc biệt là với các đầu vào có chiều cao. Chuyển sang các mô hình đơn giản hơn với hành vi được kiểm soát và dự đoán nhiều hơn có thể phải trả giá đắt cho độ chính xác của mô hình.

TF Lattice giúp bạn có thể tiếp tục sử dụng các mô hình linh hoạt, nhưng cung cấp một số tùy chọn để đưa kiến ​​thức miền vào quá trình học tập thông qua các ràng buộc hình dạng thông thường hoặc hướng chính sách có ý nghĩa về mặt ngữ nghĩa:

  • Tính đơn điệu : Bạn có thể chỉ định rằng đầu ra chỉ nên tăng / giảm đối với đầu vào. Trong ví dụ của chúng tôi, bạn có thể muốn chỉ định rằng việc tăng khoảng cách đến một quán cà phê sẽ chỉ làm giảm sở thích dự đoán của người dùng.

  • Độ lồi / Độ lõm : Bạn có thể chỉ định rằng hình dạng hàm có thể lồi hoặc lõm. Kết hợp với tính đơn điệu, điều này có thể buộc hàm biểu thị lợi nhuận giảm dần đối với một đối tượng nhất định.

  • Tính đơn phương thức : Bạn có thể chỉ định rằng hàm phải có đỉnh duy nhất hoặc thung lũng duy nhất. Điều này cho phép bạn đại diện cho các chức năng có một điểm ngọt đối với một tính năng.

  • Độ tin cậy theo cặp : Ràng buộc này hoạt động trên một cặp tính năng và gợi ý rằng một tính năng đầu vào phản ánh về mặt ngữ nghĩa đối với tính năng khác. Ví dụ: số lượng đánh giá cao hơn khiến bạn tự tin hơn trong xếp hạng sao trung bình của nhà hàng. Mô hình sẽ nhạy cảm hơn đối với xếp hạng sao (nghĩa là sẽ có độ dốc lớn hơn đối với xếp hạng) khi số lượng đánh giá cao hơn.

Kiểm soát linh hoạt với thường xuyên

Ngoài các ràng buộc về hình dạng, lưới TensorFlow cung cấp một số bộ chỉnh tần số để kiểm soát tính linh hoạt và độ mịn của chức năng cho mỗi lớp.

  • Bộ điều chỉnh Laplacian : Kết quả đầu ra của mạng tinh thể / đỉnh hiệu chuẩn / điểm chính được điều chỉnh theo các giá trị của các hàng xóm tương ứng của chúng. Điều này dẫn đến một chức năng phẳng hơn .

  • Hessian đều đặn : Điều này xử phạt đạo hàm đầu tiên của lớp hiệu chuẩn PWL để làm cho hàm trở nên tuyến tính hơn .

  • Wrinkle Regularizer : Điều này xử phạt đạo hàm thứ hai của lớp hiệu chuẩn PWL để tránh thay đổi đột ngột về độ cong. Nó làm cho chức năng mượt mà hơn.

  • Xoắn thường xuyên : Đầu ra của mạng sẽ được thường xuyên theo hướng ngăn ngừa xoắn trong các tính năng. Nói cách khác, mô hình sẽ được chính quy hóa theo hướng độc lập giữa các đóng góp của các tính năng.

Trộn và kết hợp với các lớp Keras khác

Bạn có thể sử dụng các lớp Mạng lưới TF kết hợp với các lớp Keras khác để xây dựng các mô hình hạn chế hoặc chính quy một phần. Ví dụ: các lớp hiệu chuẩn mạng hoặc PWL có thể được sử dụng ở lớp cuối cùng của các mạng sâu hơn bao gồm các lớp nhúng hoặc các lớp Keras khác.

Giấy tờ

Hướng dẫn và tài liệu API

Đối với các kiến ​​trúc mô hình phổ biến, bạn có thể sử dụng các mô hình tiền tố Keras hoặc Công cụ ước tính đóng hộp . Bạn cũng có thể tạo các mô hình tùy chỉnh bằng cách sử dụng các lớp TF Lattice Keras hoặc trộn và kết hợp với các lớp Keras khác. Xem toàn bộ tài liệu API để biết chi tiết.