demi的博客

谈谈GPU与FPGA的一些看法

从几个方面来介绍一下GPU和FPGA。

从峰值性能来说,GPU(10Tflops)远远高于FPGA(<1TFlops)。GPU上面成千上万个core同时跑在GHz的频率上还是非常壮观的,最新的GPU峰值性能可达10TFlops以上。GPU的架构经过仔细设计(例如使用深度流水线,retiming等技巧),在电路实现上是基于标准单元库而在critical path上可以用手工定制电路,甚至在必要的情形下可以让半导体fab依据设计需求微调工艺制程,因此可以让许多core同时跑在非常高的频率。相对而言,FPGA首先设计资源受到很大的限制,例如GPU如果想多加几个core只要增加芯片面积就行,但FPGA一旦你型号选定了逻辑资源上限就确定了(浮点运算在FPGA里会占用很多资源)。而且,FPGA里面的逻辑单元是基于SRAM-查找表,其性能会比GPU里面的标准逻辑单元差好多。最后,FPGA的布线资源也受限制(有些线必须要绕很远),不像GPU这样走ASIC flow可以随意布线,这也会限制性能。

除了芯片性能外,GPU相对于FPGA还有一个优势就是内存接口。GPU的内存接口(传统的GDDR,最近更是用上了HBM和HBM2)的带宽远好于FPGA的传统DDR接口,而众所周知服务器端机器学习算法需要频繁访问内存。

2018人工智能发展趋势解析!

虽然,现在还存在很多“伪人工智能”,不过,人工智能是未来的发展趋势。2018年我们需要关注AI的相关领域,因为变革正在慢慢来临,以下,让我们来看看人工智能五个不断变化的趋势,在不久的将来它们或将成为现实。

1、不依赖程序命令的学习模型改进

机器学习旨在使计算机能够从数据中学习并在不依赖于程序中命令的情况下进行改进。这种学习最终可以帮助计算机构建模型,例如用于预测天气的模型。这里,我们介绍了一些利用机器学习的常见应用程序:

a.财务应用
随着金融科技创业公司挑战现有企业,金融业正在迅速发展。这些现有企业中的许多人主要依靠传统的低效方法来提供标准化金融产品的咨询和业务。人工智能的进步正在通过引入自动化咨询改变这一领域。机器学习模型也取代了传统的预测分析方法来衡量市场趋势。

现在,机器学习也帮助金融公司预防金融欺诈。而且,还可以提高信用评级的准确性,并改善贷款机构的风险管理。

b.医疗应用
机器学习和大数据可以利用大量潜在医疗数据,通过基于机器学习模型构建的新应用程序可以帮助识别疾病并提供正确的疾病诊断。机器学习还可以帮助人类进行基因测序、临床试验、药物发现和研发以及流行病暴发的预测。

最通俗的机器学习介绍

在本文中,我将描述数据分析是如何与机器学习相关的,还将揭开机器学习中的一些荒唐和错误的说法,并解释机器学习的过程和类型。

如果你不是一个人工智能专家,不要担心,我不会提及线性回归和k-均值聚类。

数据分析和机器学习

如果你认为大数据仅仅是关于SQL语句查询和海量的数据的话,那么别人也会理解你的,但是大数据真正的目的是通过对数据的推断,从数据中获取价值、从数据中发现有用的东西。例如,“如果我降低5%的价格,我将增加10%的销售量。”

数据分析是重要的技术,包括如下方面:

  •   描述性分析:确定所发生的事情。这通常涉及到描述发生了什么现象的报告。例如,用这个月的销售额与去年同期进行比较的结果。

  •   特征性分析:解释现象发生的原因,这通常涉及使用带有OLAP技术的控制台用以分析和研究数据,根据数据挖掘技术来找到数据之间的相关性。

  •   预测性分析:评估可能发生的事情的概率。这可能是预测性分析被用来根据你的工作性质、个人兴趣爱好,认为你是一个潜在的读者,以便能够链接到其他的人。

机器学习适合于预测性分析。

数字图像处理 ——形态学处理

1 形态学基本操作

1.1 膨胀

膨胀:就是求局部最大值的操作。

按数学方面来说,膨胀或者腐蚀操作就是将图像(或图像的一部分区域,我们称之为A)与核(我们称之为B)进行卷积。

核可以是任何的形状和大小,它拥有一个单独定义出来的参考点,我们称其为锚点(anchorpoint)。多数情况下,核是一个小的中间带有参考点和实心正方形或者圆盘,其实,我们可以把核视为模板或者掩码。

膨胀是求局部最大值的操作:核B与图形卷积,即计算核B覆盖的区域的像素点的最大值,并把这个最大值赋值给参考点指定的像素。这样就会使图像中的高亮区域逐渐增长。

如下图所示,这就是膨胀操作的初衷。

数字图像处理 ——形态学处理

膨胀的数学表达式:

5分钟内看懂机器学习和深度学习的区别

在本文中,我们将研究深度学习和机器学习之间的差异。我们将逐一了解它们,然后讨论他们在各个方面的不同之处。除了深度学习和机器学习的比较外,我们还将研究他们未来的趋势和走向。

深度学习与机器学习简介

一、什么是机器学习?

通常,为了实现人工智能,我们使用机器学习。我们有几种算法用于机器学习。例如:
Find-S算法
决策树算法(Decision trees)
随机森林算法(Random forests)
人工神经网络
通常,有3种类型的学习算法:
1,监督机器学习算法用于进行预测。此外,该算法搜索分配给数据点的值标签内的模式。
2,无监督机器学习算法:没有标签与数据点相关联。这些ML算法将数据组织成一组簇。此外,它需要描述其结构,使复杂的数据看起来简单,有条理,便于分析。
3,增强机器学习算法:我们使用这些算法来选择动作。此外,我们可以看到它基于每个数据点。一段时间后,算法改变其策略以更好地学习。

二、什么是深度学习?

深度学习优化函数详解(6)—— adagrad

前面的一系列文章的优化算法有一个共同的特点,就是对于每一个参数都用相同的学习率进行更新。但是在实际应用中各个参数的重要性肯定是不一样的,所以我们对于不同的参数要动态的采取不同的学习率,让目标函数更快的收敛。
adagrad方法是将每一个参数的每一次迭代的梯度取平方累加再开方,用基础学习率除以这个数,来做学习率的动态更新。这个比较简单,直接上公式。

公式推导

∇θiJ(θ) 表示第 i 个参数的梯度,对于经典的SGD优化函数我们可以这样表示

人工智能是物联网的催化剂

世界各地的企业都在迅速利用物联网( IoT )来创造新产品和服务,从而开辟新的商业机会并创造新的商业模式。 由此带来的转变开启了一个新的时代,即企业如何运营并与客户保持互动。然而,利用物联网只是故事的一部分。

为了让企业充分发挥物联网潜力,他们需要将物联网与快速发展的人工智能( AI )技术相结合,使“智能机器”能够模拟智能行为,并在很少或没有人为干预情况下做出明智决策。

人工智能( AI )和物联网( IoT )被认为是2017年颠覆业务的驱动因素。但是,这些2个术语到底意味着什么,他们之间的关系又是什么? 让我们首先定义这两个术语:

物联网被定义为由相互连接的物理对象、传感器、致动器、虚拟对象、人员、服务、平台和网络组成的系统,它们具有单独的标识符和独立传输数据能力。物联网应用例子包括智慧农业、智能家居、智能交通、远程患者监控和无人驾驶汽车等。总之,物联网是从环境中收集和交换信息的“物体”网络。

深度学习与神经网络:最值得关注的6大趋势

神经网络的基本思想是模拟计算机“大脑”中多个相互连接的细胞,这样它就能从环境中学习,识别不同的模式,进而做出与人类相似的决定。

典型的神经网络是由数千互连的人工神经元组成,神经元是构成神经网络的基本单位。这些神经元按顺序堆叠在一起,以称为层的形式形成数百万个连接。单位划分如下:
  ○ 输入单元:用于接收外部环境的信息;
  ○ 隐藏单元:隐藏层将所需的计算及输出结果传递给输出层;
  ○ 输出单元:输出信号表明网络是如何响应最近获得的信息。

多数神经网络都是“全连接的”,也就是说,每一个隐藏单元和输出单元都与另一边的所有单元相连接。每个单元之间的连接称为“权重”,权重可正可负,这取决于它对另一个单元的影响程度。权重越大,对相关单元的影响也就越大。

前馈神经网络是一种最简单的神经网络,各神经元分层排列。每个神经元只与前一层的神经元相连。接收前一层的输出,并输出给下一层,各层间没有反馈。是目前应用最广泛、发展最迅速的人工神经网络之一。

下面将就神经网络与深度学习发展的几大重要趋势进行讨论:

胶囊网络(Capsule Networks)

图像处理基础(7):图像的灰度变换

前面几篇文章介绍的是图像的空间域滤波,其对像素的处理都是基于像素的某一邻域进行的。本文介绍的图像的灰度变换则不同,其对像素的计算仅仅依赖于当前像素和灰度变换函数。

灰度变换也被称为图像的点运算(只针对图像的某一像素点)是所有图像处理技术中最简单的技术,其变换形式如下:

s = T ( r )

其中,T 是灰度变换函数;r 是变换前的灰度;s 是变换后的像素。

图像灰度变换的有以下作用:
  •  改善图像的质量,使图像能够显示更多的细节,提高图像的对比度(对比度拉伸)
  •  有选择的突出图像感兴趣的特征或者抑制图像中不需要的特征
  •  可以有效的改变图像的直方图分布,使像素的分布更为均匀

常见的灰度变换

灰度变换函数描述了输入灰度值和输出灰度值之间变换关系,一旦灰度变换函数确定下来了,那么其输出的灰度值也就确定了。可见灰度变换函数的性质就决定了灰度变换所能达到的效果。

计算机图形学——光线追踪(RayTracing)算法

一、理论基础

1、三维场景中创建图像

第一步:透视投影。这是一个将三维物体的形状投影到图像表面上的几何过程,这一步只需要连接从对象特征到眼睛之间的线,然后在画布上绘制这些投影线与图像平面相交的轮廓。

第二步:添加颜色。图像轮廓绘制好之后,给它的骨架添加颜色,这样就完成了三维场景中的图像创建过程。