Học máy · 6 cảnh
Machine Learning: máy tự rút ra quy tắc từ ví dụ
Nguồn:Google for Developers: What is Machine Learning?(mở tab mới)Cập nhật ngày
Cảnh 1
Người viết luật, hay máy tự tìm luật
Cô bán xoài ở chợ bóp nhẹ một quả là biết chín chưa, dù chưa bao giờ viết luật đó ra giấy. Bấm hai nút dưới hình để xem thẻ Luật đổi chỗ.
Người viết luật trước, máy chỉ việc chạy luật cho từng quả.
Lập trình thường cần luật do người viết, cộng dữ liệu cần xử lý. Machine Learning cần dữ liệu, cộng đáp án đúng cho từng ví dụ.
Vẫn là chiếc máy đó. Ở cách thứ nhất nó chạy luật có sẵn, ở cách thứ hai nó dò ra luật từ ví dụ.
Lập trình thường trả về đáp án cho quả đang xét. Machine Learning trả về luật, rồi bạn dùng luật đó cho những quả chưa ai đo.
Cảnh 2
Với máy, mỗi quả xoài là hai con số
Máy không nhìn hay sờ được. Ta đo giúp nó hai thứ, vỏ vàng cỡ nào và bóp vào mềm cỡ nào, mỗi thứ chấm từ 0 đến 10.
40 quả là dữ liệu mẫu tạo riêng cho bài này. Mô hình trong các cảnh sau chạy thật trong trình duyệt của bạn.
Trục ngang, từ 0 là xanh lè đến 10 là vàng ươm. Đường nét đứt từ quả đang chọn rơi xuống trục này cho bạn con số thứ nhất.
Trục dọc, từ 0 là cứng như đá đến 10 là mềm nhũn. Đây là con số thứ hai.
Chấm tô kín màu cam. Người bán bổ quả ra rồi mới ghi chín, nên nhãn này là đáp án thật, máy chưa đoán gì cả.
Vòng tròn rỗng viền xanh. Quả chín hay nằm phía trên bên phải, quả xanh nằm phía dưới bên trái, và hai nhóm có chỗ lẫn vào nhau.
Cảnh 3
Máy đoán bừa, rồi được sửa từng chút
Lúc đầu máy chọn bừa một đường ranh giới và đoán đúng 20 trên 40 quả, ngang tung đồng xu. Đoán trước kết quả, rồi bấm Chạy.
Đoán trước: sau 120 lần sửa, máy đúng bao nhiêu quả?
Một phía là chỗ máy đoán chín, phía kia là chưa chín. Mỗi lần sửa, đường này xoay và trượt một chút.
Quả có vòng đỏ đứt nét đang nằm nhầm phía. Máy dựa vào chính những quả này để biết nên nhích đường ranh giới về hướng nào.
Quả nào rơi vào nền cam đều bị đoán là chín, kể cả quả xanh. Nền đổi theo đường ranh giới sau mỗi lần sửa.
Mỗi lần sửa, máy xem lại cả 40 quả, cộng dồn chỗ sai rồi nhích đường ranh giới. Người ta gọi mỗi lượt như vậy là một epoch.
Cảnh 4
Bạn thử tự viết luật, rồi so với máy
Chọn nhìn độ vàng hay độ mềm, rồi kéo ngưỡng. Luật tay tốt nhất bạn dò được thì đúng mấy quả?
Một ngưỡng trên một con số, kiểu luật người ta hay viết tay. Kéo thử vài ngưỡng, luật tay tốt nhất ở đây đúng 36 quả.
Vòng đỏ đứt nét là những quả luật của bạn đặt nhầm phía. Đổi ngưỡng là số vòng đổi theo.
Đường nét đứt, hiện ra khi bạn bấm nút. Máy cộng cả hai con số, độ mềm nặng hơn một chút, và đúng 37 quả. Không ai chỉ cho nó con số nào quan trọng hơn.
Luật của máy đọc được như luật của bạn, chỉ thêm trọng số cho từng con số. Máy vẫn xếp sai 3 quả, nên ai khoe mô hình đúng 100% thì bạn nên hỏi lại họ chấm trên dữ liệu nào.
Cảnh 5
Đưa cho máy một quả nó chưa thấy bao giờ
Kéo quả xoài lớn đi khắp bảng, hoặc chạm vào chỗ bất kỳ. Máy chỉ dùng luật đã học để trả lời.
Máy chỉ biết hai con số của quả này. Nó đặt hai số vào luật đã học rồi trả lời chín hay chưa, kèm độ chắc.
Sát đường ranh giới, máy chỉ chắc khoảng 50%. Quả nằm ở đây thì người bán cũng phải bóp thêm lần nữa.
Càng xa đường ranh giới, nền càng đậm và máy càng chắc.
Trong 40 quả không có quả nào xanh lè mà mềm nhũn. Thả quả vào đây, máy vẫn trả lời chín 63%, vì nó chỉ biết cộng hai con số theo luật đã học.
Cảnh 6
Bài nào nên giao cho Machine Learning?
Xoài chỉ cần 2 con số. Email rác có hàng nghìn dấu hiệu và đổi mỗi tuần. Xếp 4 bài toán vào hộp bạn thấy hợp.
Chọn một thẻ, rồi bấm vào hộp bạn thấy hợp.
Tiền điện là một phép nhân, xếp A-Z là một hàm sắp xếp. Viết luật vừa nhanh vừa đúng tuyệt đối.
Thư rác đổi kiểu mỗi tuần, mèo thì đủ giống đủ tư thế. Không ai liệt kê hết luật được, nhưng có sẵn hàng triệu ví dụ.
Phải có sẵn ví dụ kèm đáp án, như 40 quả xoài đã ghi chín hay chưa. Không có dữ liệu như vậy thì máy không có gì để học.
Thử thách
Ba tình huống, bạn chọn cách nào?
Trung tâm tiếng Anh muốn làm hệ thống chấm phát âm cho học viên. Bài toán phù hợp nhất với cách nào?
Bạn làm app đếm số học sinh có mặt từ ảnh camera lớp học. Sĩ số lớp là 40. Có nên dùng ML không?
Bạn có 20 ảnh X-quang để làm app phát hiện gãy xương. Bạn huấn luyện xong, máy đạt 100% đúng trên 20 ảnh đó. Đáng ăn mừng không?
Kiểm tra
7 câu hỏi nhanh
Kiểm tra hiểu biết
Sự khác biệt cơ bản giữa lập trình thường và Machine Learning là gì?
Bản chữ
Cả bài trong 5 ý
- Lập trình thường thì người viết luật, máy chạy luật. Machine Learning thì người đưa ví dụ kèm đáp án, máy tự rút ra luật.
- Với máy, mỗi ví dụ là vài con số. Quả xoài là 2 số, một email có thể là hàng nghìn số.
- Máy học bằng cách đoán, xem mình sai ở đâu, rồi sửa một chút. Sau 20 lần sửa, máy đi từ 20 lên 37 quả đúng trên 40.
- Luật học xong dùng được cho ví dụ mới, nhưng máy chỉ đáng tin ở vùng nó đã thấy nhiều ví dụ.
- Bài có công thức rõ thì cứ viết luật. Bài có luật đổi liên tục, lại sẵn nhiều ví dụ kèm đáp án, thì hợp với Machine Learning.