2011-01-12 79 views
73

Đây là câu hỏi chính, liên quan đến lý thuyết về mạng thần kinh:Tại sao chúng ta phải chuẩn hóa đầu vào cho mạng thần kinh nhân tạo?

Tại sao chúng ta phải chuẩn hóa đầu vào cho mạng nơron?

Tôi hiểu rằng đôi khi, ví dụ như các giá trị đầu vào không phải là số, một phép biến đổi nhất định phải được thực hiện, nhưng khi chúng ta có đầu vào số? Tại sao các con số phải trong một khoảng thời gian nhất định?

Điều gì sẽ xảy ra nếu dữ liệu không được chuẩn hóa?

Trả lời

64

Giải thích rõ ràng here.

Nếu các biến đầu vào được kết hợp tuyến tính, như trong MLP, thì đó là hiếm khi cần thiết để chuẩn hóa đầu vào, ít nhất theo lý thuyết. Lý do là bất kỳ thay đổi tỷ lệ nào của véc tơ đầu vào có thể được hoàn tác hiệu quả bằng cách thay đổi trọng số và độ lệch tương ứng, để lại chính xác kết quả đầu ra giống như bạn đã có trước đây. Tuy nhiên, có một loạt các lý do thực tế của lý do tại sao tiêu chuẩn hóa các yếu tố đầu vào có thể làm cho việc đào tạo nhanh hơn và giảm bớt các cơ hội bị kẹt trong optima địa phương . Ngoài ra, trọng lượng phân rã và Bayesian ước tính có thể được thực hiện thuận tiện hơn với đầu vào tiêu chuẩn hóa.

+0

Xin chào, Trong MLP, không thể tiêu chuẩn hóa các tính năng trong khi sử dụng tỷ lệ học tập không đổi gây ra quá/undercompensation trong sửa chữa backpropagation cho các kích thước khác nhau? Tôi đang tự hỏi từ bài sau đây nếu điều này là độc quyền cho CNNs, hoặc nếu MLPs có thể chia sẻ vấn đề này: https://stats.stackexchange.com/questions/185853/why-do-we-need-to-normalize-the -images-before-we-put-them-into-cnn – Austin

7

Nhìn vào mạng thần kinh từ bên ngoài, nó chỉ là một hàm lấy một số đối số và tạo ra kết quả. Như với tất cả các chức năng, nó có một tên miền (nghĩa là một tập các đối số pháp lý). Bạn phải chuẩn hóa các giá trị mà bạn muốn chuyển tới mạng thần kinh để đảm bảo rằng nó nằm trong miền. Như với tất cả các hàm, nếu các đối số không có trong miền, kết quả không được đảm bảo là thích hợp.

Hành vi chính xác của mạng neural trên các đối số bên ngoài miền phụ thuộc vào việc thực hiện mạng neural. Nhưng nhìn chung, kết quả là vô ích nếu các đối số không nằm trong miền.

+1

Giải thích tốt nhất ... –

+0

Đây là một lời giải thích tốt – disklosr

15

Một số đầu vào cho NN có thể không có dải giá trị 'được xác định tự nhiên'. Ví dụ, giá trị trung bình có thể chậm, nhưng liên tục tăng theo thời gian (ví dụ một số bản ghi trong cơ sở dữ liệu).

Trong trường hợp này, việc cung cấp giá trị thô này vào mạng của bạn sẽ không hoạt động tốt. Bạn sẽ dạy cho mạng của bạn về các giá trị từ phần dưới của phạm vi, trong khi đầu vào thực tế sẽ là từ phần cao hơn của phạm vi này (và khá có thể trên phạm vi, mà mạng đã học để làm việc với).

Bạn nên chuẩn hóa giá trị này. Ví dụ, bạn có thể cho mạng biết giá trị đã thay đổi kể từ lần nhập trước đó bao nhiêu. Sự gia tăng này thường có thể được xác định với xác suất cao trong một phạm vi cụ thể, làm cho nó trở thành một đầu vào tốt cho mạng.

+0

Gợi ý tốt về việc chuẩn hóa khi tập hợp các đầu vào trước đó. Điều này làm giảm người dùng xác định một yếu tố bình thường tùy ý. Tuy nhiên tôi nghi ngờ mạng sẽ đào tạo chính xác hơn nếu hệ số chuẩn hóa là một hằng số toàn cục được áp dụng cho mỗi vectơ đầu vào. – davide

-5

Các lớp ẩn được sử dụng phù hợp với độ phức tạp của dữ liệu của chúng tôi. Nếu chúng tôi có dữ liệu đầu vào có thể phân tách tuyến tính thì chúng tôi không cần sử dụng lớp ẩn, ví dụ: OR cổng nhưng nếu chúng ta có một dữ liệu không tách rời tuyến tính thì chúng ta cần phải sử dụng lớp ẩn cho ví dụ cổng logic ExOR. Số lượng nút được chụp ở bất kỳ lớp nào phụ thuộc vào mức độ xác thực chéo của đầu ra của chúng tôi.

1

Lý do bình thường là cần thiết bởi vì nếu bạn xem xét cách bước thích ứng tiếp tục ở một vị trí trong miền của hàm và bạn chỉ đơn giản là chuyển vấn đề đến tương đương với cùng một bước được dịch bởi một số giá trị lớn trong một số hướng trong miền, sau đó bạn nhận được kết quả khác nhau. Nó tóm tắt câu hỏi của việc thích nghi một mảnh tuyến tính đến một điểm dữ liệu. Mảnh di chuyển bao nhiêu mà không cần quay và nó sẽ quay bao nhiêu để đáp ứng với một điểm đào tạo đó? Nó không có ý nghĩa để có một thủ tục thích ứng thay đổi trong các phần khác nhau của miền! Vì vậy, bình thường hóa là cần thiết để giảm sự khác biệt trong kết quả đào tạo. Tôi đã không có điều này bằng văn bản, nhưng bạn chỉ có thể nhìn vào toán học cho một chức năng tuyến tính đơn giản và làm thế nào nó được đào tạo bởi một điểm đào tạo ở hai nơi khác nhau. Vấn đề này có thể đã được sửa chữa ở một số nơi, nhưng tôi không quen thuộc với chúng. Trong ALN, vấn đề đã được sửa chữa và tôi có thể gửi cho bạn một giấy nếu bạn viết thư cho wwarmstrong AT shaw.ca

33

Trong mạng thần kinh, ý tưởng tốt không chỉ là chuẩn hóa dữ liệu mà còn quy mô chúng. Điều này được dự định để tiếp cận nhanh hơn với minima toàn cầu ở bề mặt lỗi. Xem những hình ảnh sau đây: error surface before and after normalization

error surface before and after scaling

Hình được lấy từ coursera course về mạng nơ-ron. Tác giả của course là Geoffrey Hinton.

+3

Nó sẽ là tốt đẹp của bạn để ghi nhận tác giả của đồ họa bạn đăng. Hình ảnh được chụp rõ ràng từ [khóa học coursera của Geoffrey Hinton] (https://www.coursera.org/learn/neural-networks/). –

+3

Lưu ý tốt Ricardo !!! –

0

Tôi tin rằng câu trả lời phụ thuộc vào kịch bản.

Xem xét NN (mạng nơron) làm toán tử F, sao cho F (đầu vào) = đầu ra. Trong trường hợp quan hệ này là tuyến tính sao cho F (đầu vào A *) = A * đầu ra, thì bạn có thể chọn để đầu vào/đầu ra không bình thường trong dạng thô hoặc chuẩn hóa cả hai để loại bỏ A. Rõ ràng tuyến tính này giả định bị vi phạm trong nhiệm vụ phân loại, hoặc gần như bất kỳ nhiệm vụ nào đưa ra xác suất, trong đó F (đầu vào A *) = 1 * đầu ra

Thực tế, bình thường hóa cho phép các mạng không thể chuyển được, là yếu tố quyết định thí nghiệm/lập trình viên. Tuy nhiên, tác động chính xác của việc chuẩn hóa sẽ không chỉ phụ thuộc vào kiến ​​trúc/thuật toán mạng mà còn phụ thuộc vào thống kê trước cho đầu vào và đầu ra. Hơn nữa, NN thường được thực hiện để giải quyết các vấn đề rất khó trong thời trang hộp đen, có nghĩa là vấn đề cơ bản có thể có công thức thống kê rất kém, khó đánh giá tác động của bình thường hóa, gây ra lợi thế kỹ thuật (trở thành fittable) để thống trị hơn tác động của nó trên các số liệu thống kê.

Theo ý nghĩa thống kê, việc chuẩn hóa sẽ loại bỏ biến thể được cho là không phải là nguyên nhân trong dự đoán đầu ra, để ngăn không cho NN tìm hiểu biến thể này như một yếu tố dự báo (NN không thấy biến thể này, do đó không thể sử dụng nó).

Các vấn đề liên quan