前 言
深度学习从根本上改变了我们周围的一切。很多人认为必须成为深度学习的专家,才能将深度学习用到自己的应用中。然而,实际并非如此。
在我之前的文章中,我讨论了6款新手也能快速构建的深度学习应用(https://www.analyticsvidhya.com/blog/2017/02/6-deep-learning-applications-beginner-python/)。我非常高兴地看到有上百名读者受到它的激励。所以在这篇文章之后,我想再写一些深度学习应用方面的东西。如果你错过了我之前的文章,我建议你先把它看一下。
在这篇文章里,我们将学习如何构建能够实现自动给图片加标签、服装推荐、音乐生成和很多其他功能的应用。你将能够在几分钟之内建好这些应用!
P.S. 我假设你已经了解关于 Python 的一些基本知识。如果不是这样的话,你只需要先看一下之前的一份教程(https://www.analyticsvidhya.com/blog/2016/01/complete-tutorial-learn-data-science-python-scratch-2/) ,然后你就可以从这里开始啦。
目 录
1. 利用现有 API 构建的应用
1.1 使用 Clarifai 的 API 实现自动生成图片标签
1.2 使用 Indico 的 API 构建服装推荐系统
2. 开源应用
2.1 利用深度学习生成音乐
2.2 探测“Not Safe ForWork”图片
2.3 超分辨率
3. 其他值得注意的资源
1. 利用现有 API 构建深度学习应用
1.1 自动生成图片标签(使用 Clarifai 的 API)
图片标签生成是深度学习最先取得突破性结果的一个应用。对于机器来说,理解一张图片的难度要远远大于理解文本数据。机器需要对像素数据具有更深入的理解。因此我们要利用图片标签来总结一张图片并且告诉我们这张图片和它底层对象属于哪个分类。
这就是为什么我们要用图片标签来总结图片。它会告诉我们这张图片属于哪个分类以及它的底层对象是什么。
下面这个例子就是利用深度学习来预测一张图片的标签。
现在,让我们看看如何利用 Clarifai 提供的 API 来构建一上图中的标签特征。
必备和具体说明:
这是一个 json 格式的输出,显示的是对预测的响应。这里,你能在 outputs->data-> concept->name 中找到相关的标签。
1.2 服装推荐(使用 Indico 的 API)
推荐系统正在日益凸显它的价值。随着商品数目的增加,瞄准那些可能愿意购买某种产品的特定消费人群变得格外重要。在这一类应用的开发中,深度学习同样也能帮助到我们!
我不是个时尚爱好者,但是我知道人们会“浪费”很多时间在选择穿什么样的衣服上。如果我们能拥有一个知道我们的喜好并且能够向我们推荐完美的穿着的智能机器人该有多好!
幸运的是,在深度学习的帮助下,这成为了可能。
你可以在这里找到这个应用的演示。(https://indico.io/demos/clothing-matching)
Indico 的官方文章(https://indico.io/blog/fashion-matching-tutorial/)已经对它做了非常详细的描述。现在让我们弄清楚你要如何在你的终端上构建这个推荐系统。
必备和具体说明:
最后,把‘if __name__ == “__main__”‘这部分替换成如下代码:
if __name__ == "__main__":
train =generate_training_data("clothes_match_labeled_data_1.txt")
collection = Collection("clothes_collection_1")
for sample in tqdm(train):
print sample
collection.add_data(sample)
collection.train()
collection.wait()
然后运行此代码,输入:
python main.py
你会得到如下的输出:
{u'label1': 0.0183739774, u'label2':0.8100245667, u'label3': 0.1102390038, u'label4': 0.060105865800000005,u'label5': 0.0012565863}
输出显示了和上方例子匹配的概率。
2. 开源深度学习应用
2.1 利用深度学习技术生成音乐
音乐生成是深度学习技术实现的最酷的应用之一。如果这个应用能够被精心地使用,它将为产业带来新突破。
如同大多数自然产生的事物那样,音乐是和谐的。它拥有一些模式,并且它们是我们的大脑能够感受和理解的。我们可以把音乐的这些模式教给电脑,然后电脑就会利用它们来创造新的音乐韵律。这是音乐生成背后的原理。
这个开源应用(https://deepjazz.io/)就是紧抓着这个概念来构建的。我们来看一下它最后生成了什么。
现在让我们来看一下我们如何才能重复这个结果!
https://soundcloud.com/deepjazz-ai/deepjazz-on-metheny-128-epochs
必备:
2.2 探测“NSFW”图片
尽管审查制度确实是一个非常有争议的话题,但是它仍然是把成人内容从浏览器滤除的主力军。这类应用的开发者一般会专注于滤除中包含 NFSW 内容的图片,也就是识别含有色情内容的图片。应用会对图片的 NFSW 程度进行打分,当分数超过某个值,这张图片就会被滤除掉。
下面是一些图片以及应用给出的相应的 NFSW 分数。
让我们看看要如何构建这样一个应用。
必备:
2.3 超分辨率
在电影中我们经常可以看到这样的场景,当角色对某一张图片进行放大,他就能看到图片里那些最微小细节,并且最后他会利用它们抓住罪犯或者得到关键的线索。
https://youtu.be/LhF_56SxrGk
然而现实并不是这样的。当你进行放大的时候,图片通常会变得非常模糊,图片中的东西也变得难以看清。为了解决这个问题(以及让梦想成真),我们可以利用深度学习来增加图片的分辨率,这样在我们对图片进行放大的时候图片也能保持相对清晰。
下面是一些输出的例子。
让我们看看如何构建它。
必备:
3. 其他值得注意的资料
深度学习时常让我感到惊奇。随着不计其数的应用的开发,产业中应用这种技术来进行开发的竞争正在愈演愈烈。在文章结束之前,我想再推荐你一些可能会给你带来灵感的资料。
https://youtu.be/BmkA1ZsG2P4
本文作者 Faizan Shaikh 是一名数据科学爱好者,目前正在研究深度学习,目标是利用自己的技能,推动 AI 研究的发展。
本文由 AI100 编译,转载需得到本公众号同意。
编译:AI100
原文链接:https://www.analyticsvidhya.com/blog/2017/02/5-deep-learning-applications-beginner-python/