深度学习之概述

深度学习的应用场景

1、图像应用:
    1.1 大规模(大数据量)图片识别(聚类/分类),如人脸识别,车牌识别,OCR等。人脸识别算法:① faceID ② faceNet
    1.2 以图搜图,图像分割
    1.3 目标检测,如自动驾驶的行人检测,安防系统的异常人群检测。目标检测算法:① faster RCNN ② SSD ③ YOLO(YOLO3)

2、语音识别,语音合成
    2.1 语音识别:① deep speech2 ② DFSMN
    2.2 语音合成:① tactorn2

3、自然语言处理 NLP:
    3.1 自动分词,句法分析/语义分析、语义角色标注SRL,语法纠错,关键词提取,文本分类/聚类,文本自动摘要,信息检索(ES,Solr),信息抽取,网络爬虫,情感分析,命名实体识别,问答系统 
        3.11 自动分词:
             算法:
             工具:jiagu jieba hanlp
        3.12 句法分析/语义分析、语义角色标注SRL:
            (1)句法分析:
                算法:
                工具:hanlp
            (2)语义分析、语义角色标注SRL:
                算法:
                工具:ltp
        3.13 语法纠错:
        3.14 关键词抽取:
        3.15 关键词分类:
        3.16 文本分类、文本聚类:
            (1)文本分类:
            (2)文本聚类:
        3.17 文本自动摘要:
        3.18 信息检索:
        3.19 信息抽取:
        3.20 情感分析:
        3.21 命名实体识别:
             算法:
             工具:hanlp
        3.21 问答系统:
    3.2 知识图谱,机器翻译,人机对话,机器写作 
    3.3 推荐系统,高考机器人

4、数据挖掘,风控系统,推荐系统,广告系统等    --------- 机器学习多于深度学习

神经网络的起源

神经网络来源之人的思考。

大脑是由处理信息的神经元细胞和连接神经元的细胞进行信息传递的突触构成的。 树突(Dendrites)从一个神经元接受电信号,信号在细胞核(Cell Body)处理后, 然后通过轴突(Axon)将处理的信号传递给下一个神经元。

一个神经元可以看作是将一个或多个输入处理成一个输出的计算单元。通过多个神经元的传递,最终大脑会得到这个信息, 并可以对这个信息给出一个合适的反馈。

感知器模型--深度学习神经元的前身

感知器是一种模拟人的神经元的一种算法模型,是一种研究单个训练样本的二元分类器,是SVM和人工神经网络(ANN, Artificial Neural Networks)的基础。

一个感知器接受几个二级制的输入,并产生一个二进制的输出,通常的表达方式如下:

感知器模型直观理解

感知器可以看作是根据权重来做出决定的一个设备/单元,只要我们可以给定一个比较适合的权重以及阈值,那么感知器应该是能够对数据进行判断的/分类预测的。

假定你现在在考虑是否换工作,也许你会考虑一下三个方面的因素: 

  •     新工作的待遇会提高吗?   权重w1
  •     你家庭经济压力大吗?     权重w2
  •     新工作稳定吗?          权重w3

结果:w1*x1 + w2*x2 + w3*x3  比较    阈值

多层感知器(人工神经网络ANN)

将多个感知器进行组合,我们就可以得到一个多层感知器的网络结构,网络中的每一个节点我们叫做神经元。

感知器神经元直观理解之逻辑与 

感知器网络理解以及S型神经元

其实只要将网络中的权重或者偏置项稍微的做一点小的改动,都会导致最终的输出发生一定的变化。但是在感知器神经网络中,单个感知器上的权重或者偏置项发现一点小的变化,最终的输出要不不变,要不完全翻转(因为只有两种取值-1 和 1),这种翻转会导致接下来的感知器可能发生复杂的完全没法控制的变化,这样会导致我们的网络很难得到最终的逼近结果。

针对感知器网络这种很难学习的问题,引入S型神经元来代替感知器。因此:感知器模型 + 非线性连续激活函数来使得网络赋予非线性因素的方法就诞生了。

从感知器模型中,我们可以将单个神经元的计算过程看成下列两个步骤:

  • 先计算权重w和输入值x以及偏置项b之间的线性结果值z:z=wx+b
  • 然后对结果值z进行一个数据的sign函数(变种)转换,得到一个离散的0/1值:y=int((sign(z)+1)/2)

在S型神经元中,和感知器神经元的区别在于:对于结果值z的转换,采用的不是sign函数进行转换,是采用平滑类型的函数进行转换,让输出的结果值y最终是一个连续的,S型神经元转指使用的是sigmoid函数。

激活函数

激活函数的主要作用是提供网络的非线性建模能力。如果没有激活函数,那么该网络仅能够表达线性映射,此时即便有再多的隐藏层,其整个网络跟单层神经网络也是等价的。因此也可以认为,只有加入了激活函数之后,深度神经网络才具备了分层的非线性映射学习能力。 激活函数的主要特性是:可微性、单调性、输出值的范围;

常见的激活函数:Sign函数、Sigmoid函数、Tanh函数、ReLU函数、P-ReLU函数、Leaky-ReLU函数、ELU函数、Maxout函数等

激活函数之 Sigmoid、tanh、ReLU、ReLU变形和Maxout_fenglepeng的博客-CSDN博客

神经网络

神经网络结构

神经网络主要由三个组成部分,第一个是架构(architecture)或称为拓扑结构(topology),描述神经元的层次与连接神经元的结构。第二个组成部分是神经网络使用的激励/激活函数。第三个组成部分是找出最优权重值的学习算法

神经网络主要分为两种类型,前馈神经网络(Feedforward Neural Networks)是最常用的神经网络类型,一般定义为有向无环图,信号只能沿着最终输出的那个方向传播。另外一个是反馈神经网络(Feedback Neural Networks),也称为递归神经网络(Recurent Neural Networks),也就是网络中环。

神经网络之浅层神经网络

添加少量隐层的神经网络就叫做浅层神经网络;也叫作传统神经网络,一般为2隐层的神经网络(超过两隐层的话,效果会差很多)

神经网络之深度神经网络(Deep Neural Networks, DNN)

增多中间层(隐层)的神经网络就叫做深度神经网络(DNN);可以认为深度学习是神经网络的一个发展

神经网络之非线性可分

对线性分类器的与和或的组合可以完成非线性可分的问题;即通过多层的神经网络中加入激活函数的方式可以解决非线性可分的问题。

神经网络之过拟合

理论上来讲,单隐层的神经网络可以逼近任何连续函数(只要隐层的神经元个数足够的多<一个神经元将数据集分为两类>)

虽然从数学表达上来讲,效果一样,但是在网络工程效果中,多隐层的神经网络效果要比单隐层的神经网络效果好

对于一些分类的问题来讲,三层的神经网络效果优于两层的神经网络,但是如果把层次不断增加(4,5,6,7....),对于最终的效果不会产生太大的变化

提升隐层层数或者神经元个数,神经网络的“容量”会变大,那么空间表达能力会变强,(模型的预测能力),从而有可能导致过拟合的问题

对于视频/图片识别等问题,传统的神经网络(全连接神经网络)不太适合

神经网络之DNN问题

一般来讲,可以通过增加神经元和网络层次来提升神经网络的学习能力,使其得到的模型更加能够符合数据的分布场景;但是实际应用场景中,神经网络的层次一般情况不会太大,因为太深的层次有可能产生一些求解的问题。

在DNN的求解中有可能存在两个问题:梯度消失梯度爆炸;我们在求解梯度的时候会使用到链式求导法则,实际上就是一系列的连乘,如果每一层都小于1的话,则梯度越往前乘越小,导致梯度消失,而如果连乘的数字在每层都是大于1的,则梯度越往前乘越大,导致梯度爆炸.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/454096.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何根据对象获取到对应的表名_Excel VBA 常用对象二

下面继续讲解上一节中未讲完的内容&#xff1a;Excel VBA编程中常常使用的那些对象到底是什么&#xff0c;如何在代码中表示它们。Worksheet对象Worksheet对象代表工作表。工作簿中的每个工作表都是一个Worksheet对象&#xff0c;所有Worksheet对象构成了Worksheets集合。我们使…

深度学习之 BP 算法

神经网络的一种求解W的算法&#xff0c;分为信号“正向传播(FP)”求损失&#xff0c;“反向传播(BP)”回传误差&#xff1b;根据误差值修改每层的权重&#xff0c;继续迭代。 BP算法也叫做δ算法。以三层的感知器为例&#xff08;假定现在隐层和输出层均存在相同类型的激活函数…

深度学习之 RBF神经网络

RBF神经网络通常只有三层&#xff0c;即输入层、中间层和输出层。其中中间层主要计算输入x和样本矢量c&#xff08;记忆样本&#xff09;之间的欧式距离的Radial Basis Function (RBF)的值&#xff0c;输出层对其做一个线性的组合。 径向基函数&#xff1a; RBF神经网络的训练…

redis 队列_Redis与Rabbitmq消息队列的区别

将redis发布订阅模式用做消息队列和rabbitmq的区别&#xff1a;可靠性 redis &#xff1a;没有相应的机制保证消息的可靠消费&#xff0c;如果发布者发布一条消息&#xff0c;而没有对应的订阅者的话&#xff0c;这条消息将丢失&#xff0c;不会存在内存中&#xff1b;rabbit…

EasyUI中那些不容易被发现的坑——EasyUI重复请求2次的问题

问题控件&#xff1a;datagrid、combobox、所有能设置url属性的控件 问题版本&#xff1a;1.4.4、1.4.5&#xff08;之前的版本没测&#xff09; 问题如图&#xff1a; 重复请求2次&#xff0c;错误代码如图&#xff1a; 错误问题分析&#xff1a;html加载的时候回请求url加载数…

ElasticSearch Java API

ElasticSearch-Java Client类型 ElasticSearch-TransportClient环境准备 ElasticSearch-TransportClient连接 ElasticSearch-Document APIs ElasticSearch-搜索-原理 ElasticSearch-搜索-问题 ElasticSearch-搜索-问题解决思路 ElasticSearch-搜索-SearchType-类型一 E…

深度学习之卷积神经网络(Convolutional Neural Networks, CNN)

前面, 介绍了DNN及其参数求解的方法(深度学习之 BP 算法),我们知道DNN仍然存在很多的问题&#xff0c;其中最主要的就是BP求解可能造成的梯度消失和梯度爆炸.那么,人们又是怎么解决这个问题的呢?本节的卷积神经网络(Convolutional Neural Networks, CNN)就是一种解决方法. 我们…

深度学习之卷积神经网络(Convolutional Neural Networks, CNN)(二)

前面我们说了CNN的一般层次结构, 每个层的作用及其参数的优缺点等内容.深度学习之卷积神经网络(Convolutional Neural Networks, CNN)_fenglepeng的博客-CSDN博客 一 CNN参数初始化及参数学习方法 和机器学习很多算法一样, CNN在进行训练之前也要进行参数的初始化操作. 我们…

Hadoop1.x版本升级Hadoop2.x

引言 随着企业数据化和Hadoop的应用越加广泛&#xff0c;hadoop1.x的框架设计越来越无法满足人们对需求&#xff0c;Apache一直在对Hadoop1.x进行修改&#xff0c;最后推出了新一代的Hadoop2.x。从业界使用分布式系统的变化趋势和 hadoop 框架的长远发展来看&#xff0c;MapRed…

本页由试用版打印控件lodop6.2.6输出_Visual Basic 6.0 Sirk 迷你版

Visual Basic 6.0 Sirk 迷你版 VB6 Sirk Mini 2019更新1、支持主流操作系统&#xff0c;避免原版安装失败的问题&#xff1a;支持Windows XP、Vista、Win7、Win8、Win10(32位、64位)。2、保留大部分常用功能&#xff0c;避免精简版过度精简&#xff1a;包含原版完整控件&#x…

深度学习之卷积神经网络 LeNet

卷积神经网络典型CNN LeNet&#xff1a;最早用于数字识别的CNNLeNet5&#xff1a;现在常说的一般就是LeNet5AlexNet&#xff1a;2012ILSVRC冠军&#xff0c;远超第二名的CNN&#xff0c;比LeNet更深&#xff0c;用多层小卷积叠加来替换单个的大卷积ZF Net&#xff1a;2013ILSV…

dom4j的读写xml文件,读写xml字符串

百度了一些博客&#xff0c;大同小异&#xff0c;在选取jar包工具的时候大概看了下&#xff0c;大抵是jdom原始&#xff0c;dom4j优秀。于是做了些练习。 参考&#xff1a;http://www.cnblogs.com/mengdd/archive/2013/06/05/3119927.html 1 package com.test.xml;2 3 import j…

深度学习之数据增强方案和TensorFlow操作

一、数据增强的方法介绍 增加训练数据&#xff0c; 则能够提升算法的准确率&#xff0c; 因为这样可以避免过拟合&#xff0c; 而避免了过拟合你就可以增大你的网络结构了。 当训练数据有限的时候&#xff0c; 可以通过一些变换来从已有的训练数据集中生成一些新的数据&#x…

使用OpenSSL实现CA证书的搭建过程

个人博客地址&#xff1a;http://www.pojun.tech/ 欢迎访问 什么是CA CA,Catificate Authority,通俗的理解就是一种认证机制。它的作用就是提供证书&#xff08;也就是服务端证书&#xff0c;由域名&#xff0c;公司信息&#xff0c;序列号&#xff0c;签名信息等等组成&#…

gdb使用实例

第一篇 概论我们将学习使用gdb来调试通过一个通过串行线同PC相连的嵌入式系统。Gdb可以调试各种程序&#xff0c;包括C、C、JAVA、PASCAL、FORAN和一些其它的语言。包括GNU所支持的所有微处理器的汇编语言。在gdb的所有可圈可点的特性中&#xff0c;有一点值得注意&#xff0c;…

Linux 监控命令之 netstat

netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据&#xff0c;一般用于检验本机各端口的网络连接情况。netstat是在内核中访问网络及相关信息的程序&#xff0c;它能提供TCP连接&#xff0c;TCP和UDP监听&#xff0c;进程内存管理的相关报告。 语法 netstat [-acC…

solr 配置

创建 SolrHome(solrCore) 1.解压 solr-4.10.4.tgz 到 /usr/local/solr 2.将 solr-4.10.4/example/solr 下所有文件拷贝到 /usr/local/solrhome (此 solrhome 为自己创建的) solrhome 是 solr 运行主目录&#xff0c;可包含多个 SolrCore 目录SolrCore 目录中包含运行 Solr 实例…

mfc程序转化为qt_10年程序员:我都学过这些语言,2019年开始我再也不是程序员......

为什么学编程2008年&#xff0c;高中毕业的我问一个已经工作两年的亲戚&#xff1a;什么专业工资高&#xff1f;他告诉我&#xff1a;程序员。2008年成都最低工资好像是800元&#xff0c;我的生活费也是800元&#xff0c;据他所说程序员出来的工资是2000&#xff0c;于是开始了…

day 7 引用

1.ba在c语言和python中的区别 c语言&#xff1a;a100 a变量里面放的100 b a b变量里面也放的100 python &#xff1a; a100 内存中有个100 a放的100的内存地址 b a b也放的100的内存地址 相当于给100那一块内存&#xff0c;贴个便利签 2.type查看数据类型&…

Dapper逆天入门~强类型,动态类型,多映射,多返回值,增删改查+存储过程+事物案例演示...

Dapper的牛逼就不扯蛋了&#xff0c;答应群友做个入门Demo的&#xff0c;现有园友需要&#xff0c;那么公开分享一下&#xff1a; 完整Demo&#xff1a;http://pan.baidu.com/s/1i3TcEzj 注 意 事 项&#xff1a;http://www.cnblogs.com/dunitian/p/5221058.html 平台之大势何人…