Tại sao Mạng nơ ron kết hợp không sử dụng Máy Vector hỗ trợ để phân loại?


46

Trong những năm gần đây, Mạng lưới thần kinh chuyển đổi (CNN) đã trở thành công nghệ tiên tiến để nhận dạng đối tượng trong thị giác máy tính. Thông thường, một CNN bao gồm một số lớp chập, tiếp theo là hai lớp được kết nối đầy đủ. Một trực giác đằng sau điều này là các lớp chập học thể hiện tốt hơn dữ liệu đầu vào và các lớp được kết nối đầy đủ sau đó học cách phân loại biểu diễn này dựa trên một bộ nhãn.

Tuy nhiên, trước khi CNN bắt đầu thống trị, Support Vector Machines (SVM) là công nghệ tiên tiến nhất. Vì vậy, có vẻ hợp lý khi nói rằng một SVM vẫn là một phân loại mạnh hơn so với mạng thần kinh được kết nối đầy đủ hai lớp. Do đó, tôi tự hỏi tại sao các CNN tiên tiến có xu hướng sử dụng các lớp được kết nối đầy đủ để phân loại hơn là một SVM? Theo cách này, bạn sẽ có cả hai thế giới tốt nhất: đại diện cho tính năng mạnh và phân loại mạnh, thay vì đại diện cho tính năng mạnh mà chỉ là phân loại yếu ...

Có ý kiến ​​gì không?

Câu trả lời:


54

Nó có thể được thực hiện; một tài liệu hội thảo ICML, Deep Learning sử dụng Máy hỗ trợ tuyến tính , Tang (2013) , đã thực hiện chính xác điều này và tìm thấy những cải tiến nhỏ nhưng nhất quán. Đôi khi cũng được thực hiện để đào tạo CNN theo cách thông thường, nhưng sau đó lấy đầu ra của lớp muộn làm "tính năng" và huấn luyện một SVM riêng biệt về điều đó.

Tuy nhiên, lưu ý rằng họ đang sử dụng các SVM tuyến tính và thực sự, sự khác biệt giữa một SVM tuyến tính và hồi quy logistic (tương đương với một lớp đầu ra nhị phân duy nhất có kích hoạt sigmoid) là khá nhỏ. Lớp bổ sung của mạng, giả sử bạn có đủ dữ liệu để tìm hiểu nó, thực sự làm cho hai lớp cuối mạnh hơn một SVM tuyến tính - mặc dù tất nhiên bạn có thể thực hiện một lớp sigmoid hoặc ReLU được kết nối đầy đủ và sau đó đặt một lớp SVM cuối cùng.

Ngoài ra, đối với các đầu ra đa lớp, kích hoạt softmax tự nhiên hơn các SVM đa giác và tôi nghĩ rằng cách tiếp cận SVM của bài báo đó có phần chuyên sâu hơn về mặt tính toán. Vì vậy, mọi người thường không nghĩ rằng nó đáng giá.


0

Theo tôi có thể thấy, có ít nhất vài sự khác biệt:

  1. CNN được thiết kế để hoạt động với dữ liệu hình ảnh, trong khi SVM là phân loại chung hơn;
  2. Các CNN trích xuất các tính năng trong khi SVM chỉ cần ánh xạ đầu vào của nó vào một số không gian chiều cao trong đó (hy vọng) sự khác biệt giữa các lớp có thể được tiết lộ;
  3. Tương tự như 2., CNN là các kiến ​​trúc sâu trong khi các SVM nông;
  4. Mục tiêu học tập là khác nhau: Các SVM tìm cách tối đa hóa lợi nhuận, trong khi CNN không (muốn biết thêm)

Điều này đang được nói, các SVM có thể hoạt động tốt như các CNN cung cấp các tính năng tốt được sử dụng với chức năng hạt nhân tốt.


4
Tôi nghĩ rằng bạn có thể đã hiểu sai câu hỏi; đó là về việc sử dụng "lớp SVM" ở cuối CNN.
Dougal

4
Tôi hiểu sự khác biệt giữa CNN và SVM, nhưng như @Dougal nói, tôi đang hỏi thêm về lớp cuối cùng của CNN. Thông thường, đây là mạng thần kinh được kết nối đầy đủ, nhưng tôi không chắc tại sao các SVM không được sử dụng ở đây vì chúng có xu hướng mạnh hơn mạng thần kinh hai lớp.
Karnivaurus

6
@Karnivaurus Xin lỗi vì đã đọc sai câu hỏi của bạn. Ý tưởng này không phải là mới. Thông thường, lớp cuối cùng bị loại bỏ và đầu ra của lớp cuối cùng được sử dụng làm các tính năng trong các thuật toán phân loại khác. Tại sao nó không được thực hiện một cách nhất quán và ở mọi nơi? Các tính năng của lớp cuối cùng thường phân biệt đối xử đến mức không cần hộp đen tinh vi như SVM, một phương pháp hồi quy logistic đơn giản thực hiện công việc. Đây là tầm nhìn của tôi về mọi thứ.
Vladislavs Dovgalecs
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.