深度学习中最令人兴奋的畛域之一就是计算机视觉。通过卷积神经网络CNN(Convolutional Neural Networks),咱们曾经可能创立主动驾驶零碎、面部检测零碎和主动医学图像剖析等。但如果不是业余的数据工程师与行业人员,您简直没有机会理解CNN。明天,本文将从实践与实际两种形式,率领各位来理解CNN的外部结构,以及CNN是如何实现具体性能的。
01
第一局部:卷积神经网络CNN
什么是卷积神经网络
咱们经常据说的神经网络,全名人工神经网络ANN(Artificial Neural Network),是一种模拟生物神经网络的构造和性能的数学模型或计算模型。而卷积神经网络CNN是一种前馈神经网络,在图像处理方面CNN的体现非常杰出。
为什么应用卷积神经网络?
全连贯神经网络不适宜用于解决图像,因为会有以下三方面的问题:没有利用像素之间地位信息;参数过多效率低下,训练艰难;大量的参数导致网络过拟合。
应用卷积神经网络CNN能够解决下面的问题。CNN在原来的全连贯层后面退出多个卷积层、激活函数与池化层,其中每层的神经元将只与前一层中的一小块区域连贯,而不是采取全连贯形式,防止参数爆炸的同时扩大了神经网络的层数,使深度学习成为可能。
传统神经网络(左)与卷积神经网络CNN(右)
工作原理
卷积神经网络CNN中次要由输出层、卷积层、激活函数、池化层以及全连贯层组成。CNN的工作原理相似大脑辨认图像的过程,不同的大脑区域能够辨认图像不同维度的特色。CNN中的每个卷积层都蕴含多个卷积核。这些卷积核从左到右,从上到下扫描整个图像以失去特色图。在通过多个卷积层的计算后能够失去图像在不同维度的形象示意,从而获取图像特色以辨认图像。
卷积计算示意图(图片起源:github mlonotebook)
为了让各位对CNN有一个具体的印象,接下来本文将对CNN的每一层进行解说。
卷积层
通过卷积层,咱们能够实现对图像的去噪、锐化、边缘检测、含糊等操作,从而达到提取图像不同特色的目标。
在卷积层中,蕴含多个可学习的卷积核,让上一层输入的特色图与卷积核进行卷积操作,即输出项与卷积核之间进行点积运算,而后将后果送入激活函数,就能够失去输入特色图。
以下图为例。图中输出图像大小为32323,3是它的深度(RGB),卷积层的卷积核大小为553。通过一个卷积核与输出图像的卷积就能够失去一个28281的特色图。
卷积计算示例
第一层卷积层只能提取一些低级的特色,如边缘、线条和角等层级,而更多层的网路就能从低级特色中迭代提取更简单的特色。
下图是输出图像别离通过1个/2个/3个卷积核卷积后输入的特色图,能够看到通过迭代后咱们取得了更深层次的特色图。
卷积特色图
通过卷积核,CNN能够提取图片的一部分,相当于传统神经网络的一个特色。多个卷积核对应多个特色,产生多个特色的同时应用卷积的形式防止了参数爆炸。
激活函数
激活函数又称非线性映射。若干线性操作层(卷积层)的重叠只能起到线性映射的作用,无奈造成简单的函数。激活函数能够引入非线性因素,减少整个网络的表达能力。因而每次卷积实现后,都须要应用激活函数对后果进行解决。
常见的激活函数有Sigmoud、tanh、Maxout以及咱们最罕用的Relu等。
常见的激活函数
以ReLu为例,该函数能够将图片中的负像素值替换为零,以此对特征提取的后果进行修改。
ReLu解决特色图像
池化层
池化层又称下采样层,次要的作用是对激活函数解决后的后果进行降维,压缩数据和参数的量来保留最显著的特色,避免过拟合。
以罕用的最大池化为例,在最大池化过程中,输出图像大小为44,在每22的区域中计算最大值。最初输入的池化特色大小为2*2,这个过程中分辨率变为原来的一半。
最大池化示例
全连贯层
全连贯层能够把所有部分特色通过权值矩阵从新整合为一个残缺的特色视图,其输入值能够采纳softmax分类器进行分类。
全连贯层示意图
Softmax分类器罕用于多分类工作,它能够将多个神经元的输入映射到(0,1)的区间中,以概率的模式实现多分类。
Dropout函数
Dropout函数是指在深度学习网络的训练过程中,让某个神经元的激活值以肯定的概率p进行工作。这样能够使模型泛化性更强,因为它不会太依赖某些部分的特色。
Dropout函数示例
02
第二局部:试验
试验——手写数字辨认
读完了下面的内容,置信您对卷积神经网络CNN有了初步的理解。接下来,本文将通过试验的形式直观地展示CNN的搭建,训练以及测试过程。
本试验将在Sophon Base中构建一个简略的卷积神经网络,并应用一部分MNIST数据集训练它辨认手写数字。
- 数据集介绍
MNIST数据集蕴含60000个训练集和10000测试数据集。分为图片和标签,图片是28*28的像素矩阵,标签为0~9共10个数字。
MINST数据集
本次试验应用的数据集为Sophon Base平台提供的images_small_minst数据集,该数据集选取了MINST数据集的一小部分图片,训练集加测试集总共500个。具体字段如下所示:
small_minst数据集
- 试验环境
星环科技Sophon Base数据迷信平台
- 开始试验
在创立我的项目之前,本文默认您的sophon平台及各种配置文件曾经胜利装置,失常运行,并且您已胜利注册sophon 用户。
进入我的项目首页,点击 “+新建我的项目” 以新建一个我的项目。
在我的项目首页,点击创立好的我的项目。点击左侧的试验,点击试验以新建空白试验。试验创立后会主动进入该试验界面。
从左侧将算子“images_small_minst”、“字符串索引”、“设置角色”、“人工神经网络”、“利用模型”、“性能(分类)”拖动至右侧工作区并依照下图进行连贯:
算子连贯示意图
算子的连贯也能够参考下方视频进行操作:
,时长00:59
主流程算子连贯
算子参数设置如下:“字符串索引” 算子
算子的参数配置也能够参考下方视频进行操作:
,时长01:06
主流程参数配置
能够抉择 “人工神经网络” 算子,右键菜单点击 “重命名”,重命名该算子为 “卷积神经网络CNN”:
右键菜单
重命名后双击该算子,进入子流程:
神经网络算子子流程
能够看到子流程中空无一物,须要您本人搭建子流程。
- 搭建模型
从左侧将多个 “2D卷积层” 算子与 “最大池化层2D” 算子拖动至右侧并依照下图连贯:
子流程算子连贯1
子流程中算子的连贯也能够参考下方视频进行操作:
,时长01:13
子流程算子连贯
参数设置如下:“2D卷积层” 算子
所有的 “2D卷积层” 算子与 “最大池化层2D” 算子都沿用以上参数设置。
至此,咱们曾经在神经网络算子中设立了三层。最开始的 “2D卷积层” 算子与 “最大池化层2D” 算子作为第一层;第二个 “2D卷积层” 算子作为第二层;最初的 “2D卷积层” 算子与 “最大池化层2D” 算子作为第三层。
神经网络前三层
接下来,将“压平”算子拖动至右侧,将“最大池化层2D”算子的输入连贯至“压平”算子的输出。“压平”算子能够将多维的输入一维化:
“压平”算子连贯
而后,从左侧将多个 “Dense层” 算子(全连贯层算子)与 “Dropout层” 算子拖动至右侧并依照下图连贯:
子流程算子连贯2
参数设置如下:“Dense层” 算子
所有的 “Dense层” 算子与 “Dropout层” 算子都沿用以上参数设置。
以上算子的参数也能够参考下方视频进行操作:
,时长00:25
子流程算子参数配置
至此,咱们曾经在神经网络算子中设立了五层。最开始的 “Dense层” 算子与 “Dropout层” 算子作为第四层;最初的 “Dense层” 作为第五层。
神经网络后2层
最初,从左侧将 “Softmax函数” 算子、“穿插熵(Sparse vs login)” 算子与 “ReduceMean函数” 算子拖动至右侧并依照下图连贯:
子流程算子连贯3
这三个算子能够帮忙模型计算模型损失和多分类概率。至此,子流程搭建实现。
- 运行试验
退出后回到主流程,咱们能够间接点击上方的执行按钮运行试验。运行过程须要一段时间。
运行实现后,能够跳转到试验后果:
混同矩阵
正确率与召回率
因为平台提供的样例数据集中数据量较少,训练出的模型正确率较低。如果有须要,您能够本人筹备数据集导入。Sophon Base除了跟Transwarp Data Hub做深度对接以外,还反对多种数据源,包含RDBS、HDFS、ORC、Parquet、本地CSV等。另外,本文中算子的参数设置与模型搭建仅供演示应用,您能够依据本人的须要改良模型或调整参数以求失去更优良的模型。
您也能够在试验后果页面查看到模型对每个测试数据的预测后果:
测试后果
对于Sophon
Sophon是一款一站式人工智能平台。该平台蕴含3个次要模块:Sophon Base,Sophon Edge,Sophon KG。其中Sophon Base 数据迷信根底平台具备残缺的数据摸索、多数据源接入、试验调度、智能剖析、用户资产以及平台治理等性能;为用户提供残缺的模型上线闭环,全流程图形化帮忙用户更加便捷地对线上服务进行治理,实现模型价值。
如果想要应用sophon实际操作,能够登录网址https://cloud.transwarp.cn/home 进行查看。
进入首页-下拉至Sophon查看详情-点击申请试用-即可收费取得7天应用权限
03
第三局部:其余抉择
“我感觉训练模型太麻烦了,有没有能够拿过去间接用的产品,而且要多场景,高效率,高准确度!”
对于这些客户,Sophon OCR能够完满满足需要。
Sophon OCR是星环科技人工智能产品Sophon旗下的一款企业级轻量化OCR平台。Sophon OCR基于自主研发的高性能算法,能够实现全行业、多场景的高效OCR辨认,并确保极高的辨认效率。它提供全文辨认、自定义辨认以及规范辨认三种识别模式,满足不同场景的辨认须要。
在金融畛域,Sophon OCR能够对身份证、银行卡等金融相干卡证类进行准确辨认、提取、录入,解决用户信息疾速录入与认证;也可能对财险、医疗保险、车险等所需的多场景固定版式单据和信息进行自动识别,实现疾速核保。
银行卡辨认
保险单据辨认
在财务畛域,Sophon OCR反对扫描并自动识别各种票据,如发票、支票、银行票据等,提取票据上的文字、数字及呈现频率较高的印章笼罩文本等信息匹配到凭证模板,并在零碎中生成凭证;扫描的纸质票据在生成凭证时主动存储为凭证的电子附件,并上传至云端存储,实现财务附件的电子化治理。
单据辨认1
单据辨认2
在法务畛域,Sophon OCR反对对企业外部法务合同的扫描件、司法行业卷宗管理系统的卷宗进行OCR辨认、分类、在线校对与电子化存储。对固定版式的文本和表格混合的简单卷宗,应用自定义辨认提取版式模板,获取更为准确的辨认后果,应用作业流审校性能保障辨认后果的相对精确,无效晋升办公效率。
合同审核
卷宗治理
在其余畛域Sophon OCR也能发挥作用,Sophon OCR能够对实时流媒体数据进行解析,精确辨认出图像中车牌地位,输入车牌地位坐标、车牌类型、车牌号码、车牌号码置信度、车牌置信度等字段信息,解决为结构化数据后对接到业务零碎。
车牌辨认
另外,Sophon OCR能够辅助人工录入,躲避如设施型号、序列码是较长的数字、字母序列,人工录入出错的危险,辅助实现资产信息化,高效治理企业资产。
————————————————
版权申明:本文为CSDN博主「星环科技」的原创文章,遵循CC 4.0 BY-SA版权协定,转载请附上原文出处链接及本申明。
原文链接:https://blog.csdn.net/mkt_tra...