如何自定义深度学习神经网络

前言

深度学习(DL, Deep Learning)是机器学习(ML, Machine Learning)领域中一个新的研究方向,它被引入机器学习使其更接近于最初的目标——人工智能(AI, Artificial Intelligence)

深度学习与神经网络

神经网络:一种可以通过观测数据使计算机学习的仿生语言范例

深度学习:一组强大的神经网络学习技术

        神经网络和深度学习目前提供了针对图像识别,语音识别和自然语言处理领域诸多问题的最佳解决方案。传统的编程方法中,我们告诉计算机如何去做,将大问题划分为许多小问题,精确地定义了计算机很容易执行的任务。而神经网络不需要我们告诉计算机如何处理问题,而是通过从观测数据中学习,计算出他自己的解决方案。今天,深度神经网络和深度学习在计算机视觉、语音识别和自然语言处理等许多重要问题上取得了出色的表现。

初识神经网络

人类的视觉系统是世界上最棒的系统之一,比如下列一串手写数字:

【结果】:504192

      大多数人都可以一眼看出它是504192。在我们大脑的每一个半球,都有主要的视觉皮质V1V1,它包含了1.4亿个神经元,在这些神经元之间有数百亿的接触。然而人类的视觉不仅仅包含了V1V1,而是一系列的视觉皮质V1,V2,V3,V4,V5V1,V2,V3,V4,V5,逐步进行更复杂的图像处理。我们大脑里有一台超级计算机,通过数亿年的进化,可以很好的适应这个视觉世界。识别手写数字并不容易,我们人类惊人地可以理解我们眼睛所看到的东西,但这些工作都是在我们不知不觉中就完成了,我们根本不知道我们大脑完成了多么负责的工作。

手写体数字识别是图像识别领域中一种常见的任务

        神经网络解决这类问题通过不一样的方式。思想是把大量的手写数字作为训练样本,然后生成一个可以通过训练样本学习的系统。换句话说,神经网络使用样本自动地推断出识别手写数字的规则。此外,通过增加训练样本的数量,该网络可以学到更多,并且更加准确。

神经网络的架构

先解释一下网络中的各部分的专业术语。假设我们有一个网络:

基础神经网络结构

      最左边的一层称为输入层,位于这一层的神经元称为输入神经元。最右边的输出层包含了输出神经元,本例只有一个输出神经元。中间的层被称为隐藏层,因为这些神经元既不是输出也不是输入。隐藏层听起来很神秘,但是他其实就只意味着既不是输入也不是输出而已。上图的神经网络中只包含了一个隐藏层,但是有些网络有许多隐藏层,比如下图的四层网络结构,含有两个隐藏层:

深度神经网络架构

      网络中的输入和输出层一般都被设计的很简单。比如:假设我们试图识别一幅图像是否是9,一个自然的方法就是将该图片的灰度值编码作为神经元的输入。如果这个图片是64X64的灰度图,那么我们的输入神经元就有64X64=4096个输入神经元,它的值随着灰度在0到1里适当的变化。输出神经元只有一个,输出的值小于0.5表示这个数字不是9,反之就是9.

        虽然输入输出层的设计很简单,但是隐藏层的设计却是门艺术。我们不可能通过一些简单的经验法则来总结隐藏层的设计过程。相反,神经网络的研究人员已经开发了隐藏层的许多的最优设计规则,这可以帮助人们从他们的网络中的到预期的行为。

深度神经网络搭建神器Tensorflow2.0 与 Pytorch

        最初Tensorflow在1.x的版本上基于静态图的概念搭建神经网络的训练的,那时相比Pytorch而言在调试上可谓是比较不便。2.0之后Tensorflow才将架构转向动态图的理念。由于Pytorch的入门已比较容易,那接下来我们就使用Tensorflow2.0来创建一个简单版深度学习神经网络:

首先: Anaconda和TF2.0环境安装

然后: 搭建一个一层卷积层,一层池化层,和2个全连接层的基础神经网络:

shape为[32,32,3]的一张图像作为输入,进入一层自定义的Con2D卷积
上一层的输出结果进入下一层自定义的平均池化层
对池化输出做BN归一化处理,并将所有特征进行展平
展平后结果进入两个全连接层,最后得10分类的softmax输出置信度概率矩阵
模型经实例化后可被外部调用,按面向对象法则进行构造和参数传递

最后: 打印一下该基础神经网络的网络信息:

可以清晰看出每一层的维度和尺寸信息,为None的地方代表未定义bitchsize

至此一个深度学习神经网络就搭建好了。经典的深度学习神经网络比方说Resnet(18,34,50,101,152), MobileNet(v1,v2,v3)......等网络结构各不相同。可以使用迁移学习在tf.karas中找到已经官方话的神经网络模板,也可以自定义按上文索迹进行自我搭建。目的,都是一样:对图像中的特征信息进行提取,归类。不同的神经网络模型各自经过千百次实验,效果最佳的神经网络和输入参数被筛选和保留下来用做后续AI任务和发展贡献。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343