学习笔记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)是一种在空间上共享参数的神经网络.使用数层卷积,而不是数层的矩阵相乘.在图像的处理过程中,每一张图片都可以看成一张“ ...
随机推荐
- java入门-day02
变量和数据类型 Java是强类型语言.数据在计算之前一定要有确定的类型 基本数据类型; byte /short /int /long/(分别占1-4字节) float(4字节,精度6-7位) ...
- BigDecimal类的用法
(一)BigDecimal类的常用的几个构造方法 BigDecimal(int):将int表示形式转换为BigDecimal对象 BigDecimal(String):将字符串表示形式转换为BigDe ...
- L1-064 估值一亿的AI核心代码
以上图片来自新浪微博. 本题要求你实现一个稍微更值钱一点的 AI 英文问答程序,规则是: 无论用户说什么,首先把对方说的话在一行中原样打印出来: 消除原文中多余空格:把相邻单词间的多个空格换成 1 个 ...
- Spring MVC流程
这是spring mvc框架结构图,图片是很早在网上撸过来的,具体在哪忘了…… 早期学习Springmvc 并没有具体了解过,只知道这样用很爽,最近了解下基本结构流程及组件所在…… 执行流程 Spri ...
- 可编程逻辑控制器(PLC)漏洞挖掘思路与验证
mailto wangkai0351@gmail.com 随时记录千奇百怪的漏洞挖掘思路,主要针对STEP7 v5+西门子S7-300/400系列PLC,欢迎同行前来交流. 组态信息下载完整性攻击 思 ...
- commons-lang常用方法
跟java.lang这个包的作用类似,Commons Lang这一组API也是提供一些基础的.通用的操作和处理,如自动生成toString()的结果.自动实现hashCode()和equals()方法 ...
- OpenGL4.6+vs2017+CMake+Glad+Glfw-3.2.1+GLM随手记一发完整版OpenGL配置过程
参考自:https://blog.csdn.net/sigmarising/article/details/80470054 下载过程参考上面的链接. 下载好的OpenGL文件夹我已经做好(具体的版本 ...
- random模块用法
最近生病,学习进度少许拖延,, import random # 随机取0~1之间的小数 print(random.random()) # 随机取2数之间的整数 print(random.randint ...
- Holer实现手机APP应用外网访问本地WEB应用
手机APP应用公网访问内网WEB应用 本地安装了WEB服务端,手机APP应用只能在局域网内访问本地WEB,怎样使手机APP应用从公网也能访问本地WEB? 本文将介绍使用holer实现的具体步骤. 1. ...
- Mybatis-基于配置文件的配置(——纪念这个即将被抛弃的孩子)
虽然内心相信Mybatis基于配置文件的配置早已经在实战之中被注解所遗忘,但是我相信还是会有一小部分人还是需要这种技术去维护原有使用这种方式去搭建的项目. 废话不多说首先使用框架包是不能少的了.导入M ...