Trên đường, con người, tôi đã có điều này được bảo hiểm. Một hệ thống học máy đã đạt được khả năng để viết mã riêng của mình. Được tạo ra bở...
Trên đường, con người, tôi đã có điều này được bảo hiểm. Một hệ thống học máy đã đạt được khả năng để viết mã riêng của mình.
Được tạo ra bởi các nhà nghiên cứu tại Microsoft và Đại học Cambridge, hệ thống được gọi là DeepCoder đã giải quyết được những thách thức cơ bản của cuộc thi lập trình. Cách tiếp cận này có thể làm cho mọi người dễ dàng hơn để xây dựng các chương trình đơn giản mà không biết cách viết mã.
Armando Solar-Lezama thuộc Viện Công nghệ Massachusetts, người không tham gia vào công việc , nói: "Tất cả những người bất ngờ có thể làm việc hiệu quả hơn nhiều" . "Họ có thể xây dựng hệ thống mà nó sẽ không thể xây dựng trước đây.
Marc Brockschmidt , một trong những người sáng tạo của DeepCoder tại Microsoft Research ở Cambridge, Anh nói: "Cuối cùng, cách tiếp cận này có thể cho phép những người không lập trình mô tả một ý tưởng cho một chương trình và để cho hệ thống xây dựng nó .
DeepCoder sử dụng một kỹ thuật gọi là tổng hợp chương trình: tạo ra các chương trình mới bằng cách ghép các dòng mã lấy từ phần mềm hiện có - giống như một lập trình viên có thể. Với danh sách các đầu vào và đầu ra cho mỗi đoạn mã, DeepCoder đã học được những đoạn mã nào cần thiết để đạt được kết quả mong muốn tổng thể.
"Nó có thể cho phép những người không lập trình đơn giản chỉ mô tả một ý tưởng cho một chương trình và để cho hệ thống xây dựng nó"
Một ưu điểm của việc để AI mất theo cách này là nó có thể tìm kiếm kỹ lưỡng hơn và rộng hơn một coder của con người, vì vậy có thể ghép cùng mã nguồn theo cách mà con người không nghĩ đến. Hơn thế nữa, DeepCoder sử dụng máy học để tìm kiếm cơ sở dữ liệu của mã nguồn và phân loại các mảnh theo quan điểm của chúng về tính hữu ích có thể xảy ra của chúng.
Tất cả điều này làm cho hệ thống nhanh hơn nhiều so với những người tiền nhiệm của nó. DeepCoder tạo ra các chương trình làm việc trong các phân số của một giây, trong khi các hệ thống cũ hơn mất vài phút để thử nghiệm nhiều kết hợp khác nhau của dòng mã trước khi piecing cùng một cái gì đó có thể làm công việc. Và bởi vì DeepCoder học được sự kết hợp của mã nguồn và công việc nào không làm nó hoạt động, nó sẽ cải thiện mỗi khi nó cố gắng một vấn đề mới.
Công nghệ có thể có nhiều ứng dụng. Vào năm 2015, các nhà nghiên cứu tại MIT đã tạo ra một chương trình tự động sửa lỗi phần mềm bằng cách thay thế các dòng mã lỗi bằng các dòng làm việc từ các chương trình khác. Brockschmidt nói rằng các phiên bản trong tương lai có thể làm cho việc xây dựng các chương trình thông thường có thể lấy cắp thông tin từ các trang web hoặc tự động phân loại các bức ảnh trên Facebook là rất dễ dàng, ví dụ, nếu không có người lập trình thì phải nhấc ngón tay
Solar-Lezama nói: "Khả năng tự động hóa mà loại công nghệ này mang lại có thể thực sự là một sự giảm đáng kể về số lượng nỗ lực phát triển mã.
Nhưng ông không nghĩ rằng các hệ thống này sẽ đưa các lập trình ra khỏi công việc. Với tổng hợp chương trình tự động hóa một số phần tẻ nhạt nhất của chương trình, ông nói, người lập trình sẽ có thể dành thời gian của họ để làm việc phức tạp hơn.
Hiện tại, DeepCoder chỉ có khả năng giải quyết các thách thức lập trình liên quan đến khoảng năm dòng mã. Nhưng trong ngôn ngữ lập trình đúng, một vài dòng là tất cả những gì cần cho các chương trình khá phức tạp.
"Tạo ra một đoạn mã thực sự lớn trong một lần bắn là khó, và có thể không thực tế", Solar-Lezama nói. "Nhưng các mẩu mã thực sự lớn được xây dựng bằng cách gom lại rất nhiều đoạn mã nhỏ."
Bài báo này xuất hiện dưới dạng tiêu đề "Máy vi tính đang học mã cho mình"
COMMENTS