当前位置:主页 > 科技论文 > 软件论文 >

基于深度学习框架的代码自动生成算法研究

发布时间:2021-05-28 08:46
  根据设计图编写计算机代码是开发人员为客户构建网站和移动应用程序而进行的一项非常典型任务,但编写代码是一件非常烦闷和重复的事情,消耗程序员大量的时间和精力。Pix2code是一个端对端的深度学习模型框架,输入图像用户页面自动生成代码,正确率达77%。但Pix2Code模型由相对简单的算法组成,其使用的数据集也很小,无法投入真正的实际使用。本文首先对传统代码自动生成技术和深度学习基础理论进行了探讨,并试图使用更复杂的算法和一些正则化方法改进模型。Pix2code主要分三大模块,使用卷积神经网络的视觉模型,使用长短期记忆网络的语言模型和解码层,结合两种算法的优势生成代码。新算法在测试集的正确率从原始模型的77%提升到了85%。结果也表明:(1)残差网络的特征提取能力强,使在视觉模型运用了该算法以后整个系统的稳定性有所提升,泛化能力增强,但是测试集的正确率提升不太明显。在没有增加训练的轮数下训练集的正确率得到了比较大的提升,增加了系统以后提升的可能性。(2使用双向长短期记忆网络优化视觉模型和解码层以后,系统的鲁棒性提升明显,模型也变得更加稳定,测试集的正确率大幅度提升。通过加入正则化也能减轻过... 

【文章来源】:重庆邮电大学重庆市

【文章页数】:64 页

【学位级别】:硕士

【文章目录】:
摘要
abstract
注释表
第1章 绪论
    1.1 研究背景与意义
    1.2 研究现状
        1.2.1 基于深度学习的代码自动生成研究进展
        1.2.2 领域专用语言
    1.3 研究内容与创新点
        1.3.1 主要研究内容
        1.3.2 创新性点
    1.4 论文组织安排
第2章 传统代码自动生成理论
    2.1 引言
    2.2 传统代码自动生成技术
        2.2.1 基于模板的代码自动生成
        2.2.2 基于模型驱动的自动代码生成及技术
    2.3 传统代码生成理论的缺点
    2.4 本章小结
第3章 深度学习基础理论
    3.1 引言
    3.2 神经网络基础理论
        3.2.1 神经元模型
        3.2.2 激活函数
        3.2.3 感知机与多层网络
        3.2.4 损失函数和代价函数
        3.2.5 反向传播算法
    3.3 卷积神经网络
        3.3.1 卷积层
        3.3.2 池化层
        3.3.3 全连接层
    3.4 循环神经网络
        3.4.1 长期依赖问题
        3.4.2 长短期记忆网络
    3.5 本章小结
第4章 基于深度学习的自动代码生成框架
    4.1 引言
    4.2 Pix2code代码生成框架
        4.2.1 视觉模型
        4.2.2 语言模型
        4.2.3 解码层
    4.3 其他深度学习代码自动生成系统
        4.3.1 代码合成系统DeepCoder
        4.3.2 Sketch2code系统
    4.4 本章小结
第5章 模型评估和算法优化研究
    5.1 引言
    5.2 实验环境和pix2code模型评估
        5.2.1 计算机环境
        5.2.2 实验数据的收集
        5.2.3 原始模型的评估
    5.3 视觉模型的算法优化研究
        5.3.1 卷积神经网络结构演变
        5.3.2 ResNet网络的实验结果
    5.4 语言模型和解码层算法优化研究
        5.4.1 Bi-directional RNN和Bi-directional LSTM
        5.4.2 Bi-directional LSTM实验结果
        5.4.3 实验过程中的优化
        5.4.4 结合实验
    5.5 本章小结
第6章 总结与展望
    6.1 总结
    6.2 展望
参考文献
致谢
攻读硕士学位期间从事的科研工作及取得的成果


【参考文献】:
期刊论文
[1]自动代码生成技术的发展现状与趋势[J]. 王博,舒新峰,王小银,陈锐.  西安邮电大学学报. 2018(03)
[2]浅析分层技术在计算机软件开发中的应用与研究[J]. 褚洪波.  电脑迷. 2018(04)
[3]深层网络中的梯度消失现象[J]. 周祥全,张津.  科技展望. 2017(27)
[4]Minimal Gated Unit for Recurrent Neural Networks[J]. Guo-Bing Zhou,Jianxin Wu,Chen-Lin Zhang,Zhi-Hua Zhou.  International Journal of Automation and Computing. 2016(03)
[5]Word2vec的工作原理及应用探究[J]. 周练.  科技情报开发与经济. 2015(02)
[6]分层技术在计算机软件开发中的应用效果分析[J]. 杨柯.  软件. 2013(10)
[7]基于模型转换的WEB代码自动生成[J]. 张海滨.  山东广播电视大学学报. 2013(03)
[8]基于.NET平台的三层架构软件框架的设计与实现[J]. 高扬.  计算机技术与发展. 2011(02)
[9]基于XML和XSLT的模型驱动构架[J]. 於良伟,袁泉,霍剑青,王晓蒲.  计算机工程. 2010(06)
[10]BP算法分析与改进[J]. 贾丽会,张修如.  计算机技术与发展. 2006(10)

硕士论文
[1]基于FPGA的CNN自动代码生成设计与实现[D]. 王江峰.天津工业大学 2018
[2]UML语言自动代码生成的设计与研究[D]. 贺月.华北电力大学 2017



本文编号:3207944

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3207944.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户448dc***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com