Tôi đã bắt đầu nghiên cứu AI trong 2 tháng gần đây như thế nào?

35146

Bắt đầu với những kĩ năng quan trọng nhất của thế kỉ 21.

Chúng ta ngày càng bận rộn. Có rất nhiều thứ sẽ xảy ra với cuộc sống cá nhân cũng như nghề nghiệp nhưng trên hết, vài thứ như trí thông minh nhân tạo bắt đầu thời kì phát triển và bạn sẽ nhận ra rằng các kĩ năng của bạn sẽ hết hạn trong ít nhất 2 năm tới.

Sau khi tôi đóng cửa startup Zeading của mình, tôi đã nhận ra được sự thật rằng có vẻ như chúng ta đã bỏ qua vài thứ rất độc đáo

“Các kiến thức và kĩ năng của một full-stack developer sẽ không bao giờ đủ khi ngữ cảnh mọi thứ thay đổi. Trong 2 năm tới đây, full-stack cũng không được gọi là full-stack nếu không có kĩ năng AI.”

Đã đến lúc phải hành động tôi tự nghĩ  đến việc tự nghiên cứu AI từ đâu. Và tôi đã làm những gì tôi cho là đúng đắn – cập nhật các kĩ năng của tôi như là 1 lập trình viên, mindset của tôi như 1 người làm product và triết lí của tôi như một doanh nhân để trở thành người theo định hướng data.

Như Spiros Margaris – nhà đầu tư mạo hiểm nổi tiếng và lãnh đạo tư tưởng trong AI và Fintech đã nói với tôi “Nếu các công ty và startups chỉ dựa vào thuật toán AI và Machine Learning tiên tiến thì sẽ không bao giờ là đủ. AI không phải là một lợi thế cạnh tranh nhưng nó chắc chắn là một điều bắt buộc. Bạn đã bao giờ nghe ai đó nói rằng họ sử dụng điện lại là lợi thế cạnh tranh chưa?

Xây dựng neural network

tuyển dụng it

Lời khuyên phổ biến là hãy đăng kí khóa học của Andrew Ng trên Coursera. Đây là một nơi tuyệt vời để bắt đầu nhưng tôi lại nhận thấy rất khó khăn để tỉnh táo trong thời gian dài. Tôi không nói đây là 1 khóa học tồi tệ, nhưng tôi rất tệ khi phải tập trung vào giảng viên. Cách tôi học luôn thông qua thực tiễn, vậy nên tôi nghĩ việc tự nghiên cứu AI từ đâu? tại sao không thực hiện ngay mạng lưới thần kinh của riêng mình.

Tôi không nhảy thẳng tới mạng lưới neutral bởi vì luôn có vài cách khác tốt hơn để học. Tôi đã cố làm quen bản thân với tất cả các từ trong miền để tôi có thể học nói các ngôn ngữ.

“Bài tập đầu tiên không phải là học mà là làm quen”

Với background về Javascript và NodeJS, tôi không muốn thay đổi chuyên môn của mình. Vì vậy, tôi đã tìm kiếm một module mạng lưới thần kinh tên ngôn ngữ và sử dụng nó để thực hiện một cổng AND với một input giả. Lấy cảm hứng từ hướng dẫn này, tôi chọn vấn đề là cho bất kì input X,Y và Z nào thì output cũng nên là X và Y.

var nn = require('nn')
var opts = {
    layers: [ 4 ],
    iterations: 300000,
    errorThresh: 0.0000005,
    activation: 'logistic',
    learningRate: 0.4,
    momentum: 0.5,
    log: 100   
}
var net = nn(opts)
net.train([
    { input: [ 0,0,1 ], output: [ 0 ] },
    { input: [ 0,1,1 ], output: [ 0 ] },            
    { input: [ 1,0,1 ], output: [ 0 ] },
    { input: [ 0,1,0 ], output: [ 0 ] },
    { input: [ 1,0,0 ], output: [ 0 ] },
    { input: [ 1,1,1 ], output: [ 1 ] },
    { input: [ 0,0,0 ], output: [ 0 ] }
    ])
// send it a new input to see its trained output
var output = net.send([ 1,1,0]) 
console.log(output); //0.9971279763719718

Theo ý kiến của cá nhân tôi, đây là một trong những bước xây dựng thành công nhất mà tôi đã làm. Khi output đạt đến 0.9971, tôi nhận ra rằng network đã học cách để làm một hệ thống AND và phớt lờ các input bổ sung của mình.

Đây là lí do chính của Machine Learning. Bạn đưa máy tính một set data và nó điều chỉnh các thông số nội bộ để đạt được khả năng trả lời câu hỏi trên dữ liệu mới trong khi lỗi được giảm đi từ cách máy tính quan sát từ dữ liệu gốc

Sau này tôi mới biết phương pháp này được gọi là Gradient descent.

tự nghiên cứu AI từ đâu

Chuẩn bị kĩ càng cho trí tuệ nhân tạo

tự nghiên cứu AI từ đâu

Một khi đã tràn đầy tự tin sau khi làm xong chương trình trí tuệ nhân tạo đầu tiên, tôi muốn biết mình có thể làm gì hơn với machine learning với tư cách là một developer.

  • Tôi đã bắt đầu giải quyết các vấn đề supervised learning như hồi quy phân loại.
  • Sử dụng data một cách hạn chế để dự đoán đội nào sẽ tháng một IPL match cho trước sử dụng multivariate linear regression. (Các dự đoán không tốt lắm nhưng nó cũng rất tuyệt)
  • Sau đó thực hiện rất nhiều demo trên Google Machine Learning cloud để xem AI có thể làm những gì (nó tốt đủ để Google thực hiện như một sản phẩm của SaaS)
  • Tôi còn tình cờ biết được AI Playbooks, một resource khá tốt bởi Andreessen-Horowits, quỹ đầu tư mạo hiểm. Thật sự là một những resources tiện dụng nhất cho developers và doanh nhân

tự nghiên cứu AI từ đâu

  • Bắt đầu xem channel của Siraj Rawal trên Youtube, kênh này tập trung vào Deep Learning và Machine Learning
  • Tôi có đọc được post này của Hackernoon về cách các showrunners tại Silicon Valley built Not HotDog app. Đây là một trong những ví dụ dễ tiếp cận nhất của deep learning mà chúng ta có thể làm.
  • Cộng thêm blog của Andrej Karpathy – Giám đốc AI của Tesla. Mặc dù tôi không hiểu nhiều và cảm thấy nhức đầu, tôi nhận thấy là sau khi cố gắng tìm hiểu nhiều lần nữa tôi cuối cũng cũng có thể hiểu được một vài khái niệm
  • Với một vài lời động viên, tôi bắt đầu thực hiện một vài hướng dẫn nguyên văn của deep learning (Copy & Paste) và cố gắng train model và run code trên machine của tôi. Đa số đều thất bại bởi vì đa số các model đều tốn thời gian training cao và tôi không có một cái GPU

Dần dần tôi chuyển các công cụ từ Javascript sang Python, và cài đặt Tensorflow trên windows machine của mình.

Toàn bộ quy trình này được tập trung xung quanh việc tiêu thụ thụ động content và xây dựng tài liệu tham khảo trong tâm trí của bạn để lúc sau tôi có thể sử dụng khi khách hàng thực sự của tôi gặp vấn đề.

  Ứng dụng AI tự động chuyển màn hình code khi phát hiện sếp đến gần
  Thị trường AI Vietnam 2023 - Những tên tuổi đưa Việt Nam lên bản đồ AI thế giới

Đuổi kịp con tàu Chatbot

tự nghiên cứu AI từ đâu

Là một fan cứng của bộ phim Her, tôi muốn build chatbots. Tôi đã chấp nhận thử thách và xoay sở để build một con sử dụng Tensorflow trong ít hơn 2 tiếng. Tôi đã vạch ra kế hoạch chuyến đi này  ở một trong các bài viết của tôi nhiều ngày trước.

May mắn là bài viết này được viral rất tốt và được đề cử tại TechinAsia, CodeMentorKDNuggets. Cá nhân tôi cảm thấy rất vinh hạnh về điều đó vì tôi chỉ mới bắt đầu viết Tech Blog thôi. Nhưng tôi nghĩ bài biết đó là một trong những đánh dấu trong sự nghiệp học hỏi về AI của tôi.

Tôi đã kết bạn được với rất nhiều người trên Twitter và Linkedin với những người mà tôi có thể hỏi cách tự nghiên cứu AI từ đâu, bàn luận về AI sâu và rộng và thậm chí có thể thoát khỏi những thứ tôi đã từng bị rối. Tôi đã nhận được một vài lời đề nghị để thực hiện ác dự án tư vấn và phần tuyệt vời nhất là các bạn lập trình viên trẻ và người mới bắt đầu AI đã bắt đầu hỏi tôi về cách tôi bắt đầu AI như thế nào.

Điều mang tôi tới việc viết bài này là để giúp mọi người tham khảo kinh nghiệm của tôi và bắt đầu nhưng dự án của chính họ.

“Bắt đầu là một trong những phần thách thức nhất của bất kì hành trình nào”

Salt & Pepper

tự nghiên cứu AI từ đâu

Điều này thực sự không dễ dàng khi bắt đầu hiện thức hóa câu hỏi tự nghiên cứu AI từ đâu? Khi tôi bắt đầu cảm thấy bế tắc với Javascript, tôi nhảy sang Python và mất cả đêm để tìm cách code. Tôi bắt đầu hơi kích thích khi các mẫu của tôi không train được trên máy i7 hoặc sau nhiều giờ trainning, chúng sẽ trả về các kết quả mập mờ như khả năng thắng 50-50 của 1 trận Cricket. Học về AI không giống như học về một web framework.

Đó là một kĩ năng mà yêu cầu nhận thức về mọi thứ ở mức độ tính toán cực nhỏ và tìm kiếm ra cái gì quan trọng hơn với output của bạn – code hay data của bạn.

AI cũng không phải chỉ là một môn học. Nó là một cụm từ sử dụng cho mọi thứ từ vấn đề hồi qui đơn giản đến robot sát nhân sẽ giết chúng ta một ngày nào đó. Giống như mọi quy luật chúng ta phải tuân theo, có thể bạn sẽ muốn cherry-pick những vấn đề của AI mà bạn muốn giỏi như Computer Vision, hay Natural Language Processing hay God Forbid, thống trị thế giới.

Trong một cuộc trò truyện với Gaurav Sharma từ Atlantis Capital, một người leader có danh tiếng trong lĩnh vực AI, Fintech và Crypto, anh ấy tâm sự với tôi rằng:

Trong thời kì của trí tuệ nhân tạo, “trở nên thông minh” sẽ mang một ý nghĩa hoàn toàn khác. Chúng ta cần con người thể hiện một tư duy cao cấp hơn, sáng tạo và suy nghĩ và các công việc yêu cầu sự ràng buộc về cảm xúc cao.

Việc các máy tính nhanh chóng học cách làm việc bằng chính bản thân nó sẽ làm bạn phấn khích vô cùng. Kiên nhẫn và luôn tự chất vấn bản thân là 2 nguyên lí quan trọng mà bạn nên nhớ.

Đây là một hành trình rất rất dài hơi, rất mệt mỏi, kiệt sức và tốn thời gian ngoài ý muốn.

Nhưng phần tốt là, như mọi hành trình trên thế giới, hành trình này cũng bắt đầu từng bước một.

Bài viết gốc được đăng tải tại Hackernoon

Có thể bạn muốn xem thêm:

Xem thêm việc làm Developer hấp dẫn lương cao tại TopDev!