Искусственный интеллект Microsoft «DeepCoder» учится программированию, воруя у других »
ИИ может писать свой собственный код, воруя у других программ
Исследователи из Microsoft и Кембриджского университета создали очень сложный компьютер под названием DeepCoder, который теперь может позволить машинам писать свои собственные программы. Это направлено на то, чтобы облегчить работу пользователям, которые не знают языки программирования достаточно хорошо, чтобы эффективно их использовать, или даже помочь людям, не имеющим опыта написания простых программ для кодирования.
«Внезапно люди стали намного более продуктивными», — говорит Армандо Солар-Лезама из Массачусетского технологического института, который не участвовал в работе. «Они могли создавать системы, которые раньше было бы невозможно. ”
Статья «DeepCoder: Learning to Write Programs» представляет собой базовую систему с некоторыми ограничениями, по мнению исследователей. Тем не менее, это значительный шаг вперед в мире программирования и искусственного интеллекта (ИИ).
DeepCoder опирается на метод, называемый синтезом программ, который позволяет программному обеспечению создавать программы, «воруя» строки кода из существующих программ, что похоже на то, что делают многие программисты-люди. Предоставляя ИИ некоторые основные входы и выходы, система сама определяет, какой код необходим для достижения желаемого эффекта, и отслеживает его.
По словам исследователей, DeepCoder также создает рабочие программы за доли секунды, а это означает, что он может позволить не-программистам просто описать идею программы и позволить системе построить ее, говорит Марк Брокшмидт, один из создателей DeepCoder в Microsoft Research в Кембридже, Великобритания. Кроме того, DeepCoder узнает, какие комбинации исходного кода работают, а какие нет, и совершенствуется каждый раз, когда пытается решить новую задачу.
В настоящее время DeepCoder может обрабатывать только те задачи, которые могут быть решены примерно в пяти строках кода.
«Мы предвидим множество расширений DeepCoder и с оптимизмом смотрим на будущие перспективы использования машинного обучения для синтеза программ», — говорят специалисты Microsoft и Кембриджского университета.
Брокшмидт надеется, что будущие версии DeepCoder позволят очень легко создавать базовые программы, которые собирают информацию с веб-сайтов, например, без необходимости тратить время программиста на выполнение этой задачи.
«Потенциал автоматизации, который предлагает эта технология, может означать огромное [сокращение] количества усилий, необходимых для разработки кода», — говорит Солар-Лезама.
Возможности такой системы позволят просто автоматизировать утомительную часть кодирования, освободив программиста для работы над более сложными задачами.
Источник: New Scientist
