Học máy (ML) đã xuất phát từ một từ thông dụng rất hay có trong ứng dụng của bạn thành một tính năng cần phải có để hoạt động và tăng thêm giá trị. Các nhà khoa học dữ liệu phát triển các mô hình ML trong các Khung ML khác nhau như TensorFlow, Scikit-learning, PyTorch, Azure ML, v.v. Trước khi ML.NET có sẵn cho tất cả các nhà phát triển, việc thêm chức năng ML vào các ứng dụng .NET cần có kiến thức trong một số khung ML để xây dựng và đào tạo mô hình ML. Nó cũng đòi hỏi thêm thời gian và nỗ lực để tích hợp mô hình đó vào các ứng dụng .NET.
ML.NET đã thực hiện công việc này dễ dàng hơn rất nhiều cho các nhà phát triển .NET với Model Builder, một tiện ích mở rộng Visual Studio đồ họa để xây dựng, đào tạo và triển khai các mô hình ML tùy chỉnh. Sử dụng Trình tạo mô hình của ML.NET và chức năng AutoML của nó, các nhà phát triển không có chuyên môn về máy học, chẳng hạn như tôi, vẫn có thể phát triển và sử dụng các mô hình ML trong vòng vài phút.
Giới thiệu ML.NET
Trước khi đi sâu vào ví dụ của mình, hãy nói một chút về lịch sử ML.NET và trạng thái hiện tại của nó.
ML.NET bắt nguồn từ dự án Nghiên cứu của Microsoft năm 2002 có tên là TMSN, viết tắt của “tìm kiếm và điều hướng khai thác thử nghiệm”. Sau đó nó được đổi tên thành TLC, “mã học tập”. Cuộc chiến ML.NET bắt nguồn từ thư viện TLC. Ban đầu, nó được sử dụng trên các sản phẩm nội bộ của Microsoft.
Phiên bản công khai đầu tiên ML.NET 1.0 được phát hành vào năm 2019. Nó bao gồm phần bổ trợ Trình tạo mô hình và khả năng AutoML (Học máy tự động).
Phiên bản hiện tại là 1.6.0. Bạn có thể tìm thấy thêm thông tin chi tiết về tất cả các bản phát hành trên trang phát hành ML.NET chính thức.
Một số tác vụ chúng ta có thể làm với ML.NET là:
- Phân tích tình cảm
- Đề xuất sản phẩm
- Dự đoán giá
- Phân khúc khách hàng
- Phát hiện đối tượng
- Phát hiện gian lận
- Phát hiện doanh số tăng đột biến
- Phân loại hình ảnh
- Dự báo bán hàng
Cài đặt và thiết lập
Phiên bản Visual Studio bắt buộc tối thiểu là 16.6.1. Các bước sau được thực hiện trên Visual Studio 16.9.2. Do đó, nếu bạn đang sử dụng một phiên bản khác, một số chi tiết có thể khác.
Cài đặt Trình tạo mô hình ML.NET
- Mở Trình cài đặt Visual Studio
- Kiểm tra Phát triển máy tính để bàn .NET tùy chọn
- Trong ngăn bên phải, mở rộng Phát triển máy tính .NET> mở rộng Tùy chọn > kiểm tra ML.NET Model Builder (xem trước)
Lưu ý:Trình tạo mô hình ML.NET khả dụng trên Phát triển đa nền tảng .NET tùy chọn.
Bật Trình tạo mô hình ML.NET trong Visual Studio
- Đi tới Công cụ > Tùy chọn > Môi trường > Tính năng xem trước
- Đánh dấu vào mục Bật trình tạo mô hình ML.NET hộp kiểm
Xây dựng mô hình ML
Nhấp chuột phải vào dự án và chọn Thêm > Học máy
Chọn một kịch bản
Chọn Phân loại văn bản - chúng tôi sẽ thêm một tính năng phân tích tình cảm đơn giản:
Chọn môi trường đào tạo
Trong trường hợp của chúng tôi, nó là một máy cục bộ.
Thêm dữ liệu
Chúng tôi sẽ sử dụng tệp ZIP tập dữ liệu UCI Sentiment Labeled Sentences có sẵn để tải xuống.
Chọn kết quả bạn muốn dự đoán
Trong trường hợp của chúng tôi, đây là cột thứ hai nên chúng tôi sẽ chọn col1 . Các cột Đầu vào được chọn tự động vì chúng tôi chỉ có sẵn hai cột.
Huấn luyện người mẫu
Chọn thời gian đào tạo và nhấp vào Bắt đầu đào tạo :
Các hình ảnh dưới đây cho thấy đầu ra và kết quả đào tạo:
Đánh giá mô hình
Nếu chúng ta nhập Janice was nice vào đầu vào dữ liệu mẫu, đầu ra cho thấy câu này là khẳng định với độ chắc chắn 100%:
Nếu chúng tôi nhập Janice đã thô lỗ vào đầu vào dữ liệu mẫu, đầu ra cho thấy câu này không phải là khẳng định với độ chắc chắn 100%:
Triển khai và sử dụng Mô hình ML
Tất cả những gì còn lại là sử dụng mô hình mà chúng tôi xây dựng trong ứng dụng của mình. Chúng tôi cần thêm tham chiếu vào dự án mô hình ML của chúng tôi.
Ngoài ra, chúng tôi cần cài đặt Microsoft.ML từ NuGet.
Microsoft.ML chỉ hỗ trợ x64 và x86 kiến trúc bộ xử lý. Do đó, hãy đảm bảo chọn một trong những thứ đó khi xây dựng ứng dụng.
Và đó là tất cả. Tại đây, chúng ta có thể thấy mã của mình đang hoạt động.
Kết luận
Toàn bộ quá trình từ cài đặt ML.NET đến ứng dụng đầu tiên có chức năng ML có thể được thực hiện trong vài phút. Tất nhiên, đây là một ví dụ rất cơ bản với mục đích duy nhất là làm quen với ML.NET framework. Tuy nhiên, ngay cả khi không có kinh nghiệm trước đó, tôi vẫn có thể xây dựng một ứng dụng, với một số điều chỉnh và cải tiến, có thể thực sự hoạt động trong một tình huống thực tế.
Điều đó nói rằng, ML.NET là một công cụ. Bạn sẽ có thể sử dụng nó hiệu quả hơn với nhiều kiến thức hơn về các thuật toán và nguyên tắc học máy.
Cảm ơn bạn đã gắn bó đến cuối cùng và hy vọng bạn sẽ tham gia cùng chúng tôi trong các bài viết tiếp theo trên ML.NET.