热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

简单入门——深度学习笔记

神经网络神经网络的结构就像任何其他网络。它是一系列互连的节点,称为神经元和边缘,并将它们连接在一起。主要功能是接收一组输入执行逐步复杂的计算并使用

神经网络

神经网络的结构就像任何其他网络。

它是一系列互连的节点,称为神经元和边缘,并将它们连接在一起。

主要功能是接收一组输入执行逐步复杂的计算并使用输出来解决问题。

分类是其中的一个应用。分类是对一组对象进行分类,而只使用描述它们的一些基本数据特征。

分类器的例子 - 逻辑回归,支持机器向量(SVM)、朴素贝叶斯、神经网络。

分类器将数据作为输入开始,通过隐藏层进行处理,并在在输出处给出置信分数。

神经网络由输入层,隐藏层和输出层组成。隐藏层位于输入和输出层之间。

神经网络可以被视为在分层网络中将分类器一起旋转的结果,因为隐藏和输出层中的每个节点都有自己的分类器。

从输入 - >隐藏层 - >输出的过程称为前向传播(prop)。

分层的感知器网络大大提高了个体感知器触发的准确性。

每组输入受其自身的权重和偏置影响。这就是为什么当通过相同的图层,会得到一个不同的结果。

每个边具有唯一的权重,并且具有唯一的偏置。神经网络的预测精度取决于其权重和偏置。

目标是希望精确度高、神经网每次都预测一个尽可能接近实际输出的值。

提高神经网络精度的过程称为训练。

为了训练网络,将来自前向传播的输出与已知正确的输出进行比较。代价是两者的差。

训练的目的是使这个代价尽可能小。

为此,逐步调整权重和偏置,直到预测与正确的输出密切匹配。

一旦训练良好,神经网络有可能每次都能进行准确的预测。

为什么要使用深度学习?

深度学习有能力识别令人难以置信的复杂模式,特别是神经网络。

计算机一直擅长重复计算并能给出详细的说明,但历来是不擅长进行模式识别。

在模式复杂性方面,如果只需要识别简单模式,可以使用实时SVM或逻辑回归。

但是随着你的数据增长到几十或更多的输入,神经网络开始表现优异。

随着模式变得更复杂,具有少量层的神经网络可能变得不可用。原因是因为每层中所需的节点数量随着数据中可能的模式的数量呈指数增长。这使得训练变得昂贵(时间),并且精度受损。

所以对于更复杂的图案(图像),唯一的实际选择是深层网络。

深层网络能够将复杂的模式分解成一系列更简单的模式。

示例:检测人脸。深层网络首先将使用边缘来检测面部的不同部分(嘴唇、鼻子、眼睛、耳朵),然后将结果组合在一起以形成整个面部。

使用更简单的模式作为复杂模式的构建块,这使得深层网络具有优势。

精度已变得越来越令人印象深刻。

深层网络的灵感来自于我们自己的大脑的结构。大脑的模式识别类似于深层网络。

唯一的缺点是深层网络需要很长时间来训练。但随着计算(GPU)的最新进展,可以更快地训练他们。

使用哪个深层网络?

第一步是弄清楚你是否想要构建一个分类器或者在数据中找到模式。

无监督学习试图在未标记的数据中找到模式。如果这是你的目标,最好的方法是受限玻尔兹曼机(RBM)或自动编码器。

监督学习试图使用标签数据构建分类器。可以根据应用程序选择不同的方法。

对于文本处理任务,如情感分析、解析和命名实体识别,使用递归神经张量网络(RNTN)或循环网络(RNN)。

对于图像识别,使用深信念网络(DBN)或卷积网络(CNN)。

对于对象识别,使用卷积网络或RNTN。

对于语音识别使用循环网络。

一般来说,具有整流线性单元(RELU)的深信念网络(DBN)和多层感知器(MLP)是分类器的好选择。

对于时间序列分析,最好使用循环网络。

之所以花费这么长的时间来实现深层网络,这是由于其训练难度高。

为什么深层网络难以训练?

当我们尝试使用称为反向传播的方法训练它们时,会遇到一个称为消失梯度的基本问题,有时称为爆炸梯度。

当发生消失梯度时,训练花费时间太长,精度受到很大影响。

训练神经网络时,会不断计算成本值。然后通过在整个训练过程中对所述权重和偏置进行微调来降低成本,直到获得最低可能值。

训练过程使用了梯度,用来测量成本相对于权重或偏置的变化而变化的速率。

对于复杂的机器学习问题,深层架构是最好的,并且有时是唯一的选择,如面部识别的选择。但直到2006年,没有办法训练深层网络,因为消失梯度现象。

想象梯度类似于斜坡,训练过程如一个球下坡。坡度越陡,球越快下降。相同的逻辑适用于深层网络的梯度。

在神经网络中,梯度开始衰减或消失。梯度在早期的层中小得多。因此早期的层是最慢的训练。

如果早期的层是错误的,由网络建立的结果将是错误的。

用于训练神经网络的过程称为反向传播。前向传播是从输入开始,向前移动。反向传播方向相反,它从右到左计算渐变。

在反向传播中,每次计算梯度时,它会使用该点所有以前的梯度。一个节点可以在整个网络中使用许多不同的梯度。

网络越大和越深,其变得越复杂,并且每个节点具有更多的梯度。这是因为任何节点处的梯度是到该点为止之前梯度的乘积。

假设矩形有两个梯度,其中一个是1/4,另外一个是1/3。二者相乘得到1/12,然后乘以1/4后得到1/48,乘积越多数字越小。

由于所有的这些反传最终需要太长的训练,并且精度通常非常低。直到2006年,深层网络的表现欠佳的浅网和机器学习算法,但受限玻尔兹曼机改变了这个现状。

 

全文点击:http://click.aliyun.com/m/12643/  




推荐阅读
  • TensorFlow入门上
    前置准备在阅读本文之前,请确定你已经了解了神经网络的基本结构以及前向传播、后向传播的基本原理,如果尚未了解,可以查看下文。神经网络初探​chrer.com也可以直接在我博客阅读Te ... [详细]
  • 干货 | 携程AI推理性能的自动化优化实践
    作者简介携程度假AI研发团队致力于为携程旅游事业部提供丰富的AI技术产品,其中性能优化组为AI模型提供全方位的优化方案,提升推理性能降低成本࿰ ... [详细]
  • 开源真香 离线识别率高 Python 人脸识别系统
    本文主要介绍关于python,人工智能,计算机视觉的知识点,对【开源真香离线识别率高Python人脸识别系统】和【】有兴趣的朋友可以看下由【000X000】投稿的技术文章,希望该技术和经验能帮到 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • OCR:用字符识别方法将形状翻译成计算机文字的过程Matlab:商业数学软件;CUDA:CUDA™是一种由NVIDIA推 ... [详细]
  • 「爆干7天7夜」入门AI人工智能学习路线一条龙,真的不能再透彻了
    前言应广大粉丝要求,今天迪迦来和大家讲解一下如何去入门人工智能,也算是迪迦对自己学习人工智能这么多年的一个总结吧,本条学习路线并不会那么 ... [详细]
  • Yarn已过时!Kubeflow实现机器学习调度平台才是未来
    来源:AI前线本文约6700字,建议阅读10分钟。本文分析了建设分布式训练平台的过程中的痛点所在,为你介绍Kubeflow与其核心组件及其 ... [详细]
  • 分类与聚类
    一:分类1:定义分类其实是从特定的数据中挖掘模式,做出判断的过程。分类是在一群已经知道类别标号的样本中,训练一种分类器 ... [详细]
  • 20180717不要人工智能,用SQL就够了BP神经网络与模糊神经网络在空气质量评价中的应用如何用Tensorflow.js部署简单的AI图像识别应用2018 ... [详细]
  • 【推荐算法】今日头条、抖音推荐算法原理全文详解!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要17分钟跟随小博主,每天进步一丢丢整理:良许Linux作 ... [详细]
  • fNIRS功能近红外数据处理服务
    在脑科学和神经科学领域,功能近红外成像技术(functionalnear-infraredspectroscopy,fNIRS)已经逐渐成 ... [详细]
  • 深度学习与神经网络——邱锡鹏
    深度学习与神经网络——邱锡鹏-一、绪论人工智能的一个子领域神经网络:一种以(人工))神经元为基本单元的模型深度学习:一类机器学习问题,主要解决贡献度分配问题知识结构:路线图:顶 ... [详细]
author-avatar
太阳神神神_890
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有