AI是一个理论知识基础要求非常扎实的技术方向。在学习AI的过程中会遇到很多高等数学知识,比如矩阵运算,导数偏导数。 目前对于AI的开发人员要求普遍需要研究生以上,在扎实的理论背景下才能进行比较系统的AI开发。 对于大部分有几年工程经验的移动端开发来说,大学的这些知识已经生疏了,要想学AI这些生疏的知识是比较严重的阻碍。 这个问题其实可以绕过去,对于移动端开发来说,如果只是想达到"能够理解并开发AI"的程度,只需要补充几个基础的知识点就够。 当然如果想要有完整的AI知识体系,除了高等数学,矩阵数学,统计学也需要好好学习一下。
下面根据开发经验,列了一个适合移动端工程师学习AI的线路。
学习前的补充知识
回顾矩阵乘法 复习下大学线性代数前2章就行,基本概念和性质理清楚就够、
Python语言 学习AI基本是在python环境下的,当然想用其他语言也可以,AI框架也有Python之外的语言,但是效率没有python高
上面这两个学习前提准备好后就可以开始学习AI了。 像"python要学到什么程度"这样的问题初学者会比较关心,特别是对于没接触过Python的人来说。建议找本python的基础学习教材,做到能够手撸3个demo,能够读写文件的程度就行,不用深入学习。能明白Python的基础语法,能够用它来调用tensorflow这些第三方框架,这个程度就Ok了。
入门基础: 每个语言的学习都是从hello world开始的,AI也一样。 但是AI没有hello world。
AI世界里的 hello world,是一个叫 MNIST 的数据集分类识别功能。MNIST是一堆手写的0~9的数字,入门AI的第一件要做的事情,就是用 tensorflow 开发一个AI,能够自动地识别这些数字。
从这里开始就有很多个基本概念可以开始学习了,分几个阶段
step 1 能够让你学会怎么开发一个准确率在89%的人工只能。 AI的学习门槛比较高,即使是Step 1,也并不能像学语言一样几行代码就敲出一个 Hello World。Step 1阶段看不同的人和花的精力,可能需要1个星期到1个月的时间才能完成。
Step 2 是一个和AI本身关心不大的步骤,仅为移动工程师设计的。这个阶段只涉及一小部分的 AI 开发,包括模型固化和落地。后面就全都是Android工程师熟悉的app开发部分了。 结合Step 1 跑完Step 2,能完整的体会一个AI功能从开发到落地的流程。以后所有的移动端AI开发都不过是在这个基础上添砖加瓦。
但是现在落地的这个AI还很不智能,基本算是人工智障,不管是在准确率,性能,内存,模型大小这几个方面的表现都很智障。要真正实现人工智能,要学的还有很多。
Step 2对于熟手的Android开发来说也就1天时间就行。
Step 3 能够学会开发一个准确率在 95% 以上的AI。这个步骤估计也要花1星期~1个月。
1个月的学习时间和5个点的准确率提升看起来不是很划算,但在学习卷积网络之前都不能算真正的入门人工智能。
Step 3 需要不少东西,特征提取,卷积运算,池化函数,Relu激励,drop out,L1和L2正则化。
学完 Step 3 之后就算真正入门了AI了。
挑一个方向
这两个方向归纳了目前AI领域的大部分工作。挑一个方向作为你喜欢的去学习。不同的方向在学习的东西上面有很多不同,虽然有共同性,但差异也有不少。
计算机视觉是个比较有意思的方向,做的事情都比较直观,也比较容易验证,特别是对于Android开发来说,用Camera就能直接验证,成就感和直接反馈比较强。
模型优化是一个移动端工程师几乎是必备的技能,对于一些涉及用户隐私的数据,目前是不允许传到服务端进行运算的,必须落地模型到移动端进行本地推理。
那么模型的大小,推理速度,就成为了优化的关键方向。 这里涉及到很多技巧。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有