反向传播

深度神经网络(DNN)的正则化

好久不见. 提交于 2020-08-05 07:52:17
    和普通的机器学习算法一样,DNN也会遇到过拟合的问题,需要考虑泛化,这里我们就对DNN的正则化方法做一个总结。 1. DNN的L1&L2正则化     想到正则化,我们首先想到的就是L1正则化和L2正则化。L1正则化和L2正则化原理类似,这里重点讲述DNN的L2正则化。     而DNN的L2正则化通常的做法是只针对与线性系数矩阵$W$,而不针对偏倚系数$b$。利用我们之前的机器学习的知识,我们很容易可以写出DNN的L2正则化的损失函数。     假如我们的每个样本的损失函数是均方差损失函数,则所有的m个样本的损失函数为:$$J(W,b) = \frac{1}{2m}\sum\limits_{i=1}^{m}||a^L-y||_2^2$$     则加上了L2正则化后的损失函数是:$$J(W,b) = \frac{1}{2m}\sum\limits_{i=1}^{m}||a^L-y||_2^2 + \frac{\lambda}{2m}\sum\limits_{l=2}^L||w||_2^2$$     其中,$\lambda$即我们的正则化超参数,实际使用时需要调参。而$w$为所有权重矩阵$W$的所有列向量。     如果使用上式的损失函数,进行反向传播算法时,流程和没有正则化的反向传播算法完全一样,区别仅仅在于进行梯度下降法时,$W$的更新公式。     回想我们在

图卷积神经网络 GCN 沈华伟(1 谱方法)

↘锁芯ラ 提交于 2020-08-05 02:13:40
视频连接: 2020 CCF 沈华伟 GNN 1. 概述 卷积神经网络的成功的原因:能够学习到数据中局部信息,通过局部化卷积核,实际上是一种参数共享的方式。 然后通过逐层堆叠的方式,把局部的卷积核变成多尺度的层次模式。从而实现特征学习的一个效果。 1.1 局部卷积核: 平移不变性,可以得到与位置无关的一些pattern 2. 卷积的迁移 2.1 难点 怎么将欧氏空间的卷积转移到非欧氏空间(non-Euclidean domain)中,比如说graph,其结构是非规则的难以定义卷积。 图像与网络: 我们可以想象为一个规则的网络,像素代表一个节点,其卷积核可以简单的定义。但是真实世界中的网络,要远比上述网络复杂。 真实网络节点的度分布差异非常大,有类似核心节点(微博大 V ),也有类似边缘节点,不像图像抽象出的网络只有上下左右存在度。 每个节点的邻居数不同,所以 很难定义满足平移不变性的卷积核 。这是图上定义卷积的很大的一个难点。 2.2 网络卷积的运用 CNN 迁移到图上定义图上,总体来说还是这两点: 如何定义图上的卷积;定义图上的pooling(下采样这样的操作),但是pooling和具体的任务相关,如果和节点相关,也就不需要下采样。 2.2.1 卷积: 两个函数点积之后,做积分,生成第三个函数 信号处理中,g即一个方波;f即为是个信号,横轴为时间。 离散情况下,如图像中

第一次作业:深度学习基础

旧巷老猫 提交于 2020-08-05 01:06:13
Part Ⅰ 视频学习心得及问题总结 1.绪论 1.1从专家系统到机器学习 1.1.1人工智能的发展经历了三个阶段:推理期、知识期、学习期。 知识工程/专家系统——根据专家定义的知识与经验,进行推理和判断,从而模拟人类专家的决策过程来解决问题。 机器学习——从数据中自动的提取出知识或模式。 1.1.2专家系统vs机器学习 专家系统 机器学习 基于手工设计规则建立专家系统 基于数据自动学习 结果容易解释 减少人工繁杂工作,但结果可能不易解释 系统构建费时费力 提高信息处理的效率,且准确率较高 依赖于专家主观经验,难以保证一致性和准确性 来源于真实数据,减少人工规则主观性,可信度高 1.2从传统机器学习到深度学习 1.2.1 传统机器学习 在实际应用中,特征比分类器更重要。原始数据经过数据预处理、特征提取、特征选择,最后经过分类预测识别得到最后的结果。在传统的机器学习中,人工会去手动的设计特征。 1.2.2 深度学习 在深度学习中,首先选择深度学习的模型以及模型的参数,然后把收集到的数据和选择好的模型交给计算机,让计算机去优化这个深度模型中的参数。在这个过程中,人工参与的部分比较少,可能只是在前期收集数据和选择深度模型有一定程度的参与。 1.3深度学习的能与不能 了解深度学习的能与不能,对我们拓展深度学习的应用的研究具有比较深刻的意义。 1.3.1 深度学习之能——视觉与语义结合

大白话5分钟带你走进人工智能-第39节神经网络之DNN网络的layer功能实现

∥☆過路亽.° 提交于 2020-08-05 00:17:17
目录 一、背景前言 二、DNN概述 三、手写DNN实现逻辑 四、调用Tensorflow代码构建DNN 五、模型保存和使用 六、提升准确率方案 七、引申和总结--零初始化,梯度消失和反向传播 一、背景前言 我们先看下SoftMax的代码: #!/usr/bin/python # -*- coding: UTF-8 -*- # 文件名: 12_Softmax_regression.py from examples.tutorials.mnist import input_data import tensorflow as tf # mn.SOURCE_URL = "http://yann.lecun.com/exdb/mnist/" my_mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)#从本地路径加载进来 # The MNIST data is split into three parts: # 55,000 data points of training data (mnist.train)#训练集图片 # 10,000 points of test data (mnist.test), and#测试集图片 # 5,000 points of validation data (mnist

第二次作业:卷积神经网络 part01

百般思念 提交于 2020-08-04 12:38:50
视频学习 机器学习的数学基础 特征向量形象化的描述: 对一个矩阵施加线性变换后,使矩阵发生尺度变化而不改变方向。 秩形象化的描述: 秩序,复杂度,一个数据分布很容易被捕捉,则秩小,很难被捕捉,则秩大。 数据降维: 只保留前R个较大奇异值及其对应的特征向量(较大奇异值包含了矩阵的主要信息)。 低秩近似 :保留决定数据分布的最主要的模式/方向(丢弃的可能是噪声或其他不关键的信息)。 概率/函数形式的统一: 问题补充: 逐层训练时,在训练下一层时,会冻结上一层的参数。 逐层预训练初始化参数是为了更好的初始化,使其落到比较好的区域里面。 策略设计:训练误差->泛化误差 免费午餐定理: 奥卡姆剃刀原理: “如无必要,勿增实体”, 即“简单有效原理”。如果多种模型能够同等程度地符合一个问题的观测结果,应选择其中使用假设最少的->最简单的模型。 欠拟合和过拟合的解决办法: 频率学派VS贝叶斯学派: 频率学派VS机器学习方法: 卷积神经网络基本组成结构 卷积神经网络的应用: 分类、检索、检测、分割人脸识别、人脸验证、人脸表情识别、图像生成图像风格转换、自动驾驶。 传统神经网络VS卷积神经网络: ​ 深度学习的三部曲: ​ 1.搭建神经网络结构 ​ 2.找到一个合适的损失函数 ​ 3.找到一个合适的优化函数,更新参数 ​ 损失函数: ​ 全连接网络处理图像的问题:参数太多:权重矩阵的参数太多-

深度学习笔记

牧云@^-^@ 提交于 2020-07-29 11:31:37
第一讲 深度学习概述 1.1 深度学习的引出 特点: 通过 组合低层特征 ,形成了更加抽象的 高层特征 。 表达式中的 u,w参数需要在训练中通过 反向传播多次迭代调整 ,使得整体的 分类误差最小 。 深度学习网络往往 包含多个中间层(隐藏层) ,且网络结构要更复杂一些。 1.2 数据集及其拆分 Iris(鸢尾花)数据集 分类特征:花萼和花瓣的宽度和长度 数据集在数学上通常表示为 $\{(x_1,y_1),(x_2,y_2),...,(x_i,y_i),...,(x_m,y_m)\}​$ 其中 $x_i$ 为样本特征。由于样本(即一行)一般有多个特征,因而 $x_i = \{x_i^1, x_i^2,..., x_i^n\} ​$ 而 $y_i$ 表示 样本i 的 类别标签 。 类别标签的ground truth 与 gold standard ground truth :翻译为地面实况。机器学习领域一般用于表示 真实值、标准答案 等,表示 通过 直接观察收集到 的真实结果。 gold standard :金标准,医学上一般指诊断疾病 公认的最可靠的方法 。 机器学习领域更倾向于使用ground truth,如果用gold standard则表示可以很好地代表ground truth。 1.21 数据集与有监督学习 有监督学习中数据通常分成 训练集 、 测试集 两部分。 训练集(

图数据表征学习,绝不止图神经网络一种方法

泪湿孤枕 提交于 2020-07-29 02:29:51
      作者 | Mr Bear    编辑 | 丛 末   近年来,图神经网络掀起了将深度学习方法应用于图数据分析的浪潮。不过其作为一门古老的认识世界的方法论,人们对于图数据表征技术的研究从很早以前就开始了。   图数据表征学习,远不止图神经网络一种方法。   本文是一篇出自帝国理工学院的图表征学习综述,详细介绍了图核、卷积、图神经网络、图嵌入、概率模型共五类图表征学习方法的起源与发展,并对图数据表征学习方法的最新进展和未来发展方向进行总结和讨论。      原文地址:https://arxiv.org/abs/1906.02989    1    引言   将数据构造为图的形式可以帮助我们以一种系统化的方式研究如何发掘复杂的关系和模式。例如,互联网图展示出了给定网页间高频链接的复杂结构;在自然语言处理领域中,人们有时以树的形式表征文本,理解单词之间的联系,从而推断出句子的意义。   然而,机器学习领域的研究主要关注于向量形式的表征,而真实世界中的数据并不能很轻易地被表征为向量。现实世界场景下复杂图结构的例子包括:生物学网络、计算机网络、传感器网络、社交网络、论文引用网络、电力网络和交通网络。通过使用基于图的表征,我们可以捕获结构化数据的顺序、拓扑、集合和其它关系特性。   神经网络是通用的函数近似器。近年来的研究进展表明,深度学习模型已经在语音识别、目标识别与探测

Curve-GCN:图卷积网络用于活动轮廓演变

﹥>﹥吖頭↗ 提交于 2020-07-29 02:28:55
CNN做分割需要处理数据量很大的grid数据,需要对所有点的label进行预测,而且传统CNN并不会结合点与点之间的联系。 使用图结构建模分割轮廓或分割曲面,然后采用GCN,仿照传统的deformable model的方法对曲线或曲面进行迭代演变实现分割 ,是一种可行的方案。如何将曲线、曲面和它的演变过程,建模到GCN框架中?本文提到的论文提供了一种实现思路。 本文直接相关的应用场景虽然不涉及医学图像分割,但是其思想,比如3D组织的分割和组织编辑,都可以借助该文章的思路。deformation model的方法在医学图像分割领域应用是非常广泛的,本文本质就是deformation model和GCN的结合。 论文:Fast Interactive e Object Annotation with Curve-GCN 网址: https://arxiv.org/pdf/1903.06874.pdf ​ arxiv.org github: https://github.com/fidler-lab/curve-gcn ​ github.com 摘要 本文提出的新框架,通过使用图卷积网络(GCN)同时预测边界上每个顶点的演变方向。 端到端训练框架和模型; 通过该方法,可实现:画一个多边形,快速完成物体的轮廓标注。 Curve-GCN比现有的方法性能都要好,包括PSP-DeepLab

【社招】1年工作经验,字节跳动算法面经

若如初见. 提交于 2020-07-27 22:46:19
作者 | Batman1234 整理 | NewBeeNLP 面试锦囊之面经分享系列,持续更新中 欢迎后台回复" 面试 "加入讨论组交流噢 写在前面 在某大厂做算法一年,本来安安稳稳还没想过跳槽,某天接到了猎头的电话说字节在招数据挖掘工程师,择日不如撞日那就去试一试呗。 一面 问贝叶斯网络的原理。 一些统计学的原理比如t-test, AUC curve的意义是啥,为什么要用AUC去衡量机器学习模型的好坏。 问了一道题:假设现在有一个函数random(), n为未知数,1/n的概率返回0,2/n的概率返回1,写一个newRandom(),让返回0,1的概率各为1/2。medium。 二面 问了adaboost的原理,模型的权重以及数据的权重各自有什么意义,写出adaboost的伪代码。 CART树的原理,和ID3以及C4.5有什么区别,回归树与分类树有什么区别。 写出逻辑回归反向传播的伪代码。 算法题:现在有一个每行每列递增的2D数列,比如[[1,2,3,4], [2,3,4,5], [4,5,6,7]],在O(nm)的时间复杂度返回最小的k个数。hard。 三面 主要面C语言基础知识。 实现memcpy. 如何在main函数之外之行一个函数。 这样声明变量有没有问题:int a[10000000]. static修饰符有什么用?如果不加会出现什么后果? 四面 主要考察机器学习。

神经网络简易教程

别等时光非礼了梦想. 提交于 2020-07-27 15:11:17
作者|Renu Khandelwal 编译|VK 来源|Medium 在这篇文章中,我们将了解神经网络的基础知识。 这个博客的先决条件是对机器学习的基本理解,如果你尝试过一些机器学习算法,那就更好了。 首先简单介绍一下人工神经网络,也叫ANN。 很多机器学习算法的灵感来自大自然,而最大的灵感来自我们的大脑,我们如何思考、学习和做决定。 有趣的是,当我们触摸到热的东西时,我们身体里的神经元将信号传递给大脑的。然后,大脑产生冲动,从热的区域撤退。我们根据经验接受了训练。根据我们的经验,我们开始做出更好的决定。 使用同样的类比,当我们向神经网络发送一个输入(触摸热物质),然后根据学习(先前的经验),我们产生一个输出(从热区域退出)。在未来,当我们得到类似的信号(接触热表面),我们可以预测输出(从热区退出)。 假设我们输入了诸如温度、风速、能见度、湿度等信息,以预测未来的天气状况——下雨、多云还是晴天。 这可以表示为如下所示。 让我们用神经网络来表示它并理解神经网络的组成部分。 神经网络接收输入,通过使用激活函数改变状态来转换输入信号,从而产生输出。 输出将根据接收到的输入、强度(如果信号由权值表示)和应用于输入参数和权值的激活而改变。 神经网络与我们神经系统中的神经元非常相似。 x1、x2、…xn是神经元向树突的输入信号,在神经元的轴突末端会发生状态改变,产生输出y1、y2、…yn。