Tại sao chúng ta không học các thông số siêu?


11

Tôi đã thực hiện một bài báo khá phổ biến " GIẢI THÍCH VÀ KIỂM TRA TÀI LIỆU THAM KHẢO " và trong bài báo, nó huấn luyện một chức năng mục tiêu đối nghịch

J '' (θ) = αJ (θ) + (1 - α) J '(θ).

Nó coi α là một siêu tham số. α có thể là 0,1, 0,2, 0,3, v.v.

Bất kể tài liệu cụ thể này là gì, tôi tự hỏi, tại sao chúng ta không đưa α vào các tham số của mình và tìm hiểu về α tốt nhất?

Bất lợi để làm như vậy là gì? Có phải vì quá nhiều? Nếu vậy, tại sao việc học chỉ cần thêm 1 tham số gây ra quá nhiều?


Chà, nếu siêu tham số là một tham số của hàm chi phí (chứ không phải của quá trình tạo dữ liệu DGP) thì không rõ ràng rằng chính dữ liệu đó có chứa thông tin về nó hay không.
kjetil b halvorsen

1
Trong nhiều trường hợp, chúng tôi sử dụng dữ liệu để chọn α bằng cách xem hiệu suất của mô hình trên bộ xác thực. (nghĩa là một proxy cho lỗi tổng quát hóa.)
Vimal

Câu trả lời:


8

"Tại sao chúng ta không học các thông số siêu?"

Đó là một câu hỏi tuyệt vời! Tôi sẽ cố gắng cung cấp một câu trả lời tổng quát hơn. Các TL; DR Câu trả lời là bạn chắc chắn có thể học siêu tham số, chỉ cần không phải từ cùng một dữ liệu. Đọc để trả lời chi tiết hơn một chút.


Một siêu tham số thường tương ứng với một cài đặt của thuật toán học, thay vì một trong các tham số của nó. Ví dụ, trong bối cảnh học tập sâu, điều này được minh họa bằng sự khác biệt giữa một số thứ như số lượng tế bào thần kinh trong một lớp cụ thể (một siêu tham số) và trọng lượng của một cạnh cụ thể (một tham số thông thường, có thể học được).

Tại sao có sự khác biệt ở nơi đầu tiên? Trường hợp điển hình để làm cho một tham số trở thành một siêu tham số là nó không phù hợp để tìm hiểu tham số đó từ tập huấn luyện. Ví dụ, vì luôn dễ dàng giảm lỗi đào tạo bằng cách thêm nhiều nơ-ron, làm cho số lượng nơ-ron trong một lớp trở thành một tham số thông thường sẽ luôn khuyến khích các mạng rất lớn, đó là điều chúng ta biết không phải lúc nào cũng mong muốn (vì quá mức).

Đối với câu hỏi của bạn, không phải là chúng ta không học siêu tham số. Đặt các thách thức tính toán sang một bên trong một phút, rất có thể tìm hiểu các giá trị tốt cho các siêu đường kính, và thậm chí có những trường hợp điều này là bắt buộc để có hiệu suất tốt; tất cả các cuộc thảo luận trong đoạn đầu tiên cho thấy theo định nghĩa, bạn không thể sử dụng cùng một dữ liệu cho nhiệm vụ này .

Sử dụng một phân chia dữ liệu khác (do đó tạo ra ba phần rời rạc: tập huấn luyện, tập xác thực và tập kiểm thử, những gì bạn có thể làm trong lý thuyết là quy trình tối ưu hóa lồng nhau sau : trong vòng ngoài, bạn cố gắng tìm các giá trị cho các siêu đường kính giảm thiểu tổn thất xác nhận và trong vòng lặp bên trong, bạn cố gắng tìm các giá trị cho các tham số thông thường giúp giảm thiểu tổn thất đào tạo .

Về mặt lý thuyết, điều này có thể rất tốn kém: mỗi bước của vòng lặp bên ngoài đòi hỏi phải giải quyết (cho đến khi hoàn thành hoặc ở gần đó) vòng lặp bên trong, thường nặng về mặt tính toán. Điều phức tạp hơn nữa là vấn đề bên ngoài không dễ dàng: đối với một, không gian tìm kiếm là rất lớn.

Có nhiều cách tiếp cận để khắc phục điều này bằng cách đơn giản hóa thiết lập ở trên (tìm kiếm lưới, tìm kiếm ngẫu nhiên hoặc tối ưu hóa siêu tham số dựa trên mô hình), nhưng giải thích những điều này vượt quá phạm vi câu hỏi của bạn. Như bài viết mà bạn đã tham khảo cũng chứng minh, thực tế rằng đây là một thủ tục tốn kém thường có nghĩa là các nhà nghiên cứu chỉ đơn giản bỏ qua nó hoặc thử rất ít cài đặt thủ công, cuối cùng giải quyết vấn đề tốt nhất (một lần nữa, theo bộ xác nhận). Đối với câu hỏi ban đầu của bạn, tôi lập luận rằng - trong khi rất đơn giản và giả tạo - đây vẫn là một hình thức "học tập".


Chào, cảm ơn cho câu trả lời của bạn. Điều gì xảy ra nếu tôi sử dụng cùng một dữ liệu ??
Aerin

7

Các siêu đường kính như một trong bài báo thường được sử dụng để cân bằng nhiều thuật ngữ trong hàm mất. Nếu bạn làm cho chúng có thể học được, quá trình tối ưu hóa sẽ chỉ đơn giản là học cách phân bổ tất cả trọng số cho các thuật ngữ dễ tối ưu hóa hơn với chi phí của các thuật ngữ khó tối ưu hóa hơn, đánh bại điểm cân bằng các thuật ngữ.

Một cách khác để thấy rằng chức năng mất là thay thế cho một mục tiêu thực tế khó xác định hoặc tối ưu hóa, chẳng hạn như "tạo hình ảnh đầu ra phải trông thật" hoặc "nên chống lại các ví dụ đối nghịch". Trong trường hợp đó, mục tiêu thực sự không phải là "tìm siêu âm để giảm thiểu tổn thất thay thế", mà là "tìm siêu âm để khi chúng ta chạy SGD trên các tham số còn lại để tối ưu hóa thay thế, chúng ta sẽ có hiệu suất tốt trên đúng mục tiêu".


4

Vì bạn đã hỏi "bất kể giấy tờ", tôi muốn lấy một ví dụ đơn giản hơn: Hồi quy tuyến tính hình phạt (Ridge / Lasso).

J~

αα

  1. Hàm mục tiêu để tối ưu hóa siêu tham số là một biểu thức là một proxy cho lỗi tổng quát hóa. Biểu thức này khó có thể viết thành một hàm phân tích đơn giản có thể được phân biệt, nhưng nó có thể được đánh giá dễ dàng tại một số điểm bằng cách giải quyết vấn đề tối ưu hóa cơ bản.

  2. Đánh giá hàm (F2) yêu cầu bạn giải quyết vấn đề tối ưu hóa, có thể tốn kém. Vì vậy, ngay cả khi bạn có thể ước chừng độ dốc cho F2 để thực hiện giảm độ dốc, nó sẽ rất tốn kém và chậm. Trong những trường hợp như vậy, thực hiện tìm kiếm dạng lưới thường là "đủ tốt".

λ

Hiệu suất mô hình Lasso

(Hình ảnh được lấy từ bài đăng này: https://stats.stackexchange.com/a/26607/54725 )

Một số tài liệu tham khảo:


Bạn có đề cập cụ thể đến thuật ngữ thứ 2 trong bài báo J (θ, x + esign (xJ (θ, x, y)) là F2 không?
Aerin

JJ~ααα

Vì vậy, những gì trong bài báo mà bạn đang đề cập là F1 và F2?
Aerin

J~

1

αθ

αJ"(θ)= =ααJ(θ)+α(1-α)J'(θ)= =J(θ)-J'(θ)= =0
J(θ)= =J'(θ)

Khi siêu tham số này được tối ưu hóa, thì nó sẽ khiến cả J và J 'trở thành cùng một hàm, tức là các trọng số bằng nhau. Bạn sẽ kết thúc với một giải pháp tầm thường.

yL= =XLβL
mộtL= =σ(yL)
XL+1= =mộtL
βLβ của hàm mục tiêu, bạn nhận được các điểm dữ liệu nhập kết quả theo các cách không rõ ràng trong ma trận, Hessian, các sản phẩm chéo, v.v.

Tuy nhiên, nếu bạn cố gắng ước tính các điều kiện đặt hàng đầu tiên trên các siêu đường kính, bạn sẽ không nhận được hiệu ứng này. Các dẫn xuất của siêu đường kính thường vận hành toàn bộ khối mô hình của bạn, mà không xáo trộn các bộ phận của nó như các dẫn xuất trên các tham số. Đó là lý do tại sao tối ưu hóa siêu âm thường dẫn đến các giải pháp tầm thường như giải pháp tôi đưa cho bạn cho bài báo cụ thể. Tối ưu hóa siêu đường kính không làm phiền bộ dữ liệu của bạn và khiến nó đủ khó chịu để tạo ra thứ gì đó thú vị.

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.