• 最新论文
  • “洋居民”、外国游客与上海市民共同战“疫” 英媒:美濒临衰退征兆显露 房地产与制造业亮红灯 怎么快速祛痘和痘印小方法 [Python人工智能] 十八.Keras搭建卷积神经网络及CNN原理详解 胡润新金融百强榜圆桌一:5G时代科技金融融合与展望 怎么快速祛痘和痘印小方法 商业银行入市国债期货交易 五大行为首批试点机构 瑞幸增发并发行可转债:管理层和其他原始股东未减持 商业银行入市国债期货交易 五大行为首批试点机构 英媒:美濒临衰退征兆显露 房地产与制造业亮红灯 7地最新教师招聘到!有编制,年薪18-25万,提供住宿,免笔试 “洋居民”、外国游客与上海市民共同战“疫” 胡润新金融百强榜圆桌一:5G时代科技金融融合与展望
  • 推荐论文
  • “洋居民”、外国游客与上海市民共同战“疫” 英媒:美濒临衰退征兆显露 房地产与制造业亮红灯 怎么快速祛痘和痘印小方法 [Python人工智能] 十八.Keras搭建卷积神经网络及CNN原理详解 胡润新金融百强榜圆桌一:5G时代科技金融融合与展望 怎么快速祛痘和痘印小方法 商业银行入市国债期货交易 五大行为首批试点机构 瑞幸增发并发行可转债:管理层和其他原始股东未减持 商业银行入市国债期货交易 五大行为首批试点机构 英媒:美濒临衰退征兆显露 房地产与制造业亮红灯 7地最新教师招聘到!有编制,年薪18-25万,提供住宿,免笔试 “洋居民”、外国游客与上海市民共同战“疫” 胡润新金融百强榜圆桌一:5G时代科技金融融合与展望
  • 热门标签
  • 日期归档
  • [Python人工智能] 十八.Keras搭建卷积神经网络及CNN原理详解

    来源:www.fuzhou1998.cn 发布时间:2020-03-14

    从本专栏开始,作者正式学习了Python的深度学习、神经网络和人工智能相关知识。前一篇文章以MNIST数码图片为例,详细阐述了Keras对分类学习的实现。本文详细阐述了卷积神经网络的原理,并通过Keras编写CNN实现了MNIST分类学习案例。基础文章,希望对你有所帮助!

    本专栏主要结合作者以前的博客、人工智能体验、相关视频(如“莫凡沈达”视频)和论文简介。稍后,将深入解释更多的Python AI案例和应用程序。希望这篇基础文章对你有所帮助。如果文章中有任何错误或不足,也请邀请人工智能新秀韩海~作者,并希望每个人都能在这个逐个的博客中与我一起成长。写了这么多年的博客,尝试第一个付费专栏,但更多的博客,特别是基础文章,将继续免费分享,但这个专栏也将用心写,希望值得读者和鼓励他们在一起!

    代码下载地址:

    代码下载地址:

    PS:百度的互联网磁盘链接总是离线。如果你需要和我私下聊天,或者从CSDN或Github下载。

    第1条的内容。卷积神经网络原理1。什么是CNN2。有线电视新闻网原则2。Keras实现CNN1。代码实现2。完成代码3。运行结果3。总结

    同时推荐前作者的其他五篇Python系列文章。自2014年以来,作者主要撰写了三篇Python系列文章,即基础知识、网络爬虫和数据分析。Python图像识别和Python人工智能专栏在2018年相继增加。

    Python基础知识系列:Python基础知识学习和推广

    Python网络爬虫系列:Python Crawler的硒靓汤请求

    Python数据分析系列:知识地图、网络数据挖掘和NLP

    Python图像识别系列:Python图像处理和图像识别

    Python人工智能系列:Python人工智能和知识地图实战

    Previous:

    [Python人工智能]1 . TensorFlow 2.0环境的构建和神经网络介绍

    [Python人工智能] 2 .张量流基金会和一维线性预测案例

    [Python人工智能] 3。TensorFlow Foundation

    [Python人工智能的会话、变量、传入值和激励函数] 4。张量流创建回归神经网络和优化器

    [Python人工智能] V .张量板可视化的基本用法和整个神经网络的绘制

    [Python人工智能] vi .TensorFlow实现分类学习和MNIST手写识别

    [Python人工智能] vii案例。什么是过拟合和退拟合来解决神经网络中的过拟合问题

    [Python人工智能] VIII。卷积神经网络原理的详细说明和编写美国有线电视新闻网由TensorFlow

    [蟒蛇人工智能]九。gensim字向量词2Vec的安装和《庆余年》中文短文本

    [Python人工智能]10的相似度计算。美国有线电视新闻网定制图像分类实例,由Tensorflow Opencv实现,并与机器学习

    [Python人工智能] XI的KNN图像分类算法进行比较。张量流如何保存神经网络参数

    [蟒蛇人工智能]十二。循环神经网络的RNN和LSTM原理的详细解释和由TensorFlow

    [Python人工智能编写的RNN分类案例] XIII。如何评估神经网络,损失曲线绘制,图像分类案例的F值计算

    [Python人工智能] XIV。递归神经网络的正弦曲线预测LSTM RNN回归案例

    [Python人工智能] XV。自动编码器原理的无监督学习和聚类可视化案例的详细说明

    [Python人工智能] XVI。Keras环境构建,介绍基础和回归神经网络案例

    [Python人工智能] XVII。分类神经网络的构建与MNIST数字图像案例分析

    《人工智能狂潮》-什么是人工智能?(1)

    1。卷积神经网络原理

    1。当卷积神经网络成为计算机处理图像的助推器时,什么是CNN

    通用神经网络在理解图像信息方面仍有不足。卷积神经网络在英语中被称为CNN。它通常应用于各种领域

    首先,卷积是什么意思?卷积指的不是处理每个像素,而是处理图像区域。这种方法增强了图像的连续性,看到的是图形而不是点,也加深了神经网络对图像的理解。

    卷积神经网络批量过滤器,连续滚动图片收集信息,每次搜索都是一小块信息,将这一小块信息整理出来就得到边缘信息。例如,第一次获得眼睛和鼻子的轮廓,然后经过另一次过滤将面部信息进行汇总,然后将信息放入整个神经网络中进行训练,最后对分类结果进行重复扫描。如下图所示,一张猫的照片需要转换成数学形式,并存储在长、宽、高中,其中黑白照片的高度为1,彩色照片的高度为3(RGB)。

    过滤器收集这些信息,并将得到一个更小的图片。压缩后,将增加的信息嵌入到公共神经层,最终得到分类结果。这个过程就是卷积。Convnets是一个在空间共享参数的神经网络。如下图所示,它压缩并增加了一个RGB图片,以获得一个长的结果。

    近年来,神经网络发展迅速。其中一个最重要的原因是CNN卷积神经网络,这也是计算机视觉处理的一个飞跃。关于美国有线电视新闻网在天梭流,谷歌也制作了一个非常精彩的视频教程,并建议大家学习。

    谷歌官方卷积神经网络介绍视频-尤达学习城

    2。美国有线电视新闻网原理

    这篇文章主要解释如何应用美国有线电视新闻网。让我们先简单看看美国有线电视新闻网是如何处理信息的。参考谷歌的官方视频介绍,我强烈建议你学习。

    假设你有一张小猫的图片,如下图所示,它可以被表达为一个煎饼,它有宽度和高度,并且由于红色、绿色和蓝色这三种自然的颜色,它也有RGB深度。此时,您的输入深度是3。

    假设我们现在拿出一小块图片,运行一个有k个输出的小神经网络,如图所示,将输出表示为一个小的垂直列。

    在不改变重量的情况下,通过一个小的神经网络滑动整个图片,就像我们用刷子水平和垂直滑动一样。

    此时,输出绘制另一幅图像,如下图中的红色区域所示。它不同于以前的宽度和高度。更重要的是,它不同于之前的深度,而不仅仅是红色、绿色和蓝色。现在你有了K个颜色通道。这种运算称为卷积。

    如果你的块大小是整个图片,它与普通的神经网络层没有什么不同。正是因为我们使用小积木,所以我们有许多小积木,它们在空间中的重量更小。卷积并不处理每个像素,而是处理图像区域,这增强了图像的连续性并加深了神经网络对图像的理解。卷积网络是形成深度网络的基础。我们将使用多层卷积代替多层矩阵乘法。如下图所示,让它形成一个金字塔形状。金字塔的底部是一张非常大且很浅的图片,只包括红色、绿色和蓝色。通过卷积运算,空间的维数逐渐压缩,同时深度不断增加,深度信息基本上可以表达复杂的语义。同时,你可以在金字塔的顶端实现一个分类器,所有的空间信息都被压缩成一个标志,只有图片被映射到不同类型的信息,这是美国有线电视新闻网的总体想法。

    首先,这是一张彩色图片,其中包括三原色。图像的长度和宽度是256*256。这三层分别对应于红色(R)、绿色(G)和蓝色(B),也可视为像素点的厚度。

    其次,美国有线电视新闻网将图片的长度和宽度压缩成个正方形。压缩方法是减少图片的长度和宽度,从而增加厚度。

    再次,继续压缩到,直到,这时它变成一个非常厚的长方块,我们在这里称之为分类器。分类器可以预测我们的分类结果。MNIST手写数据集的预测结果为10个数字

    如果你想实现它,你必须正确认识许多细节。此时,你已经接触到了块和深度的概念。PATCH有时被称为KERNEL。如下图所示,您堆叠的每个煎饼都称为要素地图。这里,三个特征被映射到K个特征映射中。PATCH/KERNEL的功能是从图片中提取一小部分进行分析,每个提取的小部分将成为长度、宽度和厚度的序列。

    你需要知道的另一个概念是STRIDE。它是当您移动或拉开滤镜时移动的像素数量,以及一次拉开图片中像素的步数。

    如果STRIDE STRIDE等于1,则意味着STRIDE中的每1个像素都会被拉开,并且所获得的大小与输入值基本相同。

    如果STRIDE STRIDE等于2,则意味着一次拖动2个像素点,这意味着变成一半大小。它收集的信息将减少,图片的长度和宽度将被压缩并合并成一个更小的立方体。

    被压缩,然后合并成一个立方体,它是一个较小的立方体,包含图片中的所有信息。

    提取图片信息的方法称为PADDING,通常分为两种类型:

    VALID PADDING:提取的图层比原始图层稍宽稍长,提取的内容都在图片内部。

    SAME PADDING:提取图层的长度和宽度与前一张图片相同。提取的内容部分在图片外部用0填充。

    研究发现,一些信息将在卷积过程中丢失。例如,我们现在想分两步将重要信息从原始图片中分离出来,形成一个长度和宽度较小的图片。在这个过程中,重要的图片信息可能会丢失。为了解决这个问题,可以避免POOLING。方法是:在卷积时不再压缩长度和宽度,保证尽可能多的信息,把压缩工作交给POOLING。在图像被卷积之后,卷积的信息被保存,然后卷积的信息被再次保存。结果被传送到两个完全连接的神经层,最后由分类器识别猫或狗。

    小结:整个CNN自下而上经历了“图像-卷积-保持-卷积-保持-结果传递到两层完全连通的神经层-分类器”的过程,最终实现了一个CNN分类过程。

    IMAGE Picture

    VOLUTION Layer

    MAX POOLING将原始图像信息保存得更好

    VOLUTION Layer

    MAX POOLING将原始图像信息保存得更好

    FULL CONNECTED Neuro Network Hidden Layer

    FULL CONNECTED Neuro Network Hidden Layer

    The DISCHENDER

    在此处写道。有线电视新闻网的基本原则已经解释。我希望你能对美国有线电视新闻网有一个初步的了解。同时,建议在处理神经网络时,先用一般的神经网络对其进行训练。如果结果很好,就没有必要使用有线电视新闻网,因为有线电视新闻网的结构相对复杂。

    2。Keras实现有线电视新闻网

    然后我们将解释如何用Keras代码写有线电视新闻网。

    1。代码实现

    第一步,打开Anaconda,然后选择构建的“tensorflow”环境并运行Spyder。

    Step 2,导入扩展包。

    步骤3,加载MNIST数据并预处理。

    x _ train.reshape (-1,1,28,28)/255

    归一化每个像素点,并将其从0-255转换为0-1的范围。

    NP _ UTILS。至分类(Y _ TRAIN,NB _ CLASSES=10)

    调用up_utils将类别标签转换为10个长度的值。如果数字为3,则在相应的位置标记为1,在其他位置标记为0,即{0,0,0,1,0,0,0,0,0,0}。

    因为MNIST数据集是Keras或TensorFlow的样本数据,我们只需要下面一行代码来读取数据集。如果数据集不存在,将在线下载;如果数据集已经下载,它将被直接调用。

    步骤4,创建神经网络的第一层和汇集层。

    小方块的长度和宽度是5,大小是1,图片的厚度是1,输出高度是32。conv1的输出是28 * 28 * 32,因为填充是“SAME”的形式,conv1的输出是32,所以厚度是32,长度和宽度是28。但是,由于POOLING处理设置的步长为2,其输出大小也会发生变化,结果为14 * 14 * 32。

    核心代码如下。卷积层使用卷积2D,池层使用最大池2D。

    nb_filt

    Nb_col表示高度5

    border_mode表示过滤,相同的方法

    input _ shape表示输入形状,1个高度,28个长度和28个宽度

    为了防止跨度太大和丢失太多的东西,这里增加了POOLING过程,步长值为2,跨度减小。最终结果的形状是相同的,但它可以保留更多的图片信息。

    步骤5,创建第二层神经网络和样本。

    conv2将patch定义为5*5,传入大小为32,传出大小为64,并不断加厚,如下图所示。图像的最早厚度是1(MNIST数据集是黑白图像,如果是彩色图像,则为3),然后第一层的厚度变为32,第三层的厚度增加到64。

    此时,conv2的输出为14 * 14 * 64,POOLING处理的第二层将继续缩小一半,POOLING的输出为7 * 7 * 64,高度相同。

    步骤6,建立一个完整的连接层。

    输入值为conv2 layer的输出值7 * 7 * 64,输出值为1024,使其更高更厚。然后,第二个全连接层的输出被分为10个类别标签。

    这是神经网络的简要总结:

    conv1层:经过卷积和POOLING处理后,最终输出为14 * 14 * 32

    conv2层:经过卷积和POOLING处理后,最终输出为7 * 7 * 64

    func1层:常用的神经网络,输入为7 * 7 * 64。最终输出1024

    func2层:通常的神经网络、输入1024和最终输出10(代表10个数字)是预测的第七步。定义优化器并激活神经网络,然后进行训练预测,并输出相应的结果。

    2。完整代码

    3。运行结果

    训练一批的结果如下图所示。最终误差损失为“0.”,正确率为“0.”。两批

    培训结果如下图所示。最终误差损失为“0.”,正确率为“0.”。六批

    培训结果如下图所示。最终误差损失为“0.”,正确率为“0.”。我们可以看到误差在减小,准确度在提高,这表明美国有线电视新闻网在不断学习。在做神经网络实验时,我们会比较不同的参数、样本和算法,希望本文对你有所帮助。

    3。结论

    写在这里,这篇文章就结束了。本文主要通过Keras实现了一个CNN分类学习案例,并详细介绍了卷积神经网络的原理知识。最后,我希望这篇基础文章对你有所帮助。如果文章中有任何错误或不足,也请询问韩海~作为一个人工智能的新手,我希望能不断进步并深入其中,然后将其应用于图像识别、网络安全、对抗样本等领域。指导每个人写简单的学术论文,一起振作起来!

    老师不会停止教学,学生不会停止学习。虽然疫情严重,但新学期的课程已经开始,现场教学效果相当好。学生们积极交流和学习。武汉的老师们一直在努力工作,一线医务人员也一直在努力工作。白色的裙子是倒退的,中国人是无与伦比的。他们会赢的!今年的高考学生振作起来,你的留言也很感动。“现在我们仍在白衣民族英雄和天使的保护下。在未来,我们将成为他们,并为世界和人民建设我们的心。”

    在二月份写了一些关于Python人工智能和网络安全的文章。我也希望那些有兴趣并且还没有开始上学的人可以阅读它们。最后,我感谢大家在过去40天的投票和支持,感谢女神和她的家人的游说。张绣除了更用心地写文章来帮助更多的人和鼓励他们在一起之外,什么也没想。

    (By:Eastmount 2020-02-19,桂阳,晚上10:00)

    安托人工智能系列的作者:

    [蟒蛇人工智能]一.神经网络介绍和安托基本代码解释

    [蟒蛇人工智能]二.茶氨酸实现回归神经网络分析

    [蟒蛇人工智能]三。实现分类神经网络和机器学习的基础

    [Python人工智能] IV。神经网络和深度学习的基础知识

    [蟒蛇人工智能] 5。茶氨酸使神经正常化

    [4]网易墨韵粉丝教师视频(催我付钱支持教师)

    [5][蟒蛇人工智能]八。美国有线电视新闻网卷积神经网络原理详解及美国有线电视新闻网作者:TensorFlow

    [6]机器学习实战-——MNIST手写数字识别-跑步烂

    [7西乌坎/美国有线电视新闻网_ MNIST

    [8

    -

    友情链接: