AI神经网络基本原理简明教程

一定要学我们现在有了很多非常厉害的深度学习框架,比如Tensorflow,CNTK,PaddlePaddle,Caffe2等等。然而,这些为了解决实际的应用问题而生的,而不是用来学习“深度学习”知识和思想的。所以小编根据自己亲身经历的学习轨迹,归纳出了以下教程,可以帮助小白做到真正的从入门到精通。通过以下循序渐进地学习与动手实践,一方面可以帮助读者深刻理解“深度学习”的基础知识,更好地理解并使用现有框架,另一方面可以助力读者快速学习最新出现的各种神经网络的扩展或者变型,跟上快速发展的AI浪潮。

地址:

写在前面,为什么要出这个系列的教程呢?

总的说来,我们现在有了很多非常厉害的深度学习框架,比如Tensorflow,CNTK,PaddlePaddle,Caffe2等等。然而,我们用这些框架在搭建我们自己的深度学习模型的时候,到底做了一些什么样的操作呢?我们试图去阅读框架的源码来理解框架到底帮助我们做了些什么,但是……很难!很难!很难!因为深度学习是需要加速啦,分布式计算啦,框架做了很多很多的优化,也让像我们这样的小白难以理解这些框架的源码。

这取决于你是想真正地掌握“深度学习”的思想,还是只想成为一个调参师?在我们看来,如TensorFlow,CNTK这些伟大的深度学习工具,是为了解决实际的应用问题而生的,而不是用来学习“深度学习”知识和思想的。所以我们根据自己亲身经历的学习轨迹,归纳出了以下教程,可以帮助小白做到真正的从入门到精通。

通过以下循序渐进地学习与动手实践,一方面可以帮助读者深刻理解“深度学习”的基础知识,更好地理解并使用现有框架,另一方面可以助力读者快速学习最新出现的各种神经网络的扩展或者变型,跟上快速发展的AI浪潮。

对于这份教程的内容,如果没有额外的说明,我们通常使用如下表格的命名约定:

符号含义X输入样本Y输入样本的标签Z线性运算的结果A激活函数/结果W权重矩阵B偏移矩阵J损失函数大写字母矩阵或矢量,如A,W,B小写字母变量,标量,如a,w,bx1,2第1个样本的第2个特征值wL2,3第L层第2个神经元对第L-1层第3个神经元的权重值矩阵的行一批样本的某一个特征值的集合矩阵的列一批样本的某一个样本的所有特征值适用范围

没有各种基础想学习却无从下手哀声叹气的玩家,请按时跟踪最新博客,推导数学公式,跑通代码,并及时提出问题,以求最高疗效;

深度学习小白,有直观的人工智能的认识,强烈的学习欲望和需求,请在博客的基础上配合代码食用,效果更佳;

调参师,训练过模型,调过参数,想了解框架内各层运算过程,给玄学的调参之路添加一点心理保障;

超级高手,提出您宝贵的意见,给广大初学者指出一条明路!

前期准备

环境:

Windows10version1809

VisualStudio2017Communityorabove

Python3.6.6

JupyterNotebook(可选)

自己:

清醒的头脑(困了的同学请自觉泡茶),纸和笔(如果想跟着推公式的话),闹钟(防止久坐按时起来转转),厚厚的衣服(有暖气的同学请忽略)

网络结构概览网络结构名称网络结构图应用领域单入单出一层

一元线性回归多入单出一层

多元线性回归多入单出一层

线性二分类多入多出一层

线性多分类单入单出两层

一元非线性回归/拟合可以拟合任意复杂函数多入单出两层

非线性二分类多入多出两层

非线性多分类多入多出三层

非线性多分类

目录

1.基本概念

首先会讲解一下神经网络基本的训练和工作原理,因为基本上各种教程里都没有提到这一点,以至于笔者在刚开始学习神经网络时一头雾水,不得要领,不知从何处开始下手。

后面接的是导数公式和反向传播公式,包括矩阵求导,这一部分可以大概浏览一下,主要的目的是备查,在自己推导反向公式时可以参考。

然后是反向传播和梯度下降,我们先从简单的线性方式说起(只有加法和乘法),而且用代入数值的方式来消除对公式的恐惧心理。然后会说到分层的复杂(非线性)函数的反向传播,同样用数值代入方式手推反向过程。

梯度下降是神经网络的基本学习方法,我们会用单变量和双变量两种方式说明,配以可视化的图解。再多的变量就无法用可视化方式来解释了,所以我们力求用简单的方式理解复杂的事物。

本部分最后是损失函数的讲解,着重说明了神经网络中目前最常用的均方差损失函数(用于回归)和交叉熵损失函数(用于分类)。

2.线性回归

用线性回归作为学习神经网络的起点,是一个非常好的选择,因为线性回归问题本身比较容易理解,在它的基础上,逐步的增加一些新的知识点,会形成一条比较平缓的学习曲线,或者说是迈向神经网络的第一个小台阶。

单层的神经网络,其实就是一个神经元,可以完成一些线性的工作,比如拟合一条直线,这用一个神经元就可以实现。当这个神经元只接收一个输入时,就是单变量线性回归,可以在二维平面上用可视化方法理解。当接收多个变量输入时,叫做多变量线性回归,此时可视化方法理解就比较困难了,通常我们会用变量两两组对的方式来表现。

当变量多于一个时,两个变量的量纲和数值有可能差别很大,这种情况下,我们通常需要对样本特征数据做归一化,然后把数据喂给神经网络进行训练,否则会出现“消化不良”的情况。

3.线性分类

分类问题在很多资料中都称之为逻辑回归,LogisticRegression,其原因是使用了线性回归中的线性模型,加上一个Logistic二分类函数,共同构造了一个分类器。我们在本书中统称之为分类。

神经网络的一个重要功能就是分类,现实世界中的分类任务复杂多样,但万变不离其宗,我们都可以用同一种模式的神经网络来处理。

本部分中,我们从最简单的线性二分类开始学习,包括其原理,实现,训练过程,推理过程等等,并且以可视化的方式来帮助大家更好地理解这些过程。

在第二步中,我们学习了实现逻辑非门,在本部分中,我们将利用学到的二分类知识,实现逻辑与门、与非门,或门,或非门。

做二分类时,我们一般用Sigmoid函数做分类函数,那么和Sigmoid函数长得特别像的双曲正切函数能不能做分类函数呢?我们将会探索这件事情,从而对分类函数、损失函数、样本标签有更深的理解。

然后我们将进入线性多分类的学习。多分类时,可以一对一、一对多、多对多,那么神经网络使用的是哪种方式呢?

Softmax函数是多分类问题的分类函数,通过对它的分析,我们学习多分类的原理、实现、以及可视化结果,从而理解神经网络的工作方式。

4.非线性回归

从这一步开始,我们进入了两层神经网络的学习,从而解决非线性问题。

在两层神经网络之间,必须有激活函数连接,从而加入非线性因素,提高神经网络的能力。所以,我们先从激活函数学起,一类是挤压型的激活函数,常用于简单网络的学习;另一类是半线性的激活函数,常用于深度网络的学习。

接下来我们将验证著名的万能近似定理,建立一个双层的神经网络,来拟合一个比较复杂的函数。

在上面的双层神经网络中,已经出现了很多的超参,都会影响到神经网络的训练结果。所以在完成了基本的拟合任务之后,我们将会尝试着调试这些参数,得到更好的训练效果(又快又好),从而得到超参调试的第一手经验。

5.非线性分类

我们在第三步中学习了线性分类,在本部分中,我们将学习更复杂的分类问题,比如,在很多年前,两位著名的学者证明了感知机无法解决逻辑中的异或问题,从而使感知机这个研究领域陷入了长期的停滞。我们将会在使用双层网络解决异或问题。

异或问题是个简单的二分类问题,因为毕竟只有4个样本数据,我们会用更复杂的数据样本来学习非线性多分类问题,并理解其工作原理。

然后我们将会用一个稍微复杂些的二分类例子,来说明在二维平面上,神经网络是通过怎样的神奇的线性变换加激活函数预算,把线性不可分的问题转化为线性可分问题的。

解决完二分类问题,我们将学习如何解决更复杂的三分类问题,由于样本的复杂性,必须在隐层使用多个神经元才能完成分类任务。

最后我们将搭建一个三层神经网络,来解决MNIST手写数字识别问题,并学习使用梯度检查来帮助我们测试反向传播代码的正确性。

数据集的使用,是深度学习的一个基本技能,开发集、验证集、测试集,合理地使用才能得到理想的泛化能力强的模型。

6.模型推理与部署

我们已经用神经网络训练出来了一套权重矩阵,但是这个模型如何使用呢?我们总不能在实际生产环境中使用python代码来做推理吧?更何况在手机中也是不能运行Python代码的。

这就引出了模型的概念。一个模型会记录神经网络的计算图,并加载权重矩阵,而这些模型会用C++等代码来实现,以保证部署的便利。

我们将会学习到在Windows上使用ONNX模型的方法,然后是在Android上的模型部署方法。而在iOS设备上的模型,与Android的原理相同,有需要的话可以自己找资料学习。我们也许会考虑以后增加这部分内容。

7.深度神经网络

在前面的几步中,我们用简单的案例,逐步学习了众多的知识,使得我们可以更轻松地接触深度学习。

从这一部分开始,探讨深度学习的一些细节,如权重矩阵初始化、梯度下降优化算法、批量归一化等高级知识。

由于深度网络的学习能力强的特点,会造成网络对样本数据过分拟合,从而造成泛化能力不足,因为我们需要一些手段来改善网络的泛化能力。

8.卷积神经网络

卷积神经网络是深度学习中的一个里程碑式的技术,有了这个技术,才会让计算机有能力理解图片和视频信息,才会有计算机视觉的众多应用。

在本部分的学习中,我们将会逐步介绍卷积的前向计算、卷积的反向传播、池化的前向计算与反向传播,然后用代码实现一个卷积网络并训练一些实际数据。

在后面我们还会介绍一些经典的卷积模型,向大师们学习一些解决问题的方法论问题。

THE END
1.人工智能应用指南:全面解析AI的使用方法与技巧ChatGPT是一种基于GPT(生成预训练)模型的人工智能助手,可以依照使用者输入生成连贯、有逻辑的文本。其优势在于能够快速生成大量文本,节省人力成本。 2.1.2 ChatGPT的利用方法 - 注册并ChatGPT平台; - 熟悉界面和基本操作; - 输入难题或需求,等待系统生成回答; ...http://www.slrbs.com/jrzg/aizhishi/295578.html
2.AI教程入门:轻松掌握人工智能基础知识设想一个场景,你正在厨房忙碌,突然需要查询某个食谱。这时,一个智能语音助手能够通过你的语音指令,快速搜索并提供所需信息,无需你离开厨房动手操作。这是一种AI在日常生活中应用的范例。 AI基础知识:定义与分类 人工智能的基本概念 人工智能可以定义为:一门研究如何使计算机具有智能行为的学科,其目标是使计算机能够模...https://www.imooc.com/article/347845
1.AI创建全解析:从基础入门到高级应用,全面掌握人工智能开发技巧创建路径的基本步骤: 1. 选择工具:在软件中,选择钢笔工具或形状工具,这是创建路径的主要工具。 2. 绘制路径:按照需求,在画布上绘制出想要的路径。可以通过点击和拖动来创建直线或曲线。 3. 调整路径:采用直接选择工具或路径编辑工具,对路径实微调和优化。 https://www.yanggu.tv/webgov/aitong/483853.html
2.终于有人总结了人工智能知识!(非常详细)零基础入门到精通,收藏这一篇就...首先,我们定义了人工智能的基本概念,这是理解整个领域的基础。随后,通过对人工智能发展历程的梳理,我们展示了其从诞生到如今的演变轨迹,凸显了其在科技进步中的重要地位。 接下来,我们深入探讨了机器学习与深度学习这两项核心技术。它们作为人工智能领域的两大支柱,不仅推动了技术边界的不断拓展,也为实现更高级别的智...https://blog.csdn.net/xx16755498979/article/details/144030340
3....赛事咨讯AI小知识:5分钟,带你了解人工智能的基本常识AI小知识:5分钟,带你了解人工智能的基本常识 人工智能的定义 人工智能领域苦于存在多种概念和定义,有的太过有的则不够。 作为该领域创始人之一的Nils Nilsson先生写到:“人工智能缺乏通用的定义。” 随着计算机为解决新任务挑战而升级换代并推而广之,人们对那些所谓需要依靠人类智慧才能解决的任务的定义门槛也越来...http://www.js.sgcc.com.cn/html/main/RGZHSC/article/683129.html
4.Photoshop2023Beta内置Ai绘图功能上线,你还不知道?Adobe Photoshop 2023 Beta内置的AI绘图功能是一次重大的升级,该功能将彻底改变用户处理图像的方式。本文将详细介绍Photoshop 2023 Beta中的AI绘图功能,包括其基本概念、功能特点、使用方法、实战应用以及使用技巧。 一、基本概念 Photoshop 2023 Beta中的AI绘图功能是一种基于人工智能的技术,它可以根据用户输入的文字描述...https://www.yutu.cn/news_52069.html&wd=&eqid=8e908048000381e500000006648180bf
5.计算机应用基础说课稿(精选11篇)1、课程目标:通过本课程学习学生将能够,通过本课程的学习,学生应能够掌握计算机基础知识、计算机基本使用方法、文字信息处理方法、电子表格处理数据、电子演示文稿信息处理、图像处理等常用工具软件的基本使用方法和了解网络的基本应用。培养学生的自学能力和获取计算机新知识、新技术的能力,在毕业后具备较强的实践能力、创新...https://xiaoxue.ruiwen.com/shuokegao/386213.html
6.Illustrator(AI)制图软件矢量绘图中的渐变网格基础及使用方法介绍本文介绍Illustrator渐变网格的一些基础概念、基本用法以及技巧。 Illustrator渐变网格的基础概念 看下图,Illustrator渐变网格物体中的这几条线叫网格线,网格线间相交的点叫网格点(除此以外的点叫节点),四个点围成的面积叫网格面片。(见下图) A. Anchor point 节点 ...https://www.jb51.net/softjc/94613.html
7.确定基本的AI技术概念如果扩展 AI 的主要概念(即机器展现通常与人类能力相关的功能的领域),你会看到机器如何学习模式、解释数据和使用数据推理。 为此,我们需要向机器馈送大量数据它才能学习。 此外,机器学习创建的算法各不相同,从简单的线性函数到极其复杂的函数,例如人工神经网络。 https://learn.microsoft.com/zh-cn/training/modules/leverage-ai-tools/2-identify-basic-ai-technology-concepts
8.高中信息技术课程标准1.理解信息及信息技术的概念与特征,了解利用信息技术获取、加工、管理、表达与交流信息的基本工作原理,了解信息技术的发展趋势。 2.能熟练地使用常用信息技术工具,初步形成自主学习信息技术的能力,能适应信息技术的发展变化。 (二)过程与方法 3.能从日常生活、学习中发现或归纳需要利用信息和信息技术解决的问题,能通过...https://www.fqkhzx.cn/index/article/view/id/94.html
9....你进军人工智能领域的全流程技术体系和实战指南(LLMAGI和AI...学习后将掌握:机器学习和深度学习的概念,常用的机器学习算法和神经网络算法。 人工神经网络,自然语言处理,机器学习,深度学习,遗传算法等各种人工智能领域的基本概念及其在Python中的如何实现。 认识和掌握相关人工智能和Python编程的基本知识。 还会掌握了AI中使用的基本术语以及一些有用的python软件包,如:nltk,OpenCV,pan...https://blog.51cto.com/alex4dream/6535665
10.AI入门之深度学习:基本概念篇AI入门之深度学习:基本概念篇 1、什么是深度学习 1.1、机器学习 ? 图1:计算机有效工作的常用方法:程序员编写规则(程序),计算机遵循这些规则将输入数据转换为适当的答案。这一方法被称为符号主义人工智能,适合用来解决定义明确的逻辑问题,比如早期的PC小游戏:五子棋等,但是像图像分类、语音识别或自然语言...https://blog.itpub.net/70037994/viewspace-3024487/
11.《人工智能基础》课程教学大纲1.5帮助学生了解大语言模型的基本原理和架构。 课程目标2:帮助学生掌握人工智能的相关技术。 2.1帮助学生学会Keras的安装和使用方法。 2.2帮助学生掌握数据获取与处理的方法。 2.3帮助学生用Keras搭建各种神经网络模型,掌握模型的训练、评估和使用方法。 (三)课程目标与毕业要求、课程内容的对应关系 ...https://energy.suda.edu.cn/25/30/c31046a533808/page.htm
12.人工智能的基本概念有哪些人工智能相关概念包括机器学习、监督学习、无监督学习、强化学习、深度学习、迁移学习、联邦学习。 人工智能的基本概念有哪些 企服解答 人工智能(Artificial Intelligence)相关概念如下: 机器学习(Machine Learning) 监督学习(Supervised Learning) 无监督学习(Unsupervised Learning) ...https://36kr.com/p/dp1458898134188807
13.AI产品经理必修课:NLP技术原理与应用注:当数据量足够大时,使用基于神经网络的深度学习方法处理意图识别和实体抽取任务可以取得更好的效果。 四、自然语言理解基本技术 自然语言理解基本技术分为词法分析、句法分析、语义分析三类。 1. 词法分析 词法分析包括分词和词性标注。 1.1 分词 word segmentation ...https://maimai.cn/article/detail?fid=1344416486&efid=gLTpz8BGwd9RNHvy0tNDuA
14.学好revit有什么用,零基础学revit视频教程Revit是建筑信息模型(BIM)软件,在建筑设计和施工过程中发挥着重要作用。与传统的CAD软件相比,Revit具有更多的功能和优点,可以提高建筑设计的效率和准确性。本文为想要学习和掌握Revit软件的人介绍了学习Revit的最佳途径和方法。 1.了解Revit软件的基本概念和功能 ...https://www.nanhuajiaoyu.com/chanye/news/19897.html
15.泾阳县人民政府本课程包括短视频策划、拍摄与后期制作等全部流程。本课程包含工作项目概述如下:短视频的概念、分类、盈利模式等基础知识,短视频的策划方法和拍摄技法,使用专业视频编辑软件完成短视频的剪辑、字幕与音频的添加、转场与特效的应用等后期制作工作,运用专业视频特效合成软件短视频制作片头,合成与输出完整的短视频...https://www.snjingyang.gov.cn/zfxxgk/fdzdgknr/jgsz/jgsz_20377/xzfgzbm2022/xjyj/bmgk_20415/202306/t20230613_1643809.html
16.Agent学习机器人工智能基本概念神经网络案书方案书解决AI计算机...人工智能实战 使用C#的机器学习机器人和Agent解决方案 Agent多Agent系统监督学习书 学习基本概念及其AI解决方案书 神经网络书籍 ¥73 折后¥73 发货地: 北京 包邮 品牌: 基本概念 风格: Agent 学习 机器 人工智能 基本概念 神经网络 案书 方案书 解决 ...https://www.zhe2.com/note/608526797274
17.一文读懂AI:人工智能的基本概念与实际应用一文读懂 AI:人工智能的基本概念与实际应用 摘要:近年来,人工智能(AI)因其巨大的潜力而在各行各业引起了广泛关注。然而,要全面理解 AI 并非易事,尤其是对于那些对技术概念不太熟悉的读者而言。接下来,大眼仔旭将以最通俗的语言来解析 AI 的概念,探讨它是如何运作的,以及它在现实生活中的应用。 AI 的最简单...http://www.dayanzai.me/ai-artificial-intelligence.html
18.一次性搞懂什么是AIGC!(一篇文章22个基本概念)想象一下,当机器能够认知我们的常识,当艺术被赋予新的定义,当创造力不再是人类的专利,广告营销行业定将迎来一场生产变革巨浪。数英将持续保持对AIGC领域的关注,通过资讯分享、科普认知、方法总结和深度访谈等,和大家一起,多方位走进AIGC的世界。 本期内容,我们将梳理22个AI基础概念,带你搞清楚。https://www.digitaling.com/articles/934226.html
19.人工智能学习心得(通用27篇)(3)掌握了盲目搜索和启发式搜索的基本原理和算法,特别是宽度优先搜索、深度优先搜索、等代价搜索、启发式搜索、有序搜索、ax算法等。了解博弈树搜索、遗传算法和模拟退火算法的基本方法。 (4)掌握了消解原理、规则演绎系统和产生式系统的技术、了解不确定性推理、非单调推理的概念。 https://www.yjbys.com/xindetihui/fanwen/3342600.html