Tại sao sử dụng độ dốc giảm dần với các mạng thần kinh?


22
  1. Khi đào tạo một mạng lưới thần kinh bằng thuật toán lan truyền ngược, phương pháp giảm độ dốc được sử dụng để xác định các cập nhật trọng lượng. Câu hỏi của tôi là: Thay vì sử dụng phương pháp giảm độ dốc để từ từ xác định điểm tối thiểu theo trọng số nhất định, tại sao chúng ta không đặt đạo hàm , và tìm giá trị của trọng lượng mà giảm thiểu lỗi?d(Error)dw=0w

  2. Ngoài ra, tại sao chúng tôi chắc chắn rằng chức năng lỗi trong lan truyền ngược sẽ là tối thiểu? Thay vào đó, chức năng lỗi có thể là tối đa không? Có một thuộc tính cụ thể nào của các hàm băm đảm bảo rằng một mạng có bất kỳ số nút ẩn nào có trọng số tùy ý và vectơ đầu vào sẽ luôn đưa ra một hàm lỗi có một số cực tiểu không?


2
Tất cả các tiêu đề mũ không phải là tiêu chuẩn ở đây (xin vui lòng nhìn xung quanh bạn) và ở đây và những nơi khác không được chấp nhận rộng rãi như là KHÔNG mong muốn.
Nick Cox

@Nick Cox lời xin lỗi của tôi
Minaj

Thật thú vị khi thấy bất cứ khi nào các biến ẩn hoặc tiềm ẩn được sử dụng trong các mô hình Machine Learning, tối ưu hóa (gần như?) Luôn luôn phi tuyến tính, không lồi và khó tối ưu hóa hơn.
Vladislavs Dovgalecs

Câu trả lời:


30
  1. Bởi vì chúng ta không thể. Bề mặt tối ưu hóa là một hàm của trọng số là phi tuyến và không có giải pháp dạng đóng nào tồn tại cho .S(w)d S ( w )wdS(w)dw=0

  2. Gradient giảm dần, theo định nghĩa, giảm dần. Nếu bạn đạt đến điểm dừng sau khi giảm dần, nó phải là điểm tối thiểu (cục bộ) hoặc điểm yên ngựa, nhưng không bao giờ là điểm tối đa cục bộ.


Nếu chức năng là lõm, độ dốc tốt sẽ giảm dần vì cách duy nhất để đi xuống là xuống. Bạn đang nói rằng bề mặt lỗi được đảm bảo để không bị lõm? Ngoài ra, tôi không rõ lý do tại sao đạo hàm của hàm lỗi sẽ không có giải pháp dạng đóng. Không phải lỗi của mẫu Trong đó K là một hằng số? Hàm đó trông khá khác biệt và biểu thức kết quả có thể phân tích được. Xin hãy giúp tôi làm rõ vì có một cái gì đó tôi rõ ràng không nhìn thấy. K11+eΣwx
Minaj

8
Điều này không thể xảy ra, bởi vì tất cả các hàm lỗi thường được sử dụng có tối thiểu lý thuyết nghiêm ngặt là 0. Lỗi không bao giờ có thể trở thành âm.
Marc Claesen

2
Một cách giải thích khác có thể có của 1. là "Đó chính xác là những gì chúng ta làm, phương trình được giải quyết bằng cách sử dụng độ dốc."
Matthew Drury

1
rõ ràng có một dạng đóng cho gradient (đó là cách chúng ta thực hiện giảm độ dốc hiệu quả). Vấn đề là không có gốc dạng đóng của gradient = 0
seanv507

@ seanv507 đó là những gì tôi dự định nói, xin lỗi vì sự nhầm lẫn. Chỉnh sửa bài viết của tôi.
Marc Claesen

10

Về câu trả lời của Marc Claesen, tôi tin rằng việc giảm độ dốc có thể dừng ở mức tối đa cục bộ trong các tình huống khi bạn khởi tạo đến mức tối đa cục bộ hoặc bạn tình cờ kết thúc ở đó do không may hoặc tham số tỷ lệ sai. Tối đa cục bộ sẽ có độ dốc bằng không và thuật toán sẽ nghĩ rằng nó đã hội tụ. Đây là lý do tại sao tôi thường chạy nhiều lần lặp từ các điểm bắt đầu khác nhau và theo dõi các giá trị trên đường đi.


1
Tôi đã chỉnh sửa bình luận mở đầu của bạn, vì có vẻ như bạn đang thu hút một số người ủng hộ! Chào mừng đến với trang web!
Matthew Drury

Cảm ơn! Tôi không chắc nó nên là một bình luận hay một câu trả lời và không muốn câu trả lời đầu tiên của tôi bị hạ thấp xuống lãng quên chỉ dựa vào đó.
Jared Becksfort

6

Trong các phương pháp kiểu Newton, ở mỗi bước, người ta sẽ giải d(error)dw=0

  • Người ta cần phải đối phó với các dẫn xuất thứ hai (Hessian, cụ thể là các sản phẩm vector Hessian).
  • "Bước giải quyết" rất tốn kém về mặt tính toán: trong thời gian cần thiết để thực hiện một giải pháp, người ta có thể thực hiện nhiều lần lặp lại độ dốc.

Nếu một người sử dụng phương pháp Krylov cho giải quyết Hessian và người ta không sử dụng một điều kiện tiên quyết tốt cho Hessian, thì chi phí sẽ cân bằng gần hết - lặp đi lặp lại Newton mất nhiều thời gian hơn nhưng theo cách đó tổng thời gian là khoảng giống hoặc chậm hơn độ dốc gốc. Mặt khác, nếu một người có tiền đề Hessian tốt thì phương pháp của Newton thắng thời gian lớn.

Điều đó nói rằng, các phương pháp Newton-Krylov trong vùng tin cậy là tiêu chuẩn vàng trong tối ưu hóa quy mô lớn hiện đại và tôi chỉ mong đợi việc sử dụng chúng sẽ tăng lên trong mạng lưới thần kinh trong những năm tới vì mọi người muốn giải quyết các vấn đề lớn hơn và lớn hơn. (và cũng như nhiều người hơn trong tối ưu hóa số có hứng thú với học máy)


Tôi nghĩ rằng bạn đang nhầm lẫn. Mọi người đã sử dụng nnets từ những năm 90 và họ nhận thức rõ về các phương pháp thứ hai. vấn đề là chính xác là nnets thành công khi có nhiều dữ liệu, sau đó hỗ trợ rất nhiều tham số trong trường hợp hạn chế về thời gian và bộ nhớ của các phương thức bậc hai là không hiệu quả. xem ví dụ: leon.bottou.org/publications/pdf/compstat-2010.pdf
seanv507

@ seanv507 Không thực sự. Việc thảo luận về các phương pháp bậc hai trong bài báo đó có rất nhiều sai sót, trong đó họ cho rằng người ta phải xây dựng và đảo ngược toàn bộ Hessian dày đặc để sử dụng các phương pháp bậc hai. Đây đơn giản không phải là cách nó được thực hiện trong tối ưu hóa số quy mô lớn hiện đại. Trong các phương pháp bậc hai hiện đại, người ta tính toán hành động của Hessian trên các vectơ bằng cách giải các bài toán điều chỉnh và sử dụng chúng trong một bộ giải (Krylov). Nói chung, lần lặp bên trong đầu tiên trả về hướng gradient và các lần lặp tiếp theo sẽ cải thiện nó.
Nick Alger

Mặc dù tôi không phải là một fan hâm mộ cụ thể của bài báo đó, tôi không nghĩ đó là sự thật. Trước đây ông đã thảo luận / thực hiện đường chéo và giảm xấp xỉ thứ hạng của hessian. Và những gì về phép nhân chính xác năm 1994 của Pearlmutter bởi hessian?
seanv507

Đúng. Khi bạn có các ứng dụng Hessian nhanh (cho dù thông qua Pearlmutter hoặc những gì có bạn), bạn có thể thực hiện giải quyết Hessian không chính xác bằng các phương pháp Krylov như gradient liên hợp. Bằng cách này, người ta chuyển các khó khăn điều hòa một cách hiệu quả khỏi trình tối ưu hóa lặp phi tuyến, vào bộ giải đại số tuyến tính trong đó người ta có rất nhiều máy móc và kỹ thuật tiền điều kiện có sẵn để giải quyết vấn đề. Một tài liệu tham khảo tốt là phần về khu vực tin cậy CG-Steihaug trong "Tối ưu hóa số" cổ điển của Nocedal và Wright.
Nick Alger

Quan điểm của tôi là sự nhân lên của độ dốc hessian và liên hợp đã được biết đến trong cộng đồng nnets kể từ năm 1994. Vì vậy, tôi tin rằng có một lý do tại sao SGD được sử dụng thay vì phương pháp thứ hai (và tôi chắc chắn muốn giải quyết rõ ràng lý do tại sao điều này là )
seanv507
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.