Tại sao cộng đồng NLP và Machine Learning quan tâm đến việc học sâu?


24

Tôi hy vọng bạn có thể giúp tôi, vì tôi có một số câu hỏi về chủ đề này. Tôi là người mới trong lĩnh vực học sâu, và trong khi tôi thực hiện một số hướng dẫn, tôi không thể liên quan hoặc phân biệt các khái niệm với nhau.


8
Về cơ bản vì chúng mang lại kết quả hiện đại và loại bỏ nhu cầu về kỹ thuật tính năng.
Emre

2
Tôi sẽ đề nghị không sử dụng NLP và ML cùng nhau trong bối cảnh như vậy, như thể chúng là các thực thể có thể so sánh được. Họ là IMHO hai lĩnh vực riêng biệt. Mặc dù thực tế là NLP sử dụng rất nhiều cách tiếp cận, phương pháp, thuật toán và công cụ ML, NLP là một lĩnh vực được áp dụng, trong khi ML là một phương pháp chung (hơn).
Alexanderr Blekh

Câu trả lời:


27

Tại sao phải sử dụng mạng sâu?

Trước tiên chúng ta hãy cố gắng giải quyết nhiệm vụ phân loại rất đơn giản. Giả sử, bạn kiểm duyệt một diễn đàn web đôi khi tràn ngập các tin nhắn rác. Các thông điệp này rất dễ nhận dạng - thông thường chúng chứa các từ cụ thể như "mua", "khiêu dâm", v.v. và một URL tới các tài nguyên bên ngoài. Bạn muốn tạo bộ lọc sẽ cảnh báo bạn về những tin nhắn đáng ngờ như vậy. Việc này trở nên khá dễ dàng - bạn có được danh sách các tính năng (ví dụ: danh sách các từ đáng ngờ và sự hiện diện của URL) và huấn luyện hồi quy logistic đơn giản (còn gọi là perceptron), ví dụ như mô hình như:

g(w0 + w1*x1 + w2*x2 + ... + wnxn)

x1..xncác tính năng của bạn ở đâu (có sự hiện diện của từ cụ thể hoặc URL), w0..wn- các hệ số đã học và g()là một hàm logistic để tạo kết quả nằm trong khoảng từ 0 đến 1. Phân loại rất đơn giản, nhưng với tác vụ đơn giản này, nó có thể cho kết quả rất tốt, tạo ra ranh giới quyết định tuyến tính. Giả sử bạn chỉ sử dụng 2 tính năng, ranh giới này có thể trông giống như thế này:

ranh giới tuyến tính

Ở đây, 2 trục biểu thị các tính năng (ví dụ: số lần xuất hiện của từ cụ thể trong tin nhắn, được chuẩn hóa quanh 0), điểm đỏ ở lại cho thư rác và điểm màu xanh - đối với tin nhắn bình thường, trong khi dòng màu đen hiển thị đường phân cách.

Nhưng chẳng mấy chốc bạn nhận thấy rằng một số thông điệp tốt chứa rất nhiều từ "mua", nhưng không có URL, hoặc thảo luận mở rộng về phát hiện khiêu dâm , không thực sự giới thiệu đến phim khiêu dâm. Ranh giới quyết định tuyến tính đơn giản là không thể xử lý các tình huống như vậy. Thay vào đó bạn cần một cái gì đó như thế này:

ranh giới phi tuyến tính

Ranh giới quyết định phi tuyến tính mới này linh hoạt hơn nhiều , tức là nó có thể phù hợp với dữ liệu gần hơn nhiều. Có nhiều cách để đạt được tính phi tuyến tính này - bạn có thể sử dụng các tính năng đa thức (ví dụ x1^2) hoặc kết hợp của chúng (ví dụ x1*x2) hoặc chiếu chúng ra một chiều cao hơn như trong các phương thức kernel . Nhưng trong các mạng thần kinh, người ta thường giải quyết nó bằng cách kết hợp các tri giác hoặc nói cách khác, bằng cách xây dựng các tri giác đa lớp. Phi tuyến tính ở đây xuất phát từ chức năng logistic giữa các lớp. Càng nhiều lớp, các mẫu phức tạp hơn có thể được bao phủ bởi MLP. Một lớp (perceptron) có thể xử lý phát hiện thư rác đơn giản, mạng có 2-3 lớp có thể bắt được các kết hợp tính năng phức tạp và mạng 5-9 lớp, được sử dụng bởi các phòng thí nghiệm và công ty lớn như Google, có thể mô hình hóa toàn bộ ngôn ngữ hoặc phát hiện mèo trên hình ảnh.

Đây là lý do thiết yếu để có kiến trúc sâu - họ có thể mô hình các mẫu phức tạp hơn .

Tại sao mạng sâu khó đào tạo?

Chỉ với một tính năng và ranh giới quyết định tuyến tính, trên thực tế, chỉ có 2 ví dụ đào tạo - một tích cực và một tiêu cực. Với một số tính năng và / hoặc ranh giới quyết định phi tuyến tính, bạn cần thêm một số đơn hàng ví dụ để bao quát tất cả các trường hợp có thể (ví dụ: bạn không chỉ cần tìm ví dụ với word1, word2word3, mà còn với tất cả các kết hợp có thể có của chúng). Và trong cuộc sống thực, bạn cần phải xử lý hàng trăm và hàng ngàn tính năng (ví dụ: các từ trong ngôn ngữ hoặc pixel trong ảnh) và ít nhất một vài lớp để có đủ tính phi tuyến tính. Kích thước của một tập dữ liệu, cần thiết để đào tạo đầy đủ các mạng như vậy, dễ dàng vượt quá 10 ^ 30 ví dụ, khiến việc lấy đủ dữ liệu là hoàn toàn không thể. Nói cách khác, với nhiều tính năng và nhiều lớp, chức năng quyết định của chúng ta trở nên quá linh hoạtđể có thể học nó một cách chính xác .

Tuy nhiên, cách để tìm hiểu nó xấp xỉ . Ví dụ: nếu chúng tôi đang làm việc trong các cài đặt xác suất, thì thay vì học tần số của tất cả các kết hợp của tất cả các tính năng, chúng tôi có thể cho rằng chúng độc lập và chỉ học các tần số riêng lẻ, giảm phân loại Bayes đầy đủ và không bị ràng buộc đối với Naive Bayes và do đó đòi hỏi nhiều, ít dữ liệu để học

Trong các mạng thần kinh, có một số nỗ lực (có ý nghĩa) làm giảm độ phức tạp (tính linh hoạt) của chức năng quyết định. Ví dụ: mạng tích chập, được sử dụng rộng rãi trong phân loại hình ảnh, chỉ giả sử các kết nối cục bộ giữa các pixel lân cận và do đó chỉ thử tìm hiểu các kết hợp pixel bên trong các "cửa sổ" nhỏ (giả sử, 16x16 pixel = 256 nơ ron đầu vào) trái ngược với hình ảnh đầy đủ (giả sử, 100x100 pixel = 10000 nơ ron đầu vào). Các phương pháp khác bao gồm kỹ thuật tính năng, tức là tìm kiếm các mô tả cụ thể, do con người phát hiện ra của dữ liệu đầu vào.

Các tính năng được phát hiện thủ công là rất hứa hẹn thực sự. Ví dụ, trong xử lý ngôn ngữ tự nhiên, đôi khi rất hữu ích khi sử dụng các từ điển đặc biệt (như những từ có chứa các từ dành riêng cho thư rác) hoặc bắt lỗi phủ định (ví dụ " không tốt"). Và trong tầm nhìn máy tính, những thứ như mô tả SURF hoặc các tính năng giống Haar gần như không thể thay thế.

Nhưng vấn đề với kỹ thuật tính năng thủ công là phải mất nhiều năm để đưa ra các mô tả tốt. Hơn nữa, các tính năng này thường cụ thể

Không giám sát trước

Nhưng hóa ra chúng ta có thể tự độngđược các tính năng tốt ngay từ dữ liệu bằng các thuật toán như bộ điều khiển tự độngmáy Boltzmann bị hạn chế . Tôi đã mô tả chúng chi tiết trong câu trả lời khác của tôi , nhưng tóm lại, chúng cho phép tìm các mẫu lặp lại trong dữ liệu đầu vào và biến nó thành các tính năng cấp cao hơn. Ví dụ, chỉ được cung cấp các giá trị pixel hàng làm đầu vào, các thuật toán này có thể xác định và vượt qua toàn bộ các cạnh cao hơn, sau đó từ các cạnh này tạo ra các hình, v.v., cho đến khi bạn có được các mô tả thực sự cao như các biến thể trên khuôn mặt.

học kĩ càng

Sau khi mạng lưới tiền xử lý (không giám sát) như vậy thường được chuyển đổi thành MLP và được sử dụng cho đào tạo giám sát bình thường. Lưu ý, việc xử lý trước được thực hiện theo lớp. Điều này làm giảm đáng kể không gian giải pháp cho thuật toán học tập (và do đó số lượng ví dụ đào tạo cần thiết) vì nó chỉ cần học các tham số bên trong mỗi lớp mà không tính đến các lớp khác.

Và hơn thế nữa...

Hiện tại chưa được giám sát đã có mặt ở đây một thời gian, nhưng gần đây các thuật toán khác đã được tìm thấy để cải thiện việc học cả hai - cùng với việc sơ tuyển và không có nó. Một ví dụ đáng chú ý của các thuật toán như vậy là bỏ học - kỹ thuật đơn giản, ngẫu nhiên "loại bỏ" một số tế bào thần kinh trong quá trình đào tạo, tạo ra một số biến dạng và ngăn chặn các mạng theo dõi dữ liệu quá chặt chẽ. Đây vẫn là một chủ đề nghiên cứu nóng, vì vậy tôi để lại cho độc giả.


3
Một lời giải thích đẹp này là!
Dawny33

6

Đầu tiên chúng ta cần hiểu tại sao chúng ta cần học sâu. Để xây dựng mô hình ML cần Kiểm tra dữ liệu bằng nhãn (được giám sát hoặc không giám sát). Trong nhiều lĩnh vực khi dữ liệu phát triển duy trì dữ liệu với nhãn là khó. Mạng học sâu không cần dữ liệu được dán nhãn. Các thuật toán Deep learning có thể tìm ra các nhãn. Vì vậy, điều này tránh được sự cần thiết của các chuyên gia tên miền để đưa ra các nhãn cho dữ liệu rất quan trọng trong các lĩnh vực nhận dạng giọng nói, thị giác máy tính và hiểu ngôn ngữ. Nhận dạng hình ảnh Google Cat là một thử nghiệm rất thú vị. Ngoài ra, thật thú vị khi biết "Geoffrey hinton", giáo sư được Google thuê.

http://www.wired.com/2014/01/geoffrey-hinton-deep-learning/

Bạn có thể có được cái nhìn sâu sắc hơn khi bạn khám phá trong khuôn khổ này.


1
Học sâu không thể tìm ra các nhãn (làm thế nào nó có thể?), Mà chỉ học các tính năng. Bạn vẫn cần một số lượng dữ liệu được dán nhãn và học có giám sát để giải quyết các nhiệm vụ như phân loại hoặc hồi quy.

0

Deep Learning đã có từ lâu. CNN, RNN, Boltzmann Máy chắc chắn trông giống như các kỹ thuật mới nhưng chúng đã được phát triển từ lâu. Kiểm tra lịch sử học tập sâu

https://en.wikipedia.org/wiki/Deep_learning#History

Sự hồi sinh của Deep Learning là do thực tế là các sức mạnh tính toán tăng theo cấp số nhân từ thời điểm đó. Với một máy tính xách tay được trang bị GPU, bạn có thể đào tạo một mô hình Deep Learning phức tạp là một khoảng thời gian rất nhỏ so với những ngày trước đó. Các mô hình học tập sâu cũng rất hiệu quả theo kinh nghiệm. Hiện trạng của nghệ thuật trong Hình ảnh, Bài phát biểu và nhiều lĩnh vực là mô hình Deep Learning.

Tôi tin do những yếu tố này, chúng ta có thể thấy rất nhiều cộng đồng NLP / ML đã chuyển trọng tâm vào Deep Learning.

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.