当前位置: 首页 > article >正文

013:深度学习之神经网络

本文为合集收录,欢迎查看合集/专栏链接进行全部合集的系统学习。

合集完整版请参考这里。

深度学习是机器学习中重要的一个学科分支,它的特点就在于需要构建多层且“深度”的神经网络。

人们在探索人工智能初期,就曾设想构建一个用数学方式来表达的模型,它可以模拟人的大脑。

大脑我们都知道,有很多神经元,每个神经元之间通过突触链接。
在这里插入图片描述

神经网络的设计就是模仿了这一结构。

只不过,在数学上,将每一个神经元换成了一个个的算法,比如卷积算法。突触对于神经元的激活则换成了激活函数,比如Relu激活函数。
在这里插入图片描述

上图是我用 Netron 打开的一个真实的自动驾驶领域用到的一个AI神经网络模型。可以看到该模型是由一层一层的算法(算子)堆积而成。该神经网络最终就可以完成一些图像的识别或者汽车周围环境的感知任务。

如果把上面的一部分放大,可以看到如下的样子:
在这里插入图片描述

这里面就有一些经典的算法,比如Conv(代表的是卷积运算)、Relu(代表的是激活运算)等。这些算法模拟了人类大脑中的神经元,组织在一起构成了一个非常庞大的神经网络。

本专栏在后面会一步步来搭建一个类似的神经网络。

需要说明的,完成不同任务的神经网络的结构是不同的,但都有一个特点:网络的深度很深。

你可能会有疑问,这样通过一层层算法搭建起来的神经网络真的有效吗?

答案是肯定的。

大量的实验已经验证了这种深度的神经网络是可以学习到很多图片或文本的重要特征,从而在神经网络输出结果时可以输出正确的结果。

比如,进行图像识别的神经网络可以正确的输出一个图像类别,图像检测的神经网络可以正确的输出物体在图像中的坐标和类别,如下:

在这里插入图片描述

而涉及语音和文本翻译的神经网络则可以正确的输出中文对应的英文翻译等。

至于为什么神经网络有效,也就衍生出一个新的研究领域:神经网络的可解释性。很多人试图通过研究探究神经网络中深层次的原理,进行解释,该领域目前仍然是一个比较前沿的研究方向。

人脑的原理人们研究了很多年,至今也无法真正说清其中的原理,神经网络的可解释性同样任重道远。

但不管怎样,如此深度的神经网络已经取得了举世瞩目的成就,基于yolo的目标检测已经大规模应用于工业检测中,基于transformer的大模型也几乎成为了目前提高生产力的工具。

神经网络的分类

神经网络的分类有很多种,下面介绍两种你可能会经常听到的。

卷积神经网络(Convolutional Neural Networks, CNN)

该神经网络指的是神经网络中以卷积为主,辅助的有一些激活或者池化,只要是符合这种特性的神经网络,都可以称之为卷积神经网络。上面展示的那个,也可以看作是一种卷积神经网络。

卷积神经网络一般用于计算机视觉领域,用于图像分类、检测、分割等,这是由于卷积的局部性特征所决定的。

循环神经网络

该神经网络指的是可以处理带时序数据的网络。什么是时序呢,就是数据中带有时间序列。

比如语音和文本,我说一句话“你欠我100万”,这句话就带有时序信息,神经网络处理这类数据,需要找到“你”、“我、“欠”这些词之间的先后关系,才能正确的理解这句话。

否则“你欠我100万”和“我欠你100万”是两种完全不一样的意思。

典型的循环网络有 RNN 以及在此基础之上发展出来的 lstm,甚至基于transformer的架构都可以处理这种时序信息。

至于其他分类,感兴趣的话可以去搜一搜看看。本专栏学习的内容主要集中在卷积神经网络,也就是适用于计算机视觉的一大类网络。


http://www.kler.cn/a/501535.html

相关文章:

  • Python脚本自动发送电子邮件
  • Centos9-SSH免密登录配置-修改22端口-关闭密码登录-提高安全性
  • outlook Synchronization problem conflict 同步问题
  • django基于 Python 的考研学习系统的设计与实现
  • 有收到腾讯委托律师事务所向AppStore投诉带有【水印相机】主标题名称App的开发者吗
  • HTML5 语义元素:网页构建的新时代
  • 网络安全建设方案,信息安全风险评估报告,信息安全检测文档(Word原件完整版)
  • vue事件对象$event
  • 计算机网络之---网络安全的基本概念
  • C#,图论与图算法,有向图(Direct Graph)广度优先遍历(BFS,Breadth First Search)算法与源程序
  • Vue3初学之组件通信
  • 设计模式(5)——观察者模式
  • linux-rsyncd服务配置
  • 【杂谈】-50+个生成式人工智能面试问题(四)
  • OceanBase4.0 跟我学--分布式到底可靠不可靠,到底丢不丢数--终于学完了
  • Win11登录微软账户“哎呀出错了”解决方案
  • 【后端面试总结】ES和MySQL对比技术探讨
  • MySQL教程之:输入查询
  • Vue中el-tree结合vuedraggable实现跨组件元素拖拽
  • CentOS 7.9 通过 yum 安装 Docker
  • 走进 Web3 社交:打破边界,重构人际关系网络
  • 语音技术与人工智能:智能语音交互的多场景应用探索
  • 微信小程序-Docker+Nginx环境配置业务域名验证文件
  • 合洁科技电子洁净工程公司分享晶圆厂百级净化车间建设的关键要点
  • 【C++多线程编程:六种锁】
  • 工作效率提升:使用Anaconda Prompt 创建虚拟环境总结