Tôi đã dành một chút thời gian để thử và hiểu các tính toán và cơ học của các thuật toán học máy mà tôi sử dụng trong cuộc sống hàng ngày.
Nghiên cứu tài liệu truyền bá về khóa học CS231n, tôi muốn chắc chắn rằng tôi đã hiểu đúng quy tắc chuỗi trước khi tiếp tục nghiên cứu.
Nói rằng tôi có chức năng sigmoid:
trong trường hợp này,
Chúng ta có thể viết hàm này dưới dạng biểu đồ tính toán (Bỏ qua các giá trị màu bây giờ):
Chúng ta có thể nhóm các nút được mô đun hóa để tính toán độ dốc của sigmoid đầu vào của nó thành một dẫn xuất duy nhất:
Đầu tiên, chúng tôi thực hiện chuyển tiếp để có được đầu ra tại mỗi đơn vị:
w = [2,-3,-3]
x = [-1, -2]
# Compute the forward pass
product = [w[0]*x[0]+w[1]*x[1]+w[2]]
activation = 1 / 1 + math.exp(-product)
Để tính toán độ dốc của kích hoạt, chúng ta có thể sử dụng công thức trên:
grad_product = (1 - activation) * activation
Nơi tôi cảm thấy mình có thể bị lẫn lộn, hoặc, ít nhất là ít trực quan hơn, đang tính toán độ dốc cho x
và w
:
grad_x = [w[0] * activation + w[2] * activation]
grad_w = [x[0] * activation + x[1] * activation + 1 * activation]
Cụ thể hơn, tôi bối rối về lý do tại sao chúng ta áp dụng 1 * activation
khi tính toán độ dốc w.
Nó có thể giúp người đọc phát hiện ra khó khăn lý thuyết của tôi nếu tôi cố gắng lý giải các tính toán của cả độ dốc của x và w ...
Độ dốc của mỗi được đưa ra bởi tương ứng theo quy tắc nhân: if sau đó . Sau đó, bằng cách sử dụng quy tắc chuỗi, chúng tôi nhân các gradient cục bộ này với độ dốc của nút liên tiếp (cho mỗi đường dẫn của) để thu được gradient của nó, đầu ra hàm. Điều này giải thích tính toán cho máy tính.
Độ dốc của được đưa ra theo cách chính xác (nghịch đảo) như đã giải thích ở trên với phần bổ sung 1 * activation
. Tôi tin rằng biểu hiện bổ sung này đến từ? Độ dốc cục bộ của một đơn vị bổ sung luôn là 1 cho tất cả các đầu vào và phép nhân với activation
kết quả của việc nối chuỗi độ dốc với đầu ra của hàm?
Tôi tự tin một phần với sự hiểu biết hiện tại của mình nhưng sẽ đánh giá cao nếu ai đó có thể làm rõ trực giác hiện tại của tôi về các tính toán liên quan đến độ dốc tính toán.