Có thể đào tạo một mạng lưới thần kinh mà không cần backpropagation?


94

Nhiều sách và hướng dẫn về mạng nơ-ron dành nhiều thời gian cho thuật toán backpropagation, về cơ bản là một công cụ để tính toán độ dốc.

Giả sử chúng ta đang xây dựng một mô hình với ~ 10K tham số / trọng lượng. Có thể chạy tối ưu hóa bằng một số thuật toán tối ưu hóa miễn phí gradient?

Tôi nghĩ việc tính toán độ dốc số sẽ quá chậm, nhưng còn các phương pháp khác như Nelder-Mead, mô phỏng luyện kim hay thuật toán di truyền thì sao?

Tất cả các thuật toán sẽ bị cực tiểu cục bộ, tại sao bị ám ảnh bởi độ dốc?



6
@FranckDernoncourt Tôi đã giải thích câu hỏi khác là "tại sao không sử dụng các kỹ thuật tối ưu hóa toàn cầu để huấn luyện các mạng thần kinh?", Trong khi câu hỏi này là "tại sao không sử dụng các trình tối ưu hóa không có dẫn xuất ...".
GeoMatt22

6
Với 3 câu trả lời nâng cao, điều này dường như không quá rộng để tôi có thể trả lời.
gung

5
Vâng, bạn không phải lo lắng nhiều về việc Nelder-Mead bị mắc kẹt ở mức tối thiểu tại địa phương, bởi vì bạn sẽ may mắn nếu nó trở nên hữu ích ở bất cứ đâu.
Mark L. Stone

1
BTW, siêu L-BFGS, tạo ra một cơn lốc. nó có thể tốt, nhưng nó tối nghĩa có lẽ không ai từng thử nó trên các mạng thần kinh. Xem phương trình 2.9 trên p. 12 (bạn cần đọc vài trang trước để hiểu công thức, mặc dù) của maths.dundee.ac.uk/nasc/na-reports/NA149_RF.pdf (không được gọi là siêu BFGS trong bài báo), sau đó sẽ cần đi vào phiên bản "L" (bộ nhớ giới hạn) để trở thành siêu L-BFGS, thay vì siêu BFGS. Phiên bản không phải L được trình bày trong bài báo. Ultra BFGS về cơ bản là một BFGS cải tiến ("que nóng") - có thể nhanh hơn, nhưng có thể hoang dã hơn một chút.
Mark L. Stone

Câu trả lời:


80

Hai thuật toán đầu tiên mà bạn đề cập (Nelder-Mead và mô phỏng luyện kim) thường được coi là khá lỗi thời trong giới tối ưu hóa, vì có nhiều lựa chọn thay thế tốt hơn, đáng tin cậy hơn và ít tốn kém hơn. Các thuật toán di truyền bao gồm một phạm vi rộng, và một số trong số này có thể hợp lý.

Tuy nhiên, trong lớp thuật toán tối ưu hóa không dẫn xuất (DFO) rộng hơn, có nhiều thuật toán tốt hơn đáng kể so với các "kinh điển" này, vì đây là một lĩnh vực nghiên cứu tích cực trong những thập kỷ gần đây. Vì vậy, một số trong những cách tiếp cận mới hơn này có hợp lý cho việc học sâu không?

Một bài báo tương đối gần đây so sánh tình trạng của nghệ thuật là như sau:

Rios, LM, & Sahinidis, NV (2013) Tối ưu hóa không có đạo hàm: đánh giá các thuật toán và so sánh việc triển khai phần mềm. Tạp chí Tối ưu hóa toàn cầu.

Đây là một bài báo hay có nhiều hiểu biết thú vị về các kỹ thuật gần đây. Ví dụ, kết quả cho thấy rõ ràng rằng các trình tối ưu hóa cục bộ tốt nhất đều là "dựa trên mô hình", sử dụng các hình thức lập trình bậc hai tuần tự (SQP) khác nhau.

Tuy nhiên, như đã lưu ý trong bản tóm tắt của họ "Chúng tôi thấy rằng khả năng của tất cả những người giải quyết này có được các giải pháp tốt sẽ giảm đi khi tăng quy mô vấn đề." Để đưa ra ý tưởng về các con số, đối với tất cả các vấn đề, người giải đã đưa ra ngân sách 2500 đánh giá hàm và kích thước bài toán tối đa là ~ 300 tham số để tối ưu hóa. Ngoài các tham số O [10], rất ít trong số các trình tối ưu hóa này hoạt động rất tốt và ngay cả những thông số tốt nhất cũng cho thấy sự suy giảm đáng chú ý về hiệu suất khi kích thước sự cố được tăng lên.

Vì vậy, đối với các vấn đề rất cao, thuật toán DFO không thể cạnh tranh với các thuật toán dựa trên đạo hàm. Để đưa ra một số viễn cảnh, tối ưu hóa dựa trên cơ sở PDE (phương trình vi phân từng phần) là một lĩnh vực khác có các vấn đề rất cao (ví dụ: một số tham số cho mỗi ô của lưới phần tử hữu hạn 3D lớn). Trong lĩnh vực này, " phương thức kết hợp " là một trong những phương thức được sử dụng nhiều nhất. Đây cũng là một trình tối ưu hóa giảm dần dựa trên sự khác biệt tự động của mã mô hình chuyển tiếp.

Gần nhất với trình tối ưu hóa DFO chiều cao có lẽ là Bộ lọc Bộ đồng bộ Kalman , được sử dụng để đồng hóa dữ liệu thành các mô phỏng PDE phức tạp, ví dụ như mô hình thời tiết. Thật thú vị, đây thực chất là một cách tiếp cận SQP, nhưng với cách giải thích Bayes-Gaussian (vì vậy mô hình bậc hai là xác định dương, tức là không có điểm yên ngựa). Nhưng tôi không nghĩ rằng số lượng tham số hoặc quan sát trong các ứng dụng này tương đương với những gì được thấy trong học tập sâu.

Lưu ý bên lề (cực tiểu địa phương): Từ nhỏ tôi đã đọc về học sâu, tôi nghĩ rằng sự đồng thuận là điểm yên ngựa chứ không phải là cực tiểu cục bộ, vấn đề lớn nhất đối với không gian tham số NN chiều cao.

Ví dụ, đánh giá gần đây trong Tự nhiên cho biết "Các kết quả lý thuyết và thực nghiệm gần đây cho thấy mạnh mẽ rằng cực tiểu địa phương nói chung không phải là vấn đề nghiêm trọng. Thay vào đó, cảnh quan được đóng gói với số lượng lớn các điểm yên ngựa kết hợp trong đó độ dốc bằng 0 và bề mặt cong lên trong hầu hết các kích thước và cong xuống trong phần còn lại. "

Một mối quan tâm liên quan là về tối ưu hóa cục bộ và toàn cầu (ví dụ câu hỏi này được chỉ ra trong các ý kiến). Mặc dù tôi không học sâu, nhưng theo kinh nghiệm của tôi, việc vượt quá chắc chắn là một mối quan tâm hợp lệ. Theo tôi, các phương pháp tối ưu hóa toàn cầu phù hợp nhất cho các vấn đề thiết kế kỹ thuật không phụ thuộc nhiều vào dữ liệu "tự nhiên". Trong vấn đề dữ liệu đồng hóa, bất kỳ cực tiểu toàn cầu hiện nay có thể dễ dàng thay đổi khi bổ sung dữ liệu mới (caveat: Kinh nghiệm của tôi tập trung vào các vấn đề khoa học địa chất, nơi dữ liệu nói chung là "thưa thớt" so với khả năng mô hình).

Một viễn cảnh thú vị có lẽ là

O. Bousquet & L. Bottou (2008) Sự đánh đổi của việc học tập quy mô lớn. NIPS.

trong đó cung cấp các lập luận bán lý thuyết về lý do tại sao và khi nào tối ưu hóa gần đúng có thể thích hợp hơn trong thực tế.

Lưu ý cuối (tối ưu hóa meta): Mặc dù các kỹ thuật dựa trên độ dốc dường như chiếm ưu thế đối với các mạng đào tạo, có thể có một vai trò cho DFO trong các nhiệm vụ tối ưu hóa meta liên quan.

Một ví dụ sẽ là điều chỉnh siêu tham số. (Thật thú vị, các trình tối ưu hóa DFO dựa trên mô hình thành công từ Rios & Sahinidis có thể được xem như là giải quyết cơ bản một chuỗi các vấn đề thiết kế thí nghiệm / phản ứng bề mặt .)

Một ví dụ khác có thể là thiết kế kiến ​​trúc, về mặt thiết lập các lớp (ví dụ: số, loại, trình tự, nút / lớp). Trong bối cảnh tối ưu hóa rời rạc này, các thuật toán kiểu di truyền có thể phù hợp hơn. Lưu ý rằng ở đây tôi đang nghĩ đến trường hợp kết nối được xác định ngầm bởi các yếu tố này (ví dụ: các lớp được kết nối đầy đủ, các lớp chập, v.v.). Nói cách khác, kết nối là meta được tối ưu hóa một cách rõ ràng. (Sức mạnh kết nối sẽ thuộc đào tạo, nơi ví dụ như thưa thớt có thể được thúc đẩy bởi quy tắc và / hoặc kích hoạt ReLU ... những lựa chọn có thể là meta-tối ưu hóa tuy nhiên.)O[N2]notL1


1
"Đánh giá" mà bạn trích dẫn là từ những người đề xuất chính của mạng lưới thần kinh; Tôi sẽ đặt câu hỏi về tuyên bố về cực tiểu địa phương - một chỉ trích lý thuyết nổi tiếng về NN là chính xác rằng bất kỳ mô hình phức tạp nào cũng không thể được tối ưu hóa bằng cách giảm độ dốc vì nó sẽ bị kẹt trong cực tiểu cục bộ. Không rõ liệu chỉ có những thành công của nns có thể được giải quyết bằng phông nền và bạn không nghe về những thất bại.
seanv507

2
@ GeoMatt22 Phân kỳ tương phản là một xấp xỉ đặc biệt với độ dốc của một lớp mô hình đặc biệt, mà RBM nằm trong. Cần lưu ý rằng RBM là các mô hình xác suất bao hàm một loại phân phối nhất định, trong đó độ dốc của ước tính khả năng tối đa là không thể chấp nhận được. Mạng lưới thần kinh là các mô hình tính toán, có thể được sử dụng mà không có bất kỳ điểm bắt đầu xác suất nào, ví dụ như thông qua tối ưu hóa mất bản lề. Tóm lại, CD không phải là một phương tiện chung để tối ưu hóa mạng lưới thần kinh.
bayerj

2
@ seanv507 Mặc dù các đề xuất đã được đưa ra bởi những người đề xướng lớn, có những bài báo được đánh giá ngang hàng từ các hội nghị hàng đầu của máy học, đánh giá những tuyên bố đó một cách chặt chẽ, ví dụ arxiv.org/abs/1406.2572 . Cho đến nay, tuyên bố đó được chấp nhận rộng rãi trong cộng đồng ML rộng lớn hơn, chủ yếu là do các lý lẽ lý thuyết vượt trội và bằng chứng thực nghiệm. Tôi không nghĩ rằng một đối số vượn quảng cáo là đầy đủ ở đây.
bayerj

1
Tôi đồng ý rằng lý thuyết DL là thiếu. Tuy nhiên, bạn phải thừa nhận rằng các bài viết như thế này đang thúc đẩy điều đó. Nếu bạn cảm thấy bài viết nêu rõ kết quả sai và kết luận (chẳng hạn như "cực tiểu cục bộ ít gây ra vấn đề hơn điểm yên ngựa") là không hợp lệ, bạn phải làm tốt hơn là nêu rõ một cuộc tấn công vượn nhân hình quảng cáo khác, lần này nhắm vào Cộng đồng ML nói chung.
bayerj

1
Công việc gần đây cho thấy với việc khởi tạo ngẫu nhiên, độ dốc giảm dần hội tụ đến mức tối thiểu cục bộ (chứ không phải là điểm yên ngựa). Báo cáo tại đây: arxiv.org/abs/1602.04915 và bài đăng blog tại đây: offconvex.org/2016/03/24/saddles-again Mặt khác, có một giả thuyết gần đây (ít) rằng trong các mạng lưới thần kinh lớn, cực tiểu địa phương là về mức độ tốt như toàn cầu, được thảo luận tại đây: stats.stackexchange.com/questions/203288/ mẹo
DavidR

12

Có tất cả các loại thuật toán tìm kiếm cục bộ mà bạn có thể sử dụng, backpropagation vừa được chứng minh là hiệu quả nhất cho các tác vụ phức tạp hơn nói chung ; có những trường hợp mà các tìm kiếm địa phương khác là tốt hơn.

Bạn có thể sử dụng leo đồi bắt đầu ngẫu nhiên trên mạng thần kinh để nhanh chóng tìm ra giải pháp ok, nhưng sẽ không khả thi khi tìm giải pháp gần tối ưu.

Wikipedia (tôi biết, không phải là nguồn lớn nhất, nhưng vẫn) nói

Đối với các vấn đề trong đó việc tìm kiếm tối ưu toàn cầu chính xác ít quan trọng hơn tìm kiếm tối ưu cục bộ có thể chấp nhận được trong một khoảng thời gian cố định, việc ủ mô phỏng có thể thích hợp hơn với các giải pháp thay thế như giảm độ dốc.

nguồn

Đối với các thuật toán di truyền, tôi sẽ thấy Backpropagation vs Thuật toán di truyền cho đào tạo Mạng thần kinh

Trường hợp chính tôi sẽ làm cho backprop là nó được sử dụng rất rộng rãi và đã có rất nhiều cải tiến lớn . Những hình ảnh này thực sự cho thấy một số tiến bộ đáng kinh ngạc đối với việc truyền bá vanilla.

Tôi sẽ không nghĩ backprop là một thuật toán, mà là một lớp thuật toán.

Tôi cũng muốn thêm rằng đối với các mạng thần kinh, các tham số 10k là các hạt nhỏ. Một tìm kiếm khác sẽ hoạt động rất tốt, nhưng trên một mạng lưới sâu với hàng triệu thông số, điều đó khó thực tế.


12

Vâng, các mạng lưới thần kinh ban đầu, trước cuộc cách mạng backpropagation vào những năm 70, đã được "đào tạo" bằng tay. :)

Điều đó đang được nói:

Có một "trường học" học máy gọi là máy học cực đoan không sử dụng phương pháp truyền ngược.

Những gì họ làm là tạo ra một mạng lưới thần kinh với nhiều, rất nhiều nút - với trọng số ngẫu nhiên - và sau đó huấn luyện lớp cuối cùng bằng cách sử dụng các bình phương tối thiểu (như hồi quy tuyến tính). Sau đó, họ cắt tỉa mạng lưới thần kinh sau đó hoặc họ áp dụng chính quy hóa trong bước cuối cùng (như lasso) để tránh bị thừa. Tôi đã thấy điều này được áp dụng cho các mạng thần kinh chỉ với một lớp ẩn duy nhất. Không có đào tạo, vì vậy nó siêu nhanh. Tôi đã làm một số thử nghiệm và thật ngạc nhiên, các mạng lưới thần kinh "được đào tạo" theo cách này khá chính xác.

Hầu hết mọi người, ít nhất là những người tôi làm việc cùng, đối xử với "trường học" máy móc này với sự dè bỉu và họ là một nhóm bị ruồng bỏ với các hội nghị riêng của họ, v.v., nhưng tôi thực sự nghĩ rằng đó là một cách khéo léo.


Một điểm khác: trong quá trình backpropagation, có những lựa chọn thay thế hiếm khi được đề cập như backproagation đàn hồi , được thực hiện trong R trong neuralnetgói, chỉ sử dụng cường độ của đạo hàm. Thuật toán được tạo từ các điều kiện if-other thay vì đại số tuyến tính. Chúng có một số lợi thế so với truyền ngược, truyền thống, cụ thể là bạn không cần bình thường hóa dữ liệu của mình vì chúng không gặp phải vấn đề về độ dốc biến mất .


Nếu bạn thực hiện (hầu hết hoặc tất cả) phần dành cho đoạn 4 của bạn, và sau đó sử dụng kết quả làm điểm bắt đầu để tối ưu hóa dựa trên đạo hàm để "tinh chỉnh" nó.
Mark L. Stone

1
@ MarkL.Stone Tôi không biết bất kỳ ai đã thực hiện backpropagation bằng cách áp dụng hồi quy tuyến tính cho lớp sau. Nghe có vẻ thú vị mặc dù.
Ricardo Cruz

1
Theo tôi biết, tranh cãi xung quanh ELM chủ yếu là do khía cạnh đạo đức, không phải do thực hiện. Schmidt et al đã chạm vào chủ đề vào năm 1992, với Mạng Feedforward của họ với các trọng số ngẫu nhiên.
Firebug

3

Bạn có thể sử dụng khá nhiều thuật toán tối ưu hóa số để tối ưu hóa trọng số của mạng thần kinh. Bạn cũng có thể sử dụng các thuật toán tối ưu hóa liên tục-rời rạc hỗn hợp để tối ưu hóa không chỉ trọng lượng, mà cả cách bố trí (số lớp, số lượng tế bào thần kinh trong mỗi lớp, thậm chí loại tế bào thần kinh). Tuy nhiên, không có thuật toán tối ưu hóa nào không bị "lời nguyền về chiều" và tối ưu hóa cục bộ theo một cách nào đó


3

Bạn cũng có thể sử dụng một mạng khác để tư vấn cách cập nhật các tham số.

Có các Giao diện thần kinh tách rời (DNI) từ Google Deepmind. Thay vì sử dụng backpropagation, nó sử dụng một tập hợp các mạng thần kinh khác để dự đoán cách cập nhật các tham số, cho phép cập nhật tham số song song và không đồng bộ.

Bài viết cho thấy DNI tăng tốc độ đào tạo và năng lực mô hình của RNN và cho kết quả tương đương cho cả RNN và FFNN trên các nhiệm vụ khác nhau.


Bài viết cũng liệt kê và so sánh nhiều phương pháp không truyền bá khác

Mô hình độ dốc tổng hợp của chúng tôi tương tự như hàm giá trị được sử dụng để tăng độ dốc [2] hoặc hàm giá trị được sử dụng cho bootstrapping. Hầu hết các công việc khác nhằm loại bỏ backpropagation đều làm như vậy với mục tiêu thực hiện chuyển nhượng tín dụng hợp lý về mặt sinh học, nhưng điều này không loại bỏ việc cập nhật khóa giữa các lớp. Ví dụ, lan truyền mục tiêu [3, 15] loại bỏ sự phụ thuộc vào việc chuyển độ dốc giữa các lớp, thay vào đó, tạo ra các kích hoạt mục tiêu cần được trang bị. Tuy nhiên, các mục tiêu này vẫn phải được tạo ra một cách tuần tự, truyền ngược qua mạng và do đó các lớp vẫn được cập nhật và khóa ngược. Các thuật toán khác loại bỏ khóa ngược bằng cách cho phép mất hoặc phần thưởng được phát trực tiếp đến từng lớp - ví dụ: REINFORCE [21] (coi tất cả các kích hoạt là hành động),1và Mạng lưới Coagent Gradient chính sách [20] - nhưng vẫn bị khóa cập nhật vì chúng yêu cầu phần thưởng được tạo bởi một đầu ra (hoặc một nhà phê bình toàn cầu). Mặc dù Học tập lặp lại theo thời gian thực [22] hoặc các xấp xỉ như [17] có vẻ là một cách đầy hứa hẹn để loại bỏ khóa cập nhật, các phương pháp này yêu cầu duy trì độ dốc đầy đủ (hoặc gần đúng) của trạng thái hiện tại đối với các tham số. Điều này vốn không có khả năng mở rộng và cũng đòi hỏi người tối ưu hóa phải có kiến ​​thức toàn cầu về trạng thái mạng. Ngược lại, bằng cách đóng khung sự tương tác giữa các lớp như một vấn đề giao tiếp cục bộ với DNI, chúng tôi loại bỏ nhu cầu về kiến ​​thức toàn cầu về hệ thống học tập. Các công việc khác như [4, 19] cho phép đào tạo các lớp song song mà không cần truyền ngược,


2

Miễn là đây là một câu hỏi của cộng đồng, tôi nghĩ rằng tôi sẽ thêm một câu trả lời khác. "Back Propagation" chỉ đơn giản là thuật toán giảm độ dốc. Nó liên quan đến việc chỉ sử dụng đạo hàm đầu tiên của hàm mà người ta đang cố gắng tìm cực tiểu hoặc cực đại cục bộ. Có một phương pháp khác gọi là phương pháp của Newton hoặc Newton-Raphson liên quan đến việc tính toán Hessian và do đó sử dụng các dẫn xuất thứ hai. Nó có thể thành công trong các trường hợp trong đó giảm dần độ dốc. Tôi được những người khác hiểu biết nhiều hơn tôi, và vâng, đây là một sự hấp dẫn của chính quyền, rằng nó không được sử dụng trong các mạng lưới thần kinh vì tính toán tất cả các dẫn xuất thứ hai là quá tốn kém về mặt tính toán.

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.