介绍
深度学习正在从根本上改变我们周围的一切。许多人认为只有成为专家才能在应用中运用深度学习,实际上并非如此。
在上一篇文章中讨论了6个初学者在几分钟内就可以建立的深度学习应用。我很高兴看到很多读者由此受到启发,所以在其后又增加了一些深度学习的应用。如果错过了我上一篇文章,建议您先去读一下。
本文中我们将学习如何利用深度学习建立例如图像自动标注、服装推荐、音乐制作等其他很多应用。这些应用中的任何一个都可以在几分钟内完成。
PS. 本文假定你了解Python的基本知识,如果不了解的话,请参考this tutorial(https://www.analyticsvidhya.com/blog/2016/01/complete-tutorial-learn-data-science-python-scratch-2/) 然后再从这儿开始。
内容列表
1.使用现有API的应用
2.开源应用
3.实现超分辨率
1 使用现有API的深度学习应用
1.1 自动图像标注(Clarifai API)
图像标注是具有突破性意义的深度学习应用之一。和文本数据不一样,机器解析图像数据要困难得多,机器需要更深入地理解像素数据。因此我们通过图像标注来分析图像,由此得到图像分类并且辨识出相应的对象。
这就是我们使用图像标注来分析图像的原因。图像标注能告诉我们图像分类和辨识对象是什么。
下面是一个通过深度学习预测图像标注的例子:
下面就让我们来看看Clarifai提供的API是如何给上面的每幅图标注特征的。
系统需求和说明:
1.Python(2或者3)
2.互联网连接(能获取API端点)
第一步:在Clarifai网站上注册,获取API key。然后在开发者页面(https://indico.io/demos/clothing-matching)找到API的证书
第二步:在终端输入以下命令安装Clarifai的Python客户端
第三步:使用Clarifai客户端来配置系统
这一步需要提供客户端ID和客户端密钥。这些能在开发者页面找到。
第四步:生成文件Application.py,加入下面标注图像的代码。请记住把代码中<your_image>替换成你想标注的图像的路径。
然后用以下命令运行代码
你将会得到如下输出:
这个JSON输显示了预测的结果。你可以在outputs->data-> concept->name里找到相关的标注。
1.2 服装推荐(Indico API)
推荐系统正逐渐成为一种巨大的财富。随着产品种类的增加,企业十分需要一种能够智能锁定产品潜在消费者的工具。深度学习恰恰能在这方面很好地帮助我们。
我并不是个时髦的人,但我发现人们会“浪费”大量时间在选择穿哪件衣服上。要是能有个人工智能代理知道我们的喜好,并能给我们建议最佳搭配该多好呀!
幸运的是,深度学习正让这个成为可能。
你可以在here(https://indico.io/demos/clothing-matching)找到这个应用的演示。
official article (https://indico.io/blog/fashion-matching-tutorial/)文中有更详细的描述。现在让我们看看如何建立这个推荐系统:
系统需求和说明
1.Python 2
2.互联网连接(获取API端点)
第一步: 在Indico website(https://indico.io/pay-per-call)上注册获取你自己的API key
第二步:在命令行窗口输入以下命令,安装Indico的python客户端
第三步:从Github(https://github.com/IndicoDataSolutions/SuperCell)下载Repository。解压并进入“matching clothes”目录
第四步:在main.py文件中加入如下代码。记住将YOUR_API_KEY替换成在第一步中获取的你自己的KEY
在末尾将 ‘if __name__ == “__main__”'替换成如下代码
输入以下命令运行代码
你将会得到如下输出:
这段输出表示上面例子中匹配的概率。
2 深度学习的开源应用
2.1 使用深度学习进行音乐制作
音乐制作是深度学习最酷的应用之一。下面这个应用如果能运用得当的话,将带来突破性的发展。
和自然中的其他事物一样,音乐是和谐的。音乐具备一种我们能捕捉和理解的模式。而这些音乐模式对计算机来说是可以学习的,并能被用来产生新的音乐旋律。这就是音乐制作背后的原理。
This open source application(https://deepjazz.io/)就是基于这一点建立的。下面是它所产生的音乐的一个例子。
访问网站听听音乐效果(https://soundcloud.com/deepjazz-ai/deepjazz-on-metheny-128-epochs)
现在让我们来复制这个结果吧!
系统需求:
1.Python (2 或 3)
第一步:安装关联软件
首先安装Theano,注意必须安装最新版的Theano, 可以在here(http://deeplearning.net/software/theano/install.html#bleeding-edge-install-instructions)找到安装指南。
然后用以下命令安装Keras:
然后按照here(https://keras.io/backend/)提供的指南,把Keras的后端从tensorflow 变成Theano。
最后一个关联软件是Music21。参照this(http://web.mit.edu/music21/doc/installing/index.html)链接进行安装。
第二步: 运行以下命令生成音乐
2.2 检测“办公室不宜(Not Safe For Work)”图像
虽然审查制度是个颇具争议的话题,但是它仍然是为浏览者过滤出带有攻击性的成人内容的重要组成部分。以下应用主要聚焦于过滤出NFSW类型的内容和辨认色情图像方面。系统返回的分数能表示NFSW的倾向性,从而过滤出在一定阈值之上的图像。
下面是三张预测图像和系统给出的NFSW分数。
让我们来看看如何建立这样一个应用。
系统需求:
1.Python 2
第一步:在系统中安装Docker(https://docs.docker.com/engine/installation/)并且用以下命令建立一个图像
第二步:从Github下载repository并且解压(https://github.com/yahoo/open_nsfw)
第三步:在你的下载目录下运行以下命令。 给出你要分析的图像路径
2.3 超级分辨率
我们经常在电影中看到这样的镜头:放大图像后看到了最精细的细节,然后据此抓住了罪犯或者找到关键证据。
但事实并非如此,当你放大图像时,图像往往是变得模糊不清。为了处理这个问题(使梦想变为现实),我们可以使用深度学习来提高图像分辨率,帮助我们得到清晰的放大效果。
下面这个应用就是以上场景的实现,这里有一个输出的例子。
现在来看看如何建立这个应用。
系统需求
1.Python 3
第一步:在系统中安装docker
第二步:打开 .bashrc 文件并输入以下代码
第三步:现在提升你的图像,在下面的代码中加入图像的文件名
3
其他常用的资源
深度学习一直不断带给我们惊喜,伴随着无数应用的开发,各行各业利用这项技术展开竞争大有星火燎原之势。在本文结束之前,我很愿意再列举些可能对您有启发的资源。
Course material on “Applications of Deep Learning”
Projects done by students of Stanford’s CS231n ’16 batch
Projects done by students of Stanford’s CS224d ’16 batch
List of Deep Learning Startups
原文转自:https://mp.weixin.qq.com/s/8kDmqOgJUhM50llaJaGkng