学习笔记TF053:循环神经网络,TensorFlow Model Zoo,强化学习,深度森林,深度学习艺术
循环神经网络。https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/3_NeuralNetworks/recurrent_network.py。
自然语言处理(natural language processing, NLP)应用网络模型。与前馈神经网络(feed-forward neural network,FNN)不同,循环网络引入定性循环,信号在神经元传递不消失继续存活。传统神经网络层间全连接,层内神经元没连接。循环神经网络隐藏层输入包括上层输出和上一时刻隐藏层输出。按时间顺序展开,下一步受本步处理影响。网络训练误差反向传播(backpropagation,BP)算法,参数权值共享。反向传播依赖当前层及前面若干层网络,随时间反向传播(backpropagation through time,BPTT)算法。加载网络时序信号按层展开,前馈静态神经网络转为动态网络。
《Supervised Sequence Labelling with Recurrent Neural Networks》http://www.cs.toronto.edu/~graves/preprint.pdf 。
循环神经网络发展。
VanillaRNN
->增强隐藏层功能
->Simple RNN
->GRU
->LSTM
->CW-RNN
->双向化加深网络
->Bidirectional RNN
->Keep Bidrectional RNN
->两者结合:DBLSTM
《Recurrent Neural Networks,Part 1-Introduction to RNNs》 http://www.wildml.com/2015/09/recurrent-neural-networks-tutorial-part-1-introduction-to-rnns/ 。
增强隐藏层功能。
简单RNN(Simple RNN,SRNN)。3层网络,隐藏层(上下文层)增加上下文单元。上下文单元节点与隐藏层节点连接、权值固定。假设当前t时刻,分3步预测P(wm)。单词Wm-1映射到词向量,INPUT(t)。连接上一次训练的隐藏层CONTEXT(t-1),sigmoid激活函数生成当前t时刻CONTEXT(t)。softmax函数预测P(wm)。
LSTM。一般RNN梯度消失,导数链式法则导致连乘,梯度指数级消失。引入单元(cell)结构,RNN改进模型长短期记忆(Long-Short Term Memory, LSTM)。Block有1个单元(cell),状态参数记录状态。3个门(gate),输入门(input gate)、输出门(output gate)处理输入输出参数,忘记门(forget gate)设置选择性遗忘权重。
GRU(Gated Recurrent Unit Recurrent Neural Network)。隐藏层不同距离单词对当前隐藏层状态影响不同,越远越小。每个前面状态对当前隐藏层状态影响距离加权,越远越小。发生误差,仅更新对应单词权重。两个门,重置门r(组合新输入和前记忆)、更新门z(留下前记忆)。重置门1,更新门0,得到普通RNN。Junyoung Chung、Caglar Gulcehre、KyungHyun Cho、Yoshua Bengio论文《Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling》https://arxiv.org/abs/1412.3555 。
CW-RNN(Clockwork RNN)。时钟频率驱动RNN。隐藏层分组,不同隐藏层组工作在不同时钟频率,解决长时间依赖。每组按照规定时钟频率处理输入。时钟时间离散化,不同时间点不同隐藏层组工作,所有隐藏层在每一步不会同时工作,加快网络训练。时钟周期大组神经元速度慢,小组速度快。周期大连接周期小,周期小不连接周期大。隐藏层神经元分组,记g。每组神经元个数相同,记k。每组分配时钟周期Ti∈{T1,T2,···,Tg}。组内所有神经元全连接。Tj>Ti,组j到组i循环连接。按照时钟周期递增从左到右排序T1<T2<···<Tg。连接方向从右到左,速度慢组连接速度快组。Jan Koutnik、Klaus Greff、Faustino Gomez、Jurgen Schmidhuber论文《A Clockwork RNN》https://arxiv.org/pdf/1402.3511.pdf
双向化加深网络。
双向RNN(Bidirectional RNN)。输出与前后序列有关。原始双向RNN,两个RNN上下叠加。输出由两个RNN隐藏层状态决定。Miske Schuster、Kuldip K. Paliwal论文《Bidirectional Recurrent Neural Networks》。双向LSTM、双向GRU。
深度双向RNN(Deep Bidirectional RNN)。隐藏层叠加多层,每步输入多层网络,表达学习能力更强,需要更多训练数据。Alex Graves、Navdeep Jaitly and Abdel-rahman Mohamed论文《Hybrid Speech Recognition With Deep Bidirectional LSTM》https://www.cs.toronto.edu/~graves/asru_2013.pdf。
训练学习算法, BPTT(Back Propagation Through Time)、RTRL(Real-time Recurrent Learning)、EKF(Extended Kalman Filter)。
TensorFlow Model Zoo。
TensorFlow模型https://github.com/tensorflow/models。很多图像、语音处理模型。检查点文件可作预训练模型。比如Inception V1,inception_v1_2016_08_28.tar.gz。Cafe Model Zoo有很多训练好模型,作预训练模型减训练时间、迭代次数。可转换为TensorFlow模型 https://github.com/ethereon/caffe-tensorflow。
强化学习(reinforcement learning)。AlphaGo改良策略网络(policy network)。强化学习介于有监督学习和无监督学习。只有很少标记(奖励),有延迟。模型学习环境行为。游戏、下棋、博弈有得分步骤多活动做连续决策。Q-learning、Sarsa、Policy Gradient、Actor Critic。包括算法更新、思维决策。深度Q网络(Deep Q Network, DQN)。
深度森林。周志华论文《Deep Forest:Towards an Alternative to Deep Neural Networks》https://arxiv.org/abs/1702.08835,多粒度级联森林(multi-grained cascade forest, gcForest)。只有少量数据也可训练,超参数比深度神经网络少,超参数性能健壮性高,训练容易。
深度学习艺术。
绘画领域,艺术风格神经网络算法(A Neural Algorithm of Artistic Style), Leon A. Gatys, Alexander S.Ecker, Matthias Bethge论文 https://arxiv.org/pdf/1508.06576v2.pdf。绘画风格迁移。把图片风格和内容分开,组合不同图片风格和内容,生成风格化内容图片。美图秀秀、魔漫相机、脸萌有应用。https://github.com/anishathalye/neural-style。
音乐领域。大量MIDI音频旋律训练数据,RNN生成旋律。https://github.com/tensorflow/magenta 。
深度学习可以创作艺术小样作为灵感种子。
参考资料:
《TensorFlow技术解析与实战》
欢迎推荐上海机器学习工作机会,我的微信:qingxingfengzi
学习笔记TF053:循环神经网络,TensorFlow Model Zoo,强化学习,深度森林,深度学习艺术的更多相关文章
- 【学习笔记】循环神经网络(RNN)
前言 多方寻找视频于博客.学习笔记,依然不能完全熟悉RNN,因此决定还是回到书本(<神经网络与深度学习>第六章),一点点把啃下来,因为这一章对于整个NLP学习十分重要,我想打好基础. 当然 ...
- Django学习笔记(三)—— 型号 model
疯狂暑期学习 Django学习笔记(三)-- 型号 model 參考:<The Django Book> 第5章 1.setting.py 配置 DATABASES = { 'defaul ...
- CNN学习笔记:卷积神经网络
CNN学习笔记:卷积神经网络 卷积神经网络 基本结构 卷积神经网络是一种层次模型,其输入是原始数据,如RGB图像.音频等.卷积神经网络通过卷积(convolution)操作.汇合(pooling)操作 ...
- 《python基础教程(第二版)》学习笔记 语句/循环/条件(第5章)
<python基础教程(第二版)>学习笔记 语句/循环/条件(第5章) print 'AB', 123 ==> AB 123 # 插入了一个空格print 'AB', 'CD' == ...
- 机器学习框架ML.NET学习笔记【6】TensorFlow图片分类
一.概述 通过之前两篇文章的学习,我们应该已经了解了多元分类的工作原理,图片的分类其流程和之前完全一致,其中最核心的问题就是特征的提取,只要完成特征提取,分类算法就很好处理了,具体流程如下: 之前介绍 ...
- [DL学习笔记]从人工神经网络到卷积神经网络_1_神经网络和BP算法
前言:这只是我的一个学习笔记,里边肯定有不少错误,还希望有大神能帮帮找找,由于是从小白的视角来看问题的,所以对于初学者或多或少会有点帮助吧. 1:人工全连接神经网络和BP算法 <1>:人工 ...
- 学习笔记TF027:卷积神经网络
卷积神经网络(Convolutional Neural Network,CNN),可以解决图像识别.时间序列信息问题.深度学习之前,借助SIFT.HoG等算法提取特征,集合SVM等机器学习算法识别图像 ...
- 深度学习项目——基于循环神经网络(RNN)的智能聊天机器人系统
基于循环神经网络(RNN)的智能聊天机器人系统 本设计研究智能聊天机器人技术,基于循环神经网络构建了一套智能聊天机器人系统,系统将由以下几个部分构成:制作问答聊天数据集.RNN神经网络搭建.seq2s ...
- 深度学习笔记 (一) 卷积神经网络基础 (Foundation of Convolutional Neural Networks)
一.卷积 卷积神经网络(Convolutional Neural Networks)是一种在空间上共享参数的神经网络.使用数层卷积,而不是数层的矩阵相乘.在图像的处理过程中,每一张图片都可以看成一张“ ...
随机推荐
- 泛型的上下边界 : ? extends E 与 ? super T
public class Problem { public static void main(String[] args) { List<? extends A> list; List&l ...
- java入门-day02
变量和数据类型 Java是强类型语言.数据在计算之前一定要有确定的类型 基本数据类型; byte /short /int /long/(分别占1-4字节) float(4字节,精度6-7位) ...
- python笔记25-sys模块
import sys#sys.argv命令行参数List,第一个元素是程序本身路径# sys.exit('xxxxx')#退出程序,正常退出时exit(0)# print(sys.version) # ...
- linux - whatis 提示 ls: nothing appropriate
linux 执行命令 whatis 时,提示: ls: nothing appropriate 原因:whatis是在数据库中执行查找操作,这个数据库是定期更新的, 新安装的系统,系统没有更新,没有这 ...
- 第十三周翻译-《Pro SQL Server Internals, 2nd edition》
<Pro SQL Server Internals, 2nd edition> 作者:Dmitri Korotkevitch 翻译:赖慧芳 译文: 聚集索引 聚集索引指示表中数据的物理顺序 ...
- python爬虫基础_webwechat
简单的模拟:借用微信网页版,写个扫码页面,登录页面,实现简单的登录.联系人列表.发消息,收消息. 以下是笔记: #!/usr/bin/env python # coding:utf-8 from fl ...
- 微信小程序页面列表与详情页跳转的正确姿势
初学小程序,碰到列表与详情页跳转遇到的问题,记录一下. 一.问题 1个列表页: 1个详情页: 列表页代码: onLoad:异步查询数据并setData 详情页代码: 保存成功后,调用navigateB ...
- list映射
例 1 List 解析介绍 >>> li = [1, 9, 8, 4] >>> [elem*2 for elem in li] [2, 18, 16, 8] > ...
- mongo常用sql
基本查询 db.getCollection('chdr').find({chdrnum:"test123456"}) lookup关联查询 db.getCollection ( ...
- MySQL在高内存、IO利用率上的几个优化点
以下优化都是基于CentOS系统下的一些MySQL优化整理,有不全或有争议的地方望继续补充完善. 一.mysql层面优化 1. innodb_flush_log_at_trx_commit 设置为2设 ...