什么是模型微调?(Fine-tuning)

Step 1 :假设我们的神经网络符合下面形式:

Y = W * X 

Step 2 :现在我们要找到一个W, 使得当 输入X = 2 时,输出Y = 1,也就是希望W = 0.5:

1 = W * 2

Step 3: 首先对W 要进行初始化, 初始化的值服从均值为0,方差为1的分布,假设W初始化为0.1:

 Y = 0.1 * X

Step 4 :当 输入X = 2 时, W = 0.1, 输出Y = 0.2, 这个时候实际值和目标值1的误差是0.8 :

1<-----0.2 = 0.1 * 2

Step 5 :0.8 的误差经过反向传播去更新权值W,假如这次更新为W = 0.2,输出为0.4,与目标值的误差为0.6:

1<-----0.4 = 0.2 * 2

Step 6 : 可能经过十次或二十次反向传播,W 终于等于我们想要的0.5:

Y  = 0.5 * X

Step 7 : 如果在更新模型最开始有人告诉你,W的值应该在0.47附近:

Y  = 0.47 * X 

Step 8 : 那么从最开始训练,你与目标值的误差就只有0.06了,那么可能只要一步两步*,就能将w训练到0.5:

1<--------0.94  = 0.47 * 2 

总结: Step 7就是相当于给你一个预训练模型(Pre-trained model),Step 8 就是基于这个模型微调(Fine Tune)。相对于你从头开始训练(Training a model from scatch),微调为你省去大量计算资源和计算时间,提高了计算效率,甚至提高准确率。


0点赞了文章

网友评论

0条评论

发表

网友评论

0条评论

发表

最新评论

推荐文章

彩龙

Copyright © 2008-2020 彩龙社区(https://www.clzg.cn) 版权所有 All Rights Reserved.

免责声明: 本网不承担任何由内容提供商提供的信息所引起的争议和法律责任。

经营许可证编号:滇B2-20090009-7

下载我家昆明APP 下载彩龙社区APP