Mức độ tự do của người Viking có nghĩa là gì trong các mạng lưới thần kinh?


17

Trong cuốn sách "Phân loại mẫu và học máy" của Đức cha, nó mô tả một kỹ thuật để chính quy hóa trong bối cảnh của các mạng lưới thần kinh. Tuy nhiên, tôi không hiểu một đoạn mô tả rằng trong quá trình đào tạo, số bậc tự do tăng lên cùng với độ phức tạp của mô hình. Các trích dẫn có liên quan như sau:

Một thay thế cho chính quy hóa như một cách kiểm soát sự phức tạp hiệu quả của một mạng là thủ tục dừng sớm. Việc đào tạo các mô hình mạng phi tuyến tương ứng với việc giảm lặp lại hàm lỗi được xác định đối với một tập hợp dữ liệu huấn luyện. Đối với nhiều thuật toán tối ưu hóa được sử dụng cho đào tạo mạng, chẳng hạn như độ dốc liên hợp, lỗi là một hàm không tăng của chỉ số lặp. Tuy nhiên, lỗi được đo liên quan đến dữ liệu độc lập, thường được gọi là bộ xác thực, ban đầu thường cho thấy sự sụt giảm, sau đó là sự gia tăng khi mạng bắt đầu quá phù hợp. Do đó, có thể dừng đào tạo tại điểm có lỗi nhỏ nhất đối với tập dữ liệu xác nhận, như được chỉ ra trong Hình 5.12, để có được một mạng có hiệu suất tổng quát hóa tốt.Hành vi của mạng trong trường hợp này đôi khi được giải thích một cách định tính về số lượng mức độ tự do hiệu quả trong mạng, trong đó con số này bắt đầu nhỏ và sau đó tăng lên trong quá trình đào tạo, tương ứng với sự gia tăng ổn định về hiệu quả độ phức tạp của mô hình.

Nó cũng nói rằng số lượng tham số tăng lên trong quá trình đào tạo. Tôi đã giả sử rằng theo "tham số", nó đề cập đến số lượng trọng lượng được kiểm soát bởi các đơn vị ẩn của mạng. Có thể tôi sai vì các trọng số bị ngăn cản tăng cường độ bởi quá trình chính quy hóa nhưng chúng không thay đổi về số lượng. Nó có thể được đề cập đến quá trình tìm kiếm một số lượng lớn các đơn vị ẩn?

Một mức độ tự do trong một mạng lưới thần kinh là gì? Những thông số tăng trong quá trình đào tạo?


1
Danh pháp. Một tham số là một trọng lượng duy nhất. Số lượng tham số tăng có nghĩa là số lượng "nơ-ron" hoặc "kết nối giữa các nơ-ron" đang tăng lên. Điều này có nghĩa là cấu trúc liên kết là không đổi.
EngrStudent - Phục hồi Monica

Cảm ơn! Nhưng sau đó tại sao đào tạo tăng số lượng trọng lượng?
Robert Smith

Trên thực tế, có các thuật toán đào tạo thao túng cấu trúc của mạng lưới thần kinh trong quá trình đào tạo (Cascade Correlation, NEAT, ...). Họ thường liên tục tăng số lượng trọng lượng. Nhưng tôi không nghĩ rằng Giám mục đề cập đến điều đó trong cuốn sách của mình.
alfa

@alfa Thú vị. Tôi chưa đọc toàn bộ cuốn sách, vì vậy tôi không biết liệu nó có đề cập đến loại thuật toán đó không. Tôi không nghĩ rằng nó đề cập đến họ trong phần này của cuốn sách, mặc dù.
Robert Smith

Câu trả lời:


12

Tôi nghi ngờ đây là ý nghĩa của Đức cha:

Nếu bạn nghĩ về mạng lưới thần kinh là một hàm ánh xạ đầu vào thành đầu ra, thì khi bạn lần đầu tiên khởi tạo một mạng lưới thần kinh với trọng số ngẫu nhiên nhỏ, mạng lưới thần kinh trông rất giống một hàm tuyến tính. Hàm kích hoạt sigmoid gần với tuyến tính quanh 0 (chỉ cần thực hiện mở rộng Taylor) và các trọng số nhỏ sẽ đảm bảo rằng miền hiệu quả của mỗi đơn vị ẩn chỉ là một khoảng nhỏ quanh 0, do đó, toàn bộ mạng lưới thần kinh, bất kể có bao nhiêu các lớp bạn có, sẽ trông rất giống một hàm tuyến tính. Vì vậy, bạn có thể mô tả heuristally mạng lưới thần kinh là có một số lượng nhỏ tự do (bằng với kích thước của đầu vào). Khi bạn huấn luyện mạng lưới thần kinh, các trọng số có thể trở nên lớn tùy ý và mạng lưới thần kinh có thể xấp xỉ tốt hơn các hàm phi tuyến tính tùy ý. Vì vậy, khi đào tạo tiến triển,


Cảm ơn về câu trả lời của bạn. Tôi đã thêm phần có liên quan của cuốn sách như một trích dẫn, để bạn có thể thấy bối cảnh. Không chắc chắn nếu nó xác nhận đề nghị của bạn, mặc dù.
Robert Smith

Vâng, điều đó không xác nhận những gì tôi nghĩ rằng Đức cha có nghĩa.
Marc Shivers

Đọc một vài lần câu trả lời của bạn, tôi nghĩ rằng khi quá trình đào tạo tiến triển và mô hình bắt đầu phù hợp, số lượng chức năng mà mô hình có thể ước tính thực sự bị giảm vì nó sẽ xấp xỉ điểm cực kỳ tốt từ dữ liệu đào tạo nhưng dự đoán của nó đã thắng ' T là tốt vì nó không thể khái quát để phù hợp với các điểm khác hoặc bộ dữ liệu tương tự.
Robert Smith

4

Cụm từ "đôi khi được giải thích một cách định tính" cho thấy anh ta chỉ đang thực hiện một sự tương tự với hồi quy tuyến tính đơn giản. Mỗi lần chúng ta thêm một thuật ngữ vào mô hình hồi quy tuyến tính, chúng ta sẽ thêm một mức độ tự do cho mô hình và trừ đi một mức độ tự do khỏi các thuật ngữ liên quan đến thuật ngữ lỗi. Nếu chúng ta đặt đủ các thuật ngữ độc lập vào một mô hình, chúng ta hoàn toàn có thể "dự đoán" lịch sử từ một tập hợp các số ngẫu nhiên, nhưng chúng ta sẽ hoàn toàn không thể dự đoán được tương lai.


3

pp. Đối với các mô hình phức tạp hơn (Bạn được coi là cây hồi quy), khả năng thêm một nút phụ cung cấp cách linh hoạt hơn, vì mô hình GIỎI sẽ tìm kiếm một biến tốt để phân tách và một điểm phân chia tốt. Đó là cách nhiều hơn những gì mà việc thêm một biến hồi quy vào mô hình tuyến tính có thể làm được và Ye đã tìm thấy các cây hồi quy để tiêu thụ khoảng 3,5-4 dfs mỗi nút. Mạng lưới thần kinh có thể ở đâu đó ở giữa, nhưng mức độ tự do chắc chắn lớn hơn số lượng đơn vị và có thể lớn hơn số lượng trọng lượng.

Tôi nghĩ rằng một cái gì đó tương tự đã được cung cấp bởi HTF Sec. 7.6 , mặc dù đáng ngạc nhiên là họ không đề cập đến Ye (1998). Tuy nhiên, họ đề cập đến Đức cha như một trường hợp đặc biệt.


1
Cảm ơn. Điều đó có vẻ đúng nhưng còn mối quan hệ với việc đào tạo mạng lưới thần kinh thì sao? Tôi đã tìm thấy trong "Các yếu tố của học thống kê" ở trang 96 ( docs.google.com/, ) một biểu thức liên quan đến mức độ tự do và hiệp phương sai, và tôi có thể thấy tại sao đào tạo nhiều hơn sẽ làm giảm chức năng lỗi và do đó làm tăng hiệp phương sai và bậc tự do. Tuy nhiên, tôi không hiểu tại sao phương trình đó (3,60 trong cuốn sách) lại nắm giữ.
Robert Smith

Nhân tiện, nó cũng có vẻ hơi khác so với định nghĩa về mức độ tự do (khái quát) được nói đến trong bài viết của Ye.
Robert Smith

1
Tôi đoán bạn có thể nghĩ rằng hiệp phương sai đó là một phiên bản thô của đạo hàm ... hoặc có thể là cách khác: đạo hàm, được định nghĩa là giới hạn khi kích thước của bước đi về 0, có thể được coi là plim của hiệp phương sai khi phương sai của nhiễu loạn bằng không. Phương trình (3.60) không phải giữ, đó là một định nghĩa , vì vậy không có gì để giữ. Cái không giữ được là sự tương đương với định nghĩa chuẩn của dfs cho các mô hình tuyến tính mà chúng đề cập ngắn gọn trên trang tiếp theo, và đó đơn giản là đại số tuyến tính của mô hình tuyến tính. Ye (1998) cũng phải nói về nó.
StasK

3

Ông nói "sự phức tạp hiệu quả của mạng". Ông thực sự đề cập đến kích thước của trọng lượng của mạng. Điều này có thể được hiểu theo nguyên tắc chiều dài mô tả tối thiểu . Nhưng trước khi tôi hiểu điều đó, trực giác là trọng lượng càng lớn, loại chức năng mạng của bạn càng phù hợp, và do đó mức độ tự do (và độ phức tạp hiệu quả) càng cao.

Trong chương đó, ông đang nói về chính quy hóa, đó là một kỹ thuật giảm thiểu rủi ro quá mức một cách hiệu quả, bằng cách yêu cầu các trọng số càng nhỏ càng tốt. Nói chung,

p(D|w)= =Πnp(tn|xn,w)= =Πnđiểm kinh nghiệm(β2[tn-y(xn,w)]2)/ZD(β)
wZD(β)

p(w)= =điểm kinh nghiệm(-α||w||22)/ZW(α)
tranh luậntối đawp(w|D)

p(w|D)=p(D|w)p(w)
Zw

argminwnβ2[tny(xn,w)]2+α2iwi2

Tổng quát hơn, bạn có ước tính MAP tương đương như sau,

wMAP=argminwlog2P(D|w)log2(w)

Phía bên phải của biểu thức có thể được hiểu là số bit cần thiết để mô tả trình phân loại của bạn. Thuật ngữ đầu tiên biểu thị số bit cần thiết để mã các lỗi mà mạng của bạn thực hiện trên dữ liệu huấn luyện. Thứ hai đại diện cho số lượng bit cần thiết để mã hóa các trọng số.

Do đó, ước tính MAP tương đương với việc chọn đại diện nhỏ gọn nhất có thể. Nói cách khác, bạn tìm tập hợp các trọng số chiếm dữ liệu huấn luyện một cách trung thực nhất có thể có thể được biểu thị với số lượng bit ít nhất.

Lưu ý rằng đây là một dạng khác của vấn đề sai lệch / sai lệch: trọng số càng lớn, thuật ngữ đầu tiên càng thấp, bởi vì mạng có thể phù hợp với dữ liệu đào tạo tốt hơn (quá mức). Nhưng đồng thời độ phức tạp của trọng lượng càng cao. Các trọng số càng nhỏ, độ phức tạp của mạng càng nhỏ, nhưng thuật ngữ lỗi (độ lệch) càng cao. Số bit cần thiết để mã lỗi của mạng càng cao.

Hy vọng điều này cung cấp cho bạn một ý tưởng đủ tốt về những gì anh ấy đang đề cập đến.

PS thêm một đối số dài hơn cho các cuộc thảo luận đang diễn ra Có lẽ tôi hiểu lầm bạn. Hãy để tôi cố gắng giải thích bản thân lần cuối.

Ưu tiên về trọng số có nghĩa là đại diện cho giả định chúng tôi đưa ra về chức năng bạn muốn phù hợp. Càng lớn trước (nghĩa là các trọng số) thì Gaussian càng rộng, tức là càng nhiều cấu hình có thể xem là phù hợp với mạng.

Chúng ta hãy xem xét trường hợp hồi quy (như trong bài báo tôi đã đề cập). Lỗi tổng quát hóa thấp có nghĩa là mạng có thể ánh xạ các mẫu không nhìn thấy rất gần với các giá trị thực tế. Nếu bạn đang lắp một đường thẳng, thì một đa thức bậc nhất (độ phức tạp thấp). Bây giờ, bạn cũng có thể điều chỉnh dữ liệu với đa thức bậc cao hơn (hãy để hệ số bậc cao khác với 0). Độ phức tạp của mạng cao hơn vì bạn cho phép dao động, cho một đường cong phức tạp hơn. Tuy nhiên, nếu các hệ số tương ứng với các điều khoản bậc cao hơn đủ thấp, mạng có thể xấp xỉ đường thẳng rất tốt, do đó dẫn đến tổng quát hóa tốt.

Vì vậy, toàn bộ quan điểm của MDL là làm cho trọng lượng của bạn càng nhỏ càng tốt, miễn là tôi có thể giảm thiểu lỗi tổng quát hóa.

Cuối cùng, trích dẫn bạn: "Tôi vẫn thấy phiền khi lập luận rằng khi mô hình bắt đầu phù hợp quá mức, khả năng mô hình hóa các chức năng khác của nó sẽ tăng lên. Tôi nghĩ điều đó hoàn toàn ngược lại bởi vì một mô hình mặc trang phục, không thể khái quát hóa để áp dụng cho mới thông tin.". Vâng, nó có thể mô hình hóa các chức năng KHÁC, phức tạp hơn, nhưng nó sẽ thất bại trong việc mô hình hóa chức năng trong tay đúng cách. Trong hình 5.12 trong cuốn sách, lỗi đầu tiên sẽ giảm, vì kích thước của trọng lượng tăng (giảm độ lệch). Lên đến một điểm nhất định khi nó bắt đầu tăng trở lại (giảm mức độ khái quát hóa, quá phù hợp).


1
Cảm ơn. Điều này tương tự như ý tưởng của Marc, tuy nhiên, tôi vẫn thấy rắc rối với lập luận rằng khi mô hình bắt đầu quá sức, khả năng mô hình hóa các chức năng khác của nó sẽ tăng lên. Tôi nghĩ điều đó hoàn toàn ngược lại bởi vì một mô hình mặc trang phục, không thể khái quát hóa để được áp dụng cho thông tin mới.
Robert Smith

1
Robert, tôi tin rằng có một số hiểu lầm về lỗi khái quát hóa có nghĩa là gì so với độ phức tạp của mạng, tức là khả năng mô hình hóa các chức năng phức tạp hơn. Có một số bài viết mô tả các thuật ngữ khác nhau, như cbcl.mit.edu/projects/cbcl/publications/ps/ Kẻ .
jpmuc

Tôi không nghĩ có sự nhầm lẫn khi thuật ngữ "độ phức tạp" được sử dụng bởi vì nếu bạn có một loạt các trọng số với các giá trị điên rồ, điều đó làm cho mô hình trở nên rất phức tạp và bạn có thể biết ngay lập tức theo âm mưu kết quả. Mặt khác, để có thể quản lý một tập hợp rộng các chức năng đòi hỏi một mô hình có khả năng khái quát tốt từ dữ liệu có thể thu được bằng cách tránh quá mức.
Robert Smith
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.