• [其他] 深度学习训练过程
    深度学习训练过程语音2006年,Hinton提出了在非监督数据上建立多层神经网络的一个有效方法,具体分为两步:首先逐层构建单层神经元,这样每次都是训练一个单层网络;当所有层训练完后,使用wake-sleep算法进行调优。将除最顶层的其他层间的权重变为双向的,这样最顶层仍然是一个单层神经网络,而其他层则变为了图模型。向上的权重用于“认知”,向下的权重用于“生成”。然后使用wake-sleep算法调整所有的权重。让认知和生成达成一致,也就是保证生成的最顶层表示能够尽可能正确的复原底层的节点。比如顶层的一个节点表示人脸,那么所有人脸的图像应该激活这个节点,并且这个结果向下生成的图像应该能够表现为一个大概的人脸图像。wake-sleep算法分为醒( wake)和睡(sleep)两个部分。wake阶段:认知过程,通过外界的特征和向上的权重产生每一层的抽象表示,并且使用梯度下降修改层间的下行权重。sleep阶段:生成过程,通过顶层表示和向下权重,生成底层的状态,同时修改层间向上的权重。自下上升的非监督学习就是从底层开始,一层一层地往顶层训练。采用无标定数据(有标定数据也可)分层训练各层参数,这一步可以看作是一个无监督训练过程,这也是和传统神经网络区别最大的部分,可以看作是特征学习过程。具体的,先用无标定数据训练第一层,训练时先学习第一层的参数,这层可以看作是得到一个使得输出和输入差别最小的三层神经网络的隐层,由于模型容量的限制以及稀疏性约束,使得得到的模型能够学习到数据本身的结构,从而得到比输入更具有表示能力的特征;在学习得到n-l层后,将n-l层的输出作为第n层的输入,训练第n层,由此分别得到各层的参数。自顶向下的监督学习就是通过带标签的数据去训练,误差自顶向下传输,对网络进行微调。基于第一步得到的各层参数进一步优调整个多层模型的参数,这一步是一个有监督训练过程。第一步类似神经网络的随机初始化初值过程,由于第一步不是随机初始化,而是通过学习输入数据的结构得到的,因而这个初值更接近全局最优,从而能够取得更好的效果。所以深度学习的良好效果在很大程度上归功于第一步的特征学习的过程。
  • [其他] 如何关闭Mox的warmup
    问题现象训练作业mox的Tensorflow版本在运行的时候,会先执行“50steps” 4次,然后才会开始正式运行。warmup即先用一个小的学习率训练几个epoch(warmup),由于网络的参数是随机初始化的,如果一开始就采用较大的学习率会出现数值不稳定的问题,这是使用warm up的原因。等到训练过程基本稳定之后就可以使用原先设定的初始学习率进行训练。原因分析Tensorflow分布式有多种执行模式,mox会通过4次执行50 step记录执行时间,选择执行时间最少的模型。处理方法创建训练作业时,在“运行参数”中增加参数“variable_update=parameter_server”来关闭Mox的warmup。
  • [其他] 查看设备的硬件信息
    介绍  很多时候,我们希望能够查看一下自己使用的设备的信息,特别是训练的时候,可能要看看显卡的显存的使用率和利用率。这个相信大家都很熟悉了,就是nvidia-smi命令,打开终端,执行即可。但这条命令只能查看目前的,无法实时查看,持续刷新。那这就要用到另一条命令了,打开终端,输入即可。watch -n 0.1 nvidia-smi  你会得到信息  当然,这不是重点,重点是,希望看到CPU信息。很简单,使用s-tui库就行了,安装特别方便。打开终端,执行:pip install s-tui  运行也特别简单,直接执行s-tui命令  你会得到  按下键盘的向下的箭头键,你还可以看到每个Core的信息规格  是不是很详细,我使用的是免费体验规格,可以看到使用的是Intel Xeon E5-2690v4 @2.60GHz的处理器,8核,服务器级处理器,性能稳定,频率稳定在2.60GHz,紫色的部分是每个Core的频率,可以看到基本不变,绿色部分是使用率,不错吧,这处理器比绝大多数笔记本和台式机的处理器要好,起码核多呀,这样在训练是读取数据可以使用多线程,大大提高读取数据的速度,节约训练时间。
  • [其他] R-CNN 原理
    分析  传统的目标检测方法大多以图像识别为基础。一般可以在图片上使用穷举法选出所有物体可能出现的区域框,对这些区域框提取特征并使用图像识别方法分类,在得到所有分类成功的区域后,通过非极大值抑制(Non-maximum suppression)输出结果。  R-CNN的全称是Region-CNN,可以说是第一个成功将深度学习用到目标检测上的算法。  R-CNN同样遵循传统目标检测的思路,同样采用提取框、对每个提取框提取特征、图像分类、非极大值抑制四个步骤进行目标检测。只不过在提取特征这一步,将传统的特征换成了深度卷积网络(CNN)提取的特征。基本步骤  1)对于原始图像,首先使用Selective Search搜寻可能存在物体的区域。    Selective Search可以从图像中启发式地搜索出可能包含物体的区域,相比穷举法可以节省一部分计算量。  2)将取出的可能含有物体的区域送入CNN中提取特征。    CNN通常是接受一个固定大小的图像,而 Selective Search所取出的区域大小却各有不同,对此,R-CNN的做法是将区域缩放到统一大小,再使用CNN提取特征。  3)提取出特征后使用支持向量机SVM进行分类,最后通过非极大值抑制输出结果。R-CNN训练  1)在训练集上训练CNN,R-CNN论文中使用的CNN网络是AlexNet,数据集是ImageNet。  2)在目标检测的数据集上,对训练好的CNN进行微调  3)用Selective Search搜索候选区域,统一使用微调后的CNN对这些区域提取特征,并将提取的特征存储起来。  4)使用提取的特征,训练SVM分类器。算量  R-CNN的缺点在于计算量太大,因此,后续研究者又提出了Fast R-CNN和Faster R-CNN,这两者在一定程度上改进了R-CNN计算量大的缺点,不仅速度变快不少,识别准确率也得到了提高。在介绍Fast R-CNN和Faster R-CNN之前,需要先引入SPPNet,并介绍SPPNet的原理。
  • [其他] 机器学习 基础
    分析  因为各种媒体宣传,最近问问学校新入学计算机科学的学生们,想搞什么研究,结果十个里有九个要研究机器学习,中间还一些弄不清深度学习和机器学习的关系,实际上是想搞深度学习。  原本深度学习(深度神经网络)只是机器学习领域一个分支,但因为其最近大火,导致对整个领域出现了这样的划分:深度的和非深度,或者说深度的和传统的。虽然现在自然语言处理研究主要用深度学习,但因为很多概念来自机器学习,还是有必要了解传统机器学习的。而且如最近周志华提出的深度森林,将其他传统机器学习方法和深度学习的理念结合起来,就可以提出一些很有意思的模型。入门  最开始想简单了解一下,那么第一步,可以只将 Goodfellow 的 Deep Learning 前面介绍小节读一下,第四小节的 Numerical Computations 以及第五小节的 Machine Learning Basics. 主要会介绍简单的数值运算,梯度更新,还有机器学习基本概念,但没怎么提太详细。  之后就是鼎鼎有名吴教授在 Cousera 上的 Machine Learning。这门课没太多说的,太有名了。一如吴教授的风格,简单易懂,练习也不难,相信网上也都能找到答案。有点麻烦的是,作业是用 Octave 来完成,当然因为 Octave 和 MATLAB的关系,用MATLAB 也是可以的。里面有些东西挺老的,但核心概念都很有用,特别是模型训练策略,错误分析。基础  接着,可以读读我挺喜欢的 NLP 大佬 Kyunghyun Cho 的 ML w/o DL Lecture Notes (没有深度学习的机器学习课堂笔记)。介绍了机器学习中经典的一些问题,比如分类,回归,还有聚类,还提到各自的一些算法以及与深度学习的一些联系。值得一提的是,该资料带有 Jupyter Notebook 的习题作业,所以很推荐把这些作业也做了,可以打下很好的基础。但这个资料介绍不太全面,而且没有课程视频。  还有一个额外的资源是,加州理工 Yaser Abu-Mostafa 的 Learning From Data,这个没上过,也不好评价。但是根据其他评价是门很棒的课。  中文资料,可以读李航的《统计学习方法》还有周志华的《机器学习》,两本都不是太难读。进阶  了解了基础,如果还想挑战自己,可以试试卡内基梅隆大学,Tom Mitchell 教授的 Machine Learning 课程。相比之前的资料,这门课涉及到很多更深入的话题,概率图模型,Boosting,SVM的核方法,强化学习...
  • [其他] 机器学习
    数字化的力量在过去半世纪里,计算与数字技术给我们生活带来巨大转变。几世纪前发明的工具,设备和服务,现在越来越多地被其数字化的“e-”版本所取代,而我们自身也在不断地适应这种数字环境。这种转变非常之快:曾经计算机价格昂贵,只有大组织,如政府,大公司,大学能负担得起。那时也只有这些组织要计算机来解决一些难题,还能承担得起采购和维护的高成本。那时,计算机“中心”,分布在不同楼层或建筑,里面容纳着耗电量巨大的庞然大物,在大厅里,磁带转动,卡片打孔,数字被咀嚼,Bug (本义虫子,又常指程序中的故障) 还是真正的虫子。很快,随着计算机越来越廉价,可供更多人使用了,于是其应用领域也得到了扩大。一开始计算机只是个计算器,用来加减乘除数字,现在却花样百出。或许计算机技术的主要驱动力便是,当人们意识到每条信息都可数字化。这意味着之前处理数字的计算机,也能用于处理所有类型的信息(数字化的)了。更确切说,计算机将每个数字表示为0或1的二进制数(比特)序列,之后这种序列也能表示其他信息。例如,“101100”可表示数字 44,同时也是逗号的代码; 同样,“1000001”同时是 65 和大写字母'A'。根据环境,计算机程序用其中一种解释来操作序列。事实上,此类比特序列不仅可代表数字和文本,还能代表其他类型的信息 - 例如,照片的颜色或歌曲的色调,甚至计算机程序本身就是比特序列。此外,与这些信息相关联的操作(例如使图像更亮或在照片中找到面部)也能被转换为操纵比特序列的命令序列。计算机存储数据计算机的强大之处在于每条信息都能数字化表示,并且对于这些表示,都能写成出计算机指令来进行操作。这就导致了20世纪60年代数据库的出现。数据库是用于存储和操纵数据的特殊程序。此外还有些外存储设备,比如磁带或磁盘,以磁性方式存储数据,即使关机内容也不会被擦除。有了数据库,计算机就不再只是处理信息的工具,更成了数字化信息的存储库。随着时间推移,数字媒体变得越来越快速,廉价和可靠,以至于取代了纸,成了人类信息存储的主要手段。之后,微处理器的发明,以及其小型化和成本减少的并行发展,20世纪80年代初起,个人计算机越来越普及。这使得小型企业也能使用计算机了,但最重要的是计算机体积小且便宜,足以让其成为日常家用电器了。这让每个人发现了值得计算机处理的任务,于是应用程序大量增长,随后便是数字技术民主化时代的到来。图形化界面和鼠标使计算机更易使用。我们不用学习编程,也不用记住各种复杂的指令。屏幕就是工作环境的数字模拟,有虚拟桌面,有文件,有图标,甚至有垃圾桶,鼠标就是虚拟手,可以用它来选择,阅读或编辑。同时,软件也从商业应用转向了个人应用,通过处理更多类型数据,让生活更加数字化了。我们有文字处理器(Word)来处理信件和其他个人文件,有电子表格(Excel)来处理家用计算,还有音乐或摄影等爱好的软件;如果想,还能用它来玩游戏!计算已经成了日常。用户界面,还有各种日常应用,意味着人与计算机之间的一种和解,过去所熟悉的现实世界和数字世界的和解。计算机被编程得更好地适应我们的生活,而我们也慢慢地一点点去适应它们。随着时间推移,使用电脑已是基本技能。个人计算机使数字技术成为生活中的一个重要部分,对于这里要讲到的故事而言,最重要的是它让生活更多地被以数字方式记录下来。因此,它是将我们生活数据化中很重要的基石,之后这些数据可用来分析和学习。计算机交换数据计算机的下一个重要发展便是连通性。虽然,之前有通过数据传输器连接计算机交换信息,但通过电话线或专用线路,将个人计算机彼此连接或连接到服务器的商业系统,却要等到90年代才普及起来。计算机网络意味着计算机不再是孤立的了,而可以与远程的计算机交换数据。用户不再局限于访问自己计算机的数据,还能访问其他地方的数据,如果想,也能将数据分享给其他用户。计算机网络的发展很快便在因特网中到达了顶峰,因特网是一个覆盖全球的计算机网络。因特网使世界上任何能用计算机的人,都能向其他任何人发送电子邮件等信息。而且因为所有数据和设备都已数字化,于是可共享的信息就不仅仅是文本和数字;还能是图像,视频,音乐以及其他任何东西。通过计算机网络,数字化信息能以光速发给在任何地方的任何人。至此,计算机就不再仅仅只是存储和处理数据的机器,它也成为了传输和共享信息的手段。计算机网络发展很快,数字通信慢慢变得廉价,快速和可靠,以至于数字传输已取代实体邮件,成了信息传输的主要方式。任何“在线”的人都能在计算机上通过网络向其他人分享数据,这便是万维网诞生的方式。人们可以在“网上”冲浪,浏览这些共享信息。很快,通过安全协议还能共享一些机密信息,从而允许通过网络进行商业交易,例如在线购物或银行业务。这种在线连接性进一步增加了数字技术的渗透。当使用网络服务提供商的“www.”门户获得在线服务时,计算机就会变成商店,银行,图书馆或大学的数字版本;这,反过来,又创造了更多数据。
  • [其他] 神经进化 - 优势
    Ⅰ  我们还应该考虑神经进化模型的理论优势。Ⅱ  首先,我们只需要使用网络的前向传递,因为我们只需要计算损失,以确定要复制的网络。Ⅲ  这意味着显而易见,反向传播通常是最昂贵的!Ⅳ  其次,在给定足够的迭代次数的情况下,进化算法保证能找到损失曲面的全局最小值,而基于凸梯度的方法则陷入局部最小值。Ⅴ  最后,更复杂的神经进化形式使我们不仅可以优化网络的权值,还可以优化结构本身!Ⅵ  那为什么不一直用神经进化呢?Ⅶ  这是一个复杂的问题,但它可以归结为,当有足够的梯度信息时,精确的梯度下降法更有效。Ⅷ  这意味着损失曲面越凸出,你就越想使用SGD之类的分析方法,而不是遗传算法。因此,在有监督的环境下使用遗传算法是非常罕见的,因为通常有足够的梯度信息可用,传统的梯度下降方法将工作得很好。Ⅸ  然而,如果你是在RL环境下工作,或者是在不规则的缺失面或低凸度的情况下(如连续的GAN),那么神经进化提供了一个可行的选择!Ⅹ  事实上,最近的许多研究发现,参数化神经进化模型在这些环境下可以做得更好。
  • [其他] 随机森林 - 基础知识
      随机森林看起来是很好理解,但是要完全搞明白它的工作原理,需要很多机器学习方面相关的基础知识。在本文中,我们简单谈一下,而不逐一进行赘述,如果有同学不太了解相关的知识,可以参阅其他博友的一些相关博文或者文献。1)信息、熵以及信息增益的概念   这三个基本概念是决策树的根本,是决策树利用特征来分类时,确定特征选取顺序的依据。理解了它们,决策树你也就了解了大概。  引用香农的话来说,信息是用来消除随机不确定性的东西。当然这句话虽然经典,但是还是很难去搞明白这种东西到底是个什么样,可能在不同的地方来说,指的东西又不一样。对于机器学习中的决策树而言,如果带分类的事物集合可以划分为多个类别当中,则某个类(xi)的信息可以定义如下:I(x)用来表示随机变量的信息,p(xi)指是当xi发生时的概率。熵是用来度量不确定性的,当熵越大,X=xi的不确定性越大,反之越小。对于机器学习中的分类问题而言,熵越大即这个类别的不确定性更大,反之越小。信息增益在决策树算法中是用来选择特征的指标,信息增益越大,则这个特征的选择性越好。这方面的内容不再细述,感兴趣的同学可以看 《信息&熵&信息增益》 这篇博文。 2)决策树  决策树是一种树形结构,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一种类别。常见的决策树算法有C4.5、ID3和CART。3)集成学习   集成学习通过建立几个模型组合的来解决单一预测问题。它的工作原理是生成多个分类器/模型,各自独立地学习和作出预测。这些预测最后结合成单预测,因此优于任何一个单分类的做出预测。  随机森林是集成学习的一个子类,它依靠于决策树的投票选择来决定最后的分类结果。你可以在这找到用python实现集成学习的文档:Scikit 学习文档。
  • [其他] 大规模训练模型
    大规模模型训练涉及多GPU时的并行、通讯以及模型过大等问题。并行方式对于n个GPU数据并行:不同的GPU输入不同的数据,运行相同的完整的模型。模型并行:不同的GPU运行模型的不同部分,比如多层网络的不同层;如果模型能够放进单个GPU的显存中,可以使用数据并行加速。如果模型不能够放进单个GPU的显存中,但可以放进多个GPU显存,可以考虑模型并行。模型并行加速:pipeline对于模型并行,如果只是简单将模型不同部分放在不同GPU上,对GPU利用率很低。如下图所示。此时可以采用流水线技术,将一个batch数据切分为多个mini-batch,每个GPU运行完一个mini-batch就将数据传输到下一阶段GPU,然后继续运行下一个mini-batch,可成倍提高GPU利用效率。如下图所示:GPipe提供了一种模型并行流水线的实现 https://arxiv.org/abs/1811.06965通讯算法对于n个GPUParameter Server:GPU 0将数据分成n份分到各个卡上,每张卡负责自己的那一份batch的训练,得到grad后,返回给GPU 0上做累积,得到更新的权重参数后,再分发给各个卡。Ring AllReduce:n张以环形相连,每张卡都有左手卡和右手卡,一个负责接收,一个负责发送,循环n-1次完成梯度累积,再循环n-1次做参数同步。分为Scatter Reduce和All Gather两个环节。Parameter Server是一种更通用的通讯算法,对于很多分布式机器学习算法都适用。但是在deep learning这一通讯量巨大的特定场景中,负责汇总的parameter server容易成为通讯瓶颈。假设有N个GPU,通信一次完整的参数所需时间为K,那么使用PS架构,其通信成本为 T=2(N−1)*K。因此Ring AllReduce被提出来,分为Scatter Reduce和All Gather两个环节。Scatter Reduce过程:首先,我们将参数分为N份,相邻的GPU传递不同的参数,在传递N-1次之后,可以得到每一份参数的累积(在不同的GPU上)All Gather:得到每一份参数的累积之后,再做一次传递,同步到所有的GPU上。其通信成本仅为 T=2(N−1)/N*K 。
  • [其他] 机器学习、人工智能与数据挖掘的关系
    机器学习、人工智能与数据挖掘的关系机器学习是人工智能的一个分支,作为人工智能的核心技术和实现手段,通过机器学习的方法解决人工智能面对的问题。机器学习是通过一些让计算机可以自动“学习”的算法,从数据中分析获得规律,然后利用规律对新样本进行预测。机器学习是人工智能的重要支撑技术,其中深度学习就是一个典型例子。深度学习的典型应用是选择数据训练模型,然后用模型做出预测。例如,博弈游戏系统(Deep Blue)重于探索和优化未来的解空间(Solution Space),而深度学习则是在博弈游戏算法(例如Alpha Go)的开发上付诸努力,取得了世人瞩目的成就。下面以自动驾驶汽车研发为例,说明机器学习和人工智能的关系。要实现自动驾驶,就需要对交通标志进行识别。首先,应用机器学习算法对交通标志进行学习,数据集中包括数百万张交通标志图片,使用卷积神经网络进行训练并生成模型。然后,自动驾驶系统使用摄像头,让模型实时识别交通标志,并不断进行验证、测试和调优,最终达到较高的识别精度。当汽车识别出交通标志时,针对不同的标志进行不同的操作。例如,遇到停车标志时,自动驾驶系统需要综合车速和车距来决定何时刹车,过早或过晚都会危及行车安全。除此之外,人工智能技术还需要应用控制理论处理不同的道路状况下刹车策略,通过综合这些机器学习模型来产生自动化的行为。数据挖掘和机器学习的关系越来越密切。例如,通过分析企业的经营数据,发现某一类客户在消费行为上与其他用户存在明显区别,并通过可视化图表显示,这是数据挖掘和机器学习的工作,它输出的是某种信息和知识。企业决策人员可根据这些输出人为改变经营策略,而人工智能是用机器自动决策来代替人工行为,从而实现机器智能。数据挖掘是从大量的业务数据中挖掘隐藏的、有用的、正确的知识,促进决策的执行。数据挖掘的很多算法都来自机器学习和统计学,其中统计学关注理论研究并用于数据分析实践形成独立的学科,机器学习中有些算法借鉴了统计学理论,并在实际应用中进行优化,实现数据挖掘目标。机器学习的演化计算深度学习等方法近年来也逐渐跳出实验室,从实际的数据中学习模式,解决实际问题。数据挖掘和机器学习的交集越来越大,机器学习成为数据挖掘的重要支撑技术。
  • [其他] 机器学习 算法分类
      算法分类  以下是一些流行的定义。在每种情况下,都会为算法提供一组示例供其学习。  监督式学习  为算法提供训练数据,数据中包含每个示例的“正确答案”;例如,一个检测信用卡欺诈的监督学习算法接受一组记录的交易作为输入,对于每笔交易,训练数据都将包含一个表明它是否存在欺诈的标记。  无监督学习  该算法在训练数据中寻找结构,比如寻找哪些示例彼此类似,并将它们分组到各个集群中。
  • [其他] 机器学习 问题分类
      问题分类  我们希望在机器学习算法分类的基础上更具体一些,一种方法是通过分析机器学习任务能解决的问题类型,对任务进行细化:  分类  一种监督学习问题,其中要学习的答案是有限多个可能值之一;例如,在信用卡示例中,该算法必须学习如何在“欺诈”与“诚信”之间找到正确的答案,在仅有两个可能的值时,我们称之为二元分类问题;用于实现分类的常用算法包括:支持向量机 (SVM)、提升 (boosted) 决策树和袋装 (bagged) 决策树、k-最近邻、朴素贝叶斯 (Naïve Bayes)、判别分析、逻辑回归和神经网络。  回归  一种监督学习问题,其中要学习的答案是一个连续值。例如,可为算法提供一条房屋销售及其价格的记录,让它学习如何设定房屋价格;常用回归算法包括:线性模型、非线性模型、规则化、逐步回归、提升 (boosted) 和袋装 (bagged) 决策树、神经网络和自适应神经模糊学习。  细分(聚类)  一种无监督学习问题,其中要学习的结构是一些类似示例的集群。例如,市场细分旨在将客户分组到有类似购买行为的人群中;用于执行聚类的常用算法包括:k-均值和 k-中心点(k-medoids)、层次聚类、高斯混合模型、隐马尔可夫模型、自组织映射、模糊c-均值聚类法和减法聚类。   网络分析  一种无监督学习问题,其中要学习的结构是有关网络中的节点的重要性和作用的信息;例如,网页排名算法会分析网页及其超链接构成的网络,并寻找最重要的网页。谷歌等 Web 搜索引擎使用的就是这种算法,其他网络分析问题包括社交网络分析。
  • [其他] 强化学习 的 使用范围
    一  尽管我们在机器学习社区中广泛使用强化学习,但强化学习不仅仅是一个人工智能术语,它是许多领域中的一个中心思想,如下图(强化学习的多个方面,Many Faces of Reinforcement Learning)所示。二  事实上,许多这些领域面临着与机器学习相同的问题:如何优化决策以实现最佳结果,这就是决策科学 (Science of Decision-Making)。三  在神经科学中,人类研究人脑并发现了一种遵循著名的强化算法的奖励系统。四  在心理学中,人们研究的经典条件反射和操作性条件反射,也可以被认为是一个强化问题。五  类似的,在经济学中我们研究理性博弈论;在数学中我们研究运筹学;在工程学中我们研究优化控制。六  所有的这些问题都可以被认为一种强化学习问题——它们研究同一个主题,即为了实现最佳结果而优化决策。
  • [其他] 人脸识别算法介绍 - 局部二值模式
    一  局部二值模式(Local binary patterns LBP)是计算机视觉领域里用于分类的视觉算子。二  LBP,一种用来描述图像纹理特征的算子,该算子由芬兰奥卢大学的T.Ojala等人在1996年提出。。三  2002年,T.Ojala等人在PAMI上又发表了一篇关于LBP的文章非常清楚的阐述了多分辨率、灰度尺度不变和旋转不变、等价模式的改进的LBP特征。四  LBP的核心思想就是:以中心像素的灰度值作为阈值,与他的领域相比较得到相对应的二进制码来表示局部纹理特征。五  LBP是提取局部特征作为判别依据的。六  LBP方法显著的优点是对光照不敏感,但是依然没有解决姿态和表情的问题。七  不过相比于特征脸方法,LBP的识别率已经有了很大的提升。
  • [其他] 人工智能技术在金融领域的应用
       (1)机器学习  机器学习对于人工智能来说至关重要,正是因为有机器学习,计算机才能够拥有一定的智能,目前被普遍应用于与人工智能相关的各个领域,包括智能金融的领域。  机器学习的原理是在拥有大量过去由专家决策的数据基础之上选取每类事件的特征值,计算机通过算法程序对特征值进行分析之后,对再次发生的事件的特征值进行提取、分析、比对和最终分类,从而达到智能识别的目的。金融行业在过去积累下来的大量数据就能够应用于机器学习,实现了人工的由数据到模型的过程。(2)自然语言处理  自然语言处理研究的内容包括实现人与计算机用自然语言沟通的各种理论和方法。它是人工智能领域中一个新兴的重要方向,这项技术处于计算机科学与语言科学的交叉领域,它使人类不再是使用编译器和编程语言和计算机进行沟通。  自然语言处理技术的应用主要涉及两个方面:自动报告生成和文本结构化处理。  自动报告生成涉及到自然语言处理,因为一般的金融行业涉及到的报告具有固定的格式,因此可以利用自然语言处理的技术将报告需要的信息进行抓取,生成有固定格式的报告。  除此之外,在机器学习当中,如果单从数字推测模型则具有一定的局限性,而且有些信息是不以数据的形式出现的,因此有时需要引入文本形式的信息,能够通过自然语言处理技术进行分析,将非结构化数据结构化处理,从中得到有价值的信息。(3)知识图谱  知识图谱又称为科学知识图谱,是利用可视化的图形方式来显示各个事物实体发展的进程和实体之间的关系。  利用知识图谱的方式来挖掘、分析、构建、绘制和显示知识,并**这项进程与实体间的相互联系。  机器学习与自然语言处理的技术在遇到意外事件时,预测难以保证准确性,俗称“黑天鹅”事件。  911、熔断机制和卖空禁令等等事件的发生让计算器无法处理,因为系统从未有相关事件的历史数据,也就无法从中学习到相关模式。  此时计算机系统管理资产便存在巨大的风险,会出现模型失灵的情况。  在这种情况下,知识图谱技术被引入到人工智能当中,它本质上还是一种与语义相关的网络,不过是一种基于图的数据结构,也是根据前期专家设计的规则,与不同种类的实体相连接,从而提供了从知识实体之间关系的角度去分析问题的方法和能力。(4)语义搜索  语义搜索目前已经在搜索引擎中被广泛地应用,在金融业务当中也起到十分重要的作用。  语义搜索指的是搜索引擎的工作不再局限于用户当前具体输入的内容,而是计算机能够根据该内容进行合理地联系与扩散,来进一步准确地捕捉到用户实际期望搜索的内容,更准确地反馈给用户期望的搜索结果,语义搜索是基于自然语言处理和知识图谱衍生出来的新技术。
总条数:5195 到第
上滑加载中