Trước đó, bạn gặp phải phân loại nhị phân để chọn một trong hai lựa chọn có thể xảy ra, chẳng hạn như liệu:
- Một email cụ thể là thư rác hoặc không phải thư rác.
- Một khối u nhất định là u ác tính hoặc lành tính.
Trong phần này, chúng tôi sẽ tìm hiểu phân loại nhiều lớp người dùng có thể chọn trong số nhiều khả năng. Ví dụ:
- Đây là chó săn thỏ, chó săn basset hay chó săn máu?
- Hoa này có phải là Iris Siberia, Iris Hà Lan, Iris cờ xanh, hay Người lùn Iris?
- Máy bay đó là Boeing 747, Airbus 320, Boeing 777 hay Embraer 190?
- Đây có phải là hình ảnh một quả táo, gấu, kẹo, chó hoặc trứng không?
Một số bài toán nhiều lớp trong thế giới thực đòi hỏi phải lựa chọn trong số hàng triệu gồm các lớp riêng biệt. Ví dụ: hãy xem xét việc phân loại nhiều lớp có thể xác định hình ảnh của hầu hết mọi thứ.
Phần này trình bày chi tiết hai biến thể chính của cách phân loại nhiều lớp:
- một so với tất cả
- one-vs.-one, thường được gọi là softmax
Một so với tất cả
Một so với tất cả cung cấp cách sử dụng phân loại nhị phân cho một loạt các dự đoán có hoặc không dựa trên nhiều nhãn có thể có.
Cho một bài toán phân loại có N đáp án khả thi, một phương trình là một một giải pháp bao gồm N thuật toán phân loại nhị phân riêng biệt — một thuật toán phân loại nhị phân thuật toán phân loại cho từng kết quả có thể xảy ra. Trong quá trình huấn luyện, mô hình sẽ chạy thông qua một chuỗi các thuật toán phân loại nhị phân, huấn luyện từng thuật toán để trả lời một thuật toán phân loại câu hỏi phân loại.
Ví dụ: với bức ảnh về một miếng trái cây, bốn những người nhận dạng khác nhau có thể được đào tạo, mỗi người trả lời một câu trả lời có/không khác nhau câu hỏi:
- Hình ảnh này có phải là một quả táo không?
- Hình ảnh này có phải là hình cam không?
- Hình ảnh này có phải là một quả chuối không?
- Hình ảnh này có phải là một quả nho không?
Hình ảnh sau đây minh hoạ cách hoạt động của quy trình này trong thực tế.
![Hình 9. Hình ảnh một quả lê được chuyển dưới dạng dữ liệu đầu vào trong 4 loại quả lê khác nhau
các mô hình phân loại nhị phân. Mô hình đầu tiên dự đoán 'táo' hoặc 'không
apple' và dự đoán của công cụ này là "không phải táo". Mô hình thứ hai dự đoán
"cam" hoặc 'không phải màu cam' và dự đoán của tham số này là 'không phải màu cam'. Chiến lược phát hành đĩa đơn
mô hình thứ ba dự đoán 'lê' hoặc 'không phải lê' và dự đoán của từ này là
"lê". Mô hình thứ tư dự đoán 'nho' hoặc 'không phải là nho' và
dự đoán là 'không phải là nho'.](https://developers.google.cn/static/machine-learning/crash-course/neural-networks/images/one_vs_all_binary_classifiers.png?authuser=4&hl=vi)
Phương pháp này khá hợp lý khi tổng số lớp nhỏ, nhưng ngày càng kém hiệu quả khi số lượng lớp tăng.
Chúng tôi có thể tạo ra một mô hình một so với tất cả hiệu quả hơn nhiều có mạng nơron sâu, trong đó mỗi nút đầu ra đại diện cho một . Hình ảnh sau đây minh hoạ phương pháp này.
![Hình 10. Mạng nơron có cấu trúc sau: lớp đầu vào có
1 nút, lớp ẩn có 3 nút, lớp ẩn có 4 nút,
tầng đầu ra có 4 nút. Nút đầu vào được cung cấp hình ảnh một quả lê.
Hàm kích hoạt sigmoid được áp dụng cho lớp đầu ra. Một
nút đầu ra biểu thị xác suất hình ảnh được chỉ định
trái cây. Nút đầu ra 1 đại diện cho "Là táo?" và có giá trị là 0,34.
Nút đầu ra 2 biểu thị "Có màu cam?" có giá trị là 0,18.
Nút đầu ra 3 biểu thị "Lê có phải không?" có giá trị là 0,84.
Nút đầu ra 4 biểu thị "Nho có phải không?" và có giá trị là 0,07.](https://developers.google.cn/static/machine-learning/crash-course/neural-networks/images/one_vs_all_neural_net.png?authuser=4&hl=vi)
Một đấu một (softmax)
Bạn có thể nhận thấy rằng các giá trị xác suất trong lớp đầu ra của Hình 10 không tính tổng thành 1,0 (hoặc 100%). (Trong thực tế, tổng của chúng bằng 1,43.) Trong trận đấu một đấu với tất cả phương pháp này, xác suất của mỗi tập kết quả nhị phân được xác định độc lập với tất cả các tập khác. Tức là chúng tôi xác định xác suất từ "apple" so với "not apple" (không phải Apple) mà không tính đến khả năng lựa chọn trái cây: "cam", "lê" hoặc "nho".
Nhưng nếu chúng ta muốn dự đoán xác suất của mỗi loại quả thì sao so với nhau? Trong trường hợp này, thay vì dự đoán "apple" so với "không apple", chúng ta muốn dự đoán "apple" so với "cam" so với "lê" so với "nho". Hình thức phân loại nhiều lớp này được gọi là phân loại một đấu một.
Chúng ta có thể triển khai phương pháp phân loại một với một bằng cách sử dụng cùng một loại hệ thống nơron cấu trúc mạng được dùng để phân loại một so với tất cả, với một thay đổi quan trọng. Chúng ta cần áp dụng một biến đổi khác cho lớp đầu ra.
Đối với một so với tất cả, chúng tôi đã áp dụng hàm kích hoạt sigmoid cho mỗi đầu ra một nút độc lập, dẫn đến giá trị đầu ra nằm trong khoảng từ 0 đến 1 cho mỗi nút nhưng không đảm bảo rằng các giá trị được cộng chính xác thành 1.
Thay vào đó, chúng ta có thể áp dụng hàm có tên là softmax. gán xác suất thập phân cho mỗi lớp trong một bài toán nhiều lớp sao cho tất cả xác suất cộng lại bằng 1,0. Hạn chế bổ sung này giúp quá trình huấn luyện hội tụ nhanh hơn so với thường lệ.
Hình ảnh sau đây triển khai lại cách phân loại nhiều lớp một so với tất cả dưới dạng nhiệm vụ một đấu một. Lưu ý rằng để thực hiện softmax, hàm ẩn lớp trực tiếp trước lớp đầu ra (được gọi là lớp softmax) phải có cùng số lượng nút với lớp đầu ra.
![Hình 11. Mạng nơron có cấu trúc sau: đầu vào
lớp có 1 nút, lớp ẩn có 3 nút, lớp ẩn có 4 nút,
tầng đầu ra có 4 nút. Nút đầu vào được cung cấp hình ảnh một quả lê.
Hàm kích hoạt Softmax được áp dụng cho lớp đầu ra. Một
nút đầu ra biểu thị xác suất hình ảnh được chỉ định
trái cây. Nút đầu ra 1 đại diện cho "Là táo?" có giá trị là 0,19.
Nút đầu ra 2 biểu thị "Có màu cam?" và có giá trị là 0,12.
Nút đầu ra 3 biểu thị "Lê có phải không?" có giá trị là 0,63.
Nút đầu ra 4 biểu thị "Nho có phải không?" và có giá trị là 0,06.](https://developers.google.cn/static/machine-learning/crash-course/neural-networks/images/one_vs_one_neural_net.png?authuser=4&hl=vi)
Lựa chọn của Softmax
Hãy cân nhắc các biến thể sau của Softmax:
softmax đầy đủ là softmax mà chúng ta đang thảo luận; tức là Softmax tính toán xác suất cho mọi lớp có thể có.
Phương pháp lấy mẫu đề xuất nghĩa là softmax tính toán xác suất cho tất cả các nhãn dương, nhưng chỉ đối với một mẫu ngẫu nhiên nhãn âm. Ví dụ: nếu chúng tôi muốn xác định cho dù hình ảnh đầu vào là chó săn thỏ hay chó săn, chúng ta không phải đưa ra xác suất cho mọi ví dụ không phải chó.
So khớp đầy đủ phần mềm khá rẻ khi số lượng lớp ít nhưng sẽ rất tốn kém khi số lượng lớp tăng lên. Việc lấy mẫu ứng viên có thể cải thiện hiệu quả trong các bài toán có số lượng lớp.
Một nhãn so với nhiều nhãn
Softmax giả định rằng mỗi ví dụ là một thành phần của đúng một lớp. Tuy nhiên, một số ví dụ có thể đồng thời là thành viên của nhiều lớp. Trong các ví dụ như vậy:
- Bạn không được dùng softmax.
- Bạn phải dựa vào nhiều lần hồi quy logistic.
Ví dụ: mô hình một đấu với một trong Hình 11 ở trên giả định rằng mỗi đầu vào hình ảnh sẽ mô tả chính xác một loại trái cây: táo, cam, lê hoặc một quả nho. Tuy nhiên, nếu hình ảnh đầu vào có thể chứa nhiều loại trái cây: bát có cả táo và cam – bạn sẽ phải sử dụng nhiều hậu cần hồi quy.