人脑模拟

  深度学习背后的主要原因是人工智能应该从人脑中汲取灵感。此观点引出了“神经网络”这一术语。人 脑中 包含 数 十亿个神经元,它 们 之间有 数 万个 连 接。很多情况下,深度学习算法和人脑相似,因为人脑和深度学习模型都拥有大量的编译单元(神经元),这些编译单元(神经元)在独立的情况下都不太智能,但是当他们相互作用时就会变得智能。

  我认为人们需要了解到深度学习正在使得很多幕后的事物变得更好。深度学习已经应用于谷歌搜索和图像搜索,你可以通过它搜索像“拥抱”这样的词语以获得相应的图像。

神经元

  神经网络的基本构建模块是人工神经元,它模仿了人类大脑的神经元。这些神经元是简单、强大的计算单元,拥有加权输入信号并且使用激活函数产生输出信号。这些神经元分布在神经网络的几个层中。

inputs 输入 outputs 输出 weights 权值 activation 激活

  人工神经网络的工作原理是什么?

  深度学习由人工神经网络构成,该网络模拟了人脑中类似的网络。当数据穿过这个人工网络时,每一层都会处理这个数据的一方面,过滤掉异常值,辨认出熟悉的实体,并产生最终输出。  输入层:该层由神经元组成,这些神经元只接收输入信息并将它传递到其他层。输入层的图层数应等于数据集里的属性或要素的数量。输出层:输出层具有预测性,其主要取决于你所构建的模型类型。隐含层:隐含层处于输入层和输出层之间,以模型类型为基础。隐含层包含大量的神经元。处于隐含层的神经元会先转化输入信息,再将它们传递出去。随着网络受训练,权重得到更新,从而使其更具前瞻性。神经元的权重  权重是指两个神经元之间的连接的强度或幅度。你如果熟悉线性回归的话,可以将输入的权重类比为我们在回归方程中用的系数。权重通常被初始化为小的随机数值,比如数值0-1。前馈深度网络  前馈监督神经网络曾是第一个也是最成功的学习算法。该网络也可被称为深度网络、多层感知机(MLP)或简单神经网络,并且阐明了具有单一隐含层的原始架构。每个神经元通过某个权重和另一个神经元相关联。  该网络处理向前处理输入信息, 激活 神经元,最终产生输出值。在此网络中,这称为前向传递。

input layer 输入层 hidden layer 输出层 output layer 输出层

激活函数

  激活函数就是求和加权的输入到神经元的输出的映射。之所以称之为激活函数或传递函数是因为它控制着激活神经元的初始值和输出信号的强度。用数学表示为:  我们有许多激活函数,其中使用最多的是整流线性单元函数、双曲正切函数和solfPlus函数。激活函数的速查表如下:

反向传播

  在网络中,我们将预测值与预期输出值相比较,并使用函数计算其误差。然后,这个误差会传回这个网络,每次传回一个层,权重也会根据其导致的误差值进行更新。这个聪明的数学法是 反向传播算法 。这个步骤会在训练数据的所有样本中反复进行,整个训练数据集的网络更新一轮称为一个时期。一个网络可受训练数十、数百或数千个时期。  

prediction error 预测误差

代价函数和梯度下降

  代价函数度量了神经网络对给定的训练输入和预期输出“有多好”。该函数可能取决于权重、偏差等属性。  代价函数是单值的,并不是一个向量,因为它从整体上评估神经网络的性能。在运用梯度下降最优算法时,权重在每个时期后都会得到增量式地更新。兼容代价函数用数学表述为差值平方和:

target 目标值 output 输出值

  权重更新的大小和方向是由在代价梯度的反向上采取步骤计算出的。

其中 η 是学习率

  其中Δ w 是包含每个权重系数w的权重更新的向量,其计算方式如下:

target 目标值 output 输出值

图表中会考虑到单系数的代价函数

  initial weight 初始权重 gradient 梯度 global cost minimum 代价极小值  在导数达到最小误差值之前,我们会一直计算梯度下降,并且每个步骤都会取决于斜率(梯度)的陡度。多层感知器(前向传播)  这类网络由多层神经元组成,通常这些神经元以前馈方式(向前传播)相互连接。一层中的每个神经元可以直接连接后续层的神经元。在许多应用中,这些网络的单元会采用S型函数或整流线性单元(整流线性激活)函数作为 激活函数 。  现在想想看要找出处理次数这个问题,给定的账户和家庭成员作为输入  要解决这个问题,首先,我们需要先创建一个前向传播神经网络。我们的输入层将是家庭成员和账户的数量,隐含层数为1, 输出层将是处理次数。  将图中输入层到输出层的给定权重作为输入:家庭成员数为2、账户数为3。  现在将通过以下步骤使用前向传播来计算隐含层(i,j)和输出层(k)的值。  步骤:  1 , 乘法-添加方法。  2 , 点积(输入*权重)。  3 ,一次一个数据点的前向传播。  4 , 输出是该数据点的预测。

i 的值将从相连接的神经元所对应的输入值和权重中计算出来。

i = (2 * 1) + (3 * 1) → i = 5

同样地,j = (2 * -1) + (3 * 1) → j = 1

K = (5 * 2) + (1 * -1) → k = 9

Python中的多层感知器问题的解决

激活函数的使用

  为了使神经网络达到其最大预测能力,我们需要在隐含层应用一个激活函数,以捕捉非线性。我们通过将值代入方程式的方式来在输入层和输出层应用激活函数。  这里我们使用整流线性激活(ReLU):

用Keras开发第一个神经网络

关于Keras:

  Keras 是一个高级神经网络的应用程序编程接口,由Python编写,能够搭建在 TensorFlow , CNTK , 或 Theano 上。  使用PIP在设备上安装Keras,并且运行下列指令。  在keras执行深度学习程序的步骤  1 ,加载数据;  2 ,创建模型;  3 ,编译模型;  4 ,拟合模型;  5 ,评估模型;开发Keras模型  全连接层用Dense表示。我们可以指定层中神经元的数量作为第一参数,指定初始化方法为第二参数,即初始化参数,并且用激活参数确定激活函数。既然模型已经创建,我们就可以 编译它。我们在底层库(也称为后端)用高效数字库编译模型,底层库可以用Theano或TensorFlow。目前为止,我们已经完成了创建模型和编译模型,为进行有效计算做好了准备。现在可以在PIMA数据上运行模型了。我们可以在模型上调用拟合函数f(),以在数据上训练或拟合模型。我们先从KERAS中的程序开始,  神经网络一直训练到150个时期,并返回精确值。

感知器算法的基本原理和步骤_很多情况下,深度学习算法和人脑相似相关推荐

  1. 深度学习机器臂控制_人工智能深度学习算法在工业机械臂上的应用

    从功能上来说,你这个应用非常适合采用深度学习,事实上,深度学习本质上就是用来做分类识别的,尤其是针对零件与零件之间,图像上差异比较小的时候(比如你需要自动分拣A,B,C三种零件,但其形状差别很小),更 ...

  2. 万字长文解读深度学习算法在自动驾驶规控中的应用

    交流群 | 进"传感器群/滑板底盘群"请加微信号:xsh041388 交流群 | 进"汽车基础软件群"请加微信号:ckc1087 备注信息:群名称 + 真实姓名 ...

  3. 从0到1 | 文本挖掘的传统与深度学习算法

    一.什么是文本挖掘? 讨论文本挖掘之前,我们要先说一下数据挖掘的概念,因为文本挖掘是数据挖掘的一个分支.数据挖掘(Data Mining)指从大量的数据中通过算法搜索隐藏在其中信息的过程.而文本挖掘就 ...

  4. 主流深度学习算法简介

    ** 深度学习算法简介** 1. 深度学习主流算法包括: 1.1 CNN (卷积神经网络) 卷积神经网络(CNN)是最常见的深度学习方法之 一.自20 世纪80 年代后期以来,CNN 已应用于视觉识别 ...

  5. 深度学习算法原理_用于对象检测的深度学习算法的基本原理

    深度学习算法原理 You just got a new drone and you want it to be super smart! Maybe it should detect whether ...

  6. 学习sift算法的原理和步骤_深度学习笔记47_你也可以成为梵高_风格迁移算法的原理

    神经风格迁移 可用来干什么? 同deepDream一样是驱动图像修改的一个重大进展.可以把照片风格化,看起来就像是一幅画一样.这些为你提供非常多漂亮的艺术风格,就像是梵高所画的<星夜>. ...

  7. 深度学习算法和机器学习算法_啊哈! 4种流行的机器学习算法的片刻

    深度学习算法和机器学习算法 Most people are either in two camps: 大多数人都在两个营地中: I don't understand these machine lea ...

  8. 华南理工深度学习与神经网络期末考试_深度学习算法地图

    原创声明:本文为 SIGAI 原创文章,仅供个人学习使用,未经允许,不能用于商业目的. 其它机器学习.深度学习算法的全面系统讲解可以阅读<机器学习-原理.算法与应用>,清华大学出版社,雷明 ...

  9. tensorflow玻尔兹曼机_资源 | 10种深度学习算法的TensorFlow实现

    原标题:资源 | 10种深度学习算法的TensorFlow实现 选自 Github 作者:blackecho 机器之心编译 参与:吴攀 这个 repository 是使用 TensorFlow 库实现 ...

最新文章

  1. html表格重置标签,HTML——表格标签
  2. 某程序员吐槽:分手一个月,发现前女友和一个已婚男人在一起,愤而向他们公司举报,该男已被开除!网友:举报别人不道德!...
  3. FaceBook开源PyTorch3D:基于PyTorch的新3D计算机视觉库
  4. iOS开发——NSArray中的字典排序
  5. 数据类型及pythop运算符号
  6. linux 切换root账号_Linux 服务器的安全保障,看看这些
  7. python程序内存分析_python 如何测量运行中的程序内存 -- Valgrind
  8. Spring Ioc Configration - Annotation
  9. library的英语怎么读音_如何让你的英语口音无限接近母语者?英语语音语调的独家训练方法...
  10. Linux之at命令
  11. android 按下缩小效果松开恢复_22省份三季报:粤苏总量差距缩小,19省份实现正增长...
  12. 网络测试工具iperf使用教程
  13. MySql常用函数大全
  14. 使用frida/xposed对某灰色APP进行暴力破解
  15. 轻微课好不好?来自轻微课校友的成才经历自述。
  16. windows10系统自带linux子系统(WSL)的安装目录
  17. OWASP A4 使用已知漏洞的插件
  18. 聪明点 比较购物网站SEO分析
  19. nasm寄存器xmm[0~8使用]
  20. python 爬取墨迹天气预报(超简单!该代码用于实际生产)

热门文章

  1. Flink 1.9 CDH 6.3 集成
  2. 博时基金基于 RocketMQ 的互联网开放平台 Matrix 架构实践
  3. 超详攻略!Databricks 数据洞察 - 企业级全托管 Spark 大数据分析平台及案例分析
  4. 现实版“奇异博士”?原来是这款神秘的“数学黑盒”
  5. 基于JindoFS+OSS构建高效数据湖
  6. 因“智”而治,数据库自动驾驶时代大门即将开启!
  7. 如何使用API提交转码任务?
  8. 源码级别的广播与监听实现
  9. 云漫圈 | 学Python还是Java, 8张漫画带你全面分析
  10. matlab三角形分割,MATLAB 2014b及以上版本中带有画家渲染器的三角形拆分补丁