Bài viết được sự cho phép của tác giả Sơn Dương
Để học Machine Learning, chúng ta có rất nhiều cách, trong đó có một cách mà nhiều người đã áp dụng. Đó là tham khảo các thư viện Machine Learning mã nguồn mở, chạy thử và ứng dụng vào một bài toán thực tế.
Nói đến AI, Machine Learning, hầu hết mọi người đều được khuyên nên học Python. Nhưng vấn đề là mình lại chỉ thích mỗi Javascript. Thế là thử tìm trên Google, mình mới phát hiện ra mọi người dùng Javascript cho Machine learning cũng rất nhiều, không kém Python là mấy.
Trong thời gian gần đây, hệ sinh thái web đã có những tiến bộ rất lớn. Mặc dù, Javascript và NodeJS vẫn bị coi là có hiệu năng kém hơn so với Python và Java. Đặc biệt là các tác vụ nặng như Machine Learning. Tuy nhiên, Javascript lại có lợi thế là dễ học, dễ tiếp cận . Tất cả những gì bạn cần để chạy một dự án Javascript Machine Learning là một trình duyệt.
Hầu hết các thư viện Javascript dành cho Machine Learning đều khá mới và vẫn đang giai đoạn phát triển. Nhưng chúng rất đáng thử nghiệm và ứng dụng vào các bài toán thực tế của bạn.
Bài viết này, mình sẽ giới thiệu một số thư viện machine learning bằng Javascript, cũng như một số ứng dụng minh họa thú vị để bạn có thể tham khảo và giúp ích cho việc học Machine Learning trực quan hơn.
1. Brain
Brain là một thư viện JS cho phép bạn dễ dàng tạo mạng Nơron và sao đó trainning chúng để tạo ứng dụng AI/ML. Vì quá trình trainning chiếm rất nhiều tài nguyên máy tính, nên ưu tiên chạy thư viện trong NodeJS thay vì như một ứng dụng client chạy trên trình duyệt. Mặc dù, phiên bản trình duyệt (tải qua CDN) cũng có thể làm được.
Có một bản demo nhỏ trên trang web chính thức của nhà phát hành mà bạn có thể tham khảo.
2. Deep playground
Deep playgroud là một mô hình trực quan mạng Nơron được viết bằng TypeScript trên nền thư viện d3.js
Deep playgroud có giao diện UI đẹp mắt, cho phép bạn kiểm soát dữ liệu đầu vào, số lượng nơron, thuật toán sử dụng và nhiều số liệu khác để bạn “nhào nặn” cho ra kết quả cuối cùng như ý.
Ngoài ra, bạn còn rất nhiều code mẫu được nhà phát hành cung cấp để bạn có thể tham khảo và nhanh chóng biết cách sử dụng thư viện này.
Điểm cuối cùng là tài liệu chính thức của nhà phát hành cũng rất đầy đủ, nên bạn hoàn toàn có thể yên tâm mà nghiên cứu.
Xem thêm tuyển dụng Machine Learning hấp dẫn trên TopDev
3. FlappyLearning
Nghe tới tên Flappy khiến bạn liên tưởng ngay tới game “Flappy bird” đình đám một thời đúng không!? Bạn liên tưởng đúng rồi đấy. Bạn từng chơi dòng game này chưa? Điểm tối đa mà bạn đạt được là bao nhiêu? Bạn nghĩ sao nếu bạn có khả năng phản xạ như máy tính, chơi đạt tới hàng ngàn điểm trong game này?
FlappyLearning là một dự án machine learning bằng Javascript chỉ có 800 dòng code để tạo một thư viện machine learning và ứng dụng nó trong bản demo thứ vụ giúp học cách chơi FlappyLearning như một nghệ sĩ điêu luyện.
Kỹ thuật AI được sử dụng trong thư viện này được gọi là Neuroevolution, và ứng dụng các thuật toán lấy cảm hứng từ các hệ thống thần kinh được tìm thấy trong tự nhiên, có khả năng tự học hỏi từ những thất bại hay thành công sau mỗi lần chơi.
Bản demo của thư viện này rất dễ chạy, chỉ cần mở index.html bằng trình duyệt và trải nghiệm.
4. Synaptic
Đây có lẽ là dự án được maintain tích cực nhất trong danh sách thư viện Machine learning này. Synaptic là một thư viện dành cho NodeJS và trình duyệt có kiến trúc agnostic, cho phép các nhà phát triển có thể xây dựng bất kỳ loại mạng nơron nào họ muốn.
Synaptic có một kiến trúc nơron được xây dựng sẵn, giúp bạn nhanh chóng có thể kiểm tra và so sánh các thuật toán machine learning khác nhau.
Về phần tài liệu hướng dẫn, Synaptic cũng khá đầy đủ , có nhiều guide khá chi tiết giúp bạn nhanh chóng hiểu được ý tưởng của Synaptic.
Tham khảo tuyển dụng javascript lương cao trên TopDev
5. Thing Translator
ThingTranslator là một giải pháp web cho phép điện thoại có thể nhận ra các đối tượng trong đời thực và đặt tên cho chúng bằng những ngôn ngữ khác nhau.
Ứng dụng được xây dựng hoàn toàn t rên công nghệ web và sử dụng hai API Machine learning của Goole:
- Cloud Vision để nhận dạng hình ảnh
- API translater để dịch kết quả ra các ngôn ngữ khác nhau
6. DeepForge
Phải nói, DeepForge tạo ra một môi trường phát triển deep learning rất thân thiện với developer. Nó cho phép bạn thiết kế mạng nơron bằng giao diện đồ họa, hỗ trợ các mô hình traning trên các máy tính từ xa (remote machines) và được tích sẵn các trình quản lý phiên bản như git, svn.
Dự án được xây dựng chạy trên trình duyệt và trong môi trường NodeJS + MongoDB, nên quá trình cài đặt rất quen thuộc với hầu hết các bạn web developer.
Tạm kết
Mặc dù hệ sinh thái dành cho machine learning bằng Javascript vẫn còn khá mới mẻ và còn cần thêm thời gian để cộng đồng phát triển thêm. Lời khuyên của mình là nên sử dụng những tài nguyên miễn phí ở trên như một bước đầu để đi vào thế giới machine learning đầy “mê hoặc”.
Bài viết gốc được đăng tải tại vntalking.com
Có thể bạn quan tâm:
- Sự khác nhau giữa AI, Machine Learning và Deep Learning
- Lộ trình từng bước trở thành Machine Learning Engineer
- Hướng triển khai cho các project Machine Learning
Xem thêm việc làm IT hấp dẫn trên TopDev