gpu构架为什么更适合发展神经网络

因为神经网络这种大范围多任务的简单运算来说,正好符合GPU这种多核架构,比如你CPU20核心,同时处理20个任务。但是神经网络可能有20000个任务(比喻)。

但最近比较有代表性的GPU-Nvidia的新TITAN-X,CUDA核心就达到了3584个,速度就不言而喻了。但是CPU的核心性能比GPU的性能强大,就好比教授和高中老师的区别。

所以在神经网络训练当中,简单训练由CUDA完成,复杂训练和综合由CPU辅助完成汇总。

这样任务被分开同时进行,平时需要训练几十天的项目可能现在几个小时就可以完成,这就是为什么GPU架构更适合神经网络并且深度学习在近年大火的原因,就是因为GPU架构解决了当初没有解决的效率问题。

谷歌人工智能写作项目:神经网络伪原创

Intel(R) HD Graphics可以用GPU跑深度学习吗?

如何提高神经网络的外推能力

人工神经网络以其智能性见长,那么神经网络能真的学到一个映射的本质吗?也就是说,对一个映射给出一定的必要的训练样本训练后,网络能否对样本以外的样本给出较为准确的预测。

泛化能力也就是神经网络用于对未知数据预测的能力。神经网络对训练样本区间范围内的样本有较好的泛化能力,而对于训练样本确定的范围外的样本不能认为有泛化能力。

常规的几种增强泛化能力的方法,罗列如下:1、较多的输入样本可以提高泛化能力;但不是太多,过多的样本导致过度拟合,泛化能力不佳;样本包括至少一次的转折点数据。

2、隐含层神经元数量的选择,不影响性能的前提下,尽量选择小一点的神经元数量。隐含层节点太多,造成泛化能力下降,造火箭也只要几十个到几百个神经元,拟合几百几千个数据何必要那么多神经元?

3、误差小,则泛化能力好;误差太小,则会过度拟合,泛化能力反而不佳。

4、学习率的选择,特别是权值学习率,对网络性能有很大影响,太小则收敛速度很慢,且容易陷入局部极小化;太大则,收敛速度快,但易出现摆动,误差难以缩小;一般权值学习率比要求误差稍微稍大一点点;另外可以使用变动的学习率,在误差大的时候增大学习率,等误差小了再减小学习率,这样可以收敛更快,学习效果更好,不易陷入局部极小化。

5、训练时可以采用随时终止法,即是误差达到要求即终止训练,以免过度拟合;可以调整局部权值,使局部未收敛的加快收敛。

本人毕设题目是关于神经网络用于图像识别方面的,但是很没有头续~我很不理解神经网络作用的这一机理

我简单说一下,举个例子,比如说我们现在搭建一个识别苹果和橘子的网络模型:我们现在得需要两组数据,一组表示特征值,就是网络的输入(p),另一组是导师信号,告诉网络是橘子还是苹果(网络输出t):我们的样本这样子假设(就是):pt10312142这两组数据是这样子解释的:我们假设通过3个特征来识别一个水果是橘子还是苹果:形状,颜色,味道,第一组形状、颜色、味道分别为:103(当然这些数都是我随便乱编的,这个可以根据实际情况自己定义),有如上特征的水果就是苹果(t为1),而形状、颜色、味道为:214的表示这是一个橘子(t为2)。

好了,我们的网络模型差不多出来了,输入层节点数为3个(形状、颜色,味道),输出层节点为一个(1为苹果2为橘子),隐藏层我们设为一层,节点数先不管,因为这是一个经验值,还有另外的一些参数值可以在matlab里设定,比如训练函数,训练次数之类,我们现在开始训练网络了,首先要初始化权值,输入第一组输入:103,网络会输出一个值,我们假设为4,那么根据导师信号(正确的导师信号为1,表示这是一个苹果)计算误差4-1=3,误差传给bp神经网络,神经网络根据误差调整权值,然后进入第二轮循环,那么我们再次输入一组数据:204(当仍然你可以还输入103,而且如果你一直输入苹果的特征,这样子会让网络只识别苹果而不会识别橘子了,这回明白你的问题所在了吧),同理输出一个值,再次反馈给网络,这就是神经网络训练的基本流程,当然这两组数据肯定不够了,如果数据足够多,我们会让神经网络的权值调整到一个非常理想的状态,是什么状态呢,就是网络再次输出后误差很小,而且小于我们要求的那个误差值。

接下来就要进行仿真预测了t_1=sim(net,p),net就是你建立的那个网络,p是输入数据,由于网络的权值已经确定了,我们这时候就不需要知道t的值了,也就是说不需要知道他是苹果还是橘子了,而t_1就是网络预测的数据,它可能是1或者是2,也有可能是1.3,2.2之类的数(绝大部分都是这种数),那么你就看这个数十接近1还是2了,如果是1.5,我们就认为他是苹果和橘子的杂交,呵呵,开玩笑的,遇到x=2.5,我一般都是舍弃的,表示未知。

总之就是你需要找本资料系统的看下,鉴于我也是做图像处理的,我给你个关键的提醒,用神经网络做图像处理的话必须有好的样本空间,就是你的数据库必须是标准的。

至于网络的机理,训练的方法什么的,找及个例子用matlab仿真下,看看效果,自己琢磨去吧,这里面主要是你隐含层的设置,训练函数选择及其收敛速度以及误差精度就是神经网络的真谛了,想在这么小的空间给你介绍清楚是不可能的,关键是样本,提取的图像特征必须带有相关性,这样设置的各个阈值才有效。

OK,好好学习吧,资料去matlab中文论坛上找,在不行就去baudu文库上,你又不需要都用到,何必看一本书呢!祝你顺利毕业!

利用神经网络进行模式识别,训练时是不是必须要有对立的样本,才能实现分类?

支持向量机有单分类(oneclass)的模式,对应的一些神经网络也有类似的。单分类的作用其实是预处理,用于剔除离群点。

以您的这个例子来说,训练样本为你清晰并且确切的指纹特征,而实际工作的样本为你提取到的各种你自己的指纹特征,神经网络(SVM)所做的工作是区分哪些是你输入特征中有比较多有效信息的,而剔除掉不具有代表性或者受到干扰比较大的样本。

如果能够保证你的输入样本特征选取恰当并且噪声很小的时候,单分类模型的确可以用于分类。但是只能识别出哪些是你的指纹而哪些是其他人的指纹。

本人新手,在做BP神经网络的时候遇到了一个问题 5

不知你是不是用matlab的神经网络工具箱,因为一般神经网络都是成批处理的,每一次调整都会综合所有样本的误差进行调整,而不是一类一类图片的去调整,所以不会出现你说的现象。

目前我看过的很多C++或者其它语言自己写的神经网络,都会有这样或那样的理解错误,建议先使用现成的matlab的神经网络工具箱进行训练。另外是输入的问题,图象一般会先提取特征,再将特征作为输入。

你在贴吧也提问了吧,这个我在贴吧里也回答了。

输出的问题,一般模式识别会用01向量来代表,例如你有三类,目标输出应该是[010]这样,来代表它是第2类,训练的时候用010,当然,预测到的可能是[0.10.90.1]这样。

这是我所想到的问题,楼主看看是不是这样一回事。下面是我的一些建议:改为用神经网络工具箱。借鉴《MATLAB神经网络原理与实例精解》里的基于概率神经网络的手写体数字识别,对图象作预处理。

参考2012Bmatlab\R2012b\toolbox\nnet\nndemos下的classify_crab_demo例子。调用patternnet建立模式识别网络。

可以到《神经网络之家》 学习神经网络。

训练神经网络用什么显卡,cpu可以训练神经网络吗相关推荐

  1. 专用神经网络处理器的芯片,cpu可以跑神经网络吗

    苹果产品中的"统一内存(unifie?emory)"与以往的"内存怎么样? 这个统一内存就是把内存.GPU的显存和神经网络处理器的缓存放到一起,通过Fabric和CPU/ ...

  2. 神经网络训练电脑配置,cpu可以训练神经网络吗

    神经网络参数如何确定 神经网络各个网络参数设定原则:①.网络节点 网络输入层神经元节点数就是系统的特征因子(自变量)个数,输出层神经元节点数就是系统目标个数.隐层节点选按经验选取,一般设为输入层节点数 ...

  3. 为什么安装的是gpu版本训练时还是用的cpu?_免费GPU哪家强?谷歌Kaggle vs. Colab | 硬核评测...

    作者 | Jeff Hale译者 | Monanfei责编 | 夕颜出品 | AI科技大本营(id:rgznai100) 谷歌有两个平台提供免费的云端GPU:Colab和Kaggle, 如果你想深入学 ...

  4. pytorch显卡内存随训练过程而增加_PyTorch重大更新:将支持自动混合精度训练!...

    AI编辑:我是小将 混合精度训练(mixed precision training)可以让模型训练在尽量不降低性能的情形下提升训练速度,而且也可以降低显卡使用内存.目前主流的深度学习框架都开始支持混合 ...

  5. 利用gpu加速神经网络算法,为什么用gpu 模型训练

    为什么tensorflow训练用GPU比CPU更慢了 谷歌人工智能写作项目:神经网络伪原创 深度学习用cpu训练和用gpu训练有什么区别 1.深度学习用cpu训练和用gpu训练的区别(1)CPU主要用 ...

  6. Dl4j使用Spark分布式训练指定CPU后端训练

    Dl4j使用Spark分布式训练指定CPU后端训练 问题描述 1.打包dl4j应用程序,使用spark-submit在spark集群上分布式运行: 示例提交命令: spark-submit --cla ...

  7. 图像识别python cnn_MINIST深度学习识别:python全连接神经网络和pytorch LeNet CNN网络训练实现及比较(一)...

    版权声明:本文为博主原创文章,欢迎转载,并请注明出处.联系方式:460356155@qq.com 全连接神经网络是深度学习的基础,理解它就可以掌握深度学习的核心概念:前向传播.反向误差传递.权重.学习 ...

  8. MINIST深度学习识别:python全连接神经网络和pytorch LeNet CNN网络训练实现及比较(三)...

    版权声明:本文为博主原创文章,欢迎转载,并请注明出处.联系方式:460356155@qq.com 在前两篇文章MINIST深度学习识别:python全连接神经网络和pytorch LeNet CNN网 ...

  9. Tensorflow 神经网络作业手写数字识别 训练、回测准确率

    大白话讲解卷积神经网络工作原理,推荐一个bilibili的讲卷积神经网络的视频,up主从youtube搬运过来,用中文讲了一遍. 这篇文章是 TensorFlow 2.0 Tutorial 入门教程的 ...

最新文章

  1. 商汤科技总裁张文谈人工智能: 未来10年到20年会有巨大爆发 下一个井喷是AI+教育
  2. Redis常见配置redis.conf
  3. Flutter:实现红包晃动效果
  4. pyflink的local模式实验记录
  5. 系统的crontab设定:/etc/crontab
  6. 手机按键中控运行思路的个人理解
  7. 一篇综述翻译解读文章的发出也需要数易其稿
  8. ios14系统 GIF图展示异常问题
  9. MTK驱动(77)---Android getevent用法
  10. Jmeter中的几个重要测试指标释义
  11. 力扣—— 295. 数据流的中位数(困难)
  12. 是不是好奇号不够好奇,NASA要送机器蜜蜂上火星?
  13. Javascript中的条件语句和循环语句
  14. 编解码格式 -- AAC
  15. python ffmpeg直播_python+ffmpeg视频并发直播压力测试
  16. 子div在父div垂直居中的最好方法
  17. 歌乎:985博士生对996的困惑
  18. android蓝牙键盘输入法,手机外接蓝牙键盘,用什么输入法好?
  19. 攀登数据基础设施高峰,这是一场勇敢者的游戏
  20. 修改xcode字体大小(Mac)

热门文章

  1. upload -labs通关解析及上传类型总结和思考
  2. win7电脑系统开不了机了提示0xc0000098错误及解决方法
  3. vue中使用gojs实例、包括调色板、线条流动、缩略预览、节点中实现分组、全屏,更换主题等实例
  4. 日更 - 摄影学习,一些关于摄影的细碎概念
  5. 工程材料篇-纯金属的结晶
  6. 金属磷化原理04-磷化保护膜的成分分析
  7. com.amazonaws.services.s3.model.AmazonS3Exception: null (Service: Amazon S3; Status Code: 403;
  8. 电脑速度慢的136种慢法和解决方法!! 经典实用!!
  9. c 语言画图片,如何用 C 语言画「心形」?
  10. 冻结的微信小程序找回(及ID找回)