如何让训练神经网络不无聊?试试迁移学习和多任务学习

简介:

训练深度神经网络是一个乏味的过程。更实际的方法,如重新使用训练好的网络解决其他任务,或针对许多任务使用相同的网络。这篇文章中,我们会讨论两个重要的方法:迁移学习和多任务学习。

迁移学习

在迁移学习中,我们希望利用源任务学到的知识帮助学习目标任务。例如,一个训练好的图像分类网络能够被用于另一个图像相关的任务。再比如,一个网络在仿真环境学习的知识可以被迁移到真实环境的网络。

总的来说,神经网络迁移学习有两种方案:特征提取和微调。迁移学习一个典型的例子就是载入训练好VGG网络,这个大规模分类网络能将图像分到1000个类别,然后把这个网络用于另一个任务,如医学图像分类。

如何让训练神经网络不无聊?试试迁移学习和多任务学习

1特征提取:

特征提取是针对目标任务把一个简单的分类器加在源任务上预训练的网络上,将预训练的网络作为特征提取器。仅有添加的分类器的参数需要更新,预训练的网络的参数不变。这能使新任务从源任务中学习到的特征中受益。但是,这些特征更加适合源任务。

2微调:

微调允许学习目标任务时修改预训练的网络参数。通常,在预训练的网络之上加一个新的随机初始化的层。预训练网络的参数使用很小的学习率更新防止大的改变。通常会冻结网络底层的参数,这些层学到更通用的特征,微调顶部的层,这些层学到更具体的特征。同时,冻结一些层能够减少需要训练的参数的数量,避免过拟合问题,尤其时在目标任务数据量不够大的情况下。实践中,微调胜过特征提取因为他针对新的任务优化了预训练的网络。

迁移学习的基本情形:

迁移学习可以分为4种情形基于以下两个因素:1)目标任务数据集的大小,2)源任务与目标任务的相似度:

情形1:目标数据集很小,目标任务与源任务相似:这种情况使用特征提取,因为目标数据集小容易造成过拟合。

情形2:目标数据集很小,目标任务与源任务不同:这时我们微调底层网络,并移除高层网络。换句话说,我们使用较早的特征提取。

情形3:目标数据集很大,目标任务与源任务相似:我们有了大量的数据,我们可以随机初始化参数,从头开始训练网络。然而,最好还是使用预训练的网络初始化参数并微调几层。

情形4:目标数据集很大,目标任务与源任务不同。这时,我们微调大部分层甚至整个网络。

多任务学习

多任务学习的主要目标是通过使用多个任务的样本优化网络的参数改进任务的性能。例如,我们希望有一个网络可以根据输入的脸部图像区分是男性还是女性,同时可以预测这个人的年龄。这时,我们有两个相关的任务,一个是二分类,一个是回归任务。显然两个任务是相关的,对一个任务的学习可以改进另外一个任务。

如何让训练神经网络不无聊?试试迁移学习和多任务学习

一个简单的网络设计实例,可以在任务和任务之间共享一部分网络。共享部分学习任务通用的中间表达,有助于这些共同的学习任务。另一方面,针对特定的学习任务,特定的头部会学习如何使用这些共享表达。


原文发布时间为:2018-05-29

本文来自云栖社区合作伙伴“雷锋网”,了解相关信息可以关注“雷锋网”。

相关文章
|
2月前
|
机器学习/深度学习 人工智能 算法
AI 基础知识从 0.6 到 0.7—— 彻底拆解深度神经网络训练的五大核心步骤
本文以一个经典的PyTorch手写数字识别代码示例为引子,深入剖析了简洁代码背后隐藏的深度神经网络(DNN)训练全过程。
537 56
|
2月前
|
机器学习/深度学习 算法 数据挖掘
没发论文的注意啦!重磅更新!GWO-BP-AdaBoost预测!灰狼优化、人工神经网络与AdaBoost集成学习算法预测研究(Matlab代码实现)
没发论文的注意啦!重磅更新!GWO-BP-AdaBoost预测!灰狼优化、人工神经网络与AdaBoost集成学习算法预测研究(Matlab代码实现)
|
12天前
|
机器学习/深度学习 资源调度 算法框架/工具
AI-ANNE: 将神经网络迁移到微控制器的深度探索——论文阅读
AI-ANNE框架探索将深度学习模型迁移至微控制器的可行路径,基于MicroPython在Raspberry Pi Pico上实现神经网络核心组件,支持本地化推理,推动TinyML在边缘设备中的应用。
72 10
|
6月前
|
机器学习/深度学习 存储 算法
NoProp:无需反向传播,基于去噪原理的非全局梯度传播神经网络训练,可大幅降低内存消耗
反向传播算法虽是深度学习基石,但面临内存消耗大和并行扩展受限的问题。近期,牛津大学等机构提出NoProp方法,通过扩散模型概念,将训练重塑为分层去噪任务,无需全局前向或反向传播。NoProp包含三种变体(DT、CT、FM),具备低内存占用与高效训练优势,在CIFAR-10等数据集上达到与传统方法相当的性能。其层间解耦特性支持分布式并行训练,为无梯度深度学习提供了新方向。
221 1
NoProp:无需反向传播,基于去噪原理的非全局梯度传播神经网络训练,可大幅降低内存消耗
|
9天前
|
JavaScript Java 大数据
基于python的网络课程在线学习交流系统
本研究聚焦网络课程在线学习交流系统,从社会、技术、教育三方面探讨其发展背景与意义。系统借助Java、Spring Boot、MySQL、Vue等技术实现,融合云计算、大数据与人工智能,推动教育公平与教学模式创新,具有重要理论价值与实践意义。
|
8月前
|
机器学习/深度学习 文件存储 异构计算
YOLOv11改进策略【模型轻量化】| 替换骨干网络为EfficientNet v2,加速训练,快速收敛
YOLOv11改进策略【模型轻量化】| 替换骨干网络为EfficientNet v2,加速训练,快速收敛
819 18
YOLOv11改进策略【模型轻量化】| 替换骨干网络为EfficientNet v2,加速训练,快速收敛
|
8月前
|
机器学习/深度学习 数据可视化 API
DeepSeek生成对抗网络(GAN)的训练与应用
生成对抗网络(GANs)是深度学习的重要技术,能生成逼真的图像、音频和文本数据。通过生成器和判别器的对抗训练,GANs实现高质量数据生成。DeepSeek提供强大工具和API,简化GAN的训练与应用。本文介绍如何使用DeepSeek构建、训练GAN,并通过代码示例帮助掌握相关技巧,涵盖模型定义、训练过程及图像生成等环节。
|
8月前
|
人工智能 网络协议 IDE
使用通义灵码AI高效学习muduo网络库开发指南
Muduo 是一个基于 C++11 的高性能网络库,支持多线程和事件驱动,适用于构建高效的服务器和应用程序。它提供 TCP/IP 协议支持、异步非阻塞 I/O、定时器、异步日志等功能,并具备跨平台特性。通过 Git 克隆 muduo 仓库并切换至 C++17 分支可开始使用。借助 AI 工具如 Deepseak-v3,用户可以更便捷地学习和理解 Muduo 的核心模块及编写测试用例,提升开发效率。
|
8月前
|
机器学习/深度学习 文件存储 异构计算
RT-DETR改进策略【模型轻量化】| 替换骨干网络为EfficientNet v2,加速训练,快速收敛
RT-DETR改进策略【模型轻量化】| 替换骨干网络为EfficientNet v2,加速训练,快速收敛
157 1
|
10月前
|
人工智能 搜索推荐 决策智能
不靠更复杂的策略,仅凭和大模型训练对齐,零样本零经验单LLM调用,成为网络任务智能体新SOTA
近期研究通过调整网络智能体的观察和动作空间,使其与大型语言模型(LLM)的能力对齐,显著提升了基于LLM的网络智能体性能。AgentOccam智能体在WebArena基准上超越了先前方法,成功率提升26.6个点(+161%)。该研究强调了与LLM训练目标一致的重要性,为网络任务自动化提供了新思路,但也指出其性能受限于LLM能力及任务复杂度。论文链接:https://arxiv.org/abs/2410.13825。
182 12

热门文章

最新文章