Skip navigation

DSpace

機構典藏 DSpace 系統致力於保存各式數位資料(如:文字、圖片、PDF)並使其易於取用。

點此認識 DSpace
DSpace logo
English
中文
  • 瀏覽論文
    • 校院系所
    • 出版年
    • 作者
    • 標題
    • 關鍵字
    • 指導教授
  • 搜尋 TDR
  • 授權 Q&A
    • 我的頁面
    • 接受 E-mail 通知
    • 編輯個人資料
  1. NTU Theses and Dissertations Repository
  2. 電機資訊學院
  3. 電信工程學研究所
請用此 Handle URI 來引用此文件: http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/93355
完整後設資料紀錄
DC 欄位值語言
dc.contributor.advisor孫紹華zh_TW
dc.contributor.advisorShao-Hua Sunen
dc.contributor.author洪正維zh_TW
dc.contributor.authorCheng-Wei Hungen
dc.date.accessioned2024-07-29T16:25:12Z-
dc.date.available2024-07-30-
dc.date.copyright2024-07-29-
dc.date.issued2024-
dc.date.submitted2024-07-16-
dc.identifier.citationReferences
[1] Yuntao Bai, Andy Jones, Kamal Ndousse, Amanda Askell, Anna Chen, Nova DasSarma,
Dawn Drain, Stanislav Fort, Deep Ganguli, Tom Henighan, et al. Training a helpful
and harmless assistant with reinforcement learning from human feedback. arXiv preprint
arXiv:2204.05862, 2022.
[2] Matej Balog, Alexander Gaunt, Marc Brockschmidt, Sebastian Nowozin, and Daniel Tarlow. Deepcoder: Learning to write programs. In Proceedings of ICLR’17, 2017.
[3] Rudy Bunel, Matthew Hausknecht, Jacob Devlin, Rishabh Singh, and Pushmeet Kohli. Leveraging grammar and reinforcement learning for neural program synthesis. In International Conference on Learning Representations, 2018.
[4] Xiaocong Chen, Lina Yao, Julian McAuley, Guanglin Zhou, and Xianzhi Wang. Deep reinforcement learning in recommender systems: A survey and new perspectives. Knowledge-based systems, 2023.
[5] Xinyun Chen, Maxwell Lin, Nathanael Schärli, and Denny Zhou. Teaching large language models to self-debug. In International Conference on Learning Representations, 2024.
[6] Raphaël Dang-Nhu. Plans: Neuro-symbolic program learning from videos. In Advances in Neural Information Processing Systems, 2020.
[7] Jacob Devlin, Jonathan Uesato, Surya Bhupatiraju, Rishabh Singh, Abdel-rahman Mohamed, and Pushmeet Kohli. Robustfill: Neural program learning under noisy i/o. In International Conference on Machine Learning, 2017.
[8] Xuguang Duan, Qi Wu, Chuang Gan, Yiwei Zhang, Wenbing Huang, Anton van den Hengel, and Wenwu Zhu. Watch, reason and code: Learning to represent videos using program. In Proceedings of the 27th ACM International Conference on Multimedia, 2019.
[9] Kevin Ellis, Catherine Wong, Maxwell Nye, Mathias Sablé-Meyer, Lucas Morales, Luke Hewitt, Luc Cary, Armando Solar-Lezama, and Joshua B Tenenbaum. Dreamcoder: Bootstrapping inductive program synthesis with wake-sleep library learning. In Proceedings of the 42nd acm sigplan international conference on programming language design and implementation, 2021.
[10] Kavi Gupta, Peter Ebert Christensen, Xinyun Chen, and Dawn Song. Synthesize, execute and debug: Learning to repair for neural program synthesis. In Neural Information Processing Systems, 2020.
[11] Vidhi Jain, Maria Attarian, Nikhil J Joshi, Ayzaan Wahid, Danny Driess, Quan Vuong, Pannag R Sanketi, Pierre Sermanet, Stefan Welker, Christine Chan, et al. Vid2robot: End-to-end video-conditioned policy learning with cross-attention transformers. arXiv preprint
arXiv:2403.12943, 2024.
[12] Hung Le, Yue Wang, Akhilesh Deepak Gotmare, Silvio Savarese, and Steven C. H. Hoi. Coderl: Mastering code generation through pretrained models and deep reinforcement learning. In Neural Information Processing Systems, 2022.
[13] Wei-Hsu Lee. Enhancing program synthesis through fine-tuning techniques, contrastive learning, comprehensive training strategies, and real-world evaluation scenarios. Master’s thesis, National Taiwan University, 2024.
[14] Guan-Ting Liu, En-Pei Hu, Pu-Jen Cheng, Hung-Yi Lee, and Shao-Hua Sun. Hierarchical programmatic reinforcement learning via learning to compose programs. In International Conference on Machine Learning, 2023.
[15] Anthony Manchin, Jamie Sherrah, Qi Wu, and Anton van den Hengel. Program generation from diverse video demonstrations, 2023.
[16] Keiron O’Shea and Ryan Nash. An introduction to convolutional neural networks, 2015.
[17] Long Ouyang, Jeffrey Wu, Xu Jiang, Diogo Almeida, Carroll Wainwright, Pamela Mishkin, Chong Zhang, Sandhini Agarwal, Katarina Slama, Alex Ray, et al. Training language models to follow instructions with human feedback. In Neural Information Processing Systems, 2022.
[18] Richard E Pattis. Karel the robot: a gentle introduction to the art of programming. John Wiley & Sons, Inc., 1981.
[19] Kensen Shi, Joey Hong, Yinlin Deng, Pengcheng Yin, Manzil Zaheer, and Charles Sutton. Exedec: Execution decomposition for compositional generalization in neural program synthesis. In The Twelfth International Conference on Learning Representations, 2024.
[20] Richard Shin, Neel Kant, Kavi Gupta, Christopher Bender, Brandon Trabucco, Rishabh Singh, and Dawn Song. Synthetic datasets for neural program synthesis. In International Conference on Learning Representations, 2019.
[21] David Silver, Aja Huang, Chris J Maddison, Arthur Guez, Laurent Sifre, George Van Den Driessche, Julian Schrittwieser, Ioannis Antonoglou, Veda Panneershelvam, Marc Lanctot, et al. Mastering the game of go with deep neural networks and tree search. Nature, 2016.
[22] Shao-Hua Sun, Hyeonwoo Noh, Sriram Somasundaram, and Joseph Lim. Neural program synthesis from diverse demonstration videos. In Proceedings of the 35th International Conference on Machine Learning, 2018.
[23] Dweep Trivedi, Jesse Zhang, Shao-Hua Sun, and Joseph J Lim. Learning to synthesize programs as interpretable and generalizable policies. In Thirty-Fifth Conference on Neural Information Processing Systems, 2021.
[24] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Ł ukasz Kaiser, and Illia Polosukhin. Attention is all you need. In Advances in Neural Information Processing Systems, 2017.
[25] Letian Wang, Jie Liu, Hao Shao, Wenshuo Wang, Ruobing Chen, Yu Liu, and Steven L Waslander. Efficient reinforcement learning for autonomous driving with parameterized skills and priors. 2023.
[26] Yue Wang, Hung Le, Akhilesh Deepak Gotmare, Nghi D.Q. Bui, Junnan Li, and Steven C. H. Hoi. Codet5+: Open code large language models for code understanding and generation. arXiv preprint, 2023.
[27] Martin White, Michele Tufano, Matias Martinez, Martin Monperrus, and Denys Poshyvanyk. Sorting and transforming program repair ingredients via deep learning code similarities. In 2019 IEEE 26th International Conference on Software Analysis, Evolution and Reengineering (SANER), 2019.
[28] Michihiro Yasunaga and Percy Liang. Graph-based, self-supervised program repair from diagnostic feedback. In International Conference on Machine Learning, 2020.
[29] Shafiq Joty Steven C.H. Hoi Yue Wang, Weishi Wang. Codet5: Identifier-aware unified pretrained encoder-decoder models for code understanding and generation. In EMNLP, 2021.
[30] Wojciech Zaremba, Tomas Mikolov, Armand Joulin, and Rob Fergus. Learning simple algorithms from examples, 2015.
-
dc.identifier.urihttp://tdr.lib.ntu.edu.tw/jspui/handle/123456789/93355-
dc.description.abstract設計和實現能夠模擬機器行為的程式是人工智慧研究的核心任務之一。傳統的自然語言處理(NLP)方法在生成可讀性高的人類文本方面表現優異,然而在程式執行的準確性和一致性方面通常存在顯著差距。相較之下,神經程式合成(NPS)方法能夠通過直接從規範或示例生成可執行的程式,從而更深入地理解和操作機器行為。傳統自然語言處理(NLP)與神經程式合成(NPS)之間的主要差異在於,後者能夠生成可執行的程式碼,這些程式碼可以執行並檢查其行為。這種能力不僅有助於驗證合成的解決方案,還為從執行軌跡中學習開闢了新的途徑。
在本論文中,我們探索神經程式合成(NPS)與程式執行之間的共生關係,突顯程式執行如何成為合成程式的核心要素。本論文包含兩個主要項目:第一個項目探討學習程式執行或合成是否有助於學習另一個方面。通過分析這兩個方面之間的相互作用,我們研究神經網路如何有效地理解並生成可執行程式碼。第二個項目專注於提升從多樣化示範影片中合成程式行為的效率和有效性,同時提出指標驗證其在實際情境中的應用性。透過結構分析、前例分析和實驗驗證,本論文旨在深化對「程式執行對神經程式合成影響」的理解,並探討程式表示和行為之間的複雜性,以促進創造更安全、更強大的人工智慧系統。
zh_TW
dc.description.abstractUnderstanding and synthesizing programs that represent machine behavior is a fundamental aspect of artificial intelligence research. Traditional approaches to natural language processing (NLP) have excelled in generating human-readable text but have largely remained detached from program execution. Conversely, Neural Program Synthesis (NPS) offers a paradigm shift by generating executable programs directly from specifications or examples, thereby enabling a deeper understanding and manipulation of machine behavior. The key difference between traditional NLP and NPS lies in the ability of the latter to generate executable code, which can be executed to examine its behavior. This capability not only facilitates the verification of synthesized solutions but also opens avenues for learning from execution traces.
In this thesis, we explore the symbiotic relationship between neural program synthesis (NPS) and program execution, highlighting how program execution serves as a fundamental aspect aiding in the synthesis of programs. This thesis comprises two main projects. The first project investigates whether learning program execution or synthesis aids in learning the other. By analyzing the interplay between these two aspects, we aim to uncover insights into how neural networks can effectively comprehend and generate executable code.
The second project focuses on learning to synthesize programs from entire execution traces.
We aim to enhance the efficiency and effectiveness of neural program synthesis from diverse demonstration videos and propose realistic metrics to examine whether the method can be applied in more practical scenarios.
Through a combination of structural analysis, empirical studies, and experimental validation, this thesis seeks to advance our understanding of the impact of program execution on neural program synthesis. By delving into the intricacies between program representation and behavior, we aim to pave the way for more robust and intelligent AI systems.
en
dc.description.provenanceSubmitted by admin ntu (admin@lib.ntu.edu.tw) on 2024-07-29T16:25:12Z
No. of bitstreams: 0
en
dc.description.provenanceMade available in DSpace on 2024-07-29T16:25:12Z (GMT). No. of bitstreams: 0en
dc.description.tableofcontentsAcknowledgements i
摘要 iii
Abstract v
Contents vii
List of Figures xi
List of Tables xiii
Denotation xv
Chapter 1 Introduction 1
1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 Recent Advance in Deep Learning . . . . . . . . . . . . . . . . . . 1
1.1.2 Teach Neural Network to Learn Rules . . . . . . . . . . . . . . . . 2
1.1.3 Programming By Example . . . . . . . . . . . . . . . . . . . . . . 2
1.1.4 Neural Program Induction and Synthesis . . . . . . . . . . . . . . . 2
1.1.5 The Execution Property of Program . . . . . . . . . . . . . . . . . 3
1.2 Research . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.1 Bridging Neural Program Synthesis and Execution . . . . . . . . . 4
1.2.2 Demo2Program+: Improve Neural Program Synthesis from Diverse Demonstration Videos and Evaluate on Demonstrations of Goal-Oriented Task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Chapter 2 Literature Review 9
2.1 Neural Program Synthesis . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.1 Search-Based Program Synthesis . . . . . . . . . . . . . . . . . . . 10
2.1.2 Seq2Seq - Recurrent Neural Networks . . . . . . . . . . . . . . . . 10
2.1.3 Seq2Seq - Transformer . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2 Demo2Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3 Programmatic Reinforcement Learning . . . . . . . . . . . . . . . . 14
Chapter 3 Bridging Neural Program Synthesis and Execution 15
3.1 Problem Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.1.1 Problem Formulation . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.1.2 Domain Specific Language . . . . . . . . . . . . . . . . . . . . . . 16
3.1.3 Training Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2 Methods and Preliminary Results . . . . . . . . . . . . . . . . . . . 18
3.2.1 Examine the Effects of the Attention Layer in Program Synthesizer and the Effects of the Scheduled Sampling . . . . . . . . . . . . . . 19
3.2.2 Experiment results on Neural Program Synthesis and Unsuccessful results on Neural Program Execution . . . . . . . . . . . . . . . . . 24
3.3 Discussion with Contributions from Team Member . . . . . . . . . . 25
Chapter 4 Demo2Program+ 27
4.1 Problem Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.1.1 Karel Environment and Domain Specific Language . . . . . . . . . 27
4.1.2 Problem Formulation . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.2 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.2.1 Utilizing Large Language Model as Our Encoder-Decoder . . . . . 29
4.2.2 Using Visual Words of Action/Perception as Model's Input . . . . 29
4.2.3 Training on Data with Better Generating Heuristic . . . . . . . . . . 30
4.2.4 Employing Action/Perception Prediction and Function/Branch Prediction as Auxiliary Objective Loss Functions . . . . . . . . . . . . 30
4.2.5 Utilizing ExeDec [19] to Break Down Long Horizon Execution Traces 31
4.3 Results and Discussion . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.3.1 Synthesis Results (with method 1 and 2 . . . . . . . . . . . . . . . 33
4.3.2 Comparing the Dataset Generation Method (with method 3) . . . . . 34
4.3.3 Multi Task Objective Loss - function&branch (with method 4) . . . 34
4.3.4 ExeDec (with method 5) . . . . . . . . . . . . . . . . . . . . . . . 35
4.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
References 37
Appendix A — Domain Specific Language 41
A.1 String Transformation Domain . . . . . . . . . . . . . . . . . . . . . 41
A.2 Karel Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Appendix B — Program Aliasing 43
-
dc.language.isoen-
dc.subject機器學習zh_TW
dc.subject程式合成zh_TW
dc.subjectMachine Learningen
dc.subjectNeural Program Synthesisen
dc.title探討程式執行對程式合成的影響zh_TW
dc.titleInvestigating the Impact of Program Execution on Neural Program Synthesisen
dc.typeThesis-
dc.date.schoolyear112-2-
dc.description.degree碩士-
dc.contributor.oralexamcommittee李宏毅;謝秉均zh_TW
dc.contributor.oralexamcommitteeHung-Yi Lee;Ping-Chun Hsiehen
dc.subject.keyword機器學習,程式合成,zh_TW
dc.subject.keywordNeural Program Synthesis,Machine Learning,en
dc.relation.page43-
dc.identifier.doi10.6342/NTU202401358-
dc.rights.note同意授權(全球公開)-
dc.date.accepted2024-07-16-
dc.contributor.author-college電機資訊學院-
dc.contributor.author-dept電信工程學研究所-
顯示於系所單位:電信工程學研究所

文件中的檔案:
檔案 大小格式 
ntu-112-2.pdf591.71 kBAdobe PDF檢視/開啟
顯示文件簡單紀錄


系統中的文件,除了特別指名其著作權條款之外,均受到著作權保護,並且保留所有的權利。

社群連結
聯絡資訊
10617臺北市大安區羅斯福路四段1號
No.1 Sec.4, Roosevelt Rd., Taipei, Taiwan, R.O.C. 106
Tel: (02)33662353
Email: ntuetds@ntu.edu.tw
意見箱
相關連結
館藏目錄
國內圖書館整合查詢 MetaCat
臺大學術典藏 NTU Scholars
臺大圖書館數位典藏館
本站聲明
© NTU Library All Rights Reserved