深度学习神经网络-看我七十二变

DNN/CNN/RNN/LSTM

1、熟知:卷积神经网络、循环神经网络、长短期记忆网络的原理及结构特点,卷积、池化的本质,解码器-编码器设计思路及缺陷,注意力模型的原理和特点。卷积算法,池化算法,通道、参数共享、稀疏连接、特征图、全连接等基本操作实现翻番、softmax、svm等输出层特性,反卷积算法,RNN常见分类,RNN主要缺陷,输入门、遗忘门、输出门控制过程,LSTM存在问题及GRU特点。熟悉LeNet,AlexNet,GoogleNet基本架构和原理。
2 应用: 能基于卷积神经网络的原理将其应用于非图片处理领域中,将LSTM用于股票、天气、销售情况等具有时序特点的领域中。

https://www.kaggle.com/sanjayar/step-by-step-guide-for-sales-data-prediction-lstm

https://www.kaggle.com/c/favorita-grocery-sales-forecasting/discussion/47582

https://www.shiyanlou.com/courses/1363/learning/

卷积神经网络CNN

认识卷积

受哺乳动物视觉系统的结构启发,比如我们看图片或是物体,肯定是先从某些大致的特征去认识,然后才会去看细节,而不会每个点都看完才知道是啥。所以图片是肯定有些局部特征可以提取的。研究者就引入了强大模型结构来处理图片,后来发展成了现代卷积网络的基础。当然大多数哺乳动物都是色盲,人类无疑有更强的辨识能力。


image.png

卷积是什么呢?
卷积的概念来自数学的数据处理,比如我们对某些信号数据分析时候,更关注观察点附近的时间数据,比如频谱信号、炒股、金融都会看到这些。其实就是种函数运算,把数据降维分析,比如傅里叶变换。本质上卷积是将二元函数 U(x,y) = f(x)g(y) 卷成一元函数 S(t):


image.png

对于离散形式的函数是


image.png

第一个参数x就是我们要处理的输入,第二参数w叫核函数,a表示时间t的时间间隔,比如以T为时间间隔,整个函数过程就是叫做一个卷积,而函数的输出可以被叫做特征映射(feature map)。换句话说完成特征映射的过程叫卷积,不过是某一个东西和另一个东西在时间维度上的“叠加”作用。而使用卷积运算的重要作用就是,通过卷积运算,可以使原信号特征增强,并且降低噪音。

举个简单不恰当的例子,我不炒股,但大家应该都看股市基金这类的走势,某一两天的价格不是关键的,我们关注的是买入点卖出点前后的一段时间的趋势,因为时间离当下越近的数据与结果越相关,作用越大,而我们重要在于判断一段时间是上升还是下降的,是就如我们股市分析里的移动平均线操作,移动平均可抚平短期波动,反映出长期趋势或周期,那么简单认识上“移动平均就是一种卷积”,当然移动平均也可以是加权平均,或是别的方法,总之就是反应这部分数据的特征。


image.png

卷积神经网络里的卷积层:
如何识别图像中“有什么”以及“是什么”?卷积神经网络最多就是用在图像的特征提取上了,从图像上就更直观的认识卷积了。计算机图像是用像素点表示的,比如黑白图片就是像素大小加上每个像素的灰度值,彩色图片就是加上红蓝绿(RGB), 也就是说比如某张图的大小是–100*100,那么它将会有100x100x3万个值,这里1和3被称为通道,常见的彩色图像就是三通道图像。


image.png

灰度图为例,0代表白,10代表黑,那么可以用二维矩阵表示,卷积的过程就是用核函数(这里就是核矩阵),在输入矩阵中进行滑动,扫到的局部矩阵作为当前输入和这个核矩阵进行矩阵乘法得到一个代替的值(对应位置相乘再相加),这些值按顺序摆成一个矩阵,从图像上看经过卷积核的处理后,将会出现最右的明亮分割线。而这样的卷积核实际上可以理解为左边的1和右边-1有着明显的差距,而我们需要找出这个差距,所以利用这样的卷积核可以很容易的发现一些特征,这就是对特征进行了提取。


image.png

image.png

生物理解

看到神经网络学习很多时候都是一堆概念,除了线性代数、张量、最优化等数学或计算机的,当然很多不知道的一开始都是像在看生物学、神经科学之类的。所以这个本来就是来自神经网络的启发的交叉学科,是个计算机、工程、数学、生物学、模式识别等大杂烩一样的交叉学科。学习的时候可以区分开来一个个角度看,再联系起来类比。生物学家做了个有趣的实验发现,大脑神经系统只会对部分边缘的兴奋产生反应,也就是常听的神经元放电,比如一些神经元只对垂直边缘产生兴奋,一些神经元只对水平或对角边缘产生兴奋。这些神经元都以柱状结构的形式进行排列,而且一起工作才能产生视觉感知。
卷积神经网络 就是从视觉上获得启发,这就像我们看人的时候,可能也不是一扫过就能都记录所有信息,有的先注意服装、有的先看大致身材,也有的看眼睛和鼻子等主要外貌,也可能看下发型等。逐步通过身形、着装、眼睛、脸等分析出女生是少女、中年还是老人、职业性格等属性。
其实这个在动物界就更为明显了,比如蛇通过热感观察,所以它看到的可能只是一片类似黑白图像,对于一些毛发细节其实不在意,但可以大致看到是什么物体。我们在认识一只狗的时候也是如此,不一定看到多少细节就可以马上区分。就像PS里的滤镜一样,主要特征放大效果。这也就是卷积的作用,在这里也叫过滤器。
那么从数学结构来看这个卷积神经网络的特点其实和前馈神经网络类似,除了最后的全连接层,中间多些卷积层、Relu激活层、池化层等等。


image.png

卷积层

前面说过卷积层就是特征的提取,也就是一系列的神经元,也就是一系列卷积滤波器,像照妖镜一样把各种妖怪照出来,扫到的地方特征就会进行卷积计算存放到下一层神经元里。网络里的神经滤波器越多,那么得到的特征就越多。具体就是一个n*n的矩阵,亦称卷积参数,卷积核或卷积滤波器。

激活层

就像一个抑制作用的层,只通过部分的特征,比如我们触摸超过一定温度的物体时候就会产生疼痛感。从模型来看就是类似逻辑回归的sigmoid函数,大于某些概率的为1,这个函数就很好模拟了神经突出的这一特点,这里激活层的激活函数可以是sigmoid、Relu或是双曲切线tanh等。ReLU(x)函数只返回max(0、x),或者说,只是去掉负权重。
另一个角度,真实的复杂世界往往是非线性的,一般的线性组合是无法很好的模拟的,使用激活层是在系统中引入非线性,这样可以提高模型泛化能力 ,避免过拟合。
激活层

池化层

池化层又叫汇合层,就是把数据做个汇聚操作,类似我们常见聚合函数,通常使用的汇合操作为平 均值汇合(average-pooling)和最大值汇合(max-pooling),需要指出的是, 同卷积层操作不同,汇合层不包含需要学习的参数。使用时仅需指定汇合类 型(average或 max 等)、汇合操作的核大小和汇合操作的步长等超参数即可。
从视觉角度看,池化层就是人对看到的进行降维抽象,我们只要记住一些动物就好,然后进行拓展认识。比如图片一块区域都是红色为主,那我们就记住大概是红色就好,其他就变为白色。具体就是一块矩阵的最大值或平均值。
那么从本质来说,池化层就是个下采样的过程,也看成 是一个用 p范数作为非线性映射的“卷积”操作,特别的,当 p 趋 近正无穷时就是最常见最大值。
池化层有三个特性:
1、特征不变性:汇合操作不改变,或是很小的改变特征的位置信息,使得模型关注的是某些特征信息而不是具体位置。
2、特征降维。
3、在一定程度上防止过拟合。

全连接层

全连接层在整个卷积神经网络中起到“分类器”的作用。如果说卷积层、汇合层和激活函数层等操作是将原始数据映射到隐层特征空间的话,全连接层则起到将学到的特征表示映射到样本的标记空间的作用。

目标函数

刚才提到全连接层是将网络特征映射到样本的标记空间做出预测,目标函数的作用则用来衡量该预测值与真实样本标记之间的误差。在当下的卷积神经网络中,交叉熵损失函数和 ℓ2 损失函数分别是分类问题和回归问题中最为常用的目标函数。同时,越来越多针对不同问题特性的目标函数被提出供选择。

循环神经网络RNN

为何要RNN

有了CNN为何还要RNN,那可以从应用和语言学习上来直观感受。比如传统卷积神经网络我们可以学习识别猫和狗,或是一段声音,但是这些基本是用所有样本训练了一次再进行,也就是我们学会了猫和狗,基本我们就可以识别了。而我们学习语言就不是这么简单,我们还要通过反馈来学,比如从儿童咿呀学语开始,先学了些单词,再组成短语词汇再到句子,我们听别人的话也是要根据之前学到的词汇语言来识别其意思。所以语言是通用的但是,每个人又都会学习训练成自己的语言特色。
语言本质就是通过给符号特定的意义,也就是猫是猫,如果我们小时候学的时候定义“猫”代表的是狗,那其实本质上没有什么区别,而这种意义通过顺序的组合又形成新的语义。这时候就要在通用神经网络上加入了人的先验知识,将文本信息按照序列输入的方式处理,就形成了RNN,循环神经网络。那么形式上讲,RNN的基础思想就是对于特定序列:在序列任务中前面的数据会对当前的计算产生影响。
所以RNN用最多的就是自然语言处理上,还比如各种人机交互系统,聊天机器人、问答系统、任务型人机对话,在这里可以理解为这段语言的上下文,根据以往的语言意义和具体上下文来判断语句的意义。当然RNN的应用领域还很多 还有视频处理, 文本生成, 语言模型, 图像处理,机器翻译, 机器写小说、语音识别,图像描述生成,文本相似度计算, 音乐推荐、网易考拉商品推荐、Youtube视频推荐等等。

RNN的工作原理

用最常见的NLP问题看下什么叫循环,为何要循环神经网络,比如我们判断一句话“我要吃苹果”,这时候我们分开为 “我”、“要吃” 、“苹果”;这就是说我们会看动词前后判断苹果是什么,如果是“我要用苹果手机”这时候的苹果前面的动词,就是另一个输入,会影响这个苹果的意思,同时手机前面的“苹果”也可以帮助定义“苹果手机”是一个名词。
所以在自然语言处理的时候一个个词语会根据上下文来判断一个词的意思,那么我们就需要根据前面学习的输出,在作为后面学习的输入,这就是一种循环的结构了。解决这类问题,就是一类处理序列的信息的问题。具体来看是什么样的循环:
RNN的一个简单结构,它由输入层、一个隐藏层和一个输出层组成:


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,384评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,845评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,148评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,640评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,731评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,712评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,703评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,473评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,915评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,227评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,384评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,063评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,706评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,302评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,531评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,321评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,248评论 2 352