Đào tạo trước một mạng lưới thần kinh là gì?


22

Vâng câu hỏi nói lên tất cả.

"Đào tạo trước một mạng lưới thần kinh" nghĩa là gì? Ai đó có thể giải thích bằng tiếng Anh đơn giản?
Tôi dường như không thể tìm thấy bất kỳ tài nguyên liên quan đến nó. Sẽ thật tuyệt nếu ai đó có thể chỉ tôi cho họ.


www.deeplearningbook.org có một giới thiệu tốt về chủ đề này.
mnagaraj

Câu trả lời:


22

Cách thông thường để đào tạo một mạng:

Bạn muốn đào tạo một mạng lưới thần kinh để thực hiện một nhiệm vụ (ví dụ: phân loại) trên một tập dữ liệu (ví dụ: một bộ hình ảnh). Bạn bắt đầu đào tạo bằng cách khởi tạo trọng lượng ngẫu nhiên. Ngay khi bạn bắt đầu tập luyện, các trọng số được thay đổi để thực hiện nhiệm vụ với ít lỗi hơn (tức là tối ưu hóa). Khi bạn hài lòng với kết quả đào tạo, bạn lưu trọng số của mạng ở đâu đó.

Bây giờ bạn quan tâm đến việc đào tạo một mạng để thực hiện một tác vụ mới (ví dụ: phát hiện đối tượng) trên một tập dữ liệu khác (ví dụ: hình ảnh cũng không giống với những gì bạn đã sử dụng trước đó). Thay vì lặp lại những gì bạn đã làm cho mạng đầu tiên và bắt đầu tập luyện với các trọng số được khởi tạo ngẫu nhiên, bạn có thể sử dụng các trọng số bạn đã lưu từ mạng trước làm giá trị trọng lượng ban đầu cho thử nghiệm mới của mình. Khởi tạo các trọng số theo cách này được gọi là sử dụng một mạng được đào tạo trước. Mạng đầu tiên là mạng được đào tạo trước của bạn. Thứ hai là mạng bạn đang tinh chỉnh.

Ý tưởng đằng sau đào tạo trước là khởi tạo ngẫu nhiên là ... à ... ngẫu nhiên, các giá trị của trọng số không liên quan gì đến nhiệm vụ bạn đang cố gắng giải quyết. Tại sao một tập hợp các giá trị phải tốt hơn một tập hợp khác? Nhưng làm thế nào khác bạn sẽ khởi tạo các trọng số? Nếu bạn biết cách khởi tạo chúng đúng cách cho tác vụ, bạn cũng có thể đặt chúng thành các giá trị tối ưu (hơi phóng đại). Không cần phải đào tạo bất cứ điều gì. Bạn có giải pháp tối ưu cho vấn đề của bạn. Đào tạo trước giúp mạng bắt đầu. Như thể nó đã thấy dữ liệu trước đó.

Những điều cần chú ý khi đào tạo trước:

Nhiệm vụ đầu tiên được sử dụng trong đào tạo trước mạng có thể giống như giai đoạn tinh chỉnh. Các bộ dữ liệu được sử dụng cho đào tạo trước so với tinh chỉnh cũng có thể giống nhau, nhưng cũng có thể khác nhau. Thật thú vị khi thấy cách đào tạo trước về một nhiệm vụ khác nhau và các tập dữ liệu khác nhau vẫn có thể được chuyển sang một tập dữ liệu mới và nhiệm vụ mới hơi khác nhau. Sử dụng một mạng được đào tạo trước thường có ý nghĩa nếu cả hai tác vụ hoặc cả hai bộ dữ liệu đều có điểm chung. Khoảng cách càng lớn, việc đào tạo trước càng kém hiệu quả. Thật ít ý nghĩa khi đào tạo trước một mạng để phân loại hình ảnh bằng cách đào tạo nó về dữ liệu tài chính trước tiên. Trong trường hợp này, có quá nhiều sự ngắt kết nối giữa các giai đoạn trước đào tạo và tinh chỉnh.


10

Tiền xử lý / tinh chỉnh hoạt động như sau:

  1. m
  2. Mộtm
  3. BmMột
  4. mB

MộtB


Lưu ý bên lề: mọi người chỉ có thể sử dụng thuật ngữ tinh chỉnh nếu bạn (không) đóng băng các trọng số. Tôi không chắc có sử dụng nhất quán thuật ngữ này hay không
Martin Thoma

4

Hai câu trả lời trên giải thích tốt. Chỉ muốn thêm một điều tinh tế liên quan đến việc đào tạo trước cho Deep Belief Nets (DBN). Việc đào tạo trước cho DBN là học tập không giám sát (tức là dữ liệu được dán nhãn) và việc đào tạo sau đó là học tập có giám sát (tức là dữ liệu được dán nhã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.