Một trong những cách thú vị nhất để học về máy học (Machine Learning) là xây dựng các dự án cho chính bạn. Trong bài đăng này, một kỹ sư trí tuệ nhân tạo ứng dụng tại Google sẽ gợi ý cho bạn một số cách thực hiện điều đó.
Cách đây ít lâu, tôi quyết định học viết mã nguồn bằng cách xây dựng một trang web cá nhân của riêng mình. Khi đó, tôi không biết gì về máy tính, chứ đừng nói đến khái niệm máy chủ! Tuy nhiên, tôi có cảm giác như mình còn vô số chủ đề công nghệ để học và có một khao khát mãnh liệt được học chúng. Tôi đã thức trắng đêm để suy nghĩ về tất cả các cách có thể mày mò trang web của mình và mơ về tất cả những dự án cá nhân tôi sẽ xây dựng sau này.
Nhiều năm sau, tôi đã trở thành một kỹ sư chuyên nghiệp, giải quyết những vấn đề công nghệ phức tạp và khách quan hơn một trang web của riêng mình. Tuy nhiên, thật khó nói rằng tôi đã có lần cảm thấy điều kỳ diệu như trẻ thơ mà tôi đã từng cảm nhận được trong lần đầu học viết mã.
Nếu làm việc trong lĩnh vực công nghệ, chắc chắn bạn hiểu rằng đó là một cam kết học hỏi suốt đời. Chỉ trong vài cái chớp mắt, mọi phần mềm mà bạn cho là hiện đại sẽ được thay thế hoàn toàn. Trong khoa học máy tính, một ví dụ tuyệt vời chính là máy học. Hầu hết chúng ta chưa bao giờ học chủ đề này ở trường đại học (nếu từng học Khoa học máy tính ở trường), nhưng nó sẽ sớm trở nên phổ biến khắp nơi, thay đổi quá trình phát triển phần mềm trong mọi lĩnh vực. Chẳng có gì ngạc nhiên khi câu hỏi tôi thường gặp nhất chính là Tôi nên bắt đầu học máy học từ đâu?
Thông thường, tôi sẽ giới thiệu cho họ những tài nguyên như Khóa học xử lý sự cố bằng máy học của Google, cuốn sách Hands-On Machine Learning (tạm dịch: Máy học thực hành), hay khóa học kinh điển của Andrew Ng trên Coursera, bao gồm các nguyên lý cơ bản từ lý thuyết đến thực hành. Tuy nhiên, nếu bạn giống tôi và cách học yêu thích của bạn là thực hành, hãy cân nhắc học máy học bằng cách xây dựng phần mềm cho chính bạn. Các dự án cá nhân không chỉ là một cách thú vị (và có thể sẽ hữu ích) để học một công nghệ mới, mà còn là một cách tuyệt vời để tìm hiểu về một số thách thức bạn sẽ phải đối mặt khi triển khai máy học trong thực tế, thay vì trong phạm vi một bài tập về nhà.
Vào thời điểm đại dịch bắt đầu, khi tôi đột nhiên thấy mình đang bơi trong đống thời gian rảnh, tôi đã đặt ra cho bản thân một thử thách: liệu tôi có thể tìm hiểu thêm về máy học bằng cách xây dựng các dự án cá nhân để giải quyết các vấn đề trong cuộc sống của chính mình hay không? Kể từ đó, tôi đã sử dụng máy học để tìm kiếm video về gia đình một cách thông minh, cải thiện cách giao bóng quần vợt, dịch video, phát minh ra các công thức làm bánh mới và hơn thế nữa.
Trong phần dưới đây, bạn có thể tìm thấy một bản tổng hợp các dự án này cùng với mã nguồn, video hướng dẫn trên Youtube và các bài đăng hướng dẫn chi tiết trên blog của Google. Từ việc giới thiệu cho bạn các kỹ thuật và công cụ mới, cho đến việc dạy bạn cách kết hợp những thứ này lại với nhau để tạo thành ứng dụng có thể hoạt động, tôi hy vọng bạn sẽ cảm thấy thật thú vị trong quá trình học hỏi thông qua việc xây dựng các dự án này. Hoặc tốt hơn nữa, tôi hy vọng chúng sẽ truyền cảm hứng cho những nỗ lực được thực hiện với máy học của chính bạn.
Kho lưu trữ video gia đình thông minh
Bạn sẽ xây dựng: Một kho lưu trữ giúp video gia đình của bạn có thể được tìm kiếm bằng transcript và bằng hình ảnh.
Bạn sẽ học được:
- Một trường hợp sử dụng máy học siêu phổ biến: Biến các loại dữ liệu phức tạp trở nên có thể sắp xếp và dễ dàng tìm kiếm hơn
- Cách sử dụng Video Intelligence API
- Cách để kiến tạo kiến trúc ứng dụng được hỗ trợ bởi máy học, với Flutter frontend và Firebase backend không máy chủ, cùng với tìm kiếm như một dịch vụ (service) do Algolia cung cấp.
Bot kiểm duyệt Discord
Bạn sẽ xây dựng: Một bot cho nền tảng trò chuyện Discord, cho phép bạn gắn cờ các tin nhắn độc hại, xúc phạm, tục tĩu hoặc spam
Bạn sẽ học được:
- Cách sử dụng Perspective API để phân tích văn bản
- Cách áp dụng máy học trong một ứng dụng trò chuyện
- Cách tư duy sử dụng công nghệ máy học cho các vấn đề phức tạp
Trở thành một vận động viên giỏi hơn nhờ trí tuệ nhân tạo
Bạn sẽ xây dựng: Một Jupyter notebook có thể theo dõi cú giao bóng quần vợt của mình và quỹ đạo một quả bóng quần vợt (hoặc cú đánh gôn, hay bóng chày…) và phân tích dữ liệu này để cung cấp cho bạn các mẹo cải thiện kỹ năng thể thao. Hãy làm theo những hướng dẫn trên Qwiklab.
Bạn sẽ học được:
- Các mẹo thực hiện máy học tinh vi với những bộ dữ liệu nhỏ
- Cách kết hợp theo dõi tư thế với phép toán đơn giản để hiểu chuyển động của con người
- Cách sử dụng Video Intelligence API
- Cách sử dụng AutoML Vision
Thế giới trò chơi điện tử thông minh hơn với NLP
(Natural Language Processing – xử lý ngôn ngữ tự nhiên)
Bạn sẽ xây dựng: Một hệ thống dựa trên ngôn ngữ đơn giản để tạo ra thế giới trò chơi điện tử phản ứng với dữ liệu văn bản đầu vào tự do của người dùng
Bạn sẽ học được:
- Cách sử dụng phương pháp nhúng câu, một trong những kỹ thuật hữu ích nhất về NLP
- Cách triển khai tìm kiếm văn bản theo ngữ nghĩa
- Cách phân cụm văn bản
- Cách triển khai một bot trò chuyện cơ bản
- Cách thực hiện tất cả những điều này từ một trang tính trên Google
Trình chuyển đổi PDF thành sách nói
Bạn sẽ xây dựng: Mã nguồn chuyển đổi tập tin PDF thành sách nói dạng MP3
Bạn sẽ học được:
- Cách trích xuất văn bản từ các tập tin PDF bằng Vision API
- Cách chuyển văn bản thành giọng nói với Text-to-Speech API
- Cách sử dụng toán học để phân tích bố cục tài liệu
Dịch và lồng tiếng video với máy học
Bạn sẽ xây dựng: Mã nguồn có thể tự động phiên âm, dịch và lồng tiếng cho video
Bạn sẽ học được:
- Cách kết hợp Speech-to-Text, Translation và Text-to-Speech
- Cách cải thiện chất lượng phiên âm và dịch thuật
- Cách làm việc với video và âm thanh bằng Python
Công thức làm bánh được sáng tạo bởi trí tuệ nhân tạo
Bạn sẽ xây dựng: Mô hình máy học không mã nguồn phân loại các công thức nấu ăn và thậm chí có thể tạo ra công thức mới
Bạn sẽ học được:
- Cách xây dựng mô hình máy học không mã nguồn cho dữ liệu dạng tabular (bảng tính), sử dụng AutoML Tables
- Cách giải thích các tính năng máy học để hiểu tại sao một mô hình lại đưa ra quyết định nào đó
Máy học không mã nguồn ngay trong trình duyệt
Bạn sẽ xây dựng: Mô hình máy học siêu nhanh dựa trên tư thế, thị giác hoặc âm thanh
Bạn sẽ học được:
- Những gì cần thiết để xây dựng một mạng nơ-ron (neural network) mà không cần viết mã nguồn
- Cách tạo ra mô hình siêu nhanh chạy trong trình duyệt với máy học có thể huấn luyện được
Trang phục được tạo ra bởi trí tuệ nhân tạo
Bạn sẽ xây dựng: Ứng dụng sử dụng hình ảnh về tủ quần áo của riêng bạn, và ảnh từ những người có sức ảnh hưởng trong giới thời trang trên mạng xã hội để đề xuất trang phục cho bạn
Bạn sẽ học được:
- Cách sử dụng Product Search và Vision API
- Cách kiến trúc ứng dụng máy học với React và Firebase
Nguồn: Google Blog