神经网络

TensorFlow实现神经网络入门篇

如果你一直关注数据科学/机器学习,你就不能错过深度学习和神经网络的热潮。互联网公司正在寻找这方面的人,而且从竞赛到开源项目,都有巨额奖金。

如果你对深度学习所提供的前景感到兴奋,但是还没有开始,在这里或许是你开始的第一步。

在这篇文章中,我将介绍TensorFlow。阅读本文后,你将能够理解神经网络的应用,并使用TensorFlow解决现实生活中的问题,本文中的代码是用Python编写的,Python最近的火爆也和深度学习有关。

1:何时使用神经网络?

有关神经网络和深度学习的更详细的解释, 请看这里。其“更深”版本正在图像识别,语音和自然语言处理等诸多领域取得巨大突破。

现在的主要问题是何时使用神经网络?关于这点,你必须记住一些事情:

本文作者Andrej Karpathy,现任特斯拉人工智能负责人,曾任OpenAI研究专家。在斯坦福大学读博时师从李飞飞,主要研究方向是卷积神经网络结构、自然语言处理及它们在计算机视觉上的应用。 Karpathy认为,我们已经进入了软件2.0时代。

经常看到人们将神经网络称为“机器学习工具箱中的另一个工具”,我不太认同,这是一种只见树木不见森林的短浅理解。神经网络不只是另一个分类器,还是编写软件基本转变的开始——带领我们进入了软件2.0时代。

我们熟悉的软件1.0的“经典堆栈”是用Python、C++等语言编写的计算机显式指令。通过编写每一行代码,程序员在程序空间中识别性能好的特定点。

软件2.0时代来了!特斯拉AI负责人说:神经网络正在改变编程

与1.0不同,软件2.0是用神经网络的权重编写的。因为涉及很多权重,直接在权重中编码很困难,因此程序员不参与代码编写工作。

变种神经网络的典型代表:深度残差网络

编者按:本文节选自图书《白话深度学习与TensorFlow》,本书本着“平民”起点,从“零”开始的初衷,介绍深度学习的技术与技巧,逐层铺垫,把微积分、梯度等知识重点化整为零,把学习曲线最大程度地拉平,让读者有良好的代入感和亲近感。

随着人们对于神经网络技术的不断研究和尝试,每年都会诞生很多新的网络结构或模型。这些模型大都有着经典神经网络的特点,但是又会有所变化。你说它们是杂交也好,是变种也罢,总之对于神经网络创新的各种办法那真叫大开脑洞。而这些变化通常影响的都是使得这些网络在某些分支领域或者场景下的表现更为出色(虽然我们期望网络的泛化性能够在所有的领域都有好的表现吧)。深度残差网络(Deep Residual Network)就是众多变种中的一个代表,而且在某些领域确实效果不错,例如目标检测(Object Detection)。

应用场景

神经网络—面向妈妈级的入门说明

作者:Jen Bernier

我的母亲是一名护士,目前已经退休。她是一个非常聪明的人,对自己的工作业务非常的尽职尽责。几天前我和她说我正在研究Imagination最新的神经网络加速器,她诧异的说:“你说的是什么意思?”,当然只有她在护理学校进行外科手术培训或者照顾老年痴呆患者时才会真正思考神经网络意味着什么。我向她解释我说的是人工智能(AI),不是人的大脑,我决定编写一个关于神经网络的入门说明,让我的母亲(和其他无技术背景的人)能够对神经网络有一定的初步了解并且借助其他阅读资料真正迈入人工智能的世界。

神经网络是什么?

使用JavaScript搭建神经网络——Synaptic.js

目前神经网络方面用得最广的无疑是Python,但搭建Python的环境还是一个问题,因为本身Python就有版本2和版本3的区分,又有各个依赖包(所以,需要使用conda配置各个Python环境)。但JavaScript则不存在这个问题,只需要有node和浏览器就可以进行学习和使用。

而且随着技术的发展,未来智能是要嵌入到各个设备、并且需要即时响应的,比如网页浏览,如果可以直接在网页上完成神经网络的训练,一方面提高响应速度,另一方面又降低了服务器的消耗。所以,学习使用js搭建小型的神经网络很有必要。

今天我们使用开源js库—— synaptic.js 来搭建一个简单的神经网络——解决 异或问题(XOR)的神经网络。

神经网络基础知识

首先温习一下神经网络的基础知识。神经网络的基础单元是神经元。

盘点:数据挖掘中的十大实用方法

数据挖掘(英语:Data mining),又译为资料探勘、数据采矿。是一种透过数理模式来分析企业内储存的大量资料,以找出不同的客户或市场划分,分析出消费者喜好和行为的方法。它是数据库知识发现(英语:Knowledge-Discovery in Databases,简称:KDD)中的一个步骤。

数据挖掘一般是指从大量的数据中自动搜索隐藏于其中的有着特殊关系性(属于Association rule learning)的信息的过程。主要有数据准备、规律寻找和规律表示3个步骤。

盘点:数据挖掘中的十大实用方法

1.基于历史的MBR分析
  
基于历史(Memory-Based Reasoning)的MBR分析方法最主要的概念是用已知的案例(case)来预测未来案例的一些属性(attribute),通常找寻最相似的案例来做比较。
  
MBR中有两个主要的要素,分别为距离函数(distance function)与结合函数(combination function)。距离函数的用意在找出最相似的案例;结合函数则将相似案例的属性结合起来,以供预测之用。
  

【网络研讨会】在移动设备中高效地实现神经网络

2017年11月9日19:00hrs - 19:30hrs(GMT),持续时间:30分钟

神经网络作为一种关键的颠覆性技术,在不同的市场和细分市场中有着广泛的应用。在移动端神经网络技术通过照片的数字化处理、分类管理、语音识别和综合等方面能够大大提升用户的产品体验感。但是在移动端设备的SoC中实现神经网络算法却面临着巨大的挑战,因为密集的计算会带来功耗的提升、存储带宽和芯片面子的增加。本次网络研讨会将和大家讨论目前移动端神经网络的市场情况,包括涉及的应用产品和发展趋势,然后集中探讨要实现一个可部署高效的移动端神经网络解决方案所面临的挑战和技术要求,以及这些问题如何通过创新的硬件加速技术来解决。

【网络研讨会】在移动设备中高效地实现神经网络

AI历史上的10个里程碑:从神经网络到打败世界围棋冠军

在人工智能发展史上定义出10个里程碑并不是一件易事。我们根据数百个研究实验室和成千上万个计算机科学家的研究成果,整理出我们认为比较重要的10个里程碑事件。

神经网络的诞生

AI历史上的10个里程碑:从神经网络到打败世界围棋冠军

想必大家对神经网络这一词并不陌生,神经网络可谓是当今大多数尖端人工智能背后的脑启发AI工具。虽然像深度学习这样的概念是相对较新的,但它们的理论基础早就产生于1943年。

训练神经网络的五大算法:技术原理、内存与速度分析

训练神经网络的算法有成千上万个,最常用的有哪些,哪一个又最好?作者在本文中介绍了常见的五个算法,并从内存和速度上对它们进行对比。最后,他最推荐莱文贝格-马夸特算法。

用于神经网络中执行学习过程的程序被称为训练算法。训练算法有很多,各具不同的特征和性能。

问题界定

神经网络中的学习问题是以损失函数f的最小化界定的。这个函数一般由一个误差项和一个正则项组成。误差项评估神经网络如何拟合数据集,正则项用于通过控制神经网络的有效复杂性来防止过拟合。

损失函数取决于神经网络中的自适应参数(偏差和突触权值)。我们可以简便地把它们组合成单个n维权值向量w。下图表示损失函数f(w)

训练神经网络的五大算法:技术原理、内存与速度分析

如上图所示,点w*是该损失函数的最小值。在任何点A,我们可以计算损失函数的一阶和二阶导数。一阶导数用梯度向量组成,可以写成:

ᐁif(w) = df/dwi (i = 1,...,n)

【视频】PowerVR神经网络GPU性能演示

Imagination Technologies宣布,推出新一代的PowerVR GPU,可为成本敏感设备的图形与运算功能树立新的标准。与前一代的GPU相比,SoC供应商将能以相同的芯片面积实现显著的性能提升。

运用新款 PowerVR Series9XE和Series9XM GPU,SoC供应商与OEM厂商能把成本与功耗降至最低,并确保智能手机、汽车信息娱乐系统、机顶盒和电视等设备上的游戏与GUI能提供最佳的用户体验。

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