前言

本文教程均来自b站【小白也能听懂的人工智能原理】,感兴趣的可自行到b站观看。

代码及工具箱

本专栏的代码和工具函数已经上传到GitHub:1571859588/xiaobai_AI: 零基础入门人工智能 (github.com),可以找到对应课程的代码

正文

随着课程的结束,我们仿佛在知识的海洋中航行了很久,有时感觉收获颇丰,有时又觉得仍有许多未知。这就是本次课程的目的,通过最简单直接的方式,揭示机器学习神经网络的核心概念和方法,帮助初学者在复杂纷繁的知识体系中找到一条清晰的路径,避免陷入细节的迷宫。在这最后一节课,我们将从头开始回顾所学内容,补充之前课程中简化讲解的部分,以期为你的进一步探索和研究奠定基础。

回顾过去课程

我们从深海生物小蓝出发,介绍了人工智能的启蒙阶段——McCulloch-Pitts神经元模型和Rosenblatt感知器。接着我们引入了线性回归,代价函数的概念,并在简单的抛物线形状的代价函数上介绍了梯度下降算法。我们学习了基于动量、自适应学习率(如AdaGrad和RMSProp)以及Adam算法等多种改进的梯度下降版本。随后,我们介绍了反向传播的概念,并引入了激活函数的重要性,特别是非线性激活函数在神经网络中的作用。在多层神经网络中,我们了解了反向传播在多层网络上的普遍行为,以及深度神经网络的工作原理。最后,我们通过keras框架,分析了卷积神经网络和循环神经网络的工作原理。

人工智能、机器学习、深度学习之间的关系

人工智能是一个广泛的领域,涵盖所有试图让机器产生人类智能的技术。机器学习是其中的一部分,它通过数据让机器学习规则。深度学习是机器学习的一个分支,它通过模仿人脑中的神经元工作原理来解决复杂问题。

早在上世纪50年代,人工智能概念被提出,旨在让机器拥有类似人类的智能。早期的人工智能流派之一是符号主义,其通过人类总结的规则构建专家系统。尽管知识图谱在智能问答等领域仍发挥作用,但这种方法依赖大量人工输入规则,机器无法自主学习。

为了克服符号主义方法的人工依赖,人们转向机器学习,让机器自主从数据中学习规则。因此,所有旨在实现这一目标的尝试都属于机器学习技术。除了深度学习,还有其他机器学习方法如SVM、随机森林和贝叶斯分类。
尽管深度学习在历史上受到算力的限制,但随着硬件和数据的发展,它已成为主流。深度学习灵感来自人脑的神经元连接,属于连接主义流派。然而,它并不是对大脑的简单复制,而是对其功能的仿生。AlphaGo的胜利标志着深度学习的重要时刻,但它并不代表机器学习的全部。每个领域都有其独特的优势和局限,目前深度学习只是其中之一。
强化学习是另一项令人振奋的技术,它基于行为主义思想,通过智能体在环境中不断试错来学习策略。这种技术也在不断发展和应用中,如AlphaGo和腾讯的觉悟系统。人工智能和机器学习领域不断有新想法涌现,等待人们去探索和发现。

应该怎样继续学习

在入门课程之后,如果你想继续学习,可以把这个领域的知识体系分为底层实现和上层应用两层。对于上层应用,有许多经典的方法和模型,如卷积神经网络和循环神经网络,它们在许多领域都有很好的效果。为了提高应用水平,可以阅读这些模型的论文,或者查找相关的解读和代码实现。对于底层实现,如果想要深入研究,需要对数学和计算机科学有足够的了解。

在深度学习领域,我们学习了梯度下降、反向传播、CNN和RNN等基本原理,这些构成了现代神经网络的基础。此外,还有像LetNet5、LSTM、GRU、Alexnet、VGG、ResNet和Yolo等经典网络模型,它们在语音识别、自然语言处理和图像识别等场景中表现出色,是实现具体任务的理想选择。

为了提高Java项目的开发水平,我们需要熟悉框架的实现,这可以通过阅读源码来实现。虽然这些代码可能复杂,但通过长时间学习和研究,我们可以理解它们。同样,为了提高神经网络应用的水平,熟悉经典网络模型也很重要。虽然原始论文可能包含复杂的数学公式和图表,但网络上有很多博客和文章提供了通俗的解读和代码实现,如LSTM和LeNet5。这些资源可以帮助我们更容易地学习和理解这些经典网络。

人工智能是一个快速发展的领域,不断有新的想法和研究成果出现。要了解这些新想法,最直接的方法是阅读原始论文。虽然这些论文可能包含复杂的公式和图表,且不附带源码,但通过不断阅读,可以逐渐培养出理解和分析论文的能力。重要的是,对机器学习神经网络的底层实现有深入的理解,包括概念和数学上的知识。如果你只是想将机器学习应用于实际问题,不需要深入研究底层实现,理解基本原理后,使用经典模型就足够了。这与学习编程语言类似,不必深入了解底层实现,也能写出好程序。

专栏结尾

致谢

以上便是b站【小白也能听懂的人工智能原理】课程的结尾,在我初入人工智能领域时,我看过很多课程,但无一不是上来就讲复杂公式,如此枯燥无味,而这门课仿佛打开了新世界的大门,是我至今听过最浅显易懂的课,对于非科班的我来说如释重负!!感谢Ele实验室的贡献,同样的,欢迎零基础的小白可以看正版的课程!

学习路线

实际上我的学习路线是先快速浏览书,了解流程和概念->这个课程->浏览pytorch书->pytorch实战->常见模型复现。大概到pytorch实战这个部分就能够自行做实验了。

看完这个专栏势必会有一些知识点是懵懵懂懂的,那我的建议是跟着我的下一个专栏《深度学习理论与Pytorch实战》一起在理论学习的过程中动手实践,我也会用最通熟易懂的语言讲解理论的原理和常见代码函数的原理和实现,并且我会使用我自己创建的最为常用的Pytorch模板来快速搭建模型进行训练,让我们只关注模型的搭建和超参数的选择,对于画图、准确率、保存模型、网络结构寻优等繁杂操作进行封装,只需调用特定的函数就可以自动完成这些操作。

《深度学习理论与Pytorch实战》专栏也会持续更新下去,跟着这个专栏进行3-5个实践就能够自己搭建自己的模型用于实验。


感谢相遇~