RBM là một con thú thú vị. Để trả lời câu hỏi của bạn và để kích thích trí nhớ của tôi về chúng, tôi sẽ lấy RBM và nói chuyện thông qua đạo hàm. Bạn đã đề cập rằng bạn đang nhầm lẫn về khả năng, do đó, sự xuất phát của tôi sẽ từ quan điểm cố gắng tối đa hóa khả năng. Vì vậy, hãy bắt đầu.
RBM chứa hai bộ nơ-ron khác nhau, có thể nhìn thấy và ẩn đi, tôi sẽ biểu thị chúng lần lượt là và . Cho một cấu hình cụ thể của và , chúng tôi ánh xạ không gian xác suất.h v hvhvh
p ( v , h ) = e- E( v , h )Z
Có một vài điều nữa để xác định. Hàm thay thế mà chúng ta sử dụng để ánh xạ từ một cấu hình cụ thể đến không gian xác suất được gọi là hàm năng lượng . Các liên tục là một yếu tố bình thường để đảm bảo rằng chúng tôi thực sự ánh xạ không gian xác suất. Bây giờ hãy đến với những gì chúng ta thực sự tìm kiếm; xác suất của một tập hợp các tế bào thần kinh có thể nhìn thấy, nói cách khác, xác suất của dữ liệu của chúng tôi.
Z Z = ∑ v ∈ V ∑ h ∈ H e - E ( v , h ) p ( v ) = ∑ h ∈ H p ( v , h ) = ∑ h ∈ H e - E ( v , h )E( v , h )Z
Z= ∑v ∈ VΣh ∈ He- E( v , h )
p( v ) = Σh ∈ Hp ( v , h ) = Σh ∈ He- E( v , h )Σv ∈VΣh ∈ He- E( v , h )
Mặc dù có rất nhiều thuật ngữ trong phương trình này, nó chỉ đơn giản là viết ra các phương trình xác suất chính xác. Hy vọng rằng, cho đến nay, điều này đã giúp bạn nhận ra lý do tại sao chúng ta cần chức năng năng lượng để tính toán xác suất, hoặc những gì được thực hiện thường hơn xác suất unnormalized . Xác suất không chuẩn hóa được sử dụng vì hàm phân vùng rất tốn kém để tính toán.Zp ( v ) * ZZ
Bây giờ chúng ta hãy đến giai đoạn học tập thực tế của RBM. Để tối đa hóa khả năng, đối với mọi điểm dữ liệu, chúng ta phải thực hiện một bước chuyển màu để tạo . Để có được các biểu thức gradient, phải mất một số nhào lộn toán học. Điều đầu tiên chúng ta làm là lấy nhật ký của . Chúng tôi sẽ hoạt động trong không gian xác suất đăng nhập từ bây giờ để làm cho tính toán khả thi.p ( v )p ( v ) = 1p ( v )
p ( v )
đăng nhập( p ( v ) ) = nhật ký[ ∑h ∈ He- E( v , h )] - đăng nhập[ ∑v ∈ VΣh ∈ He- E( v , h )]
Chúng ta hãy lấy độ dốc đối với các giá trị trong
p ( v )
∂đăng nhập( p ( v ) )∂θ= =- 1Σh'∈He−E(v,h′)∑h′∈He−E(v,h′)∂E(v,h′)∂θ+1∑v′∈V∑h′∈He−E(v′,h′)∑v′∈V∑h′∈He−E(v′,h′)∂E(v,h)∂θ
Bây giờ tôi đã làm điều này trên giấy và viết phương trình bán kết xuống để không lãng phí nhiều không gian trên trang web này. Tôi khuyên bạn nên rút ra các phương trình này cho mình. Bây giờ tôi sẽ viết một số phương trình xuống sẽ giúp tiếp tục dẫn xuất của chúng tôi. Lưu ý rằng: , và p ( v ) = ∑ h ∈ H p ( v , h ) p ( h | v ) = p ( v , h )Zp (v,h)=e−E(v,h′)p ( v ) = Σh ∈ Hp(v,h)p(h|v)=p(v,h)p(h)
∂log(p(v))∂θ∂log(p(v))∂θ=−1p(v)∑h′∈Hp(v,h′)∂E(v,h′)∂θ+ Σv'∈ VΣh'∈ Hp ( v', h') ∂E( v', h')∂θ= - Σh'∈ Hp ( h'| v) ∂E( v , h')∂θ+ Σv'∈ VΣh'∈ Hp ( v', h') ∂E( v', h')∂θ
Và ở đó, chúng tôi đã ước tính khả năng tối đa cho RBM, nếu bạn muốn bạn có thể viết hai thuật ngữ cuối cùng thông qua kỳ vọng về các điều khoản tương ứng của chúng (có điều kiện và xác suất chung).
Lưu ý về chức năng năng lượng và tính ngẫu nhiên của tế bào thần kinh.
Như bạn có thể thấy ở trên trong đạo hàm của mình, tôi để lại định nghĩa về hàm năng lượng khá mơ hồ. Và lý do để làm điều đó là nhiều phiên bản khác nhau của RBM thực hiện các chức năng năng lượng khác nhau. Cái mà Hinton mô tả trong bài giảng được liên kết ở trên, và được hiển thị bởi @ Laurens-Meeus là:
E( v , h ) = - aTv - bTh - vTWh .
Có thể dễ dàng hơn để lý giải về các điều khoản độ dốc ở trên thông qua biểu mẫu kỳ vọng.
∂đăng nhập( p ( v ) )∂θ= - Ep ( h'| v)∂E( v , h')∂θ+ Ep ( v', h')∂E( v', h')∂θ
Kỳ vọng của thuật ngữ đầu tiên thực sự rất dễ tính toán, và đó là thiên tài đằng sau RBM. Bằng cách hạn chế kết nối, kỳ vọng có điều kiện chỉ đơn giản trở thành sự lan truyền về phía trước của RBM với các đơn vị hữu hình được kẹp. Đây được gọi là giai đoạn đánh thức trong các máy Boltzmann. Bây giờ việc tính toán thuật ngữ thứ hai khó hơn nhiều và thông thường các phương pháp Monte Carlo được sử dụng để làm như vậy. Viết độ dốc thông qua mức trung bình của Monte Carlo chạy:
∂đăng nhập( p ( v ) )∂θ≈ - ⟨ ∂E( v , h')∂θ⟩p ( h'| v)+ ⟨ ∂E( v', h')∂θ⟩p ( v', h')
Tính toán thuật ngữ đầu tiên không khó, như đã nêu ở trên, do đó Monte-Carlo được thực hiện trong nhiệm kỳ thứ hai. Các phương pháp Monte Carlo sử dụng lấy mẫu ngẫu nhiên liên tiếp của phân phối, để tính toán kỳ vọng (tổng hoặc tích phân). Bây giờ việc lấy mẫu ngẫu nhiên này trong RBM cổ điển được định nghĩa là đặt đơn vị thành 0 hoặc 1 dựa trên xác suất ngẫu nhiên, nói cách khác, lấy số thống nhất ngẫu nhiên, nếu nó nhỏ hơn xác suất nơ-ron đặt thành 1, nếu nó lớn hơn đặt nó thành 0.