深度学习 - 强化学习 -迁移学习(杨强教授报告)

李宏毅机器学习课程-Transfer Learning
深度学习 -> 强化学习 ->迁移学习(杨强教授报告)

链接: http://pan.baidu.com/s/1nu6DMRn 密码: an9q
深度学习的局限

表达能力的限制。因为一个模型毕竟是一种现实的反映,等于是现实的镜像,它能够描述现实的能力越强就越准确,而机器学习都是用变量来描述世界的,它的变量数是有限的,深度学习的深度也是有限的。另外它对数据的需求量随着模型的增大而增大,但现实中有那么多高质量数据的情况还不多。所以一方面是数据量,一方面是数据里面的变量、数据的复杂度,深度学习来描述数据的复杂度还不够复杂。

缺乏反馈机制。目前深度学习对图像识别、语音识别等问题来说是最好的,但是对其他的问题并不是最好的,特别是有延迟反馈的问题,例如机器人的行动,AlphaGo下围棋也不是深度学习包打所有的,它还有强化学习的一部分,反馈是直到最后那一步才知道你的输赢。还有很多其他的学习任务都不一定是深度学习才能来完成的。

针对深度学习的局限性,或许强化学习和迁移学习能够解决相应的问题。

这里写图片描述

强化学习是什么?

强化学习(Reinforcement Learning),就是智能系统从环境到行为映射的学习,以使奖励信号(强化信号)函数值最大。
强化学习不同于连接主义学习中的监督学习,主要表现在教师信号上,强化学习中由环境提供的强化信号是对产生动作的好坏作一种评价(通常为标量信号),而不是告诉强化学习系统RLS(reinforcement learning system)如何去产生正确的动作。由于外部环境提供的信息很少,RLS必须靠自身的经历进行学习。
通过这种方式,RLS在行动-评价的环境中获得知识,改进行动方案以适应环境。

之前ALPHGO 大战 李世石 4:1

这里写图片描述

目前的 Master 大战中日韩围棋世界冠军 60: 0

这里写图片描述

背后的 DeepMind 就是将深度学习应用到强化学习中去的范例。

这里写图片描述

DeepMind把端到端的深度学习应用在强化学习上,使得强化学习能够应付大数据,因此能在围棋上把人类完全击倒,它做到这样是通过完全的自学习、自我修炼、自我改正,然后一个一个迭代。
深度学习是一种端到端的学习方式,整个学习过程中不需要中间的和显著的人类参与。直接把海量数据投放到算法中,让数据自己说话,系统会自动从数据中学习。从输入到输出是一个完全自动的过程。

这里写图片描述

永动机器学习

CMU大学的例子,用中文来说是永动机器学习,这个机器不断在网上扒一些网页,在每个网页里面都学到一些知识,把这些知识综合起来,变成几千万条知识,这些知识又会衍生新的知识。那么我们看到从下到上是随着时间,知识量在增长。但是它到了某一个程度实际上是不能再往上走了,因为知识会自我矛盾。这个时候就需要人来进行一部分的调节,把一部分不正确的知识去掉,让它继续能成长。这个过程为什么会发生呢?

这里写图片描述

是因为机器学习有一个很严重的现象,就是自我偏差,这种偏差可以体现在统计学的一个重要概念中,就是我们获得的数据也许是一个有偏数据,我们可能建了一个模型,对大部分的数据都有用,但其中有一些特例。我们如何来处理这些特例,如何来处理我们训练数据和应用数据之间的偏差,这是我们下一步要研究的内容。

两个问题:数据量大,有偏数据;数据量少。

这里写图片描述

为了解决以上问题,下面我们来看几个示例

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

以上示例都是人类的迁移学习的能力。

迁移学习是什么?

所谓迁移学习,或者领域适应Domain Adaptation,一般就是要将从源领域(Source Domain)学习到的东西应用到目标领域(Target Domain)上去。源领域和目标领域之间往往有gap/domain discrepancy(源领域的数据和目标领域的数据遵循不同的分布)。

迁移学习能够将适用于大数据的模型迁移到小数据上,实现个性化迁移。

迁移什么,怎么迁移,什么时候能迁移,这是迁移学习要解决的主要问题。

迁移学习能解决那些问题?

小数据的问题。比方说新开一个网店,卖一种新的糕点,没有任何的数据,就无法建立模型对用户进行推荐。但用户买一个东西会反映到用户可能还会买另外一个东西,所以如果知道用户在另外一个领域,比方说卖饮料,已经有了很多很多的数据,利用这些数据建一个模型,结合用户买饮料的习惯和买糕点的习惯的关联,就可以把饮料的推荐模型给成功地迁移到糕点的领域,这样,在数据不多的情况下可以成功推荐一些用户可能喜欢的糕点。这个例子就说明,有两个领域,一个领域已经有很多的数据,能成功地建一个模型,有一个领域数据不多,但是和前面那个领域是关联的,就可以把那个模型给迁移过来。
个性化的问题。比如每个人都希望自己的手机能够记住一些习惯,这样不用每次都去设定它,怎么才能让手机记住这一点呢?其实可以通过迁移学习把一个通用的用户使用手机的模型迁移到个性化的数据上面。

迁移学习四种实现方法
这里写图片描述

1. 样本迁移 Instance-based Transfer Learning

这里写图片描述

一般是对样本进行加权,给比较重要的样本较大的权重。
样本迁移即在数据集(源领域)中找到与目标领域相似的数据,把这个数据放大多倍,与目标领域的数据进行匹配。其特点是:需要对不同例子加权;需要用数据进行训练。

2. 特征迁移 Feature-based Transfer Learning

这里写图片描述

在特征空间进行迁移,一般需要把源领域和目标领域的特征投影到同一个特征空间里进行。

特征迁移是通过观察源领域图像与目标域图像之间的共同特征,然后利用观察所得的共同特征在不同层级的特征间进行自动迁移。

3. 模型迁移 Model-based Transfer Learning

这里写图片描述

整个模型应用到目标领域去,比如目前常用的对预训练好的深度网络做微调,也可以叫做参数迁移。

模型迁移利用上千万的图象训练一个图象识别的系统,当我们遇到一个新的图象领域,就不用再去找几千万个图象来训练了,可以原来的图像识别系统迁移到新的领域,所以在新的领域只用几万张图片同样能够获取相同的效果。模型迁移的一个好处是可以和深度学习结合起来,我们可以区分不同层次可迁移的度,相似度比较高的那些层次他们被迁移的可能性就大一些

4. 关系迁移 Relational Transfer Learning

社会网络,社交网络之间的迁移。

这里写图片描述

前沿的迁移学习方向

Reinforcement Transfer Learning
怎么迁移智能体学习到的知识:比如我学会了一个游戏,那么我在另一个相似的游戏里面也是可以应用一些类似的策略的

Transitive Transfer Learning
传递性迁移学习,两个domain之间如果相隔得太远,那么我们就插入一些intermediate domains,一步步做迁移

Source-Free Transfer Learning
不知道是哪个源领域

最后用一张图总结一下深度学习、强化学习、迁移学习的趋势

这里写图片描述

参考资料:

https://mp.weixin.qq.com/s?__biz=MzAwMjM2Njg2Nw==&mid=2653144126&idx=1&sn=d9633d71ed89590100422c85f6bdb845
http://mp.weixin.qq.com/s?__biz=MzI3MTA0MTk1MA==&mid=2651982064&idx=1&sn=92e65d423db5aa79d8c8c782afc19111&scene=1&srcid=0426Sj6blqQWPuyUb8qCswf3&from=singlemessage&isappinstalled=0#wechat_redirect
http://geek.csdn.net/news/detail/92051
http://www.leiphone.com/news/201612/hF1AX5yNwcxtf005.html
https://zhuanlan.zhihu.com/p/22023097

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/246879.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Caffe: 贾扬清2015年讲座

链接: http://pan.baidu.com/s/1jIRJ6mU 提取密码:xehi 一、讲座正文 大家好!我是贾扬清,目前在GoogleBrain,今天有幸受邀来和大家聊聊Caffe。没有太多准备,所以讲的不好的地方还请大家谅解。 大家最近一段时间应该已…

关于机器学习的领悟与反思(张志华北大数学系教授)

张志华教授:机器学习——统计与计算之恋 COS访谈第十九期:张志华教授 张志华老师教学之感悟 部分共享资料见链接: https://pan.baidu.com/s/1bpGc0nP 密码: 49ei ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆…

《见字如面》赏析-待续

《爸爸的信——学会鄙视自己,才不会妥协》 理想太容易妥协,欲望太容易放大。 百岁老夫妻70年前写出最美战地情书 穿越到70多年前的抗日战争缅甸战场,化身文质彬彬又器宇轩昂的远征军翻译官曹越华,在炮火连天的异国战场&#xf…

机器真的已经战胜人类医生了吗?医学AI标题党文章中的三大陷阱

作者 | Dr Luke Oakden-Rayner 翻译校对|吴蕾 刘晓莉 曹翔 ◆ ◆ ◆ 序 关于“机器人战胜人类医生”的文章铺天盖地,正高居各类科技网站首页。 例如《通过辐射变化,计算机程序的脑肿瘤辨识能力战胜医生(神经科学新闻,2016&#x…

安装测试 Lasagne

Lasagne不只是一个美味的意大利菜,也是一个与Blocks和Keras有着相似功能的深度学习库,但其在设计上与它们有些不同。 下面是Lasagne的一些设计目的: 简单化:它应该是易于使用和扩展的机器学习库。每添加一个特征,就应…

Python 处理医学影像学中的DICOM

DICOMDICOM(Digital Imaging and Communications in Medicine)即医学数字成像和通信,是医学图像和相关信息的国际标准(ISO 12052)。它定义了质量能满足临床需要的可用于数据交换的医学图像格式,可用于处理、…

基于CNN的性别、年龄识别及Demo实现

一、相关理论 本篇博文主要讲解2015年一篇paper《Age and Gender Classification using Convolutional Neural Networks》paper的创新点在哪里。难道是因为利用CNN做年龄和性别分类的paper很少吗?网上搜索了一下,性别预测,以前很多都是用SVM算…

Faster R-CNN的安装及测试(Python版本和Matlab版本)

rbg的Python版本 一、拉取源码 git clone --recursive https://github.com/rbgirshick/py-faster-rcnn.git 拉取完成后,在/home/cmwang/目录下增加了py-faster-rcnn文件夹【cmwang是我的ubuntu用户名】 二、安装依赖 sudo apt-get install python-opencvsudo pip…

2016 亚洲共识指南:肺结节的评估

2016 年 2 月,亚洲肺部疾病和胸外科多学科专家小组在美国胸科医师学会(ACCP)制定的肺结节评估指南的基础上结合亚洲患者的自身特点制订了亚洲肺结节患者的评估指南。 亚洲肺结节的评估与 APCC 指南中所指出的重要注意事项大致相同。但该指南…

Ubuntu 15.04 安装TensorFlow(源码编译) 及测试梵高作画

介绍Google的TensorFlow机器学习开源库,在UbuntuKylin上的安装和和源码编译。 原始官方文档参见:http://www.tensorflow.org. 本电脑配置如下: 3.19.0-15-generic #15-Ubuntu x86_64 GNU/Linux NVIDIA Corporation GK110BGL [Tesla K40c] …

Ubuntu SSH Algorithm negotiation failed

问题 解决方法 chmod 777 /etc/ssh/sshd_configgedit /etc/ssh/sshd_config添加如下 Ciphers aes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,3des-cbc,arcfour128,arcfour256,arcfour,blowfish-cbc,cast128-cbcMACs hmac-md5,hmac-sha1,umac-64openssh.…

不同matlab版本所支持的gcc g+版本

问题 关于 GCC 和 G 版本问题 Matlab 2014a gcc/g 4.7.x, Matlab 2016a gcc/g 4.9.x Matlab 2017a gcc/g 4.9.x Ubuntu 15.04 gcc/g 4.9.x, Ubuntu 16.04 gcc/g 5.4.x 原则上Matlab需要和Ubuntu版本一致,由于CUDA 8只支持16.04,而且需要GCC 5.4.x 进行编译&#…

Linux 终端配置

一般Linux中的配置文件大多以点开头,而且多以rc结尾。比如vim的配置文件 .vimrc,bash shell的配置文件.bashrc,等等。 像这样的配置文件,如果用ls -l命令是列不出来的,需要用ls -a来列出。 “rc”,它是“…

caffe2 介绍

Caffe2的特性 Caffe2框架可以通过一台机器上的多个GPU或具有一个及多个GPU的多台机器来进行分布式训练。 也可以在iOS系统、Android系统和树莓派(Raspberry Pi)上训练和部署模型。只需要运行几行代码即可调用Caffe2中预先训练好的Model Zoo模型。Caffe2…

Python 中的numpy 库

待总结 用scikit-learn和pandas学习线性回归 用scikit-learn和pandas学习Ridge回归 待整理的 Numpy & Pandas numpy——主要对其 N 维数组对象有用 http://www.numpy.org/ Pandas数据转为 numpy数据 df_numpyMatrix df.as_matrix() df_numpyMatrixdf.values a([3.23…

Python 中的Pandas库

待总结 用scikit-learn和pandas学习线性回归 用scikit-learn和pandas学习Ridge回归 基于python的数据分析库Pandas pandas——Python 数据分析库,包括数据框架(dataframes)等结构 http://pandas.pydata.org/ 10 Minutes to Pandas&#…

weka和matlab完成完整分类实验

本文 本文简单介绍数据集介绍、weka的使用、weka与LIBSVM、matlab与LIBSVM以及分类的若干细节问题。 1. 数据集介绍 打开网址UCI数据集,如下图。 从右下角可以看到Iris这个数据集,这是使用最多的数据集,目前下载量超过了82万。 打开之后跳…

Python 中的绘图matplotlib mayavi库

python matplotlib 图像可视化 python-data-visualization-course Interactive Web Plotting for Python Interactive Web Plotting for Python-github 待整理的 Matplotlib Introduction to Matplotlib and basic line matplotlib——一个 2D 绘图库,可产生…

ubuntu 16.04 配置Python2.7 和 Python3.5 同时调用OpenCV

安装OpenCV OpenCV 官网,下载见 SourceForge and GitHub。 若使用官网版本安装不成功,则可试试Github版本。 或者 git clone https://github.com/Itseez/opencv.git 安装依赖库 sudo apt-get -y install libopencv-dev sudo apt-get -y install bui…

生成特定分布随机数的方法:Python seed() 函数numpy scikit-learn随机数据生成

描述 seed() 方法改变随机数生成器的种子,可以在调用其他随机模块函数之前调用此函数。。 语法 以下是 seed() 方法的语法: import random random.seed ( [x] ) 注意:seed(()是不能直接访问的,需要导入 random 模块,然后通过 ra…