Mục lục[Ẩn giấu][Chỉ]
Khung cho học tập sâu bao gồm sự kết hợp của các giao diện, thư viện và công cụ để xác định và đào tạo các mô hình Học máy một cách nhanh chóng và chính xác.
Bởi vì học sâu sử dụng một lượng lớn dữ liệu phi cấu trúc, phi văn bản, bạn cần một khuôn khổ kiểm soát sự tương tác giữa các “lớp” và giúp phát triển mô hình nhanh chóng bằng cách học hỏi từ dữ liệu đầu vào và đưa ra các quyết định tự chủ.
Nếu bạn quan tâm đến việc tìm hiểu về học sâu vào năm 2021, hãy xem xét sử dụng một trong các khuôn khổ được chỉ ra bên dưới. Hãy nhớ chọn một cái sẽ giúp bạn đạt được mục tiêu và tầm nhìn của mình.
1. TensorFlow
Khi nói về học sâu, TensorFlow thường là khuôn khổ đầu tiên được đề cập. Rất phổ biến, khuôn khổ này không chỉ được sử dụng bởi Google - công ty chịu trách nhiệm tạo ra nó - mà còn được sử dụng bởi các công ty khác như Dropbox, eBay, Airbnb, Nvidia và nhiều công ty khác.
TensorFlow có thể được sử dụng để phát triển các API cấp cao và cấp thấp, cho phép bạn chạy các ứng dụng trên hầu hết mọi loại thiết bị. Mặc dù Python là ngôn ngữ chính của nó, nhưng giao diện của Tensoflow có thể được truy cập và điều khiển bằng các ngôn ngữ lập trình khác như C ++, Java, Julia và JavaScript.
Là mã nguồn mở, TensorFlow cho phép bạn thực hiện một số tích hợp với các API khác và nhận được sự hỗ trợ và cập nhật nhanh chóng từ cộng đồng. Sự phụ thuộc của nó vào “đồ thị tĩnh” để tính toán cho phép bạn thực hiện các phép tính ngay lập tức hoặc lưu các hoạt động để truy cập vào lúc khác. Những lý do này, thêm vào khả năng bạn có thể “theo dõi” sự phát triển của mạng nơ-ron của mình thông qua TensorBoard, làm cho TensorFlow trở thành khuôn khổ phổ biến nhất cho học sâu.
Các tính năng chính
- Mã nguồn mở
- Linh hoạt
- Gỡ lỗi nhanh
2. Kim tự tháp
PyTorch là một khuôn khổ do Facebook phát triển để hỗ trợ hoạt động của các dịch vụ của mình. Kể từ khi trở thành mã nguồn mở, khuôn khổ này đã được sử dụng bởi các công ty khác ngoài Facebook, chẳng hạn như Salesforce và Udacity.
Khung này vận hành các đồ thị được cập nhật động, cho phép bạn thực hiện các thay đổi đối với kiến trúc của tập dữ liệu khi bạn xử lý nó. Với PyTorch, việc phát triển và đào tạo mạng nơ-ron trở nên đơn giản hơn, ngay cả khi không có bất kỳ kinh nghiệm nào về học sâu.
Là mã nguồn mở và dựa trên Python, bạn có thể tích hợp đơn giản và nhanh chóng vào PyTorch. Nó cũng là một khuôn khổ đơn giản để tìm hiểu, sử dụng và gỡ lỗi. Nếu bạn có câu hỏi, bạn có thể tin tưởng vào sự hỗ trợ và cập nhật tuyệt vời từ cả hai cộng đồng - cộng đồng Python và cộng đồng PyTorch.
Các tính năng chính
- Dễ học
- Hỗ trợ GPU và CPU
- Bộ API phong phú để mở rộng thư viện
3. Apache MX Net
Do khả năng mở rộng cao, hiệu suất cao, xử lý sự cố nhanh và hỗ trợ GPU nâng cao, khuôn khổ này được Apache tạo ra để sử dụng trong các dự án công nghiệp lớn.
MXNet bao gồm giao diện Gluon cho phép các nhà phát triển ở mọi cấp độ kỹ năng bắt đầu với học sâu trên đám mây, trên các thiết bị tiên tiến và trên các ứng dụng dành cho thiết bị di động. Chỉ trong một vài dòng mã Gluon, bạn có thể xây dựng hồi quy tuyến tính, mạng chập và LSTM lặp lại cho phát hiện đối tượng, nhận dạng giọng nói, đề xuất và cá nhân hóa.
MXNet có thể được sử dụng trên nhiều thiết bị khác nhau và được hỗ trợ bởi một số ngôn ngữ lập trình chẳng hạn như Java, R, JavaScript, Scala và Go. Mặc dù số lượng người dùng và thành viên trong cộng đồng của nó thấp, MXNet có tài liệu được viết tốt và tiềm năng phát triển lớn, đặc biệt là hiện tại Amazon đã chọn khung này làm công cụ chính cho Học máy trên AWS.
Các tính năng chính
- 8 ràng buộc ngôn ngữ
- Đào tạo phân tán, hỗ trợ hệ thống đa CPU và đa GPU
- Giao diện người dùng kết hợp, cho phép chuyển đổi giữa chế độ mệnh lệnh và chế độ tượng trưng
4. Bộ công cụ nhận thức của Microsoft
Nếu bạn đang nghĩ đến việc phát triển các ứng dụng hoặc dịch vụ chạy trên Azure (dịch vụ đám mây của Microsoft), thì Bộ công cụ nhận thức của Microsoft là khuôn khổ để lựa chọn cho các dự án học sâu của bạn. Đây là mã nguồn mở và được hỗ trợ bởi các ngôn ngữ lập trình như Python, C ++, C #, Java, v.v. Khung này được thiết kế để “suy nghĩ như não người”, vì vậy nó có thể xử lý một lượng lớn dữ liệu phi cấu trúc, đồng thời cung cấp đào tạo nhanh và một kiến trúc trực quan.
Bằng cách chọn khung này - cùng một khung sau Skype, Xbox và Cortana - bạn sẽ nhận được hiệu suất tốt từ các ứng dụng của mình, khả năng mở rộng và tích hợp đơn giản với Azure. Tuy nhiên, khi so sánh với TensorFlow hoặc PyTorch, số lượng thành viên trong cộng đồng và sự hỗ trợ của nó bị giảm đi.
Video sau đây cung cấp giới thiệu đầy đủ và các ví dụ ứng dụng:
Các tính năng chính
- Tài liệu rõ ràng
- Hỗ trợ từ nhóm Microsoft
- Trực quan hóa biểu đồ trực tiếp
5. Máy ảnh
Giống như PyTorch, Keras là một thư viện dựa trên Python dành cho các dự án sử dụng nhiều dữ liệu. API keras hoạt động ở cấp độ cao và cho phép tích hợp với các API cấp thấp như TensorFlow, Theano và Bộ công cụ nhận thức của Microsoft.
Một số ưu điểm của việc sử dụng keras là tính đơn giản để học - là khung được khuyến nghị cho người mới bắt đầu học sâu; tốc độ triển khai của nó; có sự hỗ trợ lớn từ cộng đồng python và từ các cộng đồng của các khuôn khổ khác mà nó được tích hợp.
Keras chứa các triển khai khác nhau của các khối xây dựng của mạng nơ-ron chẳng hạn như các lớp, hàm mục tiêu, hàm kích hoạt và trình tối ưu hóa toán học. Mã của nó được lưu trữ trên GitHub và có các diễn đàn và kênh hỗ trợ Slack. Ngoài hỗ trợ cho tiêu chuẩn mạng thần kinh, Keras cung cấp hỗ trợ cho Mạng thần kinh chuyển đổi và Mạng thần kinh định kỳ.
Máy ảnh cho phép mô hình học sâu được tạo trên điện thoại thông minh trên cả iOS và Android, trên Máy ảo Java hoặc trên web. Nó cũng cho phép sử dụng đào tạo phân tán các mô hình học sâu trên các cụm Đơn vị xử lý đồ họa (GPU) và Đơn vị xử lý kéo căng (TPU).
Các tính năng chính
- Người mẫu được đào tạo trước
- Hỗ trợ nhiều chương trình phụ trợ
- Thân thiện với người dùng và hỗ trợ cộng đồng lớn
6. Máy học lõi Apple
Core ML được Apple phát triển để hỗ trợ hệ sinh thái của nó - Hệ điều hành iOS, Mac OS và iPad. API của nó hoạt động ở mức độ thấp, sử dụng tốt tài nguyên của CPU và GPU, cho phép các mô hình và ứng dụng được tạo ra tiếp tục chạy ngay cả khi không có kết nối internet, giúp giảm “dung lượng bộ nhớ” và mức tiêu thụ điện năng của thiết bị.
Cách Core ML thực hiện điều này không chính xác bằng cách tạo ra một thư viện học máy khác được tối ưu hóa để chạy trên điện thoại / ipad. Thay vào đó, Core ML giống một trình biên dịch hơn, lấy các thông số kỹ thuật của mô hình và các thông số được đào tạo được thể hiện bằng phần mềm học máy khác và chuyển đổi nó thành một tệp để trở thành tài nguyên cho ứng dụng iOS. Việc chuyển đổi sang mô hình Core ML này xảy ra trong quá trình phát triển ứng dụng, không phải trong thời gian thực khi ứng dụng đang được sử dụng và được hỗ trợ bởi thư viện python coremltools.
Core ML mang lại hiệu suất nhanh chóng với việc tích hợp dễ dàng học máy mô hình vào các ứng dụng. Nó hỗ trợ học sâu với hơn 30 loại lớp cũng như cây quyết định, máy vectơ hỗ trợ và phương pháp hồi quy tuyến tính, tất cả đều được xây dựng dựa trên các công nghệ cấp thấp như Metal và Accelerate.
Các tính năng chính
- Dễ dàng tích hợp vào các ứng dụng
- Sử dụng tối ưu tài nguyên cục bộ, không yêu cầu truy cập internet
- Quyền riêng tư: dữ liệu không phải rời khỏi thiết bị
7. ONNX
Khung cuối cùng trong danh sách của chúng tôi là ONNX. Khung này xuất hiện từ sự hợp tác giữa Microsoft và Facebook, với mục tiêu đơn giản hóa quá trình chuyển giao và xây dựng mô hình giữa các khung, công cụ, thời gian chạy và trình biên dịch khác nhau.
ONNX định nghĩa một loại tệp chung có thể chạy trên nhiều nền tảng, đồng thời tận dụng các lợi ích của các API cấp thấp như từ Bộ công cụ nhận thức của Microsoft, MXNet, Caffe và (sử dụng bộ chuyển đổi) Tensorflow và Core ML. Nguyên tắc đằng sau ONNX là đào tạo một mô hình trên một ngăn xếp và triển khai nó bằng cách sử dụng các suy luận và dự đoán khác.
LF AI Foundation, một tổ chức con của Linux Foundation, là một tổ chức chuyên xây dựng một hệ sinh thái để hỗ trợ mã nguồn mở đổi mới trong trí tuệ nhân tạo (AI), máy học (ML) và học sâu (DL). Nó đã thêm ONNX làm dự án cấp sau đại học vào ngày 14 tháng 2019 năm XNUMX. Động thái này của ONNX dưới sự bảo trợ của LF AI Foundation được coi là một cột mốc quan trọng trong việc thiết lập ONNX như một tiêu chuẩn định dạng mở trung lập với nhà cung cấp.
Vườn thú mô hình ONNX là một tập hợp các mô hình được đào tạo trước trong Học sâu có sẵn ở định dạng ONNX. Đối với mỗi mô hình có Máy tính xách tay Jupyter để đào tạo mô hình và thực hiện suy luận với mô hình được đào tạo. Các sổ ghi chép được viết bằng Python và chứa các liên kết đến tập dữ liệu đào tạo và tham khảo tài liệu khoa học gốc mô tả kiến trúc mô hình.
Các tính năng chính
- Khả năng tương tác của khung
- Tối ưu hóa phần cứng
Kết luận
Đây là bản tóm tắt về các khuôn khổ tốt nhất cho học kĩ càng. Có một số khuôn khổ cho mục đích này, miễn phí hoặc trả phí. Để chọn điều tốt nhất cho dự án của bạn, trước tiên hãy biết bạn sẽ phát triển ứng dụng của mình trên nền tảng nào.
Các khung công tác chung như TensorFlow và Keras là những lựa chọn tốt nhất để bắt đầu. Nhưng nếu bạn cần sử dụng các ưu điểm của hệ điều hành hoặc thiết bị cụ thể, thì Core ML và Bộ công cụ nhận thức của Microsoft có thể là những lựa chọn tốt nhất.
Có những khuôn khổ khác nhằm vào các thiết bị Android, các máy khác và các mục đích cụ thể chưa được đề cập trong danh sách này. Nếu nhóm thứ hai làm bạn quan tâm, chúng tôi khuyên bạn nên thực hiện tìm kiếm thông tin của họ trên Google hoặc các trang web học máy khác.
Bình luận