Các hàm chi phí phổ biến được sử dụng để đánh giá hiệu suất của các mạng thần kinh là gì?
Chi tiết
(vui lòng bỏ qua phần còn lại của câu hỏi này, ý định của tôi ở đây chỉ đơn giản là cung cấp làm rõ về ký hiệu mà câu trả lời có thể sử dụng để giúp chúng dễ hiểu hơn đối với người đọc nói chung)
Tôi nghĩ sẽ hữu ích khi có một danh sách các hàm chi phí phổ biến, bên cạnh một vài cách mà chúng đã được sử dụng trong thực tế. Vì vậy, nếu những người khác quan tâm đến điều này, tôi nghĩ rằng wiki cộng đồng có lẽ là cách tiếp cận tốt nhất hoặc chúng ta có thể gỡ nó xuống nếu nó lạc đề.
Ký hiệu
Vì vậy, để bắt đầu, tôi muốn xác định một ký hiệu mà tất cả chúng ta sử dụng khi mô tả những điều này, vì vậy các câu trả lời rất phù hợp với nhau.
Ký hiệu này là từ cuốn sách của Neilsen .
Mạng thần kinh Feedforward là nhiều lớp tế bào thần kinh được kết nối với nhau. Sau đó, nó nhận một đầu vào, đầu vào đó "nhỏ giọt" qua mạng và sau đó mạng thần kinh trả về một vectơ đầu ra.
Chính thức hơn, gọi kích hoạt (còn gọi là đầu ra) của nơ ron trong lớp , trong đó là phần tử trong vectơ đầu vào. j t h i t h a 1 j j t h
Sau đó, chúng ta có thể liên kết đầu vào của lớp tiếp theo với trước đó thông qua mối quan hệ sau:
Ở đâu
là chức năng kích hoạt,
k t h ( i - 1 ) t h j t h i t h là trọng lượng từ tế bào thần kinh trong lớp đến tế bào thần kinh trong lớp ,
j t h i t h là sai lệch của nơron trong lớp và
j t h i t h đại diện cho giá trị kích hoạt của nơron trong lớp .
Đôi khi chúng ta viết để thể hiện , nói cách khác, giá trị kích hoạt của nơ ron trước khi áp dụng chức năng kích hoạt . ∑ k ( w i j k ⋅ a i - 1 k ) + b i j
Để ký hiệu ngắn gọn hơn chúng ta có thể viết
Để sử dụng công thức này để tính toán đầu ra của mạng feedforward cho một số đầu vào , hãy đặt , sau đó tính , , ..., , trong đó m là số lớp.a 1 = I a 2 a 3 a m
Giới thiệu
Hàm chi phí là thước đo "mức độ tốt" của mạng lưới thần kinh đối với mẫu đào tạo được đưa ra và sản lượng dự kiến. Nó cũng có thể phụ thuộc vào các biến như trọng số và độ lệch.
Hàm chi phí là một giá trị duy nhất, không phải là một vectơ, vì nó đánh giá mức độ tốt của mạng lưới thần kinh.
Cụ thể, một hàm chi phí có dạng
Trong đó là trọng số của mạng nơ-ron của chúng tôi, là độ lệch của mạng nơ-ron của chúng tôi, là đầu vào của một mẫu đào tạo duy nhất và là đầu ra mong muốn của mẫu đào tạo đó. Lưu ý chức năng này cũng có khả năng phụ thuộc vào và cho bất kỳ nơron trong lớp , bởi vì các giá trị này phụ thuộc vào , và .
Trong backpropagation, hàm chi phí được sử dụng để tính toán lỗi của lớp đầu ra của chúng tôi, , thông qua
Mà cũng có thể được viết dưới dạng vector thông qua
Chúng tôi sẽ cung cấp độ dốc của các hàm chi phí theo phương trình thứ hai, nhưng nếu ai đó muốn tự chứng minh các kết quả này, thì nên sử dụng phương trình thứ nhất vì nó dễ làm việc hơn.
Yêu cầu chức năng chi phí
Để được sử dụng trong backpropagation, hàm chi phí phải đáp ứng hai thuộc tính:
1: Hàm chi phí phải có thể được viết ở mức trung bình
hàm chi phí cho các ví dụ đào tạo cá nhân, . x
Điều này là để nó cho phép chúng ta tính toán độ dốc (liên quan đến trọng số và độ lệch) cho một ví dụ đào tạo duy nhất và chạy Gradient Descent.
2: Hàm chi phí không phải phụ thuộc vào bất kỳ giá trị kích hoạt của một mạng lưới thần kinh bên cạnh những kết quả giá trị .a L
Về mặt kỹ thuật, hàm chi phí có thể phụ thuộc vào bất kỳ hoặc . Chúng tôi chỉ thực hiện hạn chế này để chúng tôi có thể backpropagte, bởi vì phương trình tìm độ dốc của lớp cuối cùng là phương trình duy nhất phụ thuộc vào hàm chi phí (phần còn lại phụ thuộc vào lớp tiếp theo). Nếu hàm chi phí phụ thuộc vào các lớp kích hoạt khác ngoài lớp đầu ra, việc sao lưu ngược sẽ không hợp lệ vì ý tưởng "lừa ngược" không còn hoạt động. z i j
Ngoài ra, các chức năng kích hoạt được yêu cầu phải có đầu ra cho tất cả . Do đó, các hàm chi phí này chỉ cần được xác định trong phạm vi đó (ví dụ: là hợp lệ vì chúng tôi được đảm bảo ).j √ một L j ≥0