李宏毅-B站机器学习视频课件Ensemble (v6)
李宏毅机器学习课程——Lifelonglearning学习笔记
李宏毅机器学习课程——Lifelonglearning学习笔记概述lifelong learning⾮常直观,意思是机器不能前边学后边忘。
常见的⽅法是对前边的task中学习出来的参数加⼀个保护系数,在后⾯的任务中,训练参数时,对保护系数⼤的参数很难训练,⽽保护系数⼩的参数则容易⼀些。
下⾯的图⾮常直观,颜⾊的深浅代表loss的⼤⼩,颜⾊越深loss越⼩。
在task1中θ2的变化对loss的变化⾮常敏感,⽽θ1则不敏感,所以在task2中尽量只通过改变θ1来减⼩loss,⽽不要改变θ2。
在lifelong learning中,loss的计算公式如下:L′(θ)=L(θ)+λΣi b i(θi−θb i)2其中b i就是对θ的保护系数,θi表⽰本次task中需要学习的参数,θb i是从之前的task中学习到的参数。
不同的⽅法差异就在于b i的计算。
这⾥将会结合Coding整理⼀下遇到的三个⽅法。
Coding这部分针对HW14,介绍了EWC,MAS,SCP三种⽅法,这⾥讲解⼀下具体的代码实现,并定性地分析⼀下这些⽅法是如何把哪些重要的参数保护起来。
EWCEWC中不同的保护系数f i使⽤如下的⽅法计算得到:F=[∇log(p(y n|x n,θ∗A))∇log(p(y n|x n,θ∗A))T]F的对⾓线的各个数就是各个θ的保护系数。
p(y n|x n,θ∗A)指的就是模型在给点之前 task 的 data x n以及给定训练完 task A (原来)存下来的模型参数θ∗A得到y n(x n对应的 label ) 的后验概率。
其实对参数θi,它的保护系数就是向量log(p(y n|x n,θ∗A))对θ1的偏导数∂log(p(y n|x n,θ∗A))∂θ1与⾃⾝的内积。
当对这个参数敏感时,这个偏导数会变⼤,当预测结果正确率⾼时,p(y n|x n)也会⾼,最终都会使的保护系数变⼤。
某⼀个参数⽐较敏感,这个参数下正确率⾼时,这个参数就会被很好地保护起来。
李宏毅2021春机器学习课程笔记——生成对抗模型模型
李宏毅2021春机器学习课程笔记——⽣成对抗模型模型本⽂作为⾃⼰学习李宏毅⽼师2021春机器学习课程所做笔记,记录⾃⼰⾝为⼊门阶段⼩⽩的学习理解,如果错漏、建议,还请各位博友不吝指教,感谢!!概率⽣成模型概率⽣成模型(Probabilistic Generative Model)简称⽣成模型,指⼀系列⽤于随机⽣成可观测数据的模型。
假设在⼀个连续或离散的⾼维空间\(\mathcal{X}\)中,存在⼀个随机向量\(X\)服从⼀个未知的数据分布\(p_r(x), x \in\mathcal{X}\)。
⽣成模型根据⼀些可观测的样本\(x^{(1)},x^{(2)}, \cdots ,x^{(N)}\)来学习⼀个参数化的模型\(p_\theta(x)\)来近似未知分布\(p_r(x)\),并可以⽤这个模型来⽣成⼀些样本,使得⽣成的样本和真实的样本尽可能地相似。
⽣成模型的两个基本功能:概率密度估计和⽣成样本(即采样)。
隐式密度模型在⽣成模型的⽣成样本功能中,如果只是希望⼀个模型能⽣成符合数据分布\(p_r(x)\)的样本,可以不显⽰的估计出数据分布的密度函数。
假设在低维空间\(\mathcal{Z}\)中有⼀个简单容易采样的分布\(p(z)\),\(p(z)\)通常为标准多元正态分布\(\mathcal{N}(0,I)\),我们⽤神经⽹络构建⼀个映射函数\(G : \mathcal{Z} \rightarrow \mathcal{X}\),称为⽣成⽹络。
利⽤神经⽹络强⼤的拟合能⼒,使得\(G(z)\)服从数据分布\(p_r(x)\)。
这种模型就称为隐式密度模型(Implicit Density Model)。
隐式密度模型⽣成样本的过程如下图所⽰:⽣成对抗⽹络⽣成对抗⽹络(Generative Adversarial Networks,GAN)是⼀种隐式密度模型,包括判别⽹络(Discriminator Network)和⽣成⽹络(Generator Network)两个部分,通过对抗训练的⽅式来使得⽣成⽹络产⽣的样本服从真实数据分布。
李宏毅深度学习(一):深度学习模型的基本结构
李宏毅深度学习(⼀):深度学习模型的基本结构李宏毅深度学习(⼀):深度学习模型的基本结构转⾃简书的⼀位⼤神博主:下⾯开始正题吧!1、全连接神经⽹络(Fully Connected Structure)最基本的神经⽹络⾮全连接神经⽹络莫属了,在图中,a是神经元的输出,l代表层数,i代表第i个神经元。
两层神经元之间两两连接,注意这⾥的w代表每条线上的权重,如果是第l-1层连接到l层,w的上标是l,下表ij代表了第l-1层的第j个神经元连接到第l层的第i个神经元,这⾥与我们的尝试似乎不太⼀样,不过并⽆⼤碍。
所以两层之间的连接矩阵可以写为如下的形式:每⼀个神经元都有⼀个偏置项:这个值记为z,即该神经元的输⼊。
如果写成矩阵形式如下图:针对输⼊z,我们经过⼀个激活函数得到输出a:常见的激活函数有:这⾥介绍三个:sigmoidSigmoid 是常⽤的⾮线性的激活函数,它的数学形式如下:特别的,如果是⾮常⼤的负数,那么输出就是0;如果是⾮常⼤的正数,输出就是1,如下图所⽰:.sigmoid 函数曾经被使⽤的很多,不过近年来,⽤它的⼈越来越少了。
主要是因为它的⼀些 缺点:**Sigmoids saturate and kill gradients. **(saturate 这个词怎么翻译?饱和?)sigmoid 有⼀个⾮常致命的缺点,当输⼊⾮常⼤或者⾮常⼩的时候(saturation),这些神经元的梯度是接近于0的,从图中可以看出梯度的趋势。
所以,你需要尤其注意参数的初始值来尽量避免saturation的情况。
如果你的初始值很⼤的话,⼤部分神经元可能都会处在saturation的状态⽽把gradient kill掉,这会导致⽹络变的很难学习。
Sigmoid 的 output 不是0均值. 这是不可取的,因为这会导致后⼀层的神经元将得到上⼀层输出的⾮0均值的信号作为输⼊。
产⽣的⼀个结果就是:如果数据进⼊神经元的时候是正的(e.g. x>0 elementwise in f=wTx+b),那么 w 计算出的梯度也会始终都是正的。
李宏毅-B站机器学习视频课件BP全
Gradient Descent
Network parameters
Starting
0
Parameters
L
L w1
L w
2
L b1
L b2
w1 , w2 ,, b1 , b2 ,
b
4
2
=
′
’’
′ ′′
(Chain rule)
=
+
′ ′′
Assumed
?
?
3
4
it’s known
Backpropagation – Backward pass
Compute Τ for all activation function inputs z
Chain Rule
y g x
Case 1
z h y
x y z
Case 2
x g s
y hs
x
s
z
y
dz dz dy
dx dy dx
z k x, y
dz z dx z dy
ds x ds y ds
Backpropagation
2
Compute Τ for all parameters
Backward pass:
Compute Τ for all activation
function inputs z
Backpropagation – Forward pass
机器学习 李宏毅课程介绍
X:
(speech) Chat-bot
Y : “歡迎大家來修課”
(transcription)
X:
“How are you?” (what a user says)
Y:
“I’m fine.” (response of machine)
Output Matrix
Image to Image
f :
Ref: https:///pdf/1611.07004v1.pdf
Text to Image
X : “this white and yellow flower
have thin white petals and a round yellow stamen”
Y:
ref: https:///pdf/1605.05396.pdf
Challenge of Structured Output
• The output space is very sparse: • In classification, each class has some examples. • In structured learning, most of the possible outputs never exist • Because the output components have dependency, they should be considered globally.
Output Sequence f
Machine Translation
: X Y
X : “機器學習及其深層與
結構化” (sentence of language 1) Speech Recognition
Y : “Machine learning and
机器学习入门ppt课件
朴素贝叶斯分类器:假定模型的的各个特征变量都是概率独立的,根据训练数据和分类标记的的联合分布概率来判定新数据的分类和回归值。优点:对于在小数据集上有显著特征的相关对象,朴素贝叶斯方法可对其进行快速分类场景举例:情感分析、消费者分类
机器学习应用的场景
1. 风控征信系统2. 客户关系与精准营销3. 推荐系统4. 自动驾驶5. 辅助医疗6. 人脸识别7. 语音识别8. 图像识别9. 机器翻译量化交易智能客服商业智能BI
机器学习的通用步骤
选择数据:将你的数据分成三组:训练数据、验证数据和测试数据 (训练效果,验证效果,泛化效果)
数据建模:使用训练数据来构建使用相关特征的模型 (特征:对分类或者回归结果有影响的数据属性,例如,表的字段) 特征工程。
训练模型:使用你的特征数据接入你的算法模型,来确定算法模型的类型,参数等。
测试模型:使用你的测试数据检查被训练并验证的模型的表现 (模型的评价标准 准确率,精确率,召回率等)
使用模型:使用完全训练好的模型在新数据上做预测
调优模型:使用更多数据、不同的特征或调整过的参数来提升算法的性能表现
机器学习的位置
传统编程:软件工程师编写程序来解决问题。首先存在一些数据→为了解决一个问题,软件工程师编写一个流程来告诉机器应该怎样做→计算机遵照这一流程执行,然后得出结果统计学:分析并比较变量之间的关系
机器学习:数据科学家使用训练数据集来教计算机应该怎么做,然后系统执行该任务。该计算可学习识别数据中的关系、趋势和模式
智能应用:智能应用使用人工智能所得到的结果,如图是一个精准农业的应用案例示意,该应用基于无人机所收集到的数据
机器学习的分类
1、 监督式学习工作机制:用有正确答案的数据来训练算法进行机器学习。代表算法:回归、决策树、随机森林、K – 近邻算法、逻辑回归,支持向量机等。2、非监督式学习工作机制:训练数据没有标签或者答案,目的是找出数据内部的关联和模式,趋势。代表算法:关联算法和 K – 均值算法。3、强化学习工作机制:给予算法一个不断试错,并具有奖励机制的场景,最终使算法找到最佳路径或者策略。代表算法:马尔可夫决策过程,AlphaGo+Zero, 蒙特卡洛算法4. 半监督学习 工作机制: 训练数据一部分数据为生成数据,一部分数据为监督数据,算法分为生成器和判定器两部分, 生成器的目标是使判定器接受自己的数据,判别器是为了最大可能的区分生成数据和监督数据。通过不断的训练使两者都达到最佳性能。代表算法: GANs(生成式对抗网络算法)
机器学习ppt课件
最优策略求解
通过动态规划、蒙特卡洛方法或时间差分方 法等求解最优策略。
迁移学习应用场景及挑战
领域适应(Domain Adaptation)
将在一个领域(源领域)学到的知识迁移到另一个领域(目标领域)。
多任务学习(Multi-Task Learning)
多个相关任务共享知识,提高学习效率。
迁移学习应用场景及挑战
常见降维算法
主成分分析(PCA)、线性判别分析(LDA)、t分布邻域嵌入算法(t-SNE)等。
应用场景
图像处理、文本挖掘、生物信息学等。
异常检测
异常检测概念
识别出数据集中与大多数数据不同的离群点或 异常点。
常见异常检测算法
基于统计的方法、基于距离的方法、基于密度 的方法等。
应用场景
信用卡欺诈检测、网络入侵检测、医疗诊断等。
交叉验证
使用K折交叉验证等方法评估模型稳定性。
可视化展示
绘制ROC曲线、混淆矩阵等图表展示评估结果。
模型对比
将不同模型的结果进行对比分析,选择最优模型。
挑战与未来发展趋势
01
数据挑战
处理大规模、高维度、非结构化等 数据问题。
应用挑战
将机器学习技术应用到更多领域, 解决实际问题。
03
02
算法挑战
研究更加高效、稳定的算法模型, 提高泛化能力。
未来趋势
结合深度学习、强化学习等技术, 推动人工智能领域的发展。
04
THANKS
感谢观看
优化算法(如SGD、Adam、RMSprop等) 及其超参数调整
05 强化学习与迁移 学习
强化学习基本原理
智能体(Agent)与环境(Environment)…
2019机器学习李宏毅Meta1 (v6)
It is also a Learning function. Algorithm
������∗
������
cat dog cat dog
Training Data ������������������������������������
Testing Data
Meta Learning
Machine Learning ≈ 根據資料找一個函數 f 的能力
並不保證拿 ������ 去訓練以後會 得到好的 ������������
������1 (Loss of task 1)
������2 (Loss of task 2)
������
Model Parameter
MAML
Loss Function: ������
������ ������ = ������������ ���መ���������
������2
������
������
Learning Algorithm (Function ������)
Compute Gradient
Compute Gradient
(limit to gradient descent based approach)
Training Data
Training Data
• Sample N testing characters, sample K examples from each sampled characters → one testing task
Techniques Today
• MAML
• Chelsea Finn, Pieter Abbeel, and Sergey Levine, “ModelAgnostic Meta-Learning for Fast Adaptation of Deep Networks”, ICML, 2017
2019机器学习李宏毅Small (v6)
Network Pruning - Practical Issue
• Weight pruning
The network architecture becomes irregular.
• Fine-tuning on training data for recover
• Don’t prune too much at once, or the network won’t recover.
Pre-trained Network large
Evaluate the Importance
• Filter number = Input channel number • Each filter only considers one channel. • The filters are ������ × ������ matrices • There is no interaction between channels.
Parameter Quantization
Parameter Quantization
• 1. Using less bits to represent a value • 2. Weight clustering
weights in a network
0.5 1.3 4.3 -0.1 0.1 -0.2 -1.2 0.3 1.0 3.0 -0.4 0.1 -0.5 -0.1 -3.4 -5.0
Prune some weights
Hard to implement, hard to speedup ……