Làm thế nào để kích thước lô ảnh hưởng đến sự hội tụ của SGD và tại sao?


18

Tôi đã thấy kết luận tương tự từ nhiều cuộc thảo luận, khi kích thước xe buýt nhỏ càng lớn, sự hội tụ của SGD thực sự trở nên khó khăn / tệ hơn, ví dụ như bài báo nàycâu trả lời này . Ngoài ra, tôi đã nghe nói về những người sử dụng các thủ thuật như tỷ lệ học tập nhỏ hoặc kích cỡ lô trong giai đoạn đầu để giải quyết khó khăn này với kích thước lô lớn.

Tuy nhiên, dường như phản tác dụng khi tổn thất trung bình của xe buýt nhỏ có thể được coi là gần đúng với tổn thất dự kiến ​​đối với phân phối dữ liệu, kích thước lô càng lớn thì càng chính xác. Tại sao trong thực tế không phải là trường hợp?

1|X|ΣxXtôi(x,w)Ex~pdmộttmột[tôi(x,w)]


Dưới đây là một số suy nghĩ (có thể sai) của tôi cố gắng giải thích.

Các tham số của mô hình phụ thuộc rất nhiều vào nhau, khi lô quá lớn sẽ ảnh hưởng đến quá nhiều tham số cùng một lúc, sao cho các tham số khó đạt được phụ thuộc vốn có ổn định? (giống như vấn đề dịch chuyển đồng biến nội bộ được đề cập trong bài viết chuẩn hóa hàng loạt )

Hoặc khi gần như tất cả các tham số chịu trách nhiệm trong mỗi lần lặp, chúng sẽ có xu hướng tìm hiểu các mẫu ẩn dự phòng do đó làm giảm khả năng của mô hình? (Ý tôi là nói về các vấn đề phân loại chữ số, một số mẫu phải chịu trách nhiệm cho các chấm, một số cho các cạnh, nhưng khi điều này xảy ra, mọi mẫu đều cố gắng chịu trách nhiệm cho tất cả các hình dạng).

Hoặc là bởi vì khi kích thước lô gần với quy mô của tập huấn luyện, các xe buýt nhỏ không còn có thể được xem là iid từ phân phối dữ liệu, vì sẽ có xác suất lớn cho các xe buýt nhỏ tương quan?


Cập nhật
Như đã chỉ ra trong câu trả lời của Benoit Sanchez, một lý do quan trọng là các xe buýt nhỏ đòi hỏi nhiều tính toán hơn để hoàn thành một bản cập nhật và hầu hết các phân tích đều sử dụng số lượng kỷ nguyên đào tạo để so sánh.

Tuy nhiên , bài báo này (Wilson và Martinez, 2003) cho thấy một cỡ lô lớn hơn vẫn hơi bất lợi thậm chí được cung cấp đủ số lượng kỷ nguyên đào tạo. Đó có phải là trường hợp nói chung? nhập mô tả hình ảnh ở đây

Câu trả lời:


12

N

  • 27N
  • 8343×N200000,47N

Bạn có thể thấy rằng với các lô lớn hơn, bạn cần cập nhật ít hơn nhiều cho cùng một độ chính xác.

Nhưng nó không thể được so sánh vì nó không xử lý cùng một lượng dữ liệu. Tôi đang trích dẫn bài viết đầu tiên:

kBj1jkBj

Ở đây là về việc xử lý cùng một lượng dữ liệu và trong khi có chi phí nhỏ cho nhiều lô nhỏ, điều này cần các tài nguyên xử lý tương đương.

Có một số cách để hiểu tại sao một số cập nhật tốt hơn (với cùng một lượng dữ liệu được đọc). Đó là ý tưởng chính của việc giảm độ dốc ngẫu nhiên so với giảm dần độ dốc. Thay vì đọc tất cả mọi thứ và sau đó tự sửa lỗi cho chính mình, bạn hãy tự sửa lỗi trên đường đi, làm cho lần đọc tiếp theo trở nên hữu ích hơn vì bạn tự sửa mình từ một phỏng đoán tốt hơn. Về mặt hình học, một số cập nhật tốt hơn bởi vì bạn đang vẽ một số phân đoạn, mỗi phân đoạn theo hướng của gradient (gần đúng) ở đầu mỗi phân đoạn. trong khi một bản cập nhật lớn duy nhất là một phân đoạn duy nhất ngay từ đầu theo hướng của gradient (chính xác). Tốt hơn là thay đổi hướng nhiều lần ngay cả khi hướng đó không chính xác.

Kích thước của các lô nhỏ về cơ bản là tần suất cập nhật: các xe buýt nhỏ càng nhỏ thì càng có nhiều cập nhật. Ở một thái cực (Minecraftatch = tập dữ liệu), bạn có độ dốc giảm dần. Ở một thái cực khác (xe buýt nhỏ = một dòng) bạn có đầy đủ trên mỗi dòng SGD. Dù sao thì mỗi dòng SGD vẫn tốt hơn, nhưng những chiếc xe buýt nhỏ hơn phù hợp để song song hiệu quả hơn.

Khi kết thúc quá trình hội tụ, SGD trở nên kém chính xác hơn (đợt) GD. Nhưng tại thời điểm này, mọi thứ trở thành (thường) là một loại phù hợp chính xác vô dụng. Mặc dù bạn có chức năng mất nhỏ hơn một chút trên tập huấn luyện, bạn không có được sức mạnh dự đoán thực sự. Bạn chỉ đang tìm kiếm tối ưu rất chính xác nhưng nó không giúp đỡ. Nếu chức năng mất được chính xác hóa chính xác (ngăn chặn sự phù hợp quá mức), bạn không chính xác "quá mức" -fit, bạn chỉ vô dụng "siêu" -fit. Điều này cho thấy sự thay đổi không đáng kể về độ chính xác trên bộ thử nghiệm.


1
cảm ơn, nó rất có ý nghĩa Vì vậy, về cơ bản nếu thực hiện cùng một lượng cập nhật, thì kích thước lô lớn hơn sẽ ít nhất là tốt phải không?
dontloo

Bạn có biết bất kỳ thử nghiệm được công bố nào về điều đó không (so sánh các kích cỡ lô khác nhau với số lần cập nhật cố định)?
dontloo

Có cho cùng một số lượng cập nhật, các lô lớn hơn luôn luôn tốt hơn. Tôi không biết về một ấn phẩm, nếu tôi tìm thấy một ấn phẩm, tôi sẽ đăng nó.
Benoit Sanchez

Tôi đọc phần còn lại của câu hỏi của bạn (bảng). Điều thú vị là nó hiển thị kết quả trên một tập kiểm tra trong khi mục tiêu của gradient khá là tối ưu hóa trên tập huấn luyện. Có thể các lô nhỏ tránh một loại quá mức nhỏ nhất định bằng cách ngẫu nhiên tối ưu. Đó là một điều tinh tế tôi không có nắm bắt trực quan.
Benoit Sanchez

Theo bài báo sự khác biệt về độ chính xác là không đáng kể. Họ chỉ muốn chỉ ra rằng độ chính xác về cơ bản là giống nhau. Điều họ chủ yếu muốn chỉ ra là SGD với các đợt nhỏ nhanh hơn nhiều.
Benoit Sanchez

4

Để thêm vào câu trả lời của Curtis White (và thêm một số tài liệu tham khảo nữa):

Có SGD hoạt động như một loại chính quy. Điều này rất quan trọng vì nếu không, thật khó để giải thích tại sao DNN không luôn luôn phù hợp, bởi vì họ có thể .

Lý do, theo tôi hiểu, là SGD gây ra 'nhảy xung quanh' trong không gian tham số, vì vậy trong quá trình đào tạo, các tham số không thể ở mức tối thiểu hẹp, chỉ trong (hoặc gần) rộng hơn. Và những cái rộng hơn rõ ràng [1] khái quát tốt hơn (hay còn gọi là quá mức).

Tham khảo thêm:

  • Đây là [2] một bài báo khác chính thức hóa điều này (hoặc cố gắng, tôi đã không làm theo mọi thứ thông qua, hãy tự kiểm tra!)
  • Bài viết này [3] tuyên bố rằng có một giai đoạn "stochastic relaxation, or random diffusion"mà sự ngẫu nhiên vốn có trong SGD dẫn đến "maximiz[ation of] the conditional entropy of the layer".

Cả hai loại nói rằng SGD tương ứng với một thuật ngữ chính quy entropy.

Chắc chắn có thể có những cách khác trong đó kích thước lô ảnh hưởng đến sự hội tụ; đây là cái tôi biết


[1] Ví dụ: "Một quan điểm Bayes về khái quát hóa và gốc dốc ngẫu nhiên", Smith, Le, 2018. Từ bản tóm tắt: "We propose that the noise introduced by small mini-batches drives the parameters towards minima whose evidence is large."

[2] "Hậu duệ dốc ngẫu nhiên thực hiện suy luận đa dạng, hội tụ để giới hạn chu kỳ cho các mạng sâu", Chaudhari, Soatto 2017

[3] "Mở hộp đen của Mạng lưới thần kinh sâu thông qua thông tin" Schwartz-Ziv, Tishby, 2017

[4] "Hiểu sâu về học tập đòi hỏi phải suy nghĩ lại về khái quát hóa", C. Zhang, v.v. 2016


(+1) Tài liệu tham khảo tốt. btw, tác giả đầu tiên trên [4] là C. Zhang
user20160

Oh bạn nói đúng! Chỉnh sửa nó, cảm ơn đã sửa chữa.
dasWesen

0

Kích thước lô quá lớn có thể ngăn chặn sự hội tụ ít nhất là khi sử dụng SGD và đào tạo MLP bằng Keras. Về lý do tại sao, tôi không chắc chắn 100% liệu nó có liên quan đến việc lấy trung bình độ dốc hay các cập nhật nhỏ hơn cung cấp xác suất thoát khỏi cực tiểu cục bộ cao hơn.

Xem tại đây .

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.