深度学习入门(二):神经网络整体架构

news2024/11/13 15:19:13

一、前向传播

作用于每一层的输入,通过逐层计算得到输出结果

二、反向传播

作用于网络输出,通过计算梯度由深到浅更新网络参数
在这里插入图片描述

三、整体架构

层次结构:逐层变换数据
神经元:数据量、矩阵大小(代表输入特征的数量)

x : [ 1 , 3 ] x:[1,3] x[1,3]
w 1 : [ 3 , 4 ] w_1:[3,4] w1[3,4]
h i d d e n l a y e r 1 : [ 1 , 4 ] hidden layer1:[1,4] hiddenlayer1[1,4]
w 2 : [ 4 , 4 ] w_2:[4,4] w2[4,4]
h i d d e n l a y e r 2 : [ 1 , 4 ] hidden layer2:[1,4] hiddenlayer2[1,4]
w 3 : [ 4 , 1 ] w_3:[4,1] w3[4,1]
在这里插入图片描述

非线性操作加在每一步矩阵计算之后,增加神经网络的非线性。没有激活函数的每层都相当于矩阵相乘。就算你叠加了若干层之后,无非还是个矩阵相乘罢了。

在这里插入图片描述

四、神经元个数对结果的影响(Stanford例子)

Stanford可视化的神经网络,可以自行调参数试试

1、 num_neurons:1

将神经元设置为1,查看效果

layer_defs = [];
layer_defs.push({type:'input', out_sx:1, out_sy:1, out_depth:2});
layer_defs.push({type:'fc',  num_neurons:1, activation: 'tanh'});
layer_defs.push({type:'fc', num_neurons:1, activation: 'tanh'});
layer_defs.push({type:'softmax', num_classes:2});

net = new convnetjs.Net();
net.makeLayers(layer_defs);

trainer = new convnetjs.SGDTrainer(net, {learning_rate:0.01, momentum:0.1, batch_size:10, l2_decay:0.001});

查看circle data,可以看出效果不佳,看上去像切了一刀。
在这里插入图片描述

2、 num_neurons:2

将神经元设置为2,查看效果

layer_defs = [];
layer_defs.push({type:'input', out_sx:1, out_sy:1, out_depth:2});
layer_defs.push({type:'fc', num_neurons:2, activation: 'tanh'});
layer_defs.push({type:'fc', num_neurons:2, activation: 'tanh'});
layer_defs.push({type:'softmax', num_classes:2});

net = new convnetjs.Net();
net.makeLayers(layer_defs);

trainer = new convnetjs.SGDTrainer(net, {learning_rate:0.01, momentum:0.1, batch_size:10, l2_decay:0.001});

查看circle data,可以看出效果一般,看上去像切了两刀,抛物线状。
在这里插入图片描述

3、 num_neurons:3

将神经元设置为3,查看效果

layer_defs = [];
layer_defs.push({type:'input', out_sx:1, out_sy:1, out_depth:2});
layer_defs.push({type:'fc', num_neurons:3, activation: 'tanh'});
layer_defs.push({type:'fc', num_neurons:3, activation: 'tanh'});
layer_defs.push({type:'softmax', num_classes:2});

net = new convnetjs.Net();
net.makeLayers(layer_defs);

trainer = new convnetjs.SGDTrainer(net, {learning_rate:0.01, momentum:0.1, batch_size:10, l2_decay:0.001});

查看circle data,可以看出效果较好。
在这里插入图片描述

五、正则化

正则化 R ( w ) R(w) R(w)的作用:稳定时出现平滑边界
在这里插入图片描述

六、参数个数对结果的影响

在这里插入图片描述

七、激活函数

S i g m i o d Sigmiod Sigmiod:数值较大或较小时,梯度约为0,出现梯度消失问题
R e l u Relu Relu:当前主要使用的激活函数
在这里插入图片描述

八、数据预处理

在这里插入图片描述

九、参数初始化

通常我们都使用随机策略来进行参数初始化

十、DROP-OUT(传说中的七伤拳)

过拟合是神经网络非常头疼的一个问题!
左图是全连接神经网络,右图在神经网络训练过程中,每一层随机杀死部分神经元。DROP-OUT是防止神经网络过于复杂,进行随机杀死神经元的一种方法。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/802422.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

1400*B. Toy Blocks

Example input 3 3 3 2 2 4 2 2 3 2 3 0 3 0 output 1 0 3 解析: 对于某个盒子,我们用其余盒子的最大值 mx 乘以其余的盒子数量(n-1),再减去其余盒子当前的数量 ( sum-a[ i ] ),即为需要补上的数量 cnt…

某制造企业基于 KubeSphere 的云原生实践

背景介绍 随着业务升级改造与软件产品专案的增多,常规的物理机和虚拟机方式逐渐暴露出一些问题: 大量服务部署在虚拟机上,资源预估和硬件浪费较大;大量服务部署在虚拟机上,部署时间和难度较大,自动化程度…

RocketMQ工作原理

文章目录 三.RocketMQ工作原理1.消息的生产消息的生产过程Queue选择算法 2.消息的存储1.commitlog文件目录与文件消息单元 2.consumequeue目录与文件索引条目 3.对文件的读写消息写入消息拉取性能提升 3.indexFile1.索引条目结构2.文件名的作用3.查询流程 4.消息的消费1.推拉消…

思维导图怎么做?一份完整的思维导图绘制教程来了!

在信息爆炸的时代,如何高效地整理和消化信息是每个人都需要面对的问题。思维导图作为一种能够高效组织和呈现信息的工具,凭借其直观、易理解的特性,备受学生、教师、企业管理者、商业团队等许多人的青睐。那么,如何制作思维导图呢…

Python案例|使用Scikit-learn实现客户聚类模型

聚类是一种经典的无监督学习方法,无监督学习的目标是通过对无标记训练样本的学习,发掘和揭示数据集本身潜在的结构与规律,即不依赖于训练数据集的类标记信息。聚类试图将数据集划分为若干个互不相交的类簇,从而每个簇对应一个潜在…

适合运动时戴的蓝牙耳机有哪些?精选五款表现还不错的耳机

音乐能有效地激发人体潜能,充分释放能量,达到更好的运动效果,因此对于运动爱好者来说,运动耳机至关重要。面对产品种类众多的运动耳机,很多人都会感到迷茫,经常有人问“有什么适合运动的时候佩戴的耳机”&a…

健身用什么耳机好?分享几款适合健身时使用的耳机!

随着全民健身的热潮到来,运动耳机的种类也更加丰富。在众多入耳式耳机、半入耳式耳机、头戴式耳机等传统市场之中,诞生了一种新晋关注度极高的耳机骨传导耳机。这种不依赖空气传递声波,并且无需堵住耳朵的新奇聆听方式,不仅健康而…

ChatGPT | 分割Word文字及表格,优化文本分析

知识库读取Word内容时,由于embedding切片操作,可能会出现表格被分割成多个切片的情况。这种切片方式可能导致“列名栏”和“内容栏”之间的Y轴关系链断裂,从而无法准确地确定每一列的数据对应关系,从而使得无法准确知道每一列的数…

PySpark基本操作:如何查看源码

方法一: from pyspark.mllib.tree import GradientBoostedTrees import inspectsource_code inspect.getsource(GradientBoostedTrees) print(source_code) 方法二: GradientBoostedTrees — PySpark 3.4.1 documentation (apache.org) 在官网中&…

【网络原理】 (1) (应用层 传输层 UDP协议 TCP协议 TCP协议段格式 TCP内部工作机制 确认应答 超时重传 连接管理)

文章目录 应用层传输层UDP协议TCP协议TCP协议段格式TCP内部工作机制确认应答超时重传 网络原理部分我们主要学习TCP/IP协议栈这里的关键协议(TCP 和 IP),按照四层分别介绍.(物理层,我们不涉及). 应用层 我们需要学会自定义一个应用层协议. 自定义协议的原因? 当前的软件(应用…

途乐证券:纺织服装板块走强,金发拉比、红蜻蜓涨停,嘉曼服饰等大涨

纺织服装板块28日盘中强势上扬,到发稿,嘉曼服饰涨约17%,金发拉比、红蜻蜓涨停,日播时尚、如意集团、云中马涨约7%,比音勒芬、聚杰微纤等涨超5%。 数据显现,4月美国服装及服装面料批发商库存额与服装及服装配…

K8s-资源管理(二)

文章目录 2. 资源管理2.1 资源管理介绍2.2 YAML语言介绍2.3 资源管理方式2.3.1 命令式对象管理2.3.2 命令式对象配置2.3.3 声明式对象配置 2.4. 模拟使用普通用户来操作2.5 kubectl 一些基本命令2.6 使用个人的 docker 仓库的镜像 2. 资源管理 2.1 资源管理介绍 在kubernetes…

分享VMware Workstation Pro ESXI7创建虚拟机和配置硬盘空间(分享自己的学习历程意在帮助有需要的小伙伴)

背景:因公司项目需求改用VMware Workstation Pro,已经使用1个月目前除了中途出现过一次问题被解决后一直稳定运行至今, 1:这里贴出拿出现的问题提示及解决方法的链接:解决vmWare ESXI 7.3报错; 2:如果你是第一次接触VMware Work…

剑指offer63.股票的最大利润

这道题比我想象的简单,通过示例1可以发现,这个股票只能买卖一次,我以前写过一道题股票可以买卖多次比如示例1就可以1买5卖再3买6卖这样利润就是7,而这道题其实就是找一个小的数和它后面的大的数的差值,找出这个最大差值…

面试手写实现Promise.all

目录 前言常见面试手写系列Promise.resolve 简要回顾源码实现Promise.reject 简要回顾源码实现Promise.all 简要回顾源码实现Promise.allSettled 简要回顾源码实现Promise.race 简单回顾源码实现结尾 前言 (?﹏?)曾经真实发生在一个朋友身上的真实事件,面试官让…

网络应用技术师技能考试试题

♥️作者:小刘在C站 ♥️个人主页: 小刘主页 ♥️努力不一定有回报,但一定会有收获加油!一起努力,共赴美好人生! ♥️学习两年总结出的运维经验,以及思科模拟器全套网络实验教程。专栏&#xf…

2023秋招面试题持续更新中。。。

目录 1.八股文渐进式MVVM三次握手,四次挥手viteajax组件化和模块化虚拟dom原理流程浏览器内核浏览器渲染过程回流和重绘nextTick 2.项目相关1.声明式导航和编程式导航重写push和replace方法:性能优化图片懒加载路由懒加载 http请求方式 1.八股文 渐进式…

怎样快速实现一个发送邮件的接口?flask_mail库30行代码,快速实现

需求 实现了一个根据部门批量获取自动化行覆盖率,并与指标做diff的脚本,怎么才能第一时间通知给对应的人呢? 最先想到的一定是邮件发送(后边我在自己项目中接入的是公司内部的一个类似钉钉的服务号) 因为原本项目是用的flask,所…

DRUPAL 8.x远程代码执行漏洞(CVE-2018-7600)

事件背景 框架漏洞收集 CVE-2018-7600有两个POC分别是7和8的,本文仅研究8版本的POC,与其它的文章不同的事,本文我将数据流向调试并记录下来了 漏洞说明 1. 漏洞原理:Drupal对表单请求内容未做严格过滤,因此&#x…

900就能上8000MHz的DDR5内存,光威神策做到了

这是一款定位于高端国产DDR5电竞游戏内存条的产品,而且是来自国产品牌,频率可以达到8000MHz,设计也是相当惊艳,重点在于它的价格是真的香,有需要的朋友可以冲了。 光威近期发布了一款神策系列DDR5内存条,相…