继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

带你学AI(一)

慕姐8265434
关注TA
已关注
手记 1268
粉丝 222
获赞 1065

人工智能难学吗?
其实不难。一个有大学学历和基本编程经验的开发,在正确的材料和方向引导下3个星期的时间就能实现自己的第一个人工智能,甚至不需要你有python基础,边学python边学AI都行。

那么为什么很多人说人工智能难?
要明白这个,正确的提问是,学人工智能难在哪里?

学人工智能难在哪里

学人工智能的过程分为几个步骤,
· 弄明白人工智能是什么
· 分清人工智能包括哪些实现手段
· 从具体例子出发,学会其中一种AI算法

这三个步骤,在国内的环境下目前还没有比较好的资源能够帮助开发者通过自学来掌握。从15年AI热开始,国内很多专家和学者虽然在这方面积累了不少经验,也有很多成果,但受限于很多原因,并没有很好的教材给我们自学。而面向普通开发者的资料更是少之又少。而好不容易有中文资料,它却需要读者有一定的基础积累才能看明白。
很多人在通过网上资料学习的过程中就默默地被劝退了。

总的来说学习AI的门槛比较高,但这种门槛并不是充要条件。简单的说,学AI不等于门槛高,门槛高不一定才能学会AI。

除了资料本身的问题之外,AI的发展速度也是学习难的其中一个原因。
自从15年之后,AI的发展基本是以国外为领导,比如Google推出了Tensorflow这个实现人工智能的框架。但Tensorflow处于一个快速发展的阶段,很可能你遇到了一个Tensorflow的问题,上Google搜到了对应的解决方案和API,但你在实现的时候发现这个API不见了。这对于很多面向搜索引擎编程的开发者来说是个噩梦。

学AI的正确姿势

上面说明了why的问题,接下来要说下how。
现在人工智能的情况是,除非有人手把手带入门,不然靠网上零散的资料,普通人需要2-3个月的时间才能摸索出门路。如果你愿意掏钱去学一些付费的AI课程,理想情况也要1个月才能撸出第一个你自己的AI程序。
然而!
即使是付费,世面上的材料也只能保证你能撸出一个AI程序,而不是保证你明白AI是什么,更不能保证能够靠自己撸出更多的AI。

学AI的关键点在于建立概念,明白这个问题:
AI是什么?

你可能听说过这些词,
· 神经网络,深度神经网络
· 卷积,循环卷积
· 模式识别,目标识别,风格迁移

当然你知道这些都属于AI的范畴。但大多数人所犯的错误也在于这些词,企图从其中某个词出发去学AI。
比如看到卷积,想从卷积去学习AI,那么学习路线很可能是这样的:
卷积->卷积网络->看高数学卷积->学矩阵卷积->看线性代数学矩阵。
如果没被其中某个环节劝退顺利地弄明白卷积是怎么回事,还会发现卷积后面还有softmax,relu等函数。
当然不是说这个方法就不行,如果有足够的毅力也可以。但是在这个过程中会发现有很多陌生的词不理解,很影响自学的效率。

说了这么多,正确的姿势是啥?
先打基础。
基础是啥?
理解AI的本质,明白AI的套路。

AI值得学吗

学AI有很多动机,丰厚的薪酬,高逼格的工作,未来的方向。但适不适合自己是另外一回事。如果你有非常丰富的某方面经验,比如服务端开发,比如移动端开发,那么AI和你的经验的结合点是学习的方向。
换句话说,放弃你所擅长的去学AI,这是不值得的。

18年在互联网的薪酬排行上,排第一的是算法工程师,也就是从事AI行业的。一个硕士的AI相关岗位,在深圳大概能拿到25k到35k不等,看个人能力。而移动端的本科条件岗位,同样在深圳也有14k到22k的待遇。
你肯定会说为什么拿硕士和本科比较,因为…算法岗位人家不招本科啊。虽然价钱有差异,但实际情况是,18年算法相关岗位的招收比例大概在10:1,而其他岗位则3:1甚至2:1。相对来说,你在移动端或者服务端擅长的话,在就业方面有更好的优势。

AI到底是什么

人工智能是个科幻的词。但目前现实中的人工智能很骨感,不要以为AI就像电影里一样,能对话,有自主意识,距离这个目标还有很远的路。
如果要距离说明什么是人工智能,目前工程界对AI大体可以分为以下两个方向
· 计算机视觉-CV
· 自然语言处理-NLP

另外像AlphaGo这种比较特殊,它属于博弈问题,在AI领域归类为无监督学习。

计算机视觉-CV

CV所要解决的问题简单说包括“是什么”和"在哪里"的分类问题。
比如给一张照片,AI会告诉你图里有猫和狗,都在什么位置。

webp

image

除此之外还有生成类问题。比如跟AI说”画一只鸟”,它会生成一张鸟的图。甚至可以更精确地描述,是一只黄色还是黑色的鸟,它也能生成。

自然语言处理-NLP

如果你有关注AI方面的新闻的话,18年北大有一个成果叫 Bert的,据说做到了NLP领域的第一。NLP领域具体处理的问题也可以分为两类
· 分类
· 预测(生成)
比如让AI识别一段文字属于什么分类,那么可以有小说,广告,简历等类别。
而预测则是通过一段上下文,预测出中间的文字或者后面的文字的是什么。比如聊天机器人,几年前的小黄鸡也许你还记得,还有微软小冰,都是聊天机器人。
预测和生成其实是一回事,并没有什么区别。比如下面这段文字,中间少了个主语
"天上有( )在飞"
AI会告诉你中间少了的主语有80%概率是"鸟",19%概率是"风筝",1%概率是“未知”。

如何学AI

知道什么属于AI,那么学AI就是个方法的问题了。
不建议初学者直接学各种网络,什么卷积啊,循环卷积,对抗生成,这些属于进阶。
推荐方式是从Tensorflow官网给的demo开始学起,就是那个很多材料里都拿来当例子的MNIST手写识别。

学AI不像学其他语言或者平台开发,能很快看到成果。
比如Android,写个Hello World能马上在手机看到界面,服务端写个Docker也能很快看到终端输出的Hello World。
AI的特殊在于它没有直接的落地方式,所以在学习过程中会有点难得到正反馈。
建议最好的办法是结合你所擅长的东西让AI落地。比如你是做Android的,那么可以把一个物体识别模型落地到Android客户端,让它用摄像头识别物体。如果是做服务端,可以试试用NLP模型把一些外部网站的内容进行分类。



作者:Android进阶开发
链接:https://www.jianshu.com/p/a4e328289470


打开App,阅读手记
2人推荐
发表评论
随时随地看视频慕课网APP