当前位置: 首页 > 编程日记 > 正文

hung-yi lee_p15_机器学习深层网络比浅层网络好在哪

文章目录

    • 疑问-为什么要那么多层
      • 简单解释
    • 以语音识别为例
      • 语音识别基础
      • GMM的方法的缺陷
      • 深度学习的高明之处
      • 回到问题-为什么一层能解决还要多层
    • 从电子工程(EE)角度解释
      • 一个电路的例子
    • 日常角度解释
      • 剪窗花
    • Deep Learning的优点
      • 适用于参数少的情况
      • End-to-end Learning
      • 面临复杂问题

疑问-为什么要那么多层

一层做的足够多,就可以了
在这里插入图片描述
如果参数总数一定,比较两种神经网络
矮胖vs.高瘦
在这里插入图片描述
结果显示:即使参数更少,高瘦的网络出错率更低
在这里插入图片描述

简单解释

为什么呢?
做DL其实就是在做模块化
在这里插入图片描述
例如,现在做这样一个影响分析:长发男,长发女,短发男,短发女,需要四个分类模型
但长发男的数据过少,会造成训练出的模型性能较弱(weak)
在这里插入图片描述
为了解决这个问题,我们可以把问题切分成两个,这样任一数据集中数据数量都不会太少
在这里插入图片描述
这样新的模型可以利用已经训练的模型,只需借助比较少的结果就能训练出好模型
在这里插入图片描述
总结一下就是
第一层是最基础的分类器,第二层把第一层输出作为输入,稍微复杂些,以此类推……
模组化的作用是把复杂的问题变简单了,就算训练集数据没那么多,也可以做好
AI = 大数据 + Deep Learning 的说法是误人的
在这里插入图片描述

以语音识别为例

语音识别基础

人类语言的架构
同一个音素(phoneme)会因为上下文不同发不同音
acoustic feature (声学特征)转成 state
每一段时间取一些数据 得到 acoustic feature sequence
在这里插入图片描述

GMM的方法的缺陷

采用深度学习之前GMM方法认为每一个state都是因素特征的一个固定分布(stationary distribution)
在这里插入图片描述
问题是state太多,测试数据不够
之前的解决方案是不同的state共用同一个分布,这些state称作tied-state
可看成指针(pointer)指向同一地址(same address)
在这里插入图片描述
saspace GMM 找出很多高斯,每个state的信息是key,key告诉我们从高斯库挑哪些高斯 如135,通过训练知道挑哪些
刚才的假设基于所有音素都被独立建模,但是这对于人类的声音并不适用
如图,是人类语言所有的母音,只受舌头上下位置、前后位置、口型影响
如 i 的发音比 e 的发音舌头要靠上靠前,而 i 和 y 的舌头位置相同,口型不同
在这里插入图片描述

深度学习的高明之处

深度学习是怎么做的呢
学习一个深度神经网络(DNN),其输入是一个音素特征(acoustic feature),输出是该音素属于每种状态(state) a,b c…的概率
提升效率的关键在于,所有的状态共用一个DNN
DNN不是靠增加参数,暴力碾压的方法
在这里插入图片描述
为什么说这样能提升效率?
把DNN的某一个hidden layer取出
如图所示,每一个点代表一个音素特征(降到了二维)
颜色表示不同因素 蓝色-i 黄色-u 黑色-a 红色-o 绿色-e
发现左右两幅图的5个母音分布几乎一样
可以见得,低层层做的事情是检测人的发音方式(the manner of articulation),之后的层再根据现在的结果决定其属于哪个state
因此所有的因素才可以共享相同的检测器集(the same set of detectors)
同时做到了模组化(modularization),也就更有效率地利用了参数
在这里插入图片描述

回到问题-为什么一层能解决还要多层

回到之前的一层解决所有的理论(universality theorem):
该理论只说能做到,却没说做到的效率
更深的网络效率是更高的
在这里插入图片描述

从电子工程(EE)角度解释

类比(analogy)神经网络和逻辑电路
像神经网络一样只要有两层逻辑门就可以表示任何布尔函数
但使用多层逻辑门实现相同功能的函数需要的门更,更有效率
回到NN中,也就是我们需要的参数更少,需要的数据也就更少
在这里插入图片描述

一个电路的例子

假设现在要做奇偶校验检查(parity check)-数1的个数属于奇数还是偶数
如果2层,d个输入需要2^d个逻辑门
如果多层,逻辑门数量大大减少
数量级从O(2^d)降到了O(d)
在这里插入图片描述

日常角度解释

剪窗花

在这里插入图片描述
回到之前说的问题,linear model的死穴
因为加了DL,其实是做了特征转换,让点的位置变了
这个过程是不是很像折叠了平面
而剪窗花折叠的是纸,一个洞展开后变成5个
也就是一笔data发挥了五笔data的效力
也就是深度学习use data more effectively
在这里插入图片描述

Deep Learning的优点

适用于参数少的情况

如图所示
固定参数的量,改变训练数据的量
数据量少时,多层的,崩也崩得有迹可循
在这里插入图片描述

End-to-end Learning

复杂的函数是由很多简单函数组成
end-to-end training很像黑盒测试,只告诉输入输出是什么,中间的分工让机器自动学习
在这里插入图片描述
以语音识别为例
它的production line如图所示(不知道具体每个环节没有关系)
在这里插入图片描述
整个生产线只有最后的蓝盒子(函数)是由数据学出来的
前面的绿盒子(也是函数)都是人为做的
有了深度学习之后,那些绿盒子也可以由机器来做了,我们可以从log开始,从DCT
byebye MFCC

如果我们希望叠一个很深很深的NN,让输入输出全由机器处理可以吗(不是可以少学很多知识:p)
在这里插入图片描述
事实证明也只能和人为打平手

面临复杂问题

在这里插入图片描述
语音的例子(对应不同的输入,相似的输出)
如下图,不同颜色表示不同人说的同一句子
如果只有一层
在这里插入图片描述
8层,把不像的识别出来了,知道是像的
在这里插入图片描述
手写数字的例子(对应相似的输入,不同的输出)
如图,4和9很像,几乎叠在一起,随着层数增多,数字分的越来越开

在这里插入图片描述

相关文章:

从WEB SERVICE 上返回大数据量的DATASET

前段时间在做一个项目的时候,遇到了要通过WEB SERVICE从服务器上返回数据量比较大的DATASET,当然,除了显示在页面上以外,有可能还要用这些数据在客户端进行其它操作。查遍了网站的文章,问了一些朋友,也找了一些解决方法. 众所周知,如果不用其它方…

ORACLE解决登陆em状态暂挂方法

1、找到oracle安装目录中db_1/计算机名_orcl/sysman/config/emd.properties , 用记事本打开emd.properties,在emd.properties文件 最后一行 的agentTZRegionGMT改为 agentTZRegionAsia/Chungking2、在dos 窗口输入 set oracle_sidorcl emctl stop dbcon…

VBA注释临时

Sub shishi() 按ABCDE为多选题定义答案; A.沙利度胺 B.异烟肼 C.利福平 d.氯法齐明 E.氨苯砜 46.各型麻风病的首选药物为(D) A.沙利度胺 B.异烟肼 C.利福平 d.氯法齐明 E.氨苯砜 45&#xf…

hung-yi lee_p13_反向传播

文章目录背景链式法则计算思路梯度计算过程/反向传播总结背景 回顾神经网络中计算梯度,更新梯度的过程 这里面的问题是,梯度是一个上百万维的向量,计算出来并非易事 这就引出了反向传播 可以说反向传播是梯度下降在神经网络中的实现。 链式…

介绍两个非常好用的Javascript内存泄漏检测工具

内存泄漏对开发者来说一般很难检测因为它们是由一些大量代码中的意外的错误引起的,但它在系统内存不足前并不影响程序的功能。这就是为什么会有人在很长时间的测试期中收集应用程序性能指标来测试性能。 最简单的检测内存泄漏的方式是用任务管理器检查内存使用情况。…

全局化和本地化

区域性En 英语en-CA 加拿大英语af-ZA 南非荷兰语eu 巴斯克语kn-IN 埃纳德语 印度tr 土耳其语Cy-uz-UZ 乌兹别克语 西里尔字母表Lt-uz-UZ 乌兹别克语 拉丁文字母表zh-CHT 繁体中文zh-CHS 简体中文设置当前区域性System.Threading.Thread.CurrentThread.CurrentCulture new Sys…

lvm讲解和磁盘故障案例

一:lvm讲解1.准备磁盘分区fdisk /deb/sdbn创建三个新分区,分别为1Gt改变分区类型为8e2.pvcreate /dev/sdb1yum install -y lvm [rootcentos7-1 ~]# yum install -y lvm 已加载插件:fastestmirror base …

hung-yi lee_p17_卷积神经网络

文章目录背景:卷积层池化层摊平KerasCNN学到了什么Deep DreamDeep Style怎么把CNN用在下围棋上为什么可以将CNN用于下围棋CNN更多应用背景: DNN拿掉一些参数就成CNN 为什么可以这样做 每一个神经元只需要图中的一部分就可以识别出想要的模式 更小的区域…

抓住青春的尾巴再愤青一把

这是今天google大神查到的:一、CAPCOM的《大神》,PS2专属ACT游戏,以三大神之一的日照处天子为原型,动作爽快华丽,是我期待很久的作品,预计今冬发售。 ... 并不是说这个水墨3D是大宇搞出来的DD,3…

the folder is already a source folder.

在新建的maven项目中,新建src/main/java时,提示the folder is already a source folder. 解决办法:右键工程,build path--configure build path--source,删除src/mian/java,再建src/main/java时即可。转载于…

selenium webdriver - 结束进程

1 import org.openqa.selenium.WebDriver;2 import org.openqa.selenium.firefox.FirefoxDriver;3 import org.openqa.selenium.os.WindowsUtils;4 /*5 * 结束进程6 */7 public class KillProcess {8 9 public static void main(String[] args) { 10 //结束进程 …

白盒测试的3中主要方法(cont.)

文章目录白盒测试简介逻辑覆盖测试法SCDCCCCDCMCCMCDC基本路径测试法BPC测试的四个步骤循环路径覆盖法白盒测试简介 静态白盒测试也称为结构化分析。 动态白盒测试又称为结构化测试。 以下所说的应该均属于动态白盒测试。 逻辑覆盖测试法 SC sentence coverage 语句覆盖 设…

CRichEdit小记

使用前要AfxInitRichEdit2(); 修改背景颜色和字体颜色 CRichEditCtrl* p(CRichEditCtrl*)GetDlgItem(IDC_RICHEDIT21);CHARFORMAT2 cf;memset((char*)&cf,0,sizeof(cf));COLORREF color;color RGB(0,255,0);cf.dwMask CFM_COLOR;cf.crTextColor color; //The text color…

学习3dmax(四)

今天没有怎么做东西,是再看一些理论的东西。这个是再网上看到的,虽然说的是如何学习3dmax,但是我个人认为学习任何一种技术都应该如此。1. 把MAX当成一门新的课程学习(和MAYA没啥关系!真的。)&…

ES6深拷贝与浅拷贝

小感在前 React学习与开发过程要经历一个相当长的准备阶段,此前看阮一峰老师的文章中,他就特别提到这一点。但是,由于React框架或者说是一种优秀的前端架构实在太诱人,所以,掌握这项技术所涉及的技术栈过程中经历的任何…

hung-yi lee_p22_无监督学习:词嵌入

文章目录原视频地址:添加链接描述输入是一个词 输出是一个向量 整个过程无监督 用来训练的是一堆文章 精神: 根据一个词汇的上下文来理解它 具体: 1.count based 两个词经常一起出现,认为它们是相似的 2.prediction-based 给神经…

用vs2010打开使用vs2013升级后的WP工程

项目在win7vs2010的环境中建立的,后来在win8.1vs2013的环境下修改和完善: 但是所有功能实现后发现wp7项目在使用vs2013打开后因为单向升级的原因,项目只能被编译为wp8项目(win8.1vs2013无法安装wp7的sdk,提示不兼容&am…

神州6号发射成功了--庆祝一下

转载于:https://www.cnblogs.com/ccBoy/archive/2005/10/12/253268.html

android保持服务不休眠(持续运行)以及唤醒屏幕的方法

假设有这样一个应用场景,一个服务一直在默默的工作(比如即时地获取服务器的消息),即使在屏幕已经因为长时间无操作而关闭,或者用户按了电源键让屏幕关闭,手机进入休眠状态,他必须依然在工作中。…

三类常见软件质量(Quality Attribute)属性的通俗解释

外部质量 用户关心 正确性,最最基本的质量属性,对应功能需求,其他QA多对应非功能需求。健壮性,在异常情况下正常运行的能力。 包含容错能力和恢复能力。恢复没有容错健壮。可靠性,用平均无bug运行时间与平均bug修复时…

winform动态的文字效果

效果图如下 private void Form1_Load(object sender, EventArgs e){Graphics Car_Paint panel1.CreateGraphics();//实例化绘图对象string Car_Str "青岛**软件公司";//定义要绘制的动态文字Character character new Character();//实例化自定义类对象character.D…

使用Mycat构建MySQL读写分离、主从复制、主从高可用

数据库读写分离对于大型系统或者访问量很高的互联网应用来说,是必不可少的一个重要功能。 从数据库的角度来说,对于大多数应用来说,从集中到分布,最基本的一个需求不是数据存储的瓶颈,而是在于计算的瓶颈,…

SharePoint的Reporting Service Viewer Web Part

今天本来打算做一个专门用于Reporting Service报表浏览的SharePoint web part,记得在Reporting Service 2000下有一个viewer的Sample,就想找来参考一下,谁知在C:\Program Files\Microsoft SQL Server\90\Tools\Reporting Services\SharePoint…

7个面向对象常用原则的中英文名、别名、定义及显著特点

单一职责原则 英文名:Single Responsibility Principle(SRP) 别名:无 定义1:一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中 定义2:就一个类而言,应该仅有一个引起它变化的原因 开闭原则…

常见的“公共标志和说明”英文表达

1、Business Hours 营业时间  2、Office Hours 办公时间  3、Entrance 入口  4、Exit 出口  5、Push 推  6、Pull 拉  7、Shut 此路不通  8、On 打开 ( 放)  9、Off 关  10、Open 营业  11、Pause 暂停  12、Stop 关闭  13、Closed 下班  14、Menu 菜…

【T-SQL】基础——表别名

Som有时候我们需要为表设置别名,这样就可以方便的修改表。 如果在SSMS中,可以点击 Query-> SQL CMD mode --Set Alisa for the table:setvar tablename "[RetailDataWarehouse].[dbo].[FactUnit]" Select ExternalOrderId,COUNT(DISTINCT(R…

数据挖掘的实现流程

文章目录1.数据、信息与知识2.数据挖掘实现流程概览图3.数据准备(step 1)4.数据挖掘(step 2)5.模型的评估解释(step 3)6.知识运用(step 4)7.小结1.数据、信息与知识 2.数据挖掘实现流程概览图 这里提供两张图,以下讲解基于第一张图。 3.数据准备(step 1) Knowl…

设计模式:备忘录模式??

定 义:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。 这样以后就可以将该对象恢复到原先保存的状态。 结构图: Originator(发起人):负责创建一个备忘录(Memento)&#xff…

如何用Python批量提取PDF文本内容?

本文为你展示,如何用Python把许多PDF文件的文本内容批量提取出来,并且整理存储到数据框中,以便于后续的数据分析。 问题 最近,读者们在后台的留言,愈发五花八门了。 写了几篇关于自然语言处理的文章后,一种…

常用的3种注入方式

构造注入 指通过构造函数来传入具体类的对象设值注入(Setter注入) 指通过Setter方法来传入具体类的对象接口注入 指通过在接口中声明的业务方法传入具体类的对象