MeoAngel6265
New member
Nghe buồn cười nhưng có thật: mấy ngày đầu há mồm ra thì Face ID... đơ luôn, không nhận Mấy ngày sau thì há mồm vẫn mở được thoải mái. Tưởng chuyện nhỏ xíu phải không? Nhưng với dân tech thì đây là điều cực kỳ quan trọng nha!
Ai thực sự làm công nghệ đều hiểu một chân lý: dùng tech để giải quyết những thứ nghe "ez" lại là nhiệm vụ khó nhằn vãi
Đôi khi chỉ thay đổi một cái gì đó "tí tẹo" trên màn hình theo cách hiểu của user, nhưng dev phải ngồi sửa cả một đống code phía dưới. Chưa kể với những bài toán mới thuộc thời đại AI/máy học như nhận diện hình ảnh, giọng nói hay chatbot - công việc lại càng khó hơn gấp bội!
Chúng ta đang sống trong kỷ nguyên công nghệ xịn xò nhất - mô phỏng sát với thiết kế của mẹ thiên nhiên. Thế mà phải dùng thuật toán trình độ PhD để giải quyết những bài toán nghe... ngớ ngẩn vãi
Ví dụ năm 2012, anh Quốc Lê - kỹ sư Việt Nam tài năng - cùng "huyền thoại AI" Andrew Ng đã công bố một nghiên cứu có thể tóm gọn thế này: dùng nhiều máy tính mô phỏng mạng nơ-ron để tự hình thành khái niệm về... mèo bằng hình ảnh từ video YouTube
"Mèo" đó các fen! Con vật gắn liền với văn hóa Internet "nhảm nhí" đã trở thành điểm khởi đầu của cơn bão AI/ML/DL trong nửa thập kỷ vừa qua.
Khi mua iPhone X, một người bạn không chuyên công nghệ của mình đã gặp tình huống "tầm thường" tương tự. Ngày đầu sử dụng, Face ID của bạn không mở khóa khi... mở mồm
5 ngày sau, tức khoảng thời gian BKAV công bố "hack" được Face ID, bạn nhắn tin báo Face ID đã nhận diện được khuôn mặt khi há mồm rồi!
Chuyện nghe đơn giản đến ngớ ngẩn, nhưng với dân tech thì nó deep lắm nhen
Một ví dụ khác nữa, dưới đây là phần bình luận mình đọc được trên bài viết của "bạn của bạn" - cũng là người làm công nghệ về cách bẻ khóa Face ID của BKAV. Như các bạn thấy đó, những người comment hoàn toàn không đồng ý với cách giải thích về công nghệ máy học của tác giả:
Nhưng những người làm công nghệ - hay chính xác hơn là những người đủ hiểu để nắm rõ máy học - chắc chắn sẽ không nghĩ như vậy đâu.
Reinforcement Learning - học kiểu "training cún"
Cái chuyện há mồm mà bạn mình vừa trải qua gọi là "reinforcement learning" (học tăng cường). Các bạn có thể đọc nhiều bài học thuật về khái niệm này, nhưng nói cho dễ hiểu thì nó giống như... dạy cún vậy!
Khi bạn bảo "nằm xuống" mà cún chỉ ngồi xuống thì không cho bánh quy. Khi cún nằm xuống đúng chuẩn thì mới có thưởng. Dựa vào phản ứng của bạn, cún sẽ biết hành động nào đúng hay sai.
Bạn có thể đã từng dùng reinforcement learning trên điện thoại rồi đó. Ví dụ điển hình là khi Siri (hoặc trợ lý ảo nào đó) đánh vần tên bạn sai, bạn có thể nói "Đánh vần sai rồi" và Siri sẽ hỏi lại cách đúng để học theo.
Hoặc nhiều trợ lý ảo tự động "sinh" câu trả lời dựa trên nội dung nhận được. Nếu bạn không dùng câu có sẵn mà thay bằng câu khác, trợ lý ảo sẽ tự hiểu các câu trả lời ban đầu là sai.
Chúng sẽ tìm kiếm câu trả lời phù hợp hơn cho các tình huống tương tự về sau, dựa trên dữ liệu trước đó.
Với chuyện há mồm của Face ID hay nói rộng ra là phản hồi "không cho phép đúng người truy cập", câu chuyện vẫn là reinforcement learning thôi.
Ở đây, thay vì câu lệnh "nằm xuống" thì Face ID nhận khuôn mặt của bạn. Sự phân tích trong não cún được thay bằng việc tổng hợp hình ảnh 3D trong chip A11 Bionic/RAM và một con số xác suất xx% là "chính chủ".
Dựa trên kết quả đó, Face ID phải quyết định "đúng là chính chủ" hoặc "không đúng là chính chủ" thay vì nằm xuống.
Face ID không phải ngoại lệ nha!
Dĩ nhiên Face ID sẽ có xác suất sai trong trường hợp: "đúng là chính chủ nhưng lại không cho mở khóa", giống như cún nghe thấy đúng "nằm xuống" nhưng chỉ ngồi xuống.
Đây lại là điểm mấu chốt của reinforcement learning: Khi cún không được thưởng vì chỉ ngồi xuống, dần dần nó sẽ biết "ngồi xuống" không phải cách phản hồi đúng với lệnh "nằm xuống".
AI cũng vậy: dùng bất kỳ AI nào và bạn sẽ thấy các tính năng trả lời tự động, gợi ý ngày càng accurate hơn
Khi đúng là bạn mình đứng trước điện thoại (dù há mồm hay không), Face ID từ chỗ phản hồi sai (không mở khi há mồm) chuyển sang phản hồi đúng (mở khóa khi há mồm).
Cách Face ID "hiểu" chúng ta sẽ luôn bị thay đổi để tạo ra phản hồi chính xác nhất: mở khóa khi "chính chủ" muốn mở.
Dĩ nhiên mình mới chỉ nói về chuyện phản hồi đúng hay sai thôi. Để thực sự đưa ra phản hồi càng ngày càng chuẩn, một phần nào đó trong khâu xử lý/tính toán phải thay đổi. Thuật toán nhận diện/bản mẫu so sánh do neural network tạo ra phải update liên tục.
Trong trường hợp Face ID, mô hình 3D từ khuôn mặt user chắc chắn sẽ luôn thay đổi để tạo ra con số xác suất đủ cao khi người dùng há mồm (hoặc nhăn trán, chun mũi)...
Quan trọng nhất, Face ID phải "học" khi nào phản hồi là sai. Các phản hồi sai (đúng người nhưng không cho vào) sẽ bị "sửa" bằng các nhận diện đúng sau đó.
Ví dụ, bạn mình sẽ... ngậm mồm lại và mở được điện thoại. Face ID sẽ phải "học": các lần chặn vừa rồi là sai. Face ID sẽ "học": Bạn mình khi há mồm vẫn là... bạn mình thôi!
Cách làm của BKAV nhắm vào điểm yếu này (và do đó không thực tế lắm)
Các kỹ sư BKAV muốn mặt nạ mở được Face ID, nên qua 3-4 lần nhận sai họ sẽ mở mặt một lần đúng. Face ID vì thế đang được "khuyến khích" đưa ra phản hồi "mở khóa" cho cả mặt nạ lẫn mặt thật.
Tình huống này đã xảy ra nhiều lần trong thực tế, được báo chí đăng tải nhiều (mà không hay biết). Anh em, mẹ con mở khóa được iPhone X của nhau thực chất đang tạo ra tác động "ngầm":
Nếu bạn liên tục dùng Face ID mở khóa sau khi người khác mở Face ID thất bại vài lần, bạn đang "khuyến khích" Face ID chấp nhận cả 2 khuôn mặt luôn đó!
Chính BKAV đã confirm với nhiều nguồn về việc xen giữa mặt nạ với mặt thật trong quá trình thực hiện. Ai hiểu Reinforcement Learning đều biết làm như vậy là phi lý lắm rồi!
Dĩ nhiên, bằng thuật toán Apple có thể cải thiện vấn đề này: ví dụ với các bức ảnh có xác suất quá thấp thì không lưu lại bản mẫu. Hoặc tạo thêm một bản mẫu "ngẫu nhiên" với cử chỉ duy nhất "chính chủ" biết (ví dụ nhếch mép, nhăn trán) để tăng khả năng ngăn chặn.
Song, nếu đã dùng máy học thì nguy cơ bị "qua mặt" (dù vô nghĩa) theo kiểu BKAV vẫn tồn tại. Bởi ai đã biết về máy học, biết về vấn đề lớn của việc label data (đánh dấu dữ liệu đúng/sai) đều hiểu rằng chẳng có lý do gì không "ép" user tự đánh dấu dữ liệu "giùm" thuật toán.
BKAV đã tự cho nạn nhân đánh dấu sai dữ liệu luôn!
Thế nhưng, một phép qua mặt vô nghĩa vẫn cứ là... vô nghĩa thôi.
Kết luận: Logic không ổn rồi nha!
Khi BKAV dùng rất nhiều thời gian cùng... nạn nhân để tạo chiếc mặt nạ đủ chi tiết, họ đã tạo ra tình huống không đúng với thực tế của tội phạm hay FBI: phải tạo mặt nạ đủ chi tiết trong vòng 5 lần thử và 48 giờ mà không có nạn nhân sẵn sàng để dùng.
Nếu đã liên tục tiếp cận được khuôn mặt nạn nhân, sao không mở khóa luôn???
Liên tục xen giữa mặt nạ và mặt thật cũng không khác gì ngồi đoán mật khẩu rồi tự vào database để sửa thành mật khẩu mới trùng với mật khẩu... vừa đoán.
Nguồn: soha.vn