Thứ Hai, 29 tháng 5, 2017

Lập trình trí tuệ nhân tạo AI - artificial intelligence

Lập trình trí tuệ nhân tạo

Bạn là một người có niềm đam mê với trí tuệ nhân tạo (AI – artificial intelligence) và đang phân vân không biết nên chọn ngôn ngữ lập trình nào cho dự án AI của mình? Vậy thì, trong khuôn khổ bài viết hôm nay, mình xin giới thiệu đến với các bạn tốp 5 ngôn ngữ lập trình hay nhất dành cho phát triển AI.
Python
Python là một trong những ngôn ngữ lập trình được sử dụng phổ biến nhất trong lĩnh vực trí tuệ nhân tạo nhờ vào tính đơn giản của nó. Nó có thể được sử dụng một cách trơn tru với các cấu trúc dữ liệu và các thuật toán AI được sử dụng thường xuyên khác.
Sự lựa chọn Python dành cho các dự án AI cũng xuất phát từ thực tế là Python có nhiều library hữu ích có thể được sử dụng trong AI. Ví dụ: Numpy mang đến khả năng tính toán khoa học (scientific computation), Scypy thì dành cho tính toán tiên tiến (advanced computing) và Pybrain thì dành cho máy học (machine learning) trong Python.
Bạn cũng sẽ không gặp phải bất kỳ vấn đề nào khi tìm hiểu về Python cho các dự án AI vì hiện nay có rất nhiều nguồn học trực tuyến dành cho bạn.

Java

Java cũng là một lựa chọn tuyệt vời. Nó là một ngôn ngữ lập trình theo hướng đối tượng chú trọng đến việc cung cấp các tính năng cấp cao cần thiết trong quá trình thực hiện dự án AI, nó khả chuyển (portable), và có bộ thu dọn rác (garbage collection) gắn liền. Cộng đồng Java cũng là một điểm cộng vì khi bạn có bất kỳ thắc mắc hay vấn đề nào, thì cũng sẽ có nhiều người có thể giúp đỡ bạn.
Java cũng là một lựa chọn tốt khi mà nó giúp bạn code các thuật toán dễ dàng khi mà AI có rất nhiều thuật toán. Ngoài ra Java còn có khả năng mở rộng và đây là một tính năng cần phải có trong các dự án AI.

Lisp

Lisp cũng là một lựa chọn khác dành cho dự án AI bởi vì các khả năng prototyping (tạo mẫu) tuyệt vời của nó và sự hỗ trợ của nó đối với symbolic expression (biểu thức ký hiệu). Nó là một ngôn ngữ lập trình mạnh và được sử dụng trong các dự án AI lớn như Macsyma, DART, và CYC.
Ngôn ngữ Lisp phần lớn được sử dụng trong Máy học (Machine learning)/ILP sub-field bởi vì cấu trúc ký hiệu (symbolic structure) và tính khả dụng của nó.

Prolog


Prolog xếp ngang hàng với Lisp khi nhắc đến sự hữu ích và tính khả dụng. Theo tài liệu Prolog Programming for Artificial Intelligence, Prolog là một trong những ngôn ngữ lập trình có một số cơ chế cơ bản mà sẽ cực kỳ hữu ích trong lập trình AI. Ví dụ: nó mang đến đối sánh mẫu (pattern matching), quay lui tự động (automatic backtracking), và các cơ chế cấu trúc dữ liệu dạng cây (tree-based data structuring mechanisms). Kết hợp những cơ chế này sẽ mang đến cho bạn một framework linh hoạt trong quá trình làm việc.
Prolog được sử dụng bao quát trong các hệ chuyên gia (expert system) của AI và cũng rất hữu ích khi thực hiện các dự án y tế.

C++

C++ là ngôn ngữ lập trình nhanh nhất trên thế giới. Khả năng giao tiếp với phần cứng cho phép các nhà phát triển cải thiện thời gian thực thi chương trình. C + + vô cùng hữu ích cho các dự án AI có sự nhạy cảm về thời gian (time-sensitive). Ví dụ các công cụ tìm kiếm có thể sử dụng C + + rộng rãi.
Đối với AI, C + + có thể được sử dụng cho các kỹ thuật thống kê AI như trong neural network. Các thuật toán cũng có thể được viết bao quát bằng C ++ để tăng tốc độ thực thi, và AI trong các trò chơi hầu hết được code bằng C ++ để thực thi nhanh hơn và thời gian phản hồi cũng nhanh hơn.

Việc lựa chọn ngôn ngữ lập trình cho dự án AI của bạn phụ thuộc rất nhiều vào sub-field. Do đó trước khi bạn chọn một ngôn ngữ lập trình nào đó, phải đảm bảo rằng nó có thể sử dụng bao quát và không cục bộ. Trong số các ngôn ngữ ở trên, thì Python là lựa chọn hàng đầu cho các dự án AI. Lisp và Prolog cũng được sử dụng bởi một số nhóm nhất định. Java và C ++ cũng rất hữu ích vì những lợi ích mà chúng mang lại.


Các công nghệ trí tuệ nhân tạo (AI) HOT nhất hiện nay


 Hiện nay, ngày càng có nhiều startup và các công ty công nghệ lớn bắt đầu chú ý đến AI. Một khảo sát mới đây từ tờ Narrative Science cho thấy 38% doanh nghiệp sẵn sàng sử dụng AI vào năm 2016 và con số này sẽ tăng lên 62% vào năm 2018. Công ty nghiên cứu Foresster Research dự đoán số tiền đầu tư vào AI trong năm 2017 sẽ tăng 300% so với năm 2016. IDC dự đoán thị trường AI sẽ tăng từ 8 tỷ USD trong năm 2016 lên mức 47 tỷ USD trong năm 2020.

Được tạo ra từ năm 1955 như là một chuyên ngành mới của khoa học máy tính, AI ngày nay bao gồm một loạt các công nghệ và công cụ khác nhau, một số vẫn còn trong giai đoạn thử nghiệm, trong khi một số đã đi vào thực tiễn. Dựa trên các phân tích của Forrester, mình xin giới thiệu đến các bạn 10 công nghệ AI “hot” nhất hiện nay:

1. Sản sinh ngôn ngữ tự nhiên (Natural Language Generation)


Tạo ra các văn bản từ dữ liệu máy tính. Hiện nay công nghệ này đang được áp dụng trong dịch vụ khách hàng, tạo báo cáo và tổng hợp thông tin chi tiết về báo cáo kinh doanh. Các nhà cung cấp tiêu biểu: Attivio, Automated Insights, Cambridge Semantics, Digital Reasoning, Lucidworks, Narrative Science, SAS, Yseop.


2. Nhận diện giọng nói


Chuyển đổi lời nói của con người sang dạng mà các ứng dụng máy tính có thể hiểu được. Hiện tại, công nghệ này đang được sử dụng trong các hệ thống phản hồi tương tác bằng giọng nói và các thiết bị di động. Các nhà cung cấp tiêu biểu: NICE, Nuance Communications, OpenText, Verint Systems

3. Quản trị viên ảo


Forrester gọi công nghệ này là: “Người yêu hiện tại của các phương tiện”, từ những chatbot đơn giản cho tới những hệ thống tiên tiến có thể kết nối được với con người. Công nghệ này đang được sử dụng trong dịch vụ khách hàng, hỗ trợ người dùng và quản lý nhà thông minh. Các nhà cung cấp tiêu biểu là: Amazon, Apple, Artificial Solutions, Assist AI, Creative Virtual, Google, IBM, IPsoft, Microsoft, Satisfi.

4. Nền tảng máy học (Machine Learning Platforms)


Cung cấp các thuật toán, APIs, bộ công cụ phát triển và huấn luyện, dữ liệu cũng như các công nghệ điện toán để thiết kế, huấn luyện và triển khai các mô hình vào trong các ứng dụng, quy trình và các loại máy móc khác. Công nghệ này hiện đang được dùng trong các ứng dụng doanh nghiệp, chủ yếu liên quan đến dự đoán hoặc phân loại. Các nhà cung cấp tiêu biểu: Amazon, Fractal Analytics, Google, H2O.ai, Microsoft, SAS, Skytree.

5. Phần cứng tối ưu hóa AI


Bộ xử lý đồ họa (GPU – Graphics processing units) và các thiết bị đặc biệt được thiết kế để có thể thực hiện được các công việc của AI một cách hiệu quả nhất. Công nghệ này hiện được sử dụng chủ yếu để tạo nên sự khác biệt cho các ứng dụng deep learning. Các nhà cung cấp tiêu biểu: Alluviate, Cray, Google, IBM, Intel, Nvidia

6. Quản lý ra quyết định


Công nghệ này giúp gắn các quy tắc và logic vào các hệ thống AI và được sử dụng cho việc thiết lập/huấn luyện ban đầu và duy trì và điều chỉnh liên tục. Khi công nghệ được hoàn thiện, nó sẽ được dùng trong các ứng dụng doanh nghiệp để hỗ trợ hoặc thực hiện việc ra các quyết định một cách tự động. Các nhà cung cấp tiêu biểu: Advanced Systems Concepts, Informatica, Maana, Pegasystems, UiPath.


7. Nền tảng Deep Learning


Là một lĩnh vực đặc biệt trong máy học (machine learning), bao gồm mạng thần kinh nhân tạo cùng với nhiều lớp trừu tượng (abstraction layers). Công nghệ này hiện đang được dùng chủ yếu trong các ứng dụng nhận diện và phân loại hình ảnh từ khối lượng cực kì lớn dữ liệu. Các nhà cung cấp tiêu biểu: Deep Instinct, Ersatz Labs, Fluid AI, MathWorks, Peltarion, Saffron Technology, Sentient Technologies

8. Sinh trắc học


Cho phép tương tác tự nhiên hơn giữa con người và máy móc, bao gồm cả nhận diện hình ảnh, dấu vân tay, giọng nói và cử chỉ của con người. Công nghệ này hiện đang được sử dụng chủ yếu trong lĩnh vực nghiên cứu thị trường. Các nhà cung cấp tiêu biểu: 3VR, Affectiva, Agnitio, FaceFirst, Sensory, Synqera, Tahzoo

9. Tự động hóa quy trình robot (Robotic Process Automation)


Sử dụng mã hóa và các phương pháp khác để tự động hóa hoạt động của con người nhằm hỗ trợ công việc hiệu quả hơn. Công nghệ này hiện được sử dụng khi con người không thể thực hiện một nhiệm vụ hoặc một quy trình vì cho rằng quá mắc hoặc không hiệu quả. Các nhà cung cấp tiêu biểu: Advanced Systems Concepts, Automation Anywhere, Blue Prism, UiPath, WorkFusion.

10. Phân tích văn bản và xử lý ngôn ngữ tự nhiên


Xử lý ngôn ngữ tự nhiên (NLP - Nature Language Process) sử dụng và hỗ trợ phân tích đoạn văn bản bằng cách làm cho dễ dàng việc hiểu ý nghĩa và cấu trúc câu, tính chất truyền cảm, và mục đích thông qua thống kê và các phương pháp máy học. Công nghệ này hiện đang được dùng trong hệ thống phát hiện gian lận và bảo mật cũng như một loạt các trợ lý ảo, và các ứng dụng dùng để khai thác dữ liệu không cấu trúc. Các nhà cung cấp tiêu biểu: Basis Technology, Coveo, Expert System, Indico, Knime, Lexalytics, Linguamatics, Mindbreeze, Sinequa, Stratifyd, Synapsify


Không có nhận xét nào:

Đăng nhận xét