Trí tuệ nhân tạo là một lĩnh vực rất rộng và nó bao gồm nhiều lĩnh vực rất sâu rộng về khoa học máy tính, toán học, thiết kế phần cứng và thậm chí cả sinh học và tâm lý học. Đối với môn toán: Tôi nghĩ rằng tính toán, thống kê và tối ưu hóa là những chủ đề quan trọng nhất, nhưng học càng nhiều toán càng tốt.
Có rất nhiều tài nguyên giới thiệu miễn phí tốt về AI cho người mới bắt đầu. Tôi thực sự khuyên bạn nên bắt đầu với cái này:
http://aiplaybook.a16z.com/
Họ cũng đã xuất bản hai video về các khái niệm chung về AI, bạn có thể tìm thấy chúng trên Vimeo: "AI, Deep Learning và Machine Learning: A Primer "và" Lời hứa của AI "
Một khi bạn đã hiểu rõ về các thuật ngữ và phương pháp tiếp cận AI cơ bản, bạn phải tìm ra mục tiêu của mình là gì. Bạn muốn phát triển loại phần mềm AI nào? Những ngành công nghiệp mà bạn quan tâm? Cơ hội của bạn để tham gia vào các dự án của các công ty lớn là gì? Dễ dàng hơn để chọn đúng công cụ khi bạn biết chính xác những gì bạn muốn đạt được.
Đối với hầu hết những người mới làm quen với AI, lĩnh vực thú vị nhất là Deep Learning. Nói rõ hơn, có rất nhiều lĩnh vực AI ngoài Machine Learning và có nhiều lĩnh vực Machine Learning ngoài Deep Learning. (Trí tuệ nhân tạo> Học máy> Học sâu) Hầu hết các phát triển gần đây và tin tức được thổi phồng là về DL.
Nếu bạn cũng quan tâm đến Deep Learning, bạn phải bắt đầu với việc tìm hiểu về các khái niệm của mạng lưới thần kinh nhân tạo. May mắn thay, không quá khó để hiểu những điều cơ bản và có rất nhiều hướng dẫn, ví dụ mã và tài nguyên học tập miễn phí trên web và có nhiều khung công tác nguồn mở để bắt đầu thử nghiệm.
Khung Deep Learning phổ biến nhất như vậy là TensorFlow. Nó được hỗ trợ bởi Google. Yêu hay ghét nó, đó là một khung dựa trên Python. Có rất nhiều khung công tác dựa trên Python khác. Scikit-learn, Theano, Keras cũng thường được đề cập trong hướng dẫn. (Mẹo: nếu bạn sử dụng Windows, bạn có thể tải xuống WinPython bao gồm tất cả các khung này.)
Đối với các khung công tác Java, thật không may, không có nhiều tùy chọn. Khung công tác Java nổi bật nhất cho DL là Deeplearning4j. Nó được phát triển bởi một công ty nhỏ và cơ sở người dùng của nó nhỏ hơn rất nhiều so với đám đông xung quanh TensorFlow. Có ít dự án và hướng dẫn cho khung này. Tuy nhiên, các chuyên gia trong ngành cho biết các khung công tác dựa trên Java cuối cùng tích hợp tốt hơn với các giải pháp Dữ liệu lớn dựa trên Java và chúng có thể cung cấp mức độ di động cao hơn và triển khai sản phẩm dễ dàng hơn. Chỉ là một sidenote: Phòng thí nghiệm Động cơ phản lực của NASA đã sử dụng Deeplearning4j cho nhiều dự án.
Nếu bạn quyết định đi theo dòng chảy và muốn bắt đầu tìm hiểu thêm về TensorFlow, tôi khuyên bạn nên xem các kênh YouTube của "DeepLearning.TV", "sentdex" và "Siraj Raval". Họ có hướng dẫn tốt đẹp và một số bản demo tuyệt vời. Và nếu bạn quyết định đi lặn sâu hơn, bạn có thể đăng ký một khóa học trực tuyến tại udacity hoặc coursera.
Bạn cũng có thể thú vị khi biết rằng có các khung công tác Deep Learning khác cho Máy ảo Java với các ngôn ngữ thay thế, ví dụ như Clojure. (Clojure là một phương ngữ của LISP và nó được phát minh bởi John McCarthy, cùng một nhà khoa học máy tính đã đặt ra thuật ngữ "trí tuệ nhân tạo". Nói cách khác, có những ngôn ngữ và công cụ lập trình phổ biến và hiện đại hơn, nhưng nó vẫn có thể / và hơi tuyệt vời / để sử dụng ngôn ngữ cho AI ban đầu được thiết kế cho AI. ThinkTopic ở Boulder và Freiheit ở Hamburg là hai công ty sử dụng Clojure cho các dự án AI. Và nếu bạn muốn thấy điều gì đó tuyệt vời để lấy cảm hứng sử dụng Clojure trong AI và robot, Tôi khuyên bạn nên xem video YouTube "OSCON 2013: Carin Meier, The Joy of Flying Robots with Clojure".
(+++ Bất cứ ai cũng cảm thấy thoải mái khi sửa tôi nếu tôi nói bất cứ điều gì sai. +++)