[發明專利]基于離線監督學習的函數式程序自動合成方法有效
| 申請號: | 201911301796.3 | 申請日: | 2019-12-17 |
| 公開(公告)號: | CN111142857B | 公開(公告)日: | 2023-04-25 |
| 發明(設計)人: | 王雨泓;李鑫;郭建 | 申請(專利權)人: | 華東師范大學 |
| 主分類號: | G06F8/30 | 分類號: | G06F8/30;G06F8/70;G06F40/289;G06N3/0442;G06N3/0455;G06N3/084 |
| 代理公司: | 上海藍迪專利商標事務所(普通合伙) 31215 | 代理人: | 徐筱梅;張翔 |
| 地址: | 200241 *** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 離線 監督 學習 函數 程序 自動 合成 方法 | ||
本發明公開了一種基于離線監督學習的函數式程序自動合成方法,首先利用約束邏輯編程系統miniKanren將用戶提供的輸入輸出示例編碼成包含關系約束信息的狀態樹的形式,然后結合狀態樹中路徑信息和上下文信息作為特征信息輸入到神經網絡中,輸出各個候選子程序被選擇的概率分布,并在每個迭代過程中選擇概率最高的候選子程序來構建出滿足輸入輸出示例的函數式程序。此外,為了提高離線監督學習的效率,本發明還提出了三種不同的訓練樣本生成策略生成豐富多樣性的訓練樣本,不僅使得基于離線監督學習神經網絡模型具備高合成精度和強泛化性,并大幅度地減少了程序合成步長,極大地提高了程序合成的效率,使得基于本方法而設計出的程序合成系統具備實時性。
技術領域
本發明涉及程序語言與人工智能交叉領域,具體涉及一種離線監督學習的函數式程序自動合成方法。
背景技術
隨著軟件工程的發展,程序合成技術在減少軟件從事人員的負擔,提高軟件開發的生產力等方面發揮著至關重要的作用。在程序合成領域,通過少量的輸入輸出示例自動地合成滿足用戶需求的程序(Programming?By?Examples,簡稱PBE)受到越來越多的關注。其原因一方面是因為對于一般的用戶而言,相比數理邏輯表達式,撰寫輸入輸出示例更容易;另一方面是更容易利用統計模型來實現這種程序合成策略。
過去,主要有兩類方法來解決PBE問題。一類是基于符號系統在給定目標語言的領域空間中使用枚舉搜索或演繹推理算法合成滿足需求的程序。這類方法的窮舉搜索空間一般是異常巨大的,因此會導致可擴展性很差,無法合成大規模的程序;另一類是使用統計模型,即基于數據驅動的機器學習技術。通過給定大規模的訓練數據集得到一個統計模型并利用其合成滿足需求的程序。此類方法可以有效地縮減搜索空間,但是由于機器學習的不可解釋性,無法保證合成程序的正確性。
因此,當下最新的研究思路是將上述兩種類方法做有機的結合,通過機器學習技術來指導符號系統的搜索,不僅有效地縮減了搜索空間,并提高了合成程序的正確性。但是因為兩種系統本質的差異性,如何做到更好的有機結合,以兼顧程序合成的效率,正確性等方面依然是一個具備挑戰性的問題。
發明內容
本發明提出了一種基于離線監督學習的函數式程序自動合成方法,利用神經網絡模型指導符號系統搜索,通過用戶給定的輸入輸出示例,自動地合成滿足輸入輸出示例的程序。其中神經網絡模型的訓練采用離線監督學習的方式,不僅簡化了模型參數優化操作,還可以提高程序合成的準確率和效率。
本發明提出的一種基于離線監督學習的函數式程序自動合成方法,包括以下步驟:
步驟一:對給定的輸入輸出示例對,利用miniKanren約束邏輯編程系統基于三種不同的策略生成狀態樹形式的訓練樣本;
步驟二:從狀態樹中提取關系約束,并用神經網絡模型對其進行編碼,得到關系約束的嵌入信息;
步驟三:從狀態樹中提取程序執行軌跡,即候選子程序的信息,利用神經網絡對其進行編碼,得到候選子程序的嵌入信息;
步驟四:針對每個候選子程序計算其上下文的嵌入信息;
步驟五:將關系約束、候選子程序以及候選子程序上下文三者的嵌入信息進行拼接,得到特征矩陣,輸入到神經網絡中,計算出候選子程序的概率分布;
步驟六:根據目標程序的子程序計算出對應的one-hot向量,設計損失函數計算候選子程序的概率分布與該one-hot向量的誤差,并將其反向傳播,調整神經網絡模型參數。
步驟七:重復步驟二至步驟六,直至神經網絡模型的精度在訓練集和驗證集上均達到預期。
步驟八:利用訓練好的神經網絡模型基于給定的輸入輸出示例和miniKanren進行交互,合成滿足需求的程序。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華東師范大學,未經華東師范大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911301796.3/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種復疊式冷暖節能系統
- 下一篇:配餐方法、裝置、電子設備及計算機存儲介質





