深入浅出DeepLearning(一)

举报
华为云社区精选 发表于 2018/05/14 14:48:02 2018/05/14
【摘要】 本文是本人原创,供自己研习之余分享一些学习的心得和感悟,如有转载,请征得本人同意并标明出处。本文计划围绕CNN(卷积神经网络)来进行,最后给出几个tensorflow下有趣的小程序,供初学者入门使用。小猛加入了某不仅仅是世界500强,开始了他的DeepLearning工程师之路。 他的老板交给他一项任务,做一个产品,智能识别樱桃和西红柿! 小猛拿到了老板的任务,觉得真的So easy,樱桃和...

本文是本人原创,供自己研习之余分享一些学习的心得和感悟,如有转载,请征得本人同意并标明出处。

本文计划围绕CNN(卷积神经网络)来进行,最后给出几个tensorflow下有趣的小程序,供初学者入门使用。


小猛加入了某不仅仅是世界500强,开始了他的DeepLearning工程师之路。


他的老板交给他一项任务,做一个产品,智能识别樱桃和西红柿!

小猛拿到了老板的任务,觉得真的So easy,樱桃和西红柿按照个头大小即可区分!

image.png

但是多大就算是西红柿,多小就算是樱桃呢?假定尺寸大于W1的就被判定为西红柿,

尺寸小于W1的就被判定为樱桃,这个W1怎么来定呢?答案就是——通过训练来学习获得。

给W1设定一个初值,假设为0cm,然后把这个参数带入我们的模型:


如果 尺寸大于W1:西红柿

如果石村小于W1:樱桃


然后把樱桃的尺寸往里面带入,发现樱桃居然被判断成了西红柿!W1需要修正。

只要智力正常的人都知道,应该加大W1的值,这里我们假设一每次加大1cm,然后我们发现,当W1加大成3cm的时候,我们的模型区分出了手头所有的樱桃和西红柿!

那么,对于新买来的西红柿,我们带入这个模型,发现依然可行!Perfect!

通过不断的训练,我们得到了我们想要的模型!我们把尺寸这个维度称之为一个特征!


OK,按照这个思路,小猛实现了他的第一个人工智能产品,产品上市之后反应良好。

小猛升值加薪,迎娶了白富美,走上了人生巅峰!

嗯嗯,当然以上是不可能的!结果是:友商推出了同样的产品,因此小猛的老板要求他,加入更多的功能,不仅仅能识别樱桃和西红柿,还要能识别橘子。

要知道,橘子的大小和西红柿是差不多的,这下可难坏了小猛。

经过几个日日夜夜的冥思苦想,小猛顿悟,仅仅从个头这个维度识别物品根本不够!需要再引入一个维度(特征)——颜色!

image.png

那么训练这个模型,需要两个参数,W1、W2。其中W1在尺寸这个维度、W2在颜色这个维度。
训练W1的方法,上面已经给出了,但是训练W2的方法呢?
莫要惊慌,小学水彩画的时候,小猛已经知道,只要有了红(RED)绿(GREEN)蓝(BLUE)三原色,就能调配出世间的千万种颜色。
这里可以引入色彩的数字化数组,RGB数组来表示颜色。对于一个颜色,只要告诉计算机有多红,有多绿,有多蓝,然后计算机自动为我们合成这个颜色。
比如,黑色,就是[255,255,255],白色,就是[0,0,0]等等
全部颜色的组合有255x255x255种=16581375种。
好在小猛学过美术,知道红色和橘黄色,差别仅在绿色和蓝色上,即G通道和B通道上,这样只要训练255x255=65025次,就能得到W2了!
小猛不禁感慨,看来这搞DeepLearning,还得懂美术不成?!!!


引入了颜色这一维度之后,新产品很好的完成了橘子、西红柿、樱桃的识别! 小猛升值加薪,迎娶了白富美,走上了人生巅峰!

嗯嗯,当然这是不可能的!结果是:产品上市之后出现重大问题,原因是,果农发明了一个新品种的橘子——红橘,这种橘子比西红柿还红!

怎么办?小猛想到的方法是增加维度!再加一个光泽维度,可是这个光泽维度如何用数字化表示呢?


颜色维度下,用一个RGB数组可以表示,光泽维度,涉及到的不是一个点的颜色,而是一个面的颜色变化率,需要引入的是一个RGB矩阵,矩阵的每一个

元素是一个RGB数组,那么我们要训练光泽这个维度,需要的训练数是……是一个很大的数,再结合尺寸维度,色彩维度,训练量是一个天文数字。
这将会比宇宙中的原子数还要多。


更要命的是,某一天,一种名为樱桃西红柿的物品上市了,之前的训练似乎还要重新再来一次……

小猛迷茫了,与其我用计算机识别,我还不如肉眼识别来得更快些!

不如肉眼识别?等等,人大脑的计算速度和计算机是没法比的,为什么人脑能够拟合出各种识别物体的参数和特征?

小猛苦思冥想,越想越乱,越想越烦,归根到底,其实小猛的问题归结成了两个:


1,特征究竟如何取是最合理的——要识别的物体成千上万,如何划分特征最合理?

2,每一个特征维度下参数如何拟合?如果直接一个一个去尝试,计算量是一个天文数字。


小猛无奈之下求助了海归博士Dr. Hao来解决手头的难题,Dr.Hao留给小猛三个字母:CNN

小猛百度了一下,CNN的意思是Convolutional Neural Network能够完美的解决了小猛的两个问题。

小猛欣喜若狂,着手开始研究。首先,小猛偷偷查了一下Convolutional的含义——卷积。

Oh shit~小猛看到卷积就想起了各种复杂的公式,顿时皱起了眉头。然后偷偷查了查,其实还有很多其他的算法可以解决这两个问题,

于是小猛问Dr. Hao,为什么推荐我CNN?


Dr.Hao告诉他,如果用CNN,你只需要解决第二个问题,第一个问题会自动消失!

小猛:但是CNN目测涉及到卷积,一听就感觉好难!

Dr.Hao:少林寺的72绝技,每一个都很难,一般人一辈子的时间去研习,也就精通2-3个绝技,但是你知道鸠摩智为什么能全部精通吗?

小猛:因为鸠摩智是用小无相功的内力去学习的72绝技!

Dr.Hao:因为鸠摩智用的是Python!!!

(未完待续……)


作者|白韬

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。