Kinh nghiệm tự học AI

0

[Chia sẻ] Kinh nghiệm tự học thành AI Coder của anh Toàn (leader team AI – Framgia)

Bài viết bên dưới sẽ tóm tắt các kinh nghiệm mà một người trong lĩnh vực AI (trí thông minh nhân tạo) chia sẻ để anh em lập trình có thể tham khảo sử dụng. Anh Phạm Văn Toàn là leader của nhóm AI Framgia, mời anh em xem qua bài chia sẻ của anh về AI, cách học cũng như thành công với AI có khó như nhiều người nghĩ.

1) Hãy bắt đầu với ứng dụng trước – Tìm hiểu thuật toán sau

Có rất nhiều người muốn học về AI nhưng lại nói với tôi rằng họ rất sợ toán, họ rất ngại đọc lại những công thức về đạo hàm và tối ưu, về xác suất và về giải tích… những kiến thức đó họ đã lãng quên sau một thời gian đi làm thực tế. Họ hỏi tôi rằng có phương pháp gì để chống lại nỗi sợ đó không, tôi chỉ cười và nói rằng “đơn giản nhất là đừng đọc toán nữa”. Có lẽ các bạn nghĩ tôi nói đùa nhưng một điểm lợi thế của một developer là được tiếp xúc với các dự án thực tế, điều đó rèn luyện cho các bạn tư duy tổng quát và cách giải quyết một vấn đề mới.

Và bạn có tin không, AI cũng có thể học theo phương pháp đó. Các bạn là các developer, hãy bắt đầu với một ứng dụng nhỏ mà bạn muốn làm, ví dụ nhận diện khuôn mặt chẳng hạn. Tiếp theo, hãy lên mạng tìm hiểu và tập làm quen với các thư viện về bài toán đó, sau đó hãy thử với các tập dữ liệu đơn giản, hãy bắt đầu với những dòng code đầu tiên và thử deploy ứng dụng AI đầu tiên của bạn. Dù là sau bước này bạn có thể chẳng hiểu tại sao nó lại chạy được nhưng cứ từ từ đã. Điều thú vị vẫn còn ở phía sau.

Sau khi đã tạm hứng thú với ứng dụng đầu tiên rồi việc tiếp theo mình khuyên các bạn developer nên làm đó là thử tìm hiểu về cơ sở toán học của nó, một cách cơ bản nhất mà chưa cần đi đến mức chi tiết. Đủ đề các bạn hiểu một ứng dụng AI của bạn sẽ được thư viện xử lý như thế nào để từ một khuôn mặt đầu vào, thực hiện qua các bước nào (chỉ cần biết cái tên thôi đã) để đến được kết quả đầu ra. Hãy ghi ra một tờ giấy luồng hoạt động của ứng dụng của bạn vừa thực hiện. Cứ như vậy bạn đang dần dần nắm được luồng hoạt động tổng quát và những khái niệm cơ bản của AI rồi. Tiếp sau đó bạn cứ dần dần đào sâu kiến thức của mình, phương pháp này mình đã áp dụng nó và mình thấy rất hiệu quả cho những bạn developer muốn chuyển sang lĩnh vực AI.

2) Đọc và code lại thư viện

Các thư viện open-source là một nguồn tài nguyên vô giá cho các bạn developer. Thay vì chỉ đọc documentation và sử dụng thư viện đó một cách máy móc thì hãy dành thời gian đọc code trong core của thư viện. Nếu được thì hãy thử code lại và xây dựng lại thư viện đó, chắc chắn bạn sẽ học được rất nhiều kĩ năng lập trình, code bạn sẽ đẹp hơn và quan trọng hơn nữa là bạn sẽ học được bản chất của vấn đề.

Nếu như chọn phương pháp đi lên từ học thuật, tức là học và giải các bài tập về toán, sau đó học về cách mô hình rồi mới đến triển khai ứng dụng thì bạn hoàn toàn có thể thực hiện điều đó thông qua việc đọc và code lại thư viện. Từ những dòng chú thích trong thư viện (được viết rất đầy đủ và chi tiết) bạn sẽ tìm ra được những từ khoá về bài toán bạn đang sử dụng. Với những từ khoá ấy bạn tìm kiếm những nghiên cứu về nó, chắc chắn bạn sẽ gặp những công thức toán học trong đó. Tuy nhiên bạn đã có thư viện, có code để so sánh (thông thường với các developer thì việc đọc code sẽ dễ hơn đọc công thức toán học rất nhiều) và dần dần bạn sẽ hiểu ra cặn kẽ của vấn đề. Đến lúc này bạn đã gần chạm ngưỡng của một AI Engineer rồi đó.

3) AI không chỉ dừng lại ở thuật toán

Có rất nhiều người nghĩ AI là chỉ cần học thuật toán thôi nhưng thực sự đó là một quan điểm chưa hoàn toàn chính xác.

Để một ứng dụng AI hoàn thiện và đi đến tay người dùng chúng ta cần rất nhiều khâu từ xử lý dữ liệu, từ việc lấy đặc trưng của dữ liệu, việc huấn luyện mô hình đến việc deploy lên thiết bị cuối như server, các mạch nhúng… Vậy nên hãy trang bị thêm cho mình các kiến thức khác về xử lý dữ liệu, phân tích đặc trưng, về database và deployment. Lúc ấy các bạn sẽ thấy rằng một AI Engineer không chỉ người có khả năng làm ra một ứng dụng AI tốt mà còn biết cách để triển khai nó một cách trơn tru trong ứng dụng thực tế nữa.

4) Chia sẻ và open-source

Một điều tôi rất hay hỏi các ứng viên khi phỏng vấn đó chính là “bạn đã có open-source nào chưa?” và tôi nhận thấy đa phần các câu trả lời là chưa. Chia sẻ là một điều rất tốt và hữu ích giúp cho bạn nâng cao kĩ năng của bạn thân và giúp cho bạn cập nhật những kiến thức còn thiếu sót của mình. Bởi khi bạn chia sẻ bạn sẽ nhận được những đóng góp của cộng đồng những người làm cùng lĩnh vực với bạn. Khi bạn viết open-source bạn sẽ phải chăm chút cho nó, kĩ năng code của bạn sẽ được nâng cao và bạn sẽ nhận được sự đánh giá, kiểm tra chéo từ cộng đồng. Điều đó thực sự rất đáng quý cho sự nghiệp của bạn.

Lời kết: Trên đây là những chia sẻ của mình về con đường từ một Software Developer trở thành một AI Engineer. Bản thân mình cũng tự nhận thấy còn phải cố gắng và nỗ lực rất nhiều. Chính vì thế mình đặt yếu tố đam mê và sự kiên trì lên hàng đầu. Xin tặng lại độc giả một câu nói mà mình rất yêu thích “Khi mình đang cố gắng thì những người giỏi hơn mình họ cũng đang cố gắng nên việc cần làm là phải cố gắng hơn.”

Nguồn: AI Coder của anh Toàn (leader team AI – Framgia)

LEAVE A REPLY