科技一站

 找回密码
 立即注册
查看: 115|回复: 0

程序员快速转行AI人工智能系列教程(一)

[复制链接]

5

主题

8

帖子

18

积分

新手上路

Rank: 1

积分
18
发表于 2022-12-13 09:45:13 | 显示全部楼层 |阅读模式
在进行正式的学习之前,还是希望大家去看一看前言,了解一下自己适不适合转行AI,以及哪个方向是自己感兴趣的,并且希望后续重点去学习的。
OK,言归正传,下面就开始带大家认识AI,学习AI,努力先成为调参侠~~~
本文将重点从以下几个问题带大家做好学习AI的准备:

  • 你眼中的AI和实际的AI有什么区别?
  • 学习AI是不是对数学的要求很高?
  • 学习AI前,我需要具备什么能力?
  • 初学者应该从什么方面入手学习?
这里,我没有特地去罗列AI的学习路径,因为那样会让大家读起来很枯燥,我会用尽可能容易理解的方式大家慢慢了解AI,并认识到应该怎样学习AI。
一、你眼中的AI和实际的AI有什么区别?

大部分人眼中的AI应该是那些对话机器人、围棋世界冠军Alphago以及自动驾驶汽车等等,他们具有酷炫的能力,能够在某些方面替代人类,甚至超过人类。




但这些已经是AI应用层中最顶尖的产物,大部分AI算法工程师在工作中所接触到的内容要比他们low的多。事实上这些 产物往往也不是某一类智能算法的单独产物,比如说对话机器人,这里面包含的技术就很多,我稍微罗列一下(只关注几个核心的):
(1)想要语音对话,首先需要能听懂人话,那第一项技术肯定是语音识别(speeching),需要将人声转化成文字内容;
(2)接着,知道用户说了啥,但不知道用户表达什么意思也不行啊,这里就牵涉到自然语言处理(NLP)中的意图识别技术;
(3)那理解了用户表达的意思后肯定要给出反馈啊,这里就用用到了NLP里的问答(QA)系统(这里的问答系统本身也是NLP中的一个复杂方向,这个以后再说),通过问答系统我们就可以获得针对用户提问的结果。
(4)最后想要应答用户,我们肯定又得通过语音技术将文字转化为顺畅的人声。
对于刚要入门的我们,把上面的内容就当个乐子看,因为离我们还有点遥远。
我这里主要想表达的意思是那些在大家眼中非常酷炫的应用,往往不是靠一个人努力实现的,而是通过一个团队的多种角色相互协作,应用多种AI技术协同实现的,而我们初学者需要着眼的是里面的小算法原件。
二、学习AI是不是对数学的要求很高?

我先说一下主要用到的数学知识:统计学、线性代数、高等数学
这个问题主要看你对自己未来的定位有多高,如果你想未来在AI领域有更大的上升空间,那需要多学点。
如果你只是想先入门走上AI这条路,那对数学的要求其实不算高(本人以实用性为主,AI大佬勿喷),因为你会发现在实际的场景中,很难或者很少需要自己动手实现一个全新的算法,大部分时候只需要你将公司的数据组装起来,灌入成熟的模型中,训练、调试加部署应用即可。如果训练的过程中发现一种算法效果不好,新手也别想着优化了,不妨直接换一个
这里我也稍微罗列几本数学教材,大家有基础的,可以买来打打底,没基础的还是跟着我学习吧,我其实更建议大家把这几本书买了,以后可以当字典查,嘎嘎嘎:
第一本,统计学习方法第二版,李航,清华大学出版社):这本书,认真读了的都说好,言尽于此


第二本,机器学习周志华,清华大学出版社)也叫西瓜书:其实这本我不是特别的建议,主要是这里面的公式太多,太复杂,很容易让初学者产生抵触,适合有一定基础后,再过来巩固;


第三本,深度学习(作者一堆老外大牛,人民邮电出版社)俗称花书:这本书我觉得还是可以稍微先看点前面的章节,这个真的是给自己打基础,但是在本教程中,咱都不强求,哈哈哈。


三、学习AI前,我需要具备什么能力?

很多人在思考是不是要转行AI时,首先考虑的是我有没有能力学习AI?能不能达到AI的学习门槛?
我要说学AI完全没有门槛,那是扯淡。
这里我罗列几点,大家去对照一下自己的能力,看自己具不具备:
1、有一定的编码能力

编码能力还是很重要的,毕竟大部分公司招AI岗也不是让你去做理论研究的,就算是做理论研究,也得会用代码分析数据嘛。
本来就具备python语言能力的最好,如果不具备python语言能力,那也需要能够迅速的从其他语言切换到python语言上。不是说其他语言不能做AI,主要是网上大量的资料和开源代码都用的python,大部分AI框架的应用层都优先使用的是python,我们只能适应。
2、有一台性能还不错的计算机

这个不应该叫个人能力,应该叫个人财力,哈哈哈。
AI模型普遍对算力的要求比较高,CPU和内存最好都高一点,GPU这个刚开始学习时不强求,但是有一定能力去跑前沿算法时,这个就必须准备了,否则可能你几天都跑不出一个结果来,只能干瞪眼。
3、学习过线性代数

这里不要求大家对这门课有很深的掌握,但是说到一些概念的时候需要懂。
线性代数在AI里的应用比较多,主要是AI模型在设计过程中为了运行效率运用了大量的矩阵运算,如果不懂点线性代数,估计在读代码的时候会遇到很大的困难。
统计学和高数在模型设计的核心层面具有比较重要的意义,这个初学者可以先不去重点关注,待后续需要理解模型的设计原理时再去补这一块的内容,我们还是以上手为主要目标。
OK,如果具备了以上3个条件,我觉得你至少在学习AI的路上会稍微轻松点了,学习起来也会更有底气。
四、初学者应该从什么方面入手学习?

因为是第一章,主要以让大家做一些学习前的准备为主,所以我只简答的介绍一下可以现在就着手看起来或者动起手来的东西。
1、(重要)学会装 Anaconda软件(window和linux皆可,最好linux,后面用的多),学会用conda命令创建虚拟环境,学会用conda命令和pip命令安装python包。
因为自己在初学AI的时候在这个上面吃过亏,所以强烈建议大家好好的摸索和实践一下,别以为这只是装软件的事情,后面你会经常因为python包版本冲突的问题发愁的。而且,当你遇到需要用到多个AI框架(tensorflow、pytorch、paddlepaddle等等)的时候,能够用好conda就非常重要了。
2、学习一下后面经常用到的python包:Pandas、Numpy。
对于已经有python基础的人来说,这两个包应该已经熟悉的不能再熟悉了,不过对于python小白,还是应该认真学习一下的,给两个网站,认真看看,多动手实践一下。

也不写更多的内容了,等下一章再带大家接触AI算法,这一章让大家先做一些学前准备,后面方便上手。
最后,还是这句话,大家如果想学,也请在评论区里留言支持一下我,让我有动力码字输出,谢谢大家。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|科技一站

GMT+8, 2025-4-17 19:56 , Processed in 0.105710 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表