task_01~task_02

神经网络的构成:

神经网络由输入层、隐藏层和输出层组成,输入层是用户可见的层,输入的数据经过隐藏层处理后由输出层输出。
    神经网络内部有诸多算法及函数,函数包括损失函数、优化函数、激活函数,算法最主要的是反向传播算法。神经网络在现实中也有很多的用途:人脸识别、数据预测以及数据分类等等。
    神经网络的输入层(可由多个单元构成)用来接收用户输入的或者数据集中的数据,并将其做处理后产生输出值,将其与权重相乘后输入隐藏层(可由多个单元组成,每个单元均为一层神经网络),隐藏层单元可以对输入值进行激活函数操作,产生一个输出值输出,同时可以产生一个反向传播的梯度(本质为导数),对之前的参数或者权重进行优化函数更新。

1、线性回归
首先建立一个低维的神经网络,然后建立数据集(可以用网上的数据集),将数据集中的数据遍历输入神经网络中,经输入层的激活函数作用后将数据输入虚拟层,最后经过输出层的作用后进入缺损函数,在计算出偏差后进行梯度传播,调整神经网络中的权重和其他需要学习的参数,经过多次训练后,神经网络就可以在误差较小的范围内模拟出目标模型。(平方函数选做损失函数)。

2、softmax分类问题
单层神经网络,采用交叉熵损失函数,虽然精度不如平方函数,但依旧可以得到正确的结果,并且其计算更为简便,在这个问题中,基本模板与线性回归相差不多,只是其中的训练数据改成了图片,并引入了torchvision模板来进行图片的处理以及准确度的概念

3、多层感知机模型
主要在于多层网络之间的连接,这种连接关系通过激活函数来执行,激活函数有三种类型
1)relu函数
relu函数的优点在于可以实现网络的深层训练,在参数值小于零时梯度为零,大于零的时候梯度为1,这使得他不存在剃度消失的问题,所以在一些神经网络的层数较多时一般选用此函数。
2)tanh函数,tan通过反三角函数得到的一部分函数,输出值在-1到1之间,但其在x的绝对值大于2时会出现梯度消失的情况,不利于深层网络的实现。
3)sigmoid函数
函数值在0到1之间,x大于4时会出现剃度消失的情况,不利于深层网络的训练。

4、文本预处理
首先利用open()函数打开文本,然后用.read()函数或者re.sub()函数将文本内容按行读取,并利用分割函数.split()或者直接用space模块将文本内容分割为一个个的单词,用set保存所分割的单词进行去重操作,然后设定一个阈值,当词频大于阈值时,将单词保存并赋予相对应的索引,最后将原文本内容用对应的索引表示为矩阵的形式。

5、语言模型
包含三类内容:语言概率模型、n元语法和数据的采集。
语言概率模型:利用在前m项出现的情况下出现该字母的概率来表示该文本出现的概率,然后进行文本语言的预测。
n元语法:基于N-1阶的马尔可夫链的概率模型,具体表现为在前n-1个数据出现的情况下第n个元素出现的概率(用词频表示的概率)。
数据采集:分为两类采集方式,第一类随机采样,按照相邻的时序步长采取相邻的batch_size个批量,每个批量含有步长个数据。第二类相邻采样,先按照时序步长采取相邻的样本,然后再从每个步长起始的位置取批量,相对应位置上为同一批量,不同批量相邻。两种取样方式对应两种不同的预测方式。

6、循环神经网络模型(RNN模型)
采用循环神经网络来对数据进行处理,循环神经网络包含循环的部分,这一部分网络可以对输入的数据做循环的梯度反向传播并优化参数,在这一过程中,循环的部分采用相同的参数和权重,但由于每一次循环都会产生不同的输出值,所以循环过程中虽然公用同一参数和权重,但其数据大小不尽相同。
另外,值得注意的是,在循环神经网络中因为共用同一参数和权重,所以容易产生梯度衰减或者梯度爆炸的情况,对于梯度爆炸的情况,我们引入了梯度裁剪这一方式,及先设置一个阈值,如果超过了阈值,则对其进行梯度裁剪,使梯度始终保持在一定的范围内,可以有效的解决梯度爆炸的情况,保证神经网络的正常训练。
循环神经网络训练完之后,我们引入了判断其作用好坏的量:困惑度。
困惑度是对交叉熵损失函数做指数运算后得到的值。特别地,最佳情况下,模型总是把标签类别的概率预测为1,此时困惑度为1;最坏情况下,模型总是把标签类别的概率预测为0,此时困惑度为正无穷;基线情况下,模型总是预测所有类别的概率都相同,此时困惑度为类别个数。显然,任何一个有效模型的困惑度必须小于类别个数。

    神经网络本质上由函数和层内的算法来实现,其通过对矩阵的计算以及对权重矩阵以及其他可更新参数的更新而实现对于数据的拟合或者实现学习功能。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值