深度学习理论解释基础

参考文献:

特征提取:

  在深度学习中,下层携带的信息量会大于上层的信息量。最下层被认为是基。譬如高维空间中,总有一组完备基。任何一个向量都可以通过完备基线性表示。这是,经过多层表示,后面的各个向量组成的矩阵的秩小于等于其下一层个向量组成矩阵的秩当然,我们这里一开始引入时,也认为任何一幅图可以表示为400张图的线性组合。

  但实际深度学习中的层还有一些激活函数,它们是非线性的。如果是这样,紫色部分应改为“任何一层S和第一层的互信息小于等于S下一层与第一层的信息”。注意,这里一定都是和第一层的互信息。因为由于每层除了削减的一些信息外,还可能额外增加了一些其他信息,这部分额外的信息可能会传递给下一层。这样导致,如果只用任何相邻的互信息来比较,就会出现很大的问题。

浅层学习:

20世纪80年代末,神经网络就开始出现。不过,此时的神经网络就只是多了一层隐藏层。

20世纪90年代,各种可以视为浅层网络相继出现:SVM,Boosting,最大熵方法。此时,浅层的神经网络又是陷入了沉寂。

2006,Geoffrey Hinton和他的学生RuslanSalakhutdinov发表在《科学》上一篇文章,开启了深度学习热潮。其主要思想:

1)多隐层的人工神经网络具有优异的特征学习能力,学习得到的特征对数据有更本质的刻画,从而有利于可视化或分类;

2)深度神经网络在训练上的难度,可以通过“逐层初始化”(layer-wise pre-training)来有效克服,在这篇文章中,逐层初始化是通过无监督学习实现的。

缺点:

1)难以表达复杂分类映射,感觉欠拟合,泛化能力低。(当然深度学习过拟合时,泛化能力也会低,当时可控)

深度学习:

  为了解决浅层学习由于欠拟合造成的泛化能力低,自然想着复杂的映射。什么样的复杂?仅仅选择一个初等函数远远不够。选几个初等函数的组合,怎么样?怎么组合法?线性相加?一个作为另一个的指数?有这样的考虑,比如:

  实际上,我们会有一种经典的映射,已经实验得到了不错的效果。

优点:

区别于传统的浅层学习,深度学习的不同在于:1)强调了模型结构的深度,通常有5层、6层,甚至10多层的隐层节点;2)明确突出了特征学习的重要性,也就是说,通过逐层特征变换,将样本在原空间的特征表示变换到一个新特征空间,从而使分类或预测更加容易。与人工规则构造特征的方法相比,利用大数据来学习特征,更能够刻画数据的丰富内在信息。

时间: 2024-07-28 18:47:01

深度学习理论解释基础的相关文章

对比学习资料《深度学习入门:基于Python的理论与实现》+《深度学习原理与实践》+《深度学习理论与实战基础篇》电子资料

我认为<深度学习入门:基于Python的理论与实现>电子书代码基本原理,简洁清楚,所用数学基本就是大一水平,适合做第一本入门书. <深度学习入门:基于Python的理论与实现>书代码实现的神经网络全是用numpy,超级适合刚刚入门想了解神经网络,数学不好看公式看不懂的人,看完这本基本就懂深度学习是弄啥子了. 如果连这本都看不懂的话,可以去看<Python神经网络编程>.我个人认为这两本书是最简单直白的方式让人理解神经网络的了. <深度学习原理与实践>电子书代

深度学习理论

<Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机.神经网络.决策树.SVM.Adaboost 到随机森林.Deep Learning. <Deep Learning in Neural Networks: An Overview> 介绍:这是瑞士人工智能实验室 Jurgen Schmidhuber 写的最新版本<神经网络与深度学习综述>本综述的特点是以时间排序,从 1940 年开始讲起,到

免费的中文深度学习全书:《深度学习理论与实战:提高篇》

在线阅读:深度学习理论与实战:提高篇 序言 16年9月的时候我在CSDN发了一些深度学习的文章,主要是面向没有太多经验的开发者.达文读了后觉得我的文章比较通俗易懂,邀请我写一本书,当时头脑一热就答应下来.虽然现在出版的书籍汗牛充栋,但是对我来说著书立言始终是一件非常严肃和重大的事情.立德.立功.立言乃儒家的三不朽,可见古人对于其重视.我的这本书只是关于深度学习的技术类书籍,远远谈不上立言,但是总归会有一些读者的,因此我希望这本书至少对读者有一些帮助,而不是误人子弟.从开始写下第一个字到现在,前后

深度学习理论与实战PyTorch实现

课程目录: 01.预备内容(入门)02.Python基础(入门)03.PyTorch基础(入门)04.神经网络(进阶)05.卷积神经网络(进阶)06.循环神经网络(进阶)07.生成对抗网络GAN(进阶)08.强化学习(进阶)09.毕业项目 下载地址:深度学习理论与实战PyTorch实现 原文地址:https://www.cnblogs.com/lijm1266/p/12154496.html

深度学习之基础篇(三)

1.神经网络中损失函数和优化函数的作用 训练出一个网络模型之后如何对模型进行评估?往往是衡量预测值与真实值之间的差异程度,这就是通过损失函数来完成的.另外损失函数也是神经网络中优化的目标函数,神经网络训练或者优化的过程就是最小化损失函数的过程,损失函数越小,说明模型的预测值就越接近真实值,模型的准确性也就越好.那么为了最小化损失函数则需要对网络模型的参数进行更新,确定如何更新参数这时则需要选择合适的优化函数(用以确定对网络模型参数进行更新的方法,步长和方向的确定).我们都知道,神经网络模型训练得

预解释-基础

预解释(变量提升):在当前的作用域中,JS代码从上到下执行之前,浏览器会默认的先把所有带var/function关键字的进行提前的声明或者定义对带var变量的是提前声明(declare)对带function关键字的是提前定义(声明+定义)(defined) ->在预解释阶段,带var关键字的只是提前的声明,只有在JS从上到下执行的过程中才会进行定义赋值: 1 //->预解释阶段:告诉浏览器在当前的作用域中(window)有一个名字叫做num的变量:var num; 2 console.log(

【深度学习】基础--NumPy

因为深度学习会应用到我们大学时候学习的数学知识---线性代数.(矩阵当年想起来还是挺有意思的,有考研的经历都有感觉) 而在计算机里面如何展示矩阵的计算和应用,就需要运用到NumPy,是Python的一个外部库. 开始学习一下如何应用Numpy进行数组和矩阵的运算. 目录 1.生成一维数组和计算 2.生成矩阵与计算 1.生成一维数组和计算 import numpy as np x= np.array([1.0,2.0,3.0]) print(x) y = np.array([3.0, 6.0, 9

堆与栈(JAVA)——以String str=&quot;abc&quot;的深度含义解释

栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方.与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器.但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性.另外,栈数据在多个线程或者多个栈之间是不可以共享的,但是在栈内部多个值相等的变量是可以指向一个地址的.堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收集器会自动收走这些不再使用的数据.但缺点是,由于要在运

深度学习——神经网络基础

整理自: https://blog.csdn.net/woaidapaopao/article/details/77806273?locationnum=9&fps=1 Backpropagation 梯度消失.梯度爆炸 常用的激活函数 参数更新方法 解决overfitting的方法 1.Backpropagation(要能推倒)  后向传播是在求解损失函数L对参数w求导时候用到的方法,目的是通过链式法则对参数进行一层一层的求导.这里重点强调:要将参数进行随机初始化而不是全部置0,否则所有隐层的