×

神经网络模型应用实例 网络

神经网络模型应用实例(人工智能专业包含神经网络么,考研东北大学,学校只有人工智能专业没有神经网络专业,我该报人工智能么)

admin admin 发表于2023-03-06 07:37:59 浏览58 评论0

抢沙发发表评论

本文目录

人工智能专业包含神经网络么,考研东北大学,学校只有人工智能专业没有神经网络专业,我该报人工智能么

人工智能专业主要研究的内容为如何利用机器智能(主要通过计算机技术实现)实现人类对于问题的获取、问题的推理、和问题的解决。目前研究的领域包括通过机器视觉、机器听觉、机器触觉环境数据采集等实现对于外部环境的感知,提过机器学习、深度学习实现对于数据的分析和推理(基于神经网络模型的相关方法研究是一个主要研究方向)。问题的求解主要依赖计算机科学与技术的软硬件设计和软件工程的算法实现,最终通过机械设计+自动化+电气工程的设备系统实现问题的解决。东北大学进入A类的学科有材料科学、计算机科学与技术、软件工程和控制科学,因此从整体上来看,东北大学人工智能方向实力很强。

人工智能专业是智能科学与技术的一个分支,而神经网络只是目前而言在智能领域的机器学习、深度学习应用技术模型模型典型的一种,未来发展还会有更多的模型和技术出现,因此首先神经网络不是一个专业方向,其次也不比纠结于是否包含,在相关课程学习中一定会出现。

对于包括人工智能在内的智能科学方向的学习和发展影响最大的基础学科应该是统计学和概率论,因为目前而言人工智能的主要方向还是基于人类经验的大数据的机器学习和深度学习。

机器学习有哪些好的DEMO可以用来快速入门

有个很简单的机器学习Demo,我们可以使用MNIST数据集在10分钟内进行图像分类,当您开始使用神经网络学习深度学习时,您会意识到最强大的受监督的深度学习技术之一就是卷积神经网络(简称为“ CNN”)。CNN的最终结构实际上与规则神经网络(RegularNets)非常相似,其中存在具有权重和偏差的神经元。另外,就像在RegularNets中一样,我们在CNN中使用损失函数(例如交叉熵或softmax)和激活函数(例如adam)。另外,在CNN中,还包括卷积层,池化层和全连接层。CNN主要用于图像分类,尽管您可能会发现其他应用领域,例如自然语言处理等等。

CNN中的图层

我们能够在卷积神经网络中使用许多不同的层。但是,卷积、池化和全连接层是最重要的。因此,在实现它们之前,我将快速介绍这些层。

卷积层

卷积层是我们从数据集中的图像中提取特征的第一层。由于像素仅与相邻像素和紧密像素相关,因此卷积允许我们保留图像不同部分之间的关系。卷积基本上是使用较小的像素过滤器对图像进行过滤,以减小图像的大小,而不会丢失像素之间的关系。当我们通过使用步幅为1x1的3x3滤镜(每步偏移1个像素)将卷积应用于5x5图像时。我们最终将获得3x3的输出(复杂度降低了64%)。

池化层

构造CNN时,通常在每个卷积层之后插入池化层,以减小表示的空间大小,从而减少参数计数,从而降低计算复杂度。此外,合并层还有助于解决过度拟合问题。基本上,我们选择池大小以通过选择这些像素内的最大值,平均值或总和值来减少参数数量。最大池化是最常见的池化技术之一,可以通过以下方式进行演示:

全连接层

一个完全连接的网络是我们的CNN,其中每个参数相互链接,以确定每个参数在标签上的真实关系和效果。由于卷积和池化层大大降低了时空复杂度,因此我们可以最终构建一个完全连接的网络来对图像进行分类。一组完全连接的层如下所示:

既然您对我们将要使用的各个层有了一些了解,我认为现在该分享一个完整的卷积神经网络的概貌。

现在,您有了可以构建的用于图像分类的卷积神经网络的概念,我们可以获得用于分类的最陈词滥调的数据集:MNIST数据集,它代表改良的美国国家标准技术研究院数据库。是一个庞大的手写数字数据库,通常用于训练各种图像处理系统。

下载Mnist数据

MNIST数据集是用于图像分类的最常见数据集之一,可从许多不同来源访问。实际上,甚至Tensorflow和Keras都允许我们直接从其API导入和下载MNIST数据集。因此,我将从以下两行开始,以在Keras API下导入tensorflow和MNIST数据集。

NIST数据库包含60,000张训练图像和10,000张测试图像,这些图像是从美国人口普查局员工和美国高中学生那里拍摄的。因此,在第二行中,我将这两个组分别作为训练和测试,并且还分离了标签和图像。x_train和x_test部分包含灰度RGB代码(从0到255),而y_train和y_test部分包含从0到9的标签,这些标签代表它们实际的编号。为了形象化这些数字,我们可以从matplotlib获得帮助。

当我们运行上面的代码时,我们将获得RGB代码的灰度可视化效果,如下所示。

建立卷积神经网络

我们将使用高级Keras API构建模型,该API在后端使用TensorFlow或Theano。我想提到的是,有几种高级TensorFlow API,例如Layers,Keras和Estimators,它们可以帮助我们创建具有高级知识的神经网络。但是,由于它们的实现结构各不相同,因此可能会造成混乱。因此,即使它们都使用了张量流,但如果您看到的是相同神经网络的完全不同的代码,这就是原因。我将使用最直接的API,即Keras。因此,我将从Keras导入顺序模型并添加Conv2D,MaxPooling,Flatten,Dropout和Dense图层。我已经讨论过Conv2D,Maxpooling和Dense层。此外,Dropout层通过在训练时忽略某些神经元来对抗过度拟合,而Flatten层在构建完全连接的层之前将2D数组展平为1D数组。

我们可以为第一个Dense层尝试任何数字;但是,由于我们有10个数字类别(0、1、2,…,9),因此输出层必须具有10个神经元。您可以始终在第一个Dense层中尝试内核大小,池大小,激活函数,丢失率和神经元数量的实验,以获得更好的结果。

编译和拟合模型

使用上面的代码,我们创建了一个未经优化的空CNN。现在是时候为优化器设置一个使用度量的给定损失函数。然后,我们可以使用火车数据拟合模型。我们将使用以下代码来完成这些任务:

您可以尝试使用激活函数,损失函数,调参等等。但是,我可以说adam通常胜过其他激活函数。我不确定您是否可以更改多类分类的损失函数。请随意在下面进行实验和评论。这样简单的测可以达到98–99%的测试精度。由于MNIST数据集不需要大量的计算能力,因此您也可以轻松地尝试好几次训练试试看。

评估模型

最后,您可以使用一行代码通过x_test和y_test评估训练后的模型:

model.evaluate(x_test, y_test)

对于一个如此简单的模型,结果是相当不错的。

评估显示,测试仪的准确性为98.5%!

通过这种基本模型,我们达到了98.5%的准确性。坦率地说,在许多图像分类案例中(例如,对于自动驾驶汽车),我们甚至不能容忍0.1%的误差,因为作为类比,这就像在1000例案例中虽然导致1次事故但很严重一样。但是,对于我们的第一个模型,这结果已经相当不错了。