DeepMind 提出了一種機器學習系統,用於根據任務的文字描述產生程式碼

DeepMind公司以其在人工智慧領域的發展以及構建能夠在人類層面上玩電腦和棋盤遊戲的神經網路而聞名,該公司提出了AlphaCode項目,該項目正在開發一種機器學習系統,用於生成可以參與的程式碼參加 Codeforces 平台上的程式設計競賽並展示平均成績。 該開發的一個關鍵功能是能夠以 Python 或 C++ 產生程式碼,並將帶有英文問題陳述的文字作為輸入。

為了測試系統,我們選擇了 10 場新的 Codeforces 比賽,參與者超過 5000 人,這些比賽在機器學習模型訓練完成後舉行。 完成任務的結果使 AlphaCode 系統進入了這些比賽評級的大約中間位置(54.3%)。 AlphaСode 的預測總體評分為 1238 分,這確保了在過去 28 個月內至少參加過一次比賽的所有 Codeforces 參與者中進入前 6%。 值得注意的是,該專案仍處於開發初期,未來計劃提高生成程式碼的質量,以及將AlphaCode開發為有助於編寫程式碼的系統,或可用於編寫程式碼的應用程式開發工具。供沒有程式設計技能的人使用。

該專案使用 Transformer 神經網路架構結合採樣和過濾技術來產生與自然語言文本相對應的各種不可預測的程式碼變體。 經過過濾、聚類和排序後,從生成的選項流中剔除最優的工作代碼,然後對其進行檢查以確保獲得正確的結果(每個競賽任務指示一個輸入資料的範例以及該範例對應的結果) ,應在執行程序後獲得)。

DeepMind 提出了一種機器學習系統,用於根據任務的文字描述產生程式碼

為了粗略地訓練機器學習系統,我們使用了公共 GitHub 儲存庫中提供的程式碼庫。 準備好初始模型後,根據 Codeforces、CodeChef、HackerEarth、AtCoder 和 Aizu 競賽參與者提出的問題範例和解決方案的程式碼集合,進行了最佳化階段。 總共使用了 GitHub 的 715 GB 程式碼和超過一百萬個典型競賽問題的解決方案範例進行訓練。 在進入程式碼產生之前,任務文字經歷了規範化階段,在此期間消除了所有不必要的內容,只留下重要部分。

DeepMind 提出了一種機器學習系統,用於根據任務的文字描述產生程式碼


來源: opennet.ru

添加評論