【摘 要】
:
在软件开发流程的前端开发环节中,前端开发人员需要根据UI(User Interface,用户界面)设计图编写对应的界面代码。为了1:1还原UI设计图中UI组件的位置与样式,开发者通常采用一种不断试错的方式进行界面代码编写,这是一项耗时且重复的工作。实现从UI设计图到界面代码的自动转化,可以避免这种重复的试错过程,提高开发效率,有利于软件的快速迭代。近年来,有不少工作利用深度学习技术,致力于将UI设
论文部分内容阅读
在软件开发流程的前端开发环节中,前端开发人员需要根据UI(User Interface,用户界面)设计图编写对应的界面代码。为了1:1还原UI设计图中UI组件的位置与样式,开发者通常采用一种不断试错的方式进行界面代码编写,这是一项耗时且重复的工作。实现从UI设计图到界面代码的自动转化,可以避免这种重复的试错过程,提高开发效率,有利于软件的快速迭代。近年来,有不少工作利用深度学习技术,致力于将UI设计图自动转化为相应的界面代码。在这些研究中,研究者们提出的深度学习模型基本上是图像描述领域常见的结构,这类模型结合了CNN(Convolutional Neural Network,卷积神经网络)与RNN(Recurrent Neural Network,循环神经网络),根据输入的UI设计图像生成对应的界面代码。然而,界面代码的生成与自然语言的生成有所不同,界面代码是具有嵌套关系的长文本,基于RNN的模型不仅不能提取代码中的层次结构信息,还因为存在梯度爆炸和梯度消失的问题,对长文本的长期依赖关系的建模能力有限。并且,RNN的循环结构导致其不具有并行计算的能力,在训练时间上远远高于支持并行计算的CNN。最后,在Web界面代码自动生成的研究领域,现存的公开数据集存在样本过于简单并且样本数量过少的缺陷,生成的界面样式单一、结构固定。为解决上述的问题,本文的主要工作以及创新点如下:(1)为了让深度学习模型能够生成更加丰富和多样的界面代码,本文创建了新的数据集,支持更多种类、更多数量、更多组合方式的UI组件生成。并在现有数据集和本文提出的数据集上进行后续的研究,以证明本文提出的深度学习模型具有较强的泛化性。(2)为了避免循环神经网络带来的梯度消失和训练效率低的问题,本文提出了基于时序卷积网络的界面代码生成模型。在现有的研究中,通常使用循环神经网络对用户界面代码建模,考虑到用户界面代码的特殊性,其较长的长度和具有严格层次结构的特性不适合使用循环神经网络结构进行建模。本文针对用户界面代码的建模任务,提出了基于时序卷积网络的界面代码生成模型,利用一维卷积层和因果卷积(Causal Convolution)方式,能够建模代码中的层次关系和长期依赖关系。此外,本文结合了层次化注意力机制强调界面代码中不同层次的文本特征,经过在现有数据集和本文创建的数据集上进行实验,并与目前界面代码生成领域的state of art模型进行对比,本文提出的模型在BLEU和错误率等多项指标上表现更佳,并且本文提出的模型在参数上只占现有模型的14.5%,是更加轻量且高效的模型。(3)为了解决模型在训练和推断时出现的不一致问题,即Exposure Bias。本文提出了适用于时序卷积网络的计划采样训练方法,通过一种两次解码的方式,构建了具有代表性的负样本。模型在训练时充分认识了负样本,使得在自回归的推断行为中能够正确处理负样本,一定程度上消除了Exposure Bias的影响。经过实验发现,使用计划采样训练方式的模型,在测试集上的BLEU分数提高了约4%,尤其在目标代码序列长度大于100的情况下,计划采样方式生成的代码BLEU分数均高于普通的Teacher-Forcing训练方式。(4)为了解决在使用贪婪搜索或集束搜索进行代码生成时出现的重复代码段生成问题,本文提出了基于随机策略的方法进行界面代码生成,并针对三种不同的随机策略与传统的最大化条件概率方法进行对比,在大小为250的测试集上,本文提出的方法减少了约40%的重复代码段预测情况,有效地降低了生成代码的错误率,同时提高了约2%的BLEU分数。
其他文献
随着物联网技术的快速发展,无线传感器网络被广泛地应用于生活生产。但由于传统无线传感器网络中的传感器节点通常采用电池供电,有限的电池容量使得节点能量问题已成为影响无线传感器网络生存时间和系统性能的主要瓶颈。近年来,无线能量传输技术的发展为解决无线传感器网络中传感器节点的能量问题提供了新思路。利用无线能量传输技术,研究者们提出了无线可充电传感器网络,即在传统无线传感器网络中引入移动充电装置对传感器节点
肺癌是全球当前最常见的疾病之一,而淋巴结的评估在肺癌诊治中占有重要地位。肿大淋巴结的存在被认为与肺癌淋巴结转移密切相关。医生通常依据CT影像中淋巴结情况和/或侵入性分期方法对患者淋巴结转移做出评估,并根据评估结果选择对应的治疗方案。因此,淋巴结的检出和分期影响到患者病情发展、疾病诊断、治疗方案选取和随访等一系列进程。但是由于医疗资源的缺乏和患者数量的庞大,人工阅片使得医生工作强度大,患者等待时间长
结直肠癌是最常见的消化道恶性肿瘤之一。结直肠息肉是结直肠癌的主要癌前病变,对结直肠息肉的早诊早治能够有效的阻断结直肠癌的发病进程,改善结直肠癌患者的生存预后。结直肠镜诊疗技术是临床实践中结直肠息肉诊断的主要手段。但由于存在多种因素不同程度影响了结直肠镜检查的质量和效果,给结直肠息肉甚至早期结直肠癌的检出带来严峻考验。结直肠癌的确诊以结直肠息肉活检细胞的病理检查为依据。结直肠病理的检查是结直肠癌确诊
近年来,随着计算机技术的不断发展,生物电信号的自动识别任务引起了大量学者进行研究。生物电信号自动识别的主要应用场景便是辅助医生进行诊疗,目的是使得计算机可以自主、高效地对生物电信号所反应出的人体疾病、异常做出判断。但在实际应用中,生物电信号的数据标注任务成为了一项大的难题。由于生物电信号本身不易被常人看懂,需要非常有经验的医学专家花费大量的时间进行标注,这极大的浪费了人力资源与时间资源,使数据集的
随着移动智能手机的普及,手持拍照成为日常生活中非常重要的一部分。然而,传统的相机传感器无法捕获自然场景中的高动态范围(High Dynamic Range,HDR),专业的硬件设备也由于其高昂的价格难以普及。目前主流的高动态范围成像(High Dynamic Range Imaging,HDRI)技术主要是通过软件层面实现,即利用算法将低动态范围(Low Dynamic Range,LDR)图像恢
乳腺癌是最为常见的癌症之一,早期发现并及时治疗可大幅提高患者存活率。因此,对于乳腺癌的早期诊断十分重要。相较于钼靶、CT等方式,超声检测因其安全性、便捷性、灵活性等优势被广泛应用,针对乳腺超声图像的辅助判别模型也逐渐被重视。不同于海量的人脸、自然图像数据,典型、准确且有效的医学图像金标准数据是极其有限的,同时,罕见疾病数据和新发疫情的早期数据亦是极度缺乏的,此类状况都极大地限制了深度学习等强大模型
甲状腺结节是一种常见的临床问题,对其进行临床检查能够判断患者是否患上甲状腺癌,超声是首选的检查方式,但为了进行更准确的诊断,还需要对患者作病理检查,由此生成的病理报告是公认的金标准。由于病理报告直接反应患者情况,知晓患者的病理报告诊断结论,便可推导出其超声图像检测结果为良性还是恶性。而这对于甲状腺超声图像的标注也具有重要意义:基于超声图像的甲状腺结节计算机辅助诊断系统以深度神经网络作为主要的甲状腺
随着智慧城市的升级,智慧城管系统朝着智能化和多任务的方向发展,其中违规广告牌检测是智慧城管系统的一项重要研究任务。近年来,随着深度学习和计算机视觉的快速发展,越来越多的基于卷积神经网络的目标检测算法被用于非法广告牌检测,具有较高的检测精度,但是在实际应用中可能有一些问题:一方面,对目标检测要求实时性;另一方面,复杂的卷积神经网络的训练需要高性能机器支持,这些高性能的机器不是每个单位都能提供。为了更
随着互联网的蓬勃发展,越来越多网民在社交平台上发表自己的言论,这些言论中通常包含大量的情绪信息,分析这些文本中蕴含的情绪可以为舆情分析等许多任务提供支持,拥有很高的应用价值。由于社交平台上用户发布的每一段文本通常包含多种情绪,且这些情绪间互相存在关联,捕捉这样的关联可以为准确识别文本中的情绪带来帮助,所以文本情绪分析应使用能够建模情绪关联性的多标签分类方法。目前以序列到序列模型为基础的深度学习方法
使计算机具有文本生成能力,是实现人工智能的重要目标之一,也是当前自然语言处理领域的研究热点。近年来,深度学习成为文本生成的主流方法,使得生成文本更加流畅,极大地提高了生成文本的质量。然而,主流的深度学习文本生成方法以序列到序列模型为基础,它们针对相同的源文本总是产生相同的目标文本,这对于要求提供多样性回复的应用场景是不适合的,例如聊天机器人。因此,在满足高质量的前提下提高生成文本的多样性,成为文本