Một cách nhìn đơn giản, một cách hiểu phổ thông hơn về AI, máy học và mạng neuron
AI. Máy học. Mạng neuron. Máy tính 'nghĩ' theo cách của con người. Những khái niệm đó tưởng như bước ra từ một câu chuyện viễn tưởng nhưng lại không hề xa vời: AI có trên rất nhiều thiết bị chúng ta dùng hàng ngày, từ hàng chục năm trước. Mạng neuron đã có mặt trên 2 mẫu smartphone chủ lực của 2 gã khổng lồ Apple và Google. Trên chiếc Galaxy S8, trợ lý ảo Bixby có khả năng 'học' và 'nhận diện'. Ấy vậy mà chúng ta vẫn chưa thực sự hiểu 'AI' là gì.
- 13-02-2023Thật giả lẫn lộn: Hàng loạt bản nhái ChatGPT xuất hiện tràn lan ở Trung Quốc
- 13-02-2023ChatGPT gợi ý quà tặng và kế hoạch ngày Valentine: 100.000 đồng cũng có thể làm người yêu cảm động
- 13-02-20235 bước đăng ký CCCD gắn chip qua Zalo, sau bao lâu thì được trả thẻ?
Khi đọc về máy tính, bạn có lẽ đã biết rằng máy tính có thể đánh bại con người trên bàn cờ vua từ hàng chục năm trước. Nhưng cùng lúc, người ta vẫn nói rằng trí thông minh của chiếc máy vẫn chỉ ngang ngửa với con ruồi, con muỗi, phải còn rất lâu mới có thể đạt được như con người.
Tại sao lại có sự trái ngược này?
Nói ngắn gọn, câu trả lời nằm ở lối suy nghĩ theo kiểu "khi nào thì làm gì" của máy tính. Trong hàng chục năm qua, các bộ óc thiên tài của loài người tạo ra các cơ chế phần cứng, các ngôn ngữ lập trình phần mềm để tạo ra những câu lệnh logic "tủn mủn" dạng như: khi nhận được thì thông báo x là số chẵn, khi nhận được trong phép *4 thì trả về 8 v...v...
"Khi nào thì làm gì" diễn ra ở nhiều cấp độ: nhận được tín hiệu từ bàn phím/chuột truyền về CPU/mainboard thì làm gì, người dùng nhấn Ctrl F trong giao diện Word thì làm gì, máy chủ Facebook nhận được đoạn dữ liệu chứa comment của người dùng thì làm gì... Tất cả các hệ thống, dù phức tạp đến mấy đều được xây dựng từ những lớp "khi nào thì làm gì" tương tự như vậy.
Hiển nhiên, cả phần "khi nào" lẫn phần "làm gì" của máy tính chỉ là những con số. Là byte, là bit. Các biện pháp nhập liệu như bàn phím, chuột, màn hình cảm ứng; những cách thiết kế phần cứng/phần mềm rành mạch để bẻ nhỏ phần trách nhiệm cho từng kỹ sư phần cứng/phần mềm; các hệ điều hành (vốn là tầng phần mềm duy nhất được quyền giao tiếp trực tiếp đến phần cứng), các ngôn ngữ lập trình... đều là những cách để con người có thể truyền tải suy nghĩ của mình vào lối suy nghĩ khi nào thì làm gì của máy móc.
Cuộc sống của tôi và bạn về bản chất cũng là những chuỗi "khi nào thì làm gì". Đau thì khóc, ngửi thấy mùi hôi thì bịt mũi. Khi muốn viết bài gửi Genk thì rê chuột để bật Word. Nhìn thấy mèo thì chạy lại bế lên rồi xuýt xoa... Chúng ta cũng "khi nào thì làm gì", nhưng không phải là bằng 0 và 1 mà là bằng não bộ và các bộ phận tự nhiên của cơ thể, không phải là với những câu lệnh hay tín hiệu "tủn mủn" mà là với những "hành động" lớn có sự tham gia của não bộ và hệ thần kinh.
Chính sự giống và khác này lý giải vì sao máy tính có thể đánh bại con người trên bàn cờ vua nhưng vẫn thua xa trí thông minh con người: Bàn cờ vua chỉ có 64 ô, có 32 quân cơ chia làm 6 loại và 2 phe. Để thắng được cờ vua, bạn chỉ cần dự tính các bước đi của đối thủ.
Theo định luật Moore, máy tính cứ 18 tháng 1 lần thì lại mạnh gấp đôi. Năm 1997, máy tính IBM xây dựng được máy tính Deep Blue bao gồm 30 máy con được tích hợp vi xử lý 120MHz/mỗi máy và 480 chip VLSI đặc thù được dùng để tính toán ra 200 triệu vị trí bàn cờ trong một giây. Như thế, bằng cách dự tính được quá nhiều nước cờ chỉ bằng các phép tính kiểu "trâu bò", Deep Blue đã có thể đánh bại đại kiện tướng Kasparov một cách dễ dàng.
Đến nay, con người tuyệt nhiên không còn khả năng đánh bại các app cờ vua trên smartphone. Như thế, chúng ta đã có thể nói rằng "trí thông minh nhân tạo" (AI) đã có từ lâu: máy tính đã có các "đơn vị thông minh" có thể "cảm nhận" tình huống và tự chọn các hành động để đạt được mục đích của mình – trong trường hợp của Deep Blue, là "hiểu" và dự đoán được tình thế trên bàn cờ và chọn được bước để chiến thắng trên bàn cờ vua.
Khi chuyển sang những cuộc chơi khác, máy tính truyền thống không còn lợi thế với con người. Cờ vây chẳng hạn: trò chơi này có vô số nước đi phức tạp. Ngay cả ở năm 2015, một thế lực như Google cũng không thể tạo ra những server farm (trang trại máy chủ) có khả năng tính hết số nước đi có thể xảy ra trên bàn cờ vây. Một siêu máy tính của 10 năm nữa chưa chắc đã có thể đánh bại con người theo cách tính toán đơn thuần đã từng dùng trên bàn cờ vua.
Đây là lúc vai trò của "máy học" xuất hiện. AlphaGo trở thành một kỳ thủ giỏi không phải nhờ cách tính toán đơn thuần như DeepBlue, mà là "học" theo kiểu của con người: phải biết các chiến thuật, các bước đi, phải chọn lọc phản ứng phù hợp. Google không dùng phần cứng của AlphaGo để tính toán "tủn mủn" từng bước, mà để nạp dữ liệu từ rất nhiều ván cờ vây của quá khứ, để AlphaGo tự cải thiện bằng cách đấu với các kỳ thủ toàn cầu.
Tổng cộng, AlphaGo đã học 30 triệu bước đi từ các đối thủ con người và còn tự học được nhiều bước đi khác khi tự đấu với chính mình. Những gì AlphaGo biểu hiện chính là định nghĩa của máy học: máy tính vượt qua thứ logic "bước-luật lệ" bình thường để "học" từ dữ liệu và tự đưa ra các dự đoán phù hợp nhằm tạo các quyết định chính xác nhất.
3 đại kiện tướng Fan Hui, Lee Sedol và Ke Jie lần lượt bại trận trước cỗ máy của Google. Thậm chí, AlphaGo không chỉ nhận diện được cảchiến thuật của đối thủ (ví dụ, khi nào thì Lee Sedol đang đi theo hướng nakade). Với mô hình máy học, "lối suy nghĩ" dần dần vượt ra khỏi sự tủn mủn của bóng bán dẫn để mở rộng thành những "hành động" cao hơn, người hơn.
Bất chấp những thắng lợi to lớn trên bàn cờ vây - và sau đó là cả thắng lợi trong DOTA2 solo, AI vẫn sẽ phải mất nhiều thời gian nữa mới có thể coi là thông minh ngang ngửa với con người. Cờ vây vẫn là một trò chơi có thể "số hóa" khá dễ: ví dụ, lập trình viên có thể dùng một ô nhớ để đại diện cho một vị trí trên bàn cờ, nếu là quân trắng thì dùng bit 0, quân đen thì dùng bit 1. Dĩ nhiên, giải thuật và cách thực thi của AlphaGo không đơn giản như vậy - nhưng để số hóa được ván cờ vây và số hóa được những hình ảnh, lời nói và hành động đơn giản trong cuộc sống con người vẫn là hai phạm trù khác biệt nhau.
Thử lấy một khái niệm đơn giản: mèo. Tôi có một đứa cháu 2 tuổi rưỡi vừa học nói, mỗi lần bà cho ăn nó lại nói "Bông ăn thì mèo không chạy lại cắn Bông" (vì Bông một lần bị mèo đuổi). Lúc Bông mới học nói, bà bế lên gác, nhìn thấy mèo, dù là mèo tam thể hay mèo Ba Tư, bà đều chỉ cho Bông.
Nhờ học bằng giọng nói, bằng hình ảnh, Bông biết "mèo" là... cái gì. Nếu như Bông nhìn thấy một con mèo khác, bất kể là lông tam thể hay lông xám khói, bất kể là mèo ta mũi nhọn hay mèo Ba Tư mũi tẹt, Bông đều biết là mèo. Hoặc khi bà dọa "mèo cắn bây giờ" thì trong đầu Bông sẽ xuất hiện một "khái niệm" về mèo. Con mèo tưởng tượng đó có những đặc điểm giống với mèo thật.
Máy tính làm sao để biết "mèo" là gì? Suy nghĩ và mạch máu của chúng là bit và byte. Chúng có thể "đọc" được các bit, các byte bên trong một bức ảnh 640 x 640 pixel, nhưng từ một ma trận 640 x 640 ô chứa các pixel màu khác nhau, làm sao chúng có thể "đọc" ra được những đặc điểm của con mèo, như mồm hình :3 có mấy sợi râu màu trắng, mắt tròn, tai hình tam giác... Khó hơn nữa, loài mèo có nhiều màu lông, chân và đuôi dài ngắn khác nhau, mũi nhọn/tẹt khác nhau...
Làm sao để máy móc có thể biết được con mèo là... con mèo?
Quá trình đưa "Khi nào thì làm gì" của máy móc đến gần "khi nào thì làm gì" của con người đã đi đến trở ngại lớn nhất: làm sao để máy móc hiểu được những cái "khi nào" trong cuộc sống của chúng ta.
Dĩ nhiên, bạn không gặp phải vấn đề của máy móc. Bộ não con người vốn là một mạng xử lý tuyệt tác do Mẹ Thiên Nhiên sáng tạo: số lượng neuron của não người lớn gấp 1 triệu lần (10^6) so với những nhân/đơn vị xử lý của các siêu máy tính "khủng" nhất hiện nay. Bộ não của chúng ta chứa khối dữ liệu từ hàng năm trời nghe, nhìn, cảm nhận qua giác quan, trong một "định dạng" dữ liệu khó thể hình dung bằng máy móc. Chúng ta có thể học để "nhận diện" mẹ, "nhận diện" bà, "nhận diện" con mèo, nhận diện các hình ảnh, tình huống trong cuộc đời mà không cần phải "bẻ nhỏ" thành các tín hiệu, các hàm, các tham số theo kiểu của máy móc.
Nhìn thấy một con mèo chưa gặp bao giờ, chúng ta vẫn biết nó là... mèo.
Đã từ lâu, các bộ não thiên tài của loài người đã nghĩ ra cách để dạy máy móc biết nhận diện con mèo trong bức ảnh. Chúng ta không có cách nào khác là ngồi và nghĩ ra những đặc điểm của con mèo (bốn chân, chân dài từ 5 đến 15cm, mồm có lông, mũi hình gần giống tam giác...). Mỗi đặc điểm chung chung này lại cần phải được phân tích thêm thành những đặc điểm chi tiết hơn để đến cuối cùng, chúng ta có được một bộ rất nhiều các đặc điểm loài mèo đã được "số hóa" triệt để thành các dòng code phức tạp.
Chúng ta "dạy" cho máy móc "học" các đặc điểm của mèo, qua dòng code.
Một trong những cách thực hiện quá trình dạy và học này là qua các mạng nơ-ron (neural network). Ở một neuron ("nơ-ron") – là một hình tròn trong bức ảnh ở trên, máy tính sẽ thực hiện một phép tính toán nào đó (bằng code, bằng byte, bằng mã nhị phân v...v..) để đưa ra một kết luận nhỏ: liệu dữ liệu được đưa vào "neuron" này có giống với dữ liệu thường có trên một bức ảnh chụp con mèo hay không? Nhiều lớp neuron kết hợp cùng nhau tạo thành một bộ lọc tổng thể: trên hình ảnh vừa "đọc", có thể đưa ra kết luận "là con mèo" hay không?
Dĩ nhiên, quá trình "lọc" thực tế và các thuật toán để tối ưu thì phức tạp hơn rất nhiều so với lời giải thích này của tôi: ở trên, chúng ta đang cố ép cách hiểu của mình vào các ví dụ đơn giản, dễ hình dung, vào các mạng neuron ít lớp. Trong thực tế, với các mạng neuron nhiều lớp, con người mới chỉ dừng ở bước sử dụng KẾT QUẢ do từng neural network tạo ra chứ chưa thể mổ xẻ (và ví von) vì sao chúng lại tạo ra kết quả như vậy.
Song, kết quả cuối cùng của một mạng neuron vẫn sẽ là một bộ lọc: khi nào thì đưa ra kết luận "đúng là con mèo".
Máy học còn có một vấn đề khác. Hãy thử nghĩ mà xem, nếu bạn KHÔNG chỉ cho Bông xem thế nào là một con "sư tử", Bông vẫn sẽ phân biệt được con "sư tử" trong một bức ảnh có 5 con sư tử, 6 con linh cẩu, 7 con voi, 8 con hà mã chẳng hạn. Bằng bộ não của mình, Bông vẫn tự nhận biết được rằng con vật có lông màu vàng, có mặt giống mèo khác với những con vật có mõm nhọn và lông đốm. Bông vẫn tự có được khái niệm "sư tử" dù không Bà dạy gọi tên.
Máy móc trước đây không thể thông minh như vậy. Muốn làm hệ thống nhận diện mèo, nhà khoa học dữ liệu đầu tiên phải tạo ra một bộ ảnh khổng lồ có định danh rõ ràng: đâu là bức ảnh chụp mèo, đâu là bức ảnh không chụp mèo. Và nếu như việc bẻ nhỏ các đặc điểm của một con mèo trên những bức ảnh tĩnh thành những phép lọc mà máy móc có thể hiểu được đã là quá khó khăn, chúng ta vẫn còn nhiều lĩnh vực khó nhận diện hơn thế: những con đường liên tục thay đổi, những căn bệnh mà y khoa chưa xác định hết triệu chứng, những bộ váy hợp với dáng người của chị A...
Khi đang theo đuổi tấm bằng tiến sĩ từ ĐH Stanford, một nghiên cứu sinh người Việt mang tên Lê Viết Quốc đã tìm ra giải pháp cho vấn đề này. Bằng cách phóng đại mô hình neural network chỉ 100 lần, Quoc Le đã có thể tạo ra một mạng neuron có khả năng xử lý khối lượng dữ liệu lớn hơn hàng nghìn lần so với các hệ thống trước đó. Phát hiện này của Quoc Le thu hút được sự chú ý của Google Brains – bộ phận tập trung vào nghiên cứu deep learning của Google.
Quoc Le về đầu quân cho Google Brains dưới sự hỗ trợ của Andrew Ng (nhà sáng lập Google Brains và Coursera). Năm 2012, dự án quan trọng do Quoc Le và Andrew Ng kết thúc với một kết quả kinh ngạc: mạng lưới 1000 máy tính (tổng cộng 16.000 nhân xử lý) đã có thể tự động mô phỏng mạng neuron của con người và tự tạo ra khái niệm "mèo" từ 10 triệu bức ảnh không ghi chú.
Kỷ nguyên deep learning chính thức bắt đầu: chỉ cần khiến mạng neural network "sâu" hơn (nói nôm na: "sâu" trong "deep learning" có nghĩa là nhiều lớp), con người đã có thể nâng khả năng suy nghĩ của máy móc lên một đẳng cấp khác. Thay vì tốn công đánh dấu dữ liệu, hoặc thậm chí là cố gắng đi tìm những dấu hiệu mà chúng ta không hề biết đến (ví dụ, triệu chứng ung thư từ bản scan), con người đơn giản chỉ cần đi mua những chiếc card màn hình nhiều nhân CUDA hơn, hoặc mua thêm card màn hình để chúng tự hình thành khái niệm "mèo" của riêng mình thay vì phải được dạy "thế nào là mèo".
Từ sau công trình nghiên cứu lịch sử của Quoc Le và Andrew Ng, thị trường hi-tech cũng chứng kiến sự trỗi dậy của một mô hình thực thi deep learning mới: "điện toán GPU". Vốn được thiết kế để render hàng trăm vật thể chuyển động trên màn hình cùng lúc, GPU cũng trở thành loại chip thích hợp nhất thể hiện thực hóa các mạng neuron.
Cuộc cách mạng AI bùng nổ trên toàn cầu khi các tín đồ công nghệ càng ngày càng được nghe nhiều hơn về loại "trí thông minh" mà máy móc trước đó không thể thực hiện được. Bài toán nhận diện không dừng ở những chú mèo khi Tesla của Elon Musk, Uber và cả Google Venmo sử dụng các bộ cảm biến để xe hơi có thể "nhìn" được đường và tự lái.
Với các thiết bị dành cho người dùng phổ thông, mạng neural đã góp phần quan trọng trong việc tăng tốc loại giao diện có thể cách mạng hóa tương lai: giao diện giọng nói trên trợ lý ảo. Năm 2014, Apple nâng cấp "bộ não" của Siri lên trở thành mạng neuron ảo để bắt đầu xóa đi ấn tượng xấu của trợ lý ảo tiền khởi này.
Trước đó một năm, CEO Jeff Bezos của Amazon đặt ra mục tiêu không tưởng dành cho trợ lý ảo Alexa: phải trả lời người dùng được trong vòng 1 giây. Chìa khóa duy nhất để nhận diện được toàn bộ các thành phần... rối loạn trong ngôn ngữ nói của con người là deep learning: luồng thông tin audio từ khe microphone của loa Echo sẽ được phân tích tín hiệu âm học để lọc ra từ ngữ, kết hợp với hoàn cảnh sử dụng và thậm chí là cả cảm xúc xuất phát từ tiếng nói của chúng ta.
Kể từ đó đến nay, cuộc chiến trợ lý ảo đã tiếp tục nóng lên với sự góp mặt của Google Assistant và Cortana.
Một năm sau đó, Microsoft lại góp mặt vào một cuộc chiến công nghệ khác: chatbot. Chat qua ứng dụng tin nhắn đã trở thành một kênh giao tiếp quan trọng giữa các nhãn hàng và người dùng, nhưng một công ty dù là Forbes 500 hay là startup 3 người cũng không thể cung cấp hàng triệu nhân viên chỉ để chat với khách hàng tiềm năng. Chatbot sinh ra để tự động hóa quá trình giao tiếp: nôm na, khi phát hiện người dùng nói "tôi muốn chọn pizza", chúng sẽ phải chọn ra loại pizza thích hợp nhất để gợi ý.
Vì sao ư? Vì trong câu nói của người dùng mới chỉ có từ khóa "pizza". Muốn công việc kinh doanh được phát triển, chatbot sẽ cần nắm thêm rất nhiều thông tin không có trong câu chat như vị trí của người dùng, thời gian gọi bánh, sở thích quá khứ của người dùng, số điểm đang còn tích trong tài khoản v...v... Muốn "hiểu" hết các thông tin đó và chọn ra hướng giải quyết phù hợp nhất (ví dụ, tự động gợi ý pizza dứa, xếp chung vào đợt giao hàng lúc 9:30 để tiết kiệm chi phí), chatbot phải dùng mạng neuron để phân tích và chọn lọc.
Năm 2017 chứng kiến công nghệ AI "xâm lấn" loại thiết bị số trọng tâm của con người ở quy mô và mức độ phức tạp chưa từng có.
Tháng 9, Apple công bố ra mắt chiếc iPhone X sử dụng neural network để xây dựng, phân tích và bảo mật cho người dùng: mô hình 3D từ 30.000 điểm kiến trúc sẽ không thể được phân tích theo bất kỳ một mô hình điện toán nào khác. Trong khi công nghệ này vẫn chưa hoàn hảo 100%, Face ID của Apple đã thực sự đưa bảo mật sang một chương mới: thu thập dữ liệu 30.000 điểm và chế tác mặt nạ 3D qua 5 lần thử/48 giờ khó khăn hơn, hay sử dụng các công cụ hack truyền thống hoặc qua mặt bản nhận diện 2D của vân tay/mống mắt khó khăn hơn?
AI không chỉ được dùng để sử dụng cho bảo mật trên iPhone. Bằng cách phân tích dữ liệu trên tấm ảnh, chip ISP (xử lý tín hiệu hình ảnh) tích hợp trong SoC A11 Bionic thậm chí còn có thể giảm nhiễu, tăng chất lượng ảnh chụp thiếu sáng và tăng tốc độ lấy nét. Một chế độ mới có tên "Portrait Lighting" cho phép phân tích bức ảnh chụp chân dung, tự làm hiệu ứng bokeh với phần khung nền hoặc giả lập hiệu ứng ánh sáng trên các đường nét của khuôn mặt.
Theo chân Apple, nhiều hãng đang sử dụng các thuật toán AI để TỰ cải thiện chất lượng ảnh chụp trên smartphone. Thế nhưng, chiếc smartphone chụp ảnh đẹp nhất (nói chung) lại là Pixel 2 của Google. Với thế hệ smartphone mới, Google thậm chí còn đưa thuật toán tiến xa hơn cả Apple: không cần 2 ống kính, vẫn có thể tạo ảnh bokeh chất lượng không kém gì bokeh bằng ống kính và zoom quang học.
Bên cạnh chiếc smartphone, Google còn nhiều "bảo bối" khác đến từ AI. Tai nghe không dây Pixel Buds có thể mang tới tính năng tự động dịch giọng nói. Máy quay clip sẽ liên tục lưu lại hình ảnh video của người dùng và tự chọn lọc ra những "khoảnh khắc" đáng nhớ. Trong cuộc chiến loa trợ lý ảo – có thể coi là lĩnh vực ứng dụng AI cho người dùng cuối nổi trội nhất hiện nay, Google đưa sản phẩm của mình xuống mức giá chỉ 50 USD để cạnh tranh với ông vua Amazon. Rõ ràng, Google muốn Google Assistant phải đến tay người dùng bằng mọi giá.
Nhưng "ông vua" Amazon không đứng yên để chờ đợi Google đuổi bắt. Từ nhiều tháng trước khi Google có Home Mini, Amazon đã ra mắt một phiên bản loa Echo có camera để tự động thu hình ảnh và gợi ý lựa chọn thời trang cho người tiêu dùng. Chiếc loa này giải quyết bài toán chắc chắn đã khiến Amazon đau đầu trong nhiều năm: người dùng mua quần áo online và rồi đổi trả vì không phù hợp, hay thậm chí là không muốn mua quần áo online vì không có "nhân viên" đứng chào hàng.
Hãy thử nghĩ về "bài toán" mà Amazon vừa giải quyết. Chúng ta sẽ giải bài toán đó như thế nào? Chúng ta sẽ vào cửa hàng, nhìn quanh và "phát hiện" một chiếc áo có vẻ hợp. Một "bài toán" thật đơn giản đến hiển nhiên, vậy mà phải đến hàng chục năm ứng dụng và phát triển, phải nhờ đến những phát hiện có cả dấu ấn của người Việt, máy móc mới có thể làm được
Bản chất của AI, của những khái niệm tưởng cao siêu như "neural network" là như vậy. Mô phỏng lại bộ não con người, chúng đang chập chững giúp chúng ta giải quyết những vấn đề, những bài toán vốn... quá đơn giản với bộ não của chúng ta.
Trí thức trẻ