机器学习-网络架构搜索

【机器学习】:元学习_简介 数据集—》f(x)----》f‘(x)----》结果f’的知识是从数据集得来的,f是手调的,f直接影响f’的效果那么怎么更科学的确定f?1、 f中什么部分是要被学习的?ϕ\phiϕ2、定义一个loss fuc L(ϕ\phiϕ),描述learning algorithmF‘(ϕ\phiϕ)的优劣要准备训练素材:多个训练任务,每个任务,有各自的train和各自的task用task1中的train,根据F(ϕ\phiϕ)生成 f’ 阅读详情

Neural Architecture Search(NAS)

  • 一个神经网络有不同类型的超参数
    拓扑结构:resnet,mobilenet
    单独层:核大小,卷积层的通道,输出隐藏单元的个数
  • NAS自动设计神经网络
    如何设计搜索空间
    如何探索搜索空间
    性能评估
architecture A \isin A'
performance estimate of A
Search Space A'
Search Strategy
Performance Estimation Strategy

one-shot 方法

  • 将学习架构核模型参数联系在一起学习
  • 构建训练一个单独的模型来表现一系列广泛的模型
  • 评价候选结构
    只关心候选排名
    用一个近似的指标:几个轮次之后的准确度
  • 重新训练最好的候选模型

可微的架构搜索(Differentiable Architecture Search)

在这里插入图片描述

  • 将子路类别选择给softmax执行
    1、每一层有多个候选
    2、在l层第i个候选的输出是oilo^l_ioil​
    3、学习一个混合权重ala^lal,第i+1层的输入是∑iαiloil\displaystyle\sum_{\substack i}\alpha^l_io^l_ii​∑​αil​oil​,其中αl=softmax(al)\alpha^l=softmax(a^l)αl=softmax(al)
    4、选择候选argmaxiαiargmax_i\alpha_iargmaxi​αi​
    5、将学习的ala^lal加入网络参数

Scaling CNNs

  • 一个CNN能有3种方法调节
    1、更深:更多层
    2、更宽:更多输出通道
    3、更大的输出:增加输入图像的分辨率
  • EfficientNet建议一个混合的scaling
    1、深度规模每次变换αϕ\alpha^\phiαϕ,宽度变换βϕ\beta^\phiβϕ,分辨率变换γϕ\gamma^\phiγϕ
    2、αβ2γ2≈2\alpha\beta^2\gamma^2\approx2αβ2γ2≈2,若ϕ=1\phi=1ϕ=1,则把计算复杂度(FLOP)翻了一倍
    3、可调参数α,β,γ,ϕ\alpha,\beta,\gamma,\phiα,β,γ,ϕ

研究方向

  • NAS结果的可解释性
  • 适合边缘设备(如手机)的搜索结构
  • 到哪种程度我们能实现整个机器学习的自动化
【机器学习】——模型调参、超参数优化 超参数调优的目的是找到一组好的值数据预处理比较耗时使用算法进行调优是一种趋势在HPO中有两种主流的算法:黑盒与Multi-fidelity黑盒:一个超参数进去一个模型出来,然后知道模型的好坏,里面有暴力搜索,随机搜索(用得比较多的,没有什么特别好的方法的话,用这个准没错),和贝叶斯优化(研究的一个大方向) 阅读详情

相关推荐

AutoML自定义搜索网络类(如何在一个大的网络中搜索一个网络)

class ChoiceNet(): def __init__(self): # 这里可以最小可以选择三个,第一个必须输入,最后一个必须输出,中间任意个修改 self.vgg_base_dict = [ {'in_channels': 3, 'out_channels': 64, 'kernel_size': 3, 'stride': 1, 'padding': 1}, {'in_channels': 64, 'out_

东方佑 534

网络架构搜索---ChatGPT4o作答+跟李沐学AI:9.3 网络架构搜索【斯坦福21秋季:实用机器学习中文版】

搜索空间的定义非常重要,它决定了NAS的效率和可行性。

qq_46215223的博客 1028

16、机器学习中的超参数调优与深度学习网络架构优化

本文探讨了在机器学习和深度学习中使用遗传算法进行超参数调优和网络架构优化的方法。通过在Wine数据集上使用AdaBoost分类器,比较了传统网格搜索、遗传算法驱动的网格搜索和直接遗传方法的性能。同时,还介绍了如何使用遗传算法优化多层感知器(MLP)分类器的网络架构和超参数组合,以提高Iris数据集上的分类准确率。文章还提到了一些基于遗传算法的专用库,如sklearn-genetic-opt和TPOT,建议在实际项目中使用。

juice的博客 110

【机器学习】——模型调参、超参数优化、网络架构搜索

AutoML在模型选择这一块做的比较好 超参数的优化(HPO)【比较通用】:通过搜索的方法,找到一个集合去调整模型的超参数 NAS(Neural architecture search)【专注于神经网络】:可以构造一个比较好的神经网络模型,使得能够拟合我们的任务 每个年代都有最大的技术痛点,当前AutoML可能是技术瓶颈。

lingxw的博客 3908

神经网络的网络架构搜索与自动设计

神经网络的网络架构搜索与自动设计 1. 背景介绍 1.1 神经网络的重要性 神经网络在过去几年中取得了令人瞩目的成就,在计算机视觉、自然语言处理、语音识别等众多领域展现出卓越的性能。然而,设计高效的神经网络架构仍然是一个巨大的挑战,需要专

AI天才研究院 334

神经架构搜索面临的挑战:搜索空间设计

神经架构搜索,NAS,搜索空间设计,深度学习,自动机器学习 1. 背景介绍 深度学习近年来取得了令人瞩目的成就,在图像识别、自然语言处理、语音识别等领域取得了突破性的进展。然而,深度学习模型的性能很大程度上依赖于人工设计的网络架构。手工设计网络架构是一个耗时费力且需要专业知识的过程,

AI大模型应用之禅 940

告别科研绘图烦恼:ML Visuals 2025重大更新全解析

还在为科研论文和演示中的可视化图表发愁?花费数小时设计却仍达不到专业水准?ML Visuals项目即将推出的2025版本将彻底改变这一现状。本文将详细介绍这个由dair.ai社区打造的开源可视化资源库即将迎来的重大升级,包括全新功能、模板库扩展和社区协作机制优化。读完本文,你将了解如何利用这些免费资源提升科研写作的视觉表达效果,掌握未来版本的核心使用技巧。 ## 项目概述:ML Visuals是...

gitblog_00523的博客 1030

小米汽车技术路线

从小米的电子电器架构来看,行业内EEA已经由域集中逐渐过度到域融合+区域控制的架构并向着中央计算+区域控制的方向发展。 而小米汽车智驾算法也从基于高精地图模块化架构,到去高精地图模块化架构,再到端到端架构,这也正是行业对于智驾算法演进的共识。

HITbingdu的博客 3785

神经网络架构搜索(Neural Architecture Search, NAS)笔记

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、pandas是什么? 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。 二、使用步骤 1.引入库 代码

再见天师的博客 2091

捷联惯导总结--初始对准,位置标定,INS姿态更新,GPS/INS组合

惯导及组合导航回顾  2018.09.16 今天和17系的同学一起把惯导的流程捋了一遍,为了加深自己的记忆,这里在前面把心得大致列出来。 我们这里只考虑捷联式惯导及松组合 首先拿到惯性传感器(加速度计和陀螺仪)需要对其进行标定,是为了求出零偏,比例因子,交轴耦合这些误差。这些误差有的虽然在出厂时会给出,但是考虑到实际环境不同,还是要做标定。一般采用的是六位置旋转法,针对加速度计和陀螺仪同时...

赤豆几维 5万+

综合能源系统多时间尺度优化调度!诸多创新点让你抓住审稿人的心!

主要介绍综合能源系统的设备组成结构,并针对屋顶光伏系统、冷-热-电联供系统中的燃气轮机、燃气锅炉、光伏溴化锂制冷机、卡琳娜余热发电、中央空调系统,以及外网交互系统的配电网与天然气管网交互关系进行数学建模。1) 源-荷-储协同调度:研究屋顶光伏、燃气轮机、燃气锅炉等源侧设备,中央空调、电-热-冷负荷、可平移电负荷、可削减温控负荷等负荷侧资源,以及储能系统、电动汽车等储能侧设备的协同调度,以提高风光消纳能力,满足社会能源需求。通过电转热、电转冷、电转气等多能耦合方式,可进一步促进可再生能源的应用与发展。

weixin_48747334的博客 1488

时间序列预测学习方向总概括

是我个人的学习整理,涵盖学习方向介绍和一些资源推荐

2301_80127898的博客 480

解决 Clawdbot 对接 Minimax 出现 401 (Token is unusable) 的问题排查与修复

即便确认 API Key 有效且余额充足,该问题仍可能在 Clawdbot 中持续出现,而在其他工具(如 curl 或 Postman)中测试正常。

hampeter的博客 3075

AutoML详解

部分是从外文文献翻译,参考百度而来 一、Automl是什么 机器学习模型都是由工程师和科学家团队精心设计出来的。这种手动设计的过程是非常困难的,因为模型组件的搜索空间可以非常巨大——一个典型的10层网络模型能有1010种可能的网络。因此,设计网络的过程通常需要花费优秀的机器学习专家大量的时间和经验。 为了让设计机器学习模型的过程变得更加简单,谷歌一直在探索自动设计机器学习模型的方法。研...

shuaikang9864的博客 1万+

STM32的bootloader程序(通过串口更新STM32应用程序)

STM32的bootloader程序(通过串口更新STM32应用程序),对bootloader进行浅浅的学习

星羽空间 1万+

MathType公式使用技巧汇总——Mathtype怎么在word中编辑公式?论文中公式有哪技巧?有哪些注意事项?论文中的公式怎么写?

如果word中到公式编号(2-1)中间的符号如下图........ .......类似与省略号的,这是手动打的空格,公式和编号的位置都是手动敲空格操作的,这种就只是使用MathType写了公式而已,格式上还是很不方便的。**如果要修改公示,直接双击文档中的公式,就会自动弹出MathType公式编辑窗口,进行修改。如果要修改公示,直接双击文档中的公式,就会自动弹出MathType公式编辑窗口,进行修改。而第二种,是公式里面带的括号符号,他是可以随着公式结构自适应变化的。这时需要将公式插入到一行文字的某处,

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 5万+

机器学习超参数调优实战:从网格搜索到贝叶斯优化的完整指南

本文系统介绍了机器学习超参数调优的实战方法,从基础的网格搜索、随机搜索到高效的贝叶斯优化,提供了完整的代码示例和策略指南。文章深入剖析了超参数对模型性能的决定性影响,并分享了工业级调优流水线构建、嵌套交叉验证等进阶技巧,旨在帮助开发者高效释放模型潜力,构建更鲁棒的AI解决方案。

blue42的博客 452

8.26华为OD机试真题 新系统【仓库查询】

华为OD机试真题 新系统【仓库查询】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题 【仓库查询】多语言题解。

qq_45776114的博客 545

李宏毅机器学习深度学习视频笔记

1 Course Introduction 机器学习就是自动找函式 Regression Classification : Binary Classification 、Multi-class Classification Generation 如何告诉机器想找什么样的函式 Supervised Learning:对机器进行训练;Labeled Data;告诉机器找出的函式理想的输出是什么样子 输入label数据->机器评估一个函式的好坏(函式的Loss)->机器自动找出Los...

Autarkist 199

钉钉多维表格开发

从0到1完成钉钉多维表格开发SDK对接与实践案例。

沉修所长,勇逐新机;安而不怠,静而思变 3609

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

周报11.16

本周继续学习李宏毅老师2025春季机器学习课程,学习内容是meta learning与machine learning的差异,meta learning寻找初始参数的方法以及meta learning可训练的参数,如optimizer相关的参数,network架构相关的参数,并下载transform相关工具包需要的资源。machine learning是找到一个函数f,可能是一个classify,给他一张图片,可以得出分类结果。

qq_62270288的博客 732

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

最新最全论文合集——自动机器学习在自然语言处理中的应用

AMiner平台(https://www.aminer.cn)由清华大学计算机系研发,拥有我国完全自主知识产权。平台包含了超过2.3亿学术论文/专利和1.36亿学者的科技图谱,提供学者评价、专家发现、智能指派、学术地图等科技情报专业化服务。系统2006年上线,吸引了全球220个国家/地区1000多万独立IP访问,数据下载量230万次,年度访问量超过1100万,成为学术搜索和社会网络挖掘研究的重要数据和实验平台。 必读论文:https://www.aminer.cn/topic 论文集地址:https:/.

AI_Conf的博客 542

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

2021李宏毅机器学习课程-YouTube第十三部分、元學習Meta Learning

2021李宏毅机器学习课程-YouTube第十三部分、元學習Meta Learning

weixin_52836217的博客 1726

【机器学习300问】139、Post-LN 和 Pre-LN 的区别?

Post-LN与Pre-LN的核心区别在于LayerNorm的位置:Post-LN在残差连接后,导致梯度需经LayerNorm变换,深层易出现梯度衰减或震荡;Pre-LN先做归一化,使输入稳定,残差路径梯度可无损回传,显著提升深层训练稳定性。尽管Pre-LN支持更深层次模型(如LLaMA、Qwen),但存在“深度诅咒”——深层贡献不足。相比之下,Post-LN浅层表现尚可,深层数易发散。因此,现代大模型普遍采用Pre-LN以保障训练可靠性。

qq_39780701的博客 387
上一篇: 机器学习-模型调参、超参数优化
下一篇: 机器学习-深度神经网络架构
寒月霜华
博客等级 码龄4年 73粉丝 79原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值