零基础入门神经网络:从原理、主要类型到行业应用

简介:
本文来自AI新媒体量子位(QbitAI)

最近,神经网络这个词特别火,吸引不少眼球。但是神经网络是个啥?有啥用?

这篇文章和大家唠唠,啥是神经网络,对于初学者来说主要有哪些挑战,以及介绍几种经典的神经网络类型,和相关行业应用。

神经网络的工作原理

基本上,神经网络是由一层一层的不同的计算单位连接起来的。我们把计算单位称为神经元,这些网络可以把数据处理分类,就是我们要的输出。

每个神经元把最初的输入值乘以一定的权重,并加上其他输入到这个神经元里的值(并结合其他信息值),最后算出一个总和,再经过神经元的偏差调整,最后用激励函数把输出值标准化。

迭代的学习过程

神经网络有个很关键的特征,它的学习过程是迭代的。也就是说,在学习期间,处理数据的过程会不断重复,而且为了准确预测输入值的分类,每次都会调整和输入数据有关的权重。

神经网络的优点,在于他们对很乱的数据的容忍度很高,同时也有很强的分类能力,连未训练的数据也能区分出来。

而最受欢迎的神经网络算法,是反向传播算法。

为了解决某个特定问题,神经网络要得到足够的训练。在训练最开始的时候,初始权重是随机定的。

如果在输出层得不到期望的输出值,则取输出与期望的误差的平方和作为目标函数,转入反向传播,逐层求出目标函数对各神经元权值的偏导数,构成目标函数对权值向量的梯量,作为修改权值的依据,网络的学习在权值修改过程中完成。误差达到所期望值时,网络学习结束。

神经网络通过隐藏层里的权重和函数,一次处理训练集里的一组数据,然后把输出值和实际结果作对比。然后把误差返回给整个网络系统,针对要解决的问题来调权重。再输入下一组数据,看偏差值有没有变小。

这个过程要不断地反复调整权重。所以在训练的过程中,同一组数据会被处理很多次,直到每一层的权重都被精细地调校过。

这个过程有多困难呢?

对于神经网络的初学者来说,其中的一个挑战是要理解每一层有什么用。我们知道,在训练过后,每一层都会抽取出来输入值的高阶或更高阶的特征,直到最后一层决定输入的特征所指的是什么。那这个过程是怎么完成的?

与其指定神经网络最后放大的特征,还不如让神经网络自己得出来。

由于神经网络的每一层的处理,是不同维度的抽象特征。所以强化哪一层,会对最后的值的特征的复杂性有不同的影响。而在我们选了其中一个层后,就可以看到神经网络最后增强了什么的特征。

流行的神经网络类型及其应用

接下来,我们会了解一下自动编码器,卷积神经网络和循环神经网络。

自动编码器

根据之前的经验,随机初始化的结果并不好。所以为了获得更好的初始权重,我们可以考虑用无监督学习算法来预训练每个层。

类似的例子,可以参考被无监督算法训练的Deep Belief Networks。 最近,有一些新的研究尝试在这个领域寻找突破,比如,使用概率自动编码器的变分方法。

不过实际上,它们很少被用到。 最近,对于更深的神经网络来说,已经可以进行批量地标准化。通过残差学习,我们能从头开始训练任意深度神经网络了。在适当的维度和稀疏性的约束下,自动编码器可以学习到,比PCA或其他基本技术更有趣的数据投影。

我们来看看两个有趣的自动编码器的实际应用:

医学图像的降噪

通过卷积层,自动编码器实现高效降噪。

 降噪自动编码器,就是设定为忽略某些输入的

在随机干扰过程中,通过随机地将一些输入数据设为零,让降噪自动编码器自己判断哪些是丢失(损坏)的值,从而预测出哪些是丢失模式的子集。

数据可视化

用主成分分析(PCA),和t分布随机相邻嵌入(t-SNE)等方法,可以实现降维。 在训练神经网络的时候,结合以上方法,能提高模型的预测精度。而且,多层神经网络的预测精度很大程度上依赖于神经网络结构,预处理的数据,以及该神经网络要解决的问题类型。

卷积神经网络

卷积神经网络,这个名字是来源于“卷积”运算符。 它的主要目的,在于从输入的图像中提取特征。而特征的提取,是通过使用输入数据里3×3的区域学习到的。这样,卷积网络就能够保留像素之间的空间关系。

卷积神经网络在以下领域取得了成功:

人脸识别

级联卷积神经网络,可以快速高效地识别人脸。 检测器先用低分辨率评估输入图像,把非面部区域快速排除掉,再以更高的分辨率,仔细处理并精确检测更复杂的区域。

为了加速检测并提高边框质量,还在级联中引入了校准网络。

自动驾驶

卷积神经网络传统上用于图像分析和目标识别。

在自动驾驶的项目中,空间纵深的估算能力特别重要。没有它,就无法确保乘客和其他车辆的安全。NVIDIA的自动驾驶汽车等项目,就已经开始使用CNN了。

CNN非常灵活,可以通过多层的参数来处理输入,其中还包括深度信念网络(DBN)。

另外,还有个好玩的用法, 可以在游戏模拟器中,用CNN来开车并预测转弯的角度 。

循环神经网络

循环神经网络可以生成序列。每次处理单组的真实数据序列之后,就预测接下来会发生什么。那这种模型是怎么一步一步搭起来的呢?

假设,预测的结果是存在概率分布的话,那么可以反复取各种输入值,产生新的序列。输入值的来源可以是已经训练过的网络的输出值,取得越分散越好。换句话说,让神经网络把自己生成的结果,当作真实世界里产生的数据值,用作输入,就像一个人在做梦一样。梦里那些虚幻不存在的场景,也能成为我们记忆中感知的一部分。

预测

神经网络经过训练后,给定一个输入值,就能得到在预期内的输出值。

如果我们有个神经网络,能够完美地拟合一系列已知的值,那么这个网络也能预测未来的值。

现在,预测股价的模型用得最6。

不同领域里神经网络的应用

在真实的商业环境里,神经网络已经应用很广泛了,比如销售量预测,用户调查,数据有效性,和风险调控。

市场

目标市场与市场细分有关,根据用户不同的消费行为,我们能把市场划分得很细。

按地域分布,经济能力、购买习惯、对产品的态度等维度分类,是神经网络最拿手的事。无监督学习可以自动把有相似属性的用户分类到一起。

零售行业

神经网络用来预测超市的销售量特别有优势,因为它能多维度考虑问题。比如一个产品可能有多大的市场需求量,一个消费者的收入,人口分布,产品价格等方面。

一旦两个商品,在某段时间内他们的销售量存在间接的联系,像一个用户买完打印机之后,很大可能会在3到4个月的时候需要补充新墨盒,那么零售商可以从顾客的购买数据来有效地推产品,避免顾客流失到竞争对手那。

金融行业

神经网络已经成功解决了多个金融类的问题,比如衍生类的保值型理财产品,未来价值的预测,外汇汇率的预测,以及股票市场的表现。以前,是数据技术驱动着软件的发展;现在,神经网络驱动着大家做出更优的理财选择。

医药行业

高效的人体生理系统建模、快速检测疾病这些方面的工作,需要大量神经网络来支持。大家都很看好未来神经网络在医疗领域大规模的应用。

结论

也许,用神经网络解决实际问题的同时,未来神经网络还能当艺术家创作的工具,混合出新的视觉效果。说不定我们还可以从中发现创意的规律。

总的来说,神经网络让计算机更像人,get到越来越多的技能,可以帮我们做更多的事儿。

原文链接:
http://t.cn/RYqmhBG

本文作者:Root
原文发布时间:2017-11-26
相关文章
|
6天前
|
机器学习/深度学习 数据可视化 PyTorch
深入解析图神经网络注意力机制:数学原理与可视化实现
本文深入解析了图神经网络(GNNs)中自注意力机制的内部运作原理,通过可视化和数学推导揭示其工作机制。文章采用“位置-转移图”概念框架,并使用NumPy实现代码示例,逐步拆解自注意力层的计算过程。文中详细展示了从节点特征矩阵、邻接矩阵到生成注意力权重的具体步骤,并通过四个类(GAL1至GAL4)模拟了整个计算流程。最终,结合实际PyTorch Geometric库中的代码,对比分析了核心逻辑,为理解GNN自注意力机制提供了清晰的学习路径。
152 7
深入解析图神经网络注意力机制:数学原理与可视化实现
|
3天前
|
机器学习/深度学习 数据采集 算法
基于MobileNet深度学习网络的MQAM调制类型识别matlab仿真
本项目基于Matlab2022a实现MQAM调制类型识别,使用MobileNet深度学习网络。完整程序运行效果无水印,核心代码含详细中文注释和操作视频。MQAM调制在无线通信中至关重要,MobileNet以其轻量化、高效性适合资源受限环境。通过数据预处理、网络训练与优化,确保高识别准确率并降低计算复杂度,为频谱监测、信号解调等提供支持。
|
2天前
|
机器学习/深度学习 数据采集 编解码
基于DeepSeek的生成对抗网络(GAN)在图像生成中的应用
生成对抗网络(GAN)通过生成器和判别器的对抗训练,生成高质量的合成数据,在图像生成等领域展现巨大潜力。DeepSeek作为高效深度学习框架,提供便捷API支持GAN快速实现和优化。本文详细介绍基于DeepSeek的GAN技术,涵盖基本原理、实现步骤及代码示例,展示其在图像生成中的应用,并探讨优化与改进方法,如WGAN、CGAN等,解决模式崩溃、训练不稳定等问题。最后,总结GAN在艺术创作、数据增强、图像修复等场景的应用前景。
84 16
|
9天前
|
负载均衡 容灾 Cloud Native
云原生应用网关进阶:阿里云网络ALB Ingress 全面增强
云原生应用网关进阶:阿里云网络ALB Ingress 全面增强
|
24天前
|
机器学习/深度学习 数据采集 运维
机器学习在网络流量预测中的应用:运维人员的智慧水晶球?
机器学习在网络流量预测中的应用:运维人员的智慧水晶球?
69 19
|
13天前
|
机器学习/深度学习 数据可视化 API
DeepSeek生成对抗网络(GAN)的训练与应用
生成对抗网络(GANs)是深度学习的重要技术,能生成逼真的图像、音频和文本数据。通过生成器和判别器的对抗训练,GANs实现高质量数据生成。DeepSeek提供强大工具和API,简化GAN的训练与应用。本文介绍如何使用DeepSeek构建、训练GAN,并通过代码示例帮助掌握相关技巧,涵盖模型定义、训练过程及图像生成等环节。
|
22天前
|
网络协议 安全 网络安全
应用程序中的网络协议:原理、应用与挑战
网络协议是应用程序实现流畅运行和安全通信的基石。了解不同协议的特点和应用场景,以及它们面临的挑战和应对策略,对于开发者和用户都具有重要意义。在未来,随着技术的不断发展,网络协议也将不断优化和创新,为数字世界的发展提供更强大的支持。
|
9月前
|
机器学习/深度学习 PyTorch 算法框架/工具
【从零开始学习深度学习】26.卷积神经网络之AlexNet模型介绍及其Pytorch实现【含完整代码】
【从零开始学习深度学习】26.卷积神经网络之AlexNet模型介绍及其Pytorch实现【含完整代码】
|
9月前
|
机器学习/深度学习 PyTorch 算法框架/工具
【从零开始学习深度学习】28.卷积神经网络之NiN模型介绍及其Pytorch实现【含完整代码】
【从零开始学习深度学习】28.卷积神经网络之NiN模型介绍及其Pytorch实现【含完整代码】
|
7月前
|
机器学习/深度学习 PyTorch 算法框架/工具
PyTorch代码实现神经网络
这段代码示例展示了如何在PyTorch中构建一个基础的卷积神经网络(CNN)。该网络包括两个卷积层,分别用于提取图像特征,每个卷积层后跟一个池化层以降低空间维度;之后是三个全连接层,用于分类输出。此结构适用于图像识别任务,并可根据具体应用调整参数与层数。
115 9

热门文章

最新文章