Sự khác biệt giữa mạng lưới thần kinh tích chập và học sâu là gì?


25

Tôi muốn sử dụng học tập sâu trong dự án của tôi. Tôi đã xem qua một vài bài báo và một câu hỏi xảy ra với tôi: có sự khác biệt nào giữa mạng thần kinh tích chập và học sâu không? Là những điều này giống nhau hoặc chúng có bất kỳ sự khác biệt lớn, và cái nào tốt hơn?


Hãy cho tôi biết sự khác biệt chính xác từ mạng lưới thần kinh học tập sâu và tích chập Tôi có một số nhầm lẫn ở 2 chủ đề này
Yamini

Câu trả lời:


33

Deep Learning là một nhánh của Machine Learning dựa trên Deep Neural Networks (DNNs), nghĩa là các mạng thần kinh có ít nhất 3 hoặc 4 lớp (bao gồm cả lớp đầu vào và đầu ra). Nhưng đối với một số người (đặc biệt là phi kỹ thuật), bất kỳ mạng lưới thần kinh nào cũng đủ điều kiện là Deep Learning, bất kể độ sâu của nó. Và những người khác coi một mạng lưới thần kinh 10 lớp là nông.

Mạng thần kinh chuyển đổi (CNNs) là một trong những kiến ​​trúc mạng thần kinh phổ biến nhất. Họ cực kỳ thành công trong việc xử lý hình ảnh, nhưng cũng cho nhiều nhiệm vụ khác (như nhận dạng giọng nói, xử lý ngôn ngữ tự nhiên và hơn thế nữa). Trạng thái của các CNN nghệ thuật khá sâu (ít nhất là hàng chục lớp), vì vậy chúng là một phần của Deep Learning. Nhưng bạn có thể xây dựng một CNN nông cho một nhiệm vụ đơn giản, trong trường hợp đó không phải là (thực sự) Deep Learning.

Nhưng CNN không đơn độc, có rất nhiều kiến ​​trúc mạng thần kinh khác, bao gồm Mạng thần kinh tái phát (RNN), Autoencoders, Transformers, Deep Belief Nets (DBN = một nhóm các máy Boltzmann bị hạn chế, RBM), v.v. Chúng có thể nông hoặc sâu. Lưu ý: ngay cả các RNN nông cũng có thể được coi là một phần của Deep Learning vì việc đào tạo chúng đòi hỏi phải kiểm soát chúng theo thời gian, dẫn đến một mạng lưới sâu.


@MiniQurak. Xin hãy sửa tôi là tôi sai. Điều tôi hiểu là CNN chỉ là một trong những kiến ​​trúc của các mạng sâu giống như Autoencoders, Deep Belief Nets, Recapse Neural Networks (RNN) .. có đúng không?
Aadnan Farooq A

Vâng đúng rồi.
MiniQuark

sau đó chúng ta có thể nói kiến ​​trúc nào tốt hơn tùy thuộc vào tập dữ liệu không? hoặc các yếu tố chính là gì?
Aadnan Farooq A

1
CNN là tuyệt vời cho các nhiệm vụ nhận dạng hình ảnh. Chúng cũng tỏa sáng bất cứ khi nào dữ liệu có một số dạng cấu trúc phân cấp, với các mẫu cục bộ (ví dụ: các đoạn đường) được lắp ráp thành các mẫu lớn (ví dụ: hình vuông, hình tam giác), được lắp ráp thành các mẫu lớn hơn (ví dụ: nhà, mặt phẳng). Điều này hoạt động tốt cho các nhiệm vụ nhận dạng giọng nói. RNN là tuyệt vời cho chuỗi thời gian (ví dụ: dự đoán thời tiết) và thường xử lý các chuỗi dữ liệu (ví dụ: câu). Chúng được sử dụng rất nhiều cho NLP (xử lý ngôn ngữ tự nhiên). AutoEncoders không được giám sát, họ tìm hiểu các mẫu trong dữ liệu.
MiniQuark

1
Được rồi :)
Firebird

21

Trong các lĩnh vực xử lý tín hiệu thích ứng / học máy, học sâu (DL) là một phương pháp cụ thể trong đó chúng ta có thể đào tạo các biểu diễn phức tạp cho máy móc.

Nói chung, họ sẽ có một công thức có thể ánh xạ , tất cả các cách đến mục tiêu đích, , thông qua một loạt các hoạt động được xếp theo thứ bậc (đây là nơi hoạt động của 'sâu') . Các hoạt động đó thường là các hoạt động / phép chiếu tuyến tính ( ), theo sau là một phi tuyến tính ( ), như vậy:xyWifi

y=fN(...f2(f1(xTW1)W2)...WN)

Bây giờ trong DL, có nhiều kiến trúc khác nhau : Một kiến ​​trúc như vậy được gọi là mạng lưới thần kinh tích chập (CNN). Một kiến ​​trúc khác được gọi là perceptionron nhiều lớp , (MLP), v.v ... Các kiến ​​trúc khác nhau cho vay để giải quyết các loại vấn đề khác nhau.

MLP có lẽ là một trong những loại kiến ​​trúc DL truyền thống nhất mà người ta có thể tìm thấy, và đó là khi mọi yếu tố của lớp trước, được kết nối với mọi thành phần của lớp tiếp theo. Nó trông như thế này:

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

Trong MLP, các ma trận mã hóa sự chuyển đổi từ lớp này sang lớp khác. (Qua một ma trận nhân lên). Ví dụ: nếu bạn có 10 nơ-ron trong một lớp được kết nối với 20 nơ-ron tiếp theo, thì bạn sẽ có ma trận , sẽ ánh xạ đầu vào thành đầu ra , thông qua: . Mỗi cột trong , mã hóa tất cả các cạnh đi từ tất cả các phần tử của một lớp, sang một trong các phần tử của lớp tiếp theo.WiWR10x20vR10x1uR1x20u=vTWW

MLP không được ủng hộ sau đó, một phần vì họ khó đào tạo. Mặc dù có nhiều lý do cho sự khó khăn đó, một trong số đó cũng là vì các kết nối dày đặc của họ không cho phép họ mở rộng quy mô dễ dàng cho các vấn đề về thị giác máy tính khác nhau. Nói cách khác, họ không có sự tương đương về dịch thuật. Điều này có nghĩa là nếu có tín hiệu trong một phần của hình ảnh mà họ cần phải nhạy cảm, họ sẽ cần học lại cách nhạy cảm với nó nếu tín hiệu đó di chuyển xung quanh. Điều này làm lãng phí năng lực của mạng, và vì vậy việc đào tạo trở nên khó khăn.

Đây là nơi CNN đến! Đây là những gì một người trông giống như:

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

Các CNN đã giải quyết vấn đề dịch tín hiệu, bởi vì chúng sẽ kết hợp từng tín hiệu đầu vào bằng một bộ dò, (hạt nhân) và do đó nhạy cảm với cùng một tính năng, nhưng lần này ở mọi nơi. Trong trường hợp đó, phương trình của chúng ta vẫn giống nhau, nhưng các ma trận trọng số thực sự là các ma trận toeplitz tích chập . Toán học là như nhau mặc dù. Wi

Người ta thường thấy "CNN" đề cập đến các mạng mà chúng ta có các lớp chập trên mạng và MLP ở cuối, vì vậy đó là một điều cần lưu ý.


1
+1 Câu trả lời tuyệt vời, tôi vừa tìm hiểu về ma trận toeplitz. ;-)
MiniQuark

@MiniQuark Cảm ơn! Có - bạn có thể viết ra một tích chập như một phép nhân với ma trận toeplitz. :)
Tarin Ziyaee

@TarinZiyaee và MiniQurak Các bạn có thể vui lòng gợi ý cho tôi bất kỳ cuốn sách / bài báo hay hướng dẫn hay cho người mới bắt đầu để tìm hiểu về Deep learning một cách chi tiết.
Aadnan Farooq A

CNNs không nhất thiết phải sâu (-1)
Firebug

7

Học sâu = mạng lưới thần kinh nhân tạo sâu + loại mô hình sâu khác .

Mạng nơ ron nhân tạo sâu = mạng nơ ron nhân tạo có hơn 1 lớp. (xem số lớp tối thiểu trong mạng nơ-ron sâu hoặc Wikipedia để biết thêm tranh luận)

Mạng thần kinh chuyển đổi = Một loại mạng thần kinh nhân tạo


Đủ công bằng, Deep Learning cũng bao gồm "Máy nhân đa lớp" và CNN có thể nông. :)
MiniQuark

@MiniQuark vâng.
Franck Dernoncourt

mạng nơ ron nhân tạo có nhiều hơn 1 lớp ..... Tôi không chắc một mạng chỉ có 2 lớp được gọi là mạng sâu.
SmallChess

1
@StudentT Có lẽ, tôi không làm công việc tiếp thị;) vi.wikipedia.org/w/
Kẻ

1
Đây phải là câu trả lời hàng đầu, bởi vì CNN không nhất thiết phải sâu sắc và Deep learning không chỉ là về ANN (theo nghĩa thông thường).
Firebug

6

Bản trình chiếu này của Yann LeCun đưa ra quan điểm rằng chỉ các mô hình có phân cấp tính năng (các tính năng cấp thấp hơn được học ở một lớp của mô hình và sau đó các tính năng đó được kết hợp ở cấp độ tiếp theo) là sâu sắc .

Một CNN có thể sâu hoặc nông; đó là trường hợp phụ thuộc vào việc nó có tuân theo cấu trúc "phân cấp tính năng" này hay không bởi vì các mạng thần kinh nhất định, bao gồm các mô hình 2 lớp , không sâu.

Định nghĩa của Yann LeCun


3

Deep learninglà một thuật ngữ chung để xử lý một mạng lưới thần kinh phức tạp với nhiều lớp. Không có định nghĩa chuẩn về chính xác là gì deep. Thông thường, bạn có thể nghĩ rằng một mạng sâu là một cái gì đó quá lớn cho máy tính xách tay và PC của bạn để đào tạo. Tập dữ liệu sẽ rất lớn đến nỗi bạn không thể lắp nó vào bộ nhớ của mình. Bạn có thể cần GPU để tăng tốc độ đào tạo của bạn.

Deep giống như một thuật ngữ tiếp thị để làm cho một cái gì đó nghe có vẻ chuyên nghiệp hơn so với khác.

CNNlà một loại mạng lưới thần kinh sâu, và có nhiều loại khác. CNN là phổ biến vì chúng có các ứng dụng rất hữu ích để nhận dạng hình ảnh.


Tôi muốn phản đối một vài trong số các tuyên bố này: một mạng thường được coi là sâu khi nó có nhiều hơn một lớp ẩn và hầu hết mọi người sẽ đồng ý rằng có hơn 10 lớp ẩn chắc chắn là sâu. Hoàn toàn có thể đào tạo các mạng sâu trên máy tính xách tay của bạn, tôi làm điều đó mọi lúc. Bộ dữ liệu không nhất thiết phải rất lớn, đặc biệt nếu bạn sử dụng phương pháp học chuyển (ví dụ: tái sử dụng các lớp từ mạng được xử lý trước) và / hoặc tăng dữ liệu. Chắc chắn có rất nhiều sự cường điệu xung quanh từ "sâu", nhưng có những kỹ thuật dành riêng cho việc học sâu để nó không chỉ là cường điệu. :)
MiniQuark

@MiniQuark Với tính năng tăng dữ liệu, bộ dữ liệu của bạn sẽ vẫn lớn, chỉ cần bạn bắt đầu với một cái gì đó nhỏ ...
SmallChess

Điểm tốt, bạn đúng. Điều tôi muốn nói là bộ dữ liệu sẽ phù hợp với bộ nhớ vì bạn sẽ tạo ra hầu hết dữ liệu một cách nhanh chóng.
MiniQuark
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.