Google I / O là một kết quả hoàn hảo! Cập nhật các phiên TensorFlow Xem phiên

TensorFlow Lattice (TFL)

TensorFlow Lattice là một thư viện triển khai các mô hình dựa trên mạng tinh thể linh hoạt, được kiểm soát và có thể diễn giải được. Thư viện cho phép bạn bơm kiến thức miền vào quá trình học tập thông qua chung cảm giác hay chính sách định hướng hạn chế hình dạng . Này được thực hiện bằ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ư đơn điệu, lồi và cặp tin tưởng. Các thư viện cũng cung cấp dễ dàng để thiết lập đóng hộp ước lượng .

Các khái niệm

Phần này là một phiên bản đơn giản của mô tả trong Monotonic Calibrated suy Look-Up Bàn , JMLR năm 2016.

Mạng lưới

Một lưới là một cái nhìn lên nội suy bảng mà có thể gần đú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à học các giá trị cho đầu ra trong các đỉnh của lưới. Đối với một điểm kiểm tra \(x\), \(f(x)\) được nội suy tuyến tính từ các giá trị lưới xung quanh \(x\).

Ví dụ đơn giản trên là một hàm với 2 tính năng đầu vào và 4 tham số:\(\theta=[0, 0.2, 0.4, 1]\), đó là những giá trị của hàm tại 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.

Chức năng \(f(x)\) có thể chụp tương tác phi tuyến tính giữa các tính năng. Bạn có thể coi các thông số mạng là 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ư một tấm vải được kéo chặt vào bốn cực.

Với \(D\) tính năng và 2 đỉnh cùng mỗi chiều, một mạng đều đặn sẽ có \(2^D\) tham số. Để phù hợp với một 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 đối tượng địa lý với nhiều đỉnh hơn 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 có thể phân biệt vô hạn.

Sự định cỡ

Hãy nói rằng các mạng mẫu trước đại diện cho một hạnh phúc dùng học với một quán cà phê địa phương đề nghị tính toán sử dụng các tính năng:

  • giá cà phê, trong khoảng 0 đến 20 đô la
  • khoảng cách với người dùng, trong phạm vi từ 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. Mô hình TensorFlow Lattice có thể sử dụng chức năng piecewise tuyến tính (với tfl.layers.PWLCalibration ) để hiệu chỉnh và bình thường hóa các đầu vào tính năng đến phạm vi chấp nhận bởi các mạng: 0.0 đến 1.0 trong ví dụ mạng trên. Sau đây trình bày các ví dụ về các chức năng hiệu chuẩn như vậy với 10 điểm chính:

Thường là một ý kiến ​​hay khi sử dụng các lượng tử của các tính năng làm điểm chính đầu vào. TensorFlow Lattice ước lượng đóng hộp có thể tự động thiết lập các keypoint đầu vào cho các quantiles tính năng.

Đối với tính năng phân loại, TensorFlow lưới cung cấp hiệu chuẩn phân loại (với tfl.layers.CategoricalCalibration ) với sản lượng tương tự bounding để thức ăn vào một mạng.

Bộ quần áo

Số lượng các tham số của một 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 lưới cung cấp cụm công trình của bờ chắn rằng kết hợp (trung bình) nhiều Lưới nhỏ, cho phép các mô hình phát triển theo đường thẳng trong số các tính năng.

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

  • Random Lưới Tiny (RTL): Mỗi mô hình phụ sử dụng một tập hợp con ngẫu nhiên các tính năng (với 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 đặc điểm 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 lại sử dụng TensorFlow Lattice?

Bạn có thể tìm thấy một giới thiệu ngắn gọn để TensorFlow Lattice trong này TF Blog bài .

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 việc phân tích, hiểu và gỡ lỗi từng phần của mô hình rất dễ dàng.

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

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

Các ràng buộc 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 đầy đủ 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 hoạt động bất ngờ và thậm chí là hoang dã trong các phần của không gian đầu vào không nằm trong 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 hợp lý của mô hình 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. Việc 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 tốt hơn có thể phải trả giá đắt cho độ chính xác của mô hình.

TF lưới làm cho nó có thể tiếp tục sử dụng mô hình linh hoạt, nhưng cung cấp nhiều tùy chọn để kiến thức miền bơm vào quá trình học tập thông qua các ngữ nghĩa có ý nghĩa chung cảm giác hay chính sách định hướng hạn chế hình dạng :

  • Đơn điệu: Bạn có thể xác định rằng sản lượng chỉ nên tăng / giảm liên quan đến một đầu vào. Trong ví dụ của chúng tôi, bạn có thể muốn chỉ định rằng khoảng cách tăng lên đế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 chức năng 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.

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

  • Cặp tin tưởng: hạn chế 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 ngữ nghĩa phản ánh niềm tin vào tính năng khác. Ví dụ: số lượng đánh giá cao hơn khiến bạn tin tưởng hơn vào xếp hạng sao trung bình của một nhà hàng. Mô hình sẽ nhạy cảm hơn đối với xếp hạng sao (tức 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.

Tính linh hoạt được kiểm soát với bộ điều chỉnh

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

  • Laplacian Regularizer: Đầu ra của mạng / hiệu chuẩn đỉnh / keypoint được regularized đối với các giá trị của các nước láng giềng của mình. Đây kết quả trong một hàm phẳng hơn.

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

  • Nhăn Regularizer: Đây phạt đạo hàm bậc hai của lớp PWL hiệu chuẩn để tránh những thay đổi đột ngột trong độ cong. Nó làm cho các chức năng mượt mà hơn.

  • Xoắn Regularizer: Đầu ra của mạng sẽ được regularized đối với việc ngăn ngừa xoắn giữa các tính năng. Nói cách khác, mô hình sẽ được quy định 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 kiến trúc mô hình phổ biến, bạn có thể sử dụng mô hình premade Keras hoặc ước lượng đóng hộp . Bạn cũng có thể tạo mô hình tùy chỉnh sử dụng lớp TF Lattice Keras hoặc trộn và kết hợp với các lớp Keras khác. Kiểm tra các tài liệu API đầy đủ để biết chi tiết.