学习笔记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)是一种在空间上共享参数的神经网络.使用数层卷积,而不是数层的矩阵相乘.在图像的处理过程中,每一张图片都可以看成一张“ ...
随机推荐
- 网络请求get和post的区别
网络请求get和post的区别 其实本文更应该放在HTTP相关的分类,但是目前我并没有开设这一个分类专栏,so临时储存在HTML分类吧 Get和post是HTTP请求的两种基本方式 get是从服务器上 ...
- 将springboot打包成的jar文件做成windows服务,解决java程序自启动问题
https://blog.csdn.net/weixin_40411331/article/details/80193376 https://blog.csdn.net/qq_33188180/art ...
- Devexpress GridControl 多选
以前dev的多选要自己处理,一般的处理方式就是在单元格中添加checkbox控件.后来的版本中dev增加了多选的支持,只需要设置一下属性就可以了,属性如下图: 然后效果设计页面就是这个样子: 运行以后 ...
- moment.js
javascript日期处理类库,还有一个moment-timezone.js JavaScript时区处理类库 moment可以在browser和Node.js中使用. 安装: npm instal ...
- java 接口1
接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明.一个类通过继承接口的方式,从而来继承接口的抽象方法. 接口并不是类,编写接口 ...
- jQuery dataTables 列不对齐的原因
如果把 jQuery dataTables 用在初始化时为隐藏的区域中,会发现表头和内容的列是不对齐的. 解决方案: 如果是折叠的,可以加上: $('#myCollapsible').on('show ...
- Beta冲刺 2
前言 队名:拖鞋旅游队 组长博客:https://www.cnblogs.com/Sulumer/p/10104842.html 作业博客:https://edu.cnblogs.com/campus ...
- Intellij IDEA 导入Maven项目
本人一直使用的eclipse, 但都说IDEA 是java界中最好使用的编辑器 ,所以开始了IDEA的学习,最近使用到了 IDEA 但是,既然编辑器有所差别,所以在使用过程中也难免遇到一些费劲的事情. ...
- 基于Verilog的带FIFO输出缓冲的串口接收接口封装
一.模块框图及基本思路 rx_module:串口接收的核心模块,详细介绍请见“基于Verilog的串口接收实验” rx2fifo_module:rx_module与rx_fifo之间的控制模块,其功能 ...
- iris:get json
package main import( "github.com/kataras/iris" "github.com/kataras/iris/middleware/lo ...