diff --git a/3.AI模块/3.1课程概述.md b/3.AI模块/3.1课程概述.md new file mode 100644 index 0000000..c65886c --- /dev/null +++ b/3.AI模块/3.1课程概述.md @@ -0,0 +1,111 @@ +# NekoBytes-AI-003 Syllabus💫 + +你好👋,欢迎来到 **计科协 | NekoBytes-AI-003: 计算机入门导引**! + +在这里,我们的目标是引导你从零开始构建AI的知识框架。我们将采用深入浅出的方式进行讲解,确保理论知识与实际应用相结合,让你能够逐步掌握并最终独立完成一个完整的AI项目。 + +本课程不仅能为你提供最浅显易懂的**AI概念解析或日常AI工具的使用方法**,还能教会你如何训练深度神经网络模型,甚至如何**在半小时内部署属于自己的对话模型**。无论是对AI感兴趣还是不感兴趣的,有基础还是没基础的人,都一定能从中有所收获🥳 + +## 零、前言 +编写一个关于AI的学习指南是很难的。 + +一方面,在这个AI迅速发展的时代,相关的资源极其丰富,但这也导致了资源质量参差不齐,很多材料的知识密度不高。另一方面,对于初学者来说,AI的入门并不友好。初学者常常面临这样的选择: + +**“是从人工智能的基础理论开始逐步深入,还是直接动手实践,然后再回头补充理论?”** + +::: tip **🥰理论与实践的关系** +- **从理论到实践的学习路径:** 面临的最大挑战是**缺乏即时的正向反馈**。在很短的时间内,你需要面对大量难以理解的专业术语和复杂的数学概念,并且可能完全不清楚它们与实际应用之间的联系,这会让你感到迷茫。 +- **从实践到理论的学习路径:** 允许你**快速上手**,通过简单的复制粘贴即可部署各种模型,如图像生成、聊天机器人等。这种学习方法的优势在于很有意思,但当你想要更进一步时就会遇到瓶颈——由于**缺乏对原理的理解**,你连每行代码都是什么意思都不懂,更别说对模型进行优化了。 +::: + +所以,学习AI的基本原则很明确,即 **“理论和实践需要相互结合”** 。 + +但到了实际的学习过程,这个基本原则是很难贯彻的——**什么时候应该学习理论,应该学习到什么程度?什么时候可以开始实践,都有哪些实践项目适合我?** + +![](https://cdn.xyxsw.site/Image_1720346877952.jpg) + +在此,我们将为你提供一种学习方案。 + +这是在我们经历了惨痛的经验教训后总结出的最佳实践,希望能适合你😎👇 + + +## 一、学习方法——从上自下的学习 +> 内容取自:fast.ai系列课程文档_01_intro + +在正式开始学习人工智能之前,我们有必要讨论一下基本的学习方法🤔 + +![](https://cdn.xyxsw.site/Image_1718440078242.jpg) + +::: tip 🙆“完整游戏”理念 +哈佛大学的教授大卫·帕金斯(David Perkins),对于教学他的基本理念是教授“整场游戏”。打个比方,如果你在教别人棒球,你首先要带他们去看一场棒球比赛,或者让他们去打棒球。你不会在开始的时候教他们如何从头开始缠绕线制作棒球、抛物线的物理学,或者球在球棒上的摩擦系数,这样太蠢了。 +::: + +::: tip 🙆 可怕的假设 +保罗·洛克哈特(Paul Lockhart)是哥伦比亚大学的数学博士,他在有影响力的文章《数学家的哀歌》中想象了一个噩梦般的世界——当音乐和艺术的教学方式是数学的教学方式:在音乐课上,孩子们在花了十多年的时间掌握乐谱和理论,在课堂上将乐谱转换为不同的调之前,不允许听或演奏音乐;在艺术课上,学生们学习颜色和涂抹器,但直到大学才被允许真正绘画。 +::: + +听起来很荒谬?这就是数学的教学方式——我们要求学生花费数年时间死记硬背,学习枯燥、不连贯的基础知识,我们声称这些基础知识会在他们**大多数人退出这门学科很久之后得到回报**。 + +不幸的是,这是许多关于深度学习的教学资源开始的地方——要求学习者遵循 Hessian 的定义和损失函数的 Taylor 近似定理,而从未给出实际工作代码的示例。我们不是在敲微积分,微积分是非常棒的工具,但我们认为这不是学习深度学习的最佳起点 😎 ! + +## 二、AI模块概览 +🌈 **导引部分** + +主要的功能是帮助初学者入门,涉及AI的学习方法,AI的基础概念,AI的基础使用方法等。 + +无论是想要深入学习AI的专业人士,还是对AI充满好奇心的普通人,本部分都将提供有价值的见解。 + +🌈 **系统课程** + +对于一些优秀课程的本地化,你可以直接阅读我们的文档进行学习,也可以自己寻找相应课程,将我们的文档作为辅助。 + +主要的课程内容有: + - **【人工智能导论】CS50** :介绍现代AI的基本概念和算法,包括图形搜索算法、分类、优化、机器学习、大型语言模型等内容。通过实践项目加深理解。 + - **【深度学习】ARENA:** 快速掌握现代工程方面知识和能力.主要聚焦于神经网络,大模型,强化学习等领域。 + - **【深度学习】Numpy100+Pytorch系列:** 解析大型语言模型(LLM)的内部机制,帮助读者更好地理解LLM的工作原理。 + - **【应用】DeepLearning:** 通过该领域领导者教授的基础专业和特定技能的短期课程。 + +🌈 **杂谈部分** + +精选并本地化翻译一系列有趣的文章和论文,涵盖AI领域的最新进展和技术应用。 + +## 三、学习路径规划 +这份学习路径只是一个大致的方向,学习的过程因人而异😇😇 + +我们的学习路径规划很简单: + +⭐ **第一步:入门实践与基础知识** + + - 基本的使用,包括日常AI工具的推荐,并指导如何有效地编写提示词以获得最佳结果。 + - 简要解释深度学习的基本概念,如神经网络的工作原理,以及大模型是如何通过大量数据进行训练的。这些内容都很简单易懂。 + +⭐ **第二步:动手实践** + + - 带大家手把手部署几个模型,学会最基本的使用方法 + - 可以选择文生图、角色模型微调等各类项目 + +⭐ **第三步:回归理论** + + - 稍微深入学习构建大模型所需的基础框架 + - 包括Numpy和PyTorch等工具的语法,并通过小型项目练习这些技能。 + +⭐ **第四步:独立项目** + + - 具体实操,从头到尾自己做一个实打实的项目 + +## 四、关于AI学习的一些问题 +**1. 学习AI能为我带来什么?** + + - 职业机会:还是因为AI太火爆了,当非常多的钱涌入,他就自然会有很多就业的岗位产生了。 + - 解决复杂问题的能力:我们往往要思考怎么样才能用AI的方式去解决一个本来很复杂的编程问题,现在有了GPT让这变得很简单。 + - 跨学科学习:AI和多个领域相结合,目前考研候做的方向多数都是AI,哪怕他的专业是物理化学甚至说是文科,所以他们还是很喜欢有AI学习经历的人的。 + - 好玩:AI+娱乐,你不想搞一个自己的猫娘吗? + +**2. 不管什么专业的人,不管有没有基础都可以来学习AI吗?** + + - 对于不同背景的人来说,学习AI有不同的路径。如果你的目的仅仅是使用像GPT这样的工具,你可以专注于学习如何应用这些工具,而不需要深入了解背后的数学原理。例如,你可以学习如何使用GPT进行文本生成、问答、翻译等任务。 + - 但是,如果你希望日后从事AI相关行业或者进行更深入的研究,那么具备一定基础会非常有帮助。 + +**3. 我数学不够好怎么办,可以学习AI吗?** + + - 尽管数学是AI的重要组成部分,但它并不是学习AI的绝对障碍。 diff --git a/3.AI模块/3.2开学前怎么学?.md b/3.AI模块/3.2开学前怎么学?.md new file mode 100644 index 0000000..b00c643 --- /dev/null +++ b/3.AI模块/3.2开学前怎么学?.md @@ -0,0 +1,371 @@ +# 🥰开学前怎么学? + +大学的培养体系目标,往往是奔着将学生培养成一个综合性人才去的,因此在课程设置中,会教我们**高等数学、线性代数**这类数学科目,以及**计算机网络、数据结构**这些基础学科。 + +- 有的人会质疑,他们认为:**“我以后可能从事的就是很具体的开发工作,根本不需要学这些看似与实际工作脱节的课程。”** 但值得注意的点是,大学不是培训班,他所期望的是你能在你的职业道路上走得更远,具备更广阔的视野和更全面的能力,而不是化身为一个螺丝钉,局限于某个特定的角色或任务。 + +- 另外,还有些同学在入学前会尝试预先自学大学课程的内容,他们认为:**“既然我要提前学内容,那就把要学的课本搞到,完完整整的都啃一遍。”** 一方面,过早地深入学习会让你很快**感到枯燥**,觉得自己啃起来很难受;另一方面,开学了还很容易全都忘了。 + +为了解决这样的问题,我们特别制作了这期内容来解答大家的疑惑 😎👌 + +## 一、经典的误区 + +进入大学前,我们的评定标准非常简单——**就是考个高分,考个好大学**。 + +进入大学后,社会的海量信息向我们涌来,大有**乱花渐欲迷人眼的趋势**。 + +例如,我们在B站搜索“AI”关键词,你会发现各种各样、形形色色的内容,包括但不限于:AI工具汇总,AI抽象视频,Adobe Illustrator的教程,以及“清华大佬终于blabla讲清楚了!”,甚至有AI美女跳舞(???) + +![](https://cdn.xyxsw.site/01dhfahjkehjkodwaS.png) + +同时我们也看到有人会有这样的想法:**“只要我好好学学校课本的内容,考个高分,卷个高绩点,考个好研究生,就能找个好工作”**。 + +基于这种想法,他可能看到了学校要教高数,于是他买了一本小绿皮书,开始仔细研读;或者买了一本学校课本谭浩强C语言开始背诵语法。把编程和数学公式理解成了魔法书的一个个咒语,单纯的认为只要根据固定的顺序排列这些英文字母,电脑就会给我反馈出魔法的奥妙。 + +这种学习方式虽然可以短期内提高成绩,但往往忽略了**对概念本质的理解**。 + +> 下面是两本大恶头 + +![](https://cdn.xyxsw.site/02HFJKDSHFU.png) + + +更有甚者,感觉收费的就一定是优质的,坚定一分价钱一分货,于是买了一些所谓的AI课,抢到了“最后仅剩的六个名额”,“原价999现价199”的课程,结果看了半天连**怎么“正确使用ChatGPT”都一头雾水,收获寥寥**。 + +![](https://cdn.xyxsw.site/03HDFUIASHDUIF.png) + +当然,还有一些人会去找书看看,但是与找视频同理,有大量的时间都被浪费到了啃自己看不懂的陌生文字上,书上每个字都认识,但是连起来就看不懂了。 + +这些书为了保证准确性和严谨性,往往会采用一些**非日常使用的专业术语和技术性很强的语言**来进行解释,最后导致的结果也就是你看起来 **“完全不像人话”**。 + +即便优秀的同学会去互联网搜索这些词,最后的结果也是——当你试图理解一句话中的一个词汇,可能需要用到三个你依旧不懂的词汇去解释,而你去查这三个词汇的时候,又发现了五个你不懂的词汇,无限循环下去,读到最后身心俱疲。 + +> 比如底下这些黑书 + +![](https://cdn.xyxsw.site/04SDFKJDSGKJ.png) + +这些方式无一例外,不可能让你真的掌握任何AI技术,甚至没有办法让你获得正反馈,你最后的结局很有可能就是**学了一小段时间之后,道心破碎然后摆烂放弃**。 + +## 二、切入点到底在哪? +**质胜文则野,文胜质则史。文质彬彬,然后君子**。 + +学AI也是同样的过程,质可以解释为实践,文可以解释为理论。 + +- 只学习理论学习,而不进行实践那就是空中楼阁,非常容易忘记而且理解不深,并且多数人很难只从看数学公式和逻辑推导中获得乐趣。 +- 只尝试实践,而不学习理论容易让人止步不前。AI领域以月为单位发展,各种库、各种新项目层出不穷,可能你学的实践过一两个月就被湮灭在历史的尘埃中。 + +我们之前将AI的基础内容划分为了**计算机基础、数学和编程**三个部分,我们也可以从这三个角度去切入到底应该怎么学AI。 + +### 1. 计算机基础 + +我是来学AI的,为什么我要学计算机基础? + +其实说白了,AI是计算机科学的一个分支。并且据我所知,非常多的人在大学之前都没碰过电脑,对电脑的操作非常陌生,如果在这种情况下开始学AI纯属是无稽之谈。 + +当然,我在这里不会**详细的列举那些非常深的内容**,例如操作系统或者计算机组成原理,这对新手来说仍然不是非常友好,我更为推荐的是,学习一些简单的导论课,了解计算机科学到底包括什么,过去做到了什么,未来还能做什么,这个对我们学习还是非常有帮助的。 + +#### 💻资源推荐 + +**【计算机科学速成课】[40集全/精校] - Crash Course Computer Science** +> 点击进入 👉 [Bilibili搬运](https://www.bilibili.com/video/BV1EW411u7th/) + + +这个速成课我真的非常推荐,没有任何基础都可以去看。10分钟可以把我老师十几节讲的东西讲清楚,主要是为了搭建计算机知识框架。而且非常有意思,只要看了就有收获。 + +![](https://cdn.xyxsw.site/屏幕截图2024-08-01000757.png) + +**【计算机导论课】哈佛大学CS50** +> 点击进入 👉 [Bilibili搬运](https://www.bilibili.com/video/BV1HW4y1A7Yi/) + + +当然,在学习过Python之后也可以浏览学习,这是哈佛大学的计算机导论课,非常的有趣。内容包括基本的计算机知识以及基础算法,常见的编程语言等等,还会探讨最新的计算机科学领域的成果,课程发散性思维强。 + +![](https://cdn.xyxsw.site/屏幕截图2024-08-01000820.png) + +### 2. 数学 + +为什么要学数学? + +首先我需要声明的是:如果你只是想要做出一个可以玩的AI的demo,也许并不需要非常深厚的数学功底,甚至不需要数学知识,都可以用非常简短的几行代码跑出非常惊艳的效果。 + +> 你可以通过复制粘贴代码来走得很远,而不必真正理解它;你只需要将代码块理解为完成你需要的任务的功能单元,将足够多的代码块粘合在一起,你就会得到一个解决你需要解决问题的程序。 + +这种经验主义的把戏是个快速学习的好方法,但是这其实是个**非常危险的事情**。当你面对非常实际的项目,无论是科研方向还是工程方向,都会出现很大的问题——这种经验主义会让你完全不清楚自己的程序是干什么的,怎么运作的,怎么改进的。他就像是**用积木建立起来的高楼一样,并不稳固**。 + +那么学习数学的必要性就显而易见了,它可以帮助你理清楚这个**学科的发展脉络**,更为深入的**理解算法的思想**,并且在此基础上进行创新,同时如果你遇到了一些问题,研究数学可以帮你**更确切的定位到问题出现的点**。 + +::: tip **🤨 具体怎么做?** +- **不要为了考试而学习** + - 如果你是为了打好数学基础,不要仅仅看那些高播放量的数学视频,因为它们往往是针对考试准备的,与实际应用有一定距离。 + - 从现在开始,不要仅仅为了考试而学习。 + +- **选择合适你的资源** + - 资源的好坏取决于你自身的适配度:适配度越高越好,并不是难度越高越好。 + - 他人认为极好的书籍或课程,对你来说可能完全不适合——因为你可能完全学不懂,或者对其毫无兴趣。 + +- **请注意,适配度并不等于舒适度** + - 有些课程虽然你学起来很轻松,但如果过度被动地获取知识而完全脱离自我思考,或者获取的知识密度过低,这样的资源就不适合你。 + +- **权衡时间安排** + - 时间是极其宝贵的资源,不要浪费你的时间! + - 对于大多数工科学生来说,数学更多是工具,需要的是数学的应用,而不是深入理解数学理论。 + - 深刻理解数学固然有助于更好地利用工具,甚至创造工具,但在大多数情况下,这样做的时间成本过高,性价比较低。 + +- **多样化学习资源** + - 学习资源不仅仅是视频资源,随着专业知识的深入,视频资源会越来越少,书籍和文献会成为主要的学习路径。 + - 因此,在能够继续学习的前提下,多尝试直接阅读书籍,而不仅仅是观看视频。 + +- **多使用原资源** + - 相信国外热门的资源都会有本土化版本,但在B站等平台上翻译的质量可能参差不齐。 + - 当你发现自己难以理解时,请尝试查看英文原著,问题可能不在你,而在翻译。 + +- **习惯英文阅读** + - 不要拒绝英文资源,尽管开始时可能会觉得困难,但逐步接触英文资源会让你受益匪浅。 + - 这与你的高考英语成绩无关,别担心,你可以做到! + +- **国内外教材的区别** + - 国内和国外的教材有很大的区别。 + - 国内的多数教材更像是讲义,看似清晰明了,实则需要老师的引导才能理解。 + - 国外的经典教材则像是仙人指路,能够帮助你拨开迷雾。 + - 这里并不代表国外的教材一定好,国内的教材一定差,而是要选择经典教材,并考虑到国情的不同。 +::: + +#### 💻资源推荐 +**【各类AI学习资源】Datawhale精品教程** +> 点击进入 👉 [南瓜书文档](https://datawhalechina.github.io/pumpkin-book/#/) + +Datawhale是国内最大的AI开源社区,他产出相当多更符合中国宝宝体质的AI开源课程,后续也会推荐关于DW的各类课程。 + +他其中的南瓜书非常详细的讲了西瓜书《机器学习》里面公式的推到细节,并且有开源团队长期维护,有想从理论入手的学习的同学,使用Datawhale的课程肯定是没错的。 + +![图片](https://cdn.xyxsw.site/c29da146-7505-4977-b14f-3237831d01f8.png) + +**【微积分/线性代数】3Blue1Brown 的微积分本质和线性代数的本质** + +> 点击进入 👉 [Bilibili搬运](https://www.bilibili.com/video/BV1qW411N7FU/) +> 在学习学校的线代课程时,来看看3b1b的图形化教学吧,相信我,你会顿悟的。 + + + +内容是英文的,但实际上不会怎么影响,若是过于难接受英文,可以自行搜索汉语翻译版。这部分内容和传统的高数教学不同,从直观的图形角度,讲解各个微积分中的重要概念由来和应用。 + +- 学习时间:与传统网课无任何冲突,可以在任何时间观看,即传统网课的前、中、后三个阶段均可看,并且不同阶段看感受不同,建议反复观看。 +- 学习难度:简单又不简单,简单在于讲解的方式非常通俗,图形化知识非常直观,不简单在于其本身内容是深刻的,彻底理解这些内容或许需要不断反复的看以及配合传统网课的学习,搭建完知识体系后顿悟。 + +![图片](https://cdn.xyxsw.site/屏幕截图2024-08-01001059.png) + +**【线性代数】MIT18.06: Linear Algebra** + +> 点击进入👉 [Bilibili搬运](https://www.bilibili.com/video/BV1SY4y1b7Ti/) + + + +Gilbert Strang 都快90岁了,仍然在坚持教课,B站上有非常多的其授课内容,其经典教材 Introduction to Linear Algebra 已被清华采用为官方教材,也非常推荐。 + +![图片](https://cdn.xyxsw.site/屏幕截图2024-08-01002021.png) + +
+ +#### 📚书籍 + +我接下来会推荐一些我认为非常棒的书籍,但是这并不意味着你必须要看完他,他的内容会非常的多,你完全可以在后面感兴趣的时候让好奇心驱使你去阅读他们。 + +对书籍的盲目崇拜一定是高中思维给我们带来非常可怕的一件事 + +**【MATHs】Calculus** + +詹姆斯·斯图尔特(James Stewart)的微积分( Calculus)是一本相当棒的书籍,里面的图非常多,可以很好的帮助人理解。 + +但是值得一提的是,这本书的内容非常的多,强调实际应用,包括物理和工程问题的例子,但并不是所有的内容都和AI有强关联,我们可以只阅读其中的一部分,或者说只阅读自己在学习AI过程中概念比较模糊的部分,而不是逐字阅读,它需要消耗的精力实在是太大了。 + +当然,如果你真的非常喜欢数学,阅读这本书也是一个不错的选择,但是题不要做,实在是太费时间了。 + + +**【线性代数】Interactive Linear Algebra** + +Interactive Linear Algebra这本书,我打开网站真的觉得他好炫酷,从实际应用和数学的角度去描述线性代数这个学科,我们传统的教学方法更喜欢从行列式开始,有时候会让人一头雾水,不知道这到底有什么用,但实际上他的应用范围之广,实操性之强在整个AI领域无出其右。 + +而在这本书里面他是从本书利用现代技术提供了许多交互式元素,如动态图表和模拟,这些都可以帮助学生更直观地理解线性代数的概念和理论。用户可以通过操作这些交互元素来看到不同数学操作的实时效果,从而加深对材料的理解。 + +通过可视化的方法展示复杂的数学概念,使得抽象的线性代数理论变得更加容易理解。例如,矩阵运算和向量空间的概念通过图形和动画得到了清晰的展示。 + +#### 🤔类似的资源还有吗? + +当然有,我们可以推荐的内容非常非常多,但是过多的推荐会让你眼花缭乱,**如果你还有额外的需求,欢迎你联系到我们**,我们可以针对你的个人情况对你进行针对性推荐。 + +### 3. 编程 + +我得承认,非常多的人目前没法从编程中获得快乐,诚然编程也是一个让非常多的人头大的一个问题。但无论怎么说,编程都是计算机科学不可或缺的一部分。 + +他的核心思想在于用**将可量化的重复性劳作交给计算机**来完成,以达成**提高效率**的目的。 + +> 这里引用一位老师的比喻就是,将编程形容为开车,你可以讨厌他,也可以喜欢他。但是,他作为一个交通工具,你不开你就得腿着去学校。想想如果你从杭电走到西湖只能走着去,那是多么恐怖的一件事。 + +当然,现在 GPT 的强大功能可以帮大伙解决相当多的工作,因此,我们可能需要掌握更多的逻辑思维能力和分解问题的能力,将问题简化之后用 GPT 解决也不失为一个选择🥳 + +#### 1. 🏃 先 “run” 起来 + +无论是学一门语言,还是学一个工具,最基本的原则是: + +**“尽可能地先用最短的时间搞懂这个东西是做什么的,然后以最快的方式把它 “run” 起来。”** + +当你已经能跑起一个语言、一个工具的最简单的示例的时候,再去花时间慢慢了解背后的复杂的内容,再去拓展即可。**先用起来,跑起来,带着问题去翻资料**。 + +- 比如学写 C 语言,看到一行代码自己想学习,把代码复制到这个在线编译的网站里,点一下 "Run it" 看效果。能最快地上手,最快地运行看到效果,对于初学者来说是最好的。等你啃了一堆概念和道理,人家已经学完一堆了。当你已经会了简单的循环、判断、函数,已经建立了信心,就可以慢慢地去看那些让人头疼的东西了。 + +- 比如学 Linux,如果你电脑操作系统是 MacOS,直接打开 “终端”,可以勉强当 Linux 使;如果你是 Windows,直接跟着微软的 WSL 安装教程,一步步无脑地用鼠标点击然后装起来。这时候你就拥有一个 Linux 了,再对着教程去敲。等闲下来了就可以了解了解内核是什么,发行版是什么,去了解云服务器,去了解不同的装 Linux 的方式。 + +**🤔 为什么要这样?** +- **第一**,计算机是很**重视实操**的东西,不要光看所谓的理论不动手,动手是王道。 +- **第二**,要尽可能多地、尽可能快地**给自己找一些正反馈**,学编程不是当苦行僧 +- **第三**,很多东西没必要学,学了也忘。**用到了再去学**,是最省事最容易记住最高效的。 +- **第四**,程序员这一辈子会接触无数的新的东西,如何**快速上手一个东西**,是非常重要的能力。 + +
+ +#### 2. 🤖任务 / 项目驱动 +任务 / 项目驱动的意思承接上文,意思就是不要瞎看文章,不要让阅读教程和学习课本成为你的驱动力,等你看完一本 C 语言的书,一行代码就没敲,你就寄了。 + +**🤔那么该怎么学呢?** + +- 先简单地会一样东西的最核心的部分,再去找一个实际的编程场景、编程任务、项目。你会在完成这个项目中遇到各种各样的问题,无论是遗漏了知识点还是压根没思路,这时候不断地用搜索引擎来学习。 + +**🤔怎么去找一个实际的场景?** + +- 办法多的是:自己拍拍脑门,或者去各大互联网站、博客,其中Github肯定是一个非常不错的选择,例如你要找一个有关于机器学习的项目练手,直接在GitHub搜索“Machine Leaning”,然后找几个Star多的项目看看感不感兴趣。 + +
+ +#### 3. 📨 不同的知识媒介 + +这里主要讲讲我对不同媒介来学习编程知识的看法,目前主流的媒介就是**文字、图片和视频**。 + +::: tip 🤔很多的牛逼的人,一般都**更喜欢通过看图文**来学习,而不是视频? + +主要有以下几个原因: +1. 图文的信息密度最大:同样的时间内,看一篇图文获得的信息量比视频大很多。 +2. 图文易定位、检索:你可以通过搜索功能非常迅速地在一个工具的官网内找到想要的内容。 +3. 一些杂七杂八的原因:图文往往更新,因为视频制作耗时长,不容易更新;牛逼的人它不一定会做视频,或者说牛逼的人中有写博客习惯的远大于做视频习惯的。 +::: + +当然,视频也有很大的好处,就是**直观、简单,适合学习初期**。也不必强行把自己往上套,结合自身特质,以什么的方式学习效率最高,就采用什么样的方式。 + +
+ +#### 4. 🗒 初学者学什么编程语言 + +作为入门,我肯定推荐你学习**C或者python**作为自己的第一门入门语言 + +> 如果你高中已经有一定基础,或者信息课有可以继续学python。 + +**先学好 C 语言对你有以下帮助:** + +1. 掌握计算机底层知识:C 语言是一种高效的系统级语言,它的语法和数据结构设计直接映射到底层计算机硬件,通过学习 C 语言可以更深入地了解计算机底层运作原理,为理解更高级的编程语言和开发工具奠定基础。 +2. 提高编程能力:C 语言的语法相对较为简单,但是它要求程序员手动管理内存,这需要编程者深入了解内存结构和指针的使用。通过学习 C 语言,可以锻炼编程能力,提高代码质量和效率。 +3. 能够理解其他语言:C 语言是很多编程语言的基础,如 C++、Java、Python 等语言都从 C 语言继承了很多特性。因此,学好 C 语言可以帮助你更好地理解其他编程语言的设计思路和工作原理。 + +**至于学习Python,** 推荐理由也许一条就够了:他足够的简单,很短的代码就可以写很多的东西 + +> 下面是一张经典老图,形象地说明了各个语言的优势: + +![图片](https://cdn.xyxsw.site/9eb39023-1d61-4233-8346-730b740bfab5.png) + +
+ +#### 5. 💻 资源推荐 +**【C语言】C Primer Plus 第6版** + +> 善,绝世好书 + +《C Primer Plus》对C语言的基本概念进行了逐步介绍,适合没有编程经验的读者,适合初学者。它从最基本的程序结构开始,逐步介绍如何使用变量、控制结构、函数等。 + +这本书非常适合初学者,覆盖了C语言的几乎所有重要方面。 + +同时书中包含大量的代码示例,这有助于我们理解抽象的概念并看到这些概念在实际程序中的应用。这些示例通常很实用,能够帮助学习者理解如何在真实世界中使用C语言。 + +但是这本书内容非常多,作业也非常多,一定要做,但是可以挑着做,选自己喜欢的。 + +如果感觉内容太多,可以考虑学到第十章,到第七百页左右,相当于全书的一半不到,一些看不懂的内容也可以不纠结,先了解一下然后跳过。 + +![图片](https://cdn.xyxsw.site/ba70b72a-8727-4128-92b1-ade853ec5ab6.png) + +**【Python】Python手册** + +> 点击进入👉 [官方文档](https://docs.python.org/zh-cn/3/tutorial/index.html) + +其相比起C来说多了一些特性,变动了一些语法规则,总的来说写起来差距并不是特别大,如果想快速入门可以浏览一下Python手册,内容很少。 + +![](https://cdn.xyxsw.site/2024-08-01141830.png) + +**【CS导论课/Python】CS61A** + +> 善,绝世好课 +> 点击进入👉 [官方网站](https://cs61a.org/) + +伯克利大学的编程神课,见了人我都想推荐一下,真的很有趣,强调抽象,让学生掌握用程序来解决实际问题。 + +独立搭建了课程网站以及可以本地使用的评测系统,并且有相当相当多非常有趣的作业,是在别人的代码框架基础上进行开发,开发完立马体验它的效果,特别有意思,作为一个刚刚接触计算机,连安装 Python 都磕磕绊绊的小白来说,这样完善的代码框架既可以让你专注于巩固课堂上学习到的核心知识点,特别容易让你有成就感! + +而且他每年都更新,这么好的东西谁学谁知道!真的不要害怕他是英文的,真的好。 + +![图片](https://cdn.xyxsw.site/2024-08-01142102.png) + +## 三、AI去哪了? +我们前面铺垫了这么久,讲了编程,数学和计算机基础的内容,有人可能会感到困惑:**“我是来学AI的,为什么跟我讲这么多杂七杂八的?”** + +因为AI这个学科是高速发展的,如果直接以**最为功利主义的方式**去切入,一方面是很容易**卡住我们学习的上限**,在学到一定地步之后进步变得缓慢;另一方面是因为技术快速迭代的缘故,**技术根本学不完**。 + +在本科或者刚入门的阶段,还是**把基础打好作为触类旁通的基本条件**,更有利于我们后期的发展。 + +当然,如果你的目标非常明确,我的目标就是做出一个项目或者说已经进入了生产环境,现在就是迫切的想要学习;又或者说,你的目标只是跟上时代的发展趋势,而不是想进入AI行业,那么不用去管前面的内容也是完全可以的。 + +在这里,我不会涉及具体的技术细节,只会**站在AI领域的角度**上,给大家在选择学习方向上**梳理出一些头绪**😉 + +::: warning 🧐事先声明 +我们的方法也未必就是最好的方法,大伙可以根据自己的情况进行调整。 + +大家对于学习AI的历史总是会有一个误区,认为“过去的AI已经是不再使用的过时产物,所以即便不了解也没关系”,然而事实是,人工智能技术的发展也是随着各种配套设施的进步一起发展的,我们学习AI的时候可以不用了解全部的历史上的算法或者思路,但是至少要稍作了解,有助于我们建立认知。任何一个学科在发展的过程中,人们会尝试非常多的方法去实现我们的既定目标,例如美国的曼哈顿计划中,科学家和工程师尝试了多种不同的方法来分离铀-235,离心法,电磁分离法等等,虽然都失败了,但这些尝试对后来核技术的发展有重要的启示和贡献。 + +与此同时,无论我们在任何一个领域深耕,都不可避免的会深入到一个非常狭小的领域。我们往往会粗略的将你的大方向划分为科研方向和工程方向,并且推荐一些可以帮助你建立整体性认识的课程。 +::: + +#### 💻资源推荐 + +**【各类AI资源】Datawhale精品内容** + +作为国内最大的AI开源学习社区,世界前100的Github仓库里面已经孕育出太多精彩的内容了,而且参与开源社区的组队学习活动还会让助教带着大家手把手的去学习相关的内容。 + +各式各样的教程和内容实在是太多了因此我在这里不做列举,可以等大伙有项目需求或者感到好奇的时候报名组队学习,逐步打开学习Datawhale开源项目的大门 + +![图片](https://cdn.xyxsw.site/15a052df-1411-4c08-b965-5b37bae1d3d3.png) + +
+ +**【人工智能导论】CS50-AI** +> 点击进入👉 [CS50-AI](https://cs50.harvard.edu/ai/2023/) + +我们如果要学习一门学科,一个非常好的办法就是梳理其发展脉络,把前人的路再走一遍,我们在梳理那些之前人们如何思考,如何作为的时候,会有更为深刻的理解。 + +这门课叫人工智能导论,虽然是2020年的,非常有意思的一点就在于他会拆解出相当多虽然实际场景已经不多用了,但是也可以算作人工智能的算法,并且每一个教的点都有非常具体的有意思的项目,比如说和AI下井字棋之类的,还是很有意思的。 + +
+ +**【深度学习CV/NLP】CS224N/CS231N** +> 点击进入👉 [CS224N](https://web.stanford.edu/class/cs224n/)/[CS231N](https://cs231n.stanford.edu/) + +这两门在B站上都有视频,斯坦福入门深度学习CV和NLP两大方向的课程,讲解内容还是比较深入浅出的,并且他们的作业非常好(很难),如果有兴趣的话可以做一做。 + +如果害怕视频已经过时了,可以进入他们的官网去看他们的Note和PPT,顺便把作业做了,这些都是最新的。 + +![图片](https://cdn.xyxsw.site/db60b67e-7e0e-493d-b1b1-11cdbb28afb7.png) + +
+ +**【机器学习】李宏毅课程** +> 点击进入👉 [李宏毅机器学习](https://speech.ee.ntu.edu.tw/~hylee/ml/2022-spring.php) +李宏毅老师是国立台湾大学的教授,讲课非常有意思,而且他还会在课上穿插各种动漫元素,之前是很多宝可梦的内容,现在还有芙莉蓮! + +我非常推荐大家可以有机会去浏览一下他的课程。 + +![图片](https://cdn.xyxsw.site/a19ab716-38e8-41b1-91dd-850650efa2eb.png) + +![图片](https://cdn.xyxsw.site/97456347-5b3e-4cfa-8f14-ca1fa8600353.png) diff --git a/3.AI模块/3.AI模块.md b/3.AI模块/3.AI模块.md index 808e811..b54f116 100644 --- a/3.AI模块/3.AI模块.md +++ b/3.AI模块/3.AI模块.md @@ -5,3 +5,7 @@ 关于本模块的旧版内容,你可以点击[这里](/2023旧版内容/旧版内容索引)查看。 ::: + +## 本期改版做了什么 +在之前的版本中,内容排列较为杂乱,缺乏明确的主线,对于新人来说可能会感到难以入手。尽管其中包含了许多有用的信息,但整体上更像是多个话题杂糅在一起的集合,会让人感到有些不知所措。 +在改版以后,我们将对内容进行全面系统的更新。我们将根据不同类别重新组织课程,加入更多的个人学习经验和指引,并结合清晰的学习路径规划,为大家提供最佳的学习体验。 diff --git a/3.AI模块/static/01dhfahjkehjkodwaS.png b/3.AI模块/static/01dhfahjkehjkodwaS.png new file mode 100644 index 0000000..208ca16 Binary files /dev/null and b/3.AI模块/static/01dhfahjkehjkodwaS.png differ diff --git a/3.AI模块/static/02HFJKDSHFU.png b/3.AI模块/static/02HFJKDSHFU.png new file mode 100644 index 0000000..403ce41 Binary files /dev/null and b/3.AI模块/static/02HFJKDSHFU.png differ diff --git a/3.AI模块/static/03HDFUIASHDUIF.png b/3.AI模块/static/03HDFUIASHDUIF.png new file mode 100644 index 0000000..dfc7243 Binary files /dev/null and b/3.AI模块/static/03HDFUIASHDUIF.png differ diff --git a/3.AI模块/static/04SDFKJDSGKJ.png b/3.AI模块/static/04SDFKJDSGKJ.png new file mode 100644 index 0000000..2aab4d4 Binary files /dev/null and b/3.AI模块/static/04SDFKJDSGKJ.png differ diff --git a/3.AI模块/static/1280X1280 (2).PNG b/3.AI模块/static/1280X1280 (2).PNG new file mode 100644 index 0000000..40e56b5 Binary files /dev/null and b/3.AI模块/static/1280X1280 (2).PNG differ diff --git a/3.AI模块/static/15a052df-1411-4c08-b965-5b37bae1d3d3.png b/3.AI模块/static/15a052df-1411-4c08-b965-5b37bae1d3d3.png new file mode 100644 index 0000000..6dbcbf3 Binary files /dev/null and b/3.AI模块/static/15a052df-1411-4c08-b965-5b37bae1d3d3.png differ diff --git a/3.AI模块/static/2024-08-01141830.png b/3.AI模块/static/2024-08-01141830.png new file mode 100644 index 0000000..a0523a1 Binary files /dev/null and b/3.AI模块/static/2024-08-01141830.png differ diff --git a/3.AI模块/static/2024-08-01142102.png b/3.AI模块/static/2024-08-01142102.png new file mode 100644 index 0000000..5fce79b Binary files /dev/null and b/3.AI模块/static/2024-08-01142102.png differ diff --git a/3.AI模块/static/97456347-5b3e-4cfa-8f14-ca1fa8600353.png b/3.AI模块/static/97456347-5b3e-4cfa-8f14-ca1fa8600353.png new file mode 100644 index 0000000..dac4fb4 Binary files /dev/null and b/3.AI模块/static/97456347-5b3e-4cfa-8f14-ca1fa8600353.png differ diff --git a/3.AI模块/static/9eb39023-1d61-4233-8346-730b740bfab5.png b/3.AI模块/static/9eb39023-1d61-4233-8346-730b740bfab5.png new file mode 100644 index 0000000..0d6bdc6 Binary files /dev/null and b/3.AI模块/static/9eb39023-1d61-4233-8346-730b740bfab5.png differ diff --git a/3.AI模块/static/Image_1718281764482.jpg b/3.AI模块/static/Image_1718281764482.jpg new file mode 100644 index 0000000..3b52121 Binary files /dev/null and b/3.AI模块/static/Image_1718281764482.jpg differ diff --git a/3.AI模块/static/Image_1718440078242.jpg b/3.AI模块/static/Image_1718440078242.jpg new file mode 100644 index 0000000..ccd9d4b Binary files /dev/null and b/3.AI模块/static/Image_1718440078242.jpg differ diff --git a/3.AI模块/static/Image_1719818588066.jpg b/3.AI模块/static/Image_1719818588066.jpg new file mode 100644 index 0000000..55746db Binary files /dev/null and b/3.AI模块/static/Image_1719818588066.jpg differ diff --git a/3.AI模块/static/Image_1720346877952.jpg b/3.AI模块/static/Image_1720346877952.jpg new file mode 100644 index 0000000..fb54342 Binary files /dev/null and b/3.AI模块/static/Image_1720346877952.jpg differ diff --git a/3.AI模块/static/a19ab716-38e8-41b1-91dd-850650efa2eb.png b/3.AI模块/static/a19ab716-38e8-41b1-91dd-850650efa2eb.png new file mode 100644 index 0000000..1df04d2 Binary files /dev/null and b/3.AI模块/static/a19ab716-38e8-41b1-91dd-850650efa2eb.png differ diff --git a/3.AI模块/static/b595df62-4efb-466a-a388-9e2789902b09.png b/3.AI模块/static/b595df62-4efb-466a-a388-9e2789902b09.png new file mode 100644 index 0000000..c804fae Binary files /dev/null and b/3.AI模块/static/b595df62-4efb-466a-a388-9e2789902b09.png differ diff --git a/3.AI模块/static/ba70b72a-8727-4128-92b1-ade853ec5ab6.png b/3.AI模块/static/ba70b72a-8727-4128-92b1-ade853ec5ab6.png new file mode 100644 index 0000000..e5acd7b Binary files /dev/null and b/3.AI模块/static/ba70b72a-8727-4128-92b1-ade853ec5ab6.png differ diff --git a/3.AI模块/static/c29da146-7505-4977-b14f-3237831d01f8.png b/3.AI模块/static/c29da146-7505-4977-b14f-3237831d01f8.png new file mode 100644 index 0000000..e1f91f0 Binary files /dev/null and b/3.AI模块/static/c29da146-7505-4977-b14f-3237831d01f8.png differ diff --git a/3.AI模块/static/db60b67e-7e0e-493d-b1b1-11cdbb28afb7.png b/3.AI模块/static/db60b67e-7e0e-493d-b1b1-11cdbb28afb7.png new file mode 100644 index 0000000..80a145b Binary files /dev/null and b/3.AI模块/static/db60b67e-7e0e-493d-b1b1-11cdbb28afb7.png differ diff --git a/3.AI模块/static/屏幕截图 2024-08-01 000547.png b/3.AI模块/static/屏幕截图 2024-08-01 000547.png new file mode 100644 index 0000000..34a6aea Binary files /dev/null and b/3.AI模块/static/屏幕截图 2024-08-01 000547.png differ diff --git a/3.AI模块/static/屏幕截图 2024-08-01 000658.png b/3.AI模块/static/屏幕截图 2024-08-01 000658.png new file mode 100644 index 0000000..8017de8 Binary files /dev/null and b/3.AI模块/static/屏幕截图 2024-08-01 000658.png differ diff --git a/3.AI模块/static/屏幕截图2024-08-01000757.png b/3.AI模块/static/屏幕截图2024-08-01000757.png new file mode 100644 index 0000000..fc4c4a0 Binary files /dev/null and b/3.AI模块/static/屏幕截图2024-08-01000757.png differ diff --git a/3.AI模块/static/屏幕截图2024-08-01000820.png b/3.AI模块/static/屏幕截图2024-08-01000820.png new file mode 100644 index 0000000..c599b23 Binary files /dev/null and b/3.AI模块/static/屏幕截图2024-08-01000820.png differ diff --git a/3.AI模块/static/屏幕截图2024-08-01001059.png b/3.AI模块/static/屏幕截图2024-08-01001059.png new file mode 100644 index 0000000..9aa6c6c Binary files /dev/null and b/3.AI模块/static/屏幕截图2024-08-01001059.png differ diff --git a/3.AI模块/static/屏幕截图2024-08-01002021.png b/3.AI模块/static/屏幕截图2024-08-01002021.png new file mode 100644 index 0000000..941c513 Binary files /dev/null and b/3.AI模块/static/屏幕截图2024-08-01002021.png differ