一些基本概念
符号图能提供关键的自动优化和求导等功能。
张量可以看做是矩阵和向量的自然推广,可以用张量来表示广泛的数据类型
0阶张量,即标量,是一个数,一阶张量是向量,2阶张量是矩阵,3阶张量是立体,四阶张量是
python中张量从0开始计数
矩阵[[1,2],[3,4]],第一维[1,3],第二维[2,4]
随机梯度下降本质上还是针对单个样本的优化提出来的,但是现在针对mini_bantch的优化也用SGD的概念
keras以python语言编写,需要学好python 语言,python 教程推荐廖雪峰的python教程
快速开始序贯(sequential)模型
序贯模型
keras的模块很清晰,在model.layers中找层,keras.optimizer 中加载对应的优化函数
网络的主要搭建过程
1.创建数据,包括训练和测试数据
实现随机数的one-shot 操作
这个是一个整体
是
的参数。
2.model.add():搭建网络
Dense 第一个是神经元的节点,input _dim是输入数据的维度,彩色图像的维度为3
sigmoid作为输出节点只有一个
softmax是有几个分类就有几个输出节点
注意"accurary"的拼写
(注:程序还是要自己亲自上手编写的,对于关键字参数有没有下划线,单数还是复数的印象才会更深刻一些)
3.model.compile():创建各种指标的过程
sgd是函数返回的对象,所以不需要加引号。
超分辨是回归问题,需要用到一些回归问题方面的mse等评价指标,而多分类问题用到的是准确率这个指标
4.model.fit() :填充数据完成训练的过程
5.model.evaluate():对结果进行评价
![](https://i-blog.csdnimg.cn/blog_migrate/881bdddd51b4a8359e47f590e59dfe4e.png)
softmax计算多分类,是logistic二分类的推广
第一步:与sigmoid函数相同的是,
第二步:
这与sigmoid中不同,sigmoid中激活函数a=
![](https://i-blog.csdnimg.cn/blog_migrate/93963f3085262752130cb207ce8e2aa0.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c5bdaafc752a1e92bb495436e47de891.png)
即Softmax的输出的每个值都是>=0,并且其总和为1,所以可以认为其为概率分布,而sigmoid所有分类的输出总和不为1,不能认为是概率分布。
运行程序保存在本机sequential1.py和sequential.py中
LSTM (Long Short )长短时记忆网络
时间递归神经网络,适合于处理和预测时间序列中时间间隔和延迟相对较长的重要事件
常用人机交互中的语音识别,微软还将其用于编写程序代码等,谷歌将其应用于生成图像字幕。
LSTM VS RNN
LSTM区别于RNN的地方,主要就在于它在算法中加入了一个判断信息有用与否的“处理器”,这个处理器作用的结构被称为cell。
Convolution 1D VS Convolution 2D
1.Convolution1D主要用于nlp,Convolution2D主要用于cv。实际上,Convolution1D也可以用于cv,Convolution2D也可以用于nlp,只是那个时候不是标准的卷积方式,而是经过一定变形的卷积。参考文献
https://blog.csdn.net/bixiwen_liu/article/details/52946867
https://baike.baidu.com/item/LSTM/17541102?fr=aladdin LSTM资料
https://www.cnblogs.com/ymjyqsx/p/6485924.html Conv1D VS Conv2D