2016-11-18 12:10:50 wangleiwavesharp 阅读数 2941
  • 实用主义学Python(小白也容易上手的Python实用案例)

    原价169,早鸟价仅需99元 系统掌握Python核心语法16点,轻松应对工作中80%以上的Python使用场景! 99元=72讲+源码+社群答疑+讲师社群分享会  【哪些人适合学习这门课程?】 1)大学生,平时只学习了Python理论,并未接触Python实战问题; 2)对Python实用技能掌握薄弱的人,自动化、爬虫、数据分析能让你快速提高工作效率; 3)想学习新技术,如:人工智能、机器学习、深度学习等,这门课程是你的必修课程; 4)想修炼更好的编程内功,优秀的工程师肯定不能只会一门语言,Python语言功能强大、使用高效、简单易学。 【超实用技能】 从零开始 自动生成工作周报 职场升级 豆瓣电影数据爬取 实用案例 奥运冠军数据分析 自动化办公 :通过Python自动化分析Excel数据并自动操作Word文档,最终获得一份基于Excel表格的数据分析报告。 豆瓣电影爬虫: 通过Python自动爬取豆瓣电影信息并将电影图片保存到本地。 奥运会数据分析实战 简介:通过Python分析120年间奥运会的数据,从不同角度入手分析,从而得出一些有趣的结论。 【超人气老师】 二两 中国人工智能协会高级会员 生成对抗神经网络研究者 《深入浅出生成对抗网络:原理剖析与TensorFlow实现》一书作者 阿里云大学云学院导师 前大型游戏公司后端工程师 【超丰富实用案例】 0)图片背景去除案例 1)自动生成工作周报案例 2)豆瓣电影数据爬取案例 3)奥运会数据分析案例 4)自动处理邮件案例 5)github信息爬取/更新提醒案例 6)B站百大UP信息爬取与分析案例 7)构建自己的论文网站案例

    2571 人正在学习 去看看 廖茂文

深度学习有趣的应用


       参考:http://36kr.com/p/5055788.html

       深度学习技术可以应用于许多领域,不仅在机器翻译、自然语言处理、目标检测识别、视觉跟踪等方面显示出优异的性能,还有很多有趣的应用。

1、模糊图像清晰化;

        Image super-resolution through deep learning,

        https://github.com/david-gpu/srez

2、文字转语音;

        WaveNet: A Generative Model for Raw Audio

        http://www.tuicool.com/articles/ZNZbUfu

3、创作乐曲;

4、图片转为画作风格;

        http://www.jianshu.com/p/bd3c015f51e3

        http://m.linuxeden.com/wap.php?action=article&id=164333

5、新型字体的生成;

        汉字风格迁移项目Rewrite:利用神经网络学习设计汉字新字体

        http://wr21c3c522.dedeadmin.com/ddafitc620161104c6n472295152.shtml

6、补缺失的画像;

        如何在TensorFlow中用深度学习修复图像?

        http://www.jiqizhixin.com/article/1417?utm_source=tuicool&utm_medium=referral

7、训练机器人行走抓取物体;

        http://techcrunch.cn/2016/03/10/what-could-go-wrong/

8、理解并为图片添加描述;

       Generation and Comprehension of Unambiguous Object Descriptions

       https://arxiv.org/abs/1511.02283

       https://github.com/mjhucla/Google_Refexp_toolbox

       http://www.leiphone.com/news/201607/5OwIfo68ONcsXHD0.html

9、无人驾驶

       http://www.leiphone.com/news/201606/TGfD5qmbrNH4nFxU.html

       End to End Learning for Self-Driving Cars

       http://images.nvidia.com/content/tegra/automotive/images/2016/solutions/pdf/end-to-end-dl-using-px.pdf


2017-09-20 09:59:32 kwame211 阅读数 2430
  • 实用主义学Python(小白也容易上手的Python实用案例)

    原价169,早鸟价仅需99元 系统掌握Python核心语法16点,轻松应对工作中80%以上的Python使用场景! 99元=72讲+源码+社群答疑+讲师社群分享会  【哪些人适合学习这门课程?】 1)大学生,平时只学习了Python理论,并未接触Python实战问题; 2)对Python实用技能掌握薄弱的人,自动化、爬虫、数据分析能让你快速提高工作效率; 3)想学习新技术,如:人工智能、机器学习、深度学习等,这门课程是你的必修课程; 4)想修炼更好的编程内功,优秀的工程师肯定不能只会一门语言,Python语言功能强大、使用高效、简单易学。 【超实用技能】 从零开始 自动生成工作周报 职场升级 豆瓣电影数据爬取 实用案例 奥运冠军数据分析 自动化办公 :通过Python自动化分析Excel数据并自动操作Word文档,最终获得一份基于Excel表格的数据分析报告。 豆瓣电影爬虫: 通过Python自动爬取豆瓣电影信息并将电影图片保存到本地。 奥运会数据分析实战 简介:通过Python分析120年间奥运会的数据,从不同角度入手分析,从而得出一些有趣的结论。 【超人气老师】 二两 中国人工智能协会高级会员 生成对抗神经网络研究者 《深入浅出生成对抗网络:原理剖析与TensorFlow实现》一书作者 阿里云大学云学院导师 前大型游戏公司后端工程师 【超丰富实用案例】 0)图片背景去除案例 1)自动生成工作周报案例 2)豆瓣电影数据爬取案例 3)奥运会数据分析案例 4)自动处理邮件案例 5)github信息爬取/更新提醒案例 6)B站百大UP信息爬取与分析案例 7)构建自己的论文网站案例

    2571 人正在学习 去看看 廖茂文

图片来自dribbble.com by Justin Mezzell

本系列文章目前已经更新两期,分别是: 机器学习原来如此有趣!全世界最简单的机器学习入门指南、 机器学习原来如此有趣:如何故意欺骗神经网络机器学习原来如此有趣:用深度学习识别人脸

语音识别正在「入侵」我们的生活。我们的手机、游戏主机和智能手表都内置了语音识别。他甚至在自动化我们的房子。只需50美元,你就可以买到一个Amazon Echo Dot,这是一个可以让你订外卖、收听天气预报、甚至是买垃圾袋的魔术盒,而这一切你只需要大声说出:


Aleax,给我订一个pizza!


Echo Dot 在2015年的圣诞假期一经推出就大受欢迎,在亚马逊上面立刻售罄。


但其实语音识别已经存在很多年了,那为什么现在才成为主流呢?因为深度识别终于将语音识别在非受控环境下的准确度提高到了一个足以投入实用的高度。


吴恩达教授曾经预言过,当语音识别的准确度从95%提升到99%的时候,它将成为与电脑交互的首要方式。


下面就让我们来学习与深度学习进行语音室识别吧!


机器学习并不总是一个黑盒

如果你想知道神经机器翻译是如何工作的,你应该猜到了我们可以简单地将一些声音送入神经网络,然后训练它使之生成文本:



这是使用深度学习进行语音识别的最高追求,但是很遗憾我们现在还没有完全做到这一点(至少在笔者写下这一篇文章的时候还没有--我敢打赌,再过几年我们可以做到)


一个大问题是语速不同。一个人可能会很快的说出''Hello!'',而另一个人可能非常缓慢的说''heeeelllllllllllllooooo'!',产生了一个拥有更多数据也更长的声音文件。这两个文件都应该被识别为同一个文本--“Hello!”。而事实证明,把各种长度的音频文件自动对齐到一个固定长度的文本是很难的一件事情。

为了解决这个问题,我们必须使用一些特殊的技巧,并进行一些深度神经网络以外的特殊处理。让我们看看它是如何工作的吧!



将声音转换为比特(Bit)


显然,语音识别的第一步是--我们需要将声波输入到电脑中。


我们应该怎么将声波转换为数字呢?让我们使用我说的「hello」这个声音片段举个例子:


声波是一维的,它在每个时刻都有一个基于其高度的值。让我们把声波的一小部分放大看看:

为了将这个声波转换成数字,我们只记录声波在等距点的高度:



这被称为采样(sampling)。我们每秒读取数千次,并把声波在该时间点的高度用一个数字记录下来。这基本上就是一个未压缩的 .wav 音频文件。


“CD 音质”的音频是以 44.1khz(每秒 44100 个读数)进行采样的。但对于语音识别,16khz(每秒 16000 个采样)的采样率就足以覆盖人类语音的频率范围了。


让我们把“Hello”的声波每秒采样 16000 次。这是前 100 个采样:

每个数字代表声波在一秒钟的16000分之一处的振幅。


数字采样小助手


因为声波采样只是间歇性的读取,你可能认为它只是对原始声波进行粗略的近似估计。我们的读数之间有间距,所以我们必然会丢失数据,对吧?


但是,由于采样定理(Nyquist theorem),我们知道我们可以利用数学,从间隔的采样中完美重建原始声波——只要我们的采样频率比期望得到的最高频率快至少两倍就行。


我提这一点,是因为几乎每个人都会犯这个错误,并误认为使用更高的采样率总是会获得更好的音频质量。其实并不是。


预处理我们的采样声音数据


我们现在有一个数列,其中每个数字代表 1/16000 秒的声波振幅。


我们可以把这些数字输入到神经网络中,但是试图直接分析这些采样来进行语音识别仍然很困难。相反,我们可以通过对音频数据进行一些预处理来使问题变得更容易。


让我们开始吧,首先将我们的采样音频分成每份 20 毫秒长的音频块。这是我们第一个 20 毫秒的音频(即我们的前 320 个采样):


将这些数字绘制为简单的折线图,我们就得到了这 20 毫秒内原始声波的大致形状:


虽然这段录音只有 1/50 秒的长度,但即使是这样短暂的录音,也是由不同频率的声音复杂地组合在一起的。其中有一些低音,一些中音,甚至有几处高音。但总的来说,就是这些不同频率的声音混合在一起,才组成了人类的语音。


为了使这个数据更容易被神经网络处理,我们将把这个复杂的声波分解成一个个组成部分。我们将分离低音部分,再分离下一个最低音的部分,以此类推。然后将(从低到高)每个频段(frequency band)中的能量相加,我们就为各个类别的音频片段创建了一个指纹(fingerprint)。


想象你有一段某人在钢琴上演奏 C 大调和弦的录音。这个声音是由三个音符组合而成的:C、E 和 G。它们混合在一起组成了一个复杂的声音。我们想把这个复杂的声音分解成单独的音符,以此来分辨 C、E 和 G。这和语音识别是一样的道理。


我们需要傅里叶变换(Fourier Transform)来做到这一点。它将复杂的声波分解为简单的声波。一旦我们有了这些单独的声波,我们就将每一份频段所包含的能量加在一起。


最终得到的结果便是从低音(即低音音符)到高音,每个频率范围的重要程度。以每 50hz 为一个频段的话,我们这 20 毫秒的音频所含有的能量从低频到高频就可以表示为下面的列表:



但是把它们画成图表时会更容易理解:

你可以看到,在我们的 20 毫秒声音片段中有很多低频能量,然而在更高的频率中并没有太多的能量。这是典型「男性」的声音。


如果我们对每个20毫秒的音频块都重复这个过程,我们最后会得到一个频谱图(从左到右每一列都是一个29毫秒的音频块)

频谱图很酷,因为你可以在音频数据中实实在在地看到音符和其他音高模式。对于神经网络来说,相比于原始声波,从这种数据中寻找规律要容易得多。因此,这就是我们将要实际输入到神经网络中去的数据表示方式。


从短音频中识别字符


现在我们已经让音频转变为一个易于处理的格式了,现在我们将要把它输入深度神经网络。神经网络的输入将会是 20 毫秒的音频块。对于每个小的音频切片(audio slice),神经网络都将尝试找出当前正在说的声音所对应的字母。

我们将使用一个循环神经网络——即一个拥有记忆,能影响未来预测的神经网络。这是因为它预测的每个字母都应该能够影响它对下一个字母的预测。例如,如果我们到目前为止已经说了「HEL」,那么很有可能我们接下来会说「LO」来完成「Hello」。我们不太可能会说「XYZ」之类根本读不出来的东西。因此,具有先前预测的记忆有助于神经网络对未来进行更准确的预测。


当通过神经网络跑完我们的整个音频剪辑(一次一块)之后,我们将最终得到一份映射(mapping),其中标明了每个音频块和其最有可能对应的字母。这是我说那句「Hello」所对应的映射的大致图案:


我们的神经网络正在预测我说的那个词很有可能是「HHHEE_LL_LLLOOO」。但它同时认为我说的也可能是「HHHUU_LL_LLLOOO」,或者甚至是「AAAUU_LL_LLLOOO」。


我们可以遵循一些步骤来整理这个输出。首先,我们将用单个字符替换任何重复的字符:


· HHHEE_LL_LLLOOO 变为 HE_L_LO


· HHHUU_LL_LLLOOO 变为 HU_L_LO


· AAAUU_LL_LLLOOO 变为 AU_L_LO


然后,我们将删除所有空白:


· HE_L_LO 变为 HELLO


· HU_L_LO 变为 HULLO


· AU_L_LO 变为 AULLO


这让我们得到三种可能的转写——「Hello」、「Hullo」和「Aullo」。如果你大声说出这些词,所有这些声音都类似于「Hello」。因为神经网络每次只预测一个字符,所以它会得出一些纯粹表示发音的转写。例如,如果你说「He would not go」,它可能会给出一个「He wud net go」的转写。


解决问题的诀窍是将这些基于发音的预测与基于书面文本(书籍、新闻文章等)大数据库的可能性得分相结合。扔掉最不可能的结果,留下最实际的结果。


在我们可能的转写「Hello」、「Hullo」和「Aullo」中,显然「Hello」将更频繁地出现在文本数据库中(更不用说在我们原始的基于音频的训练数据中了),因此它可能就是正解。所以我们会选择「Hello」作为我们的最终结果,而不是其他的转写。搞定!


稍等一下!


你可能会想「但是如果有人说Hullo」怎么办?这个词的确存在。也许「Hello」是错误的转写!



当然可能有人实际上说的是「Hullo」而不是「Hello」。但是这样的语音识别系统(基于美国英语训练)基本上不会产生「Hullo」这样的转写结果。用户说「Hullo」,它总是会认为你在说「Hello」,无论你发「U」的声音有多重。


试试看!如果你的手机被设置为美式英语,尝试让你的手机助手识别单词「Hullo」。这不行!它掀桌子不干了,它总是会理解为「Hello」。


不识别「Hullo」是一个合理的行为,但有时你会碰到令人讨厌的情况:你的手机就是不能理解你说的有效的语句。这就是为什么这些语音识别模型总是处于再训练状态的原因,它们需要更多的数据来修复这些少数情况。


我能建立自己的语音识别系统吗?


机器学习最酷炫的事情之一就是它有时看起来十分简单。你得到一堆数据,把它输入到机器学习算法当中去,然后就能神奇地得到一个运行在你游戏本显卡上的世界级 AI 系统...对吧?


这在某些情况下是真实的,但对于语音识别并不成立。语音识别是一个困难的问题。你得克服几乎无穷无尽的挑战:劣质麦克风、背景噪音、混响和回声、口音差异等等。你的训练数据需要囊括这所有的一切,才能确保神经网络可以应对它们。


这里有另外一个例子:你知不知道,当你在一个嘈杂的房间里说话时,你会不自觉地提高你的音调,来盖过噪音。人类在什么情况下都可以理解你,但神经网络需要训练才能处理这种特殊情况。所以你需要人们在噪音中大声讲话的训练数据!


要构建一个能在 Siri、Google Now! 或 Alexa 等平台上运行的语音识别系统,你将需要大量的训练数据 。如果你不雇上数百人为你录制的话,它需要的训练数据比你自己能够获得的数据要多得多。由于用户对低质量语音识别系统的容忍度很低,因此你不能吝啬。没有人想要一个只有八成时间有效的语音识别系统。


对于像谷歌或亚马逊这样的公司,在现实生活中记录的成千上万小时的人声语音就是黄金。这就是将他们世界级语音识别系统与你自己的系统拉开差距的地方。让你免费使用 Google Now!或 Siri,或是只要 50 美元购买 Alexa 而没有订阅费的意义就是:让你尽可能多地使用它们。你对这些系统所说的每一句话都会被永远记录下来,并用作未来版本语音识别算法的训练数据。这才是他们的真实目的!


不相信我?如果你有一部安装了 Google Now! 的 Android 手机,请点击这里收听你自己对它说过的每一句话:


你可以通过 Alexa 在 Amazon 上找到相同的东西。然而,不幸的是,苹果并不让你访问你的 Siri 语音数据。


因此,如果你正在寻找一个创业的想法,我不建议你尝试建立自己的语音识别系统来与 Google 竞争。相反,你应该想个办法,让人们把自己讲了几个小时的录音交给你。这种数据可以是你的产品。

2018-10-05 22:04:43 weixin_42389349 阅读数 25551
  • 实用主义学Python(小白也容易上手的Python实用案例)

    原价169,早鸟价仅需99元 系统掌握Python核心语法16点,轻松应对工作中80%以上的Python使用场景! 99元=72讲+源码+社群答疑+讲师社群分享会  【哪些人适合学习这门课程?】 1)大学生,平时只学习了Python理论,并未接触Python实战问题; 2)对Python实用技能掌握薄弱的人,自动化、爬虫、数据分析能让你快速提高工作效率; 3)想学习新技术,如:人工智能、机器学习、深度学习等,这门课程是你的必修课程; 4)想修炼更好的编程内功,优秀的工程师肯定不能只会一门语言,Python语言功能强大、使用高效、简单易学。 【超实用技能】 从零开始 自动生成工作周报 职场升级 豆瓣电影数据爬取 实用案例 奥运冠军数据分析 自动化办公 :通过Python自动化分析Excel数据并自动操作Word文档,最终获得一份基于Excel表格的数据分析报告。 豆瓣电影爬虫: 通过Python自动爬取豆瓣电影信息并将电影图片保存到本地。 奥运会数据分析实战 简介:通过Python分析120年间奥运会的数据,从不同角度入手分析,从而得出一些有趣的结论。 【超人气老师】 二两 中国人工智能协会高级会员 生成对抗神经网络研究者 《深入浅出生成对抗网络:原理剖析与TensorFlow实现》一书作者 阿里云大学云学院导师 前大型游戏公司后端工程师 【超丰富实用案例】 0)图片背景去除案例 1)自动生成工作周报案例 2)豆瓣电影数据爬取案例 3)奥运会数据分析案例 4)自动处理邮件案例 5)github信息爬取/更新提醒案例 6)B站百大UP信息爬取与分析案例 7)构建自己的论文网站案例

    2571 人正在学习 去看看 廖茂文

从事深度强化学习有一段时间了,整理了网上的一些资料,写几篇博客作为知识的梳理和总结。

开讲前,先给大家看个深度强化学习的例子,下面是深度学习cnn和强化学习结合玩吃豆人的游戏

看图像我们会发现吃豆人会,吃掉一闪一闪的豆子来消灭怪物,仔细观察会发现,经过训练的吃豆人,甚至会停在某个角落来躲避怪物,这是一个非常有趣的现象,后面会附有个人深度强化学习项目地址。下面我们开始正式介绍强化学习。

一、强化学习的基本概念

1.1 强化学习的原理和解释

强化学习任务通常使用马尔可夫决策过程(Markov Decision Process,简称MDP)来描述,具体而言:机器处在一个环境中,每个状态为机器对当前环境的感知;机器只能通过动作来影响环境,当机器执行一个动作后,会使得环境按某种概率转移到另一个状态;同时,环境会根据潜在的奖赏函数反馈给机器一个奖赏。综合而言,强化学习主要包含四个要素:状态、动作、转移概率以及奖赏函数。————周志华《机器学习》

根据上图,agent(智能体)在进行某个任务时,首先与environment进行交互,产生新的状态state,同时环境给出奖励reward,如此循环下去,agent和environment不断交互产生更多新的数据。强化学习算法就是通过一系列动作策略与环境交互,产生新的数据,再利用新的数据去修改自身的动作策略,经过数次迭代后,agent就会学习到完成任务所需要的动作策略。

1.2 强化学习和机器学习

强化学习是机器学习的分支之一,但是又区别于其他机器学习,主要体现在:

  • 无特定数据,只有奖励信号
  • 奖励信号不一定实时
  • 主要研究时间序列的数据,而不是独立同分布的数据
  • 当前行为影响后续数据

从1.1基本原理我们可以看的强化学习和其他机器学习算法监督学习和无监督学习的差别。监督学习和无监督学习都需要静态的数据,不需要与环境交互,数据输入到相关函数训练就行。而且对于有监督学习和无监督学习来说,有监督学习强调通过学习有标签的数据,预测新数据的标签,无监督学习更多是挖掘数据中隐含的规律。

1.3 主要算法和相关分类

根据上面的原理,其实我们可以得到,强化学习关键要素:agent(智能体),reward(奖励),action(行为),state(状态),environment(环境)。

  • agent:主要涉及到:策略(Policy),价值函数(Value Function)和模型(Model)。Policy,可以理解为行动指南,让agent执行什么动作,在数学上可以理解为从状态state到动作action的映射,可分为确定性策略(Deterministic policy)和随机性策略(Stochastic policy),前者是指在某特定状态下执行某个特定动作,后者是根据概率来执行某个动作。Value Function,对未来总Reward的一个预测。Model,一个对环境的认知框架,可以预测采取动作后的下一个状态是什么,很多情况下是没有模型的,agent只能通过与环境互动来提升策略。
  • state:可以细分为三种,Environment State,Agent State和Information State。Environment State是agent所处环境包含的信息,简单理解就是很多特征数据,也包含了无用的数据。Agent State是输入给agent的信息,也就是特征数据。Information State是一个概念,即当前状态包含了对未来预测所需要的有用信息,过去信息对未来预测不重要,该状态就满足马尔科夫性(Markov Property)。Environment State,Agent State都可以是Markov Property。
  • environment:可以分为完全可观测环境(Fully Observable Environment)和部分可观测环境(Partially Observable Environment)。Fully Observable Environment就是agent了解了整个环境,显然是一个理想情况。Partially Observable Environment是agent了解部分环境的情况,剩下的需要靠agent去探索。

强化学习算法按照agent分类,可以分为下面几类:

  1. 关注最优策略(Policy based)
  2. 关注最优奖励总和(Value based)
  3. 关注每一步的最优行动(Action based)

从不同角度也可以继续细分,具体可以看下图:

下面我们简单介绍分析一下Qlearning和Sarsa

1. Qlearning

2. Sarsa

从表格我们知道,Qlearning是off-policy,而Saras是on-policy。 对于Saras,当agent处于状态s时,根据当前Q网络以及一定的策略来选取动作a,进而观测到下一步状态s',并再次根据当前Q网络及相同的策略选择动作a',而Qlearning则是,根据当前Q网络计算出下一步采取哪个动作会得到maxQ值,并用这个Q值作为当前状态动作对Q值的目标,简单来说,Saras是agent处于新状态s',就知道要采取行动a',并且执行了,行动的选择根据策略,Q值的计算是根据动作a',而Qlearning是agent处于新状态s',只能知道采取哪个行动可以得到maxQ,并没有采取对应行动,它是根据当前Q和策略来采取行动的。在后面我们会做详细分析。

二、深度强化学习

传统的强化学习局限于动作空间和样本空间都很小,且一般是离散的情境下。然而比较复杂的、更加接近实际情况的任务则往往有着很大的状态空间和连续的动作空间。当输入数据为图像,声音时,往往具有很高维度,传统的强化学习很难处理,深度强化学习就是把深度学习对于的高维输入与强化学习结合起来。

2013和2015年DeepMind的Deep Q Network(DQN)可谓是将两者成功结合的开端,它用一个深度网络代表价值函数,依据强化学习中的Q-Learning,为深度网络提供目标值,对网络不断更新直至收敛。2015 DQN nature算法可以看下图:

DQN用到了两个关键技术涉及到了两个关键技术:

1、样本池(Experience Reply):将采集到的样本先放入样本池,然后从样本池中随机选出一条样本用于对网络的训练。这种处理打破了样本间的关联,使样本间相互独立。

2、固定目标值网络(Fixed Q-target):计算网络目标值需用到现有的Q值,现用一个更新较慢的网络专门提供此Q值。这提高了训练的稳定性和收敛性。

DQN在Atari games上用原始像素图片作为状态达到甚至超越人类专家的表现、通过左右互搏(self-play)等方式在围棋上碾压人类、大大降低了谷歌能源中心的能耗等等。当然DQN也有缺点,它是高维输入,低维输出的,当涉及到一次性输出连续动作时,即高维度输出,就束手无策了,DeepMind也在后续提出了DDPG。

根据前面知识可以意识到强化学习本身是非常通用了,智能体可以自己学习,如果和深度学习结合岂不是万能?错了,当前深度强化学习也有许多难点:

  1. 样本利用率低,需要长时间训练
  2. 很难设计奖励函数
  3. 对环境过拟合,比如去玩打砖块很擅长,却很难去适应俄罗斯方块
  4. 不稳定,函数对参数很敏感,参数的变动,模型会千差万别

未来可能方向:

  1. 与迁移学习结合,适应不同环境
  2. 硬件提升
  3. 融合更多的模型学习,充分利用样本
  4. 自主设定奖励函数

个人相关深度强化学习github地址:https://github.com/demomagic

下一篇我们将深入讲解强化学习的必备知识,马尔科夫决策过程(MDP)

PS: 如果觉得本篇本章对您有所帮助,欢迎关注、评论、赞!如果要转发请注明作者和出处

参考文献:

    [1]一条咸鱼的强化学习之路2之强化学习基本概念与MDP:https://zhuanlan.zhihu.com/p/26608059

    [2]深度强化学习——从DQN到DDPG:https://blog.csdn.net/qq_41352018/article/details/80274257

    [3]一文了解强化学习:https://blog.csdn.net/aliceyangxi1987/article/details/73327378

2019-04-16 13:01:27 u013538542 阅读数 1704
  • 实用主义学Python(小白也容易上手的Python实用案例)

    原价169,早鸟价仅需99元 系统掌握Python核心语法16点,轻松应对工作中80%以上的Python使用场景! 99元=72讲+源码+社群答疑+讲师社群分享会  【哪些人适合学习这门课程?】 1)大学生,平时只学习了Python理论,并未接触Python实战问题; 2)对Python实用技能掌握薄弱的人,自动化、爬虫、数据分析能让你快速提高工作效率; 3)想学习新技术,如:人工智能、机器学习、深度学习等,这门课程是你的必修课程; 4)想修炼更好的编程内功,优秀的工程师肯定不能只会一门语言,Python语言功能强大、使用高效、简单易学。 【超实用技能】 从零开始 自动生成工作周报 职场升级 豆瓣电影数据爬取 实用案例 奥运冠军数据分析 自动化办公 :通过Python自动化分析Excel数据并自动操作Word文档,最终获得一份基于Excel表格的数据分析报告。 豆瓣电影爬虫: 通过Python自动爬取豆瓣电影信息并将电影图片保存到本地。 奥运会数据分析实战 简介:通过Python分析120年间奥运会的数据,从不同角度入手分析,从而得出一些有趣的结论。 【超人气老师】 二两 中国人工智能协会高级会员 生成对抗神经网络研究者 《深入浅出生成对抗网络:原理剖析与TensorFlow实现》一书作者 阿里云大学云学院导师 前大型游戏公司后端工程师 【超丰富实用案例】 0)图片背景去除案例 1)自动生成工作周报案例 2)豆瓣电影数据爬取案例 3)奥运会数据分析案例 4)自动处理邮件案例 5)github信息爬取/更新提醒案例 6)B站百大UP信息爬取与分析案例 7)构建自己的论文网站案例

    2571 人正在学习 去看看 廖茂文

计算机视觉领域正在从统计方法转向深度学习神经网络方法。

计算机视觉中仍有许多具有挑战性的问题需要解决。然而,深度学习方法正在针对某些特定问题取得最新成果。

在最基本的问题上,最有趣的不仅仅是深度学习模型的表现;事实上,单个模型可以从图像中学习意义并执行视觉任务,从而无需使用专门的手工制作方法。

在这篇文章中,您将发现九个有趣的计算机视觉任务,其中深度学习方法取得了一些进展。

让我们开始吧。

概观

在这篇文章中,我们将研究以下使用深度学习的计算机视觉问题:

  1. 图像分类
  2. 具有本地化的图像分类
  3. 物体检测
  4. 对象分割
  5. 图像样式转移
  6. 图像着色
  7. 影像重建
  8. 图像超分辨率
  9. 图像合成
  10. 其他问题

注意,当涉及图像分类(识别)任务时,已采用ILSVRC的命名约定。虽然任务集中在图像上,但它们可以推广到视频帧。

我试图关注您可能感兴趣的最终用户问题的类型,而不是深度学习能够做得更好的学术问题。

每个示例都提供了问题的描述,示例以及对演示方法和结果的论文的引用。

您是否有最喜欢的深度学习计算机视觉应用程序未列出?
请在下面的评论中告诉我。

图像分类

图像分类涉及为整个图像或照片分配标签。

该问题也被称为“对象分类”,并且可能更一般地称为“图像识别”,尽管后一任务可以应用于与分类图像内容相关的更广泛的任务集。

图像分类的一些示例包括:

1、将X射线标记为癌症与否(二元分类)。
2、对手写数字进行分类(多类分类)。
3、为脸部照片指定名称(多类别分类)。

用作基准问题的图像分类的流行示例是MNIST数据集。
在这里插入图片描述
分类数字照片的流行真实版本是街景房号(SVHN)数据集。

有许多图像分类任务涉及对象的照片。 两个流行的例子包括CIFAR-10和CIFAR-100数据集,这些数据集的照片分别分为10类和100类。

大规模视觉识别挑战赛(ILSVRC)是一项年度竞赛,其中团队在从ImageNet数据库中提取的数据上竞争一系列计算机视觉任务的最佳性能。图像分类方面的许多重要进步来自于发布在该挑战或来自该挑战的任务的论文,最值得注意的是关于图像分类任务的早期论文。例如:

  1. 使用深度卷积神经网络的ImageNet分类,2012。
  2. 用于大规模图像识别的非常深的卷积网络,2014。
  3. 围绕卷积更深入,2015年。
  4. 图像识别的深度残留学习,2015年。

具有本地化的图像分类

具有本地化的图像分类涉及为图像分配类标签并通过边界框(在对象周围绘制框)来显示图像中对象的位置。

这是一个更具挑战性的图像分类版本。

本地化图像分类的一些示例包括:

1.将X射线标记为癌症或在癌症区域周围画一个盒子。
2.在每个场景中对动物的照片进行分类并在动物周围画一个盒子。
用于具有定位的图像分类的经典数据集是PASCAL视觉对象类数据集,或简称为PASCAL VOC(例如VOC 2012)。这些是多年来在计算机视觉挑战中使用的数据集。
在这里插入图片描述
该任务可以涉及在图像中的同一对象的多个示例周围添加边界框。 因此,该任务有时可称为“对象检测”。
在这里插入图片描述
用于本地化图像分类的ILSVRC2016数据集是一个流行的数据集,包含150,000张照片和1000种对象。

关于本地化图像分类的论文的一些例子包括:

  1. 选择性搜索对象识别,2013年。
  2. 用于精确对象检测和语义分割的丰富特征层次结构,2014年。
  3. 快速R-CNN,2015年。

物体检测

物体检测是具有定位的图像分类的任务,尽管图像可能包含需要定位和分类的多个对象。

与简单的图像分类或具有定位的图像分类相比,这是一项更具挑战性的任务,因为在不同类型的图像中通常存在多个对象。

通常,使用并展示用于具有定位的图像分类的技术用于对象检测。

对象检测的一些示例包括:

绘制边界框并标记街道场景中的每个对象。
绘制边界框并在室内照片中标记每个对象。
绘制边界框并在横向中标记每个对象。
PASCAL Visual Object Classes数据集或简称PASCAL VOC(例如VOC 2012)是用于对象检测的常见数据集。

用于多个计算机视觉任务的另一个数据集是Microsoft的上下文数据集中的公共对象,通常称为MS COCO。
在这里插入图片描述
关于物体检测的论文的一些例子包括:

  1. OverFeat:使用卷积网络的集成识别,本地化和检测,2014年。
  2. 更快的R-CNN:利用区域提案网络实现实时目标检测,2015年。
  3. 您只看一次:统一,实时对象检测,2015年。

对象分割

对象分割或语义分割是对象检测的任务,其中在图像中检测到的每个对象周围绘制线。图像分割是将图像分成段的更普遍的问题。

对象检测有时也称为对象分割。

与涉及使用边界框来识别对象的对象检测不同,对象分割识别图像中属于对象的特定像素。这就像一个细粒度的本地化。

更一般地,“图像分割”可以指将图像中的所有像素分割成不同类别的对象。

同样,VOC 2012和MS COCO数据集可用于对象分割。
在这里插入图片描述
KITTI Vision Benchmark Suite是另一种流行的对象分割数据集,提供用于自动驾驶车辆训练模型的街道图像。

关于对象分割的一些示例论文包括:

  1. 同步检测和分割,2014年。
  2. 用于语义分割的完全卷积网络,2015。
  3. 用于对象分割和细粒度本地化的超级列,2015。
  4. SegNet:用于图像分割的深度卷积编码器 - 解码器架构,2016。
  5. Mask R-CNN,2017年。

风格转移

风格转移或神经风格转移是从一个或多个图像学习风格并将该风格应用于新图像的任务。

该任务可以被认为是一种可能没有客观评价的照片滤波器或变换。

例子包括将特定着名艺术品(例如Pablo Picasso或Vincent van Gogh)的风格应用于新照片。

数据集通常涉及使用公共领域的着名艺术作品和标准计算机视觉数据集中的照片。
在这里插入图片描述
一些论文包括:

  1. 艺术风格的神经算法,2015。
  2. 使用卷积神经网络的图像样式转移,2016。

图像着色

图像着色或神经着色涉及将灰度图像转换为全色图像。

该任务可以被认为是一种可能没有客观评价的照片滤波器或变换。

例子包括着色旧的黑白照片和电影。

数据集通常涉及使用现有的照片数据集并创建模型必须学习着色的照片的灰度版本。
在这里插入图片描述
一些论文包括:

  1. 彩色图像着色,2016年。
  2. 让我们有颜色:全球和本地图像的联合端到端学习,用于同步分类的自动图像着色,2016。
  3. 深色着色,2016。

影像重建

图像重建和图像修复是填充图像的缺失或损坏部分的任务。

该任务可以被认为是一种可能没有客观评价的照片滤波器或变换。

示例包括重建旧的,损坏的黑白照片和电影(例如照片恢复)。

数据集通常涉及使用现有的照片数据集并创建模型必须学会修复的损坏版本的照片。
在这里插入图片描述
一些论文包括:

  1. 像素回归神经网络,2016年。
  2. 使用部分卷积的图像修复不规则孔,2018年。
  3. 使用具有带通滤波的深度神经网络进行高度可扩展的图像重建,2018年。

图像超分辨率

图像超分辨率是生成具有比原始图像更高分辨率和细节的图像的新版本的任务。

通常为图像超分辨率开发的模型可用于图像恢复和修复,因为它们解决了相关问题。

数据集通常涉及使用现有的照片数据集并创建缩小版照片,模型必须学会创建超分辨率版本。
在这里插入图片描述
一些论文包括:

  1. 使用生成对抗网络的照片真实单图像超分辨率,2017。
  2. 深拉普拉斯金字塔网络,快速准确的超分辨率,2017。
  3. Deep Image Prior,2017。

图像合成

图像合成是生成现有图像或全新图像的目标修改的任务。

这是一个非常广泛的领域,正在迅速发展。

它可能包括图像和视频的小修改(例如图像到图像的翻译),例如:

更改场景中对象的样式。
将对象添加到场景中。
将面添加到场景中。
在这里插入图片描述
它还可能包括生成全新的图像,例如:

1、生成面孔。
2、生成浴室。
3、生成衣服。
在这里插入图片描述
一些论文包括:

  1. 用深度卷积生成对抗网络学习无监督表示,2015。 使用PixelCNN解码器生成条件图像,2016。
  2. 使用周期一致的对抗网络进行不成对的图像到图像转换,2017。

其他问题
还有其他重要且有趣的问题我没有涉及,因为它们不是纯粹的计算机视觉任务。

值得注意的例子是图像到文本和文本到图像:

1、图像字幕:生成图像的文本描述。
Show and Tell:神经图像标题生成器,2014。
2、图像描述:生成图像中每个对象的文本描述。
用于生成图像描述的深层视觉语义对齐,2015。
3、文本到图像:基于文本描述合成图像。
AttnGAN:使用注意生成对抗网络生成细粒度文本到图像,2017。

据推测,人们学会在其他模态和图像之间进行映射,例如音频。

总结

在这篇文章中,您发现了九种深度学习应用于计算机视觉任务。

您最喜欢的计算机视觉深度学习的例子是否错过了?
请在评论中告诉我。

你有任何问题吗?
在下面的评论中提出您的问题。

2020-01-11 13:21:41 Tecsae 阅读数 156
  • 实用主义学Python(小白也容易上手的Python实用案例)

    原价169,早鸟价仅需99元 系统掌握Python核心语法16点,轻松应对工作中80%以上的Python使用场景! 99元=72讲+源码+社群答疑+讲师社群分享会  【哪些人适合学习这门课程?】 1)大学生,平时只学习了Python理论,并未接触Python实战问题; 2)对Python实用技能掌握薄弱的人,自动化、爬虫、数据分析能让你快速提高工作效率; 3)想学习新技术,如:人工智能、机器学习、深度学习等,这门课程是你的必修课程; 4)想修炼更好的编程内功,优秀的工程师肯定不能只会一门语言,Python语言功能强大、使用高效、简单易学。 【超实用技能】 从零开始 自动生成工作周报 职场升级 豆瓣电影数据爬取 实用案例 奥运冠军数据分析 自动化办公 :通过Python自动化分析Excel数据并自动操作Word文档,最终获得一份基于Excel表格的数据分析报告。 豆瓣电影爬虫: 通过Python自动爬取豆瓣电影信息并将电影图片保存到本地。 奥运会数据分析实战 简介:通过Python分析120年间奥运会的数据,从不同角度入手分析,从而得出一些有趣的结论。 【超人气老师】 二两 中国人工智能协会高级会员 生成对抗神经网络研究者 《深入浅出生成对抗网络:原理剖析与TensorFlow实现》一书作者 阿里云大学云学院导师 前大型游戏公司后端工程师 【超丰富实用案例】 0)图片背景去除案例 1)自动生成工作周报案例 2)豆瓣电影数据爬取案例 3)奥运会数据分析案例 4)自动处理邮件案例 5)github信息爬取/更新提醒案例 6)B站百大UP信息爬取与分析案例 7)构建自己的论文网站案例

    2571 人正在学习 去看看 廖茂文

计算机视觉的领域正从统计方法转变为深度学习神经网络方法。在计算机视觉中仍然需要解决许多具有挑战性的问题。 尽管如此,深度学习方法仍在某些特定问题上取得了最新的成果。有趣的不仅仅是深度学习模型在基准问题上的表现。 事实是,单个模型可以从图像中学习含义并执行视觉任务,从而不需要专门的手工方法。

 

计算机视觉9大常见应用,深度学习的这些名词你听过几个?

 

在本文中,你将发现九个有趣的计算机视觉任务,其中深度学习方法正在取得进展。注意,在图像分类(识别)任务时,采用了ILSVRC的命名约定。 尽管这些任务集中在图像上,但是它们可以推广到视频帧。

我试图将重点放在你可能感兴趣的最终用户问题的类型上,而不是在深度学习方面做得很好的更多学术子问题上。

每个示例都提供了对该问题的描述以及一个示例。是否有未列出的最喜欢的用于深度学习的计算机视觉应用程序?

1、图像分类

图像分类涉及为整个图像或照片分配标签。这个问题也被称为“对象分类”,并且可能更普遍地被称为“图像识别”,尽管后者的任务可能适用于与图像内容分类有关的更广泛的任务集。

 

计算机视觉9大常见应用,深度学习的这些名词你听过几个?

 

 

图像分类的一些示例包括:

是否将X射线标记为癌症(二进制分类)。

对手写数字进行分类(多类分类)。

为面部照片分配名称(多类分类)。

用作基准问题的图像分类的一个流行示例是MNIST数据集。

计算机视觉9大常见应用,深度学习的这些名词你听过几个?

 

街景房门号码(SVHN)数据集是对数字照片进行分类的一种流行的现实版本。

该图像的类别是什么?

有许多涉及对象照片的图像分类任务。 两个受欢迎的示例包括CIFAR-10和CIFAR-100数据集,这些数据集的照片分别分为10类和100类。

大规模视觉识别挑战赛(ILSVRC)是一项年度竞赛,在该竞赛中,团队将根据ImageNet数据库中提取的数据,在一系列计算机视觉任务中争夺最佳性能。 图像分类的许多重要进步来自有关此挑战的任务或有关此任务的论文,其中最著名的是有关图像分类任务的早期论文。

2、具有本地化的图像分类

具有本地化的图像分类涉及为图像分配类别标签,并通过边界框(在对象周围绘制一个框)显示对象在图像中的位置。

这是图像分类的更具挑战性的版本。

具有本地化的图像分类的一些示例包括:

标记X射线是否为癌症,并在癌变区域周围画一个方框。

在每个场景中对动物的照片进行分类并在动物周围画一个方框。用于本地化图像分类的经典数据集是PASCAL视觉对象类数据集,或简称为PASCAL VOC(例如VOC 2012)。 这些是多年来在计算机视觉挑战中使用的数据集。

计算机视觉9大常见应用,深度学习的这些名词你听过几个?

 

该任务可能涉及在图像中同一对象的多个示例周围添加边界框。 这样,有时将该任务称为“对象检测”。用于本地化图像分类的ILSVRC2016数据集是一个受欢迎的数据集,包含150,000张照片和1,000个对象类别。

 

计算机视觉9大常见应用,深度学习的这些名词你听过几个?

 

3、物体检测

尽管图像可能包含需要定位和分类的多个对象,但是对象检测是通过定位对图像进行分类的任务。与简单的图像分类或具有定位的图像分类相比,这是一个更具挑战性的任务,因为通常在不同类型的图像中存在多个对象。通常,针对本地化图像分类而开发的技术已被使用并证明用于物体检测。

 

计算机视觉9大常见应用,深度学习的这些名词你听过几个?

 

对象检测的一些示例包括:

绘制边界框并标记街道场景中的每个对象。

绘制边界框并标记室内照片中的每个对象。

绘制边界框并标记景观中的每个对象。

PASCAL视觉对象类数据集或简称PASCAL VOC(例如VOC 2012)是用于对象检测的常见数据集。另一个用于执行多个计算机视觉任务的数据集是Microsoft的“上下文数据集中的通用对象”,通常称为MS COCO。

4、对象分割

对象分割或语义分割是对象检测的任务,其中在图像中检测到的每个对象周围画一条线。 图像分割是将图像分割成多个部分的更普遍的问题。对象检测有时也称为对象分割。

与涉及使用边界框识别对象的对象检测不同,对象分割可识别图像中属于该对象的特定像素。 这就像一个细粒度的本地化。一般而言,“图像分割”可能是指将图像中的所有像素分割为不同类别的对象。

同样,VOC 2012和MS COCO数据集可用于对象分割。KITTI Vision Benchmark Suite是另一个受欢迎的对象细分数据集,它提供用于自动驾驶汽车训练模型的街道图像。

5、样式转移

样式转移或神经样式转移是从一个或多个图像中学习样式并将该样式应用于新图像的任务。可以将此任务视为可能没有客观评估的一种照片滤镜或变换。

 

计算机视觉9大常见应用,深度学习的这些名词你听过几个?

 

例如,将特定的著名艺术品(例如帕勃罗·毕加索(Pablo Picasso)或文森特·梵高(Vincent van Gogh))的风格应用于新照片。数据集通常涉及使用公共领域的著名艺术品和来自标准计算机视觉数据集的照片。

6、图像着色

图像着色或神经着色涉及将灰度图像转换为全色图像。可以将此任务视为可能没有客观评估的一种照片滤镜或变换。示例包括为旧的黑白照片和电影着色。

数据集通常涉及使用现有的照片数据集并创建模型必须学会着色的照片的灰度版本。

7、影像重建

图像重建和图像修复是填充图像缺失或损坏的部分的任务。可以将此任务视为可能没有客观评估的一种照片滤镜或变换。例如,重建旧的,损坏的黑白照片和电影(例如,照片恢复)。数据集通常涉及使用现有照片数据集并创建模型必须学习修复的照片的损坏版本。

8、图像超分辨率

图像超分辨率是生成比原始图像具有更高分辨率和细节的图像新版本的任务。通常,为图像超分辨率开发的模型可以解决相关问题,因此可以用于图像恢复和修复。数据集通常涉及使用现有照片数据集并创建照片的缩小版本,而模型必须学习这些缩小版本的模型才能创建超分辨率版本。

9、图像合成

图像合成是生成现有图像或全新图像的目标修改的任务。这是一个非常广阔的领域,正在迅速发展。它可能包括对图像和视频的少量修改(例如,图像到图像的翻译),例如:

更改场景中对象的样式。

将对象添加到场景。

在场景中添加面孔。

 

计算机视觉9大常见应用,深度学习的这些名词你听过几个?

 

它还可能包括生成全新的图像,例如:

生成面孔。

生成浴室。

产生服饰。

其他问题

我没有涉及其他重要而有趣的问题,因为它们不是纯粹的计算机视觉任务。据推测,人们学会了在其他形式和图像(例如音频)之间进行映射。

计算机视觉与语音识别的应用示例

Gravitylink推出钛灵AIX是一款集计算机视觉与智能语音交互两大核心功能为一体的人工智能硬件,Model Play是面向全球开发者的AI模型资源平台,内置多样化AI模型,与钛灵AIX结合,基于Google开源神经网络架构及算法,构建自主迁移学习功能,无需写代码,通过选择图片、定义模型和类别名称即可完成AI模型训练。

没有更多推荐了,返回首页