神经网络(亦称人工神经网络或 ANN)是一种自适应系统,它通过使用类似人脑的层次结构中的互连节点或神经元进行学习。神经网络可通过数据进行学习,因此,您可以训练它来识别模式、对数据分类和预测未来事件。神经网络将输入分解为多个抽象层。经过大量的示例训练后,它可以识别语音或图像中的模式,就像人类大脑的工作方式一样。神经网络的行为由其各个元素的连接方式以及这些连接的强度或权重来确定。在训练期间,这些权重会根据指定的学习规则进行自动调整,直到人工神经网络正常执行所需任务为止。
神经网络的用途
神经网络是一种机器学习方法,其灵感来自人脑中神经元间信号传递的方式。神经网络特别适用于非线性关系建模,通常用于执行模式识别,以及对语音、视觉和控制系统中的目标或信号进行分类。
神经网络,特别是深度神经网络,以其在复杂识别应用中的出色表现而闻名,例如人脸识别、文本翻译和语音识别等应用。此类方法是推动高级驾驶辅助系统及其任务(包括车道分类和交通标志识别)创新的关键技术。
与其他机器学习算法一样,神经网络可用于执行分类或回归任务。在基于训练数据的学习过程中,可通过对神经网络进行加权来设置模型参数。通常情况下,优化权重可最大限度减少预测误差。
神经网络的类型
第一个也是最简单的神经网络是感知器,在 1958 年由 Frank Rosenblatt 推出。它由一个神经元和一个本质上是带有 sigmoid 激活函数的线性回归模型组成。从那时起,人们就不断探索日益复杂的神经网络,逐步将其发展成为当今的深度网络,其中可能包含数百层。
深度学习涉及多层神经网络,而只有两层或三层连接神经元的神经网络也称为浅层神经网络。深度学习之所以大行其道,是因为它避免了从图像中提取特征。以前,在机器学习过程中,处理图像和信号时需要手动提取特征,这无疑是一项充满挑战性的任务。尽管在图像处理应用中可以省略特征提取,但是,为了提高模型准确性,执行信号处理任务时通常仍需某种形式的特征提取。
下面是工程应用中的三种常用神经网络类型:
- 前馈神经网络:由一个输入层、一个或多个隐藏层和一个输出层组成(典型的浅层神经网络)。
- 卷积神经网络 (CNN):一种广泛应用于图像处理的深度神经网络架构,其特点是卷积层通过共享权重的节点在输入间移动窗口,从而将输入(通常是图像)抽象为特征图。您可以使用预训练的 CNN 网络,例如 SqueezeNet 或 GoogleNet。
- 循环神经网络 (RNN):一种具有反馈环的神经网络架构,用于对输入(如时间序列、传感器和文本数据)中的序列依赖关系进行建模。最常见的 RNN 类型是长短期记忆网络 (LSTM)。
CNN 的工作原理
观看这段简短视频了解 CNN 的详细信息,包括层、激活和分类。
了解有关深度学习的更多信息:
如何使用 MATLAB 创建神经网络?
使用 MATLAB® 中的 Deep Learning Toolbox™ 和 Statistics and Machine Learning Toolbox™,您可以为计算机视觉和自动驾驶等应用创建深度神经网络和浅层神经网络。
您只需编写几行代码,即可在 MATLAB 中创建神经网络,而无需成为专家。您可以快速使用、训练和可视化神经网络模型,将神经网络集成到您的现有系统中,并将其部署到服务器、企业系统、集群、云和嵌入式设备。
使用神经网络构建系统的典型工作流
开发 AI 应用,特别是包括神经网络,通常涉及以下步骤:
- 数据准备
- 获取足量的标注训练数据。训练深度神经网络需要更多数据。用于标注图像、视频和信号等的标注器可以加速此过程。
- 利用仿真生成训练数据,尤其是在难以从真实系统采集数据(发生故障情况)时更应如此。
- 增强数据以更好地体现训练数据的多变性。
- AI 建模
- 使用 Statistics and Machine Learning Toolbox 中的分类学习器和回归学习器以交互方式训练浅层神经网络,或使用命令行函数进行训练;如果您要将浅层神经网络的性能与其他传统机器学习算法(如决策树或 SVM)进行比较,或如果您的可用标注训练数据有限,则建议您采用这种做法。
- 使用 Deep Learning Toolbox 中的深度网络设计器以交互方式指定和训练神经网络(浅层或深度),或使用命令行函数进行指定和训练,这特别适用于深度神经网络,或您需要更灵活地自定义网络架构和求解器的情形。
- 仿真和测试
- 将神经网络作为模块集成到 Simulink® 模型中,这有助于与更大的系统集成、执行测试和部署到多种类型的硬件。
- 部署
- 从在 Statistics and Machine Learning Toolbox 中训练的浅层神经网络生成 C/C++ 代码,以部署到嵌入式硬件和高性能计算系统。
- 从在 Deep Learning Toolbox 中训练的神经网络生成优化的 CUDA® 和 C/C++ 代码,以在 GPU 和其他类型的工业硬件(ARM、FPGA)上进行快速推断。
MATLAB 实现深度学习
了解 MATLAB 针对深度学习提供的支持。
教程和示例
MATLAB 深度学习快速入门。
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)