梯度下降

《Attack ML Models

依然范特西╮ 提交于 2021-02-12 04:28:26
Attack ML Models - 李宏毅 https://www.bilibili.com/video/av47022853 Training的Loss:固定x,修改θ,使y0接近ytrue. Non-targeted Attack的Loss:固定θ,修改x,使y‘远离ytrue. Targeted Attack的Loss:固定θ,修改x,使y‘远离ytrue且接近yfalse. constraint:x‘和原图像x0的相似度,必须小于阈值ε.有多种计算方法,如L2-norm,L-infinity,因为取决于人类感知,一般采用L-infinity. 对抗攻击即生成对抗样本x’,它要使得损失函数L(x‘)尽可能小,同时确保相似度d(x0,x’)小于ε. 采用梯度下降法进行,x0作为初始值进行迭代.如果相似度超过ε,则对xt进行修正. 具体修正策略为,找到小于ε且与当前xt最接近的x. 图片特征一般是很高维的,在某些维度上如图1,tiger cat的置信度范围很广且附近都是cat,在另一些维度上如图2,tiger cat的置信度很窄且附近时不相干的事物. 不同的对抗攻击方法,区别一般在于采用不同的距离限制方式与不同的优化策略. FGSM是一种常见的对抗攻击方法,它的原理是计算出分类函数loss的梯度,然后用sign函数将其指向四个角的方向之一,再乘上ε使其落在角上

机器学习小白必知必会

依然范特西╮ 提交于 2021-02-12 04:22:41
机器学习是一门多领域交叉学科,需要很多知识储备。 对于机器学习,很多人也只是一知半解,想要知其然、究其实,但是面对各种各样的书籍、文章却无从下手,摸不清门路。 小白该具备哪些知识点呢? 01 概念初识 机器学习领域内有很多专业术语,如繁星一般,穿插在各种技术文档、文献、书籍等资料中。学习机器学习的第一步就是了解这些专业术语,能够“读懂”各类文档。下面是一些比较常见的概念和定义: 实例: 表示具体的一件事物,可以是一本书,一只鸟等等,实例具有诸多属性,比如鸟的羽毛颜色、翅膀长度、鸟喙形状等等,我们可以凭借这些属性来判断鸟属于什么种类。 标签: 标签表示我们所关注的实例的“结果”或者“类型”,它是机器学习系统中预测的结果,或者是训练数据中所标识的正确答案。比如一本书可能是中文图书,也可能是外文图书,这就是这本书的标签或者说分类。 属性: 属性表示实例本身所具有的特性,实例与属性密不可分。实例往往具有很多属性,而在机器学习过程中,我们只关注对实例打标签有意义的属性。比如在判断书属于什么种类时,很明显出版时间这一属性对我们做决策并没有太大意义。 样本: 样本代表实例和实例标签的结合,用于模型训练和效果测试。在模型训练过程中,我们用大量实例的属性值(或特征)以及标签去调节模型中的参数,在测试阶段,使用训练好的模型输入实例的属性值,将模型的预测结果与对应实例的标签做对比。 大数据:

《Machine Learning

拈花ヽ惹草 提交于 2021-02-12 04:21:48
https://www.youtube.com/watch?v=CXgbekl66jc&list=PLJV_el3uVTsPy9oCRY30oBPNLCo89yu49 https://www.bilibili.com/video/av65521101 因为之前有些基础,对于本视频课程的学习仅仅记录一些要点.目前只学习涉及深度学习和对抗攻击的部分. 1 Regression 通过Gradient Descent找到Loss Function的局部最优点.Gradient就是Loss Function对每个参数的偏导数排成的向量. 如果Loss Function是Convex的,即凸函数,那么Gradient Descent一定可以找到全局最优点. 过于复杂的model就会Overfitting. 类别型特征可以通过δ函数变成Linear Model. 对于特征的处理,可以通过Domain Knowledge或者Regularization. Regularization的一种简单方式是在Loss Function中加入λΣ(w i ) 2 ,因为越小的w越平滑,即对变化越不敏感. Regularization一般不考虑bias,因为它只影响Loss Function的上下移动,而与是否平滑无关. 可以给w和b设定不同的Learning Rate来加强拟合效果. 2 Where

【笔记】机器学习

萝らか妹 提交于 2021-02-11 05:29:34
学习笔记: 章节 简介 1 - Introduction & next step 机器学习介绍 & 机器学习下一步 2 - Regression + Demo 回归 & 示例代码 3 - Bias & Variance 偏差和方差 4 - Gradient Descent 梯度下降方法 5 - Classification 分类 6 - Logistic Regression 对数几率回归(逻辑回归) 7 - Deep Learning 深度学习介绍 8 - Backpropagation 反向传播 9 - Keras Demo Keras代码示例 10 - Tips for Training DNN 深度学习技巧 11 - Keras Demo2 & Fizz Buzz Keras代码优化 12 - CNN 卷积神经网络 13 - Why Deep 为什么要用深度学习 Explainable ML 可解释性机器学习 Transformer Transformer及注意力机制 ELMO、BERT、GPT ELMO、BERT、GPT-2、ERNIE 课后作业: Week 1: 矩阵运算,图片操作 Week 2: CEO利润预测 论文阅读: An overview of gradient descent optimization algorithms 参考资料: 李宏毅 2017

Adam与SGD

泪湿孤枕 提交于 2021-02-10 17:57:14
本文转载自「机器学习炼丹记」,搜索「julius-ai」即可关注。 原文链接: 小象 (一)一个框架看懂优化算法 机器学习界有一群炼丹师,他们每天的日常是: 拿来药材(数据),架起八卦炉(模型),点着六味真火(优化算法),就摇着蒲扇等着丹药出炉了。 不过,当过厨子的都知道,同样的食材,同样的菜谱,但火候不一样了,这出来的口味可是千差万别。火小了夹生,火大了易糊,火不匀则半生半糊。 机器学习也是一样,模型优化算法的选择直接关系到最终模型的性能。有时候效果不好,未必是特征的问题或者模型设计的问题,很可能就是优化算法的问题。 说到优化算法,入门级必从 SGD 学起,老司机则会告诉你更好的还有 AdaGrad / AdaDelta,或者直接无脑用 Adam。可是看看学术界的最新 paper,却发现一众大神还在用着入门级的 SGD,最多加个 Momentum 或者 Nesterov,还经常会黑一下Adam。比如 UC Berkeley 的一篇论文就在 Conclusion 中写道: Despite the fact that our experimental evidence demonstrates that adaptive methods are not advantageous for machine learning, the Adam algorithm remains

Coursera机器学习week2 笔记

孤者浪人 提交于 2021-02-10 10:03:11
Multiple Features 之前学的是“单变量线性回归”,明显一个问题不可能只有一个特征,现在增加特征数量变成“多变量线性回归”。 下面对一些符号进行定义: n:特征的数量 m:训练数据的数量 x (i) :训练集中的第i的数据 x (i) j :第i个数据的第j个特征 y (i) :第i个数据的标签(输出结果) y^ (i) :第i个数据的预测结果 h(x):预测模型 那和假设函数h θ (x)=θ0+θ1x变成了h θ (x)=θ 0 +θ 1 x 1 +θ 2 x 2 +θ 3 x 3 +θ 4 x 4 ....θ n x n 令θ=(θ 0 ;θ 1 ;θ 2 ;θ 3 ;θ 4 ;θ 5 ;...θ n ), X=(x 0 ;x 1 ;x 2 ;x 3 ;x 4 ...x n ),那么h θ (x)=θ T X 代价函数也和之前的类似 梯度下降也类似 由于 所以J(θ)对 θj 的导数是 Feature Scaling(特征缩放) 在面对多维特征问题的时候,我们要确定这些特征具有相似的尺度,这样能帮助梯度更快地收敛。 以两个特征为例,一个尺度在0-2000,一个尺度在0-5,明显相差很大 当用梯度下降法时,所需要跌打的数量明显很大,那么当两个特征都缩放到0-1时就很快了,跌打的 普遍使用这种 Learning rate(学习率)

梯度下降(Gradient Descent)

空扰寡人 提交于 2021-02-09 15:53:30
在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(Gradient Descent)是最常采用的方法之一,另一种常用的方法是最小二乘法。这里就对梯度下降法做一个完整的总结。 1. 梯度     在微积分里面,对多元函数的参数求∂偏导数,把求得的各个参数的偏导数以向量的形式写出来,就是梯度。比如函数f(x,y), 分别对x,y求偏导数,求得的梯度向量就是(∂f/∂x, ∂f/∂y) T ,简称grad f(x,y)或者▽f(x,y)。对于在点(x 0 ,y 0 )的具体梯度向量就是(∂f/∂x 0 , ∂f/∂y 0 ) T .或者▽f(x 0 ,y 0 ),如果是3个参数的向量梯度,就是(∂f/∂x, ∂f/∂y,∂f/∂z) T ,以此类推。     那么这个梯度向量求出来有什么意义呢?他的意义从几何意义上讲,就是函数变化增加最快的地方。具体来说,对于函数f(x,y),在点(x 0 ,y 0 ),沿着梯度向量的方向就是(∂f/∂x 0 , ∂f/∂y 0 ) T 的方向是f(x,y)增加最快的地方。或者说,沿着梯度向量的方向,更加容易找到函数的最大值。反过来说,沿着梯度向量相反的方向,也就是 -(∂f/∂x 0 , ∂f/∂y 0 ) T 的方向,梯度减少最快,也就是更加容易找到函数的最小值。      2. 梯度下降与梯度上升     在机器学习算法中

gradient-descent

百般思念 提交于 2021-02-09 13:34:00
http://ruder.io/optimizing-gradient-descent/ https://www.quora.com/Whats-the-difference-between-gradient-descent-and-stochastic-gradient-descent https://en.wikipedia.org/wiki/Stochastic_gradient_descent https://zh.coursera.org/learn/deep-neural-network/lecture/lBXu8/understanding-mini-batch-gradient-descent https://zh.coursera.org/learn/deep-neural-network/lecture/qcogH/mini-batch-gradient-descent https://am207.github.io/2017/wiki/gradientdescent.html http://leon.bottou.org/publications/pdf/online-1998.pdf References Sutton, R. S. (1986). Two problems with backpropagation and other steepest

ICLR2020国际会议精彩演讲抢先看(含源码)!!

試著忘記壹切 提交于 2021-02-08 16:34:53
喜欢我们,点击上方 AINLPer ,关注一下,极品干货即刻送达! 今天天气是真不错~可惜还是不能出去。所以今天 整理了2020年ICLR会议的论文,并给大家分享出了ICLR2020国际会议演讲的主题和主要内容。 引言 2020年的 ICLR会议 将于今年的 4月26日-4月30日 在Millennium Hall, Addis Ababa ETHIOPIA(埃塞俄比亚首都亚的斯亚贝巴 千禧大厅)举行。 2020年ICLR会议(Eighth International Conference on Learning Representations)论文接受结果刚刚出来, 今年的论文接受情况如下: poster-paper共523篇,Spotlight-paper(焦点论文)共107篇,演讲Talk共48篇,共计接受678篇文章,被拒论文(reject-paper)共计1907篇,接受率为: 26.48%。 回复: ICLR2020 获取会议全部列表PDF(方便您的收集整理) ,其中一共有四个文件( 2020-ICLR-accept-poster.pdf 、 2020-ICLR-accept-spotlight.pdf 、 2020-ICLR-accept-talk.pdf 、 2020-ICLR-reject.pdf ),如果你不想下载,也可直接访问官网: https:/

吴恩达机器学习笔记 —— 18 大规模机器学习

不羁的心 提交于 2021-02-06 03:50:39
本章讲了梯度下降的几种方式:batch梯度下降、mini-batch梯度下降、随机梯度下降。也讲解了如何利用mapreduce或者多cpu的思想加速模型的训练。 更多内容参考 机器学习&深度学习 有的时候数据量会影响算法的结果,如果样本数据量很大,使用梯度下降优化参数时,一次调整参数需要计算全量的样本,非常耗时。 如果训练集和验证集的误差像左边的图形这样,就可以证明随着数据量的增加,将会提高模型的准确度。而如果像右边的图,那么增加样本的数量就没有什么意义了。 因此可以考虑缩小m的使用量,可以使用随机梯度下降。随机梯度下降的过程是:随机打散所有的样本,然后从第一个样本开始计算误差值,优化参数;遍历所有的样本。这样虽然优化的方向比较散乱,但是最终还是会趋于最优解。 还有一种方式叫做小批量梯度下降,每次使用一小部分的数据进行验证。比批量梯度下降更快,但是比随机梯度下降更稳定。 针对损失函数和batch的数量,可以画出下面的图:图1的震荡曲线可以忽略,此时的震荡可能是由于局部最小值造成的;图2如果增加数量能使得曲线更平滑,那么可以考虑增加batch的数量。图3 可能是模型根本没有在学习,可以考虑修改一下其他的参数。图4可能是因为学习太高,可以使用更小的学习率。 在线学习就是随着数据的获取,增量的来当做每个batch进行训练。 如果数据的样本很大,其实也可以通过map