本文是2018年秋季计算语言学课程第5次作业的总结,任务为利用隐马尔科夫模型
计算句子概率。
基于RNN生成对抗输入序列
本文是2018年秋季计算语言学课程第6次作业的总结,任务为基于RNN生成对抗输入序列。
首先总体介绍一下对抗样本攻击的概念,一些研究人员发现尽管深度神经网络具有很高的精确度,但是通过对输入进行微小的扰动,会导致模型预测结果完全错误。对于图片来说,这样的扰动通常十分微小而不能被察觉(人类直观上感觉不到图片的扰动),但这些对抗输入样本却能成功地欺骗深度学习模型。这种欺骗神经网络模型的攻击类型大致分为2类,非导向性攻击只需要使得图片的预测结果与先前标签不一致,而导向性攻击则需要把图片错误预测成特定的类别。值得注意的一点是研究人员发现生成的对抗样本对其它的模型仍然有效,这就是对抗样本的可迁移性。
JVM应用程序的多线程并发缺陷检测
当前,随着计算机多核硬件的飞速发展,多线程并发程序越来越受到欢迎并被广泛使用。但是由于对共享内存空间访问的隐蔽性以及并发线程执行调度的随机性,导致多线程程序中很容易存在并发缺陷,而这些并发缺陷往往难以被发现或复现。现有的并发缺陷检测方法都有其局限性,例如基于系统测试和符号执行的检测方法无法适用于大规模的并发程序,因为存在状态空间爆炸的情况;基于概率调度的检测方法的命中缺陷率非常低。
为了解决当前并发程序测试面临的巨大挑战,DATE团队开发了基于程序动态测试技术的针对JVM应用的多线程并发缺陷检测工具DATE-Confu。该工具以待测JVM可执行程序(.class文件或.jar文件)为输入,输出为在待测程序中检测到的并发缺陷集合。目前,该工具可检测包括数据竞争、死锁、空指针引用等在内的六类严重并发缺陷,用户可根据需求选择检测哪些类型的并发缺陷。
DATE-Confu工具的创新点是其有效地结合了有目标的程序调度模糊测试技术(guided schedule fuzzing techniques)与基于符号执行的轨迹分析技术(symbolictrace analysis techniques)。下图为DATE-Confu工具的框架示意图。该工具使用模糊测试技术能够高效遍历多线程程序巨大的状态空间,并且基于符号执行的轨迹分析技术快速发现被测程序中尚未探索到的控制分支,从而为迭代模糊测试提供有效信息,使得DATE-Confu能更快达到更高的覆盖率。目前DATE-Confu已在多个工业级别的项目上进行测试,通过目前已经进行的实验发现,DATE-Confu的测试效率高且能挖掘到隐藏更深的并发缺陷。
Detecting Improper Sitting Posture with a Lateral Positioned Motion-sensing Camera
Abstract Sitting posture detection is helpful for preventing musculoskeletal disorders. With the development of motion-sensing camera and relative software development kit(SDK), it is possible to implement an application using skeleton detecting technology. In this paper, a method is introduced to detect sitting posture from a lateral view without disturbing the user. To analyse video stream information, a skeleton thinning algorithm is described and averaging process aims to locate main joints specifically from the lateral side. The results show this method has high accuracy when detecting improper sitting postures.
Keywords Ergonomics; Motion-sensing Camera; Gesture Recognition; OpenNI