Những biến ẩn rời rạc

Một phần của tài liệu Chương 4 numerical computation chương 19 approximate inference (Trang 26 - 32)

Suy luận biến phân với những giá trị ẩn rời rạc tương đối cụ thể. Chúng ta định nghĩa một phân phối , thường định nghĩa phân phối được chọn khi mà những thừa số được định nghĩa chỉ bằng một bản truy hồi trên những trạng thái rời rạc. Trong trường hợp đơn giản nhất, là nhị phân và chúng ta có thể giả định trường trung bình rằng tìm thừa số thông qua từng . Trong trường hợp này, chúng ta có thể tham số hóa với một vector có đầu vào của là xác xuất. Khi đó

Sau khi chúng ta quyết định được làm sao để biểu diễn , chúng ta đơn giản tối ưu các tham số của nó. Với những biến ẩn rời rạc, đây chỉ là bài toán tối ưu tiêu chuẩn. Theo

nguyên tắc, sự lựa chọn q có thể được thực hiện một bằng bất kỳ thuật toán tối ưu nào, ví dụ trượt gradient.

Bởi vì việc tối ưu này phải xảy ra trong vòng lặp lồng trong của một thuật toán học, nó sẽ rất nhanh. Để đạt được tốc độ này, chúng ta thường dùng những thuật toán tối ưu được thiết kế để giải quyết những vấn đề tương đối nhỏ và đơn giản trong vài bước lặp. Một sự lựa chọn thường thấy là lặp lại thông qua những phương trình điểm cố định, một cách khác chúng ta giải quyết:

(19.18)

cho . Chúng ta liên tục cập nhật những phần tử của cho đến khi ta thoả mãn được điều kiện hội tụ.

Một cách cụ thể hơn, chúng ta trình bày cách ứng dụng suy luận biến phân cho mô hình mã hoá thưa nhị phân (binary sparse coding model) (mô hình được trình bày ở đây được phát triển bởi Henniges cùng cộng sự [2010], nhưng được chứng minh là cổ điển, và trường đồng chủng trung bình đối với mô hình này, mặc dù họ đưa ra một thuật toán đặc biệt). Đạo hàm này bắt đầu đi vào chi tiết toán học đáng kể và dành cho những bạn đọc muốn giải quyết hoàn toàn bất kỳ sự mơ hồ nào trong mô tả khái niệm bậc cao về suy luận và học biến phân mà chúng ta đã trình bày cho đến nay. Những bạn đọc nào không muốn dẫn xuất hoặc thực thi các thuật toán học biến phân có thể bỏ qua phần này mà không sợ bỏ lỡ bất kì kiếm niệm bậc cao mới nào. Những bạn đọc muốn theo đuổi ví dụ của mã hoá thưa nhị phân được khuyến khích coi qua những thuộc tính hữu ích của các hàm thường sinh ra trong những mô hình xác xuất trong phần 3.10. Chúng ta dùng những thuộc tính này một cách rộng rãi trong những đạo hàm dưới đây mà không nói rõ cụ thể khi nào sẽ sử dụng.

Trong mô hình mã hoá thưa nhị phân, giá trị đầu vào được sinh ra từ một mô hình bằng cách thêm vào giá trị nhiều Gaussian cho tổng của mm thành phần khác nhau, điều này có thể được biểu diễn hoặc không. Mỗi thành phần được kích hoạt bởi những đơn vị ẩn trong :

(19.19) (19.20)

trong đó là tập hệ số tự do có thể học được, là ma trận trọng số có thể học được, và là ma trận đường chéo chính xác có thể học được.

Điều này yêu cầu phải tính toán một kì vọng có liên quan đến . Tuy nhiên, lại là một phân phối phức tạp. Tham khảo hình 19.2 cho cấu trúc đồ thị của và . Phân phối hậu nghiệm thường liên hệ đến toàn bộ đồ thị hơn là các đơn vị ẩn, nên những thuật toán khử biến không giúp chúng ta tính toán những kì vọng cần thiết nhanh hơn việc duyệt toàn bộ.

Ta có thể giải quyết vấn đề bằng cách sử dụng suy luận biến phân và phép học biến phân. Thực hiện một phép biến đổi xấp xỉ trường trung bình như sau:

(19.28)

Các biến tiềm ẩn của mô hình mã hóa thưa nhị phân đều thuộc hệ nhị phân, nên để biểu diễn dưới dạng giai thừa, chúng ta phải mô hình hóa phép phân phối Bernoulli . Một cách hiển nhiên để biểu diễn trung bình các phép phân phối Bernoulli là một vector xác suất với . Chúng ta ràng buộc rằng không thể bằng 0 hay 1, để tránh những sai sót trong quá trình tính toán, ví dụ như trường hợp của .

Từ phân tích, ta có thể nhận định được rằng phương trình suy luận biến phân không thể gán giá trị 0 và 1 cho . Tuy nhiên, trong cài đặt lập trình, những sai số do máy học lại thường cho kết quả trả về là 0 hoặc 1. Trong lĩnh vực phần mềm. chúng ta mong muốn

cài đặt mã hóa thưa nhị phân bằng cách sử dụng một vector tự do của tham số biến

phân và thu được thông qua quan hệ . Từ đó, ta hoàn toàn có thể tính trên máy tính bất kỳ bằng cách thay thế , có liên hệ đến hàm chữ S và hàm dương mịn.

Để tiến hành đạo hàm đối với phép học biến phân trong mô hình mã hóa thưa nhị phân, ta phải chỉ ra rằng phép biến đổi xấp xỉ trường trung bình giúp truy vết việc học dễ dàng hơn.

Cận dưới của hàm xác suất thực nghiệm sẽ được tính như sau:

Những phương trình trên, tuy không đẹp đẽ, nhưng lại cho thấy rằng có thể được biểu diễn với số ít các phép toán tử giản đơn. Như vậy sẽ dễ dàng cho việc truy vết cận dưới của hàm xác suất thực nghiệm . Chúng ta có thể sử dụng để thay thế cho các hàm khó truy vết như logarit hàm hợp lý.

Trên lý thuyết, ta có thể sử dụng phương pháp gradient acsent cho cả và , dẫn đến một thuật toán kết hợp tốt phép suy luận và huấn luyện. Tuy nhiên, chúng ta không nên sử dụng phương pháp này vì hai lý do. Thứ nhất, việc này đòi hỏi lưu trữ với mỗi . Chúng ta nên ưu tiên các thuật toán hạn chế tối đa dữ liệu ghi cho mỗi trường hợp. Sẽ rất khó để phổ quát giải thuật học máy đến hàng tỷ ví dụ nếu tất cả đều lưu trữ vector cập nhật biến động liên quan đến nó. Thứ nhì, chúng ta mong muốn trích xuất tính chất nhanh nhất có thể, để đọc được thông tin của . Trong thực tế triển khai cài đặt, ta cũng cần phải tính toán được trên thời gian thực.

Từ hai lý do nêu trên, chúng ta sẽ không sử dụng phương pháp trượt gradient để tính toán tham số trường trung bình . Thay vào đó, ta sẽ dùng phép lặp ước lượng chúng với các điểm phương trình cố định.

Ý tưởng của các điểm phương trình cố định chính là việc tìm kiếm cực đại của , với . Sẽ không hiệu quả nếu chúng ta cố giải phương trình này cùng lúc đối với mọi . Tuy nhiên, đối với một biến thì có thể:

(19.37)

Chúng ta lặp lại phương pháp trên để giải phương trình với và tiếp tục chu trình cho đến khi chúng ta thỏa mãn với tiêu chuẩn hội tụ. Một tiêu chuẩn hội tụ thông thường bao gồm điều kiện để ngưng vòng lặp khi sau một chu trình cập nhật bất kì không cho kết quả của khả quan hơn rõ rệt, hay khi chu trình không thể thay đổi với độ chênh lệch lớn hơn một giá trị nào đó.

Phép lặp các điểm phương trình trường trung bình cố định là một kĩ thuật có thể cung cấp nhanh chóng những suy luận biến phân trên đa số các loại mô hình. Để chắc chắn điều này, ta sẽ trình bày cách suy ra các cập nhật, cụ thể là cho mô hình mã hóa thưa nhị phân. Đầu tiên, chúng ta phải biểu diễn được đạo hàm theo .Thế phương trình 19.36 vào vế trái của phương trình 19.37:

Để áp dụng quy luật điểm cập nhật suy luận cố định, chúng ta giải để phương trình 19.43 nhận giá trị là 0:

Đến đây, ta có thể thấy được sự liên kết chặt chẽ giữa mạng neural truy toán và phép suy luận trong mô hình đồ thị. Đặc biệt, các điểm phương trình trường trung bình cố định lại định nghĩa một mạng neural truy toán. Nhiệm vụ của mạng này là thực hiện phép suy luận. Chúng ta đã biểu diễn cách thức thu được mạng lưới này từ phép miêu tả một mô

hình, tuy nhiên, cũng sẽ khả thi nếu trường hợp ta muốn trực tiếp huấn luyện mạng suy luận. Một vài ý tưởng dựa trên chủ đề này sẽ được đề cập trong chương 20.

Trong trường hợp mã hóa thưa nhị phân, ta thấy rằng liên kết của mạng truy toán được xác định bởi phương trình 19.44 bao gồm việc liên tục cập nhật các đơn vị ẩn dựa trên giá trị thay đổi của các đơn vị ẩn kề nó. Đầu vào luôn gửi dữ liệu cố định với đến các đơn vị ẩn, nhưng chính các đơn vị ẩn lại liên tục cập nhật thông tin và truyền qua lại nhau. Đặc biệt, hai đơn vị ẩn và lại ức chế nhau khi trọng số vector của cả hai tiến đến gần nhau. Đây là sự tranh chấp giữa hai đơn vị ẩn có cùng vai trò diễn dịch đầu vào, chỉ đơn vị nào giải thích tốt hơn mới được giữ lại hoạt động. Sự tranh chấp này đến từ quá trình chọn lọc những tương tác diễn giải kém trong hậu nghiệm quá trình mã hóa thưa nhị phân. Hiện tượng diễn giải kém đáng lý phải dẫn đến một hậu nghiệm đa mô hình, khi ta trích xuất các bản mẫu từ hậu nghiệm, một vài mẫu sẽ có đơn vị này hoạt động, những mẫu khác sẽ có đơn vị kia hoạt động, và chỉ một số ít sẽ có cả hai hoạt động. Tuy nhiên, các tương tác diễn giải kém không thể được mô hình bởi giai thừa dùng trong trường trung bình, nên phương pháp xấp xỉ trường trung bình buộc phải chọn một quy tắc để mô hình hóa. Đây chính là ví dụ cho trạng thái được mô tả ở hình 3.6.

Chúng ta có thể viết lại phương trình 19.44 ở dạng tương đương và gợi mở được nhiều vấn đề hơn:

Sau khi tinh chỉnh công thức, ta thấy rằng đầu vào mỗi bước bao gồm chứ không chỉ đơn thuần là . Từ đó ta cho rằng nhiệm vụ của đơn vị là cố gắng mã hóa những lỗi dư thừa của , sử dụng bộ mã lệnh từ những đơn vị khác. Trong khi đó mã hóa rời rạc lại chính là những bộ tự động mã hóa, liên tục mã hóa và giải mã chính đầu vào của nó, để sửa chữa những lỗi sai từ quá trình tái tạo dữ liệu sau mỗi vòng lặp.

Trong ví dụ này, chúng ta đã thu thập được quy luật của quá trình cập nhật từng đơn vị tại một thời điểm. Và sẽ tốt hơn nếu tại cùng thời điểm, ta có thể cập nhật một lúc nhiều đơn vị. Một số mô hình đồ thị, ví dụ như mô hình học máy sâu Boltzmann, được thiết kế với cấu trúc có thể cùng một lúc giải được nhiều dữ liệu đầu vào của . Tuy nhiên, mã hóa thưa nhị phân lại không thể tiếp nhận việc cập nhật theo từng khối. Thay vào đó, ta có thể sử dụng kỹ thuật giảm xóc (damping) trong phương pháp heuristic để thực hiện việc cập nhật các khối. Với cách tiếp cận này, chúng ta tìm giá trị tối ưu cho mỗi riêng biệt, sau đó dịch chuyển các giá trị này với bước nhỏ theo phương của chúng. Phương pháp này sẽ không đảm bảo tăng theo mỗi bước, nhưng lại hoạt động tốt trong nhiều mô hình thực nghiệm. Tham khảo Koller and Friedman (2009) để hiểu thêm về cách đồng bộ hóa và kỹ

Một phần của tài liệu Chương 4 numerical computation chương 19 approximate inference (Trang 26 - 32)