深度学习与人工神经网络

  • 深度学习
    • 机器学习和深度学习的区别
    • 常见的深度学习框架
  • 神经网络
    • 人工神经网络的概念
    • 神经元的概念
    • 单层神经网络
    • 感知机
    • 多层神经网络
    • 激活函数

深度学习

机器学习的分支,人工神经网络为基础,对数据的特征进行学习的方法。

机器学习和深度学习的区别

  • 特征抽取

    • 机器学习:人工抽取特征的过程
    • 深度学习:自动的进行特征抽取
  • 数据量
    • 机器学习:数据量少,效果不是特别好
    • 深度学习:数据量大,效果更好
  • 应用场景:
    • 深度学习:图像识别(物体识别、场景识别、人脸检测跟踪、人脸身份认证)、自然语言处理(机器翻译、文本识别、聊天对话)、语音识别

常见的深度学习框架

目前企业中常见的深度学习框架有很多:Tensorflow、Caffe2、Keras、Theano、PyTorch、Chainer、DyNet and CNTK等等。

神经网络

人工神经网络的概念

人工神经网络(Artificial Neural Network,ANN)是一种模仿生物神经网络的结构和功能的数学模型,用于对函数进行估计和近似
和其他机器学习方法一样,神经网络已经被用于解决各种各样的问题,例如机器视觉和语音识别。

神经元的概念

神经网络中的基础单元,相互连接,组成神经网络。
一个简单的神经元如下图所示:

可见,一个神经元的功能是求得输入向量和权向量的内积后,经过一个非线性传递函数得到一个标量的结果

单层神经网络

它是最基本的神经元网络形式,由有限个神经元组成,所有神经元的输入向量都是同一个向量,由于每一个神经元都会产生一个标量结果,所以单层神经元的输出是一个向量,向量的维数等于神经元的数目。
示意图如下:

感知机

感知机是由两层神经网络组成,输入层接受外界输入信号后传递给输出层。上部分的单层神经网络的示意图可以理解为有三个感知机。

感知机的作用
简单的二分类模型,给定阈值,判断数值属于哪一部分。
把一个n维向量空间用一个超平面分割成两部分,给定一个输入向量,超平面可以判断出这个向量位于超平面的哪一边,得到输入是正类还是反类。对应到2维空间就是一条直线把一个平面分成两个部分

多层神经网络

多层神经网络就是由单层神经网络进行叠加之后得到的,所以就形成了的概念,常见的多层神经网络有如下结构:

  • 输入层(Input layer),众多神经元接受大量输入消息。输入的消息称为输入向量。
  • 输出层(Output layer),消息在神经元链接中传输、分析、权衡,形成输出结果,输出的消息称为输出向量。
  • 隐藏层(Hidden layer),是输入层和输出层之间众多神经元和链接组成的各个层面,隐层可以有一层或多层,隐层的节点数目不定,但数目越多神经网络的非线性越显著,从而神经网络的强健性更显著。
    示意图如下:

    全连接层
    第N层和第N-1层每个神经元相互连接,我们成为当前这一层为全连接层。
    所谓的全连接层就是在前一层输出的基础上进行一次Y=Wx+bY=Wx+bY=Wx+b的变化(不考虑激活函数的情况下就是一次线性变化,所谓线性变化就是平移(+b)和缩放(*W)的组合)

激活函数

假设我们现在有这样一组数据,需要将他们分为两类。

通过感知机模型我们可以划出一条线,把平面分割开。

假设我们确定了参数w和b之后,可以看出无法通过直线完全分开,此时该如何做?
可以考虑使用多层神经网络来尝试,比如在前面的感知机模型中再增加一层

增加一层后发现求y的公式类似,这样操作后依然只能绘制出直线,相比于前面的感知机,没有任何改进。
非线性的特征:已知有函数f(x)=yf(x)=yf(x)=y满足以下公式:
f(x1+x2)=y1+y2和f(kx1)=ky1f(x1+x2) = y1+y2和 f(kx1) = ky1 f(x1+x2)=y1+y2和f(kx1)=ky1
如果我们在感知机的基础上加上非线性的激活函数后,输出的结果就不再是一条直线了。

如上图,右边是sigmoid函数,对感知机的结果,通过sigmoid函数进行处理。
如果我们给定合适的参数w和b,就可以得到合适的曲线,能够完成对最开始问题的非线性分割,所以激活函数很重要的一个作用就是增加模型的非线性分割能力。如果你觉的没有效果不够明显,可以使用多层的隐藏层来使效果更加显著。
常见的激活函数有:

从图中可以看出:

  • simoid的结果只有正数,靠近0的输出变化率最大
  • tanh和sigmoid不同的是,tanh输出可以是负数
  • Relu是输入只能大于0,如果你输入含有负数,Relu就不适合,如果你的输入是图片格式,Relu就挺常用的,因为图片的像素值作为输入时取值为[0,255]。

激活函数的全部作用

  • 增加模型的非线性分割能力
  • 提高模型鲁棒性(稳健性)
  • 缓解梯度消失问题
  • 加速模型收敛

深度学习与人工神经网络的介绍相关推荐

  1. [python] 深度学习基础------人工神经网络实现鸢尾花分类(一)

    ​​​​​​​人工神经网络实现鸢尾花分类(一) 人工神经网络实现鸢尾花分类(二) 人工神经网络实现鸢尾花分类(三) 人工神经网络实现鸢尾花分类(四) 人工神经网络实现鸢尾花分类(五) 目录 人工智能主 ...

  2. 吴恩达.深度学习系列-C1神经网络与深度学习-W1介绍

    什么是神经网络 用神经网络进行监督学习 why is Deep Learning taking off?为啥神经网络能流行起来? About this Course Heroes of Deep Le ...

  3. 零基础入门深度学习(7) - 递归神经网络

    无论即将到来的是大数据时代还是人工智能时代,亦或是传统行业使用人工智能在云上处理大数据的时代,作为一个有理想有追求的程序员,不懂深度学习(Deep Learning)这个超热的技术,会不会感觉马上就o ...

  4. 深度学习(7): 卷积神经网络2——网络结构

    文章目录 1 卷积神经网络的结构 1.1 输入层 1.2 卷积层 1.3 Pooling层 1.4 全连接层 1.5 输出层 2 卷积操作 2.1 Padding操作 2.2 滑动窗口卷积操作 2.3 ...

  5. 独家思维导图!让你秒懂李宏毅2020深度学习(三)——深度学习基础(神经网络和反向传播部分)

    独家思维导图!让你秒懂李宏毅2020深度学习(三)--深度学习基础(神经网络和反向传播部分) 长文预警!!!前面两篇文章主要介绍了李宏毅视频中的机器学习部分,从这篇文章开始,我将介绍李宏毅视频中的深度 ...

  6. 【深度学习】卷积神经网络速成

    [深度学习]卷积神经网络速成 文章目录 [深度学习]卷积神经网络速成 1 概述 2 组成 2.1 卷积层 2.2 池化层 2.3 全连接层 3 一个案例 4 详细分析 1 概述 前馈神经网络(feed ...

  7. 谷歌新 AI 实验室主管 Hugo 深度学习教程:神经网络、CV、NLP 难点解析

     谷歌新 AI 实验室主管 Hugo 深度学习教程:神经网络.CV.NLP 难点解析 [日期:2016-12-16] 来源:新智元  作者: [字体:大 中 小]  11月22日,谷歌在蒙特利尔的 ...

  8. 深度学习之循环神经网络(11)LSTM/GRU情感分类问题实战

    深度学习之循环神经网络(11)LSTM/GRU情感分类问题实战 1. LSTM模型 2. GRU模型  前面我们介绍了情感分类问题,并利用SimpleRNN模型完成了情感分类问题的实战,在介绍完更为强 ...

  9. 深度学习之循环神经网络(10)GRU简介

    深度学习之循环神经网络(10)GRU简介 1. 复位门 2. 更新门 3. GRU使用方法  LSTM具有更长的记忆能力,在大部分序列任务上面都取得了比基础RNN模型更好的性能表现,更重要的是,LST ...

  10. 深度学习之循环神经网络(8)长短时记忆网络(LSTM)

    深度学习之循环神经网络(8)长短时记忆网络(LSTM) 0. LSTM原理 1. 遗忘门 2. 输入门 3. 刷新Memory 4. 输出门 5. 小结  循环神经网络除了训练困难,还有一个更严重的问 ...

最新文章

  1. 如何用Visual Studio Code远程调试运行在服务器上的nodejs应用
  2. QT的QTextStream类的使用
  3. mysql006添加外键约束
  4. php 水平测试,测试您的 PHP 水平的题目_PHP教程
  5. 【计算机网络复习 数据链路层】3.6.1 局域网
  6. Django上传文件,制作文件上传按钮,form上传文件
  7. 最近很火的桌面小猫代打器 人性化UI设置界面
  8. IOS开发之手势——UIGestureRecognizer 共存
  9. POJ 2287 田忌赛马 贪心算法
  10. python 实现 画图器_python实现画图工具
  11. 测试进阶必备,这5款http接口自动化测试工具真的很香
  12. Error while executing: am start -n(更换包名)
  13. Google Play评论抓取
  14. cad调了比例因子没反应_大神们都在用的9个CAD制图技巧,你会用几个?
  15. Kubernetes HPA 的三个误区与避坑指南
  16. ERROR:Session/line number was not unique in database. History logging moved to new session.
  17. VR,正在上演一出“风月宝鉴”
  18. EasyExcel大批量数据导出OOM,个人案例和解决办法
  19. TF-IDF 词向量
  20. 基于 Python django 的小型论坛系统

热门文章

  1. 经历了6面,终于入职蚂蚁金服
  2. 量子测量 量子计算 量子通讯 概述
  3. 神州数码配置命令总结-(已更新)
  4. The Happy Prince
  5. 51单片机非阻塞串口中断收发数据
  6. 个人支付免费开通支付宝付款功能(免费签约)支付宝当面付开通集成到网站教程
  7. Unity游戏开发图片纹理压缩方案
  8. Thinkphp使用CKEditor4富文本编辑器
  9. Word文档里面如何给内容进行注释添加
  10. VB语言和C语言有什么区别