Trí tuệ nhân tạo hay trí thông minh nhân tạo (Artificial intelligence hay Machine intelligence – AI) là một ngành thuộc lĩnh vực khoa học máy tính (Computer science). AI là trí tuệ do con người lập trình với mục tiêu giúp máy tính có thể tự động hóa các hành vi thông minh như con người. Hãy cùng tìm hiểu 6 bước sau đây để bắt đầu học về trí tuệ nhân tạo nhé!
Bước 1: Tìm hiểu về Python và SQL
Điều cốt yếu mà bạn phải làm là phải học một ngôn ngữ lập trình. Mặc dù trong thực tế có rất nhiều ngôn ngữ mà bạn có thể bắt đầu, nhưng Python là sự lựa chọn tốt nhất vì các thư viện của nó phù hợp hơn với Machine Learning.
Bước 2: Học trí tuệ nhân tạo từ một số khóa học dưới đây
Artificial Intelligence: Principles and Techniques from Stanford – Một chương trình giáo dục xuất sắc cho những học giả, những người được truyền cảm hứng bằng cách làm quen nhiều hơn về AI. Khóa học tập trung vào các tiêu chuẩn cơ bản của AI.
CS405: ARTIFICIAL INTELLIGENCE: Giới thiệu lĩnh vực trí tuệ nhân tạo (AI). Các tài liệu về lập trình AI, logic, tìm kiếm, chơi trò chơi, nghiên cứu máy móc, hiểu ngôn ngữ tự nhiên và robot giới thiệu với sinh viên về phương pháp AI, công cụ và kỹ thuật, ứng dụng đối với các vấn đề tính toán và vai trò của AI.
edx.org course on AI: Khóa học này cung cấp các nguyên tắc cơ bản của Artificial Intelligence (AI) và cách áp dụng chúng. Thiết kế các intelligent agent để giải quyết các vấn đề trong thế giới thực bao gồm tìm kiếm, trò chơi, nghiên cứu máy móc, logic và sự hạn chế trong các vấn đề.
MIT’s course on AI: Khóa học này giới thiệu cho sinh viên kiến thức cơ bản, giải quyết vấn đề và phương pháp học tập của trí tuệ nhân tạo. Sau khi hoàn thành khóa học này, sinh viên sẽ có thể phát triển các hệ thống thông minh bằng cách ứng dụng các giải pháp cho các vấn đề tính toán cụ thể; hiểu vai trò của lập trình tri thức, giải quyết vấn đề và học tập trong hệ thống kỹ thuật thông minh. Khóa học đánh giá cao vai trò của việc giải quyết vấn đề, tầm nhìn và ngôn ngữ trong việc hiểu trí tuệ thông minh của con người từ góc độ tính toán.
Learn the Fundamentals of AI – Khóa học trực tuyến này, được chia thành 10 bài học, giúp sinh viên hiểu rõ hơn về vũ trụ AI. Để hiểu nó, hãy đảm bảo bạn có một số thông tin cần thiết về toán học dựa trên biến trực tiếp và giả thuyết khả năng. Bạn nên học cách ghi nhớ mục tiêu cuối cùng để chuẩn bị trước.
Berkeley Video Lecturers: Khóa học bao gồm các bài giảng bằng video.
Trên đây là 6 khóa học về trí tuệ nhân tạo hàng đầu cho người mới bắt đầu và nâng cao. Hy vọng chúng sẽ hữu ích cho bạn.
Bước 3: Tìm hiểu kiến thức cơ bản về lý thuyết xác suất, thống kê và Toán học
Bạn có thể tham khảo các liên kết dưới đây:
- Đại số tuyến tính – Linear Algebra – MIT 18.06 Đại số tuyến tính của Gilbert Strang (Link tham khảo: https://www.youtube.com/watch?list=PLE7DDD91010BC51F8&v=ZK3O402wf1c)
- Lý thuyết xác suất và thống kê – Probability and Statistics – MIT 6.041 Phân tích hệ số xác suất và xác suất ứng dụng của John Tsitsiklis (Link tham khảo: https://www.youtube.com/watch?list=PLUl4u3cNGP61MdtwGTqZA0MreSaDybji8&v=j9WZyLZCBzs)
- Calculus (Link tham khảo: http://kisonecat.com/teaching/2013/calculus-one/)
- Multivariate Calculus (Link tham khảo: http://kisonecat.com/teaching/2014/m2o2c2/)
- Graph theory (Link tham khảo: https://class.coursera.org/pgm-003)
- Optimization methods (Link tham khảo: https://online.stanford.edu/courses)
Bước 4: Đọc sách
- http://aima.cs.berkeley.edu/
- Artificial Intelligence: A Modern Approach, của Stuart J. Russell và Peter Norvig
- http://wps.aw.com/wps/media/objects/5771/5909832/PDF/Luger_0136070477_1.pdf
- The Quest for Artificial Intelligence của Nils J. Nilsson (Link tham khảo: http://ai.stanford.edu/~nilsson/QAI/qai.pdf)
- Practical Artificial Intelligence: Programming in Java của Mark Watson (Link tham khảo: https://www.saylor.org/site/wp-content/uploads/2011/11/CS405-1.1-WATSON.pdf)
- https://grey.colorado.edu/CompCogNeuro/index.php/CCNBook/Main
- Simply Logical: Intelligent Reasoning by Example của Peter Flach (Link tham khảo: https://www.cs.bris.ac.uk/~flach/SL/SL.pdf)
- The AI Revolution: Road to Superintelligence (Link tham khảo: https://waitbutwhy.com/2015/01/artificial-intelligence-revolution-1.html)
- http://psych.colorado.edu/~oreilly/comp_ex_cog_neuro.html
Bước 5: Thực hành
Khi bạn có một sự hiểu biết đầy đủ về ngôn ngữ lập trình ưa thích của mình và thực hành đủ với các yếu tố cần thiết, bạn nên bắt đầu tìm hiểu thêm về Machine Learning. Trong Python, bắt đầu học các thư viện Scikit-learning, NLTK, SciPy, PyBrain và Numpy sẽ có giá trị trong khi soạn các thuật toán Machine Learning.
Thực hành vài bài tập về Scikit từ trang web:
http://scikit-learn.org/ và https://www.edx.org/course/artificial-intelligence-ai-columbiax-csmm-101x-0 (dành cho các bài tập thực hành bằng Python).
Ngoài ra ở đây là một bản tóm tắt các tài liệu để để tìm hiểu và trau dồi Machine Learning:
- http://www.r2d3.us/visual-intro-to-machine-learning-part-1/
- https://www.coursera.org/learn/machine-learning
- https://www.cs.cmu.edu/~tom/10701_sp11/lectures.shtml
- https://code.tutsplus.com/tutorials/how-to-build-a-python-bot-that-can-play-web-games–active-11117
- https://www.udacity.com/course/intro-to-artificial-intelligence–cs271
- https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-034-artificial-intelligence-fall-2010/
Bước 6: Thực hành — Học — Tự mình thực hành
Với trình tự này, từng bước một, bạn sẽ từ từ trở thành một lập trình viên AI.
Xem thêm >>> Tổng hợp những khóa học online về AI miễn phí
Dưới đây là danh sách những khóa học online miễn phí về trí tuệ nhân tạo (AI) giúp người học có thể tự trang bị cho mình những kiến thức cụ thể về nó để thích ứng với sự dịch chuyển của thị trường việc làm trong thời gian tới.
1. Elements of AI
Đây là khóa học online của đại học Phần Lan nhằm cung cấp kiến thức về AI ở cấp độ rất cơ bản. Nếu quan tâm tới chủ đề AI nhưng còn biết chưa nhiều về nó thì đây chính là khóa học dành cho bạn.
- Khóa học về trí tuệ nhân tạo (AI) online miễn phí của đại học Phần Lan
2. Google AI education
Đây là trang cung cấp các tài nguyên học gồm video, khóa học, hội thảo, tài liệu,…. của Google về AI dành cho tất cả mọi người ở mọi cấp độ từ những người tò mò, sinh viên, doanh nhân, nhà nghiên cứu…
- Học trực tuyến hoàn toàn miễn phí về AI và Machine learning trên trang web của Google
3. Intro to AI
Đây là khóa học AI miễn phí của đại học Berkeley tại Mỹ cung cấp nhiều tài nguyên và module bài học cho người học. Tuy có một số nội dung không cung cấp miễn phí nhưng khóa học này cũng rất đáng để bạn dành thời gian tìm hiểu thêm.
- http://ai.berkeley.edu/home.html
4. Machine learning
Đây là chương trình học về AI nổi tiếng bao gồm các chủ đề về nhận diện giọng nói, tăng cường tìm kiếm trên web và thuật toán hồi quy tuyến tính của đại học Stanford.
- https://www.class-central.com/course/coursera-machine-learning-835
5. Nhập môn deep learning
Đây là khóa học miễn phí của Viện Công nghệ Massachusetts (MIT). Trong vòng 7 ngày, bạn sẽ được cung cấp các kiến thức nhập môn về deep learning.
- https://www.class-central.com/course/6-s191-introduction-to-deep-learning-8083
6. Từ nhập môn tới tăng cường về AI
Khóa học online miễn phí của trường University College ở London (Anh) này dành cho những người đã có trình độ nhất định về AI như nắm vững những khái niệm cơ bản và cao hơn một chút. Nếu là người mới lần đầu tìm hiểu AI thì đây không phải là khóa học dành cho bạn.
- http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching.html
7. AI cho Robotics
Khóa học AI online này do tổ chức giáo dục phi lợi nhuận Udacity cung cấp, nhằm hướng dẫn người học cách lập trình AI cho robot. Vì vậy, để theo được khóa học này, người học cần phải đã có một trình độ nhất định. Thời gian để hoàn thành khóa học là khoảng 2 tháng.
- https://www.udacity.com/course/artificial-intelligence-for-robotics–cs373
Xem thêm >>> Học trực tuyến hoàn toàn miễn phí về AI và Machine learning trên trang web của Google
Nhằm giúp cho AI và Machine learning (ML) trở nên dễ tiếp cận hơn với mọi người, Google sẽ cung cấp những khóa học trực tuyến hoàn toàn miễn phí trên trang web của mình với tên gọi Learn with Google AI.
Google kỳ vọng trang web Learn with Google AI sẽ trở thành cổng thông tin về trí tuệ nhân tạo và các tài nguyên liên quan đến Machine learning dành cho tất cả mọi người. Trang web sẽ hỗ trợ tất cả mọi người ở mọi cấp độ từ những người mới bắt đầu cho tới những người đam mê AI, các nhà nghiên cứu để có thể tìm hiểu, phát triển, trau dồi kỹ năng và ứng dụng ML vào những vấn đề thực tế.
Ngoài cung cấp thông tin, kiến thức, trang web cũng mang đến khóa học miễn phí về ML có tên Machine Learning Crash Course được thiết kế dựa trên những khóa học nội bộ tại Google nhằm giúp nhân viên Google có cái nhìn thực tế về các quy tắc cơ bản của AI và ML.
Với những bài tập, hình ảnh tương tác cùng nhiều video hướng dẫn, khóa học sẽ giúp cho người học có thể nắm rõ khái niệm về ML. Nội dung khóa học dài khoảng 15 giờ gồm những bài học tương tác, bài giảng từ chuyên viên nghiên cứu của Google và hơn 40 bài tập.
Bất kỳ ai, dù là người chưa hoặc đã có kinh nghiệm đều có thể tham gia khóa học này nhưng Google khuyến khích người học nên sở hữu bằng cấp nhất định về đại số học cơ bản, có kinh nghiệm lập trình và kiến thức ngôn ngữ lập trình Python. Trong tương lai, Google sẽ tiếp tục cung cấp hàng loạt các khóa học phổ biến kiến thức về AI và ML khác.
Xem thêm >>> Giải ngố về Neural Networks, Artificial Intelligence và Machine Learning
Bài viết sẽ cho các bạn biết ý nghĩa của các thuật ngữ Artificial Intelligence (trí tuệ nhân tạo – AI), Machine Learning (máy học) và Neural Networks (mạng thần kinh) trong các ứng dụng.
Gần đây, cả Google và Microsoft đều rất tích cực trong việc bổ sung neural networks cho các ứng dụng dịch ngôn ngữ của họ. Google còn cho biết rằng họ đang sử dụng machine learning cho việc gợi ý list nhạc cho người dùng. Todoist thì tuyên bố rằng họ đang sử dụng AI để gợi ý khi nào bạn cần hoàn thành một nhiệm vụ. Any.do thì phát biểu rằng bot của họ với sự hỗ trợ của AI có thể làm một số việc cho bạn.
Tất cả những tuyên bố này vừa được đưa ra gần đây thôi. Một vài trong số chúng chỉ là những mánh khóe quảng cáo nhưng đôi khi những thay đổi này lại rất hữu ích. AI, machine learning và neural networks là những thuật ngữ mô tả việc máy tính có thể làm những nhiệm vụ phức tạp hơn và học hỏi từ môi trường của chúng. Trong thực tế, ba thuật ngữ này có ý nghĩa rất khác nhau.
Neural Networks phân tích dữ liệu phức tạp bằng cách mô phỏng não người
Mạng thần kinh nhân tạo (ANN hoặc gọi tắt là Neural Networks) đề cập tới một mô hình học tập đặc biệt mô phỏng cách các khớp thần kinh làm việc trong não người. Điện toán truyền thống sử dụng một loạt xác nhận logic để thực hiện một nhiệm vụ. Neural networks lại sử dụng một mạng lưới các nút (hoạt động như tế bào thần kinh) và các cạnh (hoạt động như các khớp thần kinh) để xử lý dữ liệu. Dữ liệu input sẽ chạy qua toàn bộ hệ thống và một loạt kết quả output được tạo ra.
Sau đó output sẽ được so sánh với các dữ liệu mà hệ thống đã được học trước đó. Ví dụ, nếu bạn muốn huấn luyện máy tính nhận biết hình ảnh của một chú chó bạn sẽ phải nhập vào hệ thống hàng triệu bức ảnh chụp những chú chó để đâu là hình ảnh trông giống một chú chó. Sau đó, chúng ta sẽ phải xác nhận những bức ảnh nào thực sự là một chú chó. Tiếp theo, hệ thống sẽ ưu tiên kết quả này trên toàn bộ neural networks để có thể tìm được kết quả đúng. Qua thời gian và hàng triệu lần lặp lại, cuối cùng mạng sẽ cải thiện tính chính xác của các kết quả mà nó đưa ra.
Để hiểu rõ hơn về cách neural networks làm việc bạn có thể thử game Quick, Draw! của Google. Trong game này, Google huấn luyện mạng của họ nhận biết những hình vẽ. Nó so sánh hình vẽ của bạn với những ví dụ được vẽ bởi những người khác. Mạng sẽ đoán các hình vẽ và sau đó được đảo tạo để nhận biết những hình vẽ trong tương lai dựa trên những gì trông giống như thế mà nó đã thấy trước đó. Ngay cả khi kỹ năng vẽ của bạn không được tốt thì mạng của Google vẫn nhận biết khá tốt những hình vẽ cơ bản như tàu ngầm, nhà máy và con vịt.
Neural networks không phải là giải pháp phù hợp cho tất cả mọi thứ nhưng nó đặc biệt nổi trội khi bạn cần xử lý các dữ liệu phức tạp. Google và Microsoft đã chính xác khi sử dụng neural networks cho các ứng dụng dịch bởi dịch ngôn ngữ là một công việc rất khó khăn. Măc dù hiện tại vẫn còn có lỗi nhưng với khả năng học tập từ những bản dịch chính xác, neural networks có thể giúp hệ thống đưa ra những kết quả tốt hơn theo thời gian.
Điều tương tự đã diễn ra với công nghệ phiên âm giọng nói. Sau khi Google áp dụng neural networks vào Google Voice tỷ lệ phiên âm lỗi đã giảm tới 49%. Mặc dù không thể mang lại kết quả ngay lập tức và không hoàn hảo nhưng neural networks có thể phân tích các dữ liệu phức tạp rất tốt và từ đó mang lại cho bạn những tính năng tự nhiên hơn trong các ứng dụng.
Các bạn có thể xem video giải thích neural networks của kênh YouTube DeepLearning.TV ở phía trên để có thêm thông tin, nhớ bật phụ đề tiếng Việt nếu bạn không tự tin vào khả năng tiếng Anh của mình.
Machine Learning dạy máy tính để cải thiện khả năng
Machine Learning là một thuật ngữ rộng bao gồm bất cứ điều gì mà trong đó bạn dạy máy tính để cải thiện một nhiệm vụ mà nó đang thực hiện. Cụ thể hơn, machine learning đề cập tới bất kỳ hệ thống mà hiệu suất của máy tính khi thực hiện một nhiệm vụ sẽ trở nên tốt hơn sau khi hoàn thành nhiệm vụ đó nhiều lần. Neural networks là một ví dụ về machine learning nhưng đó không phải là cách học hỏi duy nhất của máy tính.
Ví dụ, một trong những phương pháp học tập khác của máy tính là Reinforcement Learning. Trong phương pháp này, máy tính sẽ thực hiện một nhiệm vụ và sau đó kết quả của nó sẽ được chấm điểm. Video giải thích cách máy tính học chơi cờ vua của Android Authority ở trên là một ví dụ. Máy tính sẽ được chơi một trận cờ vua và kết thúc nó có thể thắng hoặc thua. Nếu nó thắng, các nước đi của nó trong trận đấu đó sẽ được gắn nhãn thắng. Sau khi chơi hàng triệu trận, hệ thống có thể xác định được những nước đi nào có nhiều khả năng giúp nó giành chiến thắng dựa trên kết quả của các trận trước đó.
Trong khi neural networks rất tốt với những công việc như nhận dạng khuôn mẫu trong hình ảnh, các dạng khác của machine learning lại hữu ích trong những nhiệm vụ khác như xác định loại nhạc mà bạn yêu thích. Ví dụ, Google cho biết ứng dụng âm nhạc của họ sẽ tìm cho bạn những bản nhạc mà bạn muốn nghe. Nó thực hiện điều này bằng cách chọn list nhạc dựa trên thói quen nghe nhạc trong quá khứ của bạn. Nếu bạn bỏ qua list nhạc mà nó gợi ý, nó sẽ gắn nhãn thất bại cho list nhạc đó. Tuy nhiên, nếu bạn chọn một trong nhưng gợi ý, hệ thống sẽ gắn nhãn thành công cho gợi ý đó và củng cố quá trình hình thành gợi ý này để có thể đưa ra thêm nhiều gợi ý tốt như vậy trong tương lai.
Trong trường hợp này, bạn sẽ không thể hưởng lợi từ ML nếu bạn không sử dụng tính năng này thường xuyên. Lần đầu bạn mở ứng dụng âm nhạc của Google, tất cả các gợi ý bạn thấy đều chả liên quan gì tới gu âm nhạc của bạn. Về mặt lý thuyết, bạn càng dùng ứng dụng này nhiều thì các gợi ý càng tốt hơn trước.
Nhưng dẫu sao thì machine learning cũng không hoàn hảo, bạn vẫn sẽ nhận được những gợi ý không phù hợp. Tuy nhiên, chắc chắn bạn sẽ nhận được những gợi ý không phù hợp nếu chỉ sử dụng ứng dụng này 6 tháng một lần. Nếu bạn không sử dụng ứng dụng thường xuyên để giúp hệ thống gợi ý bài hát học tập thì nó sẽ chẳng khá hơn mấy so với hệ thống gợi ý bài hát thông thường. Là một từ thông dụng, machine learning mơ hồ hơn so với neural networks nhưng nó vẫn mang ngụ ý rằng phần mềm bạn đang dùng sẽ sử dụng thông tin phản hồi của bạn để cải thiện hiệu suất của nó.
Artificial Intelligence dùng để chỉ bất cứ thứ gì đó thông minh
Nếu như như neural networks là một dạng của machine learning thì machine learning lại là một dạng của AI. Tuy nhiên, danh mục những gì được coi là AI lại rất khó xác định. Hiện tại chúng ta đã đạt những thành tựu đáng kể trong công nghệ AI. Ví dụ, nhận dạng ký tự quang học đã từng được coi là quá phức tạp với máy tính nhưng nay một ứng dụng trên điện thoại có thể quét tài liệu và biến chúng thành văn bản. Có vẻ như hơi coi nhẹ AI nếu dùng thuật ngữ này để mô tả những tính năng cơ bản hiện tại.
Tuy nhiên, do AI thực sự có hai loại khác nhau nên những tính năng cơ bản cũng sẽ được coi là AI. AI mức thấp hoặc hẹp dùng để mô tả bất kỳ hệ thống nào được thiết kế cho một hoặc một loạt nhiệm vụ nhỏ. Ví dụ, trợ lý Google Assistant và Siri được thiết kế để làm một loạt nhiệm vụ khá nhỏ nhặt như nhận lệnh giọng nói và trả lại kết quả hoặc mở ứng dụng.
Ngược lại, AI mức cao, hay còn gọi là trí tuệ nhân tạo nói chung hoặc “Full AI“, dùng để chỉ một hệ thống có khả năng thực hiện bất cứ điều gì con người có thể làm. Đương nhiên, hệ thống này không hoặc ít nhất là chưa xuất hiện. Còn rất lâu nữa chúng ta mới có thể chế tạo được một hệ thống AI giống như trợ lý Jarvis của Iron Man.
Do hầu như bất cứ AI nào bạn sử dụng hiện tại đều bị coi là AI mức thấp nên cụm từ AI trong mô tả ứng dụng thực sự chỉ mang ý nghĩa nó là một ứng dụng thông minh. Bạn có thể nghe thấy nhiều tuyên bố, quảng cáo nhưng thực sự AI hiện tại không thể so sánh với trí thông minh của con người.
Các nghiên cứu thực tiễn trong lĩnh vực AI rất hữu ích và có lẽ bạn đã ứng dụng nó vào cuộc sống hàng ngày mà không hề hay biết. Bạn trực tiếp hoặc gián tiếp được tận hưởng lợi ích từ các nghiên cứu AI mỗi lần điện thoại của bạn tự động nhớ nơi bạn dừng chân, tự nhận dạng những khuôn mặt trong các bức ảnh, gợi ý những thứ bạn có thể quan tâm hoặc tự động nhóm tất cả các bức ảnh vào thư mục du lịch….
Tới một thời điểm nào đó, AI thực sự sẽ giúp các ứng dụng trở nên thông minh hơn, đúng như mong đợi của bạn. Tuy nhiên, machine learning và neural networks là những cách duy nhất để cải thiện một số tính năng nhất định.
Dẫu vậy, machine learning và neural networks không hề giống nhau. Không nên cho rằng một ứng dụng có công nghệ machine learning sẽ tốt hơn bởi còn tùy vào cách sử dụng của người dùng. Ví dụ, khi một công ty phát triển hệ thống neural networks mạnh mẽ có thể giải quyết một số nhiệm vụ phức tạp giúp bạn, cuộc sống của bạn sẽ dễ dàng hơn. Nhưng khi công ty khác tích hợp machine learning vào một ứng dụng vốn đã có tính năng đề xuất thông minh thì bạn lại chẳng quan tâm bởi bạn cho rằng hai tính năng đề xuất này chẳng khác gì nhau.
Machine learning và neural networks là những công nghệ cực kỳ thú vị. Tuy nhiên, bạn chẳng cần bận tâm nhiều làm gì khi thấy những thuật ngữ này trong phần mô tả của một ứng dụng. Hãy cứ làm như bạn đã từng, đánh giá ứng dụng dựa trên sự hữu ích của chúng đối với bạn.