ELL

基于层级表达的高效网络搜索方法 | ICLR 2018

徘徊边缘 提交于 2020-07-27 13:11:02
论文基于层级表达提出高效的进化算法来进行神经网络结构搜索,通过层层堆叠来构建强大的卷积结构。论文的搜索方法简单,从实验结果看来,达到很不错的准确率,值得学习   来源:【晓飞的算法工程笔记】 公众号 论文: Hierarchical Representations for Efficient Architecture Search 论文地址: https://arxiv.org/abs/1711.00436 Introduction   由于网络的验证需要耗费很长的时间,神经网络结构搜索计算量非常巨大,很多研究通过降低搜索空间的复杂度来提高搜索的效率。论文通过加入分层网络结构来约束搜索空间,在最初几层仅使用卷积和池化等简单操作,逐步到高层将底层的block进行组合搭建,最后将最高层的block堆叠成最终的网络。由于搜索空间设计够好,网络的搜索方法仅用进化算法或随机搜索足以。   论文总结如下: 提出对神经网络结构的层级表达 通过实验证明搜索空间的设计十分重要,可以降低搜索方法的投入,甚至随机搜索也可以 提出可扩展的进化搜索方法,对比其它进化搜索方法有更好的结果 Architecture Representations Flat Architecture Representation   将神经网络结构定义为单输入、单输出的计算图,图中每个节点代表特征图,每条有向边为基本操作(卷积

RUST 机器学习的现状

拥有回忆 提交于 2020-05-09 16:22:12
https://main.run/p/121 每隔一段时间,这个话题就出现在社交媒体或Rust用户频道上。 我想简要介绍一下我所看到的事情的历史,以及有关机器学习/深度学习框架的现有变化以及最近的主要趋势的一些信息。 BRIEF HISTORY AND WHERE ARE WE NOW? 现有的 ML/DL 生态系统非常庞大,因为它们是高性能计算、数学优化、系统和编译器工程等的组合。 因此,为了简单起见,如果我们将ML划分为传统ML和DL(包括重叠),然后我们可以看到 rusty-machine , rustlearn 和 leaf 。他们做了非常有趣和大胆的发展, 特别是当时的 leaf 。最终,他们大多放弃了,因为创建一个完整的开源ML/DL框架需要大量的工作: 语言和库的支持 (稍后会介绍) 基本成熟的线性代数和统计学方面的库 一个由ML专家组成的社区,他们碰巧知道Rust并愿意做出贡献 主流的现有ML库(主要使用Python/Cython或c++)都是在这些支持下开发的,Rust也不例外。 语言和库的支持 之前,Gonzalo 列出了一份 HPC 清单,到目前为止,我可以说 Rust 通过语言(稳定/不稳定)特性和 crates 支持了其中大多数条目,希望到今年年底我们能看到越来越多的支持。 但是 constant-generics (更好的数组支持), 稳定的 std:

[总结]其他杂项数学相关(定理&证明&板子)

℡╲_俬逩灬. 提交于 2020-05-01 05:14:55
[toc] 写在前面 这是继 数论和组合计数类数学相关 与 多项式类数学相关 后的第三篇数学方面内容总结。主要记录自己近期学习的一些数学方法。内容比较杂,同时也起到对前文的一些补充作用。 若文章中出现错误,烦请告知。 感谢您的造访。 一类反演问题 莫比乌斯反演 这一个内容在 数论和组合计数类数学相关 里面提到了。 快速莫比乌斯变换(反演)与子集卷积 莫比乌斯变换(反演) 问题提出 若 $h,f,g$ 为下标为集合的函数,我们定义 $$h=f*g$$ 表示 $$h(S) = \sum_{L \subseteq S}^{} \sum_{R \subseteq S}^{} [L \cup R = S] f(L) \times g(R)$$ 容易发现,对于这个问题,我们可以用 $O\left((2^n)^2\right)$ 的枚举 $L,R$ 来计算。 然而这样复杂度较高,我们考虑类比多项式卷积的过程,可以求出 $f,g$ 的点值,直接相乘得到 $h$ 的点值然后再插回去。 值得注意的是为了便于表述以及规范表达,快速莫比乌斯变换就相当于点值,快速莫比乌斯反演就相当于插值。 算法原理 我们定义 $f$ 的莫比乌斯变换为 $F$ ,其中 $F(S)=\sum_{X\subseteq S}f(X)$ ;由这个定义,我们可以推出 $F$ 莫比乌斯反演 $f$ 为 $f(S) = \sum_{X

正则介绍 、grep、egrep工具

人盡茶涼 提交于 2020-04-07 02:10:58
正则 一串有规律的字符串 掌握好正则对编写shell脚本有很大帮助 各种编程脚本中都有正则 grep sed awk grep/egrep工具 格式: grep [-cinvABC] 'word' filename -c 打印符合要求的行的行数 -i 不区分大小写 -n 显示行号 -v 打印不符合要求的行 -r 遍历所有子目录 -A 后面跟数字,例如-A2 表示打印符合要求的行以及下面两行 -B 后面跟数字,例如 -B2 表示打印符合要求的行以及上面两行 -C 后面跟数字,例如-C2 表示打印符合要求的行以及上下两行 grep/egrep用法示例: 过滤出带有某个关键词的行,并输出行号 过滤出不带有某个关键词的行,并输出行号 过滤出所有包含数字的行 过滤出所有不带数字的行,只要在上面命令中加上 -v 选项就行 过滤掉所有以#开头的行 符号 ^ 表示行的开始 过滤掉所有空行和以#开头的行 $表示行的结尾,空行就用 ^$ 表示 打印出除了符合中括号 [ ] 里的内容 过滤出任意一个字符和重复字符 符号 . 表示任意一个字符 符号 * 表示零个或多个前面的字符 .* 表示零个或多个任意字符,空行也包含在内 指定要过滤出的字符出现的次数 grep使用大括号 { } 要在大括号前使用脱义符号,不想使用脱义符号就要使用 -E 选项,或使用egrep 过滤出一个或多个指定的字符 符号 +

STL之<string>

房东的猫 提交于 2020-04-06 10:04:03
为什么要写STL浅谈这个系列,因为最近我在准备蓝桥杯,刷题的时候经常要用到STL,准备补一补,但一直没有找到一个好的视频和资料,最开始准备跟着c语言中文网学,但觉得太繁杂了,最后在b站(b站上计算机类的教学视频挺多的)上找了一个视频学的。这个系列相当于我的一个整理。 这个系列只是浅谈,但刷题应该够了。 今天讲<string>,直接上代码(本人文采有限,习惯代码+注释)。 #include<iostream> #include < string > using namespace std; int main() { // 输入输出 string str1; // cin>>str1; // 无法输入有空格的字符串 // cout<<str1<<endl; getline(cin, str1); // 输入一行字符串 cout << str1 << endl; // 字符串拼接 string str2 = " hello " ; str2 += " world! " ; cout << str2 << endl; // str2="hello wrold!" // 字符串删除指定元素 str2.erase(str2.begin() + 1 ); // 删除元素'e' /* string.begin()头迭代器,指向第一个元素 string.end()尾迭代器

解决Oracle 11g在用EXP导出时,空表不能导出

牧云@^-^@ 提交于 2019-12-03 05:28:46
一、问题原因: 11G中有个新特性,当表无数据时,不分配segment,以节省空间 1、insert一行,再rollback就产生segment了。 该方法是在在空表中插入数据,再删除,则产生segment。导出时则可导出空表。 2、设置deferred_segment_creation 参数 show parameter deferred_segment_creation NAME TYPE VALUE ------------------------------------ ----------- ---------- deferred_segment_creation boolean TRUE SQL> alter system set deferred_segment_creation=false; 系统已更改。 SQL> show parameter deferred_segment_creation NAME TYPE VALUE ------------------------------------ ----------- ---------- deferred_segment_creation boolean FALSE 该参数值默认是TRUE,当改为FALSE时,无论是空表还是非空表,都分配segment。 需注意的是:该值设置后对以前导入的空表不产生作用