mengqiqi 的blog

Unity游戏Mono内存管理及泄漏

内存是游戏的硬伤,如果没有做好内存的管理问题,游戏极有可能会出现卡顿,闪退等影响用户体验的现象。本文介绍了在腾讯游戏在Unity游戏开发过程中常见的Mono内存管理问题,并介绍了一系列解决的策略和方法。

什么是Mono内存

对于目前绝大多数基于Unity引擎开发的项目而言,其托管堆内存是由Mono分配和管理的。“托管” 的本意是Mono可以自动地改变堆的大小来适应你所需要的内存,并且适时地调用垃圾回收(Garbage Collection)操作来释放已经不需要的内存,从而降低开发人员在代码内存管理方面的门槛。

Unity游戏在运行时的内存占用情况可以用下图表示:

Unity游戏Mono内存管理及泄漏

机器人视觉系统组成及定位算法

1.机器人视觉

机器人研究的核心就是:导航定位、路径规划、避障、多传感器融合。定位技术有几种,不关心,只关心视觉的。视觉技术用到“眼睛”可以分为:单目,双目,多目、RGB-D,后三种可以使图像有深度,这些眼睛亦可称为VO(视觉里程计:单目or立体),维基百科给出的介绍:在机器人和计算机视觉问题中,视觉里程计就是一个通过分析处理相关图像序列来确定机器人的位置和姿态。

当今,由于数字图像处理和计算机视觉技术的迅速发展,越来越多的研究者采用摄像机作为全自主用移动机器人的感知传感器。这主要是因为原来的超声或红外传感器感知信息量有限,鲁棒性差,而视觉系统则可以弥补这些缺点。而现实世界是三维的,而投射于摄像镜头(CCD/CMOS)上的图像则是二维的,视觉处理的最终目的就是要从感知到的二维图像中提取有关的三维世界信息。

2.系统基本组成: CCD、PCI、PC及其外设等。

机器人视觉系统组成及定位算法

最全技术图谱!一文掌握人工智能各大分支技术

在过去的几个月中,我一直在收集有关人工智能的相关资料。随着各种的问题被越来越频繁的提及,我决定整理并分享有关人工智能、神经网络、机器学习、深度学习与大数据的技术合辑。同时为了内容更加生动易懂,本文将会针对各个大类展开详细解析。

神经网络

最全技术图谱!一文掌握人工智能各大分支技术

最全技术图谱!一文掌握人工智能各大分支技术

从图像到知识:深度神经网络实现图像理解的原理解析

摘要:本文将详细解析深度神经网络识别图形图像的基本原理。针对卷积神经网络,本文将详细探讨网络中每一层在图像识别中的原理和作用,例如卷积层(convolutional layer),采样层(pooling layer),全连接层(hidden layer),输出层(softmax output layer)。针对递归神经网络,本文将解释它在在序列数据上表现出的强大能力。针对通用的深度神经网络模型,本文也将详细探讨网络的前馈和学习过程。卷积神经网络和递归神经网络的结合形成的深度学习模型甚至可以自动生成针对图片的文字描述。作为近年来重新兴起的技术,深度学习已经在诸多人工智能领域取得了令人瞩目的进展,但是神经网络模型的可解释性仍然是一个难题,本文从原理的角度探讨了用深度学习实现图像识别的基本原理,详细解析了从图像到知识的转换过程。

1 引言

传统的机器学习技术往往使用原始形式来处理自然数据,模型的学习能力受到很大的局限,构成一个模式识别或机器学习系统往往需要相当的专业知识来从原始数据中(如图像的像素值)提取特征,并转换成一个适当的内部表示。而深度学习则具有自动提取特征的能力,它是一种针对表示的学习。

图像识别的原理、过程、应用前景,精华篇!

图像识别技术是信息时代的一门重要的技术,其产生目的是为了让计算机代替人类去处理大量的物理信息。随着计算机技术的发展,人类对图像识别技术的认识越来越深刻。图像识别技术的过程分为信息的获取、预处理、特征抽取和选择、分类器设计和分类决策。简单分析了图像识别技术的引入、其技术原理以及模式识别等,之后介绍了神经网络的图像识别技术和非线性降维的图像识别技术及图像识别技术的应用。从中可以总结出图像处理技术的应用广泛,人类的生活将无法离开图像识别技术,研究图像识别技术具有重大意义。

1 图像识别技术的引入

卷积神经网络的复杂度分析

在梳理CNN经典模型的过程中,我理解到其实经典模型演进中的很多创新点都与改善模型计算复杂度紧密相关,因此今天就让我们对卷积神经网络的复杂度分析简单总结一下下。

1.时间复杂度

卷积神经网络的复杂度分析
1.2 卷积神经网络整体的时间复杂度
卷积神经网络的复杂度分析
示例:用 Numpy 手动简单实现二维卷积

假设 Stride = 1, Padding = 0, img 和 kernel 都是 np.ndarray.

做AI必须要知道的十种深度学习方法

作者:camel

不管是AI也好,其他学科也好,学习、研究的过程中不断反思学科的历史,总结学科的发展现状,找出最重要的理念,总能让人能“吾道一以贯之”。软件工程师James Le近期根据他研究的经验总结出了AI研究必须要知道的十种深度学习方法,非常具有启发性。

原文:The 10 Deep Learning Methods AI Practitioners Need to Apply

人们对机器学习的兴趣在过去十年经历了爆炸式的发展。计算机科学项目中、业界会议中、媒体报道中,你都能够看到机器学习的影子。但是似乎所有关于机器学习的讨论中,人们常常会把AI能做什么和他们希望AI能做什么混为一谈。

从根本上来讲,机器学习其实就是使用算法从原始数据中提取信息,并以某种类型的模型表示出来;然后我们使用这个模型来推断我们尚未建模的其他数据。

AI离你很远吗?黑客已经开始用来做武器装备自己了

[ 导读 ] AI就好像家里的菜刀一样,既是你切菜的好工具,但也可能成为暴徒手中的趁手武器。虽然技术无罪,但也应当善用技术。这篇马斯克在推特上转发的文章,或许可以解释他到底在担忧AI什么,AI对你我的生活又会有哪些影响?

去年,来自安全公司ZeroFOX的两位数据科学家进行了一次实验,看看谁更好地让Twitter用户点击恶意链接,人类或人工智能。研究人员教导人工智能研究社交网络用户的行为,然后设计并实施自己的网络钓鱼诱饵。在测试中,AI比人类竞争对手强大得多,制造并分发了比人类更多的网络钓鱼微博,成功率也大大提高。

这个名为SNAP_R的AI以每分钟6.75微博的速度向800多名用户发送了模拟的钓鱼诈骗微博,吸引到275位受害者。相比之下,参加实验的实验者只能每分钟抽出1.075个推文,只只吸引了49位用户。

AI离你很远吗?黑客已经开始用来做武器装备自己了
(这样一条链接你很难区分是AI还是人发的,图:Gizmodo)

一篇文章掌握TensorFlow深度学习

作者:陈迪豪

TensorFlow深度学习框架

Google不仅是大数据和云计算的领导者,在机器学习和深度学习上也有很好的实践和积累,在2015年年底开源了内部使用的深度学习框架TensorFlow。

与Caffe、Theano、Torch、MXNet等框架相比,TensorFlow在Github上Fork数和Star数都是最多的,而且在图形分类、音频处理、推荐系统和自然语言处理等场景下都有丰富的应用。最近流行的Keras框架底层默认使用TensorFlow,著名的斯坦福CS231n课程使用TensorFlow作为授课和作业的编程语言,国内外多本TensorFlow书籍已经在筹备或者发售中,AlphaGo开发团队Deepmind也计划将神经网络应用迁移到TensorFlow中,这无不印证了TensorFlow在业界的流行程度。

搞懂深度学习到底需要哪些数学知识

作者:彭渊

IT互联网行业有个有趣现象,玩资本的人、玩产品的人、玩技术的人都能很好的在这个行业找到自己的位置并取得成功,而且可以只懂其中一样,不需要懂其余两样。玩技术的人是里面最难做的,也是三者收益最低的,永远都要不停学习,不停把画饼变成煎饼。

在今年5月底,Alphago又战胜了围棋世界冠军柯洁,AI再次呈现燎原之势席卷科技行业,吸引了众多架构师对这个领域技术发展的持续关注和学习,思考AI如何做工程化,如何把我们系统的应用架构、中间件分布式架构、大数据架构跟AI相结合,面向什么样的应用场景落地,对未来做好技术上的规划和布局。

之前发表过一篇文章《如何用70行Java代码实现深度神经网络算法》,记录了深度神经网络的计算过程和程序实现,本文再进一步研究一下背后的数学原理。

为了彻底理解深度学习,我们到底需要掌握哪些数学知识呢?经常看到会列出一系列数学科目:微积分、线性代数、概率论、复变函数、数值计算等等。这些数学知识有相关性,但实际上这是一个最大化的知识范围,学习成本会非常久,本文尝试归纳理解深度学习所需要的最小化数学知识和推导过程。
(以下根据作者的学习理解整理,有误之处,欢迎专家学者提出指导批评)。

同步内容
--电子创新网--
粤ICP备12070055号