Core ML mang máy học đến với các nhà phát triển của Apple

Ngoc Huynh

Core ML framework của Apple mang đến một phương thức chuẩn (nhưng bị giới hạn) để nhúng máy học (machine learning) vào các ứng dụng Mac và iOS.

Mới đây, Apple đã công bố về Core ML, một framework phần mềm cho phép các nhà phát triển triển khai và làm việc với các mô hình máy học có trong các ứng dụng trên tất cả các nền tảng của Apple như: iOS, MacOS, TvOS, và WatchOS.

Core ML nhằm mục đích giúp các nhà phát triển không phải tự xây dựng tất cả các hệ thống ở cấp độ nền tảng để triển khai một mô hình, phục vụ các dự đoán từ nó, và xử lý bất kỳ điều kiện bất thường nào có thể nảy sinh. Nhưng nó cũng hiện là một sản phẩm beta, và một sản phẩm có tính năng hạn chế cao.

Core ML cung cấp ba framework cơ bản để phục vụ các dự đoán: Foundation cung cấp các kiểu dữ liệu và chức năng phổ biến như được sử dụng trong các ứng dụng Core ML, Vision dành cho hình ảnh và GameplayKit để xử lý logic và hành vi chơi game.

Mỗi framework cung cấp các đối tượng ở cấp độ cao, được thực hiện như các lớp trong Swift, bao gồm cả các trường hợp sử dụng cụ thể và các phương thức dự đoán mở. Ví dụ, Vision framework, cung cấp các class cho việc phát hiện khuôn mặt, mã vạch, phát hiện văn bản, và horizon detection, cũng như các class tổng quát hơn đối với theo dõi đối tượng và liên kết hình ảnh.

Apple dự định cho hầu hết công việc phát triển Core ML sẽ được thực hiện thông qua các class ở bậc cao này. Trong hầu hết các trường hợp, bạn chỉ tương tác với giao diện được tạo ra tự động thuộc mô hình của bạn, giao diện được tạo ra bởi Xcode một cách tự động khi bạn thêm một mô hình vào dự án Xcode của bạn. Tuy nhiên, đối với “luồng công việc tùy chỉnh và các trường hợp sử dụng phức tạp hơn”, thì có một API cấp thấp sẽ cung cấp thao tác tinh vi hơn về các mô hình và dự đoán.

Bởi vì Core ML dùng để phục vụ những dự đoán từ các mô hình, nên các nhà phát triển cần phải có các mô hình đã được chuẩn bị. Apple cung cấp một số mô hình máy học mô hình, một số trong số đó là có thể sử dụng ngay lập tức, chẳng hạn như mô hình ResNet50 để xác định các đối tượng thông thường (ví dụ như ô tô, động vật, con người) trong hình ảnh.

Các ứng dụng hữu ích nhất cho Core ML sẽ đến theo các mô hình đã được hình thành và được cung cấp bởi chính các nhà phát triển. Đây là nơi mà người sử dụng sẽ sớm có thể gặp phải những trở ngại lớn nhất, khi mà các mô hình sẽ phải được chuyển đổi thành định dạng mô hình riêng của Core ML trước khi chúng có thể được triển khai.

Apple đã cung cấp công cụ để giúp hoàn thành việc này, đó là gói Coremltools, nó có thể giúp chuyển đổi từ một số định dạng mô hình phổ biến của bên thứ ba. Tin xấu: Coremltools hiện chỉ hỗ trợ các phiên bản trước đó của một số mô hình, chẳng hạn như phiên bản 1.2.2 của hệ thống học sâu Keras (bây giờ là phiên bản 2.0). Tin tốt: Bộ công cụ này là mã nguồn mở, có nghĩa là các cộng tác viên có thể dễ dàng giúp công cụ này phát triển hơn nữa.

Thế nhưng, Core ML cũng có những giới hạn. Chẳng hạn, không có quy định trong Core ML cho mô hình model retraining hoặc federated learning, nơi dữ liệu được thu thập từ lĩnh vực được sử dụng để nâng cao độ chính xác của mô hình. Đó là điều bạn phải thực hiện bằng tay, rất có thể bằng cách yêu cầu người dùng ứng dụng chọn tham gia vào việc thu thập dữ liệu và sử dụng dữ liệu đó để hình thành lại mô hình cho một phiên bản tương lai của ứng dụng.

Chia sẻ bài viết ngay

Nguồn bài viết : http://www.infoworld.com