Vai trò của sự thiên vị trong các mạng lưới thần kinh là gì?


806

Tôi biết về độ dốc gốc và thuật toán lan truyền ngược. Điều tôi không nhận được là: khi nào việc sử dụng thành kiến ​​quan trọng và bạn sử dụng nó như thế nào?

Ví dụ, khi ánh xạ ANDhàm, khi tôi sử dụng 2 đầu vào và 1 đầu ra, nó không cho trọng số chính xác, tuy nhiên, khi tôi sử dụng 3 đầu vào (1 trong số đó là sai lệch), nó cho trọng số chính xác.


17
Kiểm tra câu hỏi này: stackoverflow.com/questions/1697243/help-with-perceptron để biết ví dụ về một vấn đề thực tế trong đó OP không sử dụng thuật ngữ thiên vị
Amro

6
Và đây là một ví dụ hay trong Python về lý do tại sao sự thiên vị lại quan trọng :) stackoverflow.com/questions/38248657/ Mark
khoáng chất

3
đây là một bài viết tuyệt vời với đầy đủ các phép toán backprop, cũng bao gồm các cập nhật thiên vị: theclevermachine.wordpress.com/2014/09/06/ chủ
Andy

Câu trả lời:


1360

Tôi nghĩ rằng sự thiên vị hầu như luôn luôn hữu ích. Trong thực tế, một giá trị thiên vị cho phép bạn chuyển chức năng kích hoạt sang trái hoặc phải , điều này có thể rất quan trọng để học tập thành công.

Nó có thể giúp xem xét một ví dụ đơn giản. Xem xét mạng 1 đầu vào, 1 đầu ra không có sai lệch:

mạng đơn giản

Đầu ra của mạng được tính bằng cách nhân đầu vào (x) với trọng số (w 0 ) và chuyển kết quả qua một số loại chức năng kích hoạt (ví dụ: hàm sigmoid.)

Đây là chức năng mà mạng này tính toán, cho các giá trị khác nhau của w 0 :

đầu ra mạng, cho trọng lượng w0 khác nhau

Thay đổi trọng lượng w 0 về cơ bản thay đổi "độ dốc" của sigmoid. Điều đó hữu ích, nhưng nếu bạn muốn mạng xuất 0 khi x là 2 thì sao? Chỉ cần thay đổi độ dốc của sigmoid sẽ không thực sự hiệu quả - bạn muốn có thể dịch chuyển toàn bộ đường cong sang phải .

Đó chính xác là những gì thiên vị cho phép bạn làm. Nếu chúng ta thêm một thành kiến ​​vào mạng đó, như vậy:

mạng đơn giản với sự thiên vị

... thì đầu ra của mạng trở thành sig (w 0 * x + w 1 * 1.0). Đây là kết quả đầu ra của mạng cho các giá trị khác nhau của w 1 :

đầu ra mạng, cho trọng lượng w1 khác nhau

Có trọng số -5 cho w 1 sẽ dịch chuyển đường cong sang phải, điều này cho phép chúng ta có một mạng xuất ra 0 khi x là 2.


6
@ user1621769: Cách tiếp cận đơn giản nhất là một mạng có một nút thiên vị duy nhất kết nối với tất cả các nút không đầu vào trong mạng.
Nate Kohl

65
@ user1621769: Chức năng chính của xu hướng là cung cấp cho mỗi nút một giá trị không đổi có thể huấn luyện (ngoài các đầu vào thông thường mà nút nhận được). Bạn có thể đạt được điều đó với một nút thiên vị duy nhất có kết nối với N nút hoặc với các nút thiên vị N mỗi nút có một kết nối; kết quả phải giống nhau
Nate Kohl

4
@ user1621769: Bạn có thể không tính đến trọng số? Mỗi kết nối có trọng số có thể huấn luyện và nút thiên vị có một giá trị cố định.
Dimpl

4
@ user132458, nếu thuật toán đào tạo chỉ ra rằng bạn không cần dịch chuyển sai lệch, trọng số sai lệch có thể sẽ tiếp cận 0. Do đó loại bỏ tín hiệu sai lệch.
jorgenkg

8
@Gabriel: Nên có một sai lệch cho mỗi nơron ẩn.

343

Chỉ cần thêm hai xu của tôi.

Một cách đơn giản hơn để hiểu thiên vị là gì: nó bằng cách nào đó tương tự với hằng số b của hàm tuyến tính

y = rìu + b

Nó cho phép bạn di chuyển dòng lên và xuống để phù hợp với dự đoán với dữ liệu tốt hơn. Không có b , dòng luôn đi qua gốc (0, 0) và bạn có thể có một mức độ phù hợp kém hơn.


5
anology đẹp nhưng nếu chúng ta đặt độ lệch thành 1 thì tại sao bây giờ nó lại tạo ra sự khác biệt cho phù hợp khi mọi dòng sẽ đi qua (0,1) thay vì (0,0)? Vì tất cả các dòng bây giờ đều thiên về y = 1 thay vì y = 0 tại sao điều này hữu ích?
bầu trời xanh

36
@ blue-sky Bởi vì bằng cách nhân một độ lệch với trọng số, bạn có thể thay đổi nó theo một lượng tùy ý.
Carcigenicate

3
Có đúng không khi gọi b là "hệ số"? Không phải là "hệ số" một số được sử dụng để nhân một biến?
Ben

8
b không phải là "hệ số" chứ không phải là đánh chặn.
Espanta

22
b là hệ số của $ x ^ 0 $. a là hệ số của $ x ^ 1 $

64

Chủ đề này thực sự giúp tôi phát triển dự án của riêng tôi. Dưới đây là một số minh họa khác cho thấy kết quả của một mạng nơ ron chuyển tiếp cấp dữ liệu 2 lớp đơn giản có và không có đơn vị sai lệch trong bài toán hồi quy hai biến. Trọng lượng được khởi tạo ngẫu nhiên và kích hoạt ReLU tiêu chuẩn được sử dụng. Như các câu trả lời trước khi tôi kết luận, không có sai lệch, mạng ReLU không thể sai lệch từ 0 tại (0,0).

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây


1
Bạn có thể vui lòng thêm chức năng được vẽ với nhãn trục không?
Komal-SkyNET

46

Hai loại tham số khác nhau có thể được điều chỉnh trong quá trình huấn luyện ANN, trọng số và giá trị trong các hàm kích hoạt. Điều này là không thực tế và sẽ dễ dàng hơn nếu chỉ cần điều chỉnh một trong các tham số. Để đối phó với vấn đề này, một nơron thiên vị được phát minh. Tế bào thần kinh thiên vị nằm trong một lớp, được kết nối với tất cả các tế bào thần kinh ở lớp tiếp theo, nhưng không có tế bào thần kinh nào ở lớp trước và nó luôn phát ra 1. Vì tế bào thần kinh thiên vị phát ra 1 trọng lượng, kết nối với tế bào thần kinh thiên vị, được thêm trực tiếp vào tổng kết hợp của các trọng số khác (phương trình 2.1), giống như giá trị t trong các hàm kích hoạt. 1

Lý do không thực tế là vì bạn đồng thời điều chỉnh trọng lượng và giá trị, do đó, bất kỳ thay đổi nào đối với trọng số đều có thể vô hiệu hóa thay đổi thành giá trị hữu ích cho trường hợp dữ liệu trước đó ... thêm một nơ ron sai lệch mà không thay đổi giá trị cho phép bạn để kiểm soát hành vi của lớp.

Hơn nữa, sự thiên vị cho phép bạn sử dụng một mạng lưới thần kinh duy nhất để biểu diễn các trường hợp tương tự. Hãy xem xét hàm AND boolean được biểu thị bởi mạng nơ ron sau:

ANN
(nguồn: aihorizon.com )

  • w0 tương ứng với b .
  • w1 tương ứng với x1 .
  • w2 tương ứng với x2 .

Một perceptron có thể được sử dụng để đại diện cho nhiều hàm boolean.

Ví dụ: nếu chúng ta giả sử các giá trị boolean là 1 (true) và -1 (false), thì một cách để sử dụng perceptron hai đầu vào để thực hiện hàm AND là đặt các trọng số w0 = -3 và w1 = w2 = .5. Perceptionron này có thể được tạo để biểu diễn hàm OR thay vì thay đổi ngưỡng thành w0 = -.3. Trong thực tế, AND và OR có thể được xem là trường hợp đặc biệt của các hàm m-of-n: nghĩa là các hàm trong đó ít nhất m của n đầu vào của perceptron phải đúng. Hàm OR tương ứng với m = 1 và hàm AND với m = n. Bất kỳ hàm m-of-n nào cũng được biểu diễn dễ dàng bằng cách sử dụng perceptron bằng cách đặt tất cả các trọng số đầu vào thành cùng một giá trị (ví dụ 0,5) và sau đó đặt ngưỡng w0 tương ứng.

Perceptionron có thể đại diện cho tất cả các hàm boolean nguyên thủy AND, OR, NAND (1 AND) và NOR (1 OR). Học máy- Tom Mitchell)

Ngưỡng là độ lệch và w0 là trọng số liên quan đến nơ ron lệch / ngưỡng.


8
Hãy nghĩ về nó như một quy tắc chung của ngón tay cái: thêm sự thiên vị! Mạng nơ-ron "không thể đoán trước" ở một mức độ nhất định, vì vậy nếu bạn thêm một nơ-ron thiên vị, bạn sẽ có khả năng tìm giải pháp nhanh hơn sau đó nếu bạn không sử dụng sai lệch. Tất nhiên điều này không được chứng minh về mặt toán học, nhưng đó là những gì tôi đã quan sát thấy trong văn học và sử dụng chung.
Kiril

25

Sự thiên vị không phải là một NNthuật ngữ, đó là một thuật ngữ đại số chung để xem xét.

Y = M*X + C (phương trình đường thẳng)

Bây giờ nếu C(Bias) = 0sau đó, dòng sẽ luôn đi qua gốc, tức là (0,0), và chỉ phụ thuộc vào một tham số, nghĩa Mlà độ dốc để chúng ta có ít thứ hơn để chơi.

C, đó là sự thiên vị lấy bất kỳ số nào và có hoạt động để thay đổi biểu đồ và do đó có thể biểu diễn các tình huống phức tạp hơn.

Trong hồi quy logistic, giá trị mong đợi của mục tiêu được biến đổi bởi hàm liên kết để giới hạn giá trị của nó trong khoảng đơn vị. Theo cách này, các dự đoán mô hình có thể được xem là xác suất kết quả chính như được hiển thị: Hàm Sigmoid trên Wikipedia

Đây là lớp kích hoạt cuối cùng trong bản đồ NN bật và tắt nơ-ron. Ở đây cũng có sự thiên vị có vai trò và nó thay đổi đường cong một cách linh hoạt để giúp chúng ta lập bản đồ mô hình.


1
Vì vậy, những vấn đề trong đào tạo / học tập mạng thần kinh xảy ra khi dòng luôn đi qua nguồn gốc khi không sử dụng sai lệch?
Daniyal Javaid

@DaniyalJavaid Đó có thể là một khả năng và không phải là vấn đề
Pradi KL

23

Một lớp trong mạng nơ ron không có sai lệch không gì khác hơn là phép nhân của vectơ đầu vào với ma trận. (Vectơ đầu ra có thể được chuyển qua hàm sigmoid để chuẩn hóa và sử dụng trong ANN nhiều lớp sau đó nhưng điều đó không quan trọng.)

Điều này có nghĩa là bạn đang sử dụng hàm tuyến tính và do đó, đầu vào của tất cả các số 0 sẽ luôn được ánh xạ tới đầu ra của tất cả các số không. Đây có thể là một giải pháp hợp lý cho một số hệ thống nhưng nói chung nó quá hạn chế.

Sử dụng một thiên vị, bạn thực sự thêm một chiều khác vào không gian đầu vào của mình, nó luôn lấy giá trị một, vì vậy bạn đang tránh một vectơ đầu vào của tất cả các số không. Bạn không mất bất kỳ tính tổng quát nào bởi vì ma trận trọng lượng được đào tạo của bạn không cần phải có tính từ chối, do đó, nó vẫn có thể ánh xạ tới tất cả các giá trị có thể trước đây.

2ngày:

Đối với ANN ánh xạ hai chiều thành một chiều, như khi tái tạo các hàm AND hoặc OR (hoặc XOR), bạn có thể nghĩ về một mạng nơ ron như thực hiện như sau:

Trên mặt phẳng 2d đánh dấu tất cả các vị trí của vectơ đầu vào. Vì vậy, đối với các giá trị boolean, bạn muốn đánh dấu (-1, -1), (1,1), (-1,1), (1, -1). Những gì ANN của bạn bây giờ làm là vẽ một đường thẳng trên mặt phẳng 2d, tách đầu ra dương ra khỏi các giá trị đầu ra âm.

Không có sai lệch, đường thẳng này phải đi qua 0, trong khi với thiên vị, bạn có thể tự do đặt nó ở bất cứ đâu. Vì vậy, bạn sẽ thấy rằng không có sự thiên vị mà bạn gặp phải vấn đề với hàm AND, vì bạn không thể đặt cả (1, -1) (-1,1) về phía tiêu cực. (Chúng không được phép ở trên dòng.) Vấn đề là bằng với hàm OR. Tuy nhiên, với sự thiên vị, thật dễ dàng để vẽ đường.

Lưu ý rằng hàm XOR trong tình huống đó không thể được giải quyết ngay cả với sai lệch.


4
Nếu bạn sử dụng hàm truyền sigmoid, bạn giới thiệu tính phi tuyến tính. Nói rằng đây là một hàm tuyến tính là sai và cũng có phần nguy hiểm, vì tính phi tuyến tính của sigmoid là chìa khóa cho giải pháp của một số vấn đề. Ngoài ra, sigmoid (0) = 0,5 và không có x cho sigmoid (x) = 0.
bayer

2
Vâng, nhưng nó là 0,5 cho bất kỳ đầu vào nào 0 mà không có sai lệch, bất kể hàm tuyến tính trước đó trông như thế nào. Và đó là điểm chính. Bạn thường không đào tạo chức năng sigmoid của bạn, bạn chỉ cần sống với nó. Vấn đề tuyến tính xảy ra tốt trước chức năng sigmoid.
Debilski

Tôi nhận được điểm của bạn: lớp không thể học được đầu ra khác cho 0 so với đầu ra mà nó bắt đầu. Điều đó đúng và quan trọng. Tuy nhiên, theo tôi, "đối số hàm tuyến tính" không áp dụng. Ngay cả với một thiên vị, chức năng vẫn là tuyến tính. Các thuộc tính tuyến tính là sai lệch ở đây. (Vâng, tôi có thể là nitpicking.)
bayer

Tôi muốn nói rằng, với một sự thiên vị, nó là affine . ( en.wikipedia.org/wiki/Affine_transatures#Repftimeation )
Debilski

Vâng, bạn đã đúng. Cảm ơn đã chỉ ra sự khác biệt đó với tôi. (Tại sao chúng ta gọi nó là hồi quy tuyến tính sau đó, btw, mặc dù nó là affine?)
bayer

20

Khi bạn sử dụng ANN, bạn hiếm khi biết về nội bộ của các hệ thống bạn muốn tìm hiểu. Một số điều không thể học được nếu không có thành kiến. Ví dụ, hãy xem các dữ liệu sau: (0, 1), (1, 1), (2, 1), về cơ bản là một hàm ánh xạ bất kỳ x thành 1.

Nếu bạn có một mạng một lớp (hoặc ánh xạ tuyến tính), bạn không thể tìm thấy giải pháp. Tuy nhiên, nếu bạn có thành kiến ​​thì đó là chuyện nhỏ!

Trong một thiết lập lý tưởng, một thiên vị cũng có thể ánh xạ tất cả các điểm đến giá trị trung bình của các điểm mục tiêu và để các tế bào thần kinh ẩn mô hình sự khác biệt từ điểm đó.


18

Việc sửa đổi nơ-ron chỉ có một mình để điều khiển hình dạng / độ cong của hàm truyền của bạn chứ không phải điểm cân bằng / điểm giao nhau của nó.

Sự ra đời của các nơ-ron thiên vị cho phép bạn dịch chuyển đường cong hàm truyền theo chiều ngang (trái / phải) dọc theo trục đầu vào trong khi không thay đổi hình dạng / độ cong. Điều này sẽ cho phép mạng tạo ra các đầu ra tùy ý khác với mặc định và do đó bạn có thể tùy chỉnh / dịch chuyển ánh xạ đầu vào sang đầu ra cho phù hợp với nhu cầu cụ thể của mình.

Xem ở đây để giải thích đồ họa: http://www.heatonresearch.com/wiki/Bias


16

Chỉ cần thêm vào tất cả những thứ này còn thiếu rất nhiều và phần còn lại, rất có thể, không biết.

Nếu bạn đang làm việc với hình ảnh, bạn thực sự có thể không thích sử dụng sai lệch nào cả. Về lý thuyết, theo cách đó, mạng của bạn sẽ độc lập hơn với cường độ dữ liệu, như trong việc hình ảnh có tối hay sáng và sống động hay không. Và mạng sẽ học cách thực hiện công việc của mình thông qua nghiên cứu tính tương đối bên trong dữ liệu của bạn. Rất nhiều mạng lưới thần kinh hiện đại sử dụng điều này.

Đối với các dữ liệu khác có thành kiến ​​có thể rất quan trọng. Nó phụ thuộc vào loại dữ liệu bạn đang xử lý. Nếu thông tin của bạn là bất biến cường độ --- nếu nhập [1,0,0.1] sẽ dẫn đến kết quả tương tự như khi nhập [100,0,10], bạn có thể tốt hơn nếu không có sai lệch.


Bạn có lẽ tốt hơn với bình thường hóa. Một ví dụ về một mạng hiện đại sử dụng "thiếu thiên vị" để tạo ra sự bất biến cường độ là gì?
AwokeKnowing

@AwokeKnowing, tôi tin rằng, ResNet thông thường sử dụng điều đó, vì nó là một phần của "khởi tạo", nhưng tôi không chắc chắn chính xác họ đã làm điều này vì mục đích này, hoặc, có thể để xem xét kích thước / hiệu quả của mô hình và tôi m không chắc khái niệm này được công bố ở bất cứ đâu. Nhưng tôi nghĩ nó hoàn toàn dễ hiểu ở cấp độ lý thuyết. Nếu bạn không có thành kiến ​​không chia tỷ lệ, khi bạn chia tỷ lệ giá trị, tất cả các kết quả đầu ra chỉ đơn giản là chia tỷ lệ tương ứng. Nhận thức về khái niệm này, hoặc không, phần lớn các kiến ​​trúc hiện đại không có sự thiên vị ít nhất là trong một phần lớn các cấu trúc của chúng.
Íhor Mé

16

Trong một vài thí nghiệm trong luận án thạc sĩ của tôi (ví dụ trang 59), tôi thấy rằng sự thiên vị có thể quan trọng đối với (các) lớp đầu tiên, nhưng đặc biệt là ở các lớp được kết nối đầy đủ ở cuối, nó dường như không đóng vai trò lớn.

Điều này có thể phụ thuộc nhiều vào kiến ​​trúc / dữ liệu mạng.


Nghe có vẻ hoàn toàn giống với quá trình mô hình hóa các hệ thống "bằng tay" với hồi quy tuyến tính. Mô hình đơn giản nhất sẽ là Y_bar = mean (Y). Sau đó, bạn thêm độ phức tạp bằng cách bao gồm các thuật ngữ X khác nhau, dừng lại khi không có thông tin quan trọng.
IRTFM

15

Xu hướng quyết định bao nhiêu góc bạn muốn trọng lượng của bạn xoay.

Trong biểu đồ 2 chiều, trọng số và độ lệch giúp chúng ta tìm ra ranh giới quyết định của đầu ra. Giả sử chúng ta cần xây dựng hàm AND, cặp đầu vào (p) -output (t) phải là

{p = [0,0], t = 0}, {p = [1,0], t = 0}, {p = [0,1], t = 0}, {p = [1,1] , t = 1}

nhập mô tả hình ảnh ở đây

Bây giờ chúng ta cần tìm ranh giới quyết định, ranh giới ý tưởng nên là:

nhập mô tả hình ảnh ở đây

Xem? W vuông góc với đường biên của chúng ta. Vì vậy, chúng tôi nói W quyết định hướng của ranh giới.

Tuy nhiên, thật khó để tìm đúng W ngay lần đầu tiên. Hầu hết, chúng tôi chọn giá trị W ban đầu ngẫu nhiên. Do đó, ranh giới đầu tiên có thể là: nhập mô tả hình ảnh ở đây

Bây giờ ranh giới là pareller đến trục y.

Chúng tôi muốn xoay ranh giới, làm thế nào?

Bằng cách thay đổi W.

Vì vậy, chúng tôi sử dụng chức năng quy tắc học tập: W '= W + P: nhập mô tả hình ảnh ở đây

W '= W + P tương đương với W' = W + bP, trong khi b = 1.

Do đó, bằng cách thay đổi giá trị của b (độ lệch), bạn có thể quyết định góc giữa W 'và W. Đó là "quy tắc học tập của ANN".

Bạn cũng có thể đọc Thiết kế mạng thần kinh của Martin T. Hagan / Howard B. Demuth / Mark H. Beale, chương 4 "Quy tắc học tập Perceptionron"


1
Giải thích / minh họa hữu ích
javadba

10

Đặc biệt, Nate câu trả lời , zfy của câu trả lời , và Pradi của câu trả lời là rất lớn.

Nói một cách đơn giản hơn, các thành kiến ​​cho phép ngày càng có nhiều biến thể của trọng số được học / lưu trữ ... ( lưu ý phụ : đôi khi được đưa ra một số ngưỡng). Dù sao, nhiều biến thể hơn có nghĩa là các thành kiến ​​thêm sự thể hiện phong phú hơn của không gian đầu vào cho các trọng số đã học / được lưu trữ của mô hình. (Trường hợp trọng lượng tốt hơn có thể tăng cường khả năng đoán của mạng lưới thần kinh)

Ví dụ, trong các mô hình học tập, giả thuyết / phỏng đoán bị giới hạn bởi y = 0 hoặc y = 1 với một số đầu vào, trong một số nhiệm vụ phân loại ... có thể là một số y = 0 đối với một số x = (1,1) và một số y = 1 với một số x = (0,1). .

Nếu chúng ta bỏ qua sai lệch, nhiều đầu vào cuối cùng có thể được đại diện bởi rất nhiều trọng số giống nhau (nghĩa là các trọng số đã học hầu hết xảy ra gần với gốc (0,0). Mô hình sau đó sẽ bị giới hạn ở số lượng kém hơn về trọng lượng tốt, thay vì nhiều trọng số tốt hơn, nó có thể học tốt hơn với sự thiên vị (Trường hợp trọng lượng học kém dẫn đến dự đoán kém hơn hoặc giảm sức mạnh đoán của mạng lưới thần kinh)

Vì vậy, điều tối ưu là mô hình học cả gần với nguồn gốc, nhưng cũng ở nhiều nơi nhất có thể trong ranh giới ngưỡng / quyết định. Với sự thiên vị, chúng tôi có thể cho phép mức độ tự do gần với nguồn gốc, nhưng không giới hạn ở khu vực trực tiếp của nguồn gốc.


9

Mở rộng về giải thích @zfy ... Phương trình cho một đầu vào, một nơ ron, một đầu ra sẽ trông:

y = a * x + b * 1    and out = f(y)

Trong đó x là giá trị từ nút đầu vào và 1 là giá trị của nút thiên vị; y có thể trực tiếp là đầu ra của bạn hoặc được truyền vào một hàm, thường là hàm sigmoid. Cũng lưu ý rằng sự thiên vị có thể là bất kỳ, nhưng để làm cho mọi thứ đơn giản hơn, chúng tôi luôn chọn 1 (và có lẽ nó phổ biến đến mức @zfy đã làm điều đó mà không hiển thị & giải thích nó).

Mạng của bạn đang cố gắng tìm hiểu các hệ số a và b để thích ứng với dữ liệu của bạn. Vì vậy, bạn có thể thấy lý do tại sao việc thêm phần tử b * 1cho phép nó phù hợp hơn với nhiều dữ liệu hơn: bây giờ bạn có thể thay đổi cả độ dốc và chặn.

Nếu bạn có nhiều đầu vào, phương trình của bạn sẽ như sau:

y = a0 * x0 + a1 * x1 + ... + aN * 1

Lưu ý rằng phương trình vẫn mô tả một nơron, một mạng đầu ra; nếu bạn có nhiều nơ-ron hơn, bạn chỉ cần thêm một chiều vào ma trận hệ số, để ghép các đầu vào cho tất cả các nút và tổng hợp lại mỗi đóng góp của nút.

Rằng bạn có thể viết ở định dạng vector hóa như

A = [a0, a1, .., aN] , X = [x0, x1, ..., 1]
Y = A . XT

tức là đặt các hệ số trong một mảng và (đầu vào + độ lệch) vào một mảng khác mà bạn có giải pháp mong muốn của mình là sản phẩm chấm của hai vectơ (bạn cần hoán vị X cho hình dạng chính xác, tôi đã viết X a 'X hoán vị')

Vì vậy, cuối cùng bạn cũng có thể thấy sự thiên vị của mình vì chỉ là một đầu vào nữa để thể hiện phần đầu ra thực sự độc lập với đầu vào của bạn.


Tôi dường như nhớ từ lớp của Andrew Ng rằng sự thiên vị bị bỏ rơi trong một phần của quá trình đào tạo. bạn có thể cập nhật câu trả lời của mình để giải thích rằng xem xét kết luận của bạn rằng đó "chỉ là một đầu vào khác"?
AwokeKnowing

@AwokeKnowing Tôi không nhớ điều đó từ lớp của Andrew Ng, nhưng đó là một vài năm trước. Ngoài ra Bias có thể bật hoặc tắt tùy thuộc vào những gì bạn đang cố gắng học. Tôi đọc rằng trong xử lý hình ảnh họ không sử dụng nó để cho phép nhân rộng. Đối với tôi nếu bạn sử dụng nó, bạn cũng sử dụng nó trong đào tạo. Hiệu quả là ổn định hệ số khi tất cả hoặc một phần của đầu vào là null hoặc gần như null. Tại sao bạn không sử dụng sai lệch trong quá trình đào tạo và sau đó sử dụng nó khi sử dụng NN để dự đoán đầu ra cho đầu vào mới? Làm thế nào mà có thể hữu ích?
RobMcZag

Không, nó giống như, sử dụng nó trong chuyển tiếp, nhưng không sử dụng nó khi tính toán độ dốc cho backprop, hoặc đại loại như thế.
Đánh thức

@AwokeKnowing Tôi cho rằng đó là một cách để tiết kiệm bộ nhớ và thời gian. Bạn có thể quyết định rằng bạn không quan tâm để tìm hiểu hệ số cho các đơn vị thiên vị. Điều đó có thể ổn nếu bạn có ít nhất một lớp ẩn vì sự thiên vị sẽ cung cấp một số đầu vào cho lớp đó và đầu ra có thể được học bởi các hệ số từ lớp thứ nhất đến lớp thứ hai. Tôi không chắc nếu tốc độ hội tụ sẽ thay đổi. Trong ví dụ một lớp của tôi, bạn buộc phải học cả hệ số sai lệch khi nó được áp dụng cho đầu ra.
RobMcZag

Trong nhiều vấn đề đơn giản, dữ liệu đích đã được giảm và thu nhỏ, do đó không cần sai lệch. Và khả năng ảnh hưởng ngoại lệ quá mức trong các biến có phạm vi lớn sẽ giảm.
IRTFM

9

Khác với câu trả lời được đề cập..Tôi muốn thêm một số điểm khác.

Bias hoạt động như mỏ neo của chúng tôi. Đó là một cách để chúng ta có một số loại đường cơ sở mà chúng ta không đi dưới đó. Về mặt đồ thị, hãy nghĩ như y = mx + b nó giống như một hàm chặn y của hàm này.

output = input lần giá trị trọng số và thêm giá trị sai lệch và sau đó áp dụng chức năng kích hoạt.


8

Nghĩ theo cách đơn giản, nếu bạn có y = w1 * x trong đó y là đầu ra của bạn và w1 là trọng số hãy tưởng tượng một điều kiện trong đó x = 0 thì y = w1 * x bằng 0 , Nếu bạn muốn cập nhật trọng lượng của mình, bạn có để tính toán mức độ thay đổi của delw = target-y trong đó mục tiêu là đầu ra mục tiêu của bạn, trong trường hợp này 'delw' sẽ không thay đổi vì y được tính là 0. Vì vậy, giả sử nếu bạn có thể thêm một số giá trị bổ sung, nó sẽ giúp y = w1 * x + w0 * 1 , trong đó bias = 1 và trọng số có thể được điều chỉnh để có được độ lệch chính xác. Xem xét ví dụ dưới đây.

Về mặt đường thẳng Ngang chặn là một dạng cụ thể của phương trình tuyến tính.

y = mx + b

kiểm tra hình ảnh

hình ảnh

ở đây b là (0,2)

nếu bạn muốn tăng nó lên (0,3), bạn sẽ làm thế nào bằng cách thay đổi giá trị của b, đó sẽ là sự thiên vị của bạn


7

Đối với tất cả các sách ML tôi đã nghiên cứu, W luôn được định nghĩa là chỉ số kết nối giữa hai nơ-ron, có nghĩa là kết nối giữa hai nơ-ron càng cao, tín hiệu sẽ được truyền từ nơ-ron bắn tới nơ-ron đích hoặc Y = w * càng mạnh X là kết quả để duy trì đặc tính sinh học của các nơ-ron, chúng ta cần giữ 1> = W> = -1, nhưng trong hồi quy thực, W sẽ kết thúc với | W | > = 1 mâu thuẫn với cách các Neuron hoạt động, kết quả là tôi đề xuất W = cos (theta), trong khi 1> = | cos (theta) | và Y = a * X = W * X + b trong khi a = b + W = b + cos (theta), b là một số nguyên


7

Trong các mạng lưới thần kinh:

  1. Mỗi Neuron có một thành kiến
  2. Bạn có thể xem độ lệch là ngưỡng (thường là giá trị ngược của ngưỡng)
  3. Tổng trọng số từ các lớp đầu vào + sai lệch quyết định kích hoạt nơ-ron
  4. Xu hướng tăng tính linh hoạt của mô hình.

Trong trường hợp không có sai lệch, nơ ron có thể không được kích hoạt bằng cách chỉ xem xét tổng trọng số từ lớp đầu vào. Nếu tế bào thần kinh không được kích hoạt, thông tin từ tế bào thần kinh này sẽ không được truyền qua phần còn lại của mạng lưới thần kinh.

Giá trị của sự thiên vị là có thể học hỏi.

nhập mô tả hình ảnh ở đây

Hiệu quả, thiên vị = - ngưỡng. Bạn có thể nghĩ về thiên vị là làm cho nơ-ron tạo ra 1 dễ dàng như thế nào - với độ lệch thực sự lớn, rất dễ để nơ-ron tạo ra 1, nhưng nếu sai lệch rất tiêu cực thì rất khó.

tóm lại: bias giúp kiểm soát giá trị mà tại đó chức năng kích hoạt sẽ kích hoạt.

Theo dõi video này để biết thêm chi tiết

Một số liên kết hữu ích hơn:

geekforgeek

hướng tới


1
Giải thích tốt đẹp. Nhưng tôi không rõ làm thế nào sự thiên vị có thể học được (hoặc có thể đào tạo?). Trong một trường hợp đơn giản khi mất = ReLU (omega * x + a), trọng lượng omega có thể được đào tạo thông qua quy tắc chuỗi, nhưng làm thế nào có athể đào tạo được độ lệch khi độ dốc aluôn luôn là một hằng số?
Libin Wen

4

Thuật ngữ thiên vị được sử dụng để điều chỉnh ma trận đầu ra cuối cùng như chặn y. Chẳng hạn, trong phương trình cổ điển, y = mx + c, nếu c = 0, thì dòng sẽ luôn đi qua 0. Thêm thuật ngữ thiên vị cung cấp tính linh hoạt cao hơn và khái quát hóa tốt hơn cho mô hình Mạng thần kinh của chúng tôi.


0

Nói chung, trong học máy, chúng ta có công thức cơ bản Bias-Variance Tradeoff Bởi vì trong NN, chúng ta có vấn đề về Quá mức (vấn đề khái quát hóa mô hình trong đó những thay đổi nhỏ trong dữ liệu dẫn đến những thay đổi lớn trong kết quả mô hình) và do đó chúng ta có sự khác biệt lớn, giới thiệu một thiên vị nhỏ có thể giúp rất nhiều. Xem xét công thức trên Bias-Variance Tradeoff , trong đó bình phương là bình phương, do đó đưa ra sai lệch nhỏ có thể dẫn đến giảm phương sai rất nhiều. Vì vậy, giới thiệu thiên vị, khi bạn có phương sai lớn và quá nguy hiểm.


3
Các đơn vị thiên vị và sự đánh đổi sai lệch là những khái niệm riêng biệt. Câu hỏi là về trước đây.
SigmaX

0

Sự thiên vị giúp có được một phương trình tốt hơn

Tưởng tượng đầu vào và đầu ra giống như một hàm y = ax + bvà bạn cần đặt đúng đường giữa đầu vào (x) và đầu ra (y) để giảm thiểu lỗi toàn cầu giữa mỗi điểm và đường, nếu bạn giữ phương trình như thế này y = ax, bạn sẽ có một tham số chỉ thích ứng, ngay cả khi bạn thấy agiảm thiểu tối đa lỗi toàn cầu, nó sẽ nằm cách xa giá trị mong muốn

Bạn có thể nói sai lệch làm cho phương trình linh hoạt hơn để thích ứng với các giá trị tốt nhất

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.