Xe tự lái đã dành nhiều năm tuân theo các bộ hướng dẫn cứng nhắc. Các kỹ sư đã viết hàng ngàn câu lệnh nếu-thì. Nếu người đi bộ băng qua đường, hãy phanh. Nếu đèn chuyển sang màu đỏ, hãy dừng lại. Nếu làn đường uốn cong, hãy bẻ lái. Cách tiếp cận này hoạt động tốt khi thế giới diễn ra chính xác như mong đợi, nhưng việc lái xe thực tế thì hỗn loạn hơn nhiều. Một cuốn sách quy tắc không thể bao quát mọi con đường mòn bùn lầy, mọi giao lộ không có biển báo, hay mọi người đi xe đạp len lỏi qua dòng xe cộ. Khi môi trường thay đổi, các mệnh lệnh nghiêm ngặt sẽ bị phá vỡ. Chúng ta cần những hệ thống có khả năng học được thế nào là lái xe tốt thay vì chỉ đơn thuần tuân theo một danh sách kiểm tra.
Vượt xa các quy tắc lập trình cứng
Các hệ thống tự hành truyền thống dựa vào việc lập trình rõ ràng. Chúng hoạt động tốt trong các môi trường khép kín như sàn kho bãi, các làn đường dành riêng và thời tiết có thể dự đoán được. Trên các con đường công cộng, logic tương tự thường bị phá vỡ.
Hãy tưởng tượng một khu vực đang thi công với các biển báo viết tay, các cọc tiêu rải rác ở những góc độ kỳ lạ và một người điều tiết giao thông đang vẫy tay cho xe đi qua. Một hệ thống dựa trên quy tắc sẽ muốn có một tín hiệu giao thông rõ ràng. Nó chỉ thấy sự hỗn loạn. Nếu không có một quy tắc cụ thể cho tình huống "người mặc áo vest cam đang ra hiệu sang trái", chiếc xe sẽ đứng khựng lại hoặc đoán sai. Người lái xe xử lý việc này ngay lập tức vì chúng ta diễn giải ý định và bối cảnh, chứ không chỉ là các điểm ảnh (pixels). Chúng ta đọc hiểu toàn cảnh. Dạy một cỗ máy làm điều tương tự đòi hỏi một cách tiếp cận khác biệt về mặt bản chất.
Học bằng cách quan sát: Inverse Reinforcement Learning
Đây chính là nơi Inverse Reinforcement Learning thay đổi cuộc chơi. Trong học tăng cường (reinforcement learning) tiêu chuẩn, bạn đưa cho AI một mục tiêu và một hàm phần thưởng. Đến đích nhanh chóng, nhận điểm. Đâm vào lề đường, mất điểm. Tác nhân (agent) sẽ loay hoay cho đến khi khám phá ra một chiến lược (policy) giúp tối đa hóa điểm số của nó. Nhưng lái xe không thuần túy là về hiệu suất. Đó còn là về sự thoải mái, an toàn, tính hợp pháp và các quy ước xã hội. Việc viết một hàm phần thưởng toán học cho kiểu "lái xe như một con người cẩn trọng nhưng thành thạo" là điều gần như không thể.
Inverse Reinforcement Learning đảo ngược vấn đề này. Thay vì đưa cho AI một mục tiêu, bạn cho nó xem các ví dụ. Thuật toán quan sát hàng giờ video lái xe của con người. Nó quan sát khi nào con người giảm tốc độ, chuyển làn sớm hoặc nhường đường cho một chiếc xe tải đang nhập làn. Nó không chỉ đơn thuần ghi nhớ góc lái chính xác. Nó hoạt động ngược lại để suy luận lý do. Có lẽ người lái xe đã giảm tốc vì một đứa trẻ đang đứng gần vỉa hè, mặc dù về mặt luật pháp thì đường vẫn thông thoáng. AI trích xuất được phần thưởng ẩn: sự gần kề của người đi bộ là quan trọng, ngay cả khi không có vạch kẻ đường.
Bằng cách coi con người là một chuyên gia đã giải quyết xong bài toán tối ưu hóa, thuật toán sẽ khôi phục lại hàm chi phí (cost function) mà chuyên gia đó đang cố gắng giảm thiểu. Một khi hệ thống hiểu được các sở thích tiềm ẩn, chẳng hạn như ưu tiên phanh êm ái thay vì dừng đột ngột, hoặc giữ xe ở giữa làn thay vì lấn chiếm góc cua, nó có thể khái quát hóa. Khi gặp một con đường mới ở một thành phố khác, nó biết được một cách tương đối những gì một người lái xe giỏi sẽ coi trọng trong bối cảnh xa lạ đó.
Đưa ra lựa chọn: Deep Q-Networks
Hiểu được phần thưởng mới chỉ là một nửa cuộc chiến. Chiếc xe vẫn cần phải hành động. Deep Q-Networks xử lý việc ra quyết định bằng cách xử lý dữ liệu cảm biến để chọn ra hành động tốt nhất.
Q-learning cổ điển đã tồn tại hàng thập kỷ. Một tác nhân học được giá trị của việc thực hiện một hành động cụ thể trong một trạng thái cụ thể. Vấn đề là các trạng thái lái xe thực tế gần như là vô hạn. Một luồng dữ liệu từ camera không phải là một thế giới lưới (grid world) đơn giản. Đó là hàng triệu điểm ảnh thay đổi với tốc độ 60 khung hình mỗi giây, kết hợp với các đám mây điểm lidar, các chỉ số tốc độ và các vectơ GPS.
Deep Q-Networks giải quyết vấn đề này bằng cách sử dụng một mạng thần kinh làm bộ xấp xỉ hàm (function approximator). Mạng này tiếp nhận dữ liệu cảm biến thô và đưa ra giá trị dự đoán cho mọi hành động có thể: bẻ lái trái, phanh nhẹ, tăng tốc, duy trì lộ trình. Thay vì lưu trữ một bảng tra cứu cho mọi kịch bản, mạng thần kinh sẽ khái quát hóa. Nó nhận ra rằng một vệt tối trong đêm mưa có thể là một chiếc xe đang đỗ, giống như những gì nó đã học được trong quá trình huấn luyện dưới trời nắng, và gán giá trị thấp cho hành động "tăng tốc".
Quá trình huấn luyện bao gồm việc tái hiện trải nghiệm (experience replay). Hệ thống lưu trữ các khoảnh khắc từ những chuyến lái xe trong quá khứ, những lần chuyển làn thành công, những tình huống suýt va chạm và những lần giảm tốc mượt mà, sau đó lấy mẫu ngẫu nhiên để cập nhật mạng của nó. Điều này phá vỡ các mối tương quan có hại và giúp quá trình học ổn định hơn. Qua hàng ngàn giờ mô phỏng, mạng thần kinh sẽ học được hành động nào dẫn đến sự tiến triển an toàn và hành động nào dẫn đến rắc rối.
Kết hợp mọi thứ lại
Bản thân từng phương pháp riêng lẻ không thể tạo ra một tài xế có năng lực. Học tăng cường nghịch đảo (Inverse Reinforcement Learning) nếu thiếu đi một bộ máy ra quyết định thì chỉ đơn thuần là một kẻ quan sát. Nó biết rằng con người coi trọng sự mượt mà nhưng lại không thể chạm vào vô lăng. Một Mạng Q sâu (Deep Q-Network) nếu không có một hàm thưởng được thiết kế tốt sẽ tối ưu hóa sai mục tiêu. Nó có thể phát hiện ra rằng việc lái xe vòng quanh giúp tránh va chạm một cách hoàn hảo, đạt được điểm số cao trong khi chẳng đi đến đâu cả.
Khi kết hợp lại, chúng tạo ra một vòng lặp mạnh mẽ. Học tăng cường nghịch đảo quan sát các chuyên gia là con người và chắt lọc ra một hàm thưởng nắm bắt được các ưu tiên trong thế giới thực. Sau đó, Mạng Q sâu sử dụng hàm thưởng đó để tự huấn luyện thông qua quá trình thử và sai, xử lý dữ liệu cảm biến trực tiếp để lựa chọn hành động. AI học các hành vi phức tạp thông qua quan sát, nhưng cũng thông qua cả thực hành.
Hãy xem xét tình huống nhập làn trên đường cao tốc. Thành phần Học tăng cường nghịch đảo đã suy luận được rằng các tài xế con người luôn cân bằng giữa việc khớp tốc độ và việc chấp nhận khoảng trống. Mạng Q sâu nhận được tín hiệu chi phí tinh vi này và thực hành việc nhập làn mười nghìn lần trong môi trường mô phỏng. Nó học được khi nào nên tăng tốc, khi nào nên lùi lại, và khi nào khoảng trống là quá hẹp. Kết quả không phải là một con vẹt lặp lại các chuyển động đã được ghi lại của con người. Đó là một hệ thống đã nội hóa được logic và có thể thích nghi khi đường cao tốc bị ướt hoặc khoảng trống nhỏ hơn bình thường.
