AI学习笔记——神经网络和深度学习

简介: 在之前的文章里面,我介绍了机器学习的很多经典算法,其中有一个叫做『神经网络』的算法目前最受追捧,因为击败李世石的阿尔法狗所用到的算法实际上就是基于神经网络的深度学习算法。

在之前的文章里面,我介绍了机器学习的很多经典算法,其中有一个叫做『神经网络』的算法目前最受追捧,因为击败李世石的阿尔法狗所用到的算法实际上就是基于神经网络的深度学习算法。由于其算法结构类似于人脑神经结构,所以人们对他给予了厚望,希望通过神经网络算法实现真正的AI。

神经网络(Neural Network(NN))

一个典型的神经网络如下图

img_03ead715767a20c3f7d802f1ff44a633.png
image.png

其最基本的神经元是由一个线性函数和一个非线性的激活函数组成:


img_a157a925261c9201ee018c48e3900c95.png
image.png

这个线性函数与之前线性回归是一样的,而激活函数可以理解为将输出的结果进行调控,比如使其保证在0和1之间。

与线性回归一样,神经网络实际上就是要训练找到合适的w 和 b。与线性回归一样,使用梯度下降(Grident Dscent)法,即可得到最优 的w和b。

非线性的激活函数有很多类,如图:


img_681ebbad1d7314972cdd7374cca36251.png
image.png

Sigmoid 是早期比较流行的,不过现在用的最多的是ReLu,为什么简单的Relu能够比看起来更加合理的Sigmoid 更加有效,并不是这篇笔记要探讨的话题。至于为什么要用激活函数,我想也很好理解,如果整个神经网络全是线性的话,那么无论这个网络有多复杂,最终都只是一个线性的,然而我们这个世界上的事物用线性模型就都能解释吗,显然不行。

深度神经网络(Deep Neural Network (DNN))

深度神经网络实际上就是将神经网络进行叠加,而中间层叫做隐藏层(Hiden layer), 隐藏层能够分辨出浅层神经网络无法分辨的细节。


img_57ea4bdc672b142c507cb08f91aa244d.png
image.png

前向传播和反向传播(Forward and Backward propagation)

前向传播其实很简单,就是如何堆砌这个神经网络,多少个Feature 输入,多少层神经网络,每层多少个神经元,每一层用什么激活函数。

最困难的是反向传播,类似于线性回归一样,我们的目的是要用合适的参数(W和b)使这个网络,或者说整个模型预测的值最接近真实的数值,换句话说就是预测值与真实值的差距最小。这个求这个差值的函数我们叫代价函数(Cost Function), 而反向传播就是通过预测结果,向前倒推每一层W和b的导数。通过这个导数我们就可以用梯度下降的方法训练出代价函数最小的W和b值。

反向传播涉及到了微分,和偏微分(偏导)递归等数学原理,虽然也不难,但是也并不在本文的讨论范围之内。不过好消息是在现在流行的深度学习工具中,比如在Tensorflow中, 我们只需要关心如何搭建这个网络(前向传播),工具会自动通过反向传播计算最优解,所以这部分我想留在后续Tensorflow 的文章中详细讲解。

其实听起来高大上的NN和DNN是不是很简单。

相关文章
AI 学习笔记之——监督学习一朴素贝叶斯(Supervised Learning)


文章首发steemit.com 为了方便墙内阅读,搬运至此,欢迎留言或者访问我的Steemit主页

目录
相关文章
|
7月前
|
机器学习/深度学习 人工智能 算法
猫狗宠物识别系统Python+TensorFlow+人工智能+深度学习+卷积网络算法
宠物识别系统使用Python和TensorFlow搭建卷积神经网络,基于37种常见猫狗数据集训练高精度模型,并保存为h5格式。通过Django框架搭建Web平台,用户上传宠物图片即可识别其名称,提供便捷的宠物识别服务。
703 55
|
2月前
|
人工智能 API 开发者
用Qwen3+MCPs实现AI自动发布小红书笔记!支持图文和视频
魔搭自动发布小红书MCP,是魔搭开发者小伙伴实现的小红书笔记自动发布器,可以通过这个MCP自动完成小红书标题、内容和图片的发布。
999 41
|
5月前
|
机器学习/深度学习 数据可视化 算法
PyTorch生态系统中的连续深度学习:使用Torchdyn实现连续时间神经网络
神经常微分方程(Neural ODEs)是深度学习领域的创新模型,将神经网络的离散变换扩展为连续时间动力系统。本文基于Torchdyn库介绍Neural ODE的实现与训练方法,涵盖数据集构建、模型构建、基于PyTorch Lightning的训练及实验结果可视化等内容。Torchdyn支持多种数值求解算法和高级特性,适用于生成模型、时间序列分析等领域。
300 77
PyTorch生态系统中的连续深度学习:使用Torchdyn实现连续时间神经网络
|
2月前
|
Web App开发 人工智能 JSON
Windows版来啦!Qwen3+MCPs,用AI自动发布小红书图文/视频笔记!
上一篇用 Qwen3+MCPs实现AI自动发小红书的最佳实践 有超多小伙伴关注,同时也排队在蹲Windows版本的教程。
442 1
|
3月前
|
机器学习/深度学习 人工智能 运维
AI“捕风捉影”:深度学习如何让网络事件检测更智能?
AI“捕风捉影”:深度学习如何让网络事件检测更智能?
84 8
|
4月前
|
机器学习/深度学习 数据采集 算法
基于MobileNet深度学习网络的MQAM调制类型识别matlab仿真
本项目基于Matlab2022a实现MQAM调制类型识别,使用MobileNet深度学习网络。完整程序运行效果无水印,核心代码含详细中文注释和操作视频。MQAM调制在无线通信中至关重要,MobileNet以其轻量化、高效性适合资源受限环境。通过数据预处理、网络训练与优化,确保高识别准确率并降低计算复杂度,为频谱监测、信号解调等提供支持。
|
4月前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【害虫识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
害虫识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了12种常见的害虫种类数据集【"蚂蚁(ants)", "蜜蜂(bees)", "甲虫(beetle)", "毛虫(catterpillar)", "蚯蚓(earthworms)", "蜚蠊(earwig)", "蚱蜢(grasshopper)", "飞蛾(moth)", "鼻涕虫(slug)", "蜗牛(snail)", "黄蜂(wasp)", "象鼻虫(weevil)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Djan
301 1
基于Python深度学习的【害虫识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
|
4月前
|
机器学习/深度学习 存储 算法
基于MobileNet深度学习网络的活体人脸识别检测算法matlab仿真
本内容主要介绍一种基于MobileNet深度学习网络的活体人脸识别检测技术及MQAM调制类型识别方法。完整程序运行效果无水印,需使用Matlab2022a版本。核心代码包含详细中文注释与操作视频。理论概述中提到,传统人脸识别易受非活体攻击影响,而MobileNet通过轻量化的深度可分离卷积结构,在保证准确性的同时提升检测效率。活体人脸与非活体在纹理和光照上存在显著差异,MobileNet可有效提取人脸高级特征,为无线通信领域提供先进的调制类型识别方案。
|
5月前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
蘑菇识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了9种常见的蘑菇种类数据集【"香菇(Agaricus)", "毒鹅膏菌(Amanita)", "牛肝菌(Boletus)", "网状菌(Cortinarius)", "毒镰孢(Entoloma)", "湿孢菌(Hygrocybe)", "乳菇(Lactarius)", "红菇(Russula)", "松茸(Suillus)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,
343 11
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
|
6月前
|
机器学习/深度学习 监控 算法
基于yolov4深度学习网络的排队人数统计系统matlab仿真,带GUI界面
本项目基于YOLOv4深度学习网络,利用MATLAB 2022a实现排队人数统计的算法仿真。通过先进的计算机视觉技术,系统能自动、准确地检测和统计监控画面中的人数,适用于银行、车站等场景,优化资源分配和服务管理。核心程序包含多个回调函数,用于处理用户输入及界面交互,确保系统的高效运行。仿真结果无水印,操作步骤详见配套视频。
216 18

热门文章

最新文章