文章目录

  • 主要内容
    • 初始化策略
    • 其它的好处

Sitzmann V., Martel J. N. P., Bergman A. W., Lindell D. B., Wetzstein G. Implicit neural representations with periodic activation functions. Advances in Neural Information Processing Systems (NIPS), 2020.

本文提出用sin⁡\sinsin作为激活函数, 并分析该类型的网络应该如何初始化.

主要内容

本文研究如下的网络结构:
Φ(x)=Wn(ϕn−1∘ϕn−2∘⋯∘ϕ0)(x),xi→ϕi(xi)=sin⁡(Wixi+bi).\Phi(x) = W_n (\phi_{n-1} \circ \phi_{n-2}\circ \cdots \circ \phi_0)(x), x_i \rightarrow \phi_i(x_i) = \sin (W_i x_i + b_i). Φ(x)=Wn​(ϕn−1​∘ϕn−2​∘⋯∘ϕ0​)(x),xi​→ϕi​(xi​)=sin(Wi​xi​+bi​).
即一个用sin作为激活函数的MLP.

为了说明使用sin作为激活函数的好处, 作者首先利用一个简单的例子作为说明, 设想如下的任务:

  1. Φ\PhiΦ 以位置坐标(i,j)(i, j)(i,j)为输入, 输出Φ(i,j)∈R3\Phi(i, j) \in \mathbb{R}^3Φ(i,j)∈R3表示该像素点图片的r, g, b;
  2. Φ\PhiΦ以一个图片作为训练集, 假设该图片为f(i,j)∈R3,i=1,2,⋯,j=1,2,⋯,Wf(i, j) \in \mathbb{R}^3, i = 1,2,\cdots, j = 1,2,\cdots, Wf(i,j)∈R3,i=1,2,⋯,j=1,2,⋯,W, 则训练集为{(i,j,f(i,j))}\{(i, j, f(i, j))\}{(i,j,f(i,j))}, 共HWHWHW个坐标点及其对应的目标;
  3. 通过平方损失L~=∑i∑j∥Φ(i,j)−f(i,j)∥2\tilde{\mathcal{L}} = \sum_i \sum_j \|\Phi(i, j) - f(i, j)\|^2L~=∑i​∑j​∥Φ(i,j)−f(i,j)∥2训练网络.

上图给了一个例子(既然是灰度图, 我想这时Φ(i,j)∈R\Phi(i, j) \in \mathbb{R}Φ(i,j)∈R), 展示了用不同激活函数得到的Φ(i,j)\Phi(i, j)Φ(i,j)的图, 显然图和原图越接近, 说明拟合能力越强.
特别的, 作者还展示了∇f(x)\nabla f(x)∇f(x)和Δf(x)\Delta f(x)Δf(x) (分别用sobel算子和laplacian算子得到的) 和各自网络关于(i,j)(i, j)(i,j)的梯度和二阶梯度的比较. 发现只有SIREN是高度一致的(一个很重要的原因是ReLU等分段连续函数二阶导为0).

初始化策略

作者希望每一层(除了第一层)的输入输出的分布是一致的, 这能够让堆叠网络层数变得容易, 加快收敛.
其策略是:
wi∼U(−6/n,6/n),w_i \sim \mathcal{U}(-\sqrt{6 / n}, \sqrt{6 / n}), wi​∼U(−6/n​,6/n​),
其中nnn是输入x∈Rnx \in \mathbb{R}^nx∈Rn的维度.
但是, 因为sin⁡(wx+b)\sin (wx+b)sin(wx+b)中的www可以看成是采样频率, 为了保证第一层的采样频率足够高(采样定理), 作者乘上了一个额外的系数:
sin⁡(w0⋅Wx+b),\sin (w_0 \cdot W x + b), sin(w0​⋅Wx+b),
文中说w0=30w_0=30w0​=30是一个不错的选择.
同时作者还发现, 该技巧应用于别的层一样有效, 所以干脆所有层都长上面那个样, 同时
wi∼U(−6/w02n,6/w02n).w_i \sim \mathcal{U}(-\sqrt{6 / w_0^2n}, \sqrt{6 / w_0^2n}). wi​∼U(−6/w02​n​,6/w02​n​).
作者认为这么做有效是因为关于WWW的梯度也乘上了一个因子w0w_0w0​, 但同时分布不变.

其它的好处

SIREN对于包含梯度问题的处理尤为出色, 这或许应该归功于其导数依然是一个SIREN网络, 而如ReLU的一阶导为常数, 二阶导为0自然无法胜任.

类似的结构, 但是这一次, 假设只知道图片的∇f(i,j)\nabla f(i, j)∇f(i,j)或者Δf(i,j)\Delta f(i, j)Δf(i,j),由此通过
∥∇Φ(i,j)−∇f(i,j)∥2,\|\nabla \Phi(i, j) - \nabla f(i, j)\|^2, ∥∇Φ(i,j)−∇f(i,j)∥2,
或者
∥ΔΦ(i,j)−Δf(i,j)∥2,\|\Delta \Phi(i, j) - \Delta f(i, j)\|^2, ∥ΔΦ(i,j)−Δf(i,j)∥2,
来拟合, 则Φ(i,j)\Phi(i, j)Φ(i,j)依然输出和f(i,j)f(i, j)f(i,j)相近的结果(如上图左所示).

上图右则是逼近α∇f1(i,j)+(1−α)f2(i,j)\alpha \nabla f_1 (i, j) + ( 1- \alpha) f_2 (i, j)α∇f1​(i,j)+(1−α)f2​(i,j)
对两张图片进行混合, 得到的Φ(i,j)\Phi(i, j)Φ(i,j)恰为两张图片的融合.
SIREN的强大之处可见一斑.

Implicit Neural Representations with Periodic Activation Functions相关推荐

  1. #Paper Reading# Implicit Neural Representations with Periodic Activation Functions

    论文题目: Implicit Neural Representations with Periodic Activation Functions 论文地址: https://arxiv.org/abs ...

  2. 隐式神经表示一:神经网络拟合图像Implicit Neural Representations with Periodic Activation Functions

    文章目录 1. Implicit Neural Representations with Periodic Activation Functions 0. 什么是隐式神经表示 1. 了解SineLay ...

  3. 概述:隐式神经表示(Implicit Neural Representations,INRs)

    隐式神经表示(Implicit Neural Representations,INRs) 1 简介 1.1 传统的隐式表示 1.1.1 代数表示 1.1.2 函数表示 1.1.3 水平集表示(leve ...

  4. 论文阅读:(arXiv 2022) MINER: Multiscale Implicit Neural Representations

    MINER: Multiscale Implicit Neural Representations (arXiv 2022) Paper:https://arxiv.org/abs/2202.0353 ...

  5. [CVPR2022]ImFace: A Nonlinear 3D Morphable Face Model with Implicit Neural Representations

    标题:ImFace: A Nonlinear 3D Morphable Face Model with Implicit Neural Representations 链接:https://arxiv ...

  6. Machine learning of neural representations of suicide and emotion concepts identifies suicidal youth

    Machine learning of neural representations of suicide and emotion concepts identifies suicidal youth ...

  7. 1. 激活函数(Activation functions)

    1.1 激活函数(Activation functions) 选择激活函数的经验法则 如果输出是0.1值(二分类问题),则输出层选择sigmoid函数,然后其它的所有单元都选择Relu函数. 这是很多 ...

  8. BNB 网络缝合Revisiting Model Stitching to Compare Neural Representations

    读NIPS2021论文 Revisiting Model Stitching to Compare Neural Representations 目录 摘要 配图 局限 未来工作 摘要 文章重新研究和 ...

  9. 激活函数(Activation Functions)

    神经网络结构的输出为所有输入的加权和,这导致整个神经网络是一个线性模型.如果将每一个神经元的输出通过一个非线性函数,那么整个神经网络的模型也就不再是线性的了,使得神经网络可以更好地解决较为复杂的问题. ...

  10. Pytorch专题实战——激活函数(Activation Functions)

    文章目录 1.激活函数的两种用法 1.1.softmax激活函数 1.2.sigmoid激活函数 1.3.tanh激活函数 1.4.relu激活函数 1.5.leaky_relu激活函数 2.用激活函 ...

最新文章

  1. Android 开发者必知的开发资源
  2. python 的回调函数
  3. cmd写java程序_用cmd写一个最简单的Java程序
  4. 团队-团队编程项目作业名称-需求分析
  5. Nginx-常见服务器的对比
  6. JS的Date.setMonth()方法坑
  7. MIUI V5的私密短信功能
  8. 关于PHP在企业级开发领域的访谈——企业级开发,PHP准备好了吗?
  9. java jxl读取xlsx_Java添加、读取Excel公式
  10. struts2的package和result的标签的属性
  11. 本科毕业论文降低查重率小技巧
  12. 物理与数学的崩溃关系
  13. 资源下载类网站源码 第二版本分享
  14. 2MSL的特点及意义
  15. Excel的单元格设置下拉选项并填充颜色
  16. sql子表求和在总表中显示,并参与搜索
  17. 微信引流的万能方法 微信引流的万能方法
  18. 微信人工客服电话号码是多少
  19. Hive的核心概念以及建库建表语句
  20. 梅科尔工作室-王宣-鸿蒙笔记1

热门文章

  1. photo的复数是photos
  2. Instance Segmentation by Jointly Optimizing Spatial Embeddings and Clustering Bandwidth【论文解读】
  3. WEB打印控件Lodop(V6.x)使用说明及样例
  4. (转)2016年对冲基金经理“封神榜”
  5. Ribbon负载均衡分析
  6. 分门别类刷leetcode——栈、队列、堆(C++实现)
  7. python爬虫豆瓣TOP250电影信息并写入数据库
  8. 系统架构设计师考点全纪要(自己整理,本人一次稳过)
  9. 基于asp.net车辆管理调度系统的设计与实现
  10. A Game of Thrones(40)