Perceptionron nhiều lớp so với mạng lưới thần kinh sâu


16

Đây là một câu hỏi về thuật ngữ. Đôi khi tôi thấy mọi người gọi các mạng lưới thần kinh sâu là "tri giác đa tầng", tại sao lại như vậy? Một perceptron, tôi đã được dạy, là một bộ phân loại một lớp (hoặc biến hồi quy) với đầu ra ngưỡng nhị phân sử dụng một cách cụ thể để đào tạo các trọng số (không phải là back-prop). Nếu đầu ra của perceptron không khớp với đầu ra đích, chúng ta sẽ cộng hoặc trừ vectơ đầu vào thành các trọng số (tùy thuộc vào việc perceptron cho kết quả dương tính giả hay âm tính giả). Đây là một thuật toán học máy khá nguyên thủy. Quy trình đào tạo dường như không khái quát hóa cho trường hợp nhiều lớp (ít nhất là không phải không sửa đổi). Một mạng lưới thần kinh sâu được đào tạo thông qua backprop sử dụng quy tắc chuỗi để truyền các gradient của hàm chi phí trở lại thông qua tất cả các trọng số của mạng.

Vì vậy, câu hỏi là. Là một "tri giác đa lớp" có giống với "mạng lưới thần kinh sâu" không? Nếu vậy, tại sao thuật ngữ này được sử dụng? Nó dường như là khó hiểu không cần thiết. Ngoài ra, giả sử thuật ngữ này có thể hoán đổi cho nhau, tôi chỉ thấy thuật ngữ "tri giác đa lớp" khi đề cập đến một mạng chuyển tiếp được tạo thành từ các lớp được kết nối đầy đủ (không có lớp chập hoặc kết nối lặp lại). Làm thế nào rộng là thuật ngữ này? Liệu người ta có sử dụng thuật ngữ "perceptionron nhiều lớp" khi đề cập đến, ví dụ, mạng Inception không? Làm thế nào về một mạng lặp lại sử dụng các mô-đun LSTM được sử dụng trong NLP?


1
Mạng lưới thần kinh sâu = mạng lưới thần kinh với> 1 lớp ẩn, MLP rơi vào loại này.
Tim

nó chỉ đổi thương hiệu. MLP đã được thổi phồng vào những năm 90 và được thay thế bởi các SVM, vì vậy cần phải gọi nó là một cái gì đó khác biệt vào những năm 2000. gợi ý là dnn có nhiều lớp hơn, nhưng sự khác biệt không quá lớn, ví dụ Le Net [MLP / CNN] (1998) 2 tích chập 2 được kết nối đầy đủ. alexnet = DNN (2012) 5 tích chập và 3 kết nối đầy đủ.
seanv507

Các SVM dựa trên độ dốc tăng dần, ANN dựa trên độ dốc gốc để chúng thực sự không thay thế ANN. Các SVM bị bán quá mức và bị lạm dụng vì học sinh tốt nghiệp không biết gì về ANN. Để chạy SVM, sinh viên chỉ cần lấy các gói R và đã xong. Nhưng đối với ANN, bạn cần cả một học kỳ để hiểu chúng từ góc độ phương pháp số - không phải là quan điểm ngôn ngữ diễn giải (nghĩa là tát mã với nhau).
JoleT

Câu trả lời:


21

Người ta có thể coi perceptionron nhiều lớp (MLP) là một tập hợp con của mạng nơ ron sâu (DNN), nhưng thường được sử dụng thay thế cho nhau trong tài liệu.

Giả định rằng các tri giác được đặt tên dựa trên quy tắc học tập của chúng là không chính xác. "Quy tắc cập nhật perceptron" cổ điển là một trong những cách có thể được sử dụng để huấn luyện nó. Sự từ chối sớm của các mạng thần kinh là vì lý do này, vì quy tắc cập nhật perceptron có xu hướng biến mất và làm nổ các gradient, khiến cho không thể đào tạo các mạng có nhiều hơn một lớp.

Việc sử dụng lan truyền ngược trong các mạng đào tạo đã dẫn đến việc sử dụng các chức năng kích hoạt squash xen kẽ như tanhsigmoid .

Vì vậy, để trả lời các câu hỏi,

câu hỏi là. Là một "tri giác đa lớp" có giống với "mạng lưới thần kinh sâu" không?

MLP là tập hợp con của DNN. Trong khi DNN có thể có các vòng lặp và MLP luôn chuyển tiếp, nghĩa là,

Một tri giác đa lớp (MLP) là một đồ thị chu kỳ hữu hạn

Tại sao thuật ngữ này được sử dụng?

Rất nhiều thuật ngữ được sử dụng trong các tài liệu của khoa học đã được sử dụng theo xu hướng của thời đại và đã bắt kịp.

Làm thế nào rộng là thuật ngữ này? Liệu người ta có sử dụng thuật ngữ "perceptionron nhiều lớp" khi đề cập đến, ví dụ, mạng Inception không? Làm thế nào về một mạng lặp lại sử dụng các mô-đun LSTM được sử dụng trong NLP?

Vì vậy, có sự khởi đầu, mạng chập, resnet, v.v ... đều là MLP vì không có chu kỳ giữa các kết nối. Ngay cả khi có một kết nối phím tắt bỏ qua các lớp, miễn là nó theo hướng thuận, nó có thể được gọi là một tri giác đa lớp. Nhưng, các LSTM hoặc Vanilla RNNs v.v ... có các kết nối tuần hoàn, do đó không thể được gọi là MLP mà là một tập hợp con của DNN.

Đây là sự hiểu biết của tôi về mọi thứ. Xin hãy sửa tôi nếu tôi sai.

Liên kết tham khảo:

/cs/53521/what-is-difference-b between-mult lớp-perceptron-and-multlay-neural-network

https://en.wikipedia.org/wiki/Mult Lớp_perceptron

https://en.wikipedia.org/wiki/Perceptron

http://ml.informatik.uni-freiburg.de/former/_media/teaching/ss10/05_mlps.printer.pdf


1
Chỉ tò mò thôi: Tôi nghĩ hồi quy logistic một kỹ thuật hồi quy vì bạn ước tính xác suất thành viên lớp 1, thay vì thành viên lớp. Vì vậy, nó dường như không phải là một kỹ thuật phân loại đối với tôi (nhà nghiên cứu / nhà phân tích phải quyết định cắt bỏ xác suất để phân loại dựa trên hồi quy logistic).
IWS

@IWS bạn nói đúng. Nhiều người dùng trên trang này đã nhiều lần đưa ra quan điểm rằng hồi quy logistic là mô hình cho ước tính xác suất (có điều kiện), không phải là phân loại. Xem ví dụ ở đây .
DeltaIV

1
Đã chỉnh sửa phản hồi để sửa chữa Ví dụ: "hồi quy logistic" là một kỹ thuật phân loại và không nên được gọi là "hồi quy" nếu có thể nói như vậy . Liên kết được chia sẻ bởi @DeltaIV cho thấy rất rõ lý do tại sao nó là hồi quy và không phải là phân loại.
m1cro1ce

8

Câu hỏi hay: lưu ý rằng trong lĩnh vực Deep Learning, mọi thứ không phải lúc nào cũng được cắt ghép và định nghĩa rõ ràng như trong Học thống kê (cũng bởi vì có rất nhiều sự cường điệu), vì vậy đừng mong đợi tìm thấy các định nghĩa khắt khe như trong Toán học. Dù sao, perceptionron đa lớp là một kiến ​​trúc mạng thần kinh chuyển tiếp nguồn cấp dữ liệu cụ thể, trong đó bạn xếp chồng nhiều lớp được kết nối đầy đủ (vì vậy, không có lớp chập nào), trong đó các chức năng kích hoạt của các đơn vị ẩn thường là một sigmoid hoặc tanh. Các nút của lớp đầu ra thường có các hàm kích hoạt softmax (để phân loại) hoặc các hàm kích hoạt tuyến tính (cho hồi quy). Các kiến ​​trúc MLP điển hình không "sâu", nghĩa là chúng ta không có nhiều lớp ẩn. Bạn thường có 1 đến 5 lớp ẩn. Những mạng lưới thần kinh này là phổ biến trong '80,

Bây giờ, với Mạng lưới thần kinh sâu, chúng tôi muốn nói đến một mạng có nhiều lớp (19, 22, 152, ... thậm chí > 1200 , mặc dù điều đó phải thừa nhận là rất cực đoan). Lưu ý rằng

  • chúng tôi chưa chỉ định kiến ​​trúc của mạng, vì vậy đây có thể là chuyển tiếp, lặp lại, v.v.
  • chúng tôi chưa chỉ định bản chất của các kết nối, vì vậy chúng tôi có thể có các lớp được kết nối đầy đủ, các lớp chập, tái phát, v.v.
  • Các lớp "nhiều" thừa nhận không phải là một định nghĩa nghiêm ngặt.

32×32+32×10= =134411584trọng lượng. Đây là một NN rất nhỏ theo tiêu chuẩn ngày nay. Tuy nhiên, khi bạn tiếp tục huấn luyện nó trên một tập dữ liệu lớn phù hợp, bạn thấy rằng tốc độ hội tụ đã chậm lại rất nhiều. Điều này không chỉ do số lượng trọng lượng lớn hơn, mà còn do vấn đề độ dốc biến mất - lan truyền ngược tính toán độ dốc của hàm mất bằng cách nhân các lỗi trên mỗi lớp và các số nhỏ này trở nên nhỏ hơn theo cấp số nhân khi bạn thêm nhiều lớp. Do đó, các lỗi không lan truyền (hoặc lan truyền rất chậm) xuống mạng của bạn và có vẻ như lỗi trên tập huấn luyện ngừng giảm khi các kỷ nguyên đào tạo.

Và đây là một mạng nhỏ - Mạng nơ ron kết hợp sâu có tên AlexNet có 5 lớp nhưng 60 triệu trọng lượng và được coi là nhỏ theo tiêu chuẩn ngày nay! Khi bạn có quá nhiều trọng lượng, thì bất kỳ bộ dữ liệu nào cũng "nhỏ" - ngay cả ImageNet, một bộ dữ liệu hình ảnh được sử dụng để phân loại, chỉ "khoảng" khoảng 1 triệu hình ảnh, do đó, nguy cơ quá mức lớn hơn nhiều so với mạng nông.

Do đó, Deep Learning có thể được hiểu là tập hợp các công cụ được sử dụng trong thực tế để huấn luyện các mạng lưới thần kinh với số lượng lớn các lớp và trọng lượng, đạt được lỗi tổng quát hóa thấp. Nhiệm vụ này đặt ra nhiều thách thức hơn đối với các mạng nhỏ hơn. Bạn chắc chắn có thể xây dựng một Perceptron đa lớp sâu và huấn luyện nó - nhưng (ngoài thực tế nó không phải là kiến ​​trúc tối ưu cho nhiều tác vụ mà Deep Learning được sử dụng ngày nay), bạn có thể sẽ sử dụng các công cụ khác với các công cụ được sử dụng khi sử dụng mạng "Nông cạn". Ví dụ: bạn có thể thích các đơn vị kích hoạt ReLU hơn sigmoid hoặc tanh, vì chúng làm dịu vấn đề độ dốc biến mất.


Câu trả lời trước đây của m1cro1ce nói rằng một mạng lưới (như khởi động) cũng có thể được phân loại là MLP, trong khi bạn xác định rằng MLP không thể có các lớp chập (và có vẻ như bạn đang ám chỉ rằng lựa chọn chức năng kích hoạt cũng ảnh hưởng đến những gì có thể được gọi là MLP hay không?). Có sự đồng ý trong tài liệu (hoặc trong cộng đồng ML) về chính xác MLP nghĩa là gì và ý nghĩa của nó không? Nếu ai đó nói với tôi "Tôi muốn bạn xây dựng MLP cho nhiệm vụ X" thì tôi bị hạn chế làm gì?
enumaris

@enumaris bạn không bị pháp luật hạn chế làm bất cứ điều gì. Lần trước tôi đã kiểm tra, việc xây dựng một CNN và gọi nó là MLP là hợp pháp. Tất nhiên tôi sẽ từ chối một tờ giấy / poster / bất cứ thứ gì, nhưng đó là tôi và tôi không thể nói cho cả cộng đồng DL vốn không nổi tiếng vì sử dụng thuật ngữ nghiêm ngặt. Dù sao, định nghĩa của tôi: mạng nơ ron chuyển tiếp với lớp được kết nối đầy đủ và ít nhất là một số chức năng kích hoạt phi tuyến (nếu không, cho dù có bao nhiêu lớp, nó luôn tương đương với một mạng tuyến tính một lớp) giống như bạn có thể tìm thấy trong .. .
DeltaIV

... Wikipedia . Lưu ý dòng trong phần lớp "Vì MLP được kết nối đầy đủ [..]". Điều này loại trừ CNNs. Bạn có thể tìm thấy định nghĩa tương tự (chuyển tiếp nguồn cấp dữ liệu, được kết nối đầy đủ, ít nhất là các lớp ẩn có chức năng kích hoạt phi tuyến) trong cuốn sách này . Liên quan đến các chức năng kích hoạt, tôi chắc chắn không ngụ ý gì cả. Tôi chỉ nói rằng MLP thường có chức năng kích hoạt tanh hoặc sigmoid, nhưng điều đó không bắt buộc.
DeltaIV

Tôi muốn đánh dấu một trong 2 câu trả lời này là câu trả lời được chấp nhận, nhưng vì chúng đưa ra câu trả lời mâu thuẫn, tôi muốn biết câu trả lời nào thường được tìm thấy trong tài liệu hoặc trong cộng đồng ML.
enumaris

@enumaris tiêu đề của câu hỏi của bạn là "Perceptionron nhiều lớp so với mạng nơ ron sâu" và bạn hỏi nếu a "multi-layer perceptron" the same thing as a "deep neural network": câu hỏi này đã được trả lời chi tiết, cả trong câu trả lời của tôi và m1cro1ce. Bây giờ bạn đang đặt câu hỏi "CNN có phải là tập con của MLP không?" - các trang web Stack Exchange có chính sách một câu hỏi cho bài viết .
DeltaIV

0

Tôi muốn thêm rằng theo những gì tôi đã đọc từ nhiều bài viết:

Có nhiều kiến ​​trúc khác nhau thông qua DNN như: MLP (Perceptionron nhiều lớp) và CNN (Mạng thần kinh chuyển đổi). Vì vậy, loại DNN khác nhau được thiết kế để giải quyết các loại vấn đề khác nhau.

MLP là loại NN cổ điển được sử dụng cho:

  • Tập dữ liệu dạng bảng (chứa dữ liệu ở định dạng cột như trong bảng cơ sở dữ liệu).
  • Phân loại / hồi quy, pbs dự đoán.

MLP rất và có thể được sử dụng nói chung để ánh xạ nghiêng từ đầu vào đến đầu ra.

Nhưng bạn có thể thử định dạng khác như dữ liệu hình ảnh làm điểm so sánh đường cơ sở để xác nhận rằng các mô hình khác phù hợp hơn.

CNN được thiết kế để ánh xạ dữ liệu hình ảnh đến một biến đầu ra. Nó được sử dụng cho :

  • Dữ liệu hình ảnh,
  • phân loại / dự báo hồi quy pbs,

Nó hoạt động tốt với dữ liệu có mối quan hệ Spacial .

Theo truyền thống, nó được sử dụng cho dữ liệu 2D nhưng nó có thể được sử dụng cho dữ liệu 1D, CNN đạt được trạng thái nghệ thuật trên một số pbs 1D.

Trước tiên, bạn phải "xác định rõ ràng" những gì bạn nhắm đến để giải quyết vấn đề (loại dữ liệu nào cần xử lý, vấn đề phân loại / hồi quy ... vv) để biết loại kiến ​​trúc nào sẽ sử dụng.

Bạn có thể tham khảo những liên kết rất hữu ích với tôi để hiểu thêm về những khái niệm đó :).

Hy vọng phần bổ sung này sẽ hữu ích: p.

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.