Định nghĩa DBA Directory để có thể extract dữ liệu ra thư mục bằng SQL

Định nghĩa DBA Directory để có thể extract dữ liệu ra thư mục bằng SQL

Oracle không cho phép câu lệnh SQL thao tác trực tiếp xuống thư mục của hệ điều hành. Nhưng Oracle lại cho phép ta thao tác với thư mục thông qua biến môi trường.
– Xem danh sách các Directory đã được tạo:
Select Directory_Name,Directory_Path From Dba_Directories;

– Tạo mới một Directory có tên là “EXTRACT_2018” được “map” với thư mục vật lý trên ổ cứng là “/u02/oracle/utl/extract/201806”:

create directory EXTRACT_2018 AS ‘/u02/oracle/utl/extract/201806’;

Từ đây ta có thể sử dụng DBA Directory này để tiến hành trích xuất dữ liệu với câu lệnh: wquery ra file csv:

open rc for wquery;
wfileh:=utl_file.fopen_nchar (‘EXTRACT_2018′,’File_extracted’.csv’, ‘W’);
loop
fetch rc into wline;
exit when rc%notfound;
utl_file.put_line_nchar(wfileh,wline);
end loop;
close rc;
utl_file.fclose( wfileh );

Ứng dụng trí tuệ nhân tạo trong Photoshop

Ứng dụng trí tuệ nhân tạo trong Photoshop

Trước đây học và làm với Photoshop cực ngán ngẩm với việc cắt một đối tượng phức tạp ra để ghép sang một ảnh khác. Ví dụ cắt toàn bộ ảnh người ra khỏi ảnh.

Video Google giới thiệu công nghệ 2018 – Google I/O

Video Google giới thiệu công nghệ 2018 – Google I/O

Google I/O là sự kiện được chờ đón hàng năm không chỉ đối với các nhà phát triển, lập trình viên mà còn được chờ đón bởi những người đam mê công nghệ. Sự kiện thường niên này đem tới cho mọi người những công nghệ mới nhất, những tính năng mới nhất, những dịch vụ mới nhất của Google.

Những công nghệ này không chỉ đơn giản nằm trong hệ sinh thái của Google mà còn là xu hướng mà ông lớn này luôn luôn là người dẫn đầu. Nào cũng ta cùng xem những công nghệ mới nhất của Google trong năm 2018 này nhé.

Quản lý tri thức với wiki, Confluence

Quản lý tri thức với wiki, Confluence

Nhiều công ty(nước ngoài do hay làm việc với đối tác nước ngoài) sử dụng công cụ wiki để note lại các tài liệu, hướng dẫn sử dụng, tài liệu kỹ thuật, đào tạo thay vì việc sử dụng văn bản như MSWord để lưu trữ.

Một số tính năng quan trọng:

  • Có thể soạn thảo như word
  • Quản lý cây thư mục theo page
  • Quản lý theo version
  • Online

Đa phần sử dụng công cụ trả phí như: Confluence

https://www.candylio.com/blog/khac-voi-email-confluence-luu-tru-du-lieu-lau

Một số phần mềm miễn phí:

  • Wikipedia: Hệ thống bách khoa toàn thư mở được phát triển trên MediaWiki
  • XWiki: cái này có vẻ ok, tính năng có vẻ ok như Confluence, Link: http://www.xwiki.org/xwiki/bin/view/Documentation/
  • Và nhiều wiki software: https://en.wikipedia.org/wiki/Comparison_of_wiki_software

Ứng dụng của Trí tuệ nhân tạo

Ứng dụng của Trí tuệ nhân tạo

AI đã chiếm ưu thế trong nhiều lĩnh vực khác nhau như:

Gaming (Trò chơi): AI đóng vai trò quan trọng trong các trò chơi chiến lược như cờ vua, pocker, tic-tac-toe… nơi máy tính có thể nghĩ về số lượng lớn các khả năng có thể dựa trên các kinh nghiệm.

Natural Language Processing (Xử lý ngôn ngữ tự nhiên): Có thể tương tác với máy tính hiểu ngôn ngữ tự nhiên của con người.

Expert System (Hệ chuyên gia): Có một số chương trình tích hợp máy, phần mềm và thông tiên đặc biệt để truyền đạt lý luận và tư vấn. Nó cung cấp lời giải thích và lời khuyên cho người dùng.

Vision System (Thị giác máy tính): Các hệ thống này có thể hiểu, giải thích và hiểu đầu vào trực quan trên máy tính. Ví dụ:

  • Một chiếc máy bay gián điệp chụp ảnh, được sử dụng để tìm ra thông tin không gian hoặc bản đồ của các khu vực.
  • Các bác sĩ có thể sử dụng hệ thống chuyên gia lâm sang để chuẩn đoán bệnh nhân.
  • Cảnh sát dụng phần mềm máy tính có khả năng nhận dạng khuôn mặt tội phạm với bức chân dung được lưu trữ thực hiện bởi các bác sĩ pháp y.

Speech Recognition (Nhận dạng giọng nói): Một hệ thống thông minh có thể nghe và hiểu ngôn ngữ về các câu, ý nghĩa của chúng trong khi mội người nói chuyện với nó. Nó có thể xử lý các điểm nhấn, từ nóng, tiến ồn…

Handwriting Recognition (Nhận dạng chữ viết tay): Phần mềm nhận dạng chữ viết có thể đọc các văn bản viết trên giấy bằng bút hoặc trên màn hình cảm ứng. Nó nhận ra các hình dạng chữ cái và chuyển đổi thành văn bản có thể chỉnh sửa.

Intelligent Robots (Robot thông minh): Robot có thể thực hiện các nhiệm vụ do con người đưa ra. Nó có cảm biến để phát hiện ra các dữ liệu vật lý từ thế giới thực như ánh sáng, nhiệt độ, độ ẩm, chuyển động, âm thanh, áp suất. Từ đó nó có thể xử lý thông tin với bộ nhớ khổng lồ để thể hiện trí thông minh. Ngoài ra, nó có khả năng học hỏi từ những sai lầm của nó và thích nghi với môi trường mới.

Tổng quan về Trí tuệ nhân tạo

Kể từ khi con người phát minh ra máy tính hoặc máy móc, khả năng để nó thực hiện các nhiệm vụ khác nhau đã tăng lên theo cấp số nhân. Con người đã phát triển sức mạnh của các hệ thống máy tính cả về lĩnh vực hoạt động đa dạng, tốc độ xử lý và giảm về kích thước.
Một nhánh của Khoa học máy tính có tên là Trí tuệ nhân tạo theo đuổi việc tạo ra máy tính hoặc máy móc có trí thông minh như con người. Sau đây là tổng quan về trí tuệ nhân tạo giúp người mới có một cái nhìn tổng quan về một ngày đang hot hiện nay.

Thế nào là Trí thông minh nhân tạo?

Theo người đầu tiên đề xuất về khái niệm Trí tuệ nhân tạo – John McCarthy: Khoa học và kỹ thuật tạo ra các máy móc thông minh, đặc biệt là các chương trình máy tính thông minh.
Trí tuệ nhân tạo là một cách để chế tạo một chiếc máy tính, một robot được điều khiển bằng máy tính hoặc một phần mềm có khả năng suy nghĩ một cách thông minh tương tự như cách mà con người suy nghĩ.
Trí tuệ nhân tạo (AI) được thực hiện bằng cách nghiên cứu cách nào người suy nghĩ, cách con người ra quyết định và làm việc trong khi cố gắng giải quyết vấn đề. Sau đó sử dụng các kết quả nghiên cứu này làm cơ sở để phát triển các phần mềm thông minh hoặc hệ thống thông minh.

Triết lý của AI?

Trong quá trình sử dụng và khai thác sức mạnh của hệ thống máy tính, sự tò mò của con người khiến họ tự hỏi: Máy móc có thể suy nghĩ và cư xử như con người không?
Do đó, sự phát triển của AI bắt đầu với mục đích tạo ra trí thông minh nhân tạo tương tự như trí thông minh của con người.

Mục đích của AI?

  •  Để tạo ra hệ chuyên gia: Các hệ thống thể hiện hành vi thông minh, học hỏi, chứng minh, giải thích và tư vấn cho người dùng của mình.
  •  Để máy móc có trí tuệ như con người: Tạo ra các hệ thống có thể hiểu, suy nghĩ, học hỏi và hành xử giống con người.

Các ngành có thể đóng góp cho AI?

Một hoặc nhiều khu vực của các ngành khoa học sau có thể đóng góp để xây dựng các hệ thống thông minh: Khoa học máy tính, Sinh học, Tâm lý học, Ngôn ngữ học, Toán học, Xã hội học, Khoa học Nơ-ron.

Một lực đẩy lớn của AI là sự phát triển các chức năng máy tính gắn liền với trí thông minh của con người. Ví dụ như lý luận, học tập và giải quyết vấn đề.

Lập trình có AI và lập trình không có AI

Chương trình không có và có AI khác nhau theo các cách sau:

* Lập trình không có AI
– Chương trình không có AI có thể trả lời các câu hỏi cụ thể đã được định sẵn.
– Sửa đổi chương trình sẽ dẫn đến thay đổi cấu trúc của nó.
– Sửa đổi khó khăn và chậm chạp. Nó có thể ảnh hưởng xấu dẫn đến chương trình chạy sai hoặc không chạy được

* Lập trình có AI
– Chương trình có AI có thể trả lời các câu hỏi chung chung, có thể chưa được chỉ định câu trả lời từ trước.
– Chương trình có AI có thể tự cập nhật các sửa đổi mới bằng các đặt các thông tin độc lập cao với nhau. Do đó có thể sửa đổi mà không ảnh hưởng đến cấu trúc của chương trình.
– Có thể sửa đổi chương trình nhanh chóng và dễ dàng.

Kỹ thuật AI là gì?

Trong thế giới thực, kiến thức của một số thuộc tính không được hoan nghênh:
– Khối lượng của nó lớn.
– Không được tổ chức hoặc định dạng tốt
– Liên tục thay đổi

Kỹ thuật AI là một cách để tổ chức và sử dụng kiến thức một cách hiệu quả:
– Nó có thể nhận thức bởi những người cung cấp
– Có thể dễ dàng sửa đổi để sửa lỗi
– Nó hữu ích trong nhiều tình huống mặc dù không phải là tất cả hoặc chính xác hoàn toàn.
Kỹ thuật AI nâng cao tốc độ thực thi của chương trình phức tạp mà nó được trang bị.

Trên đây là những điều cơ bản và tổng quan về Trí tuệ nhân tạo giúp người mới có thể tiếp cận được. Sau đây sẽ là seri các bài về trí tuệ nhân tạo được dịch từ tutorialspoint.com.

Công nghệ thần giao cách cảm

http://www.procul.org/blog/2011/09/14/cong-ngh%e1%bb%87-th%e1%ba%a7n-giao-cach-c%e1%ba%a3m/

1. Tia hy vọng cho các phế nhân

Johnny Ray vốn là thợ xây tường đá.  Năm 1997, khi ông 59 tuổi, ông bị đột quỵ cuống não (brain-stem stroke), dẫn đến hội chứng khoá trong (locked-in syndrome). Ông vẫn tư duy được như thường nhưng hoàn toàn không còn có thể di động bất kỳ bộ phận nào trên cơ thể, trừ mắt vẫn còn thấy.

Johnny Ray đã “may mắn” được chọn làm đối tượng thử nghiệm thứ 2 của một nhóm nghiên cứu thần kinh học ở trường đại học Emory, bang Atlanta, Mỹ. Hai nhà thần kinh học Phillip Kennedy và Roy Bakay đã bắt đầu nghiên cứu cách “đọc” thông tin từ sóng não bằng cách cấy trực tiếp các điện cực vào não từ 1990. Đến 1996, họ đã có một số kết quả khả quan sau các thí nghiệm với các động vật linh trưởng (primates) và Cơ quan quản lý thực và dược phẩm Mỹ (FDA) đã cho phép nhóm nghiên cứu của Kennedy và Bakay thử nghiệm trên … hai người. Người thứ nhất là một phụ nữ bị bệnh Lou Gehrig giai đoạn cuối. Bà ta qua đời hai tháng sau. Johnny Ray là bệnh nhân thứ hai.

Để đơn giản tối đa tín hiệu sóng não cần diễn dịch, các bác sĩ đã bảo Ray tập trung vào những suy nghĩ nhị phân kiểu như nóng/lạnh, lên/xuống. Những suy nghĩ phân cực này tạo ra các mẫu (pattern) sóng khác nhau được một máy tính cá nhân nối trực tiếp vào các điện cực qua cổng USB xử lý và “học” dùng các phương pháp phổ dụng trong ngành xử lý tín hiệu và xác suất thống kê. Sau một thời gian tập huấn với các kiểu tập trung tư duy phức tạp hơn (như thử cố di động cánh tay), ông Ray đã có thể di động được … con trỏ chuột trên màn hình máy tính, gõ các ký tự trên bàn phím (trên màn hình), và thậm chí chơi cả vài nốt nhạc. Sau thành công ban đầu với trường hợp của Johnny Ray, nhóm nghiên cứu đã nhận được tài trợ để thử thêm 8 bệnh nhân nữa.

Năm 2002, Jens Neumann – một người mù không bẩm sinh – được cấy các điện cực nối với cameras vào các vùng thị giác trong não. Các cameras đặc biệt này gửi các tín hiệu kích thích vào các vùng thị giác trong não. Hệ thống này do nhà Y-Sinh học William H. Dobelle (1941—2004) thiết kế. Neumann đã dùng “thị giác” còn rất chi là “khiếm” này để lái xe trong sân đậu xe của viện nghiên cứu.

Năm 2005, Matt Nagle – một bệnh nhân bị tứ chi bất toại (Tetraplegic) – đã dùng chông nghệ BrainGate của công ty Cyberkinetics Neurotechnology để di chuyển một cánh tay robot, di chuyển con trỏ chuột, bật tắt đèn và TV.

Tháng 2 năm 2011, anh trung sĩ cụt tay Glen Lehman của quân đội Mỹ đã biểu diễn điều khiển cánh tay giả của mình bằng ý nghĩ ở hội nghị thường niên của Tổ chức vì tiến bộ Khoa Học Hoa Kỳ (American Association for the Advancement of Science – gọi tắt là AAAS). Trong video quay lại cuộc trình diễn của anh, ta có thể thấy Lehman đã dùng tay giả cầm gói đồ ăn, khay thức ăn, và chuyền một chai nước. Anh nói với các nhà báo: “tay tôi hầu như là đồng bộ với suy nghĩ của tôi!”.

Các trường hợp của Johnny Ray, Jens Neumann, Matt Nagle, và Glen Lehmann là bốn trong số rất nhiều ví dụ thử nghiệm thành công của “giao diện não-máy” (Brain-Computer Interface, BCI), một nhánh nghiên cứu đầy hứa hẹn sẽ mang lại những phép màu cho các phế nhân. Không những thế, công nghệ và khoa học đằng sau BCI còn có khả năng sẽ đặt nền tảng cho những ứng dụng không tiền khoáng hậu cho cả nhân loại và đào sâu tầm hiểu biết của chúng ta vào cỗ máy phức tạp nhất mà con người đã từng “giao diện” vào được: não bộ!

2. “Truy cập” vào não …

Năm 1875, bác sĩ người Anh Richard Caton (1842—1926) đã khám phá ra rằng não thỏ và khỉ có các hiện tượng điện. Sau đó, nhiều bác sĩ và nhà khoa học đã dùng điện não đồ (electroencephalogram, viết tắt là EEG) để đo và nghiên cứu các hoạt động điện trong não thú vật. Năm 1924, bác sĩ người Đức Hans Berger (1873—1941) là người đầu tiên trong lịch sử nhân loại đã có thí nghiệm đo “sóng não” người bằng điện não đồ. Các điện cực được gắn trên da đầu. Ông quan sát thấy có một nhịp sóng alpha (còn gọi là sóng Berger) ở tần số khoảng 8—12Hz. Ban đầu người ta không tin lắm vì có khả năng đây chỉ là nhiễu từ bên ngoài, nhưng sau đó các nhóm nghiên cứu khác đã độc lập kiểm chứng được rằng quả là có cái gọi là “sóng não” phát sinh bởi các hoạt động điện từ của các neurons thần kinh.

Điện cực gắn vào đầu để đo EEG

Đo lường và phân tích sóng não từ các điện cực gắn ngoài sọ là việc cực kỳ khó vì các điện cực không tiếp xúc trực tiếp với não nên tín hiệu vốn đã yếu còn bị mất mát; ngoài ra tín hiệu đo được còn bị hứng thêm nhiều loại tín hiệu nhiễu như nhiễu sinh học từ hoạt động của cơ, tim mạch, mắt, hay nhiễu từ môi trường xung quanh như nguồn điện gia dụng chẳng hạn. Do đó hầu như chỉ có những hoạt động của não đòi hỏi nhiều thành tố thần kinh hoạt động đồng bộ mới tạo sóng đủ mạnh để phân tích và dùng được.

Dù gặp nhiều khó khăn như vậy, từ những năm 60 các nhà khoa học đã nghiên cứu các phương pháp xử lý tín hiệu và xác suất thống kê để dùng tín hiệu EEG làm được những thí nghiệm kỳ diệu. Năm 1964 nhà vật lý Edmond Dewan của phòng nghiên cứu Không Quân ở tiểu bang Massachussetts, Mỹ, đã minh chứng rằng các người dùng hệ thống của ông có thể dùng tín hiệu EEG để gửi mã Morse.. Đầu thập niên 1970, giáo sư ngành khoa học máy tính Jacques Vidal của đại học UCLA, Mỹ, cũng đã huấn luyện người sử dụng dùng não phát ra các lệnh di động đèn tín hiệu trái phải, trên dưới. Điều khá thú vị là người dùng hệ thống của cả Dewan và Vidal đều chủ ý di động mắt để tạo ra sóng EEG. Nhưng đây cũng là một “thất bại” của họ trên phương diện ứng dụng Y học, vì họ cần người dùng di chuyển một bộ cơ (mắt) để lấy tín hiệu; các bệnh nhân bị liệt chưa chắc đã “lanh mắt” được như vậy.

Sau đó các nhóm nghiên cứu khác đã từ từ “giải mã” được một số loại sóng não mà không cần dựa vào sự chuyển động của mắt hay các bộ cơ khác trong cơ thể. Ví dụ, các nhà khoa học đã có thể giải mã được sóng não EEG khi người dùng tưởng tượng một chuyển động nào đó.

Có thể phần nào giải quyết những khó khăn về mặt chất lượng tín hiệu của kỹ thuật EEG bằng cách cấy điện cực thẳng vào não thay vì chỉ gắn chúng ngoài đầu. Tuy nhiên phương pháp “can thiệp sâu” này cực kỳ khó nghiên cứu trên diện rộng vì lý do hiển nhiên: có cho tiền tỉ cũng không ai cho cưa sọ ra làm chuột thí nghiệm, chưa kể tính bất khả thi về mặt luật pháp. Do đó, các thí nghiệm của phương pháp can thiệp sâu vào não này chủ yếu được tiến hành trên các động vật linh trưởng, hoặc là chuột, mèo. Thỉnh thoảng mới có kết quả áp dụng vào các bệnh nhân bị liệt, mặc dù chúng rất khả quan.

Trên thú vật thì từ năm 1969 nhà vật lý Eberhard Fetz của đại học Washington (thành phố Seattle, Mỹ) cùng các cộng sự đã minh chứng rằng ta có thể huấn luyện khỉ dùng não điều khiển các cánh tay robot. Từ đó đến nay đã có nhiều công trình nghiên cứu phân tích các sóng não phức tạp hơn nhiều. Đã có thêm rất nhiều công trình phân tích sóng não của các loại khỉ, vượn, giúp chúng điều khiển các thiết bị cơ học hoặc máy tính bằng suy nghĩ. Thậm chí vào năm 2000 các nhà khoa học của đại học Duke (Bắc Carolina, Mỹ), đại học MIT (bang Massachussetts, Mỹ) và đại học bang New York (SUNY) đã huấn luyệncho khỉ di chuyển tay robot từ xa qua mạng Internet: khỉ ở Duke, tay robot ở MIT cách nhiều trăm dặm.

Về mặt hình ảnh thì năm 1999, nhóm nghiên cứu của giáo sư Yang Dan ở đại học UC Berkeley, Mỹ, đã giải mã được sóng não của mèo để xây dựng lại phần nào (với độ phân giải thấp) hình ảnh mà mèo nhìn thấy.

Hình ảnh thực ở ngoài mèo nhìn thấy, và ảnh xây dựng lại của nhóm Yang Dan

Năm 2008, một nhóm các khoa học gia Nhật bản cũng đã xây dựng lại được hình ảnh mà một người nhìn thấy dùng công nghệ “chụp ảnh cộng hưởng từ chức năng” (functional Magnetic Resonance Imaging, viết tắt là fMRI). Mặc dù hình ảnh mà họ xây dựng lại có độ phân giải rất thấp (10 x 10 pixels) và chỉ là đen trắng,  kết quả này thật sự là rất hứa hẹn (ví dụ, nó cho thấy khả năng ghi hình lại các giấc mơ!). Một điểm đáng lưu ý nữa là kỹ thuật fMRI chỉ chụp ảnh từ ngoài, không can thiệp trực tiếp vào não bộ.

Để phân tích sóng não, các kỹ thuật phổ dụng của ngành Học máy Thống kê (statistical machine learning) là thành phần cốt lõi. Học máy thống kê là một hướng tiếp cận đến vấn đề trí tuệ nhân tạo. Trong thập niên đầu của thế ký 21, Học máy Thống kê đã len lỏi vào hầu hết các ngóc ngách của cuộc sống hiện đại: nó là khối óc của công nghệ tìm kiếm của Google, của các chương trình lọc thư rác, của xe ô-tô không người lái, của các hệ thống theo dõi bệnh lý tự động, nhận diện chữ viết, tiếng nói, hình ảnh, các chương trình bảo mật mạng, các giao dịch tài chính và chứng khoán diễn ra hàng ngày với tốc độ nanô-giây, vân vân và vân vân. Thành công vang dội của hệ thống máy tính Watson của công ty IBM trong trò Jeopardy! tháng 2 vừa qua đã đưa Học máy thống kê lên vị trí thống lĩnh không thể chối cãi trong trí tuệ nhân tạo hiện đại. Mục tiêu chủ yếu của Học máy thống kê là phối hợp thuật toán máy tính và mô hình thống kê để tìm ra các cấu trúc có liên hệ về mặt toán học trong một mớ dữ liệu hổ lốn và nhiều nhiễu như mạng WWW, giao dịch chứng khoán, hay hình ảnh X-quang chẩn bệnh. Do đó, việc Học máy thống kê được dùng để phân tích sóng não cũng là điều dễ hiểu.

Kể cũng khá thú vị là, mục tiêu của môn Học Máy nói riêng và trí tuệ nhân tạo nói chung là huấn luyện cho máy biết tự “suy nghĩ”. Nhưng trong ngữ cảnh bài này chúng ta lại thấy kỹ thuật Học Máy được dùng để huấn luyện cho máy hiểu suy nghĩ của người. Và để làm được điều này người cũng phải được huấn luyện để tập trung tư duy theo một mẫu nhất định cho máy học được mẫu đó. Một thông tin nhỏ cho các bạn đọc chuyên ngành: hiện nay support-vector machines (SVM) vẫn là công cụ hiệu quả nhất cho vấn đề “học” sóng não này.

3. Thần giao cách cảm

Việc nghiên cứu và áp dụng BCI để giúp người tàn tật đã và đang phát triển nhanh chóng. Ngoài các minh chứng điều khiển tay chân giả, đã có các kết quả về điều khiển xe lăn, điều khiển thắng xe hơi bằng tư duy, . Nhưng các ứng dụng của BCI rõ ràng là không chỉ nằm ở đó. Khi đã có thể gửi thông điệp tới máy bằng suy nghĩ thì “thần giao cách cảm” không còn là chuyện khoa học giả tưởng nữa. Một trọng những ứng dụng quan trọng của “công nghệ thần giao cách cảm” là trên … chiến trường.

Năm 2008, quân đội Mỹ đã bắt đầu tài trợ cho một dự án gồm nhiều trường đại học ở Mỹ để phát triển công nghệ “cách cm tng hp” (synthetic telepathy) dùng cho mục tiêu quân sự.  Mục tiêu “đơn giản” của dự án là phát triển các loại “nón” đặc biệt chứa các thiết bị đo sóng não, để các chiến binh có thể suy nghĩ và máy sẽ đo và gửi qua đường truyền không dây những thông điệp tác chiến đơn giản đến những cái nón khác của đồng đội, có bộ phận chuyển tín hiệu thành âm thanh cho họ. Chúng ta hoàn toàn có thể tưởng tượng được cuộc cách mạng quân sự  khi ý tưởng này thành hiện thực.

Ảnh chôm của tạp chí Discover

Dự án này do tiến sĩ Elmar Schmeisser ấp ủ khi ông làm quản lý dự án ở phòng nghiên cứu của quân đội Mỹ (Army Research Office). Sau một lần tham dự hội nghị về các tiến triển mới nhất của khoa học và công nghệ BCI, Schmeisser chợt nhận ra rằng BCI không chỉ có lợi cho người tàn tật. Ông đã thuyết phục các lãnh đạo ở phòng nghiên cứu tài trợ cho dự án dài hơi này. Cùng với tư vấn của các nhà khoa học hàng đầu về BCI, các nhà lãnh đạo phòng nghiên cứu quân đội Mỹ đã … siêu lòng. Từ đó, các đơn xin tài trợ chất đầy phòng quản lý của Schmeisser. Đến 2008, Schmeisser  quyết định tài trợ cho hai nhóm nghiên cứu theo đuổi hai cách tiếp cận đến vấn đề này. Nhóm đầu tiên do tiến sĩ Gerwin Schalk, một nhà Y-Sinh học ở đại học Y Albany, bang New York dẫn đầu, theo đuổi hướng “can thiệp sâu”. Nhóm thứ hai gồm các giáo sư ở các đại học UC Irvine, Carnegie Mellon University và đại học Maryland, do giáo sư Mike D’Zmura ở UC Irvine lãnh đạo theo đuổi hướng dùng EEG, không cần cưa sọ. Họ đã nhận được tài trợ đầu tiên với số tiền khởi điểm hơn 6 triệu đô.

Để tránh các khó khăn về nhiễu của công nghệ EEG, ban đầu nhóm thứ hai dùng thêm công nghệ “t não đ” (Magnetoencephalography, viết tắt là MEG), giống EEG ở chỗ chỉ cần đội một cái nón đồ sộ đặc biệt mà không cần mổ não, nhưng MEG đo t trưng tạo bởi các hoạt động của não. Lý do mà các máy MEG trông như các bộ sấy tóc khổng lồ ở thẩm mỹ viện là vì chúng cần các “lá chắn” nhiễu từ trường ngoài môi trường. Lợi thế của MEG so với EEG là từ trường tạo bởi hoạt động của não ít bị giảm chất lượng so với điện trường khi đi xuyên qua sọ. So với fMRI thì MEG “nhạy” hơn nhiều, có thể dùng để đo các thay đổi trong não trong thời khoảng mili-giây. Với MEG thì nhóm của D’Zmura đã có các thành tựu bước đầu với mã Morse và một số suy nghĩ đơn giản. Còn với các nón EEG nhỏ thì công nghệ của họ cũng đã có thể giải mã được suy nghĩ một số cụm từ nhất định nhưng chỉ với xác suất khoảng 45%.

Ta có thể tin chắc rằng sẽ phải ít nhất vài mươi năm nữa cho đến khi đội đặc nhiệm câm của Mỹ đột nhập vào các hang núi ở Afghanistan. Nhưng việc những người tàn phế tận dụng công nghệ BCI để giao tiếp và điều khiển những “cánh tay” nối dài bằng suy nghĩ, hay các game thủ chơi game không cần tay chân thì chắc chắn sẽ thành hiện thực trong tương lai rất gần.

4. Những hạt giống đầu tiên của công nghệ sóng não trên thị trường

Không chỉ còn là khái niệm minh chứng trong phòng thí nghiệm, công nghệ BCI và các ứng dụng của nó đã bắt đầu được phát triển và kinh doanh ngoài “đời thực”.

Để kỷ niệm sinh nhận 10 năm của chiếc xe “thân thiện môi trường” Prius, công ty Toyota đã thiết lập một chương trình tài trợ gọi là “các dự án Prius” với mục đích tài trợ hoặc hợp tác với các dự án xây dựng và thiết kế công nghệ dựa trên “triết lý Toyota Prius”: hướng về tương lai. Một trong những dự án đã có sản phẩm mẫu ra đời tháng 8 vừa qua là chiếc xe đạp PXP, là thành quả hợp tác của Toyota, công ty xe đạp Parlee Cycles, và công ty công nghệ DeepLocal. Ngoại trừ rất nhiều các cải tiến tối ưu động lực, vật liệu, cua-rơ PXP còn có thể tự sang số xe bằng ý nghĩ. Cua-rơ đội một “tai nghe sóng não” nối với một điện thoại iPhone gắn vào xe. Bạn đọc có thể xem giới thiệu PXP trên một youtube video:

Các thiết bị giao diện não-máy đã được một số công ty phát triển và bán ra thị trường: ví dụ như bộ “tai nghe” MindWave (100usd) của công ty NeuroSky, bộ kích hoạt NIA (90usd) của công ty OCZ, hay bộ EPOC neuroheadset (300usd) của công ty Emotiv Systems. Có nhiều công ty đang phát triển và kinh doanh ứng dụng (chủ yếu là giải trí và Y tế) dựa trên giao diện lập trình của các thiết bị nghe sóng não này.

Cụ thể hơn, EPOC neuroheadset là một trong những thiết bị giao diện người-máy mới nhất và thông minh nhất, hứa hẹn sẽ sớm đưa bàn phím và con chuột vào dĩ vãng. EPOC neuroheadset có ba loại cảm biến “giải mã” hoạt động não mà họ gọi là (1) Expressiv: khả năng diễn đạt lại các biểu hiện trên mặt, (2) Affectiv: khả năng “hiểu” các biểu hiện tình cảm trong não, và (3) Cognitiv: khả năng hiểu được suy nghĩ. Bạn đọc có thể xem demo về các khả năng của EPOC neuroheadset ở trên youtube:

EPOC neuroheadset chắc chắn sẽ cách mạng hoá công nghệ trò chơi điện tử. Với Expressiv, các nhân vật trong trò chơi điện tử sẽ mang “dấu ấn” biểu hiện gương mặt của người chơi. Với Affectiv, môi trường chơi có thể biến ảo về màu sắc, âm nhạc, tuỳ theo trạng thái tình cảm của gamer. Với Cognitive, EPOC neuroheadset có thể sẽ đóng vai trò chủ đạo, nếu không muốn nói là loại bỏ hoàn toàn bộ game console. Hiện nay EPOC neuroheadset đã được bán trên thị trường Mỹ với giá 299 USD một bộ. Người mua chủ yếu là các nhà nghiên cứu và các nhà phát triển ứng dụng (games, Y tế).

EPOC neuroheadset

Liên quan đến Việt Nam, hai trong bốn sáng lập viên của Emotiv Systems là người gốc Việt: Lê Thị Thái Tần (tổng giám đốc) và Đỗ Hoài Nam. Lê Thị Thái Tần cùng gia đình vượt biên sang Úc năm 1982, khi chị bốn tuổi. Đến năm 1998 chị được giải thưởng gương mặt trẻ tiêu biểu của Úc. Đỗ Hoài Nam là cựu học sinh chuyên Lý trường Amsterdam. Tháng 7 năm 2010, chị Tần đã có bài nói chuyện giới thiệu EPOC ở hội nghị TED lừng danh. Bạn đọc có thể xem buổi nói chuyện của chị:

5. Thay lời kết

Nguồn cảm hứng cho bác sĩ Hans Berger nghiên cứu sóng não con người là từ một sự trùng hợp. Năm 1893 ông gia nhập đội kỵ binh, bị ngã ngựa tưởng chết trong một lần tập dù không bị thương tích gì nặng. Cùng ngày hôm đó, chị ông có linh tính chẳng lành và đòi cha ông liên lạc với ông hỏi han tình hình. Từ sự kiện này Hans Berger tin vào khả năng thần giao cách cảm.

Tuy nhiên, thay vì biến sự kỳ bí thành một niềm tin huyền bí siêu nhiên để thờ phụng, ông đã quyết tâm tìm ra cơ chế hoạt động của “thần giao cách cảm”. “Sóng não” là một khởi đầu hữu lý, phần còn lại là lịch sử.

Chọn lựa của ông thấm nhuần tư duy khoa học và tinh thần Khai Sáng.

Đầu thế kỷ 17, René Descartes có tuyên ngôn triết học rằng: “tôi nghĩ, nên tôi tồn tại!” Đầu thế kỷ 21, khẩu hiệu của công ty Emotiv là “bạn nghĩ, nên bạn có thể!”

Kiến trúc top-down và bottom-up trong trí tuệ nhân tạo

Kiến trúc top-down và bottom-up trong trí tuệ nhân tạo

Nhân lục lọi đôi thứ trong archive tôi tìm lại bài tranh luận nhỏ cách đây đúng 5 năm trên VNAI mailing list (của những người bạn VN quan tâm đến AI). Bài này bắt nguồn từ email sau đây của bạn Đặng Việt Dũng về một bài giảng về reactive agent architecture của Rodney Brooks:

On Thu, 4 Jul 2002, Viet Dung Dang wrote:

Cách đây mấy tháng, em có dự 1 bài giảng của Rodney Brooks để quảng cáo cho quyển sách mới của ông tên là “Flesh and Machines”. Như nhiều anh chị đã biết, Rodney Brooks vào năm 1994 đã gây một cơn sốc lớn trong giới nghiên cứu agent, khi ông phủ nhận kiến thức truyền thống (logic-based với knowledge based inference rules) và khai sinh ra kiến trúc Subsumption, mà cốt lõi là purely reactive.

Trong bài giảng em đã được dự, Brooks tiếp tục promote kiến trúc subsumption và nói về việc xây dựng một con humanoid robot dựa trên kiến trúc đó. Một câu hỏi mà chắc mọi người cùng thắc mắc, và em cũng vẫn thắc mắc sau khi dự là theo kiến trúc của Brook, agent hoàn toàn không có internalrepresentation of the world, mà hầu hết chỉ dựa trên các re-active rules. Trong buổi đó, khi trả lời câu hỏi, Brook có nói là nếu xây được một representation như thế thì sai lầm vì model đó sẽ không phản ánh đúng thực chất của thế giới outside.

Tuy nhiên, theo như em hiểu, thực chất con người chúng ta đều có một representation of the world ở trong đầu, và dựa vào đó để suy luận và hành động. Như thế, liệu kiến trúc của Brooks co’ phải là useless khi xây dựng humanoid robot không?

Em cũng nghĩ chắc là không, vì nếu thế thì làm sao Brooks lại đang làm director lab của MIT được 🙂

Bài bình luận của tôi không đi vào chi tiết về kiến trúc của Brooks, mà chủ yếu tóm tắt một số sự khác biệt giữa hai truờng phái kiến trúc khác nhau trong AI. Trường phái truyền thống có thể nói bắt nguồn từ John McCarthy ở Stanford, người mà chúng ta đã nói qua ở blog này về Common sense và AI.

On Thu, 4 Jul 2002, XuanLong Nguyen wrote:

This is an interesting question that every student of AI should ask himself at some point. It seems that most people would give up after a few thoughts. Those with whom the question stuck still would probably eventually end up in places such as the directorship of MIT AI lab :-). In the mean time, the rest of us are happily working on obscure problems of knowledge-based systems, Strips worlds, Bayesian nets that seem to be forever in the wrong side of the real world 🙂 Still, I think it’s fun to talk about — and before the other more knowledgeable members of the list speak out, hopefully — I’d like to add my humble opinions.

Without getting into hairy discussion of intelligence, and AI and so on, lets call the Brooks approach the bottom-up (or the MIT school), while the traditional approach the top-down (or the Stanford school). Roughly speaking, the most distinctive constrast between the two is that the bottom-up approach is behavior-based, while the top-down is representation-based.

Both approaches bear merits as well as difficulties. For a researcher in AI, the comparison also depends on what your immediate objectives are. If the objective is to build an *autonomously* “intelligent” entity that appears to be interesting and capable of doing something deemed interesting, the answer is not clear. The problem with the traditional top-down approach is that in order to break down a system into modules such as knowledge representation, reasoning, planning, learning, multi-agent coordinating, etc one has to necessarily make a lot of simplifying assumptions. Therefore there is no guarantee that such simplification is harmless. Since we still don’t know what it takes build an intelligent entity, whatever that means, we don’t know if such simplifying assumptions help us reach the essence of intelligence faster, or they simply lead us astray to a dead-end path that would preclude the possibility of ever finding any solution.

So this has been one of the strongest criticism of the traditional top-down approach. And for good reasons. The clearest evidence is that after half a century of research in many areas and subareas and subsubareas and subsubsubareas of AI, the field as a whole hasn’t achieved much, and most of us seem to forget the grandiose objective of the field, i.e., to understand and create *autonomous* intelligent entities that can hold up themselves in the real world. One natural alternative is, since we don’t know what it takes to build intelligent entities, we need to imitate what are considered to be intelligent. There are plenty around, not just in humans, but also animals and insects. So it seems plausible to step back to square one and studied the most primitive mechanism there is in the nature. The good news is that by now many researchers are convinced that seemingly sophisticated behaviors can be built up by very simple (and possibly reactive) rules. It is also hoped that one is able to understand and build progressively more sophisticated and intelligent behavior-based entities in much the same way the evolution works.

Needless to say, the progress has been frustratingly slow, and our understanding of nature, including even some of the most primitive insects, remains very limited. It seems that the breakthrough in AI would probably come from this bottom-up approach, given its very interdisciplinary nature and possible contributions coming from computer science and statistics, as well as other computational sciences and experimental sciences (such as neuroscience, physics and biology).

There have been a very strong movement that is more or less advocating small autonomous robots equipped with limited sensory and actuating capabilities but which are nevertheless useful and can hold up in the real world environment. They go by names such as x-insects, smart dust, robotic fly, etc. One distinctive feature of the bottom-up approach is the emphasis on sensors and sensory data processing (interaction with outside world). By contrast, the top-down approach focuses on representing and manipulating abstract knowledge-base with a strong emphasis on methods for obtaining such knowledge in the first place.

Back to the traditional top-down school. It is not without success, though in a limited way. By abstracting away and breaking down the intelligency into many different disconnected parts such as knowledge representation, reasoning, planning, learning, etc these subfields have been reduced to subclasses of problems, whose techniques prove useful for problem-solving, usually with heavy intervention of humans. Within each of the modules, limited intelligent behavior can be achieved. As we all know, an AI search researcher can boast about Deep Blues, while machine learning and control theorist can talk about autonomous vehicles. Planning researchers talk about automatically controlling a spacecraft for a short period of time. More robust, user-friendly softwares in many applications have been incorporating latest AI research advances without notice.

While both aiming for intelligency, the traditional school has an objective very different from the new bottom-up approach. This is exemplified by a popular AI textbook (by Russell and Norvig) which simply proclaims in chapter 1 that it is more concerned about solving problems intelligently, but not to imitate human intelligence in the first place. Perhaps the most convincing argument of
the traditional school of AI is summed up by Drew McDermott (from Yale), who famously wrote that: To say the Deep Blues is not intelligent is to say that airplanes don’t fly because they don’t flip their wings. However, the price this approach has to pay is that by separating the subfields too far apart, it is very hard to glue them back together to build a coherent working autonomous system. In particular, such systems are hopeless in interacting with the outside world.

Nevertheless, the traditional school of AI will be here to stay, and so will the AI planning, knowledge-representation, machine learning, multi-agent researchers :-). Ultimately, in order to have a truly intelligent autonomous entity (whatever it means, again), one has to have knowledge-representation capability, as well as search, inference, extra/interpolation capability, and so on because the most sophisticated intelligent entity, i.e, human, surely have those. But it is not clear if the knowledge representation and reasoning mechanism of that dream intelligent entity is the same as what we know, or are heading for in our search. Neither do we know how they are glued together.

Ideally, one may hope that both approaches in AI will meet somewhere in the search graph, or they never will if the graph is infinite with loops. We can only wait for many years to come to know the answer. And in the mean time, it’s useful to prove the NP-hardness of whatever task there is in each of our favorite building blocks of what are known to us as AI 🙂

cheers,
Long [July 04, 2002]

Tóm lại của bài viết dài dòng trên, chúng ta có ba câu hỏi chính mà cả hai anh kiến trúc đều phải đối đầu:

  • Làm thế nào để thu nhập, cập nhật được kiến thức?
  • Làm thế nào để mã hóa chúng một cách gọn gàng để có thể truy cập và sử dụng một cách hiệu quả?
  • Và làm thế nào sử dụng được kiến thức một cách hữu hiệu nhất?

Đó là những câu hỏi lớn không chỉ trong trí tuệ nhân tạo, mà trong công việc và cuộc sống hàng ngày chúng ta luôn phải đối thoải, chẳng hạn như bài blog gần đây của anh Hưng. Trí tuệ nhân tạo là một ngành có tham vọng “nhân tạo” và tự động hóa những giải pháp cho các câu hỏi trên, qua công cụ thuật toán, và các kỹ thuật phần mềm và phần cứng.

5 năm sau, suy nghĩ chung của tôi về vấn đề kiến trúc topdown vs bottom up không thay đổi nhiều. Mặc dù tôi vẫn thiên về kiến trúc topdown hơn, nhưng sự nhận thưc về mặt mạnh và mắt yếu của cả hai kiến trúc đều không thay đổi. Có thể nói trường phái top-down phân tách cả ba câu hỏi một cách tách bạch, và từ đó AI bị chia ra làm nhiều ngả, mỗi ngả tìm cách giải quyết một câu, và tập trung chủ yếu vào câu thứ hai và thứ ba. Còn kiến trúc bottom-up thì tập trung vào câu thứ nhất. Cả hai loại kiến trúc đều rất có ích, nhưng có lẽ một kiến trúc thích hợp nhất sẽ không có sự chia rẽ ba vấn đề trên một cách tách bạch như thế.

Điều đáng nói là ba câu hỏi trên có tính phổ quát không chỉ trong TTNT mà rất nhiều lĩnh vực khác, đặc biệt trong thống kê hiện đại. Ngành thống kê hiện đại vật vã rất nhiều với câu hỏi: Làm thế nào make sense được với data. Data chính là giao diện của bạn, của tôi, của một chính thể trí tuệ nhân tạo trong tương lai, với thế giới bên ngoài. Ngành thống kê cũng phải đối đầu với những câu hỏi như: Khi phải xây dựng một mô hình về thế giới, chúng ta phải bắt đầu từ đâu, bao nhiều prior information thì đủ? Qua đó chúng ta đi đến sự đối đầu giữa Bayesian và frequentists. Hay, làm thế nào để tạo ra các mô hình phức tạp một cách hệ thống? Graphical models, một sự kết hợp của graph theory và probability theory, chính là một giải pháp hướng tới câu trả lời đó. V.v. và v.v. Sự hội tụ giữa TTNT và ngành thống kê góp phần làm ra đời và phát triển lĩnh vực machine learning, và theo chủ quan của tôi, rất có thể trong tương lai không xa machine learning sẽ trở thành một trong những lĩnh vực trung tâm của cả TTNT và thống kê.

Thay cho câu kết, tôi xin trích lại đoạn sau trong Common sense và AI.:

Câu hỏi quan trọng mà tôi quan tâm là: Common sense có phải là khái niệm hữu ích hay không trong việc xây dựng máy tính thông minh? Cụ thể hơn, đó có phải là một khái niệm constructive hay không. Khái niệm này có thể được mổ xẻ và tổng hợp một cách tự động từ giao tiếp của computers với thế giới bên ngoài? Khái niệm đó có thể dễ dàng transfer từ computers này sang computers khác, có thể được tổng quát hoá và suy diễn (inductive and deductive inference) để tạo ra những khái niệm mới có ích?
….

Tôi cho rằng, nhìn từ góc độ mô hình xác suất, rất có thể common sense là một dạng “emerging property/phenomenon”, song không nhất thiết là một khái niệm kiến trúc căn bản của intelligence. Nếu quả thật như thế, thì rất nguy hiểm khi bắt đầu xây dựng một intelligent system bằng cách xây dựng common sense storages. Những systems như vậy sẽ không robust.

Tôi cho rằng vấn đề top-down vs. bottom-up về cơ bản là một trade-off giữa scalability và convergence time, theo nghĩa sau đây.

1 Trong kinh tế: kinh tế tập trung (i.e. top-down) giải quyết được một vấn đề nhỏ và cụ thể trong thời gian ngắn (ví dụ như Castro phủ Cuba bằng các cánh đồng mía 🙂 trong vài năm), nhưng kinh tế thị trường (i.e. bottom-up) mới có đủ scalability để giải quyết các bài toán kinh tế xã hội mà objective functions phức tạp, dễ bị curse of dimensionality. Nhưng để phát triển một nền kinh tế thị trường đến tuổi trưởng thành cần đầu tư thời gian lớn.

2 Trong networking (và distributed systems): hai trường phái thiết kế mạng cơ bản là “smart network” (top-down) và “dumb network” (bottom-up). Internet là một thực thể phức tạp được thiết kế với nguyên tắc end-to-end (dumb network). Sự thành công của Internet mấy mươi năm qua là minh chứng hùng hồn của tính scalability của giải pháp bottom-up. Ngược lại, còn rất nhiều vấn đề với design hiện tại, và còn rất lâu Internet mới tiến hóa đến mức làm chúng ta thỏa mãn.

3 Trong phát triển nhân lực: muốn đào tạo “con người mới XHCN” trong 5, 10 năm thì dùng top-down approach, muốn đào tạo các cá nhân sáng tạo đủ trình độ đáp ứng với thời đại thì phải cho tự do tí toáy mất nhiều thời gian hơn.

4 Ta có thể tìm ti tỉ các ví dụ tương tự khác với các scales khác nhau trong AI, chính trị, đời sống, yêu đương (các bác nghĩ một chốc sẽ ra analogy hay 🙂 ).

Tóm lại: khi chưa có tenure thì bác Long cần theo top-down để xây dựng credential nhanh chóng, có tenure rồi thì sang làm bottom-up như Brooks để thành giám đốc MIT AI Lab :-).

Interesting examples! Nhưng có lẽ khác với các lĩnh vực cụ thể trên, trong AI thế nào là kiến trúc bottom-up còn rất mơ hồ. Sự khó khăn này chắc là do tính đòi hỏi sự khái quát trong set-up của AI. Kiến trúc của Brooks còn quá giản đơn và hình như mấy con humanoids vẫn chưa làm gì ngoài mấy cái xác như trong sci-fi. Có lẽ bức tranh về kiến trúc bottom-up mới chỉ dừng lại ở mức độ “a new kind of science” của Wolfram (dẫu cái này cũng chưa có gì lthật à new hay deep gi` cả).

 

Tất cả những gì phần lớn chúng ta làm vẫn là những hòn gạch nhỏ trên tường mà thôi. 🙂

http://www.procul.org/blog/2007/06/25/ki%e1%ba%bfn-truc-top-down-va-bottom-up-trong-tri-tu%e1%bb%87-nhan-t%e1%ba%a1o/

Machine learning hay statistics? P3

Machine learning hay statistics? P3

Có một bài blog gần đây khá thú vị so sánh về machine learning và statistics (của Brendan O’Connor). Những nhận xét về sự khác nhau về culture giữa hai cộng đồng nghiên cứu khá chính xác. Xem ở đây.

Tôi cũng có quan điểm khá rõ ràng về vị trí của hai chuyên ngành này, (xem: đây đây ).

Qua bài blog này thì tôi đọc được bài viết của Leo Breiman trên Statistical Science, viết năm 2001, cũng khá thú vị. Xem ở đây

Xem thêm phần discussions, có tranh luận sôi nổi của nhiều tên tuổi khác, như Brad Efron, Emmanuel Parzen và David Cox. (Tôi rất khoái đọc phần discussions của các các tạp chí thống kê, như trông Journal of Royal Statistical Society B, Stat. Science). Học được rất nhiều quan niện và ý tưởng trong đó, mà ta không dễ dàng thấy được trong một bài báo formal. Giá mà KHMT cũng có phần discussion như vậy trong các tạp chí của mình).

Nói thêm về Leo Breiman, GS ở Berkeley (đã mất vài năm trước). Leo Breiman là một nhà thống kê tên tuổi của thế kỷ 20, một renaissance man. Điều thú vị là Leo Breiman bắt đầu là một probabilist tầm cỡ , sau đó trở thành một applied statistician, sau đó trở thành một cổ động viên nhiệt tình cho machine learning. Sự ủng hộ của một tên tuổi như Breiman cho machine learning có phần thái quá, nhưng có ích cho nhữngn người xuất thân từ ML 🙂

Tôi đồng tình với Breiman về tầm quan trọng của algorithmic modeling (tất nhiên rồi!). Breiman nhấn mạnh quan trọng của sự hiệu quả của thuật toán, prediction accuracy. Điều này, nhìn lại, thường là do các model khá đơn giản, nhưng lại vẫn có hiệu quả thuật toán và hiệu quả thống kê cao trong một số ứng dụng. Do đó Breiman muốn vứt bỏ đi model-based approach. Tôi bất đồng với quan điểm này. (Xem thêm phản hồi của Brad Efron). Tầm quan trọng của models là điều tôi học được từ statistics. Trong research statement tôi mới viết gần đây có ý: Many challenging problems in signal processing and systems can be fruitfully formulated as statistical inference with respect to some underlying model. This view emphasizes the modeling aspect of the approach and focuses on the central role of algorithm as being driven by the model, instead of being the driver.

Tất nhiên mô hình quá phức tạp, không thể verify được thì cũng vô ích. Mô hình tốt mà cồng kềnh thì không chạy thuật toán nhanh được thì cũng vô dụng. Nhưng xây dựng mô hình chính là nền tản của khoa học nói chung. Hiện tượng càng phức tạp buộc phải đòi hỏi các mô hình cũng phức tạp. Để có mô hình hữu ích và hữu dụng, ta cần nhiều công cụ toán học và xác suất, để xây dựng các mô hình mạnh, mà lại có nhiều structure cụ thể để ta có thể suy xét sử dụng (hay không). Ví dụ, ta thường nghĩ về model thông kê như là một hàm xác suất cho một nhóm các biến ngẫu nhiên. Nhưng một mô hình phức tạp hơn có thể là một hàm xác suất cho các objects phức tạp hơn, như các đồ thị, các hàm số. Thậm chí, ta còn có hàm xác suất cho tập các hàm xác suất ngẫu nhiên. Công cụ toán học cần là ở chỗ cho các stochastic processes, tuy có hành vi phức tạp, nhưng vẫn computationally manageable. Các stochastic processes này cho ta những viên gạch để xây các mô hình cho dữ liệu của các hành vi phức tạp.

Hãy hiểu rằng chúng ta đang ngày càng được bao phủ bởi các luồng dữ liệu, từ thế giới thực quanh ta thông quá các giác quan, cũng như từ các phương tiện thông tin đại chúng, từ Internet, từ laptop của bạn. Những gì ta cho là predictable được đều có thể hiểu là tuân thử theo một stochastic process nào đấy gắn kết tất cả mọi thứ với nhau.

Công cụ KHMT luôn luôn cần thiết trong modeling. Làm thế nào để diễn tả các mô hình một cách hiệu quả (data structure). Làm thế nào để inference với các mô hình đó cho tốt? Ta sẽ cần những nguyên tắc căn bản của algorithm design, như divide and conquer, modularity, recursion, memoization, v.v. Gần đây tôi có đối mặt với một số ví dụ cụ thể có liên quan đến vai trò của computation đối với sự đối chọi của frequentist và bayesian. Tôi nghĩ là computational complexity của nhiều vấn đề (và mô hình) làm cho sự đối chọi này không có nhiều ý nghĩa. Bayesians và frequentists đều có vai trò trong đó. Thông thường thì computer scientists (và machine learning researchers) rất thực dụng và không quan tâm đến mèo đen hay mèo trắng. Nhưng điều đáng nói là, computation làm cho môt số quan điểm của từng trường phái trở nên không vững vàng. Computation complexity không chỉ đơn thuần là một khái niệm về hiệu quả về thời gian hay không gian của một algorithm, mà nó gắn liền với khái niệm về độ phức tạp về information, mà qua đó sẽ chi phối quyết định của một người modeler (statisticians) cho dù anh ta khách quan hay chủ quan hay không. Sẽ quay lại cái này khi có dịp.

Quay lại với ML vs statistics. Thực ra sự phân chia giữa các chuyên ngành chỉ mang tính tương đối, và có ý nghĩa hành chính chủ yếu mà thôi. Có lẽ nên để hai ngành tiếp tục đứng riêng biệt, vì điều đó sẽ tạo ra nhiều ví trí trong job market :-). Với tôi thì statistics, KHMT, và machine learning có một tương lai rất sáng, trong một thế kỷ mà càng ngày access của chúng ta với data càng nhiều, càng nhanh, càng dễ dàng, và không thể tránh được.